i Bug 560228 – Add "action-controller" property to GtkWidgetClass

Rework the way actions and proxies interact, to make the
        interaction less ad hoc, more extensible, and better suited
        for support in GUI builders like glade.

        To be used as a proxy, a widget must now implement the
        GtkActivatable interface, and GtkActivatable implementations
        are responsible for syncing their appearance with the action
        and for activating the action.

        All the widgets that are commonly used as proxies implement
        GtkActivatable now.

        Patch by Tristan van Berkom.

        * gtk/gtkactivatable.[hc]: The GtkActivatable interface.

        * gtk/gtkbutton.c:
        * gtk/gtktogglebutton.c:
        * gtk/gtktoolitem.c:
        * gtk/gtktoolbutton.c:
        * gtk/gtktoggletoolbutton.c:
        * gtk/gtkmenuitem.c:
        * gtk/gtkcheckmenuitem.c:
        * gtk/gtkimagemenuitem.c:
        * gtk/gtkradiomenuitem.c:
        * gtk/gtkrecentchooserprivate.h:
        * gtk/gtkrecentchooser.c:
        * gtk/gtkrecentchooserdefault.c:
        * gtk/gtkrecentchoosermenu.c: Implement GtkActivatable.
        * gtk/gtkaction.[hc]: Move appearance synchronization to
        GtkActivatable implementations.

        * gtk/gtkradioaction.c:
        * gtk/gtkrecentaction.c:
        * gtk/gtktoggleaction.c:
        * gtk/gtkactiongroup.c: Adapt.

        * gtk/gtk.h: Include gtkactivatable.h
        * gtk/gtk.symbols: Add new functions


svn path=/trunk/; revision=22195
This commit is contained in:
Matthias Clasen
2009-01-23 15:15:28 +00:00
parent acd40c45f7
commit bb72b647f6
29 changed files with 2367 additions and 812 deletions

View File

@ -144,49 +144,61 @@ gtk_accessible_get_type G_GNUC_CONST
#if IN_HEADER(__GTK_ACTION_H__)
#if IN_FILE(__GTK_ACTION_C__)
gtk_action_activate
gtk_action_block_activate
#ifndef GTK_DISABLE_DEPRECATED
gtk_action_block_activate_from
#endif
gtk_action_connect_accelerator
#ifndef GTK_DISABLE_DEPRECATED
gtk_action_connect_proxy
#endif
gtk_action_create_icon
gtk_action_create_menu_item
gtk_action_create_tool_item
gtk_action_create_menu
gtk_action_disconnect_accelerator
#ifndef GTK_DISABLE_DEPRECATED
gtk_action_disconnect_proxy
#endif
gtk_action_get_accel_closure
gtk_action_get_accel_path
gtk_action_get_gicon
gtk_action_get_label
gtk_action_get_name
gtk_action_get_proxies
#ifndef GTK_DISABLE_DEPRECATED
gtk_widget_get_action
#endif
gtk_action_get_icon_name
gtk_action_get_is_important
gtk_action_get_sensitive
gtk_action_get_short_label
gtk_action_get_stock_id
gtk_action_get_tooltip
gtk_action_get_type G_GNUC_CONST
gtk_action_get_visible
gtk_action_get_visible_horizontal
gtk_action_get_visible_vertical
gtk_action_is_sensitive
gtk_action_is_visible
gtk_action_new
gtk_action_set_accel_group
gtk_action_set_accel_path
gtk_action_set_sensitive
gtk_action_set_visible
gtk_action_unblock_activate_from
gtk_action_set_label
gtk_action_get_label
gtk_action_set_short_label
gtk_action_get_short_label
gtk_action_set_tooltip
gtk_action_get_tooltip
gtk_action_set_stock_id
gtk_action_get_stock_id
gtk_action_set_gicon
gtk_action_get_gicon
gtk_action_set_icon_name
gtk_action_get_icon_name
gtk_action_set_visible_horizontal
gtk_action_get_visible_horizontal
gtk_action_set_visible_vertical
gtk_action_get_visible_vertical
gtk_action_set_is_important
gtk_action_get_is_important
gtk_action_set_label
gtk_action_set_sensitive
gtk_action_set_short_label
gtk_action_set_stock_id
gtk_action_set_tooltip
gtk_action_set_visible
gtk_action_set_visible_horizontal
gtk_action_set_visible_vertical
gtk_action_unblock_activate
#ifndef GTK_DISABLE_DEPRECATED
gtk_action_unblock_activate_from
#endif
#endif
#endif
@ -216,6 +228,18 @@ gtk_action_group_translate_string
#endif
#endif
#if IN_HEADER(__GTK_ACTIVATABLE_H__)
#if IN_FILE(__GTK_ACTIVATABLE_C__)
gtk_activatable_do_set_related_action
gtk_activatable_get_related_action
gtk_activatable_get_type G_GNUC_CONST
gtk_activatable_get_use_action_appearance
gtk_activatable_reset
gtk_activatable_set_related_action
gtk_activatable_set_use_action_appearance
#endif
#endif
#if IN_HEADER(__GTK_ADJUSTMENT_H__)
#if IN_FILE(__GTK_ADJUSTMENT_C__)
gtk_adjustment_changed