From 2ef1b5bf42b5d429e00f94710458f237d18315b2 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 24 Aug 2008 13:17:11 +0000 Subject: Progress update: - Get the "New" button and menu working. - Add a GtkMenuToolButton subclass called EMenuToolButton, which does some behind-the-scenes stuff to make the "New" button work properly. - Kill EComboButton and its associated a11y widget. svn path=/branches/kill-bonobo/; revision=36045 --- a11y/widgets/ea-combo-button.c | 169 ----------------------------------------- 1 file changed, 169 deletions(-) delete mode 100644 a11y/widgets/ea-combo-button.c (limited to 'a11y/widgets/ea-combo-button.c') diff --git a/a11y/widgets/ea-combo-button.c b/a11y/widgets/ea-combo-button.c deleted file mode 100644 index 9886cc4221..0000000000 --- a/a11y/widgets/ea-combo-button.c +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Authors: Harry Lu - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - */ - -#include -#include "ea-combo-button.h" -#include -#include - -static AtkObjectClass *parent_class; -static GType parent_type; - -/*Action IDs */ -enum { - ACTIVATE_DEFAULT, - POPUP_MENU, - LAST_ACTION -}; - -/* Static functions */ -static G_CONST_RETURN gchar* -ea_combo_button_get_name (AtkObject *a11y) -{ - GtkWidget *widget; - GtkWidget *label; - EComboButton *button; - - widget = GTK_ACCESSIBLE (a11y)->widget; - if (!widget) - return NULL; - - button = E_COMBO_BUTTON (widget); - label = e_combo_button_get_label (button); - if (label) - return gtk_label_get_text (GTK_LABEL (label)); - - return _("Combo Button"); -} - -/* Action interface */ -static G_CONST_RETURN gchar * -ea_combo_button_action_get_name (AtkAction *action, gint i) -{ - switch (i) - { - case ACTIVATE_DEFAULT: - return _("Activate Default"); - case POPUP_MENU: - return _("Popup Menu"); - default: - return NULL; - } -} - -static gboolean -ea_combo_button_do_action (AtkAction *action, - gint i) -{ - GtkWidget *widget; - EComboButton *button; - - widget = GTK_ACCESSIBLE (action)->widget; - if (!widget || !GTK_WIDGET_IS_SENSITIVE (widget) || !GTK_WIDGET_VISIBLE (widget)) - return FALSE; - - button = E_COMBO_BUTTON (widget); - - switch (i) - { - case ACTIVATE_DEFAULT: - g_signal_emit_by_name (button, "activate_default"); - return TRUE; - case POPUP_MENU: - return e_combo_button_popup_menu (button); - default: - return FALSE; - } -} - -static gint -ea_combo_button_get_n_actions (AtkAction *action) -{ - return LAST_ACTION; -} - -static void -atk_action_interface_init (AtkActionIface *iface) -{ - g_return_if_fail (iface != NULL); - - iface->do_action = ea_combo_button_do_action; - iface->get_n_actions = ea_combo_button_get_n_actions; - iface->get_name = ea_combo_button_action_get_name; -} - -static void -ea_combo_button_class_init (EaComboButtonClass *klass) -{ - AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass); - - parent_class = g_type_class_ref (parent_type); - - atk_object_class->get_name = ea_combo_button_get_name; -} - -static void -ea_combo_button_init (EaComboButton *a11y) -{ - /* Empty for now */ -} - -GType -ea_combo_button_get_type (void) -{ - static GType type = 0; - - if (!type) { - AtkObjectFactory *factory; - GTypeQuery query; - - GTypeInfo info = { - sizeof (EaComboButtonClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) ea_combo_button_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (EaComboButton), - 0, - (GInstanceInitFunc) ea_combo_button_init, - NULL /* value_tree */ - }; - - static const GInterfaceInfo atk_action_info = { - (GInterfaceInitFunc) atk_action_interface_init, - (GInterfaceFinalizeFunc) NULL, - NULL - }; - - factory = atk_registry_get_factory (atk_get_default_registry (), GTK_TYPE_BUTTON); - parent_type = atk_object_factory_get_accessible_type (factory); - g_type_query (parent_type, &query); - - info.class_size = query.class_size; - info.instance_size = query.instance_size; - - type = g_type_register_static (parent_type, "EaComboButton", &info, 0); - g_type_add_interface_static (type, ATK_TYPE_ACTION, - &atk_action_info); - - } - - return type; -} - -AtkObject * -ea_combo_button_new (GtkWidget *widget) -{ - EaComboButton *a11y; - - a11y = g_object_new (ea_combo_button_get_type (), NULL); - - GTK_ACCESSIBLE (a11y)->widget = GTK_WIDGET (widget); - ATK_OBJECT (a11y)->role = ATK_ROLE_PUSH_BUTTON; - - return ATK_OBJECT (a11y); -} -- cgit v1.2.3