]> git.sur5r.net Git - glabels/blob - glabels2/src/object-editor-private.h
2003-12-30 Wayne Schuller <k_wayne@linuxpower.org>
[glabels] / glabels2 / src / object-editor-private.h
1 /*
2  *  (GLABELS) Label and Business Card Creation program for GNOME
3  *
4  *  object-editor-private.h:  object properties editor module private header file
5  *
6  *  Copyright (C) 2003  Jim Evins <evins@snaught.com>.
7  *
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.
12  *
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.
17  *
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
21  */
22 #ifndef __OBJECT_EDITOR_PRIVATE_H__
23 #define __OBJECT_EDITOR_PRIVATE_H__
24
25 #include <gtk/gtk.h>
26 #include <glade/glade-xml.h>
27
28 G_BEGIN_DECLS
29
30 struct _glObjectEditorPrivate {
31
32         GladeXML   *gui;
33         GtkWidget  *editor_vbox;
34
35         gdouble     units_per_point;
36
37         GtkWidget  *title_image;
38         GtkWidget  *title_label;
39         GtkWidget  *notebook;
40
41         GtkWidget  *pos_page_vbox;
42         GtkWidget  *pos_x_spin;
43         GtkWidget  *pos_y_spin;
44         GtkWidget  *pos_x_units_label;
45         GtkWidget  *pos_y_units_label;
46         gdouble     x;
47         gdouble     y;
48         gdouble     x_max;
49         gdouble     y_max;
50
51         GtkWidget  *size_page_vbox;
52         GtkWidget  *size_w_spin;
53         GtkWidget  *size_h_spin;
54         GtkWidget  *size_w_units_label;
55         GtkWidget  *size_h_units_label;
56         GtkWidget  *size_aspect_checkbutton;
57         GtkWidget  *size_reset_image_button;
58         gdouble     size_aspect_ratio;
59         gdouble     w;
60         gdouble     h;
61         gdouble     w_max;
62         gdouble     h_max;
63         gdouble     w_base;
64         gdouble     h_base;
65
66         GtkWidget  *lsize_page_vbox;
67         GtkWidget  *lsize_r_spin;
68         GtkWidget  *lsize_theta_spin;
69         GtkWidget  *lsize_r_units_label;
70         gdouble     dx;
71         gdouble     dy;
72         gdouble     dx_max;
73         gdouble     dy_max;
74
75         GtkWidget  *fill_page_vbox;
76         GtkWidget  *fill_color_combo;
77
78         GtkWidget  *line_page_vbox;
79         GtkWidget  *line_width_spin;
80         GtkWidget  *line_color_combo;
81
82         GtkWidget  *img_page_vbox;
83         GtkWidget  *img_file_radio;
84         GtkWidget  *img_key_radio;
85         GtkWidget  *img_pixmap_entry;
86         GtkWidget  *img_key_combo;
87         GtkWidget  *img_key_entry;
88
89         GtkWidget  *text_page_vbox;
90         GtkWidget  *text_family_entry;
91         GtkWidget  *text_family_combo;
92         GtkWidget  *text_size_spin;
93         GtkWidget  *text_bold_toggle;
94         GtkWidget  *text_italic_toggle;
95         GtkWidget  *text_color_combo;
96         GtkWidget  *text_left_toggle;
97         GtkWidget  *text_center_toggle;
98         GtkWidget  *text_right_toggle;
99         GtkWidget  *text_line_spacing_spin;
100
101         GtkWidget  *edit_page_vbox;
102         GtkWidget  *edit_text_view;
103         GtkWidget  *edit_key_label;
104         GtkWidget  *edit_key_entry;
105         GtkWidget  *edit_key_combo;
106         GtkWidget  *edit_insert_field_button;
107
108         GtkWidget  *bc_page_vbox;
109         GtkWidget  *bc_style_entry;
110         GtkWidget  *bc_style_combo;
111         GtkWidget  *bc_text_check;
112         GtkWidget  *bc_cs_check;
113         GtkWidget  *bc_color_combo;
114
115         GtkWidget  *data_page_vbox;
116         GtkWidget  *data_literal_radio;
117         GtkWidget  *data_key_radio;
118         GtkWidget  *data_text_entry;
119         GtkWidget  *data_key_entry;
120         GtkWidget  *data_key_combo;
121
122 };
123
124 enum {
125         CHANGED,
126         LAST_SIGNAL
127 };
128
129 extern gint gl_object_editor_signals[LAST_SIGNAL];
130
131
132
133 void gl_object_editor_prepare_position_page     (glObjectEditor        *editor);
134
135 void gl_object_editor_prepare_size_page         (glObjectEditor        *editor,
136                                                  glObjectEditorOption   option);
137
138 void gl_object_editor_prepare_lsize_page        (glObjectEditor        *editor);
139
140 void gl_object_editor_prepare_fill_page         (glObjectEditor        *editor);
141
142 void gl_object_editor_prepare_line_page         (glObjectEditor        *editor);
143
144 void gl_object_editor_prepare_image_page        (glObjectEditor        *editor);
145
146 void gl_object_editor_prepare_text_page         (glObjectEditor        *editor);
147
148 void gl_object_editor_prepare_edit_page         (glObjectEditor        *editor);
149
150 void gl_object_editor_prepare_bc_page           (glObjectEditor        *editor);
151
152 void gl_object_editor_prepare_data_page         (glObjectEditor        *editor);
153
154
155 void gl_object_editor_changed_cb                (glObjectEditor        *editor);
156
157 void lsize_prefs_changed_cb                     (glObjectEditor        *editor);
158 void size_prefs_changed_cb                      (glObjectEditor        *editor);
159 void position_prefs_changed_cb                  (glObjectEditor        *editor);
160
161 G_END_DECLS
162
163 #endif