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

@ -25,17 +25,30 @@
#include "gtkrecentmanager.h"
#include "gtkrecentchooser.h"
#include "gtkactivatable.h"
G_BEGIN_DECLS
GtkRecentManager *_gtk_recent_chooser_get_recent_manager (GtkRecentChooser *chooser);
GList * _gtk_recent_chooser_get_items (GtkRecentChooser *chooser,
GtkRecentFilter *filter,
GtkRecentSortFunc func,
gpointer data);
GtkRecentManager *_gtk_recent_chooser_get_recent_manager (GtkRecentChooser *chooser);
GList * _gtk_recent_chooser_get_items (GtkRecentChooser *chooser,
GtkRecentFilter *filter,
GtkRecentSortFunc func,
gpointer data);
void _gtk_recent_chooser_item_activated (GtkRecentChooser *chooser);
void _gtk_recent_chooser_selection_changed (GtkRecentChooser *chooser);
void _gtk_recent_chooser_item_activated (GtkRecentChooser *chooser);
void _gtk_recent_chooser_selection_changed (GtkRecentChooser *chooser);
void _gtk_recent_chooser_activatable_update (GtkActivatable *activatable,
GtkAction *action,
const gchar *property_name);
void _gtk_recent_chooser_activatable_reset (GtkActivatable *activatable,
GtkAction *action);
void _gtk_recent_chooser_set_related_action (GtkRecentChooser *recent_chooser,
GtkAction *action);
GtkAction *_gtk_recent_chooser_get_related_action (GtkRecentChooser *recent_chooser);
void _gtk_recent_chooser_set_use_action_appearance (GtkRecentChooser *recent_chooser,
gboolean use_appearance);
gboolean _gtk_recent_chooser_get_use_action_appearance (GtkRecentChooser *recent_chooser);
G_END_DECLS