]> git.sur5r.net Git - glabels/blob - src/object-editor-private.h
Imported Upstream version 3.0.0
[glabels] / src / object-editor-private.h
1 /*
2  *  object-editor-private.h
3  *  Copyright (C) 2003-2009  Jim Evins <evins@snaught.com>.
4  *
5  *  This file is part of gLabels.
6  *
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.
11  *
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.
16  *
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/>.
19  */
20
21 #ifndef __OBJECT_EDITOR_PRIVATE_H__
22 #define __OBJECT_EDITOR_PRIVATE_H__
23
24 #include <gtk/gtk.h>
25 #include "label-barcode.h"
26
27 G_BEGIN_DECLS
28
29 struct _glObjectEditorPrivate {
30
31         GtkBuilder *builder;
32         GtkWidget  *editor_vbox;
33
34         glLabel        *label;
35         glLabelObject  *object;
36
37         gdouble     units_per_point;
38
39         GtkWidget  *title_image;
40         GtkWidget  *title_label;
41         GtkWidget  *notebook;
42
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;
48         gdouble     x;
49         gdouble     y;
50         gdouble     x_max;
51         gdouble     y_max;
52
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;
62         gdouble     w;
63         gdouble     h;
64         gdouble     w_max;
65         gdouble     h_max;
66         gdouble     w_base;
67         gdouble     h_base;
68
69         GtkWidget  *lsize_page_vbox;
70         GtkWidget  *lsize_r_spin;
71         GtkWidget  *lsize_theta_spin;
72         GtkWidget  *lsize_r_units_label;
73         gdouble     dx;
74         gdouble     dy;
75         gdouble     dx_max;
76         gdouble     dy_max;
77
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;
85
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;
94
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;
101
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;
119
120         GtkWidget  *edit_page_vbox;
121         GtkWidget  *edit_text_view;
122         GtkWidget  *edit_insert_field_vbox;
123         GtkWidget  *edit_insert_field_button;
124
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;
139
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;
151
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;
166         gdouble     shadow_x;
167         gdouble     shadow_y;
168         gdouble     shadow_x_max;
169         gdouble     shadow_y_max;
170
171 };
172
173 enum {
174         CHANGED,
175         SIZE_CHANGED,
176         LAST_SIGNAL
177 };
178
179 extern gint gl_object_editor_signals[LAST_SIGNAL];
180
181
182
183 void gl_object_editor_prepare_position_page     (glObjectEditor        *editor);
184
185 void gl_object_editor_prepare_size_page         (glObjectEditor        *editor);
186
187 void gl_object_editor_prepare_lsize_page        (glObjectEditor        *editor);
188
189 void gl_object_editor_prepare_fill_page         (glObjectEditor        *editor);
190
191 void gl_object_editor_prepare_line_page         (glObjectEditor        *editor);
192
193 void gl_object_editor_prepare_image_page        (glObjectEditor        *editor);
194
195 void gl_object_editor_prepare_text_page         (glObjectEditor        *editor);
196
197 void gl_object_editor_prepare_edit_page         (glObjectEditor        *editor);
198
199 void gl_object_editor_prepare_bc_page           (glObjectEditor        *editor);
200
201 void gl_object_editor_prepare_data_page         (glObjectEditor        *editor);
202
203 void gl_object_editor_prepare_shadow_page       (glObjectEditor        *editor);
204
205
206 void gl_object_editor_changed_cb                (glObjectEditor        *editor);
207 void gl_object_editor_size_changed_cb           (glObjectEditor        *editor);
208
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);
213
214
215 /*
216  * Position Page
217  */
218 void        gl_object_editor_set_position         (glObjectEditor      *editor,
219                                                    gdouble              x,
220                                                    gdouble              y);
221
222 void        gl_object_editor_set_max_position     (glObjectEditor      *editor,
223                                                    gdouble              x_max,
224                                                    gdouble              y_max);
225
226 void        gl_object_editor_get_position         (glObjectEditor      *editor,
227                                                    gdouble             *x,
228                                                    gdouble             *y);
229
230 /*
231  * Size Page
232  */
233 void        gl_object_editor_set_size             (glObjectEditor      *editor,
234                                                    gdouble              w,
235                                                    gdouble              h);
236
237 void        gl_object_editor_set_max_size         (glObjectEditor      *editor,
238                                                    gdouble              w_max,
239                                                    gdouble              h_max);
240
241 void        gl_object_editor_set_base_size        (glObjectEditor      *editor,
242                                                    gdouble              w_max,
243                                                    gdouble              h_max);
244
245 void        gl_object_editor_get_size             (glObjectEditor      *editor,
246                                                    gdouble             *w,
247                                                    gdouble             *h);
248
249
250 /*
251  * Line Size Page
252  */
253 void        gl_object_editor_set_lsize            (glObjectEditor      *editor,
254                                                    gdouble              dx,
255                                                    gdouble              dy);
256
257 void        gl_object_editor_set_max_lsize        (glObjectEditor      *editor,
258                                                    gdouble              dx_max,
259                                                    gdouble              dy_max);
260
261 void        gl_object_editor_get_lsize            (glObjectEditor      *editor,
262                                                    gdouble             *dx,
263                                                    gdouble             *dy);
264
265
266 /*
267  * Fill Page
268  */
269 void        gl_object_editor_set_fill_color       (glObjectEditor      *editor,
270                                                    gboolean             merge_flag,
271                                                    glColorNode         *color_node);
272
273 glColorNode* gl_object_editor_get_fill_color      (glObjectEditor      *editor);
274
275
276 /*
277  * Line/Outline Page
278  */
279 void        gl_object_editor_set_line_color       (glObjectEditor      *editor,
280                                                    gboolean             merge_flag,
281                                                    glColorNode         *color_node);
282
283 glColorNode* gl_object_editor_get_line_color      (glObjectEditor      *editor);
284
285 void        gl_object_editor_set_line_width       (glObjectEditor      *editor,
286                                                    gdouble              width);
287
288 gdouble     gl_object_editor_get_line_width       (glObjectEditor      *editor);
289
290
291 /*
292  * Image Page
293  */
294 void        gl_object_editor_set_image            (glObjectEditor      *editor,
295                                                    gboolean             merge_flag,
296                                                    glTextNode          *text_node);
297
298 glTextNode *gl_object_editor_get_image            (glObjectEditor      *editor);
299
300
301 /*
302  * Text Page
303  */
304 void        gl_object_editor_set_font_family      (glObjectEditor      *editor,
305                                                    const gchar         *font_family);
306
307 gchar      *gl_object_editor_get_font_family      (glObjectEditor      *editor);
308
309 void        gl_object_editor_set_font_size        (glObjectEditor      *editor,
310                                                    gdouble              font_size);
311
312 gdouble     gl_object_editor_get_font_size        (glObjectEditor      *editor);
313
314 void        gl_object_editor_set_font_weight      (glObjectEditor      *editor,
315                                                    PangoWeight          font_weight);
316
317 PangoWeight gl_object_editor_get_font_weight      (glObjectEditor      *editor);
318
319 void        gl_object_editor_set_font_italic_flag (glObjectEditor      *editor,
320                                                    gboolean             font_italic_flag);
321
322 gboolean    gl_object_editor_get_font_italic_flag (glObjectEditor      *editor);
323
324 void        gl_object_editor_set_text_alignment   (glObjectEditor      *editor,
325                                                    PangoAlignment       text_alignment);
326
327 PangoAlignment gl_object_editor_get_text_alignment (glObjectEditor      *editor);
328
329 void        gl_object_editor_set_text_line_spacing (glObjectEditor      *editor,
330                                                    gdouble               text_line_spacing);
331
332 gdouble     gl_object_editor_get_text_line_spacing (glObjectEditor      *editor);
333
334 void        gl_object_editor_set_text_color       (glObjectEditor       *editor,
335                                                    gboolean              merge_flag,
336                                                    glColorNode          *text_color_node);
337
338 glColorNode* gl_object_editor_get_text_color      (glObjectEditor      *editor);
339
340 void        gl_object_editor_set_text_auto_shrink (glObjectEditor      *editor,
341                                                    gboolean             auto_shrink);
342
343 gboolean    gl_object_editor_get_text_auto_shrink (glObjectEditor      *editor);
344
345
346 /*
347  * Edit Text Page
348  */
349 void        gl_object_editor_set_text_buffer      (glObjectEditor      *editor,
350                                                    GtkTextBuffer       *buffer);
351
352 /*
353  * Barcode Page
354  */
355 void        gl_object_editor_load_bc_styles        (glObjectEditor            *editor,
356                                                     const gchar               *backend_id);
357
358 void        gl_object_editor_set_bc_style          (glObjectEditor            *editor,
359                                                     const glLabelBarcodeStyle *bc_style);
360
361 glLabelBarcodeStyle *gl_object_editor_get_bc_style (glObjectEditor            *editor);
362
363 void        gl_object_editor_set_bc_color          (glObjectEditor            *editor,
364                                                     gboolean                   merge_flag,
365                                                     glColorNode               *color_node);
366
367 glColorNode* gl_object_editor_get_bc_color         (glObjectEditor            *editor);
368
369
370 /*
371  * Barcode Data Page
372  */
373 void        gl_object_editor_set_data             (glObjectEditor      *editor,
374                                                    gboolean             merge_flag,
375                                                    glTextNode          *text_node);
376
377 glTextNode *gl_object_editor_get_data             (glObjectEditor      *editor);
378
379
380 /*
381  * Shadow Page
382  */
383 void        gl_object_editor_set_shadow_state     (glObjectEditor      *editor,
384                                                    gboolean             state);
385
386 void        gl_object_editor_set_shadow_offset    (glObjectEditor      *editor,
387                                                    gdouble              x,
388                                                    gdouble              y);
389
390 void        gl_object_editor_set_shadow_color     (glObjectEditor      *editor,
391                                                    gboolean             merge_flag,
392                                                    glColorNode         *color_node);
393
394 void        gl_object_editor_set_shadow_opacity   (glObjectEditor      *editor,
395                                                    gdouble              alpha);
396
397 void        gl_object_editor_set_max_shadow_offset(glObjectEditor      *editor,
398                                                    gdouble              x_max,
399                                                    gdouble              y_max);
400
401
402 gboolean    gl_object_editor_get_shadow_state     (glObjectEditor      *editor);
403
404 void        gl_object_editor_get_shadow_offset    (glObjectEditor      *editor,
405                                                    gdouble             *x,
406                                                    gdouble             *y);
407
408 glColorNode* gl_object_editor_get_shadow_color    (glObjectEditor      *editor);
409
410 gdouble     gl_object_editor_get_shadow_opacity   (glObjectEditor      *editor);
411
412
413 G_END_DECLS
414
415 #endif
416
417
418
419 /*
420  * Local Variables:       -- emacs
421  * mode: C                -- emacs
422  * c-basic-offset: 8      -- emacs
423  * tab-width: 8           -- emacs
424  * indent-tabs-mode: nil  -- emacs
425  * End:                   -- emacs
426  */