1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
4 * (GLABELS) Label and Business Card Creation program for GNOME
6 * object-editor-private.h: object properties editor module private header file
8 * Copyright (C) 2003 Jim Evins <evins@snaught.com>.
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 #ifndef __OBJECT_EDITOR_PRIVATE_H__
25 #define __OBJECT_EDITOR_PRIVATE_H__
27 #include <gtk/gtkwidget.h>
28 #include <glade/glade-xml.h>
32 struct _glObjectEditorPrivate {
35 GtkWidget *editor_vbox;
39 gdouble units_per_point;
41 GtkWidget *title_image;
42 GtkWidget *title_label;
45 GtkWidget *pos_page_vbox;
46 GtkWidget *pos_x_spin;
47 GtkWidget *pos_y_spin;
48 GtkWidget *pos_x_units_label;
49 GtkWidget *pos_y_units_label;
55 GtkWidget *size_page_vbox;
56 GtkWidget *size_w_spin;
57 GtkWidget *size_h_spin;
58 GtkWidget *size_w_units_label;
59 GtkWidget *size_h_units_label;
60 GtkWidget *size_aspect_checkbutton;
61 GtkWidget *size_reset_image_button;
62 gdouble size_aspect_ratio;
70 GtkWidget *lsize_page_vbox;
71 GtkWidget *lsize_r_spin;
72 GtkWidget *lsize_theta_spin;
73 GtkWidget *lsize_r_units_label;
79 GtkWidget *fill_page_vbox;
80 GtkWidget *fill_color_combo;
81 GtkWidget *fill_key_combo;
82 GtkWidget *fill_key_radio;
83 GtkWidget *fill_color_radio;
85 GtkWidget *line_page_vbox;
86 GtkWidget *line_width_spin;
87 GtkWidget *line_color_radio;
88 GtkWidget *line_color_combo;
89 GtkWidget *line_key_radio;
90 GtkWidget *line_key_combo;
92 GtkWidget *img_page_vbox;
93 GtkWidget *img_file_radio;
94 GtkWidget *img_key_radio;
95 GtkWidget *img_file_button;
96 GtkWidget *img_key_combo;
98 GtkWidget *text_page_vbox;
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_combo;
105 GtkWidget *text_color_key_radio;
106 GtkWidget *text_color_key_combo;
107 GtkWidget *text_left_toggle;
108 GtkWidget *text_center_toggle;
109 GtkWidget *text_right_toggle;
110 GtkWidget *text_line_spacing_spin;
111 GtkWidget *text_auto_shrink_check;
113 GtkWidget *edit_page_vbox;
114 GtkWidget *edit_text_view;
115 GtkWidget *edit_key_label;
116 GtkWidget *edit_key_combo;
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_combo;
125 GtkWidget *bc_key_radio;
126 GtkWidget *bc_key_combo;
128 GtkWidget *data_page_vbox;
129 GtkWidget *data_literal_radio;
130 GtkWidget *data_key_radio;
131 GtkWidget *data_text_entry;
132 GtkWidget *data_key_combo;
133 GtkWidget *data_format_label;
134 GtkWidget *data_ex_label;
135 GtkWidget *data_digits_label;
136 GtkWidget *data_digits_spin;
137 gboolean data_format_fixed_flag;
139 GtkWidget *shadow_page_vbox;
140 GtkWidget *shadow_enable_check;
141 GtkWidget *shadow_controls_table;
142 GtkWidget *shadow_x_spin;
143 GtkWidget *shadow_y_spin;
144 GtkWidget *shadow_x_units_label;
145 GtkWidget *shadow_y_units_label;
146 GtkWidget *shadow_color_radio;
147 GtkWidget *shadow_key_radio;
148 GtkWidget *shadow_color_combo;
149 GtkWidget *shadow_key_combo;
150 GtkWidget *shadow_opacity_spin;
153 gdouble shadow_x_max;
154 gdouble shadow_y_max;
156 /* Prevent recursion */
157 gboolean stop_signals;
166 extern gint gl_object_editor_signals[LAST_SIGNAL];
170 void gl_object_editor_prepare_position_page (glObjectEditor *editor);
172 void gl_object_editor_prepare_size_page (glObjectEditor *editor,
173 glObjectEditorOption option);
175 void gl_object_editor_prepare_lsize_page (glObjectEditor *editor);
177 void gl_object_editor_prepare_fill_page (glObjectEditor *editor);
179 void gl_object_editor_prepare_line_page (glObjectEditor *editor);
181 void gl_object_editor_prepare_image_page (glObjectEditor *editor);
183 void gl_object_editor_prepare_text_page (glObjectEditor *editor);
185 void gl_object_editor_prepare_edit_page (glObjectEditor *editor);
187 void gl_object_editor_prepare_bc_page (glObjectEditor *editor);
189 void gl_object_editor_prepare_data_page (glObjectEditor *editor);
191 void gl_object_editor_prepare_shadow_page (glObjectEditor *editor);
194 void gl_object_editor_changed_cb (glObjectEditor *editor);
195 void gl_object_editor_size_changed_cb (glObjectEditor *editor);
197 void lsize_prefs_changed_cb (glObjectEditor *editor);
198 void size_prefs_changed_cb (glObjectEditor *editor);
199 void position_prefs_changed_cb (glObjectEditor *editor);
200 void shadow_prefs_changed_cb (glObjectEditor *editor);