2 * (GLABELS) Label and Business Card Creation program for GNOME
4 * object-editor.h: object properties editor module header file
6 * Copyright (C) 2003 Jim Evins <evins@snaught.com>.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef __OBJECT_EDITOR_H__
23 #define __OBJECT_EDITOR_H__
26 #include "text-node.h"
30 #include <gtk/gtkenums.h>
31 #include <libgnomeprint/gnome-font.h>
36 GL_OBJECT_EDITOR_EMPTY = 1,
37 GL_OBJECT_EDITOR_POSITION_PAGE,
38 GL_OBJECT_EDITOR_SIZE_PAGE,
39 GL_OBJECT_EDITOR_SIZE_IMAGE_PAGE,
40 GL_OBJECT_EDITOR_SIZE_LINE_PAGE,
41 GL_OBJECT_EDITOR_FILL_PAGE,
42 GL_OBJECT_EDITOR_LINE_PAGE,
43 GL_OBJECT_EDITOR_IMAGE_PAGE,
44 GL_OBJECT_EDITOR_TEXT_PAGE,
45 GL_OBJECT_EDITOR_EDIT_PAGE,
46 GL_OBJECT_EDITOR_BC_PAGE,
47 GL_OBJECT_EDITOR_DATA_PAGE,
48 } glObjectEditorOption;
50 #define GL_TYPE_OBJECT_EDITOR (gl_object_editor_get_type ())
51 #define GL_OBJECT_EDITOR(obj) (GTK_CHECK_CAST ((obj), GL_TYPE_OBJECT_EDITOR, glObjectEditor))
52 #define GL_OBJECT_EDITOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GL_TYPE_OBJECT_EDITOR, glObjectEditorClass))
53 #define GL_IS_OBJECT_EDITOR(obj) (GTK_CHECK_TYPE ((obj), GL_TYPE_OBJECT_EDITOR))
54 #define GL_IS_OBJECT_EDITOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GL_TYPE_OBJECT_EDITOR))
55 #define GL_OBJECT_EDITOR_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GL_TYPE_OBJECT_EDITOR, glObjectEditorClass))
58 typedef struct _glObjectEditor glObjectEditor;
59 typedef struct _glObjectEditorClass glObjectEditorClass;
61 typedef struct _glObjectEditorPrivate glObjectEditorPrivate;
63 struct _glObjectEditor
65 GtkVBox parent_instance;
67 glObjectEditorPrivate *priv;
71 struct _glObjectEditorClass
73 GtkVBoxClass parent_class;
75 void (*changed) (glObjectEditor *editor, gpointer user_data);
76 void (*size_changed) (glObjectEditor *editor, gpointer user_data);
82 GtkType gl_object_editor_get_type (void) G_GNUC_CONST;
84 GtkWidget *gl_object_editor_new (gchar *image,
86 glObjectEditorOption first_option, ...);
88 void gl_object_editor_set_key_names (glObjectEditor *editor,
95 void gl_object_editor_set_position (glObjectEditor *editor,
99 void gl_object_editor_set_max_position (glObjectEditor *editor,
103 void gl_object_editor_get_position (glObjectEditor *editor,
110 void gl_object_editor_set_size (glObjectEditor *editor,
114 void gl_object_editor_set_max_size (glObjectEditor *editor,
118 void gl_object_editor_set_base_size (glObjectEditor *editor,
122 void gl_object_editor_get_size (glObjectEditor *editor,
130 void gl_object_editor_set_lsize (glObjectEditor *editor,
134 void gl_object_editor_set_max_lsize (glObjectEditor *editor,
138 void gl_object_editor_get_lsize (glObjectEditor *editor,
146 void gl_object_editor_set_fill_color (glObjectEditor *editor,
148 glColorNode *color_node);
150 glColorNode* gl_object_editor_get_fill_color (glObjectEditor *editor);
156 void gl_object_editor_set_line_color (glObjectEditor *editor,
158 glColorNode *color_node);
160 glColorNode* gl_object_editor_get_line_color (glObjectEditor *editor);
162 void gl_object_editor_set_line_width (glObjectEditor *editor,
165 gdouble gl_object_editor_get_line_width (glObjectEditor *editor);
171 void gl_object_editor_set_image (glObjectEditor *editor,
173 glTextNode *text_node);
175 glTextNode *gl_object_editor_get_image (glObjectEditor *editor);
181 void gl_object_editor_set_font_family (glObjectEditor *editor,
182 const gchar *font_family);
184 gchar *gl_object_editor_get_font_family (glObjectEditor *editor);
186 void gl_object_editor_set_font_size (glObjectEditor *editor,
189 gdouble gl_object_editor_get_font_size (glObjectEditor *editor);
191 void gl_object_editor_set_font_weight (glObjectEditor *editor,
192 GnomeFontWeight font_weight);
194 GnomeFontWeight gl_object_editor_get_font_weight (glObjectEditor *editor);
196 void gl_object_editor_set_font_italic_flag (glObjectEditor *editor,
197 gboolean font_italic_flag);
199 gboolean gl_object_editor_get_font_italic_flag (glObjectEditor *editor);
201 void gl_object_editor_set_text_alignment (glObjectEditor *editor,
202 GtkJustification text_alignment);
204 GtkJustification gl_object_editor_get_text_alignment (glObjectEditor *editor);
206 void gl_object_editor_set_text_line_spacing (glObjectEditor *editor,
207 gdouble text_line_spacing);
209 gdouble gl_object_editor_get_text_line_spacing (glObjectEditor *editor);
211 void gl_object_editor_set_text_color (glObjectEditor *editor,
213 glColorNode *text_color_node);
215 glColorNode* gl_object_editor_get_text_color (glObjectEditor *editor);
217 void gl_object_editor_set_text_auto_shrink (glObjectEditor *editor,
218 gboolean auto_shrink);
220 gboolean gl_object_editor_get_text_auto_shrink (glObjectEditor *editor);
226 void gl_object_editor_set_text_buffer (glObjectEditor *editor,
227 GtkTextBuffer *buffer);
232 void gl_object_editor_set_bc_style (glObjectEditor *editor,
235 gboolean checksum_flag,
236 guint format_digits);
238 void gl_object_editor_get_bc_style (glObjectEditor *editor,
241 gboolean *checksum_flag,
242 guint *format_digits);
244 void gl_object_editor_set_bc_color (glObjectEditor *editor,
246 glColorNode *color_node);
248 glColorNode* gl_object_editor_get_bc_color (glObjectEditor *editor);
254 void gl_object_editor_set_data (glObjectEditor *editor,
256 glTextNode *text_node);
258 glTextNode *gl_object_editor_get_data (glObjectEditor *editor);