57
static void gimp_grid_class_init (GimpGridClass *klass);
58
static void gimp_grid_finalize (GObject *object);
59
static void gimp_grid_get_property (GObject *object,
63
static void gimp_grid_set_property (GObject *object,
69
static GimpObjectClass *parent_class = NULL;
73
gimp_grid_get_type (void)
75
static GType grid_type = 0;
79
static const GTypeInfo grid_info =
81
sizeof (GimpGridClass),
83
(GBaseFinalizeFunc) NULL,
84
(GClassInitFunc) gimp_grid_class_init,
85
NULL, /* class_finalize */
86
NULL, /* class_data */
89
NULL /* instance_init */
91
static const GInterfaceInfo grid_iface_info =
93
NULL, /* iface_init */
94
NULL, /* iface_finalize */
98
grid_type = g_type_register_static (GIMP_TYPE_OBJECT,
99
"GimpGrid", &grid_info, 0);
101
g_type_add_interface_static (grid_type, GIMP_TYPE_CONFIG,
55
static void gimp_grid_get_property (GObject *object,
59
static void gimp_grid_set_property (GObject *object,
65
G_DEFINE_TYPE_WITH_CODE (GimpGrid, gimp_grid, GIMP_TYPE_OBJECT,
66
G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL))
109
70
gimp_grid_class_init (GimpGridClass *klass)
111
GObjectClass *object_class;
72
GObjectClass *object_class = G_OBJECT_CLASS (klass);
115
object_class = G_OBJECT_CLASS (klass);
117
parent_class = g_type_class_peek_parent (klass);
119
object_class->finalize = gimp_grid_finalize;
120
76
object_class->get_property = gimp_grid_get_property;
121
77
object_class->set_property = gimp_grid_set_property;
128
84
N_("Line style used for the grid."),
129
85
GIMP_TYPE_GRID_STYLE,
130
86
GIMP_GRID_INTERSECTIONS,
87
GIMP_PARAM_STATIC_STRINGS);
132
88
GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_FGCOLOR,
134
90
N_("The foreground color of the grid."),
92
GIMP_PARAM_STATIC_STRINGS);
137
93
GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_BGCOLOR,
139
95
N_("The background color of the grid; "
140
96
"only used in double dashed line style."),
98
GIMP_PARAM_STATIC_STRINGS);
143
99
GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_XSPACING,
145
101
N_("Horizontal spacing of grid lines."),
146
1.0, GIMP_MAX_IMAGE_SIZE, 10.0,
102
1.0, GIMP_MAX_IMAGE_SIZE, 32.0,
103
GIMP_PARAM_STATIC_STRINGS);
148
104
GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_YSPACING,
150
106
N_("Vertical spacing of grid lines."),
151
1.0, GIMP_MAX_IMAGE_SIZE, 10.0,
107
1.0, GIMP_MAX_IMAGE_SIZE, 32.0,
108
GIMP_PARAM_STATIC_STRINGS);
153
109
GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_SPACING_UNIT,
154
"spacing-unit", NULL,
155
FALSE, FALSE, GIMP_UNIT_INCH,
110
"spacing-unit", NULL,
111
FALSE, FALSE, GIMP_UNIT_INCH,
112
GIMP_PARAM_STATIC_STRINGS);
157
113
GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_XOFFSET,
159
115
N_("Horizontal offset of the first grid "
160
116
"line; this may be a negative number."),
161
- GIMP_MAX_IMAGE_SIZE,
117
- GIMP_MAX_IMAGE_SIZE,
162
118
GIMP_MAX_IMAGE_SIZE, 0.0,
119
GIMP_PARAM_STATIC_STRINGS);
164
120
GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_YOFFSET,
166
122
N_("Vertical offset of the first grid "
167
123
"line; this may be a negative number."),
168
- GIMP_MAX_IMAGE_SIZE,
124
- GIMP_MAX_IMAGE_SIZE,
169
125
GIMP_MAX_IMAGE_SIZE, 0.0,
126
GIMP_PARAM_STATIC_STRINGS);
171
127
GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_OFFSET_UNIT,
173
FALSE, FALSE, GIMP_UNIT_INCH,
129
FALSE, FALSE, GIMP_UNIT_INCH,
130
GIMP_PARAM_STATIC_STRINGS);
178
gimp_grid_finalize (GObject *object)
134
gimp_grid_init (GimpGrid *grid)
180
G_OBJECT_CLASS (parent_class)->finalize (object);
185
139
gimp_grid_get_property (GObject *object,
186
140
guint property_id,