Code

new command: relink clone to copied object
[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>
11 /* Equivalent to GTK Actions of the same type, but can support Inkscape SVG icons */
13 G_BEGIN_DECLS
15 #define INK_ACTION_TYPE                ( ink_action_get_type() )
16 #define INK_ACTION( obj )              ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_ACTION_TYPE, InkAction) )
17 #define INK_ACTION_CLASS( klass )      ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_ACTION_TYPE, InkActionClass) )
18 #define IS_INK_ACTION( obj )           ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_ACTION_TYPE) )
19 #define IS_INK_ACTION_CLASS( klass )   ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_ACTION_TYPE) )
20 #define INK_ACTION_GET_CLASS( obj )    ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_ACTION_TYPE, InkActionClass) )
22 typedef struct _InkAction      InkAction;
23 typedef struct _InkActionClass InkActionClass;
24 typedef struct _InkActionPrivate InkActionPrivate;
26 struct _InkAction
27 {
28     GtkAction action;
29     InkActionPrivate *private_data;
30 };
32 struct _InkActionClass
33 {
34     GtkActionClass parent_class;
35 };
37 GType ink_action_get_type( void );
39 InkAction* ink_action_new( const gchar *name,
40                            const gchar *label,
41                            const gchar *tooltip,
42                            const gchar *inkId,
43                            Inkscape::IconSize size );
46 /* --------------------------------------------------------------- */
47 /* --------------------------------------------------------------- */
48 /* --------------------------------------------------------------- */
49 /* --------------------------------------------------------------- */
52 #define INK_TOGGLE_ACTION_TYPE                ( ink_toggle_action_get_type() )
53 #define INK_TOGGLE_ACTION( obj )              ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_TOGGLE_ACTION_TYPE, InkToggleAction) )
54 #define INK_TOGGLE_ACTION_CLASS( klass )      ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_TOGGLE_ACTION_TYPE, InkToggleActionClass) )
55 #define IS_INK_TOGGLE_ACTION( obj )           ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_TOGGLE_ACTION_TYPE) )
56 #define IS_INK_TOGGLE_ACTION_CLASS( klass )   ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_TOGGLE_ACTION_TYPE) )
57 #define INK_TOGGLE_ACTION_GET_CLASS( obj )    ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_TOGGLE_ACTION_TYPE, InkToggleActionClass) )
59 typedef struct _InkToggleAction      InkToggleAction;
60 typedef struct _InkToggleActionClass InkToggleActionClass;
61 typedef struct _InkToggleActionPrivate InkToggleActionPrivate;
63 struct _InkToggleAction
64 {
65     GtkToggleAction action;
66     InkToggleActionPrivate *private_data;
67 };
69 struct _InkToggleActionClass
70 {
71     GtkToggleActionClass parent_class;
72 };
74 GType ink_toggle_action_get_type( void );
76 InkToggleAction* ink_toggle_action_new( const gchar *name,
77                                         const gchar *label,
78                                         const gchar *tooltip,
79                                         const gchar *inkId,
80                                         Inkscape::IconSize size );
83 /* --------------------------------------------------------------- */
84 /* --------------------------------------------------------------- */
85 /* --------------------------------------------------------------- */
86 /* --------------------------------------------------------------- */
89 #define INK_RADIO_ACTION_TYPE                ( ink_radio_action_get_type() )
90 #define INK_RADIO_ACTION( obj )              ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_RADIO_ACTION_TYPE, InkRadioAction) )
91 #define INK_RADIO_ACTION_CLASS( klass )      ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_RADIO_ACTION_TYPE, InkRadioActionClass) )
92 #define IS_INK_RADIO_ACTION( obj )           ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_RADIO_ACTION_TYPE) )
93 #define IS_INK_RADIO_ACTION_CLASS( klass )   ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_RADIO_ACTION_TYPE) )
94 #define INK_RADIO_ACTION_GET_CLASS( obj )    ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_RADIO_ACTION_TYPE, InkRadioActionClass) )
96 typedef struct _InkRadioAction      InkRadioAction;
97 typedef struct _InkRadioActionClass InkRadioActionClass;
98 typedef struct _InkRadioActionPrivate InkRadioActionPrivate;
100 struct _InkRadioAction
102     GtkRadioAction action;
103     InkRadioActionPrivate *private_data;
104 };
106 struct _InkRadioActionClass
108     GtkRadioActionClass parent_class;
109 };
111 GType ink_radio_action_get_type( void );
113 InkRadioAction* ink_radio_action_new( const gchar *name,
114                                       const gchar *label,
115                                       const gchar *tooltip,
116                                       const gchar *inkId,
117                                       Inkscape::IconSize size );
121 G_END_DECLS
123 #endif /* SEEN_INK_ACTION */