cropper
view interface.c @ 3:6aaba3a61563
added ratio control code
author | meillo@marmaro.de |
---|---|
date | Wed, 05 Dec 2007 00:08:39 +0100 |
parents | 80535e4deaa4 |
children | 2f11ab3e6047 |
line source
1 #include <sys/types.h>
2 #include <sys/stat.h>
3 #include <unistd.h>
4 #include <string.h>
5 #include <stdio.h>
7 #include <gdk/gdkkeysyms.h>
8 #include <gtk/gtk.h>
10 #include "callbacks.h"
11 #include "interface.h"
12 #include "support.h"
14 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
15 g_object_set_data_full (G_OBJECT (component), name, \
16 gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
18 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
19 g_object_set_data (G_OBJECT (component), name, widget)
21 GtkWidget*
22 create_cropper_window (void)
23 {
24 GtkWidget *cropper_window;
25 GtkWidget *dialog_vbox1;
26 GtkWidget *hbox1;
27 GtkWidget *vbox1;
28 GtkWidget *vbox2;
29 GtkWidget *label1;
30 GtkWidget *hbox2;
31 GtkWidget *label2;
32 GtkWidget *table2;
33 GtkWidget *label3;
34 GtkWidget *label5;
35 GtkWidget *label4;
36 GtkWidget *label6;
37 GtkWidget *hbox5;
38 GtkObject *crop_x_spinbutton_adj;
39 GtkWidget *crop_x_spinbutton;
40 GtkWidget *hbox6;
41 GtkObject *crop_y_spinbutton_adj;
42 GtkWidget *crop_y_spinbutton;
43 GtkWidget *hbox7;
44 GtkObject *crop_width_spinbutton_adj;
45 GtkWidget *crop_width_spinbutton;
46 GtkWidget *hbox8;
47 GtkObject *crop_height_spinbutton_adj;
48 GtkWidget *crop_height_spinbutton;
49 GtkWidget *vbox4;
50 GtkWidget *label7;
51 GtkWidget *hbox3;
52 GtkWidget *label8;
53 GtkWidget *table3;
54 GtkWidget *hbox10;
55 GtkWidget *custom_ratio_box;
56 GtkObject *ratio_w_spinbutton_adj;
57 GtkWidget *ratio_w_spinbutton;
58 GtkWidget *ratio_swap_button;
59 GtkWidget *eventbox1;
60 GtkWidget *ratio_swap_image;
61 GtkObject *ratio_h_spinbutton_adj;
62 GtkWidget *ratio_h_spinbutton;
63 GtkWidget *ratio_optionmenu;
64 GtkWidget *menu1;
65 GtkWidget *ratio_none;
66 GtkWidget *ratio_square;
67 GtkWidget *ratio_4x3;
68 GtkWidget *ratio_3x2;
69 GtkWidget *ratio_custom;
70 GtkWidget *vbox5;
71 GtkWidget *frame1;
72 GtkWidget *vbox7;
73 GtkWidget *nav_container;
74 GtkWidget *hbox16;
75 GtkWidget *hbox17;
76 GtkWidget *crop_zoom_in_button;
77 GtkWidget *image2;
78 GtkWidget *crop_zoom_out_button;
79 GtkWidget *image4;
80 GtkWidget *crop_zoom_100_button;
81 GtkWidget *image3;
82 GtkWidget *crop_zoom_fit_button;
83 GtkWidget *image1;
85 cropper_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
86 gtk_widget_set_name (cropper_window, "cropper_window");
87 gtk_container_set_border_width (GTK_CONTAINER (cropper_window), 6);
88 gtk_window_set_title (GTK_WINDOW (cropper_window), "Cropper");
90 dialog_vbox1 = gtk_vbox_new (FALSE, 6);
91 gtk_widget_set_name (dialog_vbox1, "dialog_vbox1");
92 gtk_widget_show (dialog_vbox1);
93 gtk_container_add (GTK_CONTAINER (cropper_window), dialog_vbox1);
95 hbox1 = gtk_hbox_new (FALSE, 12);
96 gtk_widget_set_name (hbox1, "hbox1");
97 gtk_widget_show (hbox1);
98 gtk_box_pack_start (GTK_BOX (dialog_vbox1), hbox1, TRUE, TRUE, 0);
99 gtk_container_set_border_width (GTK_CONTAINER (hbox1), 5);
101 vbox1 = gtk_vbox_new (FALSE, 12);
102 gtk_widget_set_name (vbox1, "vbox1");
103 gtk_widget_show (vbox1);
104 gtk_box_pack_start (GTK_BOX (hbox1), vbox1, FALSE, TRUE, 0);
106 vbox2 = gtk_vbox_new (FALSE, 6);
107 gtk_widget_set_name (vbox2, "vbox2");
108 gtk_widget_show (vbox2);
109 gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, TRUE, 0);
111 label1 = gtk_label_new ("<b>Selection</b>");
112 gtk_widget_set_name (label1, "label1");
113 gtk_widget_show (label1);
114 gtk_box_pack_start (GTK_BOX (vbox2), label1, FALSE, FALSE, 0);
115 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE);
116 gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
118 hbox2 = gtk_hbox_new (FALSE, 0);
119 gtk_widget_set_name (hbox2, "hbox2");
120 gtk_widget_show (hbox2);
121 gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, TRUE, 0);
123 label2 = gtk_label_new (" ");
124 gtk_widget_set_name (label2, "label2");
125 gtk_widget_show (label2);
126 gtk_box_pack_start (GTK_BOX (hbox2), label2, FALSE, FALSE, 0);
128 table2 = gtk_table_new (4, 2, FALSE);
129 gtk_widget_set_name (table2, "table2");
130 gtk_widget_show (table2);
131 gtk_box_pack_start (GTK_BOX (hbox2), table2, TRUE, TRUE, 0);
132 gtk_table_set_row_spacings (GTK_TABLE (table2), 6);
133 gtk_table_set_col_spacings (GTK_TABLE (table2), 6);
135 label3 = gtk_label_new_with_mnemonic ("_X:");
136 gtk_widget_set_name (label3, "label3");
137 gtk_widget_show (label3);
138 gtk_table_attach (GTK_TABLE (table2), label3, 0, 1, 0, 1,
139 (GtkAttachOptions) (GTK_FILL),
140 (GtkAttachOptions) (0), 0, 0);
141 gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5);
143 label5 = gtk_label_new_with_mnemonic ("_Y:");
144 gtk_widget_set_name (label5, "label5");
145 gtk_widget_show (label5);
146 gtk_table_attach (GTK_TABLE (table2), label5, 0, 1, 1, 2,
147 (GtkAttachOptions) (GTK_FILL),
148 (GtkAttachOptions) (0), 0, 0);
149 gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
151 label4 = gtk_label_new_with_mnemonic ("_Width:");
152 gtk_widget_set_name (label4, "label4");
153 gtk_widget_show (label4);
154 gtk_table_attach (GTK_TABLE (table2), label4, 0, 1, 2, 3,
155 (GtkAttachOptions) (GTK_FILL),
156 (GtkAttachOptions) (0), 0, 0);
157 gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
159 label6 = gtk_label_new_with_mnemonic ("_Height:");
160 gtk_widget_set_name (label6, "label6");
161 gtk_widget_show (label6);
162 gtk_table_attach (GTK_TABLE (table2), label6, 0, 1, 3, 4,
163 (GtkAttachOptions) (GTK_FILL),
164 (GtkAttachOptions) (0), 0, 0);
165 gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
167 hbox5 = gtk_hbox_new (FALSE, 0);
168 gtk_widget_set_name (hbox5, "hbox5");
169 gtk_widget_show (hbox5);
170 gtk_table_attach (GTK_TABLE (table2), hbox5, 1, 2, 0, 1,
171 (GtkAttachOptions) (GTK_FILL),
172 (GtkAttachOptions) (GTK_FILL), 0, 0);
174 crop_x_spinbutton_adj = gtk_adjustment_new (1, 0, 300, 1, 10, 1);
175 crop_x_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (crop_x_spinbutton_adj), 1, 0);
176 gtk_widget_set_name (crop_x_spinbutton, "crop_x_spinbutton");
177 gtk_widget_show (crop_x_spinbutton);
178 gtk_box_pack_start (GTK_BOX (hbox5), crop_x_spinbutton, FALSE, TRUE, 0);
180 hbox6 = gtk_hbox_new (FALSE, 0);
181 gtk_widget_set_name (hbox6, "hbox6");
182 gtk_widget_show (hbox6);
183 gtk_table_attach (GTK_TABLE (table2), hbox6, 1, 2, 1, 2,
184 (GtkAttachOptions) (GTK_FILL),
185 (GtkAttachOptions) (GTK_FILL), 0, 0);
187 crop_y_spinbutton_adj = gtk_adjustment_new (1, 0, 300, 1, 10, 1);
188 crop_y_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (crop_y_spinbutton_adj), 1, 0);
189 gtk_widget_set_name (crop_y_spinbutton, "crop_y_spinbutton");
190 gtk_widget_show (crop_y_spinbutton);
191 gtk_box_pack_start (GTK_BOX (hbox6), crop_y_spinbutton, FALSE, TRUE, 0);
193 hbox7 = gtk_hbox_new (FALSE, 0);
194 gtk_widget_set_name (hbox7, "hbox7");
195 gtk_widget_show (hbox7);
196 gtk_table_attach (GTK_TABLE (table2), hbox7, 1, 2, 2, 3,
197 (GtkAttachOptions) (GTK_FILL),
198 (GtkAttachOptions) (GTK_FILL), 0, 0);
200 crop_width_spinbutton_adj = gtk_adjustment_new (1, 0, 300, 1, 10, 1);
201 crop_width_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (crop_width_spinbutton_adj), 1, 0);
202 gtk_widget_set_name (crop_width_spinbutton, "crop_width_spinbutton");
203 gtk_widget_show (crop_width_spinbutton);
204 gtk_box_pack_start (GTK_BOX (hbox7), crop_width_spinbutton, FALSE, FALSE, 0);
206 hbox8 = gtk_hbox_new (FALSE, 0);
207 gtk_widget_set_name (hbox8, "hbox8");
208 gtk_widget_show (hbox8);
209 gtk_table_attach (GTK_TABLE (table2), hbox8, 1, 2, 3, 4,
210 (GtkAttachOptions) (GTK_FILL),
211 (GtkAttachOptions) (GTK_FILL), 0, 0);
213 crop_height_spinbutton_adj = gtk_adjustment_new (1, 0, 300, 1, 10, 1);
214 crop_height_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (crop_height_spinbutton_adj), 1, 0);
215 gtk_widget_set_name (crop_height_spinbutton, "crop_height_spinbutton");
216 gtk_widget_show (crop_height_spinbutton);
217 gtk_box_pack_start (GTK_BOX (hbox8), crop_height_spinbutton, FALSE, FALSE, 0);
219 vbox4 = gtk_vbox_new (FALSE, 6);
220 gtk_widget_set_name (vbox4, "vbox4");
221 gtk_widget_show (vbox4);
222 gtk_box_pack_start (GTK_BOX (vbox1), vbox4, FALSE, TRUE, 0);
224 label7 = gtk_label_new ("<b>Aspect ratio</b>");
225 gtk_widget_set_name (label7, "label7");
226 gtk_widget_show (label7);
227 gtk_box_pack_start (GTK_BOX (vbox4), label7, FALSE, FALSE, 0);
228 gtk_label_set_use_markup (GTK_LABEL (label7), TRUE);
229 gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
231 hbox3 = gtk_hbox_new (FALSE, 0);
232 gtk_widget_set_name (hbox3, "hbox3");
233 gtk_widget_show (hbox3);
234 gtk_box_pack_start (GTK_BOX (vbox4), hbox3, FALSE, FALSE, 0);
236 label8 = gtk_label_new (" ");
237 gtk_widget_set_name (label8, "label8");
238 gtk_widget_show (label8);
239 gtk_box_pack_start (GTK_BOX (hbox3), label8, FALSE, FALSE, 0);
241 table3 = gtk_table_new (2, 2, FALSE);
242 gtk_widget_set_name (table3, "table3");
243 gtk_widget_show (table3);
244 gtk_box_pack_start (GTK_BOX (hbox3), table3, TRUE, TRUE, 0);
245 gtk_table_set_row_spacings (GTK_TABLE (table3), 6);
246 gtk_table_set_col_spacings (GTK_TABLE (table3), 6);
248 hbox10 = gtk_hbox_new (FALSE, 6);
249 gtk_widget_set_name (hbox10, "hbox10");
250 gtk_widget_show (hbox10);
251 gtk_table_attach (GTK_TABLE (table3), hbox10, 0, 2, 1, 2,
252 (GtkAttachOptions) (GTK_FILL),
253 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
255 custom_ratio_box = gtk_hbox_new (FALSE, 6);
256 gtk_widget_set_name (custom_ratio_box, "custom_ratio_box");
257 gtk_widget_show (custom_ratio_box);
258 gtk_box_pack_start (GTK_BOX (hbox10), custom_ratio_box, TRUE, TRUE, 0);
260 ratio_w_spinbutton_adj = gtk_adjustment_new (1, 1, 9999, 1, 10, 10);
261 ratio_w_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (ratio_w_spinbutton_adj), 1, 0);
262 gtk_widget_set_name (ratio_w_spinbutton, "ratio_w_spinbutton");
263 gtk_widget_show (ratio_w_spinbutton);
264 gtk_box_pack_start (GTK_BOX (custom_ratio_box), ratio_w_spinbutton, FALSE, TRUE, 0);
266 ratio_swap_button = gtk_button_new ();
267 gtk_widget_set_name (ratio_swap_button, "ratio_swap_button");
268 gtk_widget_show (ratio_swap_button);
269 gtk_box_pack_start (GTK_BOX (custom_ratio_box), ratio_swap_button, FALSE, FALSE, 0);
270 gtk_button_set_relief (GTK_BUTTON (ratio_swap_button), GTK_RELIEF_NONE);
272 eventbox1 = gtk_event_box_new ();
273 gtk_widget_set_name (eventbox1, "eventbox1");
274 gtk_widget_show (eventbox1);
275 gtk_container_add (GTK_CONTAINER (ratio_swap_button), eventbox1);
277 ratio_swap_image = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
278 gtk_widget_set_name (ratio_swap_image, "ratio_swap_image");
279 gtk_widget_show (ratio_swap_image);
280 gtk_container_add (GTK_CONTAINER (eventbox1), ratio_swap_image);
282 ratio_h_spinbutton_adj = gtk_adjustment_new (1, 1, 9999, 1, 10, 10);
283 ratio_h_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (ratio_h_spinbutton_adj), 1, 0);
284 gtk_widget_set_name (ratio_h_spinbutton, "ratio_h_spinbutton");
285 gtk_widget_show (ratio_h_spinbutton);
286 gtk_box_pack_start (GTK_BOX (custom_ratio_box), ratio_h_spinbutton, FALSE, TRUE, 0);
287 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (ratio_h_spinbutton), GTK_UPDATE_IF_VALID);
289 ratio_optionmenu = gtk_option_menu_new ();
290 gtk_widget_set_name (ratio_optionmenu, "ratio_optionmenu");
291 gtk_widget_show (ratio_optionmenu);
292 gtk_table_attach (GTK_TABLE (table3), ratio_optionmenu, 0, 2, 0, 1,
293 (GtkAttachOptions) (GTK_FILL),
294 (GtkAttachOptions) (0), 0, 0);
296 menu1 = gtk_menu_new ();
297 gtk_widget_set_name (menu1, "menu1");
299 ratio_none = gtk_menu_item_new_with_mnemonic ("None");
300 gtk_widget_set_name (ratio_none, "ratio_none");
301 gtk_widget_show (ratio_none);
302 gtk_container_add (GTK_CONTAINER (menu1), ratio_none);
304 ratio_square = gtk_menu_item_new_with_mnemonic ("Square");
305 gtk_widget_set_name (ratio_square, "ratio_square");
306 gtk_widget_show (ratio_square);
307 gtk_container_add (GTK_CONTAINER (menu1), ratio_square);
309 ratio_4x3 = gtk_menu_item_new_with_mnemonic ("4 x 3 (Book, DVD)");
310 gtk_widget_set_name (ratio_4x3, "ratio_4x3");
311 gtk_widget_show (ratio_4x3);
312 gtk_container_add (GTK_CONTAINER (menu1), ratio_4x3);
314 ratio_3x2 = gtk_menu_item_new_with_mnemonic ("4 x 6 (Postcard)");
315 gtk_widget_set_name (ratio_3x2, "ratio_3x2");
316 gtk_widget_show (ratio_3x2);
317 gtk_container_add (GTK_CONTAINER (menu1), ratio_3x2);
319 ratio_custom = gtk_menu_item_new_with_mnemonic ("Custom");
320 gtk_widget_set_name (ratio_custom, "ratio_custom");
321 gtk_widget_show (ratio_custom);
322 gtk_container_add (GTK_CONTAINER (menu1), ratio_custom);
324 gtk_option_menu_set_menu (GTK_OPTION_MENU (ratio_optionmenu), menu1);
326 vbox5 = gtk_vbox_new (FALSE, 0);
327 gtk_widget_set_name (vbox5, "vbox5");
328 gtk_widget_show (vbox5);
329 gtk_box_pack_start (GTK_BOX (hbox1), vbox5, TRUE, TRUE, 0);
331 frame1 = gtk_frame_new (NULL);
332 gtk_widget_set_name (frame1, "frame1");
333 gtk_widget_show (frame1);
334 gtk_box_pack_start (GTK_BOX (vbox5), frame1, TRUE, TRUE, 0);
335 gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_NONE);
337 vbox7 = gtk_vbox_new (FALSE, 6);
338 gtk_widget_set_name (vbox7, "vbox7");
339 gtk_widget_show (vbox7);
340 gtk_container_add (GTK_CONTAINER (frame1), vbox7);
342 nav_container = gtk_hbox_new (FALSE, 0);
343 gtk_widget_set_name (nav_container, "nav_container");
344 gtk_widget_show (nav_container);
345 gtk_box_pack_start (GTK_BOX (vbox7), nav_container, TRUE, TRUE, 0);
347 hbox16 = gtk_hbox_new (FALSE, 6);
348 gtk_widget_set_name (hbox16, "hbox16");
349 gtk_widget_show (hbox16);
350 gtk_box_pack_start (GTK_BOX (vbox7), hbox16, FALSE, TRUE, 0);
352 hbox17 = gtk_hbox_new (FALSE, 0);
353 gtk_widget_set_name (hbox17, "hbox17");
354 gtk_widget_show (hbox17);
355 gtk_box_pack_end (GTK_BOX (hbox16), hbox17, FALSE, TRUE, 0);
357 crop_zoom_in_button = gtk_button_new ();
358 gtk_widget_set_name (crop_zoom_in_button, "crop_zoom_in_button");
359 gtk_widget_show (crop_zoom_in_button);
360 gtk_box_pack_start (GTK_BOX (hbox17), crop_zoom_in_button, FALSE, FALSE, 0);
361 gtk_button_set_relief (GTK_BUTTON (crop_zoom_in_button), GTK_RELIEF_NONE);
363 image2 = gtk_image_new_from_stock ("gtk-zoom-in", GTK_ICON_SIZE_BUTTON);
364 gtk_widget_set_name (image2, "image2");
365 gtk_widget_show (image2);
366 gtk_container_add (GTK_CONTAINER (crop_zoom_in_button), image2);
368 crop_zoom_out_button = gtk_button_new ();
369 gtk_widget_set_name (crop_zoom_out_button, "crop_zoom_out_button");
370 gtk_widget_show (crop_zoom_out_button);
371 gtk_box_pack_start (GTK_BOX (hbox17), crop_zoom_out_button, FALSE, FALSE, 0);
372 gtk_button_set_relief (GTK_BUTTON (crop_zoom_out_button), GTK_RELIEF_NONE);
374 image4 = gtk_image_new_from_stock ("gtk-zoom-out", GTK_ICON_SIZE_BUTTON);
375 gtk_widget_set_name (image4, "image4");
376 gtk_widget_show (image4);
377 gtk_container_add (GTK_CONTAINER (crop_zoom_out_button), image4);
379 crop_zoom_100_button = gtk_button_new ();
380 gtk_widget_set_name (crop_zoom_100_button, "crop_zoom_100_button");
381 gtk_widget_show (crop_zoom_100_button);
382 gtk_box_pack_start (GTK_BOX (hbox17), crop_zoom_100_button, FALSE, FALSE, 0);
383 gtk_button_set_relief (GTK_BUTTON (crop_zoom_100_button), GTK_RELIEF_NONE);
385 image3 = gtk_image_new_from_stock ("gtk-zoom-100", GTK_ICON_SIZE_BUTTON);
386 gtk_widget_set_name (image3, "image3");
387 gtk_widget_show (image3);
388 gtk_container_add (GTK_CONTAINER (crop_zoom_100_button), image3);
390 crop_zoom_fit_button = gtk_button_new ();
391 gtk_widget_set_name (crop_zoom_fit_button, "crop_zoom_fit_button");
392 gtk_widget_show (crop_zoom_fit_button);
393 gtk_box_pack_start (GTK_BOX (hbox17), crop_zoom_fit_button, FALSE, FALSE, 0);
394 gtk_button_set_relief (GTK_BUTTON (crop_zoom_fit_button), GTK_RELIEF_NONE);
396 image1 = gtk_image_new_from_stock ("gtk-zoom-fit", GTK_ICON_SIZE_BUTTON);
397 gtk_widget_set_name (image1, "image1");
398 gtk_widget_show (image1);
399 gtk_container_add (GTK_CONTAINER (crop_zoom_fit_button), image1);
406 g_signal_connect ((gpointer) cropper_window, "delete_event",
407 G_CALLBACK (on_cropper_window_delete_event),
408 NULL);
409 g_signal_connect ((gpointer) cropper_window, "destroy",
410 G_CALLBACK (on_cropper_window_destroy),
411 NULL);
413 g_signal_connect ((gpointer) ratio_w_spinbutton, "value_changed",
414 G_CALLBACK (on_ratio_w_spinbutton_value_changed),
415 NULL);
416 g_signal_connect ((gpointer) ratio_w_spinbutton, "change_value",
417 G_CALLBACK (on_ratio_w_spinbutton_change_value),
418 NULL);
419 g_signal_connect ((gpointer) ratio_swap_button, "clicked",
420 G_CALLBACK (on_ratio_swap_button_clicked),
421 NULL);
422 g_signal_connect ((gpointer) ratio_h_spinbutton, "change_value",
423 G_CALLBACK (on_ratio_h_spinbutton_change_value),
424 NULL);
425 g_signal_connect ((gpointer) ratio_h_spinbutton, "value_changed",
426 G_CALLBACK (on_ratio_h_spinbutton_value_changed),
427 NULL);
429 g_signal_connect ((gpointer) ratio_none, "activate",
430 G_CALLBACK (on_ratio_none_activate),
431 NULL);
432 g_signal_connect ((gpointer) ratio_square, "activate",
433 G_CALLBACK (on_ratio_square_activate),
434 NULL);
435 g_signal_connect ((gpointer) ratio_4x3, "activate",
436 G_CALLBACK (on_ratio_4x3_activate),
437 NULL);
438 g_signal_connect ((gpointer) ratio_3x2, "activate",
439 G_CALLBACK (on_ratio_3x2_activate),
440 NULL);
441 g_signal_connect ((gpointer) ratio_custom, "activate",
442 G_CALLBACK (on_ratio_custom_activate),
443 NULL);
446 /* Store pointers to all widgets, for use by lookup_widget(). */
447 GLADE_HOOKUP_OBJECT_NO_REF (cropper_window, cropper_window, "cropper_window");
448 GLADE_HOOKUP_OBJECT (cropper_window, dialog_vbox1, "dialog_vbox1");
449 GLADE_HOOKUP_OBJECT (cropper_window, hbox1, "hbox1");
450 GLADE_HOOKUP_OBJECT (cropper_window, vbox1, "vbox1");
451 GLADE_HOOKUP_OBJECT (cropper_window, vbox2, "vbox2");
452 GLADE_HOOKUP_OBJECT (cropper_window, label1, "label1");
453 GLADE_HOOKUP_OBJECT (cropper_window, hbox2, "hbox2");
454 GLADE_HOOKUP_OBJECT (cropper_window, label2, "label2");
455 GLADE_HOOKUP_OBJECT (cropper_window, table2, "table2");
456 GLADE_HOOKUP_OBJECT (cropper_window, label3, "label3");
457 GLADE_HOOKUP_OBJECT (cropper_window, label5, "label5");
458 GLADE_HOOKUP_OBJECT (cropper_window, label4, "label4");
459 GLADE_HOOKUP_OBJECT (cropper_window, label6, "label6");
460 GLADE_HOOKUP_OBJECT (cropper_window, hbox5, "hbox5");
461 GLADE_HOOKUP_OBJECT (cropper_window, crop_x_spinbutton, "crop_x_spinbutton");
462 GLADE_HOOKUP_OBJECT (cropper_window, hbox6, "hbox6");
463 GLADE_HOOKUP_OBJECT (cropper_window, crop_y_spinbutton, "crop_y_spinbutton");
464 GLADE_HOOKUP_OBJECT (cropper_window, hbox7, "hbox7");
465 GLADE_HOOKUP_OBJECT (cropper_window, crop_width_spinbutton, "crop_width_spinbutton");
466 GLADE_HOOKUP_OBJECT (cropper_window, hbox8, "hbox8");
467 GLADE_HOOKUP_OBJECT (cropper_window, crop_height_spinbutton, "crop_height_spinbutton");
468 GLADE_HOOKUP_OBJECT (cropper_window, vbox4, "vbox4");
469 GLADE_HOOKUP_OBJECT (cropper_window, label7, "label7");
470 GLADE_HOOKUP_OBJECT (cropper_window, hbox3, "hbox3");
471 GLADE_HOOKUP_OBJECT (cropper_window, label8, "label8");
472 GLADE_HOOKUP_OBJECT (cropper_window, table3, "table3");
473 GLADE_HOOKUP_OBJECT (cropper_window, hbox10, "hbox10");
474 GLADE_HOOKUP_OBJECT (cropper_window, custom_ratio_box, "custom_ratio_box");
475 GLADE_HOOKUP_OBJECT (cropper_window, ratio_w_spinbutton, "ratio_w_spinbutton");
476 GLADE_HOOKUP_OBJECT (cropper_window, ratio_swap_button, "ratio_swap_button");
477 GLADE_HOOKUP_OBJECT (cropper_window, eventbox1, "eventbox1");
478 GLADE_HOOKUP_OBJECT (cropper_window, ratio_swap_image, "ratio_swap_image");
479 GLADE_HOOKUP_OBJECT (cropper_window, ratio_h_spinbutton, "ratio_h_spinbutton");
480 GLADE_HOOKUP_OBJECT (cropper_window, ratio_optionmenu, "ratio_optionmenu");
481 GLADE_HOOKUP_OBJECT (cropper_window, menu1, "menu1");
482 GLADE_HOOKUP_OBJECT (cropper_window, ratio_none, "ratio_none");
483 GLADE_HOOKUP_OBJECT (cropper_window, ratio_square, "ratio_square");
484 GLADE_HOOKUP_OBJECT (cropper_window, ratio_4x3, "ratio_4x3");
485 GLADE_HOOKUP_OBJECT (cropper_window, ratio_3x2, "ratio_3x2");
486 GLADE_HOOKUP_OBJECT (cropper_window, ratio_custom, "ratio_custom");
487 GLADE_HOOKUP_OBJECT (cropper_window, vbox5, "vbox5");
488 GLADE_HOOKUP_OBJECT (cropper_window, frame1, "frame1");
489 GLADE_HOOKUP_OBJECT (cropper_window, vbox7, "vbox7");
490 GLADE_HOOKUP_OBJECT (cropper_window, nav_container, "nav_container");
491 GLADE_HOOKUP_OBJECT (cropper_window, hbox16, "hbox16");
492 GLADE_HOOKUP_OBJECT (cropper_window, hbox17, "hbox17");
493 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_in_button, "crop_zoom_in_button");
494 GLADE_HOOKUP_OBJECT (cropper_window, image2, "image2");
495 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_out_button, "crop_zoom_out_button");
496 GLADE_HOOKUP_OBJECT (cropper_window, image4, "image4");
497 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_100_button, "crop_zoom_100_button");
498 GLADE_HOOKUP_OBJECT (cropper_window, image3, "image3");
499 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_fit_button, "crop_zoom_fit_button");
500 GLADE_HOOKUP_OBJECT (cropper_window, image1, "image1");
502 return cropper_window;
503 }