Mercurial > cropper
comparison interface.c @ 14:da18f2d4f92f
removed all buttons and stuff from the window; cleaned up
author | meillo@marmaro.de |
---|---|
date | Thu, 04 Mar 2010 18:31:28 +0100 |
parents | 13bc21684b8a |
children | 7dbf3879939a |
comparison
equal
deleted
inserted
replaced
13:13bc21684b8a | 14:da18f2d4f92f |
---|---|
22 GtkWidget* | 22 GtkWidget* |
23 create_cropper_window(void) | 23 create_cropper_window(void) |
24 { | 24 { |
25 GtkWidget *cropper_window; | 25 GtkWidget *cropper_window; |
26 GtkWidget *dialog_vbox1; | 26 GtkWidget *dialog_vbox1; |
27 GtkWidget *hbox1; | 27 GtkWidget *status; |
28 GtkWidget *vbox1; | |
29 GtkWidget *vbox2; | |
30 GtkWidget *label1; | 28 GtkWidget *label1; |
31 GtkWidget *hbox2; | |
32 GtkWidget *label2; | 29 GtkWidget *label2; |
33 GtkWidget *table2; | |
34 GtkWidget *label3; | |
35 GtkWidget *label5; | |
36 GtkWidget *label4; | |
37 GtkWidget *label6; | |
38 GtkWidget *hbox5; | |
39 GtkObject *crop_x_spinbutton_adj; | |
40 GtkWidget *crop_x_spinbutton; | |
41 GtkWidget *hbox6; | |
42 GtkObject *crop_y_spinbutton_adj; | |
43 GtkWidget *crop_y_spinbutton; | |
44 GtkWidget *hbox7; | |
45 GtkObject *crop_width_spinbutton_adj; | |
46 GtkWidget *crop_width_spinbutton; | |
47 GtkWidget *hbox8; | |
48 GtkObject *crop_height_spinbutton_adj; | |
49 GtkWidget *crop_height_spinbutton; | |
50 GtkWidget *vbox4; | |
51 GtkWidget *label7; | |
52 GtkWidget *hbox3; | |
53 GtkWidget *label8; | |
54 GtkWidget *table3; | |
55 GtkWidget *hbox10; | |
56 GtkWidget *custom_ratio_box; | |
57 GtkObject *ratio_w_spinbutton_adj; | |
58 GtkWidget *ratio_w_spinbutton; | |
59 GtkWidget *ratio_swap_button; | |
60 GtkWidget *eventbox1; | |
61 GtkWidget *ratio_swap_image; | |
62 GtkObject *ratio_h_spinbutton_adj; | |
63 GtkWidget *ratio_h_spinbutton; | |
64 GtkWidget *ratio_optionmenu; | |
65 GtkWidget *menu1; | |
66 GtkWidget *ratio_none; | |
67 GtkWidget *ratio_square; | |
68 GtkWidget *ratio_4x3; | |
69 GtkWidget *ratio_3x2; | |
70 GtkWidget *ratio_custom; | |
71 GtkWidget *vbox5; | |
72 GtkWidget *frame1; | |
73 GtkWidget *vbox7; | |
74 GtkWidget *nav_container; | |
75 GtkWidget *hbox16; | |
76 GtkWidget *hbox17; | |
77 GtkWidget *crop_zoom_in_button; | |
78 GtkWidget *image2; | |
79 GtkWidget *crop_zoom_out_button; | |
80 GtkWidget *image4; | |
81 GtkWidget *crop_zoom_100_button; | |
82 GtkWidget *image3; | |
83 GtkWidget *crop_zoom_fit_button; | |
84 GtkWidget *image1; | |
85 GtkWidget *dialog_action_area1; | |
86 GtkWidget *crop_okbutton; | |
87 GtkWidget *alignment1; | |
88 GtkWidget *hbox11; | |
89 GtkWidget *crop_image; | |
90 GtkWidget *label12; | |
91 | 30 |
92 | 31 |
93 cropper_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 32 cropper_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
94 gtk_widget_set_name(cropper_window, "cropper_window"); | 33 gtk_widget_set_name(cropper_window, "cropper_window"); |
95 gtk_container_set_border_width(GTK_CONTAINER(cropper_window), 6); | 34 gtk_container_set_border_width(GTK_CONTAINER(cropper_window), 6); |
96 gtk_window_set_title(GTK_WINDOW(cropper_window), "Cropper"); | 35 gtk_window_set_title(GTK_WINDOW(cropper_window), "cropper-0.2"); |
97 | 36 |
98 dialog_vbox1 = gtk_vbox_new(FALSE, 6); | 37 dialog_vbox1 = gtk_vbox_new(FALSE, 6); |
99 gtk_widget_set_name(dialog_vbox1, "dialog_vbox1"); | 38 gtk_widget_set_name(dialog_vbox1, "dialog_vbox1"); |
100 gtk_widget_show(dialog_vbox1); | 39 gtk_widget_show(dialog_vbox1); |
101 gtk_container_add(GTK_CONTAINER(cropper_window), dialog_vbox1); | 40 gtk_container_add(GTK_CONTAINER(cropper_window), dialog_vbox1); |
102 | 41 |
103 hbox1 = gtk_hbox_new(FALSE, 12); | 42 |
104 gtk_widget_set_name(hbox1, "hbox1"); | 43 status = gtk_hbox_new(FALSE, 0); |
105 gtk_widget_show(hbox1); | 44 gtk_widget_set_name(status, "status"); |
106 gtk_box_pack_start(GTK_BOX(dialog_vbox1), hbox1, TRUE, TRUE, 0); | 45 gtk_widget_show(status); |
46 gtk_box_pack_end(GTK_BOX(dialog_vbox1), status, FALSE, FALSE, 0); | |
47 | |
48 label1 = gtk_label_new("zoom:"); | |
49 gtk_widget_set_name(label1, "label1"); | |
50 gtk_widget_show(label1); | |
51 gtk_box_pack_start(GTK_BOX(status), label1, FALSE, FALSE, 0); | |
52 | |
53 label2 = gtk_label_new("1.0"); | |
54 gtk_widget_set_name(label2, "label2"); | |
55 gtk_widget_show(label2); | |
56 gtk_box_pack_start(GTK_BOX(status), label2, FALSE, FALSE, 0); | |
57 | |
58 /* image_area */ | |
59 image_buffer = gdk_pixbuf_new_from_file(image_filename, NULL); | |
60 image_area = gtk_image_new_from_pixbuf(image_buffer); | |
61 | |
62 gtk_widget_set_name(image_area, "image_area"); | |
63 gtk_widget_show(image_area); | |
64 gtk_box_pack_start(GTK_BOX(dialog_vbox1), image_area, TRUE, TRUE, 0); | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 g_signal_connect(G_OBJECT(cropper_window), "show", | |
71 G_CALLBACK(on_cropper_window_create), NULL); | |
72 | |
73 g_signal_connect(G_OBJECT(cropper_window), "destroy", | |
74 G_CALLBACK(on_cropper_window_destroy), NULL); | |
75 | |
76 g_signal_connect(cropper_window, "key-press-event", | |
77 G_CALLBACK(on_key_press), NULL); | |
78 | |
79 | |
80 /* Store pointers to all widgets, for use by lookup_widget(). */ | |
81 | |
82 GLADE_HOOKUP_OBJECT_NO_REF(cropper_window, cropper_window, "cropper_window"); | |
83 GLADE_HOOKUP_OBJECT(cropper_window, dialog_vbox1, "dialog_vbox1"); | |
84 | |
85 GLADE_HOOKUP_OBJECT(cropper_window, label1, "label1"); | |
86 GLADE_HOOKUP_OBJECT(cropper_window, label2, "label2"); | |
87 GLADE_HOOKUP_OBJECT(cropper_window, status, "status"); | |
88 GLADE_HOOKUP_OBJECT(cropper_window, image_area, "image_area"); | |
89 GLADE_HOOKUP_OBJECT(cropper_window,(GtkWidget*) image_buffer, "image_buffer"); | |
90 | |
91 | |
92 return cropper_window; | |
93 } | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 /* | |
107 gtk_container_set_border_width(GTK_CONTAINER(hbox1), 5); | 104 gtk_container_set_border_width(GTK_CONTAINER(hbox1), 5); |
108 | 105 |
109 vbox1 = gtk_vbox_new(FALSE, 12); | |
110 gtk_widget_set_name(vbox1, "vbox1"); | |
111 gtk_widget_show(vbox1); | |
112 gtk_box_pack_start(GTK_BOX(hbox1), vbox1, FALSE, TRUE, 0); | |
113 | |
114 vbox2 = gtk_vbox_new(FALSE, 6); | |
115 gtk_widget_set_name(vbox2, "vbox2"); | |
116 gtk_widget_show(vbox2); | |
117 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, FALSE, TRUE, 0); | |
118 | |
119 label1 = gtk_label_new("<b>Selection</b>"); | 106 label1 = gtk_label_new("<b>Selection</b>"); |
120 gtk_widget_set_name(label1, "label1"); | |
121 gtk_widget_show(label1); | |
122 gtk_box_pack_start(GTK_BOX(vbox2), label1, FALSE, FALSE, 0); | |
123 gtk_label_set_use_markup(GTK_LABEL(label1), TRUE); | 107 gtk_label_set_use_markup(GTK_LABEL(label1), TRUE); |
124 gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5); | 108 gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5); |
125 | 109 |
126 hbox2 = gtk_hbox_new(FALSE, 0); | |
127 gtk_widget_set_name(hbox2, "hbox2"); | |
128 gtk_widget_show(hbox2); | |
129 gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, TRUE, 0); | |
130 | |
131 label2 = gtk_label_new(" "); | |
132 gtk_widget_set_name(label2, "label2"); | |
133 gtk_widget_show(label2); | |
134 gtk_box_pack_start(GTK_BOX(hbox2), label2, FALSE, FALSE, 0); | |
135 | |
136 table2 = gtk_table_new(4, 2, FALSE); | |
137 gtk_widget_set_name(table2, "table2"); | |
138 gtk_widget_show(table2); | |
139 gtk_box_pack_start(GTK_BOX(hbox2), table2, TRUE, TRUE, 0); | |
140 gtk_table_set_row_spacings(GTK_TABLE(table2), 6); | 110 gtk_table_set_row_spacings(GTK_TABLE(table2), 6); |
141 gtk_table_set_col_spacings(GTK_TABLE(table2), 6); | 111 gtk_table_set_col_spacings(GTK_TABLE(table2), 6); |
142 | 112 |
143 label3 = gtk_label_new_with_mnemonic("_X:"); | |
144 gtk_widget_set_name(label3, "label3"); | |
145 gtk_widget_show(label3); | |
146 gtk_table_attach(GTK_TABLE(table2), label3, 0, 1, 0, 1,(GtkAttachOptions)(GTK_FILL), | 113 gtk_table_attach(GTK_TABLE(table2), label3, 0, 1, 0, 1,(GtkAttachOptions)(GTK_FILL), |
147 (GtkAttachOptions)(0), 0, 0); | 114 (GtkAttachOptions)(0), 0, 0); |
148 gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5); | 115 gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5); |
149 | |
150 label5 = gtk_label_new_with_mnemonic("_Y:"); | |
151 gtk_widget_set_name(label5, "label5"); | |
152 gtk_widget_show(label5); | |
153 gtk_table_attach(GTK_TABLE(table2), label5, 0, 1, 1, 2, | |
154 (GtkAttachOptions)(GTK_FILL), | |
155 (GtkAttachOptions)(0), 0, 0); | |
156 gtk_misc_set_alignment(GTK_MISC(label5), 0, 0.5); | |
157 | |
158 label4 = gtk_label_new_with_mnemonic("_Width:"); | |
159 gtk_widget_set_name(label4, "label4"); | |
160 gtk_widget_show(label4); | |
161 gtk_table_attach(GTK_TABLE(table2), label4, 0, 1, 2, 3, | |
162 (GtkAttachOptions)(GTK_FILL), | |
163 (GtkAttachOptions)(0), 0, 0); | |
164 gtk_misc_set_alignment(GTK_MISC(label4), 0, 0.5); | |
165 | |
166 label6 = gtk_label_new_with_mnemonic("_Height:"); | |
167 gtk_widget_set_name(label6, "label6"); | |
168 gtk_widget_show(label6); | |
169 gtk_table_attach(GTK_TABLE(table2), label6, 0, 1, 3, 4, | |
170 (GtkAttachOptions)(GTK_FILL), | |
171 (GtkAttachOptions)(0), 0, 0); | |
172 gtk_misc_set_alignment(GTK_MISC(label6), 0, 0.5); | |
173 | |
174 hbox5 = gtk_hbox_new(FALSE, 0); | |
175 gtk_widget_set_name(hbox5, "hbox5"); | |
176 gtk_widget_show(hbox5); | |
177 gtk_table_attach(GTK_TABLE(table2), hbox5, 1, 2, 0, 1, | |
178 (GtkAttachOptions)(GTK_FILL), | |
179 (GtkAttachOptions)(GTK_FILL), 0, 0); | |
180 | |
181 crop_x_spinbutton_adj = gtk_adjustment_new(1, 0, 300, 1, 10, 1); | |
182 crop_x_spinbutton = gtk_spin_button_new(GTK_ADJUSTMENT(crop_x_spinbutton_adj), 1, 0); | |
183 gtk_widget_set_name(crop_x_spinbutton, "crop_x_spinbutton"); | |
184 gtk_widget_show(crop_x_spinbutton); | |
185 gtk_box_pack_start(GTK_BOX(hbox5), crop_x_spinbutton, FALSE, TRUE, 0); | |
186 | |
187 hbox6 = gtk_hbox_new(FALSE, 0); | |
188 gtk_widget_set_name(hbox6, "hbox6"); | |
189 gtk_widget_show(hbox6); | |
190 gtk_table_attach(GTK_TABLE(table2), hbox6, 1, 2, 1, 2, | |
191 (GtkAttachOptions)(GTK_FILL), | |
192 (GtkAttachOptions)(GTK_FILL), 0, 0); | |
193 | |
194 crop_y_spinbutton_adj = gtk_adjustment_new(1, 0, 300, 1, 10, 1); | |
195 crop_y_spinbutton = gtk_spin_button_new(GTK_ADJUSTMENT(crop_y_spinbutton_adj), 1, 0); | |
196 gtk_widget_set_name(crop_y_spinbutton, "crop_y_spinbutton"); | |
197 gtk_widget_show(crop_y_spinbutton); | |
198 gtk_box_pack_start(GTK_BOX(hbox6), crop_y_spinbutton, FALSE, TRUE, 0); | |
199 | |
200 hbox7 = gtk_hbox_new(FALSE, 0); | |
201 gtk_widget_set_name(hbox7, "hbox7"); | |
202 gtk_widget_show(hbox7); | |
203 gtk_table_attach(GTK_TABLE(table2), hbox7, 1, 2, 2, 3, | |
204 (GtkAttachOptions)(GTK_FILL), | |
205 (GtkAttachOptions)(GTK_FILL), 0, 0); | |
206 | |
207 crop_width_spinbutton_adj = gtk_adjustment_new(1, 0, 300, 1, 10, 1); | |
208 crop_width_spinbutton = gtk_spin_button_new(GTK_ADJUSTMENT(crop_width_spinbutton_adj), 1, 0); | |
209 gtk_widget_set_name(crop_width_spinbutton, "crop_width_spinbutton"); | |
210 gtk_widget_show(crop_width_spinbutton); | |
211 gtk_box_pack_start(GTK_BOX(hbox7), crop_width_spinbutton, FALSE, FALSE, 0); | |
212 | |
213 hbox8 = gtk_hbox_new(FALSE, 0); | |
214 gtk_widget_set_name(hbox8, "hbox8"); | |
215 gtk_widget_show(hbox8); | |
216 gtk_table_attach(GTK_TABLE(table2), hbox8, 1, 2, 3, 4, | |
217 (GtkAttachOptions)(GTK_FILL), | |
218 (GtkAttachOptions)(GTK_FILL), 0, 0); | |
219 | |
220 crop_height_spinbutton_adj = gtk_adjustment_new(1, 0, 300, 1, 10, 1); | |
221 crop_height_spinbutton = gtk_spin_button_new(GTK_ADJUSTMENT(crop_height_spinbutton_adj), 1, 0); | |
222 gtk_widget_set_name(crop_height_spinbutton, "crop_height_spinbutton"); | |
223 gtk_widget_show(crop_height_spinbutton); | |
224 gtk_box_pack_start(GTK_BOX(hbox8), crop_height_spinbutton, FALSE, FALSE, 0); | |
225 | |
226 vbox4 = gtk_vbox_new(FALSE, 6); | |
227 gtk_widget_set_name(vbox4, "vbox4"); | |
228 gtk_widget_show(vbox4); | |
229 gtk_box_pack_start(GTK_BOX(vbox1), vbox4, FALSE, TRUE, 0); | |
230 | |
231 label7 = gtk_label_new("<b>Aspect ratio</b>"); | |
232 gtk_widget_set_name(label7, "label7"); | |
233 gtk_widget_show(label7); | |
234 gtk_box_pack_start(GTK_BOX(vbox4), label7, FALSE, FALSE, 0); | |
235 gtk_label_set_use_markup(GTK_LABEL(label7), TRUE); | |
236 gtk_misc_set_alignment(GTK_MISC(label7), 0, 0.5); | |
237 | |
238 hbox3 = gtk_hbox_new(FALSE, 0); | |
239 gtk_widget_set_name(hbox3, "hbox3"); | |
240 gtk_widget_show(hbox3); | |
241 gtk_box_pack_start(GTK_BOX(vbox4), hbox3, FALSE, FALSE, 0); | |
242 | |
243 label8 = gtk_label_new(" "); | |
244 gtk_widget_set_name(label8, "label8"); | |
245 gtk_widget_show(label8); | |
246 gtk_box_pack_start(GTK_BOX(hbox3), label8, FALSE, FALSE, 0); | |
247 | |
248 table3 = gtk_table_new(2, 2, FALSE); | |
249 gtk_widget_set_name(table3, "table3"); | |
250 gtk_widget_show(table3); | |
251 gtk_box_pack_start(GTK_BOX(hbox3), table3, TRUE, TRUE, 0); | |
252 gtk_table_set_row_spacings(GTK_TABLE(table3), 6); | |
253 gtk_table_set_col_spacings(GTK_TABLE(table3), 6); | |
254 | |
255 hbox10 = gtk_hbox_new(FALSE, 6); | |
256 gtk_widget_set_name(hbox10, "hbox10"); | |
257 gtk_widget_show(hbox10); | |
258 gtk_table_attach(GTK_TABLE(table3), hbox10, 0, 2, 1, 2, | |
259 (GtkAttachOptions)(GTK_FILL), | |
260 (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0); | |
261 | |
262 custom_ratio_box = gtk_hbox_new(FALSE, 6); | |
263 gtk_widget_set_name(custom_ratio_box, "custom_ratio_box"); | |
264 gtk_widget_show(custom_ratio_box); | |
265 gtk_box_pack_start(GTK_BOX(hbox10), custom_ratio_box, TRUE, TRUE, 0); | |
266 | |
267 ratio_w_spinbutton_adj = gtk_adjustment_new(1, 1, 9999, 1, 10, 10); | |
268 ratio_w_spinbutton = gtk_spin_button_new(GTK_ADJUSTMENT(ratio_w_spinbutton_adj), 1, 0); | |
269 gtk_widget_set_name(ratio_w_spinbutton, "ratio_w_spinbutton"); | |
270 gtk_widget_show(ratio_w_spinbutton); | |
271 gtk_box_pack_start(GTK_BOX(custom_ratio_box), ratio_w_spinbutton, FALSE, TRUE, 0); | |
272 | |
273 ratio_swap_button = gtk_button_new(); | |
274 gtk_widget_set_name(ratio_swap_button, "ratio_swap_button"); | |
275 gtk_widget_show(ratio_swap_button); | |
276 gtk_box_pack_start(GTK_BOX(custom_ratio_box), ratio_swap_button, FALSE, FALSE, 0); | |
277 gtk_button_set_relief(GTK_BUTTON(ratio_swap_button), GTK_RELIEF_NONE); | |
278 | |
279 eventbox1 = gtk_event_box_new(); | |
280 gtk_widget_set_name(eventbox1, "eventbox1"); | |
281 gtk_widget_show(eventbox1); | |
282 gtk_container_add(GTK_CONTAINER(ratio_swap_button), eventbox1); | |
283 | |
284 ratio_swap_image = gtk_image_new_from_stock("gtk-refresh", GTK_ICON_SIZE_BUTTON); | |
285 gtk_widget_set_name(ratio_swap_image, "ratio_swap_image"); | |
286 gtk_widget_show(ratio_swap_image); | |
287 gtk_container_add(GTK_CONTAINER(eventbox1), ratio_swap_image); | |
288 | |
289 ratio_h_spinbutton_adj = gtk_adjustment_new(1, 1, 9999, 1, 10, 10); | |
290 ratio_h_spinbutton = gtk_spin_button_new(GTK_ADJUSTMENT(ratio_h_spinbutton_adj), 1, 0); | |
291 gtk_widget_set_name(ratio_h_spinbutton, "ratio_h_spinbutton"); | |
292 gtk_widget_show(ratio_h_spinbutton); | |
293 gtk_box_pack_start(GTK_BOX(custom_ratio_box), ratio_h_spinbutton, FALSE, TRUE, 0); | |
294 gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(ratio_h_spinbutton), GTK_UPDATE_IF_VALID); | |
295 | |
296 ratio_optionmenu = gtk_option_menu_new(); | |
297 gtk_widget_set_name(ratio_optionmenu, "ratio_optionmenu"); | |
298 gtk_widget_show(ratio_optionmenu); | |
299 gtk_table_attach(GTK_TABLE(table3), ratio_optionmenu, 0, 2, 0, 1, | |
300 (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); | |
301 | |
302 menu1 = gtk_menu_new(); | |
303 gtk_widget_set_name(menu1, "menu1"); | |
304 | |
305 ratio_none = gtk_menu_item_new_with_mnemonic("None"); | |
306 gtk_widget_set_name(ratio_none, "ratio_none"); | |
307 gtk_widget_show(ratio_none); | |
308 gtk_container_add(GTK_CONTAINER(menu1), ratio_none); | |
309 | |
310 ratio_square = gtk_menu_item_new_with_mnemonic("Square"); | |
311 gtk_widget_set_name(ratio_square, "ratio_square"); | |
312 gtk_widget_show(ratio_square); | |
313 gtk_container_add(GTK_CONTAINER(menu1), ratio_square); | |
314 | |
315 ratio_4x3 = gtk_menu_item_new_with_mnemonic("4 x 3(Book, DVD)"); | |
316 gtk_widget_set_name(ratio_4x3, "ratio_4x3"); | |
317 gtk_widget_show(ratio_4x3); | |
318 gtk_container_add(GTK_CONTAINER(menu1), ratio_4x3); | |
319 | |
320 ratio_3x2 = gtk_menu_item_new_with_mnemonic("4 x 6(Postcard)"); | |
321 gtk_widget_set_name(ratio_3x2, "ratio_3x2"); | |
322 gtk_widget_show(ratio_3x2); | |
323 gtk_container_add(GTK_CONTAINER(menu1), ratio_3x2); | |
324 | |
325 ratio_custom = gtk_menu_item_new_with_mnemonic("Custom"); | |
326 gtk_widget_set_name(ratio_custom, "ratio_custom"); | |
327 gtk_widget_show(ratio_custom); | |
328 gtk_container_add(GTK_CONTAINER(menu1), ratio_custom); | |
329 | |
330 gtk_option_menu_set_menu(GTK_OPTION_MENU(ratio_optionmenu), menu1); | |
331 | |
332 vbox5 = gtk_vbox_new(FALSE, 0); | |
333 gtk_widget_set_name(vbox5, "vbox5"); | |
334 gtk_widget_show(vbox5); | |
335 gtk_box_pack_start(GTK_BOX(hbox1), vbox5, TRUE, TRUE, 0); | |
336 | 116 |
337 frame1 = gtk_frame_new(NULL); | 117 frame1 = gtk_frame_new(NULL); |
338 gtk_widget_set_name(frame1, "frame1"); | 118 gtk_widget_set_name(frame1, "frame1"); |
339 gtk_widget_show(frame1); | 119 gtk_widget_show(frame1); |
340 gtk_box_pack_start(GTK_BOX(vbox5), frame1, TRUE, TRUE, 0); | 120 gtk_box_pack_start(GTK_BOX(vbox5), frame1, TRUE, TRUE, 0); |
343 vbox7 = gtk_vbox_new(FALSE, 6); | 123 vbox7 = gtk_vbox_new(FALSE, 6); |
344 gtk_widget_set_name(vbox7, "vbox7"); | 124 gtk_widget_set_name(vbox7, "vbox7"); |
345 gtk_widget_show(vbox7); | 125 gtk_widget_show(vbox7); |
346 gtk_container_add(GTK_CONTAINER(frame1), vbox7); | 126 gtk_container_add(GTK_CONTAINER(frame1), vbox7); |
347 | 127 |
348 nav_container = gtk_hbox_new(FALSE, 0); | 128 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_x_spinbutton")), "value_changed", |
349 gtk_widget_set_name(nav_container, "nav_container"); | 129 G_CALLBACK(selection_x_value_changed_cb), data); |
350 gtk_widget_show(nav_container); | 130 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_image")), "selection_changed", |
351 gtk_box_pack_start(GTK_BOX(vbox7), nav_container, TRUE, TRUE, 0); | 131 G_CALLBACK(selection_changed_cb), data); |
352 | 132 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "ratio_swap_button")), "clicked", |
353 /* image_area */ | 133 G_CALLBACK(ratio_swap_button_cb), NULL); |
354 image_buffer = gdk_pixbuf_new_from_file(image_filename, NULL); | 134 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "ratio_optionmenu")), "changed", |
355 image_area = gtk_image_new_from_pixbuf(image_buffer); | 135 G_CALLBACK(ratio_optionmenu_changed_cb), NULL); |
356 | |
357 gtk_widget_set_name(image_area, "image_area"); | |
358 gtk_widget_show(image_area); | |
359 gtk_box_pack_start(GTK_BOX(nav_container), image_area, TRUE, TRUE, 0); | |
360 | |
361 hbox16 = gtk_hbox_new(FALSE, 6); | |
362 gtk_widget_set_name(hbox16, "hbox16"); | |
363 gtk_widget_show(hbox16); | |
364 gtk_box_pack_start(GTK_BOX(vbox7), hbox16, FALSE, TRUE, 0); | |
365 | |
366 hbox17 = gtk_hbox_new(FALSE, 0); | |
367 gtk_widget_set_name(hbox17, "hbox17"); | |
368 gtk_widget_show(hbox17); | |
369 gtk_box_pack_end(GTK_BOX(hbox16), hbox17, FALSE, TRUE, 0); | |
370 | |
371 crop_zoom_in_button = gtk_button_new(); | |
372 gtk_widget_set_name(crop_zoom_in_button, "crop_zoom_in_button"); | |
373 gtk_widget_show(crop_zoom_in_button); | |
374 gtk_box_pack_start(GTK_BOX(hbox17), crop_zoom_in_button, FALSE, FALSE, 0); | |
375 gtk_button_set_relief(GTK_BUTTON(crop_zoom_in_button), GTK_RELIEF_NONE); | |
376 | |
377 image2 = gtk_image_new_from_stock("gtk-zoom-in", GTK_ICON_SIZE_BUTTON); | |
378 gtk_widget_set_name(image2, "image2"); | |
379 gtk_widget_show(image2); | |
380 gtk_container_add(GTK_CONTAINER(crop_zoom_in_button), image2); | |
381 | |
382 crop_zoom_out_button = gtk_button_new(); | |
383 gtk_widget_set_name(crop_zoom_out_button, "crop_zoom_out_button"); | |
384 gtk_widget_show(crop_zoom_out_button); | |
385 gtk_box_pack_start(GTK_BOX(hbox17), crop_zoom_out_button, FALSE, FALSE, 0); | |
386 gtk_button_set_relief(GTK_BUTTON(crop_zoom_out_button), GTK_RELIEF_NONE); | |
387 | |
388 image4 = gtk_image_new_from_stock("gtk-zoom-out", GTK_ICON_SIZE_BUTTON); | |
389 gtk_widget_set_name(image4, "image4"); | |
390 gtk_widget_show(image4); | |
391 gtk_container_add(GTK_CONTAINER(crop_zoom_out_button), image4); | |
392 | |
393 crop_zoom_100_button = gtk_button_new(); | |
394 gtk_widget_set_name(crop_zoom_100_button, "crop_zoom_100_button"); | |
395 gtk_widget_show(crop_zoom_100_button); | |
396 gtk_box_pack_start(GTK_BOX(hbox17), crop_zoom_100_button, FALSE, FALSE, 0); | |
397 gtk_button_set_relief(GTK_BUTTON(crop_zoom_100_button), GTK_RELIEF_NONE); | |
398 | |
399 image3 = gtk_image_new_from_stock("gtk-zoom-100", GTK_ICON_SIZE_BUTTON); | |
400 gtk_widget_set_name(image3, "image3"); | |
401 gtk_widget_show(image3); | |
402 gtk_container_add(GTK_CONTAINER(crop_zoom_100_button), image3); | |
403 | |
404 crop_zoom_fit_button = gtk_button_new(); | |
405 gtk_widget_set_name(crop_zoom_fit_button, "crop_zoom_fit_button"); | |
406 gtk_widget_show(crop_zoom_fit_button); | |
407 gtk_box_pack_start(GTK_BOX(hbox17), crop_zoom_fit_button, FALSE, FALSE, 0); | |
408 gtk_button_set_relief(GTK_BUTTON(crop_zoom_fit_button), GTK_RELIEF_NONE); | |
409 | |
410 image1 = gtk_image_new_from_stock("gtk-zoom-fit", GTK_ICON_SIZE_BUTTON); | |
411 gtk_widget_set_name(image1, "image1"); | |
412 gtk_widget_show(image1); | |
413 gtk_container_add(GTK_CONTAINER(crop_zoom_fit_button), image1); | |
414 | |
415 | |
416 | |
417 /* | |
418 okay_box = gtk_hbox_new(FALSE, 0); | |
419 gtk_widget_set_name(okay_box, "okay_box"); | |
420 gtk_widget_show(okay_box); | |
421 gtk_box_pack_end(GTK_BOX(hbox16), okay_box, FALSE, TRUE, 0); | |
422 */ | |
423 | |
424 crop_okbutton = gtk_button_new(); | |
425 gtk_widget_set_name(crop_okbutton, "crop_okbutton"); | |
426 gtk_widget_show(crop_okbutton); | |
427 gtk_box_pack_end(GTK_BOX(dialog_vbox1), crop_okbutton, FALSE, FALSE, 0); | |
428 GTK_WIDGET_SET_FLAGS(crop_okbutton, GTK_CAN_DEFAULT); | |
429 | |
430 alignment1 = gtk_alignment_new(0.5, 0.5, 0, 0); | |
431 gtk_widget_set_name(alignment1, "alignment1"); | |
432 gtk_widget_show(alignment1); | |
433 gtk_container_add(GTK_CONTAINER(crop_okbutton), alignment1); | |
434 | |
435 hbox11 = gtk_hbox_new(FALSE, 2); | |
436 gtk_widget_set_name(hbox11, "hbox11"); | |
437 gtk_widget_show(hbox11); | |
438 gtk_container_add(GTK_CONTAINER(alignment1), hbox11); | |
439 | |
440 crop_image = gtk_image_new_from_stock("gtk-ok", GTK_ICON_SIZE_BUTTON); | |
441 gtk_widget_set_name(crop_image, "crop_image"); | |
442 gtk_widget_show(crop_image); | |
443 gtk_box_pack_start(GTK_BOX(hbox11), crop_image, FALSE, FALSE, 0); | |
444 | |
445 label12 = gtk_label_new_with_mnemonic("_Crop"); | |
446 gtk_widget_set_name(label12, "label12"); | |
447 gtk_widget_show(label12); | |
448 gtk_box_pack_start(GTK_BOX(hbox11), label12, FALSE, FALSE, 0); | |
449 | |
450 | |
451 | |
452 | |
453 | |
454 g_signal_connect(G_OBJECT(cropper_window), "show", | |
455 G_CALLBACK(on_cropper_window_create), NULL); | |
456 /* destroy */ | |
457 g_signal_connect(G_OBJECT(cropper_window), "destroy", | |
458 G_CALLBACK(on_cropper_window_destroy), NULL); | |
459 | |
460 | |
461 /* crop */ | |
462 g_signal_connect(G_OBJECT(crop_okbutton), "clicked", | |
463 G_CALLBACK(on_crop_clicked), NULL); | |
464 | |
465 | |
466 /* zoom */ | |
467 g_signal_connect(G_OBJECT(crop_zoom_in_button), "clicked", | |
468 G_CALLBACK(on_zoom_in_button_clicked), NULL); | |
469 g_signal_connect(G_OBJECT(crop_zoom_out_button), "clicked", | |
470 G_CALLBACK(on_zoom_out_button_clicked), NULL); | |
471 g_signal_connect(G_OBJECT(crop_zoom_100_button), "clicked", | |
472 G_CALLBACK(on_zoom_100_button_clicked), NULL); | |
473 g_signal_connect(G_OBJECT(crop_zoom_fit_button), "clicked", | |
474 G_CALLBACK(on_zoom_fit_button_clicked), NULL); | |
475 | |
476 | |
477 /* aspect ratio */ | |
478 /* | |
479 g_signal_connect(G_OBJECT(ratio_w_spinbutton), "value_changed", | |
480 G_CALLBACK(on_ratio_w_spinbutton_value_changed), NULL); | |
481 g_signal_connect(G_OBJECT(ratio_swap_button), "clicked", | |
482 G_CALLBACK(on_ratio_swap_button_clicked), NULL); | |
483 g_signal_connect(G_OBJECT(ratio_h_spinbutton), "value_changed", | |
484 G_CALLBACK(on_ratio_h_spinbutton_value_changed), NULL); | |
485 | |
486 g_signal_connect(G_OBJECT(ratio_none), "activate", | 136 g_signal_connect(G_OBJECT(ratio_none), "activate", |
487 G_CALLBACK(on_ratio_none_activate), NULL); | 137 G_CALLBACK(on_ratio_none_activate), NULL); |
488 g_signal_connect(G_OBJECT(ratio_square), "activate", | |
489 G_CALLBACK(on_ratio_square_activate), NULL); | |
490 g_signal_connect(G_OBJECT(ratio_4x3), "activate", | |
491 G_CALLBACK(on_ratio_4x3_activate), NULL); | |
492 g_signal_connect(G_OBJECT(ratio_3x2), "activate", | |
493 G_CALLBACK(on_ratio_3x2_activate), NULL); | |
494 g_signal_connect(G_OBJECT(ratio_custom), "activate", | |
495 G_CALLBACK(on_ratio_custom_activate), NULL); | |
496 | |
497 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "ratio_optionmenu")), "changed", | |
498 G_CALLBACK(ratio_optionmenu_changed_cb), NULL); | |
499 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "ratio_w_spinbutton")), "value_changed", | |
500 G_CALLBACK(ratio_value_changed_cb), NULL); | |
501 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "ratio_h_spinbutton")), "value_changed", | |
502 G_CALLBACK(ratio_value_changed_cb), NULL); | |
503 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "ratio_swap_button")), "clicked", | |
504 G_CALLBACK(ratio_swap_button_cb), NULL); | |
505 */ | 138 */ |
506 | |
507 | |
508 /* selection */ | |
509 /* | |
510 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_x_spinbutton")), "value_changed", | |
511 G_CALLBACK(selection_x_value_changed_cb), data); | |
512 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_y_spinbutton")), "value_changed", | |
513 G_CALLBACK(selection_y_value_changed_cb), data); | |
514 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_width_spinbutton")), "value_changed", | |
515 G_CALLBACK(selection_width_value_changed_cb), data); | |
516 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_height_spinbutton")), "value_changed", | |
517 G_CALLBACK(selection_height_value_changed_cb), data); | |
518 g_signal_connect(G_OBJECT(lookup_widget(cropper_window, "crop_image")), "selection_changed", | |
519 G_CALLBACK(selection_changed_cb), data); | |
520 */ | |
521 | |
522 | |
523 | |
524 | |
525 | |
526 | |
527 | |
528 | |
529 g_signal_connect(cropper_window, "key-press-event", G_CALLBACK(on_key_press), NULL); | |
530 | |
531 | |
532 | |
533 | |
534 | |
535 | |
536 | |
537 | |
538 | |
539 /* Store pointers to all widgets, for use by lookup_widget(). */ | |
540 GLADE_HOOKUP_OBJECT_NO_REF(cropper_window, cropper_window, "cropper_window"); | |
541 GLADE_HOOKUP_OBJECT(cropper_window, dialog_vbox1, "dialog_vbox1"); | |
542 GLADE_HOOKUP_OBJECT(cropper_window, hbox1, "hbox1"); | |
543 GLADE_HOOKUP_OBJECT(cropper_window, vbox1, "vbox1"); | |
544 GLADE_HOOKUP_OBJECT(cropper_window, vbox2, "vbox2"); | |
545 GLADE_HOOKUP_OBJECT(cropper_window, label1, "label1"); | |
546 GLADE_HOOKUP_OBJECT(cropper_window, hbox2, "hbox2"); | |
547 GLADE_HOOKUP_OBJECT(cropper_window, label2, "label2"); | |
548 GLADE_HOOKUP_OBJECT(cropper_window, table2, "table2"); | |
549 GLADE_HOOKUP_OBJECT(cropper_window, label3, "label3"); | |
550 GLADE_HOOKUP_OBJECT(cropper_window, label5, "label5"); | |
551 GLADE_HOOKUP_OBJECT(cropper_window, label4, "label4"); | |
552 GLADE_HOOKUP_OBJECT(cropper_window, label6, "label6"); | |
553 GLADE_HOOKUP_OBJECT(cropper_window, hbox5, "hbox5"); | |
554 GLADE_HOOKUP_OBJECT(cropper_window, crop_x_spinbutton, "crop_x_spinbutton"); | |
555 GLADE_HOOKUP_OBJECT(cropper_window, hbox6, "hbox6"); | |
556 GLADE_HOOKUP_OBJECT(cropper_window, crop_y_spinbutton, "crop_y_spinbutton"); | |
557 GLADE_HOOKUP_OBJECT(cropper_window, hbox7, "hbox7"); | |
558 GLADE_HOOKUP_OBJECT(cropper_window, crop_width_spinbutton, "crop_width_spinbutton"); | |
559 GLADE_HOOKUP_OBJECT(cropper_window, hbox8, "hbox8"); | |
560 GLADE_HOOKUP_OBJECT(cropper_window, crop_height_spinbutton, "crop_height_spinbutton"); | |
561 GLADE_HOOKUP_OBJECT(cropper_window, vbox4, "vbox4"); | |
562 GLADE_HOOKUP_OBJECT(cropper_window, label7, "label7"); | |
563 GLADE_HOOKUP_OBJECT(cropper_window, hbox3, "hbox3"); | |
564 GLADE_HOOKUP_OBJECT(cropper_window, label8, "label8"); | |
565 GLADE_HOOKUP_OBJECT(cropper_window, table3, "table3"); | |
566 GLADE_HOOKUP_OBJECT(cropper_window, hbox10, "hbox10"); | |
567 GLADE_HOOKUP_OBJECT(cropper_window, custom_ratio_box, "custom_ratio_box"); | |
568 GLADE_HOOKUP_OBJECT(cropper_window, ratio_w_spinbutton, "ratio_w_spinbutton"); | |
569 GLADE_HOOKUP_OBJECT(cropper_window, ratio_swap_button, "ratio_swap_button"); | |
570 GLADE_HOOKUP_OBJECT(cropper_window, eventbox1, "eventbox1"); | |
571 GLADE_HOOKUP_OBJECT(cropper_window, ratio_swap_image, "ratio_swap_image"); | |
572 GLADE_HOOKUP_OBJECT(cropper_window, ratio_h_spinbutton, "ratio_h_spinbutton"); | |
573 GLADE_HOOKUP_OBJECT(cropper_window, ratio_optionmenu, "ratio_optionmenu"); | |
574 GLADE_HOOKUP_OBJECT(cropper_window, menu1, "menu1"); | |
575 GLADE_HOOKUP_OBJECT(cropper_window, ratio_none, "ratio_none"); | |
576 GLADE_HOOKUP_OBJECT(cropper_window, ratio_square, "ratio_square"); | |
577 GLADE_HOOKUP_OBJECT(cropper_window, ratio_4x3, "ratio_4x3"); | |
578 GLADE_HOOKUP_OBJECT(cropper_window, ratio_3x2, "ratio_3x2"); | |
579 GLADE_HOOKUP_OBJECT(cropper_window, ratio_custom, "ratio_custom"); | |
580 GLADE_HOOKUP_OBJECT(cropper_window, vbox5, "vbox5"); | |
581 GLADE_HOOKUP_OBJECT(cropper_window, frame1, "frame1"); | |
582 GLADE_HOOKUP_OBJECT(cropper_window, vbox7, "vbox7"); | |
583 GLADE_HOOKUP_OBJECT(cropper_window, nav_container, "nav_container"); | |
584 GLADE_HOOKUP_OBJECT(cropper_window, image_area, "image_area"); | |
585 GLADE_HOOKUP_OBJECT(cropper_window,(GtkWidget*) image_buffer, "image_buffer"); | |
586 GLADE_HOOKUP_OBJECT(cropper_window, hbox16, "hbox16"); | |
587 GLADE_HOOKUP_OBJECT(cropper_window, hbox17, "hbox17"); | |
588 GLADE_HOOKUP_OBJECT(cropper_window, crop_zoom_in_button, "crop_zoom_in_button"); | |
589 GLADE_HOOKUP_OBJECT(cropper_window, image2, "image2"); | |
590 GLADE_HOOKUP_OBJECT(cropper_window, crop_zoom_out_button, "crop_zoom_out_button"); | |
591 GLADE_HOOKUP_OBJECT(cropper_window, image4, "image4"); | |
592 GLADE_HOOKUP_OBJECT(cropper_window, crop_zoom_100_button, "crop_zoom_100_button"); | |
593 GLADE_HOOKUP_OBJECT(cropper_window, image3, "image3"); | |
594 GLADE_HOOKUP_OBJECT(cropper_window, crop_zoom_fit_button, "crop_zoom_fit_button"); | |
595 GLADE_HOOKUP_OBJECT(cropper_window, image1, "image1"); | |
596 /*GLADE_HOOKUP_OBJECT_NO_REF(cropper_window, dialog_action_area1, "dialog_action_area1"); */ | |
597 GLADE_HOOKUP_OBJECT(cropper_window, crop_okbutton, "crop_okbutton"); | |
598 GLADE_HOOKUP_OBJECT(cropper_window, alignment1, "alignment1"); | |
599 GLADE_HOOKUP_OBJECT(cropper_window, hbox11, "hbox11"); | |
600 GLADE_HOOKUP_OBJECT(cropper_window, crop_image, "crop_image"); | |
601 GLADE_HOOKUP_OBJECT(cropper_window, label12, "label12"); | |
602 | |
603 | |
604 return cropper_window; | |
605 } | |
606 |