add playlist open/save buttons
[rugen] / src / interface.c
1 /*
2 * DO NOT EDIT THIS FILE - it is generated by Glade.
3 */
4
5 #ifdef HAVE_CONFIG_H
6 # include <config.h>
7 #endif
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13 #include <stdio.h>
14
15 #include <gdk/gdkkeysyms.h>
16 #include <gtk/gtk.h>
17
18 #include "callbacks.h"
19 #include "interface.h"
20 #include "support.h"
21
22 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
23 g_object_set_data_full (G_OBJECT (component), name, \
24 gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
25
26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
27 g_object_set_data (G_OBJECT (component), name, widget)
28
29 static
30 GtkWidget *
31 create_buttons_transport(GtkWidget *top, int type)
32 {
33 int i;
34 GtkWidget *hbox;
35 gchar name[32];
36 const static struct
37 {
38 int type;
39 gchar* tooltip;
40 gchar* filename;
41 } buttons[] =
42 {
43 {
44 2,
45 "Beginning of playlist",
46 "stock_media-begin-16.png"
47 },
48 {
49 2,
50 "Start of clip",
51 "stock_media-prev-16.png"
52 },
53 {
54 2,
55 "Rewind",
56 "stock_media-rew-16.png"
57 },
58 {
59 2,
60 "Previous frame",
61 "stock_media-prev-frame-16.png"
62 },
63 {
64 1,
65 "Pause",
66 "player_pause_32x32.png"
67 },
68 {
69 1,
70 "Play",
71 "player_play_64x32.png"
72 },
73 {
74 1,
75 "Stop",
76 "player_stop_32x32.png"
77 },
78 {
79 2,
80 "Next frame",
81 "stock_media-next-frame-16.png"
82 },
83 {
84 2,
85 "Fast forward",
86 "stock_media-fwd-16.png"
87 },
88 {
89 2,
90 "Next clip",
91 "stock_media-next-16.png"
92 },
93 {
94 2,
95 "End of playlist",
96 "stock_media-end-16.png"
97 },
98 {
99 2,
100 "Loop On",
101 "eof-loop-16.png"
102 },
103 {
104 2,
105 "Loop Off",
106 "eof-pause-16.png"
107 },
108 {
109 0,
110 NULL,
111 NULL
112 }
113 };
114
115 hbox = gtk_hbox_new (FALSE, 0);
116 gtk_widget_show (hbox);
117
118
119 for(i = 0; buttons[i].filename; i++)
120 {
121 GtkWidget *transport, *image;
122
123 if ( type != buttons[i].type )
124 continue;
125
126 transport = gtk_button_new ();
127 gtk_widget_show (transport);
128 gtk_box_pack_start (GTK_BOX (hbox), transport, TRUE, FALSE, 0);
129 GTK_WIDGET_UNSET_FLAGS (transport, GTK_CAN_FOCUS);
130 gtk_button_set_relief (GTK_BUTTON (transport), GTK_RELIEF_NONE);
131 gtk_widget_set_tooltip_text (transport, buttons[i].tooltip);
132
133 image = gtk_image_new_from_pixbuf(create_pixbuf(buttons[i].filename));
134 gtk_widget_show (image);
135 gtk_container_add (GTK_CONTAINER (transport), image);
136
137 snprintf(name, sizeof(name), "transport_%d", i);
138 GLADE_HOOKUP_OBJECT (top, transport, name);
139
140 snprintf(name, sizeof(name), "transport_image_%d", i);
141 GLADE_HOOKUP_OBJECT (top, image, name);
142 };
143
144 snprintf(name, sizeof(name), "buttons_transport_hbox_%d", type);
145 GLADE_HOOKUP_OBJECT (top, hbox, name);
146
147 return hbox;
148 };
149
150 static
151 GtkWidget *
152 create_block_buttons_transport(GtkWidget *top, int type)
153 {
154 gchar name[32];
155 GtkWidget *hbox, *label[2];
156
157 hbox = gtk_hbox_new (FALSE, 0);
158 gtk_widget_show (hbox);
159
160 snprintf(name, sizeof(name), "bbt_label_%da", type);
161 label[0] = gtk_label_new (name);
162 gtk_widget_show (label[0]);
163 gtk_box_pack_start (GTK_BOX (hbox), label[0], TRUE, TRUE, 0);
164 gtk_label_set_justify (GTK_LABEL (label[0]), GTK_JUSTIFY_LEFT);
165 GLADE_HOOKUP_OBJECT (top, label[0], name);
166
167
168 gtk_box_pack_start (GTK_BOX (hbox),
169 create_buttons_transport(top, type),
170 FALSE, TRUE, 0);
171
172 snprintf(name, sizeof(name), "bbt_label_%db", type);
173 label[1] = gtk_label_new (name);
174 gtk_widget_show (label[1]);
175 gtk_box_pack_start (GTK_BOX (hbox), label[1], TRUE, TRUE, 0);
176 gtk_label_set_justify (GTK_LABEL (label[1]), GTK_JUSTIFY_LEFT);
177 GLADE_HOOKUP_OBJECT (top, label[0], name);
178
179 return hbox;
180 };
181
182 GtkWidget*
183 create_gdv1394d (void)
184 {
185 GtkWidget *gdv1394d;
186 GtkWidget *vbox1;
187 // GtkWidget *handlebox2;
188 GtkWidget *hbox27;
189 GtkWidget *vbox9;
190 // GtkWidget *menubar;
191 // GtkWidget *menuitem1;
192 // GtkWidget *menuitem1_menu;
193 // GtkWidget *item_connect;
194 // GtkWidget *item_disconnect;
195 // GtkWidget *separatormenuitem1;
196 // GtkWidget *item_quit;
197 GtkWidget *toolbar1;
198 GtkWidget *tmp_toolbar_icon;
199 GtkWidget *button_connect;
200 GtkWidget *button_disconnect;
201 // GtkWidget *vseparator1;
202 // GtkWidget *button_quit;
203 GtkWidget *hbox;
204 // GtkWidget *toolbar2;
205 GtkWidget *vbox6;
206 GtkWidget *notebook1;
207 GtkWidget *empty_notebook_page;
208 GtkWidget *label40;
209 GtkWidget *vbox_trim;
210 GtkWidget *statusbar;
211 GtkWidget *button_open_playlist, *button_save_playlist;
212
213 gdv1394d = gtk_window_new (GTK_WINDOW_TOPLEVEL);
214 gtk_window_set_title (GTK_WINDOW (gdv1394d), _("Melted Client"));
215 gtk_window_set_default_size (GTK_WINDOW (gdv1394d), 640, 480);
216
217 vbox1 = gtk_vbox_new (FALSE, 0);
218 gtk_widget_show (vbox1);
219 gtk_container_add (GTK_CONTAINER (gdv1394d), vbox1);
220
221 // handlebox2 = gtk_handle_box_new ();
222 // gtk_widget_show (handlebox2);
223 // gtk_box_pack_start (GTK_BOX (vbox1), handlebox2, FALSE, FALSE, 0);
224
225 hbox27 = gtk_hbox_new (FALSE, 0);
226 gtk_widget_show (hbox27);
227 // gtk_container_add (GTK_CONTAINER (handlebox2), hbox27);
228 gtk_box_pack_start (GTK_BOX (vbox1), hbox27, FALSE, FALSE, 0);
229
230 vbox9 = gtk_vbox_new (FALSE, 0);
231 gtk_widget_show (vbox9);
232 gtk_box_pack_start (GTK_BOX (hbox27), vbox9, TRUE, TRUE, 0);
233
234 // menubar = gtk_menu_bar_new ();
235 // gtk_widget_show (menubar);
236 // gtk_box_pack_start (GTK_BOX (vbox9), menubar, TRUE, TRUE, 0);
237
238 // menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File"));
239 // gtk_widget_show (menuitem1);
240 // gtk_container_add (GTK_CONTAINER (menubar), menuitem1);
241
242 // menuitem1_menu = gtk_menu_new ();
243 // gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu);
244
245 // item_connect = gtk_menu_item_new_with_mnemonic (_("_Connect"));
246 // gtk_widget_show (item_connect);
247 // gtk_container_add (GTK_CONTAINER (menuitem1_menu), item_connect);
248
249 // item_disconnect = gtk_menu_item_new_with_mnemonic (_("_Disconnect"));
250 // gtk_widget_show (item_disconnect);
251 // gtk_container_add (GTK_CONTAINER (menuitem1_menu), item_disconnect);
252
253 // separatormenuitem1 = gtk_menu_item_new ();
254 // gtk_widget_show (separatormenuitem1);
255 // gtk_container_add (GTK_CONTAINER (menuitem1_menu), separatormenuitem1);
256 // gtk_widget_set_sensitive (separatormenuitem1, FALSE);
257
258 // item_quit = gtk_menu_item_new_with_mnemonic (_("_Quit"));
259 // gtk_widget_show (item_quit);
260 // gtk_container_add (GTK_CONTAINER (menuitem1_menu), item_quit);
261
262 toolbar1 = gtk_toolbar_new ();
263 gtk_widget_show (toolbar1);
264 gtk_box_pack_start (GTK_BOX (hbox27), toolbar1, TRUE, TRUE, 0);
265 gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH_HORIZ);
266
267 tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-connect", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
268 button_connect = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
269 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
270 NULL,
271 "Connect",
272 _("Connect to a server"), NULL,
273 tmp_toolbar_icon, NULL, NULL);
274 gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
275 gtk_widget_show (button_connect);
276
277 tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-disconnect", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
278 button_disconnect = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
279 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
280 NULL,
281 "Disconnect",
282 _("Disconnect from server"), NULL,
283 tmp_toolbar_icon, NULL, NULL);
284 gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
285 gtk_widget_show (button_disconnect);
286
287 gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1));
288
289 tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-open",
290 gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
291 button_open_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
292 GTK_TOOLBAR_CHILD_BUTTON,
293 NULL,
294 "Open Playlist",
295 _("Open playlist"), NULL,
296 tmp_toolbar_icon, NULL, NULL);
297 gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
298 gtk_widget_show (button_open_playlist);
299 GLADE_HOOKUP_OBJECT (gdv1394d, button_open_playlist, "button_open_playlist");
300
301 tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-save-as",
302 gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
303 button_save_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
304 GTK_TOOLBAR_CHILD_BUTTON,
305 NULL,
306 "Save Playlist",
307 _("Save playlist"), NULL,
308 tmp_toolbar_icon, NULL, NULL);
309 gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
310 gtk_widget_show (button_save_playlist);
311 GLADE_HOOKUP_OBJECT (gdv1394d, button_save_playlist, "button_save_playlist");
312
313 gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1));
314
315 // vseparator1 = gtk_vseparator_new ();
316 // gtk_widget_show (vseparator1);
317 // gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator1, NULL, NULL);
318
319 // tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-quit", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
320 // button_quit = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
321 // GTK_TOOLBAR_CHILD_BUTTON,
322 // NULL,
323 // "",
324 // _("Exit"), NULL,
325 // tmp_toolbar_icon, NULL, NULL);
326 // gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
327 // gtk_widget_show (button_quit);
328
329 hbox = gtk_hbox_new (FALSE, 0);
330 gtk_widget_show (hbox);
331 gtk_box_pack_start (GTK_BOX (vbox1), hbox, TRUE, TRUE, 0);
332
333 // toolbar2 = gtk_toolbar_new ();
334 // gtk_widget_show (toolbar2);
335 // gtk_box_pack_start (GTK_BOX (hbox), toolbar2, FALSE, TRUE, 0);
336 // gtk_toolbar_set_style (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_BOTH);
337 // gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar2), GTK_ORIENTATION_VERTICAL);
338
339 vbox6 = gtk_vbox_new (FALSE, 0);
340 gtk_widget_show (vbox6);
341 gtk_box_pack_start (GTK_BOX (hbox), vbox6, TRUE, TRUE, 0);
342
343 notebook1 = gtk_notebook_new ();
344 gtk_widget_show (notebook1);
345 gtk_box_pack_start (GTK_BOX (vbox6), notebook1, TRUE, TRUE, 0);
346 GTK_WIDGET_UNSET_FLAGS (notebook1, GTK_CAN_FOCUS);
347 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook1), FALSE);
348 gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook1), GTK_POS_RIGHT);
349 gtk_notebook_popup_enable (GTK_NOTEBOOK (notebook1));
350 gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook1), FALSE);
351
352 empty_notebook_page = gtk_vbox_new (FALSE, 0);
353 gtk_widget_show (empty_notebook_page);
354 gtk_container_add (GTK_CONTAINER (notebook1), empty_notebook_page);
355
356 label40 = gtk_label_new ("label40");
357 gtk_widget_show (label40);
358 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label40);
359 gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT);
360
361 gtk_box_pack_start (GTK_BOX (vbox6),
362 create_block_buttons_transport(gdv1394d, 1),
363 FALSE, TRUE, 0);
364
365 gtk_box_pack_start (GTK_BOX (vbox6),
366 create_block_buttons_transport(gdv1394d, 2),
367 FALSE, TRUE, 0);
368
369 vbox_trim = gtk_vbox_new (FALSE, 0);
370 gtk_widget_show (vbox_trim);
371 gtk_box_pack_start (GTK_BOX (vbox6), vbox_trim, FALSE, TRUE, 0);
372
373 statusbar = gtk_statusbar_new ();
374 gtk_widget_show (statusbar);
375 gtk_box_pack_start (GTK_BOX (vbox1), statusbar, FALSE, FALSE, 0);
376
377 /* Store pointers to all widgets, for use by lookup_widget(). */
378 GLADE_HOOKUP_OBJECT_NO_REF (gdv1394d, gdv1394d, "gdv1394d");
379 GLADE_HOOKUP_OBJECT (gdv1394d, vbox1, "vbox1");
380 // GLADE_HOOKUP_OBJECT (gdv1394d, handlebox2, "handlebox2");
381 GLADE_HOOKUP_OBJECT (gdv1394d, hbox27, "hbox27");
382 GLADE_HOOKUP_OBJECT (gdv1394d, vbox9, "vbox9");
383 // GLADE_HOOKUP_OBJECT (gdv1394d, menubar, "menubar");
384 // GLADE_HOOKUP_OBJECT (gdv1394d, menuitem1, "menuitem1");
385 // GLADE_HOOKUP_OBJECT (gdv1394d, menuitem1_menu, "menuitem1_menu");
386 // GLADE_HOOKUP_OBJECT (gdv1394d, item_connect, "item_connect");
387 // GLADE_HOOKUP_OBJECT (gdv1394d, item_disconnect, "item_disconnect");
388 // GLADE_HOOKUP_OBJECT (gdv1394d, separatormenuitem1, "separatormenuitem1");
389 // GLADE_HOOKUP_OBJECT (gdv1394d, item_quit, "item_quit");
390 GLADE_HOOKUP_OBJECT (gdv1394d, toolbar1, "toolbar1");
391 GLADE_HOOKUP_OBJECT (gdv1394d, button_connect, "button_connect");
392 GLADE_HOOKUP_OBJECT (gdv1394d, button_disconnect, "button_disconnect");
393 // GLADE_HOOKUP_OBJECT (gdv1394d, vseparator1, "vseparator1");
394 // GLADE_HOOKUP_OBJECT (gdv1394d, button_quit, "button_quit");
395 GLADE_HOOKUP_OBJECT (gdv1394d, hbox, "hbox");
396 // GLADE_HOOKUP_OBJECT (gdv1394d, toolbar2, "toolbar2");
397 GLADE_HOOKUP_OBJECT (gdv1394d, vbox6, "vbox6");
398 GLADE_HOOKUP_OBJECT (gdv1394d, notebook1, "notebook1");
399 GLADE_HOOKUP_OBJECT (gdv1394d, label40, "label40");
400 GLADE_HOOKUP_OBJECT (gdv1394d, vbox_trim, "vbox_trim");
401 GLADE_HOOKUP_OBJECT (gdv1394d, statusbar, "statusbar");
402
403 return gdv1394d;
404 }
405
406 GtkWidget*
407 create_window_connection (void)
408 {
409 GtkWidget *window_connection;
410 GtkWidget *table2;
411 GtkWidget *label30;
412 GtkWidget *label31;
413 GtkWidget *entry_server;
414 GtkWidget *hbuttonbox4;
415 GtkWidget *button_connect;
416 GtkWidget *alignment2;
417 GtkWidget *hbox8;
418 GtkWidget *image2;
419 GtkWidget *label32;
420 GtkWidget *button_cancel;
421 GtkWidget *alignment3;
422 GtkWidget *hbox9;
423 GtkWidget *image3;
424 GtkWidget *label33;
425 GtkWidget *hbox10;
426 GtkWidget *entry_port;
427 GtkAccelGroup *accel_group;
428
429 accel_group = gtk_accel_group_new ();
430
431 window_connection = gtk_window_new (GTK_WINDOW_TOPLEVEL);
432 gtk_window_set_title (GTK_WINDOW (window_connection), _("Connection"));
433 gtk_window_set_position (GTK_WINDOW (window_connection), GTK_WIN_POS_MOUSE);
434 gtk_window_set_modal (GTK_WINDOW (window_connection), TRUE);
435 gtk_window_set_resizable (GTK_WINDOW (window_connection), FALSE);
436 gtk_container_set_border_width (GTK_CONTAINER (window_connection), 8);
437
438 table2 = gtk_table_new (3, 2, FALSE);
439 gtk_widget_show (table2);
440 gtk_container_add (GTK_CONTAINER (window_connection), table2);
441 gtk_table_set_row_spacings (GTK_TABLE (table2), 8);
442 gtk_table_set_col_spacings (GTK_TABLE (table2), 8);
443
444 label30 = gtk_label_new (_("Server "));
445 gtk_widget_show (label30);
446 gtk_table_attach (GTK_TABLE (table2), label30, 0, 1, 0, 1,
447 (GtkAttachOptions) (GTK_FILL),
448 (GtkAttachOptions) (0), 0, 0);
449 gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT);
450 gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
451
452 label31 = gtk_label_new (_("Port"));
453 gtk_widget_show (label31);
454 gtk_table_attach (GTK_TABLE (table2), label31, 0, 1, 1, 2,
455 (GtkAttachOptions) (GTK_FILL),
456 (GtkAttachOptions) (0), 0, 0);
457 gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT);
458 gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
459
460 entry_server = gtk_entry_new ();
461 gtk_widget_show (entry_server);
462 gtk_table_attach (GTK_TABLE (table2), entry_server, 1, 2, 0, 1,
463 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
464 (GtkAttachOptions) (0), 0, 0);
465 gtk_entry_set_text (GTK_ENTRY (entry_server), _("localhost"));
466
467 hbuttonbox4 = gtk_hbutton_box_new ();
468 gtk_widget_show (hbuttonbox4);
469 gtk_table_attach (GTK_TABLE (table2), hbuttonbox4, 1, 2, 2, 3,
470 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
471 (GtkAttachOptions) (0), 0, 0);
472 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_SPREAD);
473
474 button_cancel = gtk_button_new ();
475 gtk_widget_show (button_cancel);
476 gtk_container_add (GTK_CONTAINER (hbuttonbox4), button_cancel);
477 GTK_WIDGET_SET_FLAGS (button_cancel, GTK_CAN_DEFAULT);
478 gtk_button_set_relief (GTK_BUTTON (button_cancel), GTK_RELIEF_NONE);
479
480 alignment3 = gtk_alignment_new (0.5, 0.5, 0, 0);
481 gtk_widget_show (alignment3);
482 gtk_container_add (GTK_CONTAINER (button_cancel), alignment3);
483
484 hbox9 = gtk_hbox_new (FALSE, 2);
485 gtk_widget_show (hbox9);
486 gtk_container_add (GTK_CONTAINER (alignment3), hbox9);
487
488 image3 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON);
489 gtk_widget_show (image3);
490 gtk_box_pack_start (GTK_BOX (hbox9), image3, FALSE, FALSE, 0);
491
492 label33 = gtk_label_new_with_mnemonic (_("Cancel"));
493 gtk_widget_show (label33);
494 gtk_box_pack_start (GTK_BOX (hbox9), label33, FALSE, FALSE, 0);
495 gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT);
496
497 button_connect = gtk_button_new ();
498 gtk_widget_show (button_connect);
499 gtk_container_add (GTK_CONTAINER (hbuttonbox4), button_connect);
500 GTK_WIDGET_SET_FLAGS (button_connect, GTK_CAN_DEFAULT);
501 gtk_widget_add_accelerator (button_connect, "clicked", accel_group,
502 GDK_Return, 0,
503 GTK_ACCEL_VISIBLE);
504 gtk_button_set_relief (GTK_BUTTON (button_connect), GTK_RELIEF_NONE);
505
506 alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0);
507 gtk_widget_show (alignment2);
508 gtk_container_add (GTK_CONTAINER (button_connect), alignment2);
509
510 hbox8 = gtk_hbox_new (FALSE, 2);
511 gtk_widget_show (hbox8);
512 gtk_container_add (GTK_CONTAINER (alignment2), hbox8);
513
514 image2 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON);
515 gtk_widget_show (image2);
516 gtk_box_pack_start (GTK_BOX (hbox8), image2, FALSE, FALSE, 0);
517
518 label32 = gtk_label_new_with_mnemonic (_("Connect"));
519 gtk_widget_show (label32);
520 gtk_box_pack_start (GTK_BOX (hbox8), label32, FALSE, FALSE, 0);
521 gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT);
522
523 hbox10 = gtk_hbox_new (FALSE, 0);
524 gtk_widget_show (hbox10);
525 gtk_table_attach (GTK_TABLE (table2), hbox10, 1, 2, 1, 2,
526 (GtkAttachOptions) (GTK_FILL),
527 (GtkAttachOptions) (GTK_FILL), 0, 0);
528
529 entry_port = gtk_entry_new ();
530 gtk_widget_show (entry_port);
531 gtk_box_pack_start (GTK_BOX (hbox10), entry_port, FALSE, TRUE, 0);
532 gtk_entry_set_max_length (GTK_ENTRY (entry_port), 5);
533 gtk_entry_set_text (GTK_ENTRY (entry_port), _("5250"));
534 gtk_entry_set_width_chars (GTK_ENTRY (entry_port), 5);
535
536 /* Store pointers to all widgets, for use by lookup_widget(). */
537 GLADE_HOOKUP_OBJECT_NO_REF (window_connection, window_connection, "window_connection");
538 GLADE_HOOKUP_OBJECT (window_connection, table2, "table2");
539 GLADE_HOOKUP_OBJECT (window_connection, label30, "label30");
540 GLADE_HOOKUP_OBJECT (window_connection, label31, "label31");
541 GLADE_HOOKUP_OBJECT (window_connection, entry_server, "entry_server");
542 GLADE_HOOKUP_OBJECT (window_connection, hbuttonbox4, "hbuttonbox4");
543 GLADE_HOOKUP_OBJECT (window_connection, button_connect, "button_connect");
544 GLADE_HOOKUP_OBJECT (window_connection, alignment2, "alignment2");
545 GLADE_HOOKUP_OBJECT (window_connection, hbox8, "hbox8");
546 GLADE_HOOKUP_OBJECT (window_connection, image2, "image2");
547 GLADE_HOOKUP_OBJECT (window_connection, label32, "label32");
548 GLADE_HOOKUP_OBJECT (window_connection, button_cancel, "button_cancel");
549 GLADE_HOOKUP_OBJECT (window_connection, alignment3, "alignment3");
550 GLADE_HOOKUP_OBJECT (window_connection, hbox9, "hbox9");
551 GLADE_HOOKUP_OBJECT (window_connection, image3, "image3");
552 GLADE_HOOKUP_OBJECT (window_connection, label33, "label33");
553 GLADE_HOOKUP_OBJECT (window_connection, hbox10, "hbox10");
554 GLADE_HOOKUP_OBJECT (window_connection, entry_port, "entry_port");
555
556 gtk_widget_grab_default (button_connect);
557 gtk_window_add_accel_group (GTK_WINDOW (window_connection), accel_group);
558
559 return window_connection;
560 }
561
562 static GtkWidget* create_pane_status (GtkWidget* parent, GtkWidget* top)
563 {
564 int i;
565 char buf[32];
566
567 GtkWidget *scrolledwindow;
568 GtkWidget *viewport;
569 GtkWidget *table;
570 GSList *radiobutton_group = NULL;
571
572 // create a scrolled area
573 scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
574 gtk_widget_show (scrolledwindow);
575 if ( parent )
576 gtk_container_add (GTK_CONTAINER (parent), scrolledwindow);
577 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
578 GLADE_HOOKUP_OBJECT (top, scrolledwindow, "scrolledwindow4");
579
580 // create a viewport
581 viewport = gtk_viewport_new (NULL, NULL);
582 gtk_widget_show (viewport);
583 gtk_container_add (GTK_CONTAINER (scrolledwindow), viewport);
584 GLADE_HOOKUP_OBJECT (top, viewport, "viewport1");
585
586 // create a table for displaying radios
587 table = gtk_table_new (32, 1, FALSE);
588 gtk_widget_show (table);
589 gtk_container_add (GTK_CONTAINER (viewport), table);
590 GLADE_HOOKUP_OBJECT (top, table, "table3");
591
592 for (i = 0; i < 16; i++)
593 {
594 GtkWidget *label_unit;
595 GtkWidget *radiobutton;
596
597 // label unit
598 snprintf(buf, sizeof(buf), "%.2d", i);
599 label_unit = gtk_label_new (buf);
600 gtk_table_attach (GTK_TABLE (table), label_unit, 0, 1, i * 2 + 1, i * 2 + 2,
601 (GtkAttachOptions) (GTK_FILL),
602 (GtkAttachOptions) (0), 0, 0);
603 gtk_label_set_justify (GTK_LABEL (label_unit), GTK_JUSTIFY_LEFT);
604 gtk_misc_set_alignment (GTK_MISC (label_unit), 0, 0.5);
605 snprintf(buf, sizeof(buf), "label_unit_%d", i);
606 GLADE_HOOKUP_OBJECT (top, label_unit, buf);
607
608 // radio button
609 radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("<disconnected>"));
610 gtk_table_attach (GTK_TABLE (table), radiobutton, 0, 1, i * 2, i * 2 + 1,
611 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
612 (GtkAttachOptions) (0), 0, 0);
613 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton), radiobutton_group);
614 radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton));
615 snprintf(buf, sizeof(buf), "radiobutton_%d", i);
616 GLADE_HOOKUP_OBJECT (top, radiobutton, buf);
617 }
618
619 return scrolledwindow;
620 }
621
622 static
623 GtkWidget*
624 create_playlist_buttons( GtkWidget* parent, GtkWidget* top )
625 {
626 int i;
627 const static struct
628 {
629 gchar* tooltip;
630 gchar* stock;
631 gchar* label;
632 gchar* hookup;
633 } buttons[] =
634 {
635 {
636 "Refresh",
637 "gtk-refresh",
638 "",
639 "button_clips_refresh",
640 },
641 {
642 "Load root folder",
643 "gtk-home",
644 "",
645 "button_clips_home"
646 },
647 {
648 "Move clip up",
649 "gtk-go-up",
650 "",
651 "button_up"
652 },
653 {
654 "Move clip down",
655 "gtk-go-down",
656 "",
657 "button_down"
658 },
659 {
660 "Remove clip",
661 "gtk-delete",
662 "",
663 "button_remove"
664 },
665 {
666 "Remove all but current clip",
667 "gtk-clear",
668 "",
669 "button_clean"
670 },
671 {
672 NULL, NULL, NULL, NULL
673 }
674 };
675
676 GtkWidget *label44, *label45, *hbuttonbox5;
677
678 label44 = gtk_label_new (_(" "));
679 gtk_widget_show (label44);
680 gtk_box_pack_start (GTK_BOX (parent), label44, TRUE, TRUE, 0);
681 gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT);
682
683 for(i = 0; buttons[i].stock; i++)
684 {
685 GtkWidget *button, *alignment, *hbox, *image, *label;
686
687 button = gtk_button_new ();
688 gtk_widget_show (button);
689 gtk_box_pack_start (GTK_BOX (parent), button, FALSE, FALSE, 0);
690 GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS);
691 GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
692 gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
693 gtk_widget_set_tooltip_text (button, buttons[i].tooltip);
694
695 alignment = gtk_alignment_new (0, 0.5, 0, 0);
696 gtk_widget_show (alignment);
697 gtk_container_add (GTK_CONTAINER (button), alignment);
698
699 hbox = gtk_hbox_new (FALSE, 2);
700 gtk_widget_show (hbox);
701 gtk_container_add (GTK_CONTAINER (alignment), hbox);
702
703 image = gtk_image_new_from_stock (buttons[i].stock, GTK_ICON_SIZE_MENU);
704 gtk_widget_show (image);
705 gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
706
707 label = gtk_label_new_with_mnemonic (buttons[i].label);
708 gtk_widget_show (label);
709 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
710 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
711
712 GLADE_HOOKUP_OBJECT (top, button, buttons[i].hookup);
713 };
714
715 hbuttonbox5 = gtk_hbutton_box_new ();
716 gtk_widget_show (hbuttonbox5);
717 gtk_box_pack_start (GTK_BOX (parent), hbuttonbox5, FALSE, FALSE, 0);
718
719 label45 = gtk_label_new (_(" "));
720 gtk_widget_show (label45);
721 gtk_box_pack_start (GTK_BOX (parent), label45, TRUE, TRUE, 0);
722 gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT);
723
724 return parent;
725 }
726
727 static
728 GtkWidget*
729 create_pane_filedir( GtkWidget* top )
730 {
731 GtkWidget* vpaned;
732 GtkWidget* scrolledwindow[2];
733 GtkWidget* list[2];
734 GtkWidget* label_directory;
735 GtkWidget* vbox;
736
737 /* create vbox for label pack */
738 vbox = gtk_vbox_new (FALSE, 0);
739 gtk_widget_show (vbox);
740
741 /* create a label for dir name */
742 label_directory = gtk_label_new (_("Disconnected"));
743 gtk_widget_show (label_directory);
744 gtk_box_pack_start (GTK_BOX (vbox), label_directory, FALSE, FALSE, 0);
745 gtk_misc_set_alignment (GTK_MISC (label_directory), 0, 0.5);
746 GLADE_HOOKUP_OBJECT (top, label_directory, "label_directory");
747
748 /* create a vertical pane for dirs list and clips list */
749 vpaned = gtk_vpaned_new ();
750 gtk_widget_show (vpaned);
751 gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0);
752
753 /* create two scrolled window for lists areas */
754 scrolledwindow[0] = gtk_scrolled_window_new (NULL, NULL);
755 gtk_widget_show (scrolledwindow[0]);
756 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow[0]),
757 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
758 scrolledwindow[1] = gtk_scrolled_window_new (NULL, NULL);
759 gtk_widget_show (scrolledwindow[1]);
760 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow[1]),
761 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
762
763 /* pane them */
764 gtk_paned_pack1 (GTK_PANED (vpaned), scrolledwindow[0], FALSE, FALSE);
765 gtk_widget_set_size_request (scrolledwindow[0], 250, -1);
766 gtk_paned_pack2 (GTK_PANED (vpaned), scrolledwindow[1], TRUE, FALSE);
767 gtk_widget_set_size_request (scrolledwindow[1], 450, -1);
768 gtk_paned_set_position(GTK_PANED (vpaned), 250);
769
770 /* list_dirs */
771 list[0] = gtk_tree_view_new ();
772 gtk_widget_show (list[0]);
773 gtk_container_add (GTK_CONTAINER (scrolledwindow[0]), list[0]);
774 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list[0]), FALSE);
775 GLADE_HOOKUP_OBJECT (top, list[0], "list_dir");
776
777 /* list_clips */
778 list[1] = gtk_tree_view_new ();
779 gtk_widget_show (list[1]);
780 gtk_container_add (GTK_CONTAINER (scrolledwindow[1]), list[1]);
781 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list[1]), FALSE);
782 gtk_tree_view_set_enable_search (GTK_TREE_VIEW (list[1]), FALSE);
783 GLADE_HOOKUP_OBJECT (top, list[1], "list_clips");
784
785 gtk_widget_grab_focus (list[0]);
786
787 return vbox;
788 };
789
790 static
791 GtkWidget*
792 create_pane_playlist( GtkWidget* top )
793 {
794 GtkWidget *table;
795 GtkWidget *scrolledwindow;
796 GtkWidget *treeview;
797 GtkWidget *alignment;
798 GtkWidget *hbox;
799
800 table = gtk_table_new (2, 1, FALSE);
801
802 scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
803 gtk_widget_show (scrolledwindow);
804 gtk_table_attach (GTK_TABLE (table), scrolledwindow, 0, 1, 1, 2,
805 (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
806 (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
807 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow),
808 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
809
810 treeview = gtk_tree_view_new ();
811 gtk_widget_show (treeview);
812 gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview);
813
814 alignment = gtk_alignment_new (0.5, 0.5, 1, 1);
815 gtk_widget_show (alignment);
816 gtk_table_attach (GTK_TABLE (table), alignment, 0, 1, 0, 1,
817 (GtkAttachOptions) (GTK_FILL),
818 (GtkAttachOptions) (GTK_FILL), 0, 0);
819
820 hbox = gtk_hbox_new (FALSE, 0);
821 gtk_widget_show (hbox);
822 gtk_container_add (GTK_CONTAINER (alignment), hbox);
823
824 create_playlist_buttons(hbox, top);
825
826 GLADE_HOOKUP_OBJECT (top, table, "table4");
827 GLADE_HOOKUP_OBJECT (top, scrolledwindow, "scrolledwindow5");
828 GLADE_HOOKUP_OBJECT (top, treeview, "treeview1");
829 GLADE_HOOKUP_OBJECT (top, alignment, "alignment12");
830 GLADE_HOOKUP_OBJECT (top, hbox, "hbox19");
831
832 return table;
833 };
834
835 GtkWidget*
836 create_page_operate (void)
837 {
838 GtkWidget *page_clips;
839 GtkWidget *hpaned1;
840 GtkWidget *hpaned0;
841 GtkWidget *frame1, *frame2;
842
843 page_clips = gtk_window_new (GTK_WINDOW_TOPLEVEL);
844 gtk_window_set_title (GTK_WINDOW (page_clips), _("page_operate"));
845 GLADE_HOOKUP_OBJECT_NO_REF (page_clips, page_clips, "page_operate");
846
847 hpaned0 = gtk_hpaned_new ();
848 gtk_widget_show (hpaned0);
849 gtk_container_add (GTK_CONTAINER (page_clips), hpaned0);
850 GLADE_HOOKUP_OBJECT (page_clips, hpaned0, "hpaned0");
851
852 frame1 = gtk_frame_new ("Playlist");
853 frame2 = gtk_frame_new ("Units");
854 gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
855 gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN);
856 gtk_widget_show(frame1);
857 GLADE_HOOKUP_OBJECT (page_clips, frame1, "page_clips");
858 gtk_widget_show(frame2);
859 GLADE_HOOKUP_OBJECT (page_clips, frame2, "page_status");
860
861 gtk_widget_set_size_request (hpaned0, 200 , -1);
862 gtk_paned_pack1 (GTK_PANED (hpaned0), frame1, TRUE, FALSE);
863 gtk_widget_set_size_request (frame1, 50, -1);
864 gtk_paned_pack2 (GTK_PANED (hpaned0), frame2, FALSE, FALSE);
865 gtk_widget_set_size_request (frame2, 250, -1);
866
867 create_pane_status (frame2, page_clips);
868
869 hpaned1 = gtk_hpaned_new ();
870 gtk_widget_show (hpaned1);
871 gtk_container_add (GTK_CONTAINER (frame1), hpaned1);
872 gtk_paned_set_position (GTK_PANED (hpaned1), 120);
873
874 gtk_paned_pack1 (GTK_PANED (hpaned1),
875 create_pane_filedir(page_clips),
876 FALSE, TRUE);
877
878 gtk_paned_pack2 (GTK_PANED (hpaned1),
879 create_pane_playlist(page_clips),
880 FALSE, TRUE);
881
882
883
884 /* Store pointers to all widgets, for use by lookup_widget(). */
885 GLADE_HOOKUP_OBJECT (page_clips, hpaned1, "hpaned1");
886
887 return page_clips;
888 }
889
890 GtkWidget*
891 create_page_shell (void)
892 {
893 GtkWidget *page_shell;
894 GtkWidget *vbox4;
895 GtkWidget *hbox6;
896 GtkWidget *label10;
897 GtkWidget *entry_command;
898 GtkWidget *button_command;
899 GtkWidget *alignment7;
900 GtkWidget *hbox14;
901 GtkWidget *image7;
902 GtkWidget *label38;
903 GtkWidget *button_command_clear;
904 GtkWidget *alignment8;
905 GtkWidget *hbox15;
906 GtkWidget *image8;
907 GtkWidget *label39;
908 GtkWidget *scrolledwindow3;
909 GtkWidget *textview_command;
910 GtkWidget *hbuttonbox3;
911
912 page_shell = gtk_window_new (GTK_WINDOW_TOPLEVEL);
913 gtk_window_set_title (GTK_WINDOW (page_shell), _("page_shell"));
914
915 vbox4 = gtk_vbox_new (FALSE, 0);
916 gtk_widget_show (vbox4);
917 gtk_container_add (GTK_CONTAINER (page_shell), vbox4);
918
919 hbox6 = gtk_hbox_new (FALSE, 0);
920 gtk_widget_show (hbox6);
921 gtk_box_pack_start (GTK_BOX (vbox4), hbox6, FALSE, TRUE, 0);
922
923 label10 = gtk_label_new (_("Command "));
924 gtk_widget_show (label10);
925 gtk_box_pack_start (GTK_BOX (hbox6), label10, FALSE, FALSE, 0);
926 gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT);
927
928 entry_command = gtk_entry_new ();
929 gtk_widget_show (entry_command);
930 gtk_box_pack_start (GTK_BOX (hbox6), entry_command, TRUE, TRUE, 0);
931
932 button_command = gtk_button_new ();
933 gtk_widget_show (button_command);
934 gtk_box_pack_start (GTK_BOX (hbox6), button_command, FALSE, FALSE, 0);
935 GTK_WIDGET_SET_FLAGS (button_command, GTK_CAN_DEFAULT);
936 gtk_button_set_relief (GTK_BUTTON (button_command), GTK_RELIEF_NONE);
937
938 alignment7 = gtk_alignment_new (0.5, 0.5, 0, 0);
939 gtk_widget_show (alignment7);
940 gtk_container_add (GTK_CONTAINER (button_command), alignment7);
941
942 hbox14 = gtk_hbox_new (FALSE, 2);
943 gtk_widget_show (hbox14);
944 gtk_container_add (GTK_CONTAINER (alignment7), hbox14);
945
946 image7 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON);
947 gtk_widget_show (image7);
948 gtk_box_pack_start (GTK_BOX (hbox14), image7, FALSE, FALSE, 0);
949
950 label38 = gtk_label_new_with_mnemonic (_("_OK"));
951 gtk_widget_show (label38);
952 gtk_box_pack_start (GTK_BOX (hbox14), label38, FALSE, FALSE, 0);
953 gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT);
954
955 button_command_clear = gtk_button_new ();
956 gtk_widget_show (button_command_clear);
957 gtk_box_pack_start (GTK_BOX (hbox6), button_command_clear, FALSE, FALSE, 0);
958 GTK_WIDGET_SET_FLAGS (button_command_clear, GTK_CAN_DEFAULT);
959 gtk_button_set_relief (GTK_BUTTON (button_command_clear), GTK_RELIEF_NONE);
960
961 alignment8 = gtk_alignment_new (0.5, 0.5, 0, 0);
962 gtk_widget_show (alignment8);
963 gtk_container_add (GTK_CONTAINER (button_command_clear), alignment8);
964
965 hbox15 = gtk_hbox_new (FALSE, 2);
966 gtk_widget_show (hbox15);
967 gtk_container_add (GTK_CONTAINER (alignment8), hbox15);
968
969 image8 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_BUTTON);
970 gtk_widget_show (image8);
971 gtk_box_pack_start (GTK_BOX (hbox15), image8, FALSE, FALSE, 0);
972
973 label39 = gtk_label_new_with_mnemonic (_("Clear"));
974 gtk_widget_show (label39);
975 gtk_box_pack_start (GTK_BOX (hbox15), label39, FALSE, FALSE, 0);
976 gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT);
977
978 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
979 gtk_widget_show (scrolledwindow3);
980 gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow3, TRUE, TRUE, 0);
981 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
982
983 textview_command = gtk_text_view_new ();
984 gtk_widget_show (textview_command);
985 gtk_container_add (GTK_CONTAINER (scrolledwindow3), textview_command);
986 GTK_WIDGET_UNSET_FLAGS (textview_command, GTK_CAN_FOCUS);
987 gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_command), FALSE);
988 gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview_command), GTK_WRAP_WORD);
989 gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview_command), FALSE);
990
991 hbuttonbox3 = gtk_hbutton_box_new ();
992 gtk_widget_show (hbuttonbox3);
993 gtk_box_pack_start (GTK_BOX (vbox4), hbuttonbox3, FALSE, TRUE, 0);
994 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3), GTK_BUTTONBOX_SPREAD);
995
996 /* Store pointers to all widgets, for use by lookup_widget(). */
997 GLADE_HOOKUP_OBJECT_NO_REF (page_shell, page_shell, "page_shell");
998 GLADE_HOOKUP_OBJECT (page_shell, vbox4, "vbox4");
999 GLADE_HOOKUP_OBJECT (page_shell, hbox6, "hbox6");
1000 GLADE_HOOKUP_OBJECT (page_shell, label10, "label10");
1001 GLADE_HOOKUP_OBJECT (page_shell, entry_command, "entry_command");
1002 GLADE_HOOKUP_OBJECT (page_shell, button_command, "button_command");
1003 GLADE_HOOKUP_OBJECT (page_shell, alignment7, "alignment7");
1004 GLADE_HOOKUP_OBJECT (page_shell, hbox14, "hbox14");
1005 GLADE_HOOKUP_OBJECT (page_shell, image7, "image7");
1006 GLADE_HOOKUP_OBJECT (page_shell, label38, "label38");
1007 GLADE_HOOKUP_OBJECT (page_shell, button_command_clear, "button_command_clear");
1008 GLADE_HOOKUP_OBJECT (page_shell, alignment8, "alignment8");
1009 GLADE_HOOKUP_OBJECT (page_shell, hbox15, "hbox15");
1010 GLADE_HOOKUP_OBJECT (page_shell, image8, "image8");
1011 GLADE_HOOKUP_OBJECT (page_shell, label39, "label39");
1012 GLADE_HOOKUP_OBJECT (page_shell, scrolledwindow3, "scrolledwindow3");
1013 GLADE_HOOKUP_OBJECT (page_shell, textview_command, "textview_command");
1014 GLADE_HOOKUP_OBJECT (page_shell, hbuttonbox3, "hbuttonbox3");
1015
1016 gtk_widget_grab_default (button_command);
1017 return page_shell;
1018 }
1019