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_line_spacing_spin;
118 GtkWidget *text_auto_shrink_check;
120 GtkWidget *edit_page_vbox;
121 GtkWidget *edit_text_view;
122 GtkWidget *edit_insert_field_vbox;
123 GtkWidget *edit_insert_field_button;
125 GtkWidget *bc_page_vbox;
126 GtkWidget *bc_backend_combo_hbox;
127 GtkWidget *bc_backend_combo;
128 GtkWidget *bc_style_combo_hbox;
129 GtkWidget *bc_style_combo;
130 GtkWidget *bc_text_check;
131 GtkWidget *bc_cs_check;
132 GtkWidget *bc_color_radio;
133 GtkWidget *bc_color_hbox;
134 GtkWidget *bc_color_combo;
135 GtkWidget *bc_key_radio;
136 GtkWidget *bc_key_hbox;
137 GtkWidget *bc_key_combo;
138 gchar *current_backend_id;
140 GtkWidget *data_page_vbox;
141 GtkWidget *data_literal_radio;
142 GtkWidget *data_key_radio;
143 GtkWidget *data_text_entry;
144 GtkWidget *data_key_hbox;
145 GtkWidget *data_key_combo;
146 GtkWidget *data_format_label;
147 GtkWidget *data_ex_label;
148 GtkWidget *data_digits_label;
149 GtkWidget *data_digits_spin;
150 gboolean data_format_fixed_flag;
152 GtkWidget *shadow_page_vbox;
153 GtkWidget *shadow_enable_check;
154 GtkWidget *shadow_controls_table;
155 GtkWidget *shadow_x_spin;
156 GtkWidget *shadow_y_spin;
157 GtkWidget *shadow_x_units_label;
158 GtkWidget *shadow_y_units_label;
159 GtkWidget *shadow_color_radio;
160 GtkWidget *shadow_key_radio;
161 GtkWidget *shadow_color_hbox;
162 GtkWidget *shadow_color_combo;
163 GtkWidget *shadow_key_hbox;
164 GtkWidget *shadow_key_combo;
165 GtkWidget *shadow_opacity_spin;
168 gdouble shadow_x_max;
169 gdouble shadow_y_max;
179 extern gint gl_object_editor_signals[LAST_SIGNAL];
183 void gl_object_editor_prepare_position_page (glObjectEditor *editor);
185 void gl_object_editor_prepare_size_page (glObjectEditor *editor);
187 void gl_object_editor_prepare_lsize_page (glObjectEditor *editor);
189 void gl_object_editor_prepare_fill_page (glObjectEditor *editor);
191 void gl_object_editor_prepare_line_page (glObjectEditor *editor);
193 void gl_object_editor_prepare_image_page (glObjectEditor *editor);
195 void gl_object_editor_prepare_text_page (glObjectEditor *editor);
197 void gl_object_editor_prepare_edit_page (glObjectEditor *editor);
199 void gl_object_editor_prepare_bc_page (glObjectEditor *editor);
201 void gl_object_editor_prepare_data_page (glObjectEditor *editor);
203 void gl_object_editor_prepare_shadow_page (glObjectEditor *editor);
206 void gl_object_editor_changed_cb (glObjectEditor *editor);
207 void gl_object_editor_size_changed_cb (glObjectEditor *editor);
209 void lsize_prefs_changed_cb (glObjectEditor *editor);
210 void size_prefs_changed_cb (glObjectEditor *editor);
211 void position_prefs_changed_cb (glObjectEditor *editor);
212 void shadow_prefs_changed_cb (glObjectEditor *editor);
218 void gl_object_editor_set_position (glObjectEditor *editor,
222 void gl_object_editor_set_max_position (glObjectEditor *editor,
226 void gl_object_editor_get_position (glObjectEditor *editor,
233 void gl_object_editor_set_size (glObjectEditor *editor,
237 void gl_object_editor_set_max_size (glObjectEditor *editor,
241 void gl_object_editor_set_base_size (glObjectEditor *editor,
245 void gl_object_editor_get_size (glObjectEditor *editor,
253 void gl_object_editor_set_lsize (glObjectEditor *editor,
257 void gl_object_editor_set_max_lsize (glObjectEditor *editor,
261 void gl_object_editor_get_lsize (glObjectEditor *editor,
269 void gl_object_editor_set_fill_color (glObjectEditor *editor,
271 glColorNode *color_node);
273 glColorNode* gl_object_editor_get_fill_color (glObjectEditor *editor);
279 void gl_object_editor_set_line_color (glObjectEditor *editor,
281 glColorNode *color_node);
283 glColorNode* gl_object_editor_get_line_color (glObjectEditor *editor);
285 void gl_object_editor_set_line_width (glObjectEditor *editor,
288 gdouble gl_object_editor_get_line_width (glObjectEditor *editor);
294 void gl_object_editor_set_image (glObjectEditor *editor,
296 glTextNode *text_node);
298 glTextNode *gl_object_editor_get_image (glObjectEditor *editor);
304 void gl_object_editor_set_font_family (glObjectEditor *editor,
305 const gchar *font_family);
307 gchar *gl_object_editor_get_font_family (glObjectEditor *editor);
309 void gl_object_editor_set_font_size (glObjectEditor *editor,
312 gdouble gl_object_editor_get_font_size (glObjectEditor *editor);
314 void gl_object_editor_set_font_weight (glObjectEditor *editor,
315 PangoWeight font_weight);
317 PangoWeight gl_object_editor_get_font_weight (glObjectEditor *editor);
319 void gl_object_editor_set_font_italic_flag (glObjectEditor *editor,
320 gboolean font_italic_flag);
322 gboolean gl_object_editor_get_font_italic_flag (glObjectEditor *editor);
324 void gl_object_editor_set_text_alignment (glObjectEditor *editor,
325 PangoAlignment text_alignment);
327 PangoAlignment gl_object_editor_get_text_alignment (glObjectEditor *editor);
329 void gl_object_editor_set_text_line_spacing (glObjectEditor *editor,
330 gdouble text_line_spacing);
332 gdouble gl_object_editor_get_text_line_spacing (glObjectEditor *editor);
334 void gl_object_editor_set_text_color (glObjectEditor *editor,
336 glColorNode *text_color_node);
338 glColorNode* gl_object_editor_get_text_color (glObjectEditor *editor);
340 void gl_object_editor_set_text_auto_shrink (glObjectEditor *editor,
341 gboolean auto_shrink);
343 gboolean gl_object_editor_get_text_auto_shrink (glObjectEditor *editor);
349 void gl_object_editor_set_text_buffer (glObjectEditor *editor,
350 GtkTextBuffer *buffer);
355 void gl_object_editor_load_bc_styles (glObjectEditor *editor,
356 const gchar *backend_id);
358 void gl_object_editor_set_bc_style (glObjectEditor *editor,
359 const glLabelBarcodeStyle *bc_style);
361 glLabelBarcodeStyle *gl_object_editor_get_bc_style (glObjectEditor *editor);
363 void gl_object_editor_set_bc_color (glObjectEditor *editor,
365 glColorNode *color_node);
367 glColorNode* gl_object_editor_get_bc_color (glObjectEditor *editor);
373 void gl_object_editor_set_data (glObjectEditor *editor,
375 glTextNode *text_node);
377 glTextNode *gl_object_editor_get_data (glObjectEditor *editor);
383 void gl_object_editor_set_shadow_state (glObjectEditor *editor,
386 void gl_object_editor_set_shadow_offset (glObjectEditor *editor,
390 void gl_object_editor_set_shadow_color (glObjectEditor *editor,
392 glColorNode *color_node);
394 void gl_object_editor_set_shadow_opacity (glObjectEditor *editor,
397 void gl_object_editor_set_max_shadow_offset(glObjectEditor *editor,
402 gboolean gl_object_editor_get_shadow_state (glObjectEditor *editor);
404 void gl_object_editor_get_shadow_offset (glObjectEditor *editor,
408 glColorNode* gl_object_editor_get_shadow_color (glObjectEditor *editor);
410 gdouble gl_object_editor_get_shadow_opacity (glObjectEditor *editor);
420 * Local Variables: -- emacs
422 * c-basic-offset: 8 -- emacs
423 * tab-width: 8 -- emacs
424 * indent-tabs-mode: nil -- emacs