PHP-GTK2 Newsletter
PHP-GTK2 Tips & Techniques
FREE Newsletter
by kksou
Sample Code 90: How to know which tab of GtkNotebook is being clicked on? |
|
Written by kksou
|
|
Friday, 10 November 2006 |
|
Problem You want to know which tab of GtkNotebook is being clicked on as shown below:

Solution
Sample Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <?php $window = new GtkWindow(); $window->set_size_request(400, 240); $window->connect_simple('destroy', array('Gtk','main_quit')); $window->add($vbox = new GtkVBox());
// setup notebook
$notebook = new GtkNotebook(); // note 1
$vbox->pack_start($notebook);
// add two tabs of GtkLabel
add_new_tab($notebook, new GtkLabel('Notebook 1'), 'Label #1'); add_new_tab($notebook, new GtkLabel('Notebook 2'), 'Label #2');
// add a thrid tab of GtkTextView
$buffer = new GtkTextBuffer(); $view = new GtkTextView(); $view->set_buffer($buffer); $view->set_wrap_mode(Gtk::WRAP_WORD); add_new_tab($notebook, $view, 'TextView');
$window->show_all(); Gtk::main();
// add new tab
function add_new_tab($notebook, $widget, $tab_label) { $eventbox = new GtkEventBox(); $label = new GtkLabel($tab_label);
|
- Note that this is only 70% of the sample code. You have to be a registered member to see the entire sample code. Please login or register.
- Registration is free and immediate.
- Have some doubt about the registration? Please read this forum article.
Explanation What's new here:
- Set up a new notebook.
- Create a GtkEventBox and stuff the tab label inside.
- Don't forget this!!! Othewise the tab label would not show!
- Set up event handler to listen to button click on tab. Note that we passed the
$tab_label along so that we know later which tab is being clicked on.
- Append a new page to the notebook with
$widget as the content and the $eventbox as the tab label. In this example, we set up the first two tabs as GtkLabel, and the third as GtkTextView.
- This is the function that is called when the user clicks on a tab. The variable
$tab_label allow us to know which tab the user clicked on.
Related Links
User reviews There are no user reviews yet. Note: You have to be a registered member to leave a comment. Free registration here. |
|