3 * Copyright (C) 2003-2009 Jim Evins <evins@snaught.com>.
5 * This file is part of gLabels.
7 * gLabels is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * gLabels is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with gLabels. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef __OBJECT_EDITOR_H__
22 #define __OBJECT_EDITOR_H__
26 #include "text-node.h"
35 GL_OBJECT_EDITOR_EMPTY = 1,
36 GL_OBJECT_EDITOR_POSITION_PAGE,
37 GL_OBJECT_EDITOR_SIZE_PAGE,
38 GL_OBJECT_EDITOR_SIZE_IMAGE_PAGE,
39 GL_OBJECT_EDITOR_SIZE_LINE_PAGE,
40 GL_OBJECT_EDITOR_FILL_PAGE,
41 GL_OBJECT_EDITOR_LINE_PAGE,
42 GL_OBJECT_EDITOR_IMAGE_PAGE,
43 GL_OBJECT_EDITOR_TEXT_PAGE,
44 GL_OBJECT_EDITOR_EDIT_PAGE,
45 GL_OBJECT_EDITOR_BC_PAGE,
46 GL_OBJECT_EDITOR_DATA_PAGE,
47 GL_OBJECT_EDITOR_SHADOW_PAGE,
48 } glObjectEditorOption;
50 #define GL_TYPE_OBJECT_EDITOR (gl_object_editor_get_type ())
51 #define GL_OBJECT_EDITOR(obj) \
52 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GL_TYPE_OBJECT_EDITOR, glObjectEditor))
53 #define GL_OBJECT_EDITOR_CLASS(klass) \
54 (G_TYPE_CHECK_CLASS_CAST ((klass), GL_TYPE_OBJECT_EDITOR, glObjectEditorClass))
55 #define GL_IS_OBJECT_EDITOR(obj) \
56 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GL_TYPE_OBJECT_EDITOR))
57 #define GL_IS_OBJECT_EDITOR_CLASS(klass) \
58 (G_TYPE_CHECK_CLASS_TYPE ((klass), GL_TYPE_OBJECT_EDITOR))
59 #define GL_OBJECT_EDITOR_GET_CLASS(obj) \
60 (G_TYPE_INSTANCE_GET_CLASS ((obj), GL_TYPE_OBJECT_EDITOR, glObjectEditorClass))
63 typedef struct _glObjectEditor glObjectEditor;
64 typedef struct _glObjectEditorClass glObjectEditorClass;
66 typedef struct _glObjectEditorPrivate glObjectEditorPrivate;
68 struct _glObjectEditor
70 GtkVBox parent_instance;
72 glObjectEditorPrivate *priv;
76 struct _glObjectEditorClass
78 GtkVBoxClass parent_class;
80 void (*changed) (glObjectEditor *editor, gpointer user_data);
81 void (*size_changed) (glObjectEditor *editor, gpointer user_data);
87 GType gl_object_editor_get_type (void) G_GNUC_CONST;
89 GtkWidget *gl_object_editor_new (gchar *image,
92 glObjectEditorOption first_option, ...);
94 void gl_object_editor_set_key_names (glObjectEditor *editor,
101 void gl_object_editor_set_position (glObjectEditor *editor,
105 void gl_object_editor_set_max_position (glObjectEditor *editor,
109 void gl_object_editor_get_position (glObjectEditor *editor,
116 void gl_object_editor_set_size (glObjectEditor *editor,
120 void gl_object_editor_set_max_size (glObjectEditor *editor,
124 void gl_object_editor_set_base_size (glObjectEditor *editor,
128 void gl_object_editor_get_size (glObjectEditor *editor,
136 void gl_object_editor_set_lsize (glObjectEditor *editor,
140 void gl_object_editor_set_max_lsize (glObjectEditor *editor,
144 void gl_object_editor_get_lsize (glObjectEditor *editor,
152 void gl_object_editor_set_fill_color (glObjectEditor *editor,
154 glColorNode *color_node);
156 glColorNode* gl_object_editor_get_fill_color (glObjectEditor *editor);
162 void gl_object_editor_set_line_color (glObjectEditor *editor,
164 glColorNode *color_node);
166 glColorNode* gl_object_editor_get_line_color (glObjectEditor *editor);
168 void gl_object_editor_set_line_width (glObjectEditor *editor,
171 gdouble gl_object_editor_get_line_width (glObjectEditor *editor);
177 void gl_object_editor_set_image (glObjectEditor *editor,
179 glTextNode *text_node);
181 glTextNode *gl_object_editor_get_image (glObjectEditor *editor);
187 void gl_object_editor_set_font_family (glObjectEditor *editor,
188 const gchar *font_family);
190 gchar *gl_object_editor_get_font_family (glObjectEditor *editor);
192 void gl_object_editor_set_font_size (glObjectEditor *editor,
195 gdouble gl_object_editor_get_font_size (glObjectEditor *editor);
197 void gl_object_editor_set_font_weight (glObjectEditor *editor,
198 PangoWeight font_weight);
200 PangoWeight gl_object_editor_get_font_weight (glObjectEditor *editor);
202 void gl_object_editor_set_font_italic_flag (glObjectEditor *editor,
203 gboolean font_italic_flag);
205 gboolean gl_object_editor_get_font_italic_flag (glObjectEditor *editor);
207 void gl_object_editor_set_text_alignment (glObjectEditor *editor,
208 PangoAlignment text_alignment);
210 PangoAlignment gl_object_editor_get_text_alignment (glObjectEditor *editor);
212 void gl_object_editor_set_text_line_spacing (glObjectEditor *editor,
213 gdouble text_line_spacing);
215 gdouble gl_object_editor_get_text_line_spacing (glObjectEditor *editor);
217 void gl_object_editor_set_text_color (glObjectEditor *editor,
219 glColorNode *text_color_node);
221 glColorNode* gl_object_editor_get_text_color (glObjectEditor *editor);
223 void gl_object_editor_set_text_auto_shrink (glObjectEditor *editor,
224 gboolean auto_shrink);
226 gboolean gl_object_editor_get_text_auto_shrink (glObjectEditor *editor);
232 void gl_object_editor_set_text_buffer (glObjectEditor *editor,
233 GtkTextBuffer *buffer);
238 void gl_object_editor_set_bc_style (glObjectEditor *editor,
241 gboolean checksum_flag,
242 guint format_digits);
244 void gl_object_editor_get_bc_style (glObjectEditor *editor,
247 gboolean *checksum_flag,
248 guint *format_digits);
250 void gl_object_editor_set_bc_color (glObjectEditor *editor,
252 glColorNode *color_node);
254 glColorNode* gl_object_editor_get_bc_color (glObjectEditor *editor);
260 void gl_object_editor_set_data (glObjectEditor *editor,
262 glTextNode *text_node);
264 glTextNode *gl_object_editor_get_data (glObjectEditor *editor);
270 void gl_object_editor_set_shadow_state (glObjectEditor *editor,
273 void gl_object_editor_set_shadow_offset (glObjectEditor *editor,
277 void gl_object_editor_set_shadow_color (glObjectEditor *editor,
279 glColorNode *color_node);
281 void gl_object_editor_set_shadow_opacity (glObjectEditor *editor,
284 void gl_object_editor_set_max_shadow_offset(glObjectEditor *editor,
289 gboolean gl_object_editor_get_shadow_state (glObjectEditor *editor);
291 void gl_object_editor_get_shadow_offset (glObjectEditor *editor,
295 glColorNode* gl_object_editor_get_shadow_color (glObjectEditor *editor);
297 gdouble gl_object_editor_get_shadow_opacity (glObjectEditor *editor);
308 * Local Variables: -- emacs
310 * c-basic-offset: 8 -- emacs
311 * tab-width: 8 -- emacs
312 * indent-tabs-mode: nil -- emacs