1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
4 * (GLABELS) Label and Business Card Creation program for GNOME
6 * object-editor.h: object properties editor module header file
8 * Copyright (C) 2003 Jim Evins <evins@snaught.com>.
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 #ifndef __OBJECT_EDITOR_H__
25 #define __OBJECT_EDITOR_H__
27 #include <gtk/gtkvbox.h>
28 #include <gtk/gtktextbuffer.h>
30 #include "text-node.h"
39 GL_OBJECT_EDITOR_EMPTY = 1,
40 GL_OBJECT_EDITOR_POSITION_PAGE,
41 GL_OBJECT_EDITOR_SIZE_PAGE,
42 GL_OBJECT_EDITOR_SIZE_IMAGE_PAGE,
43 GL_OBJECT_EDITOR_SIZE_LINE_PAGE,
44 GL_OBJECT_EDITOR_FILL_PAGE,
45 GL_OBJECT_EDITOR_LINE_PAGE,
46 GL_OBJECT_EDITOR_IMAGE_PAGE,
47 GL_OBJECT_EDITOR_TEXT_PAGE,
48 GL_OBJECT_EDITOR_EDIT_PAGE,
49 GL_OBJECT_EDITOR_BC_PAGE,
50 GL_OBJECT_EDITOR_DATA_PAGE,
51 GL_OBJECT_EDITOR_SHADOW_PAGE,
52 } glObjectEditorOption;
54 #define GL_TYPE_OBJECT_EDITOR (gl_object_editor_get_type ())
55 #define GL_OBJECT_EDITOR(obj) \
56 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GL_TYPE_OBJECT_EDITOR, glObjectEditor))
57 #define GL_OBJECT_EDITOR_CLASS(klass) \
58 (G_TYPE_CHECK_CLASS_CAST ((klass), GL_TYPE_OBJECT_EDITOR, glObjectEditorClass))
59 #define GL_IS_OBJECT_EDITOR(obj) \
60 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GL_TYPE_OBJECT_EDITOR))
61 #define GL_IS_OBJECT_EDITOR_CLASS(klass) \
62 (G_TYPE_CHECK_CLASS_TYPE ((klass), GL_TYPE_OBJECT_EDITOR))
63 #define GL_OBJECT_EDITOR_GET_CLASS(obj) \
64 (G_TYPE_CHECK_GET_CLASS ((obj), GL_TYPE_OBJECT_EDITOR, glObjectEditorClass))
67 typedef struct _glObjectEditor glObjectEditor;
68 typedef struct _glObjectEditorClass glObjectEditorClass;
70 typedef struct _glObjectEditorPrivate glObjectEditorPrivate;
72 struct _glObjectEditor
74 GtkVBox parent_instance;
76 glObjectEditorPrivate *priv;
80 struct _glObjectEditorClass
82 GtkVBoxClass parent_class;
84 void (*changed) (glObjectEditor *editor, gpointer user_data);
85 void (*size_changed) (glObjectEditor *editor, gpointer user_data);
91 GType gl_object_editor_get_type (void) G_GNUC_CONST;
93 GtkWidget *gl_object_editor_new (gchar *image,
96 glObjectEditorOption first_option, ...);
98 void gl_object_editor_set_key_names (glObjectEditor *editor,
105 void gl_object_editor_set_position (glObjectEditor *editor,
109 void gl_object_editor_set_max_position (glObjectEditor *editor,
113 void gl_object_editor_get_position (glObjectEditor *editor,
120 void gl_object_editor_set_size (glObjectEditor *editor,
124 void gl_object_editor_set_max_size (glObjectEditor *editor,
128 void gl_object_editor_set_base_size (glObjectEditor *editor,
132 void gl_object_editor_get_size (glObjectEditor *editor,
140 void gl_object_editor_set_lsize (glObjectEditor *editor,
144 void gl_object_editor_set_max_lsize (glObjectEditor *editor,
148 void gl_object_editor_get_lsize (glObjectEditor *editor,
156 void gl_object_editor_set_fill_color (glObjectEditor *editor,
158 glColorNode *color_node);
160 glColorNode* gl_object_editor_get_fill_color (glObjectEditor *editor);
166 void gl_object_editor_set_line_color (glObjectEditor *editor,
168 glColorNode *color_node);
170 glColorNode* gl_object_editor_get_line_color (glObjectEditor *editor);
172 void gl_object_editor_set_line_width (glObjectEditor *editor,
175 gdouble gl_object_editor_get_line_width (glObjectEditor *editor);
181 void gl_object_editor_set_image (glObjectEditor *editor,
183 glTextNode *text_node);
185 glTextNode *gl_object_editor_get_image (glObjectEditor *editor);
191 void gl_object_editor_set_font_family (glObjectEditor *editor,
192 const gchar *font_family);
194 gchar *gl_object_editor_get_font_family (glObjectEditor *editor);
196 void gl_object_editor_set_font_size (glObjectEditor *editor,
199 gdouble gl_object_editor_get_font_size (glObjectEditor *editor);
201 void gl_object_editor_set_font_weight (glObjectEditor *editor,
202 PangoWeight font_weight);
204 PangoWeight gl_object_editor_get_font_weight (glObjectEditor *editor);
206 void gl_object_editor_set_font_italic_flag (glObjectEditor *editor,
207 gboolean font_italic_flag);
209 gboolean gl_object_editor_get_font_italic_flag (glObjectEditor *editor);
211 void gl_object_editor_set_text_alignment (glObjectEditor *editor,
212 PangoAlignment text_alignment);
214 PangoAlignment gl_object_editor_get_text_alignment (glObjectEditor *editor);
216 void gl_object_editor_set_text_line_spacing (glObjectEditor *editor,
217 gdouble text_line_spacing);
219 gdouble gl_object_editor_get_text_line_spacing (glObjectEditor *editor);
221 void gl_object_editor_set_text_color (glObjectEditor *editor,
223 glColorNode *text_color_node);
225 glColorNode* gl_object_editor_get_text_color (glObjectEditor *editor);
227 void gl_object_editor_set_text_auto_shrink (glObjectEditor *editor,
228 gboolean auto_shrink);
230 gboolean gl_object_editor_get_text_auto_shrink (glObjectEditor *editor);
236 void gl_object_editor_set_text_buffer (glObjectEditor *editor,
237 GtkTextBuffer *buffer);
242 void gl_object_editor_set_bc_style (glObjectEditor *editor,
245 gboolean checksum_flag,
246 guint format_digits);
248 void gl_object_editor_get_bc_style (glObjectEditor *editor,
251 gboolean *checksum_flag,
252 guint *format_digits);
254 void gl_object_editor_set_bc_color (glObjectEditor *editor,
256 glColorNode *color_node);
258 glColorNode* gl_object_editor_get_bc_color (glObjectEditor *editor);
264 void gl_object_editor_set_data (glObjectEditor *editor,
266 glTextNode *text_node);
268 glTextNode *gl_object_editor_get_data (glObjectEditor *editor);
274 void gl_object_editor_set_shadow_state (glObjectEditor *editor,
277 void gl_object_editor_set_shadow_offset (glObjectEditor *editor,
281 void gl_object_editor_set_shadow_color (glObjectEditor *editor,
283 glColorNode *color_node);
285 void gl_object_editor_set_shadow_opacity (glObjectEditor *editor,
288 void gl_object_editor_set_max_shadow_offset(glObjectEditor *editor,
293 gboolean gl_object_editor_get_shadow_state (glObjectEditor *editor);
295 void gl_object_editor_get_shadow_offset (glObjectEditor *editor,
299 glColorNode* gl_object_editor_get_shadow_color (glObjectEditor *editor);
301 gdouble gl_object_editor_get_shadow_opacity (glObjectEditor *editor);