static G_CONST_RETURN gchar* gail_combo_box_get_keybinding (AtkAction *action, gint i) { GailComboBox *combo_box; gchar *return_value = NULL; switch (i) { case 0: { GtkWidget *widget; GtkWidget *label; AtkRelationSet *set; AtkRelation *relation; GPtrArray *target; gpointer target_object; guint key_val; combo_box = GAIL_COMBO_BOX (action); widget = GTK_ACCESSIBLE (combo_box)->widget; if (widget == NULL) return NULL; set = atk_object_ref_relation_set (ATK_OBJECT (action)); if (!set) return NULL; label = NULL; relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY); if (relation) { target = atk_relation_get_target (relation); target_object = g_ptr_array_index (target, 0); if (GTK_IS_ACCESSIBLE (target_object)) { label = GTK_ACCESSIBLE (target_object)->widget; } } g_object_unref (set); if (GTK_IS_LABEL (label)) { key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); if (key_val != GDK_VoidSymbol) return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); } g_free (combo_box->press_keybinding); combo_box->press_keybinding = return_value; break; } default: break; } return return_value; }
static G_CONST_RETURN gchar* gail_expander_get_keybinding (AtkAction *action, gint i) { GailExpander *expander; gchar *return_value = NULL; switch (i) { case 0: { /* * We look for a mnemonic on the label */ GtkWidget *widget; GtkWidget *label; expander = GAIL_EXPANDER (action); widget = GTK_ACCESSIBLE (expander)->widget; if (widget == NULL) /* * State is defunct */ return NULL; g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL); label = gtk_expander_get_label_widget (GTK_EXPANDER (widget)); if (GTK_IS_LABEL (label)) { guint key_val; key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); if (key_val != GDK_VoidSymbol) return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); g_free (expander->activate_keybinding); expander->activate_keybinding = return_value; } break; } default: break; } return return_value; }
static const gchar * gtk_combo_box_accessible_get_keybinding (AtkAction *action, gint i) { GtkComboBoxAccessible *combo_box; GtkWidget *widget; GtkWidget *label; AtkRelationSet *set; AtkRelation *relation; GPtrArray *target; gpointer target_object; guint key_val; gchar *return_value = NULL; if (i != 0) return NULL; combo_box = GTK_COMBO_BOX_ACCESSIBLE (action); widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (combo_box)); if (widget == NULL) return NULL; set = atk_object_ref_relation_set (ATK_OBJECT (action)); if (set == NULL) return NULL; label = NULL; relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY); if (relation) { target = atk_relation_get_target (relation); target_object = g_ptr_array_index (target, 0); label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object)); } g_object_unref (set); if (GTK_IS_LABEL (label)) { key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); if (key_val != GDK_KEY_VoidSymbol) return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); } return return_value; }
static G_CONST_RETURN gchar* gail_menu_item_get_keybinding (AtkAction *action, gint i) { /* * This function returns a string of the form A;B;C where * A is the keybinding for the widget; B is the keybinding to traverse * from the menubar and C is the accelerator. * The items in the keybinding to traverse from the menubar are separated * by ":". */ GailMenuItem *gail_menu_item; gchar *keybinding = NULL; gchar *item_keybinding = NULL; gchar *full_keybinding = NULL; gchar *accelerator = NULL; gail_menu_item = GAIL_MENU_ITEM (action); if (i == 0) { GtkWidget *item; GtkWidget *temp_item; GtkWidget *child; GtkWidget *parent; item = GTK_ACCESSIBLE (action)->widget; if (item == NULL) /* State is defunct */ return NULL; temp_item = item; while (TRUE) { GdkModifierType mnemonic_modifier = 0; guint key_val; gchar *key, *temp_keybinding; child = gtk_bin_get_child (GTK_BIN (temp_item)); if (child == NULL) { /* Possibly a tear off menu item; it could also be a menu * separator generated by gtk_item_factory_create_items() */ return NULL; } parent = gtk_widget_get_parent (temp_item); if (!parent) { /* * parent can be NULL when activating a window from the panel */ return NULL; } g_return_val_if_fail (GTK_IS_MENU_SHELL (parent), NULL); if (GTK_IS_MENU_BAR (parent)) { GtkWidget *toplevel; toplevel = gtk_widget_get_toplevel (parent); if (toplevel && GTK_IS_WINDOW (toplevel)) mnemonic_modifier = gtk_window_get_mnemonic_modifier ( GTK_WINDOW (toplevel)); } if (GTK_IS_LABEL (child)) { key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (child)); if (key_val != GDK_VoidSymbol) { key = gtk_accelerator_name (key_val, mnemonic_modifier); if (full_keybinding) temp_keybinding = g_strconcat (key, ":", full_keybinding, NULL); else temp_keybinding = g_strconcat (key, NULL); if (temp_item == item) { item_keybinding = g_strdup (key); } g_free (key); g_free (full_keybinding); full_keybinding = temp_keybinding; } else { /* No keybinding */ g_free (full_keybinding); full_keybinding = NULL; break; } } if (GTK_IS_MENU_BAR (parent)) /* We have reached the menu bar so we are finished */ break; g_return_val_if_fail (GTK_IS_MENU (parent), NULL); temp_item = gtk_menu_get_attach_widget (GTK_MENU (parent)); if (!GTK_IS_MENU_ITEM (temp_item)) { /* * Menu is attached to something other than a menu item; * probably an option menu */ g_free (full_keybinding); full_keybinding = NULL; break; } } parent = gtk_widget_get_parent (item); if (GTK_IS_MENU (parent)) { GtkAccelGroup *group; GtkAccelKey *key; group = gtk_menu_get_accel_group (GTK_MENU (parent)); if (group) { key = gtk_accel_group_find (group, find_accel, item); } else { /* * If the menu item is created using GtkAction and GtkUIManager * we get here. */ key = NULL; child = GTK_BIN (item)->child; if (GTK_IS_ACCEL_LABEL (child)) { GtkAccelLabel *accel_label; accel_label = GTK_ACCEL_LABEL (child); if (accel_label->accel_closure) { key = gtk_accel_group_find (accel_label->accel_group, find_accel_new, accel_label->accel_closure); } } } if (key) { accelerator = gtk_accelerator_name (key->accel_key, key->accel_mods); } } } /* * Concatenate the bindings */ if (item_keybinding || full_keybinding || accelerator) { gchar *temp; if (item_keybinding) { keybinding = g_strconcat (item_keybinding, KEYBINDING_SEPARATOR, NULL); g_free (item_keybinding); } else keybinding = g_strconcat (KEYBINDING_SEPARATOR, NULL); if (full_keybinding) { temp = g_strconcat (keybinding, full_keybinding, KEYBINDING_SEPARATOR, NULL); g_free (full_keybinding); } else temp = g_strconcat (keybinding, KEYBINDING_SEPARATOR, NULL); g_free (keybinding); keybinding = temp; if (accelerator) { temp = g_strconcat (keybinding, accelerator, NULL); g_free (accelerator); g_free (keybinding); keybinding = temp; } } g_free (gail_menu_item->click_keybinding); gail_menu_item->click_keybinding = keybinding; return keybinding; }
static void device_changed_cb(const gchar *name, PurplePrefType type, gconstpointer value, gpointer data) { GtkSizeGroup *sg = data; GtkWidget *parent, *widget; GSList *widgets; GList *devices; GValue gvalue; gint position; gchar *label, *pref; widgets = gtk_size_group_get_widgets(GTK_SIZE_GROUP(sg)); for (; widgets; widgets = g_slist_next(widgets)) { const gchar *widget_name = gtk_widget_get_name(GTK_WIDGET(widgets->data)); if (!strcmp(widget_name, name)) { gchar *temp_str; gchar delimiters[3] = {0, 0, 0}; const gchar *text; gint keyval, pos; widget = widgets->data; /* Get label with _ from the GtkLabel */ text = gtk_label_get_text(GTK_LABEL(widget)); keyval = gtk_label_get_mnemonic_keyval(GTK_LABEL(widget)); delimiters[0] = g_ascii_tolower(keyval); delimiters[1] = g_ascii_toupper(keyval); pos = strcspn(text, delimiters); if (pos != -1) { temp_str = g_strndup(text, pos); label = g_strconcat(temp_str, "_", text + pos, NULL); g_free(temp_str); } else { label = g_strdup(text); } break; } } if (widgets == NULL) return; parent = gtk_widget_get_parent(widget); widget = parent; parent = gtk_widget_get_parent(GTK_WIDGET(widget)); gvalue.g_type = 0; g_value_init(&gvalue, G_TYPE_INT); gtk_container_child_get_property(GTK_CONTAINER(parent), GTK_WIDGET(widget), "position", &gvalue); position = g_value_get_int(&gvalue); g_value_unset(&gvalue); gtk_widget_destroy(widget); pref = g_strdup(name); strcpy(pref + strlen(pref) - strlen("plugin"), "device"); devices = get_element_devices(value); if (g_list_find_custom(devices, purple_prefs_get_string(pref), (GCompareFunc)strcmp) == NULL) purple_prefs_set_string(pref, g_list_next(devices)->data); widget = pidgin_prefs_dropdown_from_list(parent, label, PURPLE_PREF_STRING, pref, devices); g_list_free(devices); g_signal_connect_swapped(widget, "destroy", G_CALLBACK(g_free), pref); g_free(label); gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); gtk_widget_set_name(widget, name); gtk_size_group_add_widget(sg, widget); gtk_box_reorder_child(GTK_BOX(parent), gtk_widget_get_parent(GTK_WIDGET(widget)), position); }
/* This function returns a string of the form A;B;C where A is * the keybinding for the widget; B is the keybinding to traverse * from the menubar and C is the accelerator. The items in the * keybinding to traverse from the menubar are separated by ":". */ static const gchar * gtk_menu_item_accessible_get_keybinding (AtkAction *action, gint i) { gchar *keybinding = NULL; gchar *item_keybinding = NULL; gchar *full_keybinding = NULL; gchar *accelerator = NULL; GtkWidget *item; GtkWidget *temp_item; GtkWidget *child; GtkWidget *parent; item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action)); if (item == NULL) return NULL; if (i != 0) return NULL; temp_item = item; while (TRUE) { GdkModifierType mnemonic_modifier = 0; guint key_val; gchar *key, *temp_keybinding; child = gtk_bin_get_child (GTK_BIN (temp_item)); if (child == NULL) return NULL; parent = gtk_widget_get_parent (temp_item); if (!parent) /* parent can be NULL when activating a window from the panel */ return NULL; if (GTK_IS_MENU_BAR (parent)) { GtkWidget *toplevel; toplevel = gtk_widget_get_toplevel (parent); if (toplevel && GTK_IS_WINDOW (toplevel)) mnemonic_modifier = gtk_window_get_mnemonic_modifier (GTK_WINDOW (toplevel)); } if (GTK_IS_LABEL (child)) { key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (child)); if (key_val != GDK_KEY_VoidSymbol) { key = gtk_accelerator_name (key_val, mnemonic_modifier); if (full_keybinding) temp_keybinding = g_strconcat (key, ":", full_keybinding, NULL); else temp_keybinding = g_strdup (key); if (temp_item == item) item_keybinding = g_strdup (key); g_free (key); g_free (full_keybinding); full_keybinding = temp_keybinding; } else { /* No keybinding */ g_free (full_keybinding); full_keybinding = NULL; break; } } /* We have reached the menu bar so we are finished */ if (GTK_IS_MENU_BAR (parent)) break; g_return_val_if_fail (GTK_IS_MENU (parent), NULL); temp_item = gtk_menu_get_attach_widget (GTK_MENU (parent)); if (!GTK_IS_MENU_ITEM (temp_item)) { /* Menu is attached to something other than a menu item; * probably an option menu */ g_free (full_keybinding); full_keybinding = NULL; break; } } parent = gtk_widget_get_parent (item); if (GTK_IS_MENU (parent)) { GtkAccelGroup *group; GtkAccelKey *key; group = gtk_menu_get_accel_group (GTK_MENU (parent)); if (group) key = gtk_accel_group_find (group, find_accel_by_widget, item); else { key = NULL; child = gtk_bin_get_child (GTK_BIN (item)); if (GTK_IS_ACCEL_LABEL (child)) { GtkAccelLabel *accel_label; GClosure *accel_closure; accel_label = GTK_ACCEL_LABEL (child); g_object_get (accel_label, "accel-closure", &accel_closure, NULL); if (accel_closure) { key = gtk_accel_group_find (gtk_accel_group_from_accel_closure (accel_closure), find_accel_by_closure, accel_closure); g_closure_unref (accel_closure); } } } if (key) accelerator = gtk_accelerator_name (key->accel_key, key->accel_mods); } /* Concatenate the bindings */ if (item_keybinding || full_keybinding || accelerator) { gchar *temp; if (item_keybinding) { keybinding = g_strconcat (item_keybinding, KEYBINDING_SEPARATOR, NULL); g_free (item_keybinding); } else keybinding = g_strdup (KEYBINDING_SEPARATOR); if (full_keybinding) { temp = g_strconcat (keybinding, full_keybinding, KEYBINDING_SEPARATOR, NULL); g_free (full_keybinding); } else temp = g_strconcat (keybinding, KEYBINDING_SEPARATOR, NULL); g_free (keybinding); keybinding = temp; if (accelerator) { temp = g_strconcat (keybinding, accelerator, NULL); g_free (accelerator); g_free (keybinding); keybinding = temp; } } return keybinding; }
void ay_edit_local_accounts(void) { char *text[] = { _("C"), _("Screen Name"), _("Password"), _("Service") }; GtkWidget *box; GtkWidget *window_box; GtkWidget *hbox; GtkWidget *button_box; GtkWidget *label; guint label_key; GtkWidget *toolbar; GtkToolItem *toolitem; GtkToolItem *tool_sep; GtkWidget *separator; LList *list; LList *l; GtkAccelGroup *accel_group; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; if (is_open) return; is_open = 1; accel_group = gtk_accel_group_new(); account_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(account_window), GTK_WIN_POS_MOUSE); gtk_widget_realize(account_window); account_list_store = gtk_list_store_new(COL_COUNT, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); account_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL (account_list_store)); renderer = gtk_cell_renderer_toggle_new(); column = gtk_tree_view_column_new_with_attributes(text[CONNECT], renderer, "active", CONNECT, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(account_list), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(text[USER_NAME], renderer, "text", USER_NAME, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_append_column(GTK_TREE_VIEW(account_list), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(text[SERVICE_TYPE], renderer, "text", SERVICE_TYPE, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(account_list), column); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(account_list)); gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE); gtk_container_set_border_width(GTK_CONTAINER(account_window), 5); g_signal_connect(selection, "changed", G_CALLBACK(selection_made_callback), NULL); box = gtk_vbox_new(FALSE, 0); window_box = gtk_vbox_new(FALSE, 5); hbox = gtk_hbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); /*Screen Name Section */ label = gtk_label_new_with_mnemonic(_("Screen _Name:")); label_key = gtk_label_get_mnemonic_keyval(GTK_LABEL(label)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 5); gtk_widget_show(label); username = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(box), username, FALSE, FALSE, 2); gtk_widget_show(username); gtk_widget_add_accelerator(username, "grab_focus", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); /*Password Section */ label = gtk_label_new_with_mnemonic(_("_Password:"******"grab_focus", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); /*Service Type Section */ label = gtk_label_new_with_mnemonic(_("Service _Type:")); label_key = gtk_label_get_mnemonic_keyval(GTK_LABEL(label)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 5); gtk_widget_show(label); service_type = gtk_combo_box_new_text(); list = get_service_list(); for (l = list; l; l = l_list_next(l)) { char *label = l->data; gtk_combo_box_append_text(GTK_COMBO_BOX(service_type), label); } l_list_free(list); gtk_widget_show(service_type); gtk_box_pack_start(GTK_BOX(box), service_type, FALSE, FALSE, 2); gtk_widget_add_accelerator(service_type, "grab_focus", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); /*Connect at startup Section */ connect_at_startup = gtk_check_button_new_with_mnemonic(_("_Connect at startup")); label_key = gtk_label_get_mnemonic_keyval(GTK_LABEL(GTK_BIN (connect_at_startup)->child)); gtk_widget_show(connect_at_startup); gtk_widget_add_accelerator(connect_at_startup, "clicked", accel_group, label_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_box_pack_start(GTK_BOX(box), connect_at_startup, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), box, FALSE, FALSE, 2); gtk_widget_show(box); box = gtk_vbox_new(FALSE, 0); read_contacts(); gtk_box_pack_start(GTK_BOX(box), account_list, TRUE, TRUE, 0); gtk_widget_show(account_list); gtk_box_pack_start(GTK_BOX(hbox), box, TRUE, TRUE, 2); gtk_widget_show(box); gtk_box_pack_start(GTK_BOX(window_box), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); separator = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(window_box), separator, TRUE, TRUE, 0); gtk_widget_show(separator); /*Initialize Toolbar */ toolbar = gtk_toolbar_new(); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH); gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), FALSE); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); gtk_container_set_border_width(GTK_CONTAINER(toolbar), 0); /*Add Button */ #define TOOLBAR_APPEND(titem,stock,tip,callback,cb_data) { \ titem = gtk_tool_button_new_from_stock(stock); \ gtk_tool_item_set_tooltip_text(titem, tip); \ g_signal_connect(titem, "clicked", G_CALLBACK(callback), cb_data); \ gtk_widget_show(GTK_WIDGET(titem)); \ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), titem, -1); \ } /* line will tell whether to draw the separator line or not */ #define TOOLBAR_APPEND_SEPARATOR(line) { \ tool_sep = gtk_separator_tool_item_new(); \ gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(tool_sep), line); \ gtk_widget_show(GTK_WIDGET(tool_sep)); \ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), tool_sep, -1); \ } TOOLBAR_APPEND(toolitem, GTK_STOCK_HELP, _("Help"), help_callback, NULL); TOOLBAR_APPEND_SEPARATOR(TRUE); TOOLBAR_APPEND(toolitem, GTK_STOCK_ADD, _("Add Account"), add_callback, NULL); TOOLBAR_APPEND_SEPARATOR(FALSE); /*Delete Button */ TOOLBAR_APPEND(del_button, GTK_STOCK_DELETE, _("Delete Account"), remove_callback, NULL); gtk_widget_set_sensitive(GTK_WIDGET(del_button), FALSE); TOOLBAR_APPEND_SEPARATOR(FALSE); /* Modify Button */ TOOLBAR_APPEND(mod_button, GTK_STOCK_EDIT, _("Modify Account"), modify_callback, NULL); gtk_widget_set_sensitive(GTK_WIDGET(mod_button), FALSE); TOOLBAR_APPEND_SEPARATOR(TRUE); /*Okay Button */ TOOLBAR_APPEND(toolitem, GTK_STOCK_OK, _("Ok"), ok_callback, NULL); TOOLBAR_APPEND_SEPARATOR(FALSE); /*Cancel Button */ TOOLBAR_APPEND(toolitem, GTK_STOCK_CANCEL, _("Cancel"), cancel_callback, NULL); #undef TOOLBAR_APPEND_SEPARATOR #undef TOOLBAR_APPEND /*Buttons End */ button_box = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(button_box), toolbar, FALSE, FALSE, 0); gtk_widget_show(toolbar); gtk_box_pack_start(GTK_BOX(window_box), button_box, FALSE, FALSE, 0); gtk_widget_show(button_box); gtk_widget_show(window_box); gtk_container_add(GTK_CONTAINER(account_window), window_box); gtk_window_set_title(GTK_WINDOW(account_window), _("Ayttm Account Editor")); g_signal_connect(account_window, "destroy", G_CALLBACK(destroy), NULL); gtk_window_add_accel_group(GTK_WINDOW(account_window), accel_group); gtk_widget_show(account_window); gtk_widget_grab_focus(username); }
static G_CONST_RETURN gchar* gail_button_get_keybinding (AtkAction *action, gint i) { GailButton *button; gchar *return_value = NULL; button = GAIL_BUTTON (action); if (button->default_is_press) { if (i == 0) i = 1; else if (i == 1) i = 0; } switch (i) { case 0: { /* * We look for a mnemonic on the label */ GtkWidget *widget; GtkWidget *label; guint key_val; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (button)); if (widget == NULL) /* * State is defunct */ return NULL; g_return_val_if_fail (GTK_IS_BUTTON (widget), NULL); label = get_label_from_button (widget, 0, FALSE); if (GTK_IS_LABEL (label)) { key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); if (key_val != GDK_KEY_VoidSymbol) return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); } if (return_value == NULL) { /* Find labelled-by relation */ AtkRelationSet *set; AtkRelation *relation; GPtrArray *target; gpointer target_object; set = atk_object_ref_relation_set (ATK_OBJECT (action)); if (set) { relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY); if (relation) { target = atk_relation_get_target (relation); target_object = g_ptr_array_index (target, 0); label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object)); } g_object_unref (set); } if (GTK_IS_LABEL (label)) { key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); if (key_val != GDK_KEY_VoidSymbol) return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK); } } g_free (button->click_keybinding); button->click_keybinding = return_value; break; } default: break; } return return_value; }
Php::Value GtkLabel_::get_mnemonic_keyval() { gint ret = gtk_label_get_mnemonic_keyval (GTK_LABEL(instance)); return ret; }