2 * DO NOT EDIT THIS FILE - it is generated by Glade.
15 #include <gdk/gdkkeysyms.h>
18 #include "callbacks.h"
19 #include "interface.h"
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)
26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
27 g_object_set_data (G_OBJECT (component), name, widget)
31 create_buttons_transport(GtkWidget
*top
, int type
)
45 "Beginning of playlist",
46 "stock_media-begin-16.png"
51 "stock_media-prev-16.png"
56 "stock_media-rew-16.png"
61 "stock_media-prev-frame-16.png"
66 "stock_media-pause-16.png"
71 "stock_media-play-16.png"
76 "stock_media-stop-16.png"
81 "stock_media-next-frame-16.png"
86 "stock_media-fwd-16.png"
91 "stock_media-next-16.png"
96 "stock_media-end-16.png"
115 hbox
= gtk_hbox_new (FALSE
, 0);
116 gtk_widget_show (hbox
);
119 for(i
= 0; buttons
[i
].filename
; i
++)
121 GtkWidget
*transport
, *image
;
123 if ( type
!= buttons
[i
].type
)
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_set_size_request (transport
, 34, 25);
130 GTK_WIDGET_UNSET_FLAGS (transport
, GTK_CAN_FOCUS
);
131 gtk_button_set_relief (GTK_BUTTON (transport
), GTK_RELIEF_NONE
);
132 gtk_widget_set_tooltip_text (transport
, buttons
[i
].tooltip
);
134 image
= gtk_image_new_from_pixbuf(create_pixbuf(buttons
[i
].filename
));
135 gtk_widget_show (image
);
136 gtk_container_add (GTK_CONTAINER (transport
), image
);
138 snprintf(name
, sizeof(name
), "transport_%d", i
);
139 GLADE_HOOKUP_OBJECT (top
, transport
, name
);
141 snprintf(name
, sizeof(name
), "transport_image_%d", i
);
142 GLADE_HOOKUP_OBJECT (top
, image
, name
);
145 snprintf(name
, sizeof(name
), "buttons_transport_hbox_%d", type
);
146 GLADE_HOOKUP_OBJECT (top
, hbox
, name
);
153 create_block_buttons_transport(GtkWidget
*top
, int type
)
156 GtkWidget
*hbox
, *label
[2];
158 hbox
= gtk_hbox_new (FALSE
, 0);
159 gtk_widget_show (hbox
);
161 snprintf(name
, sizeof(name
), "bbt_label_%da", type
);
162 label
[0] = gtk_label_new (name
);
163 gtk_widget_show (label
[0]);
164 gtk_box_pack_start (GTK_BOX (hbox
), label
[0], TRUE
, TRUE
, 0);
165 gtk_label_set_justify (GTK_LABEL (label
[0]), GTK_JUSTIFY_LEFT
);
166 GLADE_HOOKUP_OBJECT (top
, label
[0], name
);
169 gtk_box_pack_start (GTK_BOX (hbox
),
170 create_buttons_transport(top
, type
),
173 snprintf(name
, sizeof(name
), "bbt_label_%db", type
);
174 label
[1] = gtk_label_new (name
);
175 gtk_widget_show (label
[1]);
176 gtk_box_pack_start (GTK_BOX (hbox
), label
[1], TRUE
, TRUE
, 0);
177 gtk_label_set_justify (GTK_LABEL (label
[1]), GTK_JUSTIFY_LEFT
);
178 GLADE_HOOKUP_OBJECT (top
, label
[0], name
);
184 create_gdv1394d (void)
188 // GtkWidget *handlebox2;
191 // GtkWidget *menubar;
192 // GtkWidget *menuitem1;
193 // GtkWidget *menuitem1_menu;
194 // GtkWidget *item_connect;
195 // GtkWidget *item_disconnect;
196 // GtkWidget *separatormenuitem1;
197 // GtkWidget *item_quit;
199 GtkWidget
*tmp_toolbar_icon
;
200 GtkWidget
*button_connect
;
201 GtkWidget
*button_disconnect
;
202 // GtkWidget *vseparator1;
203 // GtkWidget *button_quit;
205 // GtkWidget *toolbar2;
207 GtkWidget
*notebook1
;
208 GtkWidget
*empty_notebook_page
;
210 GtkWidget
*vbox_trim
;
211 GtkWidget
*statusbar
;
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);
217 vbox1
= gtk_vbox_new (FALSE
, 0);
218 gtk_widget_show (vbox1
);
219 gtk_container_add (GTK_CONTAINER (gdv1394d
), vbox1
);
221 // handlebox2 = gtk_handle_box_new ();
222 // gtk_widget_show (handlebox2);
223 // gtk_box_pack_start (GTK_BOX (vbox1), handlebox2, FALSE, FALSE, 0);
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);
230 vbox9
= gtk_vbox_new (FALSE
, 0);
231 gtk_widget_show (vbox9
);
232 gtk_box_pack_start (GTK_BOX (hbox27
), vbox9
, TRUE
, TRUE
, 0);
234 // menubar = gtk_menu_bar_new ();
235 // gtk_widget_show (menubar);
236 // gtk_box_pack_start (GTK_BOX (vbox9), menubar, TRUE, TRUE, 0);
238 // menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File"));
239 // gtk_widget_show (menuitem1);
240 // gtk_container_add (GTK_CONTAINER (menubar), menuitem1);
242 // menuitem1_menu = gtk_menu_new ();
243 // gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu);
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);
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);
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);
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);
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
);
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
,
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
);
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
,
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
);
287 gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1
));
289 // vseparator1 = gtk_vseparator_new ();
290 // gtk_widget_show (vseparator1);
291 // gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator1, NULL, NULL);
293 // tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-quit", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
294 // button_quit = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
295 // GTK_TOOLBAR_CHILD_BUTTON,
299 // tmp_toolbar_icon, NULL, NULL);
300 // gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
301 // gtk_widget_show (button_quit);
303 hbox
= gtk_hbox_new (FALSE
, 0);
304 gtk_widget_show (hbox
);
305 gtk_box_pack_start (GTK_BOX (vbox1
), hbox
, TRUE
, TRUE
, 0);
307 // toolbar2 = gtk_toolbar_new ();
308 // gtk_widget_show (toolbar2);
309 // gtk_box_pack_start (GTK_BOX (hbox), toolbar2, FALSE, TRUE, 0);
310 // gtk_toolbar_set_style (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_BOTH);
311 // gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar2), GTK_ORIENTATION_VERTICAL);
313 vbox6
= gtk_vbox_new (FALSE
, 0);
314 gtk_widget_show (vbox6
);
315 gtk_box_pack_start (GTK_BOX (hbox
), vbox6
, TRUE
, TRUE
, 0);
317 notebook1
= gtk_notebook_new ();
318 gtk_widget_show (notebook1
);
319 gtk_box_pack_start (GTK_BOX (vbox6
), notebook1
, TRUE
, TRUE
, 0);
320 GTK_WIDGET_UNSET_FLAGS (notebook1
, GTK_CAN_FOCUS
);
321 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook1
), FALSE
);
322 gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook1
), GTK_POS_RIGHT
);
323 gtk_notebook_popup_enable (GTK_NOTEBOOK (notebook1
));
324 gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook1
), FALSE
);
326 empty_notebook_page
= gtk_vbox_new (FALSE
, 0);
327 gtk_widget_show (empty_notebook_page
);
328 gtk_container_add (GTK_CONTAINER (notebook1
), empty_notebook_page
);
330 label40
= gtk_label_new ("label40");
331 gtk_widget_show (label40
);
332 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1
), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1
), 0), label40
);
333 gtk_label_set_justify (GTK_LABEL (label40
), GTK_JUSTIFY_LEFT
);
335 gtk_box_pack_start (GTK_BOX (vbox6
),
336 create_block_buttons_transport(gdv1394d
, 1),
339 gtk_box_pack_start (GTK_BOX (vbox6
),
340 create_block_buttons_transport(gdv1394d
, 2),
343 vbox_trim
= gtk_vbox_new (FALSE
, 0);
344 gtk_widget_show (vbox_trim
);
345 gtk_box_pack_start (GTK_BOX (vbox6
), vbox_trim
, FALSE
, TRUE
, 0);
347 statusbar
= gtk_statusbar_new ();
348 gtk_widget_show (statusbar
);
349 gtk_box_pack_start (GTK_BOX (vbox1
), statusbar
, FALSE
, FALSE
, 0);
351 /* Store pointers to all widgets, for use by lookup_widget(). */
352 GLADE_HOOKUP_OBJECT_NO_REF (gdv1394d
, gdv1394d
, "gdv1394d");
353 GLADE_HOOKUP_OBJECT (gdv1394d
, vbox1
, "vbox1");
354 // GLADE_HOOKUP_OBJECT (gdv1394d, handlebox2, "handlebox2");
355 GLADE_HOOKUP_OBJECT (gdv1394d
, hbox27
, "hbox27");
356 GLADE_HOOKUP_OBJECT (gdv1394d
, vbox9
, "vbox9");
357 // GLADE_HOOKUP_OBJECT (gdv1394d, menubar, "menubar");
358 // GLADE_HOOKUP_OBJECT (gdv1394d, menuitem1, "menuitem1");
359 // GLADE_HOOKUP_OBJECT (gdv1394d, menuitem1_menu, "menuitem1_menu");
360 // GLADE_HOOKUP_OBJECT (gdv1394d, item_connect, "item_connect");
361 // GLADE_HOOKUP_OBJECT (gdv1394d, item_disconnect, "item_disconnect");
362 // GLADE_HOOKUP_OBJECT (gdv1394d, separatormenuitem1, "separatormenuitem1");
363 // GLADE_HOOKUP_OBJECT (gdv1394d, item_quit, "item_quit");
364 GLADE_HOOKUP_OBJECT (gdv1394d
, toolbar1
, "toolbar1");
365 GLADE_HOOKUP_OBJECT (gdv1394d
, button_connect
, "button_connect");
366 GLADE_HOOKUP_OBJECT (gdv1394d
, button_disconnect
, "button_disconnect");
367 // GLADE_HOOKUP_OBJECT (gdv1394d, vseparator1, "vseparator1");
368 // GLADE_HOOKUP_OBJECT (gdv1394d, button_quit, "button_quit");
369 GLADE_HOOKUP_OBJECT (gdv1394d
, hbox
, "hbox");
370 // GLADE_HOOKUP_OBJECT (gdv1394d, toolbar2, "toolbar2");
371 GLADE_HOOKUP_OBJECT (gdv1394d
, vbox6
, "vbox6");
372 GLADE_HOOKUP_OBJECT (gdv1394d
, notebook1
, "notebook1");
373 GLADE_HOOKUP_OBJECT (gdv1394d
, label40
, "label40");
374 GLADE_HOOKUP_OBJECT (gdv1394d
, vbox_trim
, "vbox_trim");
375 GLADE_HOOKUP_OBJECT (gdv1394d
, statusbar
, "statusbar");
381 create_window_connection (void)
383 GtkWidget
*window_connection
;
387 GtkWidget
*entry_server
;
388 GtkWidget
*hbuttonbox4
;
389 GtkWidget
*button_connect
;
390 GtkWidget
*alignment2
;
394 GtkWidget
*button_cancel
;
395 GtkWidget
*alignment3
;
400 GtkWidget
*entry_port
;
401 GtkAccelGroup
*accel_group
;
403 accel_group
= gtk_accel_group_new ();
405 window_connection
= gtk_window_new (GTK_WINDOW_TOPLEVEL
);
406 gtk_window_set_title (GTK_WINDOW (window_connection
), _("Connection"));
407 gtk_window_set_position (GTK_WINDOW (window_connection
), GTK_WIN_POS_MOUSE
);
408 gtk_window_set_modal (GTK_WINDOW (window_connection
), TRUE
);
409 gtk_window_set_resizable (GTK_WINDOW (window_connection
), FALSE
);
410 gtk_container_set_border_width (GTK_CONTAINER (window_connection
), 8);
412 table2
= gtk_table_new (3, 2, FALSE
);
413 gtk_widget_show (table2
);
414 gtk_container_add (GTK_CONTAINER (window_connection
), table2
);
415 gtk_table_set_row_spacings (GTK_TABLE (table2
), 8);
416 gtk_table_set_col_spacings (GTK_TABLE (table2
), 8);
418 label30
= gtk_label_new (_("Server "));
419 gtk_widget_show (label30
);
420 gtk_table_attach (GTK_TABLE (table2
), label30
, 0, 1, 0, 1,
421 (GtkAttachOptions
) (GTK_FILL
),
422 (GtkAttachOptions
) (0), 0, 0);
423 gtk_label_set_justify (GTK_LABEL (label30
), GTK_JUSTIFY_LEFT
);
424 gtk_misc_set_alignment (GTK_MISC (label30
), 0, 0.5);
426 label31
= gtk_label_new (_("Port"));
427 gtk_widget_show (label31
);
428 gtk_table_attach (GTK_TABLE (table2
), label31
, 0, 1, 1, 2,
429 (GtkAttachOptions
) (GTK_FILL
),
430 (GtkAttachOptions
) (0), 0, 0);
431 gtk_label_set_justify (GTK_LABEL (label31
), GTK_JUSTIFY_LEFT
);
432 gtk_misc_set_alignment (GTK_MISC (label31
), 0, 0.5);
434 entry_server
= gtk_entry_new ();
435 gtk_widget_show (entry_server
);
436 gtk_table_attach (GTK_TABLE (table2
), entry_server
, 1, 2, 0, 1,
437 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
438 (GtkAttachOptions
) (0), 0, 0);
439 gtk_entry_set_text (GTK_ENTRY (entry_server
), _("localhost"));
441 hbuttonbox4
= gtk_hbutton_box_new ();
442 gtk_widget_show (hbuttonbox4
);
443 gtk_table_attach (GTK_TABLE (table2
), hbuttonbox4
, 1, 2, 2, 3,
444 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
445 (GtkAttachOptions
) (0), 0, 0);
446 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4
), GTK_BUTTONBOX_SPREAD
);
448 button_cancel
= gtk_button_new ();
449 gtk_widget_show (button_cancel
);
450 gtk_container_add (GTK_CONTAINER (hbuttonbox4
), button_cancel
);
451 GTK_WIDGET_SET_FLAGS (button_cancel
, GTK_CAN_DEFAULT
);
452 gtk_button_set_relief (GTK_BUTTON (button_cancel
), GTK_RELIEF_NONE
);
454 alignment3
= gtk_alignment_new (0.5, 0.5, 0, 0);
455 gtk_widget_show (alignment3
);
456 gtk_container_add (GTK_CONTAINER (button_cancel
), alignment3
);
458 hbox9
= gtk_hbox_new (FALSE
, 2);
459 gtk_widget_show (hbox9
);
460 gtk_container_add (GTK_CONTAINER (alignment3
), hbox9
);
462 image3
= gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON
);
463 gtk_widget_show (image3
);
464 gtk_box_pack_start (GTK_BOX (hbox9
), image3
, FALSE
, FALSE
, 0);
466 label33
= gtk_label_new_with_mnemonic (_("Cancel"));
467 gtk_widget_show (label33
);
468 gtk_box_pack_start (GTK_BOX (hbox9
), label33
, FALSE
, FALSE
, 0);
469 gtk_label_set_justify (GTK_LABEL (label33
), GTK_JUSTIFY_LEFT
);
471 button_connect
= gtk_button_new ();
472 gtk_widget_show (button_connect
);
473 gtk_container_add (GTK_CONTAINER (hbuttonbox4
), button_connect
);
474 GTK_WIDGET_SET_FLAGS (button_connect
, GTK_CAN_DEFAULT
);
475 gtk_widget_add_accelerator (button_connect
, "clicked", accel_group
,
478 gtk_button_set_relief (GTK_BUTTON (button_connect
), GTK_RELIEF_NONE
);
480 alignment2
= gtk_alignment_new (0.5, 0.5, 0, 0);
481 gtk_widget_show (alignment2
);
482 gtk_container_add (GTK_CONTAINER (button_connect
), alignment2
);
484 hbox8
= gtk_hbox_new (FALSE
, 2);
485 gtk_widget_show (hbox8
);
486 gtk_container_add (GTK_CONTAINER (alignment2
), hbox8
);
488 image2
= gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON
);
489 gtk_widget_show (image2
);
490 gtk_box_pack_start (GTK_BOX (hbox8
), image2
, FALSE
, FALSE
, 0);
492 label32
= gtk_label_new_with_mnemonic (_("Connect"));
493 gtk_widget_show (label32
);
494 gtk_box_pack_start (GTK_BOX (hbox8
), label32
, FALSE
, FALSE
, 0);
495 gtk_label_set_justify (GTK_LABEL (label32
), GTK_JUSTIFY_LEFT
);
497 hbox10
= gtk_hbox_new (FALSE
, 0);
498 gtk_widget_show (hbox10
);
499 gtk_table_attach (GTK_TABLE (table2
), hbox10
, 1, 2, 1, 2,
500 (GtkAttachOptions
) (GTK_FILL
),
501 (GtkAttachOptions
) (GTK_FILL
), 0, 0);
503 entry_port
= gtk_entry_new ();
504 gtk_widget_show (entry_port
);
505 gtk_box_pack_start (GTK_BOX (hbox10
), entry_port
, FALSE
, TRUE
, 0);
506 gtk_entry_set_max_length (GTK_ENTRY (entry_port
), 5);
507 gtk_entry_set_text (GTK_ENTRY (entry_port
), _("5250"));
508 gtk_entry_set_width_chars (GTK_ENTRY (entry_port
), 5);
510 /* Store pointers to all widgets, for use by lookup_widget(). */
511 GLADE_HOOKUP_OBJECT_NO_REF (window_connection
, window_connection
, "window_connection");
512 GLADE_HOOKUP_OBJECT (window_connection
, table2
, "table2");
513 GLADE_HOOKUP_OBJECT (window_connection
, label30
, "label30");
514 GLADE_HOOKUP_OBJECT (window_connection
, label31
, "label31");
515 GLADE_HOOKUP_OBJECT (window_connection
, entry_server
, "entry_server");
516 GLADE_HOOKUP_OBJECT (window_connection
, hbuttonbox4
, "hbuttonbox4");
517 GLADE_HOOKUP_OBJECT (window_connection
, button_connect
, "button_connect");
518 GLADE_HOOKUP_OBJECT (window_connection
, alignment2
, "alignment2");
519 GLADE_HOOKUP_OBJECT (window_connection
, hbox8
, "hbox8");
520 GLADE_HOOKUP_OBJECT (window_connection
, image2
, "image2");
521 GLADE_HOOKUP_OBJECT (window_connection
, label32
, "label32");
522 GLADE_HOOKUP_OBJECT (window_connection
, button_cancel
, "button_cancel");
523 GLADE_HOOKUP_OBJECT (window_connection
, alignment3
, "alignment3");
524 GLADE_HOOKUP_OBJECT (window_connection
, hbox9
, "hbox9");
525 GLADE_HOOKUP_OBJECT (window_connection
, image3
, "image3");
526 GLADE_HOOKUP_OBJECT (window_connection
, label33
, "label33");
527 GLADE_HOOKUP_OBJECT (window_connection
, hbox10
, "hbox10");
528 GLADE_HOOKUP_OBJECT (window_connection
, entry_port
, "entry_port");
530 gtk_widget_grab_default (button_connect
);
531 gtk_window_add_accel_group (GTK_WINDOW (window_connection
), accel_group
);
533 return window_connection
;
536 static GtkWidget
* create_pane_status (GtkWidget
* parent
, GtkWidget
* top
)
541 GtkWidget
*scrolledwindow
;
544 GSList
*radiobutton_group
= NULL
;
546 // create a scrolled area
547 scrolledwindow
= gtk_scrolled_window_new (NULL
, NULL
);
548 gtk_widget_show (scrolledwindow
);
550 gtk_container_add (GTK_CONTAINER (parent
), scrolledwindow
);
551 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow
), GTK_POLICY_AUTOMATIC
, GTK_POLICY_AUTOMATIC
);
552 GLADE_HOOKUP_OBJECT (top
, scrolledwindow
, "scrolledwindow4");
555 viewport
= gtk_viewport_new (NULL
, NULL
);
556 gtk_widget_show (viewport
);
557 gtk_container_add (GTK_CONTAINER (scrolledwindow
), viewport
);
558 GLADE_HOOKUP_OBJECT (top
, viewport
, "viewport1");
560 // create a table for displaying radios
561 table
= gtk_table_new (32, 1, FALSE
);
562 gtk_widget_show (table
);
563 gtk_container_add (GTK_CONTAINER (viewport
), table
);
564 GLADE_HOOKUP_OBJECT (top
, table
, "table3");
566 for (i
= 0; i
< 16; i
++)
568 GtkWidget
*label_unit
;
569 GtkWidget
*radiobutton
;
572 snprintf(buf
, sizeof(buf
), "%.2d", i
);
573 label_unit
= gtk_label_new (buf
);
574 gtk_table_attach (GTK_TABLE (table
), label_unit
, 0, 1, i
* 2 + 1, i
* 2 + 2,
575 (GtkAttachOptions
) (GTK_FILL
),
576 (GtkAttachOptions
) (0), 0, 0);
577 gtk_label_set_justify (GTK_LABEL (label_unit
), GTK_JUSTIFY_LEFT
);
578 gtk_misc_set_alignment (GTK_MISC (label_unit
), 0, 0.5);
579 snprintf(buf
, sizeof(buf
), "label_unit_%d", i
);
580 GLADE_HOOKUP_OBJECT (top
, label_unit
, buf
);
583 radiobutton
= gtk_radio_button_new_with_mnemonic (NULL
, _("<disconnected>"));
584 gtk_table_attach (GTK_TABLE (table
), radiobutton
, 0, 1, i
* 2, i
* 2 + 1,
585 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
586 (GtkAttachOptions
) (0), 0, 0);
587 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton
), radiobutton_group
);
588 radiobutton_group
= gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton
));
589 snprintf(buf
, sizeof(buf
), "radiobutton_%d", i
);
590 GLADE_HOOKUP_OBJECT (top
, radiobutton
, buf
);
593 return scrolledwindow
;
598 create_playlist_buttons( GtkWidget
* parent
, GtkWidget
* top
)
613 "button_clips_refresh",
640 "Remove all but current clip",
646 NULL
, NULL
, NULL
, NULL
650 GtkWidget
*label44
, *label45
, *hbuttonbox5
;
652 label44
= gtk_label_new (_(" "));
653 gtk_widget_show (label44
);
654 gtk_box_pack_start (GTK_BOX (parent
), label44
, TRUE
, TRUE
, 0);
655 gtk_label_set_justify (GTK_LABEL (label44
), GTK_JUSTIFY_LEFT
);
657 for(i
= 0; buttons
[i
].stock
; i
++)
659 GtkWidget
*button
, *alignment
, *hbox
, *image
, *label
;
661 button
= gtk_button_new ();
662 gtk_widget_show (button
);
663 gtk_box_pack_start (GTK_BOX (parent
), button
, FALSE
, FALSE
, 0);
664 GTK_WIDGET_UNSET_FLAGS (button
, GTK_CAN_FOCUS
);
665 GTK_WIDGET_SET_FLAGS (button
, GTK_CAN_DEFAULT
);
666 gtk_button_set_relief (GTK_BUTTON (button
), GTK_RELIEF_NONE
);
667 gtk_widget_set_tooltip_text (button
, buttons
[i
].tooltip
);
669 alignment
= gtk_alignment_new (0, 0.5, 0, 0);
670 gtk_widget_show (alignment
);
671 gtk_container_add (GTK_CONTAINER (button
), alignment
);
673 hbox
= gtk_hbox_new (FALSE
, 2);
674 gtk_widget_show (hbox
);
675 gtk_container_add (GTK_CONTAINER (alignment
), hbox
);
677 image
= gtk_image_new_from_stock (buttons
[i
].stock
, GTK_ICON_SIZE_MENU
);
678 gtk_widget_show (image
);
679 gtk_box_pack_start (GTK_BOX (hbox
), image
, FALSE
, FALSE
, 0);
681 label
= gtk_label_new_with_mnemonic (buttons
[i
].label
);
682 gtk_widget_show (label
);
683 gtk_box_pack_start (GTK_BOX (hbox
), label
, FALSE
, FALSE
, 0);
684 gtk_label_set_justify (GTK_LABEL (label
), GTK_JUSTIFY_LEFT
);
686 GLADE_HOOKUP_OBJECT (top
, button
, buttons
[i
].hookup
);
689 hbuttonbox5
= gtk_hbutton_box_new ();
690 gtk_widget_show (hbuttonbox5
);
691 gtk_box_pack_start (GTK_BOX (parent
), hbuttonbox5
, FALSE
, FALSE
, 0);
693 label45
= gtk_label_new (_(" "));
694 gtk_widget_show (label45
);
695 gtk_box_pack_start (GTK_BOX (parent
), label45
, TRUE
, TRUE
, 0);
696 gtk_label_set_justify (GTK_LABEL (label45
), GTK_JUSTIFY_LEFT
);
703 create_pane_filedir( GtkWidget
* top
)
706 GtkWidget
* scrolledwindow
[2];
708 GtkWidget
* label_directory
;
711 /* create vbox for label pack */
712 vbox
= gtk_vbox_new (FALSE
, 0);
713 gtk_widget_show (vbox
);
715 /* create a label for dir name */
716 label_directory
= gtk_label_new (_("Disconnected"));
717 gtk_widget_show (label_directory
);
718 gtk_box_pack_start (GTK_BOX (vbox
), label_directory
, FALSE
, FALSE
, 0);
719 gtk_misc_set_alignment (GTK_MISC (label_directory
), 0, 0.5);
720 GLADE_HOOKUP_OBJECT (top
, label_directory
, "label_directory");
722 /* create a vertical pane for dirs list and clips list */
723 vpaned
= gtk_vpaned_new ();
724 gtk_widget_show (vpaned
);
725 gtk_box_pack_start (GTK_BOX (vbox
), vpaned
, TRUE
, TRUE
, 0);
727 /* create two scrolled window for lists areas */
728 scrolledwindow
[0] = gtk_scrolled_window_new (NULL
, NULL
);
729 gtk_widget_show (scrolledwindow
[0]);
730 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow
[0]),
731 GTK_POLICY_AUTOMATIC
, GTK_POLICY_AUTOMATIC
);
732 scrolledwindow
[1] = gtk_scrolled_window_new (NULL
, NULL
);
733 gtk_widget_show (scrolledwindow
[1]);
734 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow
[1]),
735 GTK_POLICY_AUTOMATIC
, GTK_POLICY_AUTOMATIC
);
738 gtk_widget_set_size_request (vpaned
, 400 , -1);
739 gtk_paned_pack1 (GTK_PANED (vpaned
), scrolledwindow
[0], FALSE
, FALSE
);
740 gtk_widget_set_size_request (scrolledwindow
[0], 150, -1);
741 gtk_paned_pack2 (GTK_PANED (vpaned
), scrolledwindow
[1], TRUE
, FALSE
);
742 gtk_widget_set_size_request (scrolledwindow
[1], 250, -1);
745 list
[0] = gtk_tree_view_new ();
746 gtk_widget_show (list
[0]);
747 gtk_container_add (GTK_CONTAINER (scrolledwindow
[0]), list
[0]);
748 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list
[0]), FALSE
);
749 GLADE_HOOKUP_OBJECT (top
, list
[0], "list_dir");
752 list
[1] = gtk_tree_view_new ();
753 gtk_widget_show (list
[1]);
754 gtk_container_add (GTK_CONTAINER (scrolledwindow
[1]), list
[1]);
755 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list
[1]), FALSE
);
756 gtk_tree_view_set_enable_search (GTK_TREE_VIEW (list
[1]), FALSE
);
757 GLADE_HOOKUP_OBJECT (top
, list
[1], "list_clips");
759 gtk_widget_grab_focus (list
[0]);
766 create_pane_playlist( GtkWidget
* top
)
769 GtkWidget
*scrolledwindow
;
771 GtkWidget
*alignment
;
774 table
= gtk_table_new (2, 1, FALSE
);
776 scrolledwindow
= gtk_scrolled_window_new (NULL
, NULL
);
777 gtk_widget_show (scrolledwindow
);
778 gtk_table_attach (GTK_TABLE (table
), scrolledwindow
, 0, 1, 1, 2,
779 (GtkAttachOptions
) (GTK_EXPAND
| GTK_SHRINK
| GTK_FILL
),
780 (GtkAttachOptions
) (GTK_EXPAND
| GTK_SHRINK
| GTK_FILL
), 0, 0);
781 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow
),
782 GTK_POLICY_AUTOMATIC
, GTK_POLICY_AUTOMATIC
);
784 treeview
= gtk_tree_view_new ();
785 gtk_widget_show (treeview
);
786 gtk_container_add (GTK_CONTAINER (scrolledwindow
), treeview
);
788 alignment
= gtk_alignment_new (0.5, 0.5, 1, 1);
789 gtk_widget_show (alignment
);
790 gtk_table_attach (GTK_TABLE (table
), alignment
, 0, 1, 0, 1,
791 (GtkAttachOptions
) (GTK_FILL
),
792 (GtkAttachOptions
) (GTK_FILL
), 0, 0);
794 hbox
= gtk_hbox_new (FALSE
, 0);
795 gtk_widget_show (hbox
);
796 gtk_container_add (GTK_CONTAINER (alignment
), hbox
);
798 create_playlist_buttons(hbox
, top
);
800 GLADE_HOOKUP_OBJECT (top
, table
, "table4");
801 GLADE_HOOKUP_OBJECT (top
, scrolledwindow
, "scrolledwindow5");
802 GLADE_HOOKUP_OBJECT (top
, treeview
, "treeview1");
803 GLADE_HOOKUP_OBJECT (top
, alignment
, "alignment12");
804 GLADE_HOOKUP_OBJECT (top
, hbox
, "hbox19");
810 create_page_operate (void)
812 GtkWidget
*page_clips
;
815 GtkWidget
*frame1
, *frame2
;
817 page_clips
= gtk_window_new (GTK_WINDOW_TOPLEVEL
);
818 gtk_window_set_title (GTK_WINDOW (page_clips
), _("page_operate"));
819 GLADE_HOOKUP_OBJECT_NO_REF (page_clips
, page_clips
, "page_operate");
821 hpaned0
= gtk_hpaned_new ();
822 gtk_widget_show (hpaned0
);
823 gtk_container_add (GTK_CONTAINER (page_clips
), hpaned0
);
824 GLADE_HOOKUP_OBJECT (page_clips
, hpaned0
, "hpaned0");
826 frame1
= gtk_frame_new ("Playlist");
827 frame2
= gtk_frame_new ("Units");
828 gtk_frame_set_shadow_type (GTK_FRAME (frame1
), GTK_SHADOW_IN
);
829 gtk_frame_set_shadow_type (GTK_FRAME (frame2
), GTK_SHADOW_IN
);
830 gtk_widget_show(frame1
);
831 GLADE_HOOKUP_OBJECT (page_clips
, frame1
, "page_clips");
832 gtk_widget_show(frame2
);
833 GLADE_HOOKUP_OBJECT (page_clips
, frame2
, "page_status");
835 gtk_widget_set_size_request (hpaned0
, 200 , -1);
836 gtk_paned_pack1 (GTK_PANED (hpaned0
), frame1
, TRUE
, FALSE
);
837 gtk_widget_set_size_request (frame1
, 50, -1);
838 gtk_paned_pack2 (GTK_PANED (hpaned0
), frame2
, FALSE
, FALSE
);
839 gtk_widget_set_size_request (frame2
, 250, -1);
841 create_pane_status (frame2
, page_clips
);
843 hpaned1
= gtk_hpaned_new ();
844 gtk_widget_show (hpaned1
);
845 gtk_container_add (GTK_CONTAINER (frame1
), hpaned1
);
846 gtk_paned_set_position (GTK_PANED (hpaned1
), 120);
848 gtk_paned_pack1 (GTK_PANED (hpaned1
),
849 create_pane_filedir(page_clips
),
852 gtk_paned_pack2 (GTK_PANED (hpaned1
),
853 create_pane_playlist(page_clips
),
858 /* Store pointers to all widgets, for use by lookup_widget(). */
859 GLADE_HOOKUP_OBJECT (page_clips
, hpaned1
, "hpaned1");
865 create_page_shell (void)
867 GtkWidget
*page_shell
;
871 GtkWidget
*entry_command
;
872 GtkWidget
*button_command
;
873 GtkWidget
*alignment7
;
877 GtkWidget
*button_command_clear
;
878 GtkWidget
*alignment8
;
882 GtkWidget
*scrolledwindow3
;
883 GtkWidget
*textview_command
;
884 GtkWidget
*hbuttonbox3
;
886 page_shell
= gtk_window_new (GTK_WINDOW_TOPLEVEL
);
887 gtk_window_set_title (GTK_WINDOW (page_shell
), _("page_shell"));
889 vbox4
= gtk_vbox_new (FALSE
, 0);
890 gtk_widget_show (vbox4
);
891 gtk_container_add (GTK_CONTAINER (page_shell
), vbox4
);
893 hbox6
= gtk_hbox_new (FALSE
, 0);
894 gtk_widget_show (hbox6
);
895 gtk_box_pack_start (GTK_BOX (vbox4
), hbox6
, FALSE
, TRUE
, 0);
897 label10
= gtk_label_new (_("Command "));
898 gtk_widget_show (label10
);
899 gtk_box_pack_start (GTK_BOX (hbox6
), label10
, FALSE
, FALSE
, 0);
900 gtk_label_set_justify (GTK_LABEL (label10
), GTK_JUSTIFY_LEFT
);
902 entry_command
= gtk_entry_new ();
903 gtk_widget_show (entry_command
);
904 gtk_box_pack_start (GTK_BOX (hbox6
), entry_command
, TRUE
, TRUE
, 0);
906 button_command
= gtk_button_new ();
907 gtk_widget_show (button_command
);
908 gtk_box_pack_start (GTK_BOX (hbox6
), button_command
, FALSE
, FALSE
, 0);
909 GTK_WIDGET_SET_FLAGS (button_command
, GTK_CAN_DEFAULT
);
910 gtk_button_set_relief (GTK_BUTTON (button_command
), GTK_RELIEF_NONE
);
912 alignment7
= gtk_alignment_new (0.5, 0.5, 0, 0);
913 gtk_widget_show (alignment7
);
914 gtk_container_add (GTK_CONTAINER (button_command
), alignment7
);
916 hbox14
= gtk_hbox_new (FALSE
, 2);
917 gtk_widget_show (hbox14
);
918 gtk_container_add (GTK_CONTAINER (alignment7
), hbox14
);
920 image7
= gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON
);
921 gtk_widget_show (image7
);
922 gtk_box_pack_start (GTK_BOX (hbox14
), image7
, FALSE
, FALSE
, 0);
924 label38
= gtk_label_new_with_mnemonic (_("_OK"));
925 gtk_widget_show (label38
);
926 gtk_box_pack_start (GTK_BOX (hbox14
), label38
, FALSE
, FALSE
, 0);
927 gtk_label_set_justify (GTK_LABEL (label38
), GTK_JUSTIFY_LEFT
);
929 button_command_clear
= gtk_button_new ();
930 gtk_widget_show (button_command_clear
);
931 gtk_box_pack_start (GTK_BOX (hbox6
), button_command_clear
, FALSE
, FALSE
, 0);
932 GTK_WIDGET_SET_FLAGS (button_command_clear
, GTK_CAN_DEFAULT
);
933 gtk_button_set_relief (GTK_BUTTON (button_command_clear
), GTK_RELIEF_NONE
);
935 alignment8
= gtk_alignment_new (0.5, 0.5, 0, 0);
936 gtk_widget_show (alignment8
);
937 gtk_container_add (GTK_CONTAINER (button_command_clear
), alignment8
);
939 hbox15
= gtk_hbox_new (FALSE
, 2);
940 gtk_widget_show (hbox15
);
941 gtk_container_add (GTK_CONTAINER (alignment8
), hbox15
);
943 image8
= gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_BUTTON
);
944 gtk_widget_show (image8
);
945 gtk_box_pack_start (GTK_BOX (hbox15
), image8
, FALSE
, FALSE
, 0);
947 label39
= gtk_label_new_with_mnemonic (_("Clear"));
948 gtk_widget_show (label39
);
949 gtk_box_pack_start (GTK_BOX (hbox15
), label39
, FALSE
, FALSE
, 0);
950 gtk_label_set_justify (GTK_LABEL (label39
), GTK_JUSTIFY_LEFT
);
952 scrolledwindow3
= gtk_scrolled_window_new (NULL
, NULL
);
953 gtk_widget_show (scrolledwindow3
);
954 gtk_box_pack_start (GTK_BOX (vbox4
), scrolledwindow3
, TRUE
, TRUE
, 0);
955 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3
), GTK_POLICY_AUTOMATIC
, GTK_POLICY_AUTOMATIC
);
957 textview_command
= gtk_text_view_new ();
958 gtk_widget_show (textview_command
);
959 gtk_container_add (GTK_CONTAINER (scrolledwindow3
), textview_command
);
960 GTK_WIDGET_UNSET_FLAGS (textview_command
, GTK_CAN_FOCUS
);
961 gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_command
), FALSE
);
962 gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview_command
), GTK_WRAP_WORD
);
963 gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview_command
), FALSE
);
965 hbuttonbox3
= gtk_hbutton_box_new ();
966 gtk_widget_show (hbuttonbox3
);
967 gtk_box_pack_start (GTK_BOX (vbox4
), hbuttonbox3
, FALSE
, TRUE
, 0);
968 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3
), GTK_BUTTONBOX_SPREAD
);
970 /* Store pointers to all widgets, for use by lookup_widget(). */
971 GLADE_HOOKUP_OBJECT_NO_REF (page_shell
, page_shell
, "page_shell");
972 GLADE_HOOKUP_OBJECT (page_shell
, vbox4
, "vbox4");
973 GLADE_HOOKUP_OBJECT (page_shell
, hbox6
, "hbox6");
974 GLADE_HOOKUP_OBJECT (page_shell
, label10
, "label10");
975 GLADE_HOOKUP_OBJECT (page_shell
, entry_command
, "entry_command");
976 GLADE_HOOKUP_OBJECT (page_shell
, button_command
, "button_command");
977 GLADE_HOOKUP_OBJECT (page_shell
, alignment7
, "alignment7");
978 GLADE_HOOKUP_OBJECT (page_shell
, hbox14
, "hbox14");
979 GLADE_HOOKUP_OBJECT (page_shell
, image7
, "image7");
980 GLADE_HOOKUP_OBJECT (page_shell
, label38
, "label38");
981 GLADE_HOOKUP_OBJECT (page_shell
, button_command_clear
, "button_command_clear");
982 GLADE_HOOKUP_OBJECT (page_shell
, alignment8
, "alignment8");
983 GLADE_HOOKUP_OBJECT (page_shell
, hbox15
, "hbox15");
984 GLADE_HOOKUP_OBJECT (page_shell
, image8
, "image8");
985 GLADE_HOOKUP_OBJECT (page_shell
, label39
, "label39");
986 GLADE_HOOKUP_OBJECT (page_shell
, scrolledwindow3
, "scrolledwindow3");
987 GLADE_HOOKUP_OBJECT (page_shell
, textview_command
, "textview_command");
988 GLADE_HOOKUP_OBJECT (page_shell
, hbuttonbox3
, "hbuttonbox3");
990 gtk_widget_grab_default (button_command
);