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__
28 struct _glObjectEditorPrivate {
31 GtkWidget *editor_vbox;
35 gdouble units_per_point;
37 GtkWidget *title_image;
38 GtkWidget *title_label;
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;
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_vbox;
57 GtkWidget *size_aspect_checkbutton;
58 GtkWidget *size_reset_image_button;
59 gdouble size_aspect_ratio;
67 GtkWidget *lsize_page_vbox;
68 GtkWidget *lsize_r_spin;
69 GtkWidget *lsize_theta_spin;
70 GtkWidget *lsize_r_units_label;
76 GtkWidget *fill_page_vbox;
77 GtkWidget *fill_color_hbox;
78 GtkWidget *fill_color_combo;
79 GtkWidget *fill_key_combo;
80 GtkWidget *fill_key_radio;
81 GtkWidget *fill_color_radio;
83 GtkWidget *line_page_vbox;
84 GtkWidget *line_width_spin;
85 GtkWidget *line_color_radio;
86 GtkWidget *line_color_hbox;
87 GtkWidget *line_color_combo;
88 GtkWidget *line_key_radio;
89 GtkWidget *line_key_combo;
91 GtkWidget *img_page_vbox;
92 GtkWidget *img_file_radio;
93 GtkWidget *img_key_radio;
94 GtkWidget *img_file_button;
95 GtkWidget *img_key_combo;
97 GtkWidget *text_page_vbox;
98 GtkWidget *text_family_hbox;
99 GtkWidget *text_family_combo;
100 GtkWidget *text_size_spin;
101 GtkWidget *text_bold_toggle;
102 GtkWidget *text_italic_toggle;
103 GtkWidget *text_color_radio;
104 GtkWidget *text_color_hbox;
105 GtkWidget *text_color_combo;
106 GtkWidget *text_color_key_radio;
107 GtkWidget *text_color_key_combo;
108 GtkWidget *text_left_toggle;
109 GtkWidget *text_center_toggle;
110 GtkWidget *text_right_toggle;
111 GtkWidget *text_line_spacing_spin;
112 GtkWidget *text_auto_shrink_check;
114 GtkWidget *edit_page_vbox;
115 GtkWidget *edit_text_view;
116 GtkWidget *edit_insert_field_vbox;
117 GtkWidget *edit_insert_field_button;
119 GtkWidget *bc_page_vbox;
120 GtkWidget *bc_style_combo;
121 GtkWidget *bc_text_check;
122 GtkWidget *bc_cs_check;
123 GtkWidget *bc_color_radio;
124 GtkWidget *bc_color_hbox;
125 GtkWidget *bc_color_combo;
126 GtkWidget *bc_key_radio;
127 GtkWidget *bc_key_combo;
129 GtkWidget *data_page_vbox;
130 GtkWidget *data_literal_radio;
131 GtkWidget *data_key_radio;
132 GtkWidget *data_text_entry;
133 GtkWidget *data_key_combo;
134 GtkWidget *data_format_label;
135 GtkWidget *data_ex_label;
136 GtkWidget *data_digits_label;
137 GtkWidget *data_digits_spin;
138 gboolean data_format_fixed_flag;
140 GtkWidget *shadow_page_vbox;
141 GtkWidget *shadow_enable_check;
142 GtkWidget *shadow_controls_table;
143 GtkWidget *shadow_x_spin;
144 GtkWidget *shadow_y_spin;
145 GtkWidget *shadow_x_units_label;
146 GtkWidget *shadow_y_units_label;
147 GtkWidget *shadow_color_radio;
148 GtkWidget *shadow_key_radio;
149 GtkWidget *shadow_color_hbox;
150 GtkWidget *shadow_color_combo;
151 GtkWidget *shadow_key_combo;
152 GtkWidget *shadow_opacity_spin;
155 gdouble shadow_x_max;
156 gdouble shadow_y_max;
158 /* Prevent recursion */
159 gboolean stop_signals;
168 extern gint gl_object_editor_signals[LAST_SIGNAL];
172 void gl_object_editor_prepare_position_page (glObjectEditor *editor);
174 void gl_object_editor_prepare_size_page (glObjectEditor *editor,
175 glObjectEditorOption option);
177 void gl_object_editor_prepare_lsize_page (glObjectEditor *editor);
179 void gl_object_editor_prepare_fill_page (glObjectEditor *editor);
181 void gl_object_editor_prepare_line_page (glObjectEditor *editor);
183 void gl_object_editor_prepare_image_page (glObjectEditor *editor);
185 void gl_object_editor_prepare_text_page (glObjectEditor *editor);
187 void gl_object_editor_prepare_edit_page (glObjectEditor *editor);
189 void gl_object_editor_prepare_bc_page (glObjectEditor *editor);
191 void gl_object_editor_prepare_data_page (glObjectEditor *editor);
193 void gl_object_editor_prepare_shadow_page (glObjectEditor *editor);
196 void gl_object_editor_changed_cb (glObjectEditor *editor);
197 void gl_object_editor_size_changed_cb (glObjectEditor *editor);
199 void lsize_prefs_changed_cb (glObjectEditor *editor);
200 void size_prefs_changed_cb (glObjectEditor *editor);
201 void position_prefs_changed_cb (glObjectEditor *editor);
202 void shadow_prefs_changed_cb (glObjectEditor *editor);
211 * Local Variables: -- emacs
213 * c-basic-offset: 8 -- emacs
214 * tab-width: 8 -- emacs
215 * indent-tabs-mode: nil -- emacs