GtkLabel::set_mnemonic_widget
void set_mnemonic_widget(GtkWidget
widget);
If the label has been set so that it has an mnemonic key (using
set_markup_with_mnemonic() ,
set_text_with_mnemonic() or
the constructor)
the label can be associated with a widget that is the target of
the mnemonic. When the label is inside a widget
(like a GtkButton or a
GtkNotebook tab) it is automatically associated
with the correct widget, but sometimes (i.e. when the target is a
GtkEntry next to the label) you need to set it
explicitly using this function.
The target widget will be accelerated by emitting mnemonic_activate on it. The default
handler for this signal will activate the widget if there are no mnemonic
collisions and toggle focus between the colliding widgets otherwise.
Example 89. Setting the Mnemonic Widget of a GtkLabel
<?php
// A callback for the button.
function buttonActivated()
{
echo "The button was activated\n";
}
// Create a window to hold the label.
$window = new GtkWindow();
// Set up the window to close cleanly.
$window->connect_simple('destroy', array('Gtk', 'main_quit'));
// Create a label.
$label = new GtkLabel('_Exampel Label', true);
// Create the button.
$button = new GtkButton('Use the label mnemonic.');
// Set up a mnemonic-activate callback for the button.
$button->connect_simple('mnemonic-activate', 'buttonActivated');
// Set the button as the label's mnemonic widget.
$label->set_mnemonic_widget($button);
// Create a box for the label and button.
$vBox = new GtkVBox();
// Add the label and button to the box.
$vBox->pack_start($label);
$vBox->pack_start($button);
// Add the label to the window.
$window->add($vBox);
// Show the window and start the main loop.
$window->show_all();
Gtk::main();
?> |
This code will produce the window shown below. If the button is clicked
nothing will happen. However, if the user hits
Alt+e
the
buttonActivated callback will be called.

See also:
get_mnemonic_widget()