1
#ifndef SEEN_INK_ACTION
2
#define SEEN_INK_ACTION
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"
11
#include "attributes.h"
13
/* Equivalent to GTK Actions of the same type, but can support Inkscape SVG icons */
17
#define INK_ACTION_TYPE ( ink_action_get_type() )
18
#define INK_ACTION( obj ) ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_ACTION_TYPE, InkAction) )
19
#define INK_ACTION_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_ACTION_TYPE, InkActionClass) )
20
#define IS_INK_ACTION( obj ) ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_ACTION_TYPE) )
21
#define IS_INK_ACTION_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_ACTION_TYPE) )
22
#define INK_ACTION_GET_CLASS( obj ) ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_ACTION_TYPE, InkActionClass) )
24
typedef struct _InkAction InkAction;
25
typedef struct _InkActionClass InkActionClass;
26
typedef struct _InkActionPrivate InkActionPrivate;
31
InkActionPrivate *private_data;
34
struct _InkActionClass
36
GtkActionClass parent_class;
39
GType ink_action_get_type( void );
41
InkAction* ink_action_new( const gchar *name,
45
Inkscape::IconSize size );
48
/* --------------------------------------------------------------- */
49
/* --------------------------------------------------------------- */
50
/* --------------------------------------------------------------- */
51
/* --------------------------------------------------------------- */
54
#define INK_TOGGLE_ACTION_TYPE ( ink_toggle_action_get_type() )
55
#define INK_TOGGLE_ACTION( obj ) ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_TOGGLE_ACTION_TYPE, InkToggleAction) )
56
#define INK_TOGGLE_ACTION_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_TOGGLE_ACTION_TYPE, InkToggleActionClass) )
57
#define IS_INK_TOGGLE_ACTION( obj ) ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_TOGGLE_ACTION_TYPE) )
58
#define IS_INK_TOGGLE_ACTION_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_TOGGLE_ACTION_TYPE) )
59
#define INK_TOGGLE_ACTION_GET_CLASS( obj ) ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_TOGGLE_ACTION_TYPE, InkToggleActionClass) )
61
typedef struct _InkToggleAction InkToggleAction;
62
typedef struct _InkToggleActionClass InkToggleActionClass;
63
typedef struct _InkToggleActionPrivate InkToggleActionPrivate;
65
struct _InkToggleAction
67
GtkToggleAction action;
68
InkToggleActionPrivate *private_data;
71
struct _InkToggleActionClass
73
GtkToggleActionClass parent_class;
76
GType ink_toggle_action_get_type( void );
78
InkToggleAction* ink_toggle_action_new( const gchar *name,
82
Inkscape::IconSize size,
83
SPAttributeEnum attr = SP_ATTR_INVALID);
86
/* --------------------------------------------------------------- */
87
/* --------------------------------------------------------------- */
88
/* --------------------------------------------------------------- */
89
/* --------------------------------------------------------------- */
92
#define INK_RADIO_ACTION_TYPE ( ink_radio_action_get_type() )
93
#define INK_RADIO_ACTION( obj ) ( G_TYPE_CHECK_INSTANCE_CAST( (obj), INK_RADIO_ACTION_TYPE, InkRadioAction) )
94
#define INK_RADIO_ACTION_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( (klass), INK_RADIO_ACTION_TYPE, InkRadioActionClass) )
95
#define IS_INK_RADIO_ACTION( obj ) ( G_TYPE_CHECK_INSTANCE_TYPE( (obj), INK_RADIO_ACTION_TYPE) )
96
#define IS_INK_RADIO_ACTION_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE( (klass), INK_RADIO_ACTION_TYPE) )
97
#define INK_RADIO_ACTION_GET_CLASS( obj ) ( G_TYPE_INSTANCE_GET_CLASS( (obj), INK_RADIO_ACTION_TYPE, InkRadioActionClass) )
99
typedef struct _InkRadioAction InkRadioAction;
100
typedef struct _InkRadioActionClass InkRadioActionClass;
101
typedef struct _InkRadioActionPrivate InkRadioActionPrivate;
103
struct _InkRadioAction
105
GtkRadioAction action;
106
InkRadioActionPrivate *private_data;
109
struct _InkRadioActionClass
111
GtkRadioActionClass parent_class;
114
GType ink_radio_action_get_type( void );
116
InkRadioAction* ink_radio_action_new( const gchar *name,
118
const gchar *tooltip,
120
Inkscape::IconSize size );
126
#endif /* SEEN_INK_ACTION */