2 * Copyright © 2012 Canonical Limited
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * licence or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
19 * Authors: Ryan Lortie <desrt@desrt.ca>
22 #ifndef __GTK_ACTIONABLE_H__
23 #define __GTK_ACTIONABLE_H__
25 #include <glib-object.h>
30 #define GTK_TYPE_ACTIONABLE (gtk_actionable_get_type ())
31 #define GTK_ACTIONABLE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
32 GTK_TYPE_ACTIONABLE, GtkActionable))
33 #define GTK_IS_ACTIONABLE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
35 #define GTK_ACTIONABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \
36 GTK_TYPE_ACTIONABLE, GtkActionableInterface))
38 typedef struct _GtkActionableInterface GtkActionableInterface;
39 typedef struct _GtkActionable GtkActionable;
41 struct _GtkActionableInterface
43 GTypeInterface g_iface;
45 const gchar * (* get_action_name) (GtkActionable *actionable);
46 void (* set_action_name) (GtkActionable *actionable,
47 const gchar *action_name);
48 GVariant * (* get_action_target_value) (GtkActionable *actionable);
49 void (* set_action_target_value) (GtkActionable *actionable,
50 GVariant *action_target_value);
54 GType gtk_actionable_get_type (void) G_GNUC_CONST;
57 const gchar * gtk_actionable_get_action_name (GtkActionable *actionable);
59 void gtk_actionable_set_action_name (GtkActionable *actionable,
60 const gchar *action_name);
63 GVariant * gtk_actionable_get_action_target_value (GtkActionable *actionable);
65 void gtk_actionable_set_action_target_value (GtkActionable *actionable,
66 GVariant *target_value);
69 void gtk_actionable_set_action_target (GtkActionable *actionable,
70 const gchar *format_string,
74 void gtk_actionable_set_detailed_action_name (GtkActionable *actionable,
75 const gchar *detailed_action_name);
79 #endif /* __GTK_ACTIONABLE_H__ */