2 * object-editor-private.h
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_PRIVATE_H__
22 #define __OBJECT_EDITOR_PRIVATE_H__
25 #include "label-barcode.h"
29 struct _glObjectEditorPrivate {
32 GtkWidget *editor_vbox;
35 glLabelObject *object;
37 gdouble units_per_point;
39 GtkWidget *title_image;
40 GtkWidget *title_label;
43 GtkWidget *pos_page_vbox;
44 GtkWidget *pos_x_spin;
45 GtkWidget *pos_y_spin;
46 GtkWidget *pos_x_units_label;
47 GtkWidget *pos_y_units_label;
53 GtkWidget *size_page_vbox;
54 GtkWidget *size_w_spin;
55 GtkWidget *size_h_spin;
56 GtkWidget *size_w_units_label;
57 GtkWidget *size_h_units_label;
58 GtkWidget *size_aspect_vbox;
59 GtkWidget *size_aspect_checkbutton;
60 GtkWidget *size_reset_image_button;
61 gdouble size_aspect_ratio;
69 GtkWidget *lsize_page_vbox;
70 GtkWidget *lsize_r_spin;
71 GtkWidget *lsize_theta_spin;
72 GtkWidget *lsize_r_units_label;
78 GtkWidget *fill_page_vbox;
79 GtkWidget *fill_color_hbox;
80 GtkWidget *fill_color_combo;
81 GtkWidget *fill_key_hbox;
82 GtkWidget *fill_key_combo;
83 GtkWidget *fill_key_radio;
84 GtkWidget *fill_color_radio;
86 GtkWidget *line_page_vbox;
87 GtkWidget *line_width_spin;
88 GtkWidget *line_color_radio;
89 GtkWidget *line_color_hbox;
90 GtkWidget *line_color_combo;
91 GtkWidget *line_key_radio;
92 GtkWidget *line_key_hbox;
93 GtkWidget *line_key_combo;
95 GtkWidget *img_page_vbox;
96 GtkWidget *img_file_radio;
97 GtkWidget *img_key_radio;
98 GtkWidget *img_file_button;
99 GtkWidget *img_key_hbox;
100 GtkWidget *img_key_combo;
102 GtkWidget *text_page_vbox;
103 GtkWidget *text_family_hbox;
104 GtkWidget *text_family_combo;
105 GtkWidget *text_size_spin;
106 GtkWidget *text_bold_toggle;
107 GtkWidget *text_italic_toggle;
108 GtkWidget *text_color_radio;
109 GtkWidget *text_color_hbox;
110 GtkWidget *text_color_combo;
111 GtkWidget *text_color_key_radio;
112 GtkWidget *text_color_key_hbox;
113 GtkWidget *text_color_key_combo;
114 GtkWidget *text_left_toggle;
115 GtkWidget *text_center_toggle;
116 GtkWidget *text_right_toggle;
117 GtkWidget *text_top_toggle;
118 GtkWidget *text_vcenter_toggle;
119 GtkWidget *text_bottom_toggle;
120 GtkWidget *text_line_spacing_spin;
121 GtkWidget *text_auto_shrink_check;
123 GtkWidget *edit_page_vbox;
124 GtkWidget *edit_text_view;
125 GtkWidget *edit_insert_field_vbox;
126 GtkWidget *edit_insert_field_button;
128 GtkWidget *bc_page_vbox;
129 GtkWidget *bc_backend_combo_hbox;
130 GtkWidget *bc_backend_combo;
131 GtkWidget *bc_style_combo_hbox;
132 GtkWidget *bc_style_combo;
133 GtkWidget *bc_text_check;
134 GtkWidget *bc_cs_check;
135 GtkWidget *bc_color_radio;
136 GtkWidget *bc_color_hbox;
137 GtkWidget *bc_color_combo;
138 GtkWidget *bc_key_radio;
139 GtkWidget *bc_key_hbox;
140 GtkWidget *bc_key_combo;
141 gchar *current_backend_id;
143 GtkWidget *data_page_vbox;
144 GtkWidget *data_literal_radio;
145 GtkWidget *data_key_radio;
146 GtkWidget *data_text_entry;
147 GtkWidget *data_key_hbox;
148 GtkWidget *data_key_combo;
149 GtkWidget *data_format_label;
150 GtkWidget *data_ex_label;
151 GtkWidget *data_digits_label;
152 GtkWidget *data_digits_spin;
153 gboolean data_format_fixed_flag;
155 GtkWidget *shadow_page_vbox;
156 GtkWidget *shadow_enable_check;
157 GtkWidget *shadow_controls_table;
158 GtkWidget *shadow_x_spin;
159 GtkWidget *shadow_y_spin;
160 GtkWidget *shadow_x_units_label;
161 GtkWidget *shadow_y_units_label;
162 GtkWidget *shadow_color_radio;
163 GtkWidget *shadow_key_radio;
164 GtkWidget *shadow_color_hbox;
165 GtkWidget *shadow_color_combo;
166 GtkWidget *shadow_key_hbox;
167 GtkWidget *shadow_key_combo;
168 GtkWidget *shadow_opacity_spin;
171 gdouble shadow_x_max;
172 gdouble shadow_y_max;
182 extern gint gl_object_editor_signals[LAST_SIGNAL];
186 void gl_object_editor_prepare_position_page (glObjectEditor *editor);
188 void gl_object_editor_prepare_size_page (glObjectEditor *editor);
190 void gl_object_editor_prepare_lsize_page (glObjectEditor *editor);
192 void gl_object_editor_prepare_fill_page (glObjectEditor *editor);
194 void gl_object_editor_prepare_line_page (glObjectEditor *editor);
196 void gl_object_editor_prepare_image_page (glObjectEditor *editor);
198 void gl_object_editor_prepare_text_page (glObjectEditor *editor);
200 void gl_object_editor_prepare_edit_page (glObjectEditor *editor);
202 void gl_object_editor_prepare_bc_page (glObjectEditor *editor);
204 void gl_object_editor_prepare_data_page (glObjectEditor *editor);
206 void gl_object_editor_prepare_shadow_page (glObjectEditor *editor);
209 void gl_object_editor_changed_cb (glObjectEditor *editor);
210 void gl_object_editor_size_changed_cb (glObjectEditor *editor);
212 void lsize_prefs_changed_cb (glObjectEditor *editor);
213 void size_prefs_changed_cb (glObjectEditor *editor);
214 void position_prefs_changed_cb (glObjectEditor *editor);
215 void shadow_prefs_changed_cb (glObjectEditor *editor);
221 void gl_object_editor_set_position (glObjectEditor *editor,
225 void gl_object_editor_set_max_position (glObjectEditor *editor,
229 void gl_object_editor_get_position (glObjectEditor *editor,
236 void gl_object_editor_set_size (glObjectEditor *editor,
240 void gl_object_editor_set_max_size (glObjectEditor *editor,
244 void gl_object_editor_set_base_size (glObjectEditor *editor,
248 void gl_object_editor_get_size (glObjectEditor *editor,
256 void gl_object_editor_set_lsize (glObjectEditor *editor,
260 void gl_object_editor_set_max_lsize (glObjectEditor *editor,
264 void gl_object_editor_get_lsize (glObjectEditor *editor,
272 void gl_object_editor_set_fill_color (glObjectEditor *editor,
274 glColorNode *color_node);
276 glColorNode* gl_object_editor_get_fill_color (glObjectEditor *editor);
282 void gl_object_editor_set_line_color (glObjectEditor *editor,
284 glColorNode *color_node);
286 glColorNode* gl_object_editor_get_line_color (glObjectEditor *editor);
288 void gl_object_editor_set_line_width (glObjectEditor *editor,
291 gdouble gl_object_editor_get_line_width (glObjectEditor *editor);
297 void gl_object_editor_set_image (glObjectEditor *editor,
299 glTextNode *text_node);
301 glTextNode *gl_object_editor_get_image (glObjectEditor *editor);
307 void gl_object_editor_set_font_family (glObjectEditor *editor,
308 const gchar *font_family);
310 gchar *gl_object_editor_get_font_family (glObjectEditor *editor);
312 void gl_object_editor_set_font_size (glObjectEditor *editor,
315 gdouble gl_object_editor_get_font_size (glObjectEditor *editor);
317 void gl_object_editor_set_font_weight (glObjectEditor *editor,
318 PangoWeight font_weight);
320 PangoWeight gl_object_editor_get_font_weight (glObjectEditor *editor);
322 void gl_object_editor_set_font_italic_flag (glObjectEditor *editor,
323 gboolean font_italic_flag);
325 gboolean gl_object_editor_get_font_italic_flag (glObjectEditor *editor);
327 void gl_object_editor_set_text_alignment (glObjectEditor *editor,
328 PangoAlignment text_alignment);
330 PangoAlignment gl_object_editor_get_text_alignment (glObjectEditor *editor);
332 void gl_object_editor_set_text_valignment (glObjectEditor *editor,
333 glValignment text_valignment);
335 glValignment gl_object_editor_get_text_valignment (glObjectEditor *editor);
337 void gl_object_editor_set_text_line_spacing (glObjectEditor *editor,
338 gdouble text_line_spacing);
340 gdouble gl_object_editor_get_text_line_spacing (glObjectEditor *editor);
342 void gl_object_editor_set_text_color (glObjectEditor *editor,
344 glColorNode *text_color_node);
346 glColorNode* gl_object_editor_get_text_color (glObjectEditor *editor);
348 void gl_object_editor_set_text_auto_shrink (glObjectEditor *editor,
349 gboolean auto_shrink);
351 gboolean gl_object_editor_get_text_auto_shrink (glObjectEditor *editor);
357 void gl_object_editor_set_text_buffer (glObjectEditor *editor,
358 GtkTextBuffer *buffer);
363 void gl_object_editor_load_bc_styles (glObjectEditor *editor,
364 const gchar *backend_id);
366 void gl_object_editor_set_bc_style (glObjectEditor *editor,
367 const glLabelBarcodeStyle *bc_style);
369 glLabelBarcodeStyle *gl_object_editor_get_bc_style (glObjectEditor *editor);
371 void gl_object_editor_set_bc_color (glObjectEditor *editor,
373 glColorNode *color_node);
375 glColorNode* gl_object_editor_get_bc_color (glObjectEditor *editor);
381 void gl_object_editor_set_data (glObjectEditor *editor,
383 glTextNode *text_node);
385 glTextNode *gl_object_editor_get_data (glObjectEditor *editor);
391 void gl_object_editor_set_shadow_state (glObjectEditor *editor,
394 void gl_object_editor_set_shadow_offset (glObjectEditor *editor,
398 void gl_object_editor_set_shadow_color (glObjectEditor *editor,
400 glColorNode *color_node);
402 void gl_object_editor_set_shadow_opacity (glObjectEditor *editor,
405 void gl_object_editor_set_max_shadow_offset(glObjectEditor *editor,
410 gboolean gl_object_editor_get_shadow_state (glObjectEditor *editor);
412 void gl_object_editor_get_shadow_offset (glObjectEditor *editor,
416 glColorNode* gl_object_editor_get_shadow_color (glObjectEditor *editor);
418 gdouble gl_object_editor_get_shadow_opacity (glObjectEditor *editor);
428 * Local Variables: -- emacs
430 * c-basic-offset: 8 -- emacs
431 * tab-width: 8 -- emacs
432 * indent-tabs-mode: nil -- emacs