Code

Corrected initialization order.
[inkscape.git] / src / ink-action.h
1 #ifndef SEEN_INK_ACTION
2 #define SEEN_INK_ACTION
5 #include <glib.h>
6 #include <gtk/gtkaction.h>
7 #include <gtk/gtktoggleaction.h>
8 #include <gtk/gtkradioaction.h>
9 #include <glib-object.h>
10 #include "icon-size.h"
12 /* Equivalent to GTK Actions of the same type, but can support Inkscape SVG icons */
14 G_BEGIN_DECLS
16 #define INK_ACTION_TYPE                ( ink_action_get_type() )
17 #define INK_ACTION( obj )              ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_ACTION_TYPE, InkAction) )
18 #define INK_ACTION_CLASS( klass )      ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_ACTION_TYPE, InkActionClass) )
19 #define IS_INK_ACTION( obj )           ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_ACTION_TYPE) )
20 #define IS_INK_ACTION_CLASS( klass )   ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_ACTION_TYPE) )
21 #define INK_ACTION_GET_CLASS( obj )    ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_ACTION_TYPE, InkActionClass) )
23 typedef struct _InkAction      InkAction;
24 typedef struct _InkActionClass InkActionClass;
25 typedef struct _InkActionPrivate InkActionPrivate;
27 struct _InkAction
28 {
29     GtkAction action;
30     InkActionPrivate *private_data;
31 };
33 struct _InkActionClass
34 {
35     GtkActionClass parent_class;
36 };
38 GType ink_action_get_type( void );
40 InkAction* ink_action_new( const gchar *name,
41                            const gchar *label,
42                            const gchar *tooltip,
43                            const gchar *inkId,
44                            Inkscape::IconSize size );
47 /* --------------------------------------------------------------- */
48 /* --------------------------------------------------------------- */
49 /* --------------------------------------------------------------- */
50 /* --------------------------------------------------------------- */
53 #define INK_TOGGLE_ACTION_TYPE                ( ink_toggle_action_get_type() )
54 #define INK_TOGGLE_ACTION( obj )              ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_TOGGLE_ACTION_TYPE, InkToggleAction) )
55 #define INK_TOGGLE_ACTION_CLASS( klass )      ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_TOGGLE_ACTION_TYPE, InkToggleActionClass) )
56 #define IS_INK_TOGGLE_ACTION( obj )           ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_TOGGLE_ACTION_TYPE) )
57 #define IS_INK_TOGGLE_ACTION_CLASS( klass )   ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_TOGGLE_ACTION_TYPE) )
58 #define INK_TOGGLE_ACTION_GET_CLASS( obj )    ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_TOGGLE_ACTION_TYPE, InkToggleActionClass) )
60 typedef struct _InkToggleAction      InkToggleAction;
61 typedef struct _InkToggleActionClass InkToggleActionClass;
62 typedef struct _InkToggleActionPrivate InkToggleActionPrivate;
64 struct _InkToggleAction
65 {
66     GtkToggleAction action;
67     InkToggleActionPrivate *private_data;
68 };
70 struct _InkToggleActionClass
71 {
72     GtkToggleActionClass parent_class;
73 };
75 GType ink_toggle_action_get_type( void );
77 InkToggleAction* ink_toggle_action_new( const gchar *name,
78                                         const gchar *label,
79                                         const gchar *tooltip,
80                                         const gchar *inkId,
81                                         Inkscape::IconSize size );
84 /* --------------------------------------------------------------- */
85 /* --------------------------------------------------------------- */
86 /* --------------------------------------------------------------- */
87 /* --------------------------------------------------------------- */
90 #define INK_RADIO_ACTION_TYPE                ( ink_radio_action_get_type() )
91 #define INK_RADIO_ACTION( obj )              ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_RADIO_ACTION_TYPE, InkRadioAction) )
92 #define INK_RADIO_ACTION_CLASS( klass )      ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_RADIO_ACTION_TYPE, InkRadioActionClass) )
93 #define IS_INK_RADIO_ACTION( obj )           ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_RADIO_ACTION_TYPE) )
94 #define IS_INK_RADIO_ACTION_CLASS( klass )   ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_RADIO_ACTION_TYPE) )
95 #define INK_RADIO_ACTION_GET_CLASS( obj )    ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_RADIO_ACTION_TYPE, InkRadioActionClass) )
97 typedef struct _InkRadioAction      InkRadioAction;
98 typedef struct _InkRadioActionClass InkRadioActionClass;
99 typedef struct _InkRadioActionPrivate InkRadioActionPrivate;
101 struct _InkRadioAction
103     GtkRadioAction action;
104     InkRadioActionPrivate *private_data;
105 };
107 struct _InkRadioActionClass
109     GtkRadioActionClass parent_class;
110 };
112 GType ink_radio_action_get_type( void );
114 InkRadioAction* ink_radio_action_new( const gchar *name,
115                                       const gchar *label,
116                                       const gchar *tooltip,
117                                       const gchar *inkId,
118                                       Inkscape::IconSize size );
122 G_END_DECLS
124 #endif /* SEEN_INK_ACTION */