1 | /* |
2 | * GTK - The GIMP Toolkit |
3 | * Copyright (C) 1998, 1999 Red Hat, Inc. |
4 | * All rights reserved. |
5 | * |
6 | * This Library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Library General Public License as |
8 | * published by the Free Software Foundation; either version 2 of the |
9 | * License, or (at your option) any later version. |
10 | * |
11 | * This Library is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Library General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Library General Public |
17 | * License along with the Gnome Library; see the file COPYING.LIB. If not, |
18 | * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 | * Boston, MA 02111-1307, USA. |
20 | */ |
21 | |
22 | /* |
23 | * Author: James Henstridge <[email protected]> |
24 | * |
25 | * Modified by the GTK+ Team and others 2003. See the AUTHORS |
26 | * file for a list of people on the GTK+ Team. See the ChangeLog |
27 | * files for a list of changes. These files are distributed with |
28 | * GTK+ at ftp://ftp.gtk.org/pub/gtk/. |
29 | */ |
30 | |
31 | #ifndef __GTK_ACTION_H__ |
32 | #define __GTK_ACTION_H__ |
33 | |
34 | #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) |
35 | #error "Only <gtk/gtk.h> can be included directly." |
36 | #endif |
37 | |
38 | #include <gtk/gtkwidget.h> |
39 | |
40 | G_BEGIN_DECLS |
41 | |
42 | #define GTK_TYPE_ACTION (gtk_action_get_type ()) |
43 | #define GTK_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ACTION, GtkAction)) |
44 | #define GTK_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACTION, GtkActionClass)) |
45 | #define GTK_IS_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ACTION)) |
46 | #define GTK_IS_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ACTION)) |
47 | #define GTK_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_ACTION, GtkActionClass)) |
48 | |
49 | typedef struct _GtkAction GtkAction; |
50 | typedef struct _GtkActionClass GtkActionClass; |
51 | typedef struct _GtkActionPrivate GtkActionPrivate; |
52 | |
53 | struct _GtkAction |
54 | { |
55 | GObject object; |
56 | |
57 | /*< private >*/ |
58 | |
59 | GtkActionPrivate *GSEAL (private_data); |
60 | }; |
61 | |
62 | struct _GtkActionClass |
63 | { |
64 | GObjectClass parent_class; |
65 | |
66 | /* activation signal */ |
67 | void (* activate) (GtkAction *action); |
68 | |
69 | GType ; |
70 | GType toolbar_item_type; |
71 | |
72 | /* widget creation routines (not signals) */ |
73 | GtkWidget *(* ) (GtkAction *action); |
74 | GtkWidget *(* create_tool_item) (GtkAction *action); |
75 | void (* connect_proxy) (GtkAction *action, |
76 | GtkWidget *proxy); |
77 | void (* disconnect_proxy) (GtkAction *action, |
78 | GtkWidget *proxy); |
79 | |
80 | GtkWidget *(* ) (GtkAction *action); |
81 | |
82 | /* Padding for future expansion */ |
83 | void (*_gtk_reserved2) (void); |
84 | void (*_gtk_reserved3) (void); |
85 | void (*_gtk_reserved4) (void); |
86 | }; |
87 | |
88 | GType gtk_action_get_type (void) G_GNUC_CONST; |
89 | GtkAction *gtk_action_new (const gchar *name, |
90 | const gchar *label, |
91 | const gchar *tooltip, |
92 | const gchar *stock_id); |
93 | const gchar* gtk_action_get_name (GtkAction *action); |
94 | gboolean gtk_action_is_sensitive (GtkAction *action); |
95 | gboolean gtk_action_get_sensitive (GtkAction *action); |
96 | void gtk_action_set_sensitive (GtkAction *action, |
97 | gboolean sensitive); |
98 | gboolean gtk_action_is_visible (GtkAction *action); |
99 | gboolean gtk_action_get_visible (GtkAction *action); |
100 | void gtk_action_set_visible (GtkAction *action, |
101 | gboolean visible); |
102 | void gtk_action_activate (GtkAction *action); |
103 | GtkWidget * gtk_action_create_icon (GtkAction *action, |
104 | GtkIconSize icon_size); |
105 | GtkWidget * (GtkAction *action); |
106 | GtkWidget * gtk_action_create_tool_item (GtkAction *action); |
107 | GtkWidget * (GtkAction *action); |
108 | GSList * gtk_action_get_proxies (GtkAction *action); |
109 | void gtk_action_connect_accelerator (GtkAction *action); |
110 | void gtk_action_disconnect_accelerator (GtkAction *action); |
111 | const gchar *gtk_action_get_accel_path (GtkAction *action); |
112 | GClosure *gtk_action_get_accel_closure (GtkAction *action); |
113 | |
114 | #ifndef GTK_DISABLE_DEPRECATED |
115 | GtkAction *gtk_widget_get_action (GtkWidget *widget); |
116 | void gtk_action_connect_proxy (GtkAction *action, |
117 | GtkWidget *proxy); |
118 | void gtk_action_disconnect_proxy (GtkAction *action, |
119 | GtkWidget *proxy); |
120 | void gtk_action_block_activate_from (GtkAction *action, |
121 | GtkWidget *proxy); |
122 | void gtk_action_unblock_activate_from (GtkAction *action, |
123 | GtkWidget *proxy); |
124 | #endif /* GTK_DISABLE_DEPRECATED */ |
125 | void gtk_action_block_activate (GtkAction *action); |
126 | void gtk_action_unblock_activate (GtkAction *action); |
127 | |
128 | |
129 | void _gtk_action_add_to_proxy_list (GtkAction *action, |
130 | GtkWidget *proxy); |
131 | void _gtk_action_remove_from_proxy_list(GtkAction *action, |
132 | GtkWidget *proxy); |
133 | |
134 | /* protected ... for use by child actions */ |
135 | void _gtk_action_emit_activate (GtkAction *action); |
136 | |
137 | /* protected ... for use by action groups */ |
138 | void gtk_action_set_accel_path (GtkAction *action, |
139 | const gchar *accel_path); |
140 | void gtk_action_set_accel_group (GtkAction *action, |
141 | GtkAccelGroup *accel_group); |
142 | void (GtkAction *action, |
143 | GtkWidget *proxy, |
144 | gboolean empty); |
145 | |
146 | void gtk_action_set_label (GtkAction *action, |
147 | const gchar *label); |
148 | const gchar * gtk_action_get_label (GtkAction *action); |
149 | void gtk_action_set_short_label (GtkAction *action, |
150 | const gchar *short_label); |
151 | const gchar * gtk_action_get_short_label (GtkAction *action); |
152 | void gtk_action_set_tooltip (GtkAction *action, |
153 | const gchar *tooltip); |
154 | const gchar * gtk_action_get_tooltip (GtkAction *action); |
155 | void gtk_action_set_stock_id (GtkAction *action, |
156 | const gchar *stock_id); |
157 | const gchar * gtk_action_get_stock_id (GtkAction *action); |
158 | void gtk_action_set_gicon (GtkAction *action, |
159 | GIcon *icon); |
160 | GIcon *gtk_action_get_gicon (GtkAction *action); |
161 | void gtk_action_set_icon_name (GtkAction *action, |
162 | const gchar *icon_name); |
163 | const gchar * gtk_action_get_icon_name (GtkAction *action); |
164 | void gtk_action_set_visible_horizontal (GtkAction *action, |
165 | gboolean visible_horizontal); |
166 | gboolean gtk_action_get_visible_horizontal (GtkAction *action); |
167 | void gtk_action_set_visible_vertical (GtkAction *action, |
168 | gboolean visible_vertical); |
169 | gboolean gtk_action_get_visible_vertical (GtkAction *action); |
170 | void gtk_action_set_is_important (GtkAction *action, |
171 | gboolean is_important); |
172 | gboolean gtk_action_get_is_important (GtkAction *action); |
173 | void gtk_action_set_always_show_image (GtkAction *action, |
174 | gboolean always_show); |
175 | gboolean gtk_action_get_always_show_image (GtkAction *action); |
176 | |
177 | |
178 | G_END_DECLS |
179 | |
180 | #endif /* __GTK_ACTION_H__ */ |
181 | |