void sfe_ui_TitleToggle(GtkWidget *w, GtkWidget *menuitem) { SFE_Globals.HideColTitles = !SFE_Globals.HideColTitles; if (SFE_Globals.HideColTitles) { gtk_clist_column_titles_hide(GTK_CLIST(SFE_Globals.AttrsCList)); } else { gtk_clist_column_titles_show(GTK_CLIST(SFE_Globals.AttrsCList)); } return; }
/* The user clicked the "Hide/Show titles" button. */ void button_hide_show_clicked( gpointer data ) { /* Just a flag to remember the status. 0 = currently visible */ static short int flag = 0; if (flag == 0) { /* Hide the titles and set the flag to 1 */ gtk_clist_column_titles_hide ((GtkCList *)data); flag++; } else { /* Show the titles and reset flag to 0 */ gtk_clist_column_titles_show ((GtkCList *)data); flag--; } return; }
GtkWidget * create_SkinBrowser( void ) { GtkWidget * vbox5; GtkWidget * scrolledwindow1; GtkWidget * hbuttonbox4; GtkWidget * Cancel; GtkWidget * Ok; GtkAccelGroup * accel_group; accel_group = gtk_accel_group_new (); SkinBrowser=gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_widget_set_name( SkinBrowser,MSGTR_SkinBrowser ); gtk_object_set_data( GTK_OBJECT( SkinBrowser ),MSGTR_SkinBrowser,SkinBrowser ); gtk_widget_set_usize( SkinBrowser,256,320 ); gtk_container_set_border_width( GTK_CONTAINER( SkinBrowser ),1 ); GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_DEFAULT ); gtk_widget_set_events( SkinBrowser,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); gtk_window_set_title( GTK_WINDOW( SkinBrowser ),MSGTR_SkinBrowser ); gtk_window_set_position( GTK_WINDOW( SkinBrowser ),GTK_WIN_POS_CENTER ); gtk_window_set_policy( GTK_WINDOW( SkinBrowser ),FALSE,FALSE,TRUE ); gtk_window_set_wmclass( GTK_WINDOW( SkinBrowser ),"SkinBrowser","MPlayer" ); gtk_widget_realize( SkinBrowser ); gtkAddIcon( SkinBrowser ); vbox5=AddVBox( AddDialogFrame( SkinBrowser ),0 ); AddLabel( MSGTR_SKIN_LABEL,vbox5 ); AddHSeparator( vbox5 ); scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); gtk_widget_ref( scrolledwindow1 ); gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"scrolledwindow1",scrolledwindow1,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( scrolledwindow1 ); gtk_box_pack_start( GTK_BOX( vbox5 ),scrolledwindow1,TRUE,TRUE,0 ); gtk_container_set_border_width( GTK_CONTAINER( scrolledwindow1 ),2 ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); SkinList=gtk_clist_new( 1 ); gtk_widget_set_name( SkinList,"SkinList" ); gtk_widget_ref( SkinList ); gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"SkinList",SkinList,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( SkinList ); gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),SkinList ); gtk_clist_set_column_width( GTK_CLIST( SkinList ),0,80 ); gtk_clist_set_selection_mode( GTK_CLIST( SkinList ),GTK_SELECTION_SINGLE ); gtk_clist_column_titles_hide( GTK_CLIST( SkinList ) ); gtk_clist_set_shadow_type( GTK_CLIST( SkinList ),GTK_SHADOW_ETCHED_OUT ); AddHSeparator( vbox5 ); hbuttonbox4=AddHButtonBox( vbox5 ); gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox4 ),GTK_BUTTONBOX_SPREAD ); gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox4 ),10 ); Ok=AddButton( MSGTR_Ok,hbuttonbox4 ); Cancel=AddButton( MSGTR_Cancel,hbuttonbox4 ); gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&SkinBrowser ); gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row",GTK_SIGNAL_FUNC( on_SkinList_select_row ),NULL ); gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void *)1 ); gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void *)0 ); if ( ( sbMPlayerDirInHome=calloc( 1,strlen( skinDirInHome ) + 4 ) ) != NULL ) { strcpy( sbMPlayerDirInHome,skinDirInHome ); strcat( sbMPlayerDirInHome,"/*" ); } if ( ( sbMPlayerPrefixDir=calloc( 1,strlen( skinMPlayerDir ) + 4 ) ) != NULL ) { strcpy( sbMPlayerPrefixDir,skinMPlayerDir ); strcat( sbMPlayerPrefixDir,"/*" ); } gtk_window_add_accel_group( GTK_WINDOW( SkinBrowser ),accel_group ); gtk_widget_grab_focus( SkinList ); return SkinBrowser; }
/* * Sets the properties of the widget. This is used for both applying the * properties changed in the property editor, and also for loading. */ static void gb_tclist_set_properties (GtkWidget * widget, GtkWidget *child, GbWidgetSetArgData * data) { gchar *widths, *pos, *mode; gchar *shadow; gboolean titles; gint col, w, i; #ifndef GTK_HAVE_FEATURES_1_1_4 gboolean myApply; gchar *hpolicy, *vpolicy; GtkPolicyType hpolicy_value = GTK_POLICY_AUTOMATIC; GtkPolicyType vpolicy_value = GTK_POLICY_AUTOMATIC; #endif if (data->action == GB_LOADING) { widths = gb_widget_input_string (data, ColumnWidths); if (data->apply) { pos = widths; for (col = 0; col < GTK_CLIST (widget)->columns; col++) { w = atoi (pos); gtk_clist_set_column_width (GTK_CLIST (widget), col, w); pos = strchr (pos, ','); if (!pos) break; pos++; } } } mode = gb_widget_input_choice (data, Mode); if (data->apply) { for (i = 0; i < sizeof (GbModeValues) / sizeof (GbModeValues[0]); i++) { if (!strcmp (mode, GbModeChoices[i]) || !strcmp (mode, GbModeSymbols[i])) { gtk_clist_set_selection_mode (GTK_CLIST (widget), GbModeValues[i]); break; } } } titles = gb_widget_input_bool (data, Titles); if (data->apply) { if (titles) gtk_clist_column_titles_show (GTK_CLIST (widget)); else gtk_clist_column_titles_hide (GTK_CLIST (widget)); } shadow = gb_widget_input_choice (data, Shadow); if (data->apply) { for (i = 0; i < sizeof (GbShadowValues) / sizeof (GbShadowValues[0]); i ++) { if (!strcmp (shadow, GbShadowChoices[i]) || !strcmp (shadow, GbShadowSymbols[i])) { #ifdef GTK_HAVE_FEATURES_1_1_4 gtk_clist_set_shadow_type (GTK_CLIST (widget), GbShadowValues[i]); #else gtk_clist_set_border (GTK_CLIST (widget), GbShadowValues[i]); #endif break; } } } #ifndef GTK_HAVE_FEATURES_1_1_4 hpolicy = gb_widget_input_choice (data, HPolicy); myApply = data->apply; vpolicy = gb_widget_input_choice (data, VPolicy); if (data->apply || myApply) { for (i = 0; i < sizeof (GbPolicyValues) / sizeof (GbPolicyValues[0]); i ++) { if (!strcmp (hpolicy, GbPolicyChoices[i]) || !strcmp (hpolicy, GbPolicySymbols[i])) hpolicy_value = GbPolicyValues[i]; if (!strcmp (vpolicy, GbPolicyChoices[i]) || !strcmp (vpolicy, GbPolicySymbols[i])) vpolicy_value = GbPolicyValues[i]; } gtk_clist_set_policy (GTK_CLIST (widget), vpolicy_value, hpolicy_value); } #endif }
GtkWidget * create_main_window(void) { GtkWidget *notebook1; GtkWidget *frame3; GtkWidget *frame4; GtkWidget *hbox1; GtkWidget *vbox1; GtkWidget *scrolledwindow1; GtkWidget *node_label1; GtkWidget *node_label2; GtkWidget *node_label3; GtkWidget *node_label4; GtkWidget *node_label7; GtkWidget *node_label8; GtkWidget *node_label9; GtkWidget *mid_frame; GtkWidget *mpr_frame; GtkWidget *hna_frame; GtkWidget *mid_scrolledwindow; GtkWidget *mpr_scrolledwindow; GtkWidget *hna_scrolledwindow; GtkWidget *Main; GtkWidget *label_routes; GtkWidget *hbox2; GtkWidget *frame2; GtkWidget *scrolledwindow4; GtkWidget *label17; GtkWidget *label18; GtkWidget *label19; GtkWidget *scrolledwindow3; GtkWidget *label13; GtkWidget *label14; GtkWidget *label15; GtkWidget *label16; GtkWidget *label_packets; //GtkWidget *empty_notebook_page2; GtkWidget *label3; GtkWidget *net_vbox; GtkWidget *pack_vbox; GtkWidget *pack_disp_vbox; GtkWidget *disp_frame; GtkWidget *route_frame; GtkWidget *route_stats_frame; GtkWidget *route_scrolledwindow; GtkWidget *route_label1; GtkWidget *route_label2; GtkWidget *route_label3; GtkWidget *route_label4; GtkWidget *route_hbox1; GtkWidget *traffic_label; GtkWidget *settings_label; GtkWidget *settings_hbox1; GtkWidget *about_hbox1; GtkWidget *about_label; GtkWidget *empty1; GdkPixmap *unik_logo_gdk; GtkWidget *unik_logo; /* *The main window */ main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_object_set_data(GTK_OBJECT(main_window), "main_window", main_window); gtk_window_set_title(GTK_WINDOW(main_window), (olsrd_version)); gtk_window_set_default_size(GTK_WINDOW(main_window), 600, 550); gtk_signal_connect(GTK_OBJECT(main_window), "destroy", GTK_SIGNAL_FUNC(gui_shutdown), //GTK_SIGNAL_FUNC(gtk_main_quit), NULL); gtk_window_set_position(GTK_WINDOW(main_window), GTK_WIN_POS_CENTER); /* Position window in center */ gtk_window_set_policy(GTK_WINDOW(main_window), FALSE, TRUE, TRUE); /* No user-resizing */ /* *Initialize the pixmaps */ unik_logo_gdk = gdk_pixmap_colormap_create_from_xpm_d(NULL, gtk_widget_get_colormap(main_window), &mask, NULL, (gchar **) logo_xpm); unik_logo = gtk_pixmap_new(unik_logo_gdk, mask); /* *The notebook */ notebook1 = gtk_notebook_new(); gtk_widget_ref(notebook1); gtk_object_set_data_full(GTK_OBJECT(main_window), "notebook1", notebook1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(notebook1); gtk_container_add(GTK_CONTAINER(main_window), notebook1); /* *The first vbox */ vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_ref(vbox1); gtk_object_set_data_full(GTK_OBJECT(main_window), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(vbox1); //gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 1); gtk_container_add(GTK_CONTAINER(notebook1), vbox1); /* *The nodes frame */ frame3 = gtk_frame_new("Registered nodes:"); gtk_widget_ref(frame3); gtk_object_set_data_full(GTK_OBJECT(main_window), "frame3", frame3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(frame3); gtk_box_pack_start(GTK_BOX(vbox1), frame3, TRUE, TRUE, 0); gtk_widget_set_size_request(frame3, -1, 300); gtk_container_set_border_width(GTK_CONTAINER(frame3), 1); /* *The scrolled window to contain the node list */ scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(scrolledwindow1); gtk_object_set_data_full(GTK_OBJECT(main_window), "scrolledwindow1", scrolledwindow1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(scrolledwindow1); gtk_container_add(GTK_CONTAINER(frame3), scrolledwindow1); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); //gtk_box_pack_start (GTK_BOX (frame3), scrolledwindow1, TRUE, TRUE, 0); //gtk_widget_set_usize (scrolledwindow1, -2, 332); /* *The node list */ node_list = gtk_clist_new(7); gtk_widget_ref(node_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "node_list", node_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_list); gtk_container_add(GTK_CONTAINER(scrolledwindow1), node_list); gtk_clist_set_column_width(GTK_CLIST(node_list), 0, 150); /* IP */ //gtk_clist_set_column_justification(GTK_CLIST(node_list), 0, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(node_list), 1, 150); /* gateway */ //gtk_clist_set_column_justification(GTK_CLIST(node_list), 1, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(node_list), 2, 50); /* hopcount */ gtk_clist_set_column_justification(GTK_CLIST(node_list), 2, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(node_list), 3, 80); /* dev */ gtk_clist_set_column_justification(GTK_CLIST(node_list), 3, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(node_list), 4, 70); /* timer */ gtk_clist_set_column_justification(GTK_CLIST(node_list), 4, GTK_JUSTIFY_CENTER); //gtk_clist_set_column_width (GTK_CLIST (node_list), 7, 100); /* last about */ //gtk_clist_set_column_justification(GTK_CLIST(node_list), 7, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(node_list), 5, 40); /* MID */ gtk_clist_set_column_justification(GTK_CLIST(node_list), 5, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(node_list), 6, 40); /* HNA */ gtk_clist_set_column_justification(GTK_CLIST(node_list), 6, GTK_JUSTIFY_CENTER); gtk_clist_column_titles_show(GTK_CLIST(node_list)); /* *Row selection callback */ gtk_signal_connect(GTK_OBJECT(node_list), "select_row", GTK_SIGNAL_FUNC(selection_made), NULL); /* *Column selection callback */ gtk_signal_connect(GTK_OBJECT(node_list), "click_column", GTK_SIGNAL_FUNC(column_clicked_callback), NULL); node_label1 = gtk_label_new("Dest"); gtk_widget_ref(node_label1); gtk_object_set_data_full(GTK_OBJECT(main_window), "IP", node_label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label1); gtk_clist_set_column_widget(GTK_CLIST(node_list), 0, node_label1); node_label2 = gtk_label_new("Gateway"); gtk_widget_ref(node_label2); gtk_object_set_data_full(GTK_OBJECT(main_window), "hops", node_label2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label2); gtk_clist_set_column_widget(GTK_CLIST(node_list), 1, node_label2); node_label3 = gtk_label_new("Metric"); gtk_widget_ref(node_label3); gtk_object_set_data_full(GTK_OBJECT(main_window), "info", node_label3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label3); gtk_clist_set_column_widget(GTK_CLIST(node_list), 2, node_label3); node_label4 = gtk_label_new("Device"); gtk_widget_ref(node_label4); gtk_object_set_data_full(GTK_OBJECT(main_window), "Device", node_label4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label4); gtk_clist_set_column_widget(GTK_CLIST(node_list), 3, node_label4); node_label7 = gtk_label_new("Timer"); gtk_widget_ref(node_label7); gtk_object_set_data_full(GTK_OBJECT(main_window), "LMF", node_label7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label7); gtk_clist_set_column_widget(GTK_CLIST(node_list), 4, node_label7); /* node_label8 = gtk_label_new ("LMA"); gtk_widget_ref (node_label8); gtk_object_set_data_full (GTK_OBJECT (main_window), "LMA", node_label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (node_label8); gtk_clist_set_column_widget (GTK_CLIST (node_list), 7, node_label8); */ node_label8 = gtk_label_new("MID"); gtk_widget_ref(node_label8); gtk_object_set_data_full(GTK_OBJECT(main_window), "MID", node_label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label8); gtk_clist_set_column_widget(GTK_CLIST(node_list), 5, node_label8); node_label9 = gtk_label_new("HNA"); gtk_widget_ref(node_label9); gtk_object_set_data_full(GTK_OBJECT(main_window), "HNA", node_label9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(node_label9); gtk_clist_set_column_widget(GTK_CLIST(node_list), 6, node_label9); gtk_clist_column_titles_active(GTK_CLIST(node_list)); gtk_widget_show_now(node_list); /* *Row selection callback */ gtk_signal_connect(GTK_OBJECT(node_list), "select_row", GTK_SIGNAL_FUNC(node_selection), NULL); /* *The first hbox */ hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_ref(hbox1); gtk_object_set_data_full(GTK_OBJECT(main_window), "hbox1", hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(vbox1), hbox1, FALSE, FALSE, 0); //gtk_container_add (GTK_CONTAINER (notebook1), hbox1); gtk_container_set_border_width(GTK_CONTAINER(hbox1), 4); gtk_widget_set_size_request(hbox1, -1, 200); /* *The net-info frame */ frame4 = gtk_frame_new("Info:"); gtk_widget_ref(frame4); gtk_object_set_data_full(GTK_OBJECT(main_window), "frame4", frame4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(frame4); gtk_box_pack_start(GTK_BOX(hbox1), frame4, TRUE, TRUE, 0); //gtk_widget_set_size_request(frame4, 200, -1); gtk_container_set_border_width(GTK_CONTAINER(frame4), 1); /* *The net-info hbox */ net_vbox = gtk_vbox_new(FALSE, 0); gtk_widget_ref(net_vbox); gtk_object_set_data_full(GTK_OBJECT(main_window), "net_vbox", net_vbox, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(net_vbox); gtk_container_add(GTK_CONTAINER(frame4), net_vbox); /* *The net-info label field */ net_label = gtk_label_new(NULL); gtk_widget_ref(net_label); gtk_misc_set_alignment((GtkMisc *) net_label, 0, 0); //gtk_label_set_justify((GtkLabel *)net_label,GTK_JUSTIFY_LEFT); gtk_object_set_data_full(GTK_OBJECT(main_window), "net_label", net_label, (GtkDestroyNotify) gtk_widget_unref); //set_net_info("Not connected..."); gtk_widget_show(net_label); gtk_box_pack_start(GTK_BOX(net_vbox), net_label, TRUE, TRUE, 0); //gtk_container_add (GTK_CONTAINER (frame4), net_label); /* *The connect button */ connect_button = gtk_button_new_with_label("Connect to host"); gtk_widget_ref(connect_button); gtk_object_set_data_full(GTK_OBJECT(main_window), "connect_button", connect_button, (GtkDestroyNotify) gtk_widget_unref); /* Connect the "clicked" signal of the button to our callback */ gtk_signal_connect(GTK_OBJECT(connect_button), "clicked", GTK_SIGNAL_FUNC(connect_callback), NULL); gtk_widget_show(connect_button); gtk_box_pack_start(GTK_BOX(net_vbox), connect_button, FALSE, FALSE, 1); gtk_container_set_border_width(GTK_CONTAINER(connect_button), 5); /* *The node MPR info frame */ mpr_frame = gtk_frame_new("MPR:"); gtk_widget_ref(mpr_frame); gtk_object_set_data_full(GTK_OBJECT(main_window), "mpr_frame", mpr_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(mpr_frame); gtk_box_pack_start(GTK_BOX(hbox1), mpr_frame, FALSE, FALSE, 0); //gtk_widget_set_size_request(mid_frame, 125, -1); gtk_container_set_border_width(GTK_CONTAINER(mpr_frame), 1); /* *The scrolledwindow to contain the MPR node info */ mpr_scrolledwindow = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(mpr_scrolledwindow); gtk_object_set_data_full(GTK_OBJECT(main_window), "mpr_scrolledwindow", mpr_scrolledwindow, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(mpr_scrolledwindow); gtk_container_add(GTK_CONTAINER(mpr_frame), mpr_scrolledwindow); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(mpr_scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_set_border_width(GTK_CONTAINER(mpr_scrolledwindow), 3); /* *The node MID info frame */ mid_frame = gtk_frame_new("MID:"); gtk_widget_ref(mid_frame); gtk_object_set_data_full(GTK_OBJECT(main_window), "mid_frame", mid_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(mid_frame); gtk_box_pack_start(GTK_BOX(hbox1), mid_frame, FALSE, FALSE, 0); //gtk_widget_set_size_request(mid_frame, 125, -1); gtk_container_set_border_width(GTK_CONTAINER(mid_frame), 1); /* *The scrolledwindow to contain the MID node info */ mid_scrolledwindow = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(mid_scrolledwindow); gtk_object_set_data_full(GTK_OBJECT(main_window), "mid_scrolledwindow", mid_scrolledwindow, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(mid_scrolledwindow); gtk_container_add(GTK_CONTAINER(mid_frame), mid_scrolledwindow); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(mid_scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_set_border_width(GTK_CONTAINER(mid_scrolledwindow), 3); /* *The MPR list */ mpr_list = gtk_clist_new(1); gtk_widget_ref(mpr_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "mpr_list", mpr_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(mpr_list); gtk_container_add(GTK_CONTAINER(mpr_scrolledwindow), mpr_list); gtk_clist_set_column_width(GTK_CLIST(mpr_list), 0, 120); /* IP */ gtk_clist_column_titles_hide(GTK_CLIST(mpr_list)); /* *The MID list */ mid_list = gtk_clist_new(1); gtk_widget_ref(mid_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "mid_list", mid_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(mid_list); gtk_container_add(GTK_CONTAINER(mid_scrolledwindow), mid_list); gtk_clist_set_column_width(GTK_CLIST(mid_list), 0, 120); /* IP */ gtk_clist_column_titles_hide(GTK_CLIST(mid_list)); /* *The node HNA info frame */ hna_frame = gtk_frame_new("HNA:"); gtk_widget_ref(hna_frame); gtk_object_set_data_full(GTK_OBJECT(main_window), "hna_frame", hna_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(hna_frame); gtk_box_pack_start(GTK_BOX(hbox1), hna_frame, FALSE, FALSE, 0); //gtk_widget_set_size_request(mid_frame, 125, -1); gtk_container_set_border_width(GTK_CONTAINER(hna_frame), 1); /* *The HNA scrolled window */ hna_scrolledwindow = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(hna_scrolledwindow); gtk_object_set_data_full(GTK_OBJECT(main_window), "hna_scrolledwindow", hna_scrolledwindow, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(hna_scrolledwindow); gtk_container_add(GTK_CONTAINER(hna_frame), hna_scrolledwindow); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hna_scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_set_border_width(GTK_CONTAINER(hna_scrolledwindow), 3); /* *The HNA list */ hna_list = gtk_clist_new(1); gtk_widget_ref(hna_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "hna_list", hna_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(hna_list); gtk_container_add(GTK_CONTAINER(hna_scrolledwindow), hna_list); gtk_clist_set_column_width(GTK_CLIST(hna_list), 0, 120); /* IP */ gtk_clist_column_titles_hide(GTK_CLIST(hna_list)); /* *The "main" notebook page */ Main = gtk_label_new("Main"); gtk_widget_ref(Main); gtk_object_set_data_full(GTK_OBJECT(main_window), "Main", Main, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(Main); gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook1), 0), Main); /* *The main hbox of the Packet page */ hbox2 = gtk_hbox_new(FALSE, 0); gtk_widget_ref(hbox2); gtk_object_set_data_full(GTK_OBJECT(main_window), "hbox2", hbox2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(hbox2); gtk_container_add(GTK_CONTAINER(notebook1), hbox2); /* *The packet hbox */ pack_vbox = gtk_vbox_new(FALSE, 0); gtk_widget_ref(pack_vbox); gtk_object_set_data_full(GTK_OBJECT(main_window), "pack_vbox", pack_vbox, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(pack_vbox); gtk_box_pack_start(GTK_BOX(hbox2), pack_vbox, TRUE, TRUE, 0); /* *The packet frame */ frame2 = gtk_frame_new("Packet"); gtk_widget_ref(frame2); gtk_object_set_data_full(GTK_OBJECT(main_window), "frame2", frame2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(frame2); gtk_box_pack_start(GTK_BOX(pack_vbox), frame2, TRUE, TRUE, 0); /* Do not expand */ /* *Packet list scrolled window */ scrolledwindow4 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(scrolledwindow4); gtk_object_set_data_full(GTK_OBJECT(main_window), "scrolledwindow4", scrolledwindow4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(scrolledwindow4); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow4), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(frame2), scrolledwindow4); /* *The packet list */ packet_list = gtk_clist_new(3); gtk_widget_ref(packet_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "packet_list", packet_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(packet_list); gtk_container_add(GTK_CONTAINER(scrolledwindow4), packet_list); gtk_clist_set_column_width(GTK_CLIST(packet_list), 0, 80); /* Type */ gtk_clist_set_column_width(GTK_CLIST(packet_list), 1, 150); /* Origin IP */ gtk_clist_set_column_width(GTK_CLIST(packet_list), 2, 20); /* size */ gtk_clist_column_titles_show(GTK_CLIST(packet_list)); label17 = gtk_label_new("Type"); gtk_widget_ref(label17); gtk_object_set_data_full(GTK_OBJECT(main_window), "label17", label17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label17); gtk_clist_set_column_widget(GTK_CLIST(packet_list), 0, label17); label18 = gtk_label_new("Origin"); gtk_widget_ref(label18); gtk_object_set_data_full(GTK_OBJECT(main_window), "label18", label18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label18); gtk_clist_set_column_widget(GTK_CLIST(packet_list), 1, label18); label19 = gtk_label_new("Size"); gtk_widget_ref(label19); gtk_object_set_data_full(GTK_OBJECT(main_window), "label19", label19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label19); gtk_clist_set_column_widget(GTK_CLIST(packet_list), 2, label19); /* *Row selection callback */ gtk_signal_connect(GTK_OBJECT(packet_list), "select_row", GTK_SIGNAL_FUNC(packet_selection), NULL); /* *The packet button */ packet_button = gtk_button_new_with_label("Grab packets"); gtk_widget_ref(packet_button); gtk_object_set_data_full(GTK_OBJECT(main_window), "packet_button", packet_button, (GtkDestroyNotify) gtk_widget_unref); /* Connect the "clicked" signal of the button to our callback */ gtk_signal_connect(GTK_OBJECT(packet_button), "clicked", GTK_SIGNAL_FUNC(packet_callback), NULL); gtk_widget_show(packet_button); gtk_box_pack_start(GTK_BOX(pack_vbox), packet_button, FALSE, FALSE, 5); /* *The packet disp hbox */ pack_disp_vbox = gtk_vbox_new(FALSE, 0); gtk_widget_ref(pack_disp_vbox); gtk_object_set_data_full(GTK_OBJECT(main_window), "pack_disp_vbox", pack_disp_vbox, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(pack_disp_vbox); gtk_box_pack_start(GTK_BOX(hbox2), pack_disp_vbox, TRUE, TRUE, 0); /* *The packet disp frame */ disp_frame = gtk_frame_new("Packet content"); gtk_widget_ref(disp_frame); gtk_object_set_data_full(GTK_OBJECT(main_window), "disp_frame", disp_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(disp_frame); gtk_box_pack_start(GTK_BOX(pack_disp_vbox), disp_frame, TRUE, TRUE, 0); /* Do not expand */ /* *Scrolled window for the packet display *list */ scrolledwindow3 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(scrolledwindow3); gtk_object_set_data_full(GTK_OBJECT(main_window), "scrolledwindow3", scrolledwindow3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(scrolledwindow3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow3), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(disp_frame), scrolledwindow3); //gtk_box_pack_start (GTK_BOX (disp_frame), scrolledwindow3, TRUE, TRUE, 0); /* *The packet display list */ packet_content_list = gtk_clist_new(4); gtk_widget_ref(packet_content_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "packet_content_list", packet_content_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(packet_content_list); gtk_container_add(GTK_CONTAINER(scrolledwindow3), packet_content_list); gtk_clist_set_column_width(GTK_CLIST(packet_content_list), 0, 70); /* 0-7 */ gtk_clist_set_column_justification(GTK_CLIST(packet_content_list), 0, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(packet_content_list), 1, 70); /* 8-15 */ gtk_clist_set_column_justification(GTK_CLIST(packet_content_list), 1, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(packet_content_list), 2, 70); /* 16-23 */ gtk_clist_set_column_justification(GTK_CLIST(packet_content_list), 2, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(packet_content_list), 3, 70); /* 24-31 */ gtk_clist_set_column_justification(GTK_CLIST(packet_content_list), 3, GTK_JUSTIFY_CENTER); gtk_clist_column_titles_show(GTK_CLIST(packet_content_list)); label13 = gtk_label_new("0 - 7"); gtk_widget_ref(label13); gtk_object_set_data_full(GTK_OBJECT(main_window), "label13", label13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label13); gtk_clist_set_column_widget(GTK_CLIST(packet_content_list), 0, label13); label14 = gtk_label_new("8 - 15"); gtk_widget_ref(label14); gtk_object_set_data_full(GTK_OBJECT(main_window), "label14", label14, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label14); gtk_clist_set_column_widget(GTK_CLIST(packet_content_list), 1, label14); label15 = gtk_label_new("16 - 23"); gtk_widget_ref(label15); gtk_object_set_data_full(GTK_OBJECT(main_window), "label15", label15, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label15); gtk_clist_set_column_widget(GTK_CLIST(packet_content_list), 2, label15); label16 = gtk_label_new("24 - 31"); gtk_widget_ref(label16); gtk_object_set_data_full(GTK_OBJECT(main_window), "label16", label16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label16); gtk_clist_set_column_widget(GTK_CLIST(packet_content_list), 3, label16); //gtk_clist_set_selection_mode(GTK_CLIST (packet_content_list), GTK_SELECTION_NONE); /* no selections */ /* *The packet button */ packet_disp_button = gtk_button_new_with_label("Display hex"); gtk_widget_ref(packet_disp_button); gtk_object_set_data_full(GTK_OBJECT(main_window), "packet_disp_button", packet_disp_button, (GtkDestroyNotify) gtk_widget_unref); /* Connect the "clicked" signal of the button to our callback */ gtk_signal_connect(GTK_OBJECT(packet_disp_button), "clicked", GTK_SIGNAL_FUNC(packet_disp_callback), NULL); gtk_widget_show(packet_disp_button); gtk_box_pack_start(GTK_BOX(pack_disp_vbox), packet_disp_button, FALSE, FALSE, 5); /* *The "packets" notebook */ label_packets = gtk_label_new("Packets"); gtk_widget_ref(label_packets); gtk_object_set_data_full(GTK_OBJECT(main_window), "label_packets", label_packets, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label_packets); gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook1), 1), label_packets); /* *The route hbox */ route_hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_ref(route_hbox1); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_hbox1", route_hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_hbox1); //gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 1); gtk_container_add(GTK_CONTAINER(notebook1), route_hbox1); /* *The routes frame */ route_frame = gtk_frame_new("OLSR routes in kernel:"); gtk_widget_ref(route_frame); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_frame", route_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_frame); //gtk_container_add (GTK_CONTAINER (notebook1), route_frame); gtk_widget_set_size_request(route_frame, 200, -1); gtk_box_pack_start(GTK_BOX(route_hbox1), route_frame, TRUE, TRUE, 0); /* Do not expand */ /* *Scrolled window for the packet display *list */ route_scrolledwindow = gtk_scrolled_window_new(NULL, NULL); gtk_widget_ref(route_scrolledwindow); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_scrolledwindow", route_scrolledwindow, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_scrolledwindow); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(route_scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(route_frame), route_scrolledwindow); //gtk_box_pack_start (GTK_BOX (route_frame), scrolledwindow3, TRUE, TRUE, 0); /* *The routes display list */ route_list = gtk_clist_new(4); gtk_widget_ref(route_list); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_list", route_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_list); gtk_container_add(GTK_CONTAINER(route_scrolledwindow), route_list); gtk_clist_set_column_width(GTK_CLIST(route_list), 0, 120); /* dest */ //gtk_clist_set_column_justification(GTK_CLIST (route_list), 0, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(route_list), 1, 120); /* gw */ //gtk_clist_set_column_justification(GTK_CLIST (route_list), 1, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(route_list), 2, 50); /* weight */ gtk_clist_set_column_justification(GTK_CLIST(route_list), 2, GTK_JUSTIFY_CENTER); gtk_clist_set_column_width(GTK_CLIST(route_list), 3, 70); /* interface */ gtk_clist_set_column_justification(GTK_CLIST(route_list), 3, GTK_JUSTIFY_CENTER); gtk_clist_column_titles_show(GTK_CLIST(route_list)); route_label1 = gtk_label_new("Destination"); gtk_widget_ref(route_label1); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_label1", route_label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_label1); gtk_clist_set_column_widget(GTK_CLIST(route_list), 0, route_label1); route_label2 = gtk_label_new("Gateway"); gtk_widget_ref(route_label2); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_label2", route_label2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_label2); gtk_clist_set_column_widget(GTK_CLIST(route_list), 1, route_label2); route_label3 = gtk_label_new("Weight"); gtk_widget_ref(route_label3); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_label3", route_label3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_label3); gtk_clist_set_column_widget(GTK_CLIST(route_list), 2, route_label3); route_label4 = gtk_label_new("Interface"); gtk_widget_ref(route_label4); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_label4", route_label4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_label4); gtk_clist_set_column_widget(GTK_CLIST(route_list), 3, route_label4); //gtk_clist_set_selection_mode(GTK_CLIST (route_list), GTK_SELECTION_NONE); /* no selections */ /* *The routes stats frame */ route_stats_frame = gtk_frame_new("Stats:"); gtk_widget_ref(route_stats_frame); gtk_object_set_data_full(GTK_OBJECT(main_window), "route_stats_frame", route_stats_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(route_stats_frame); //gtk_container_add (GTK_CONTAINER (notebook1), route_frame); gtk_box_pack_start(GTK_BOX(route_hbox1), route_stats_frame, TRUE, TRUE, 1); /* *The "routes" notebook */ label_routes = gtk_label_new("Routes"); gtk_widget_ref(label_routes); gtk_object_set_data_full(GTK_OBJECT(main_window), "label_routes", label_routes, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label_routes); gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook1), 2), label_routes); empty1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(empty1); gtk_container_add(GTK_CONTAINER(notebook1), empty1); /* *The "traffic" notebook */ traffic_label = gtk_label_new("Traffic"); gtk_widget_ref(traffic_label); gtk_object_set_data_full(GTK_OBJECT(main_window), "traffic_label", traffic_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(traffic_label); gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook1), 3), traffic_label); /* *The settings hbox */ settings_hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_ref(settings_hbox1); gtk_object_set_data_full(GTK_OBJECT(main_window), "settings_hbox1", settings_hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(settings_hbox1); //gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 1); gtk_container_add(GTK_CONTAINER(notebook1), settings_hbox1); /* *The settings-info label field */ info_label = gtk_label_new(NULL); gtk_widget_ref(info_label); gtk_misc_set_alignment((GtkMisc *) info_label, 0, 0); //gtk_label_set_justify((GtkLabel *)net_label,GTK_JUSTIFY_LEFT); gtk_object_set_data_full(GTK_OBJECT(main_window), "info_label", info_label, (GtkDestroyNotify) gtk_widget_unref); //set_net_info("Not connected..."); gtk_widget_show(info_label); gtk_box_pack_start(GTK_BOX(settings_hbox1), info_label, TRUE, TRUE, 0); /* *The "settings" notebook */ settings_label = gtk_label_new("Settings"); gtk_widget_ref(settings_label); gtk_object_set_data_full(GTK_OBJECT(main_window), "settings_label", settings_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(settings_label); gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook1), 4), settings_label); /* *The "about" hbox */ about_hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_ref(about_hbox1); gtk_object_set_data_full(GTK_OBJECT(main_window), "about_hbox1", about_hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(about_hbox1); //gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 1); gtk_container_add(GTK_CONTAINER(notebook1), about_hbox1); gtk_container_set_border_width(GTK_CONTAINER(about_hbox1), 10); /* *The about label field */ about_label = gtk_label_new(NULL); gtk_widget_ref(about_label); gtk_misc_set_alignment((GtkMisc *) about_label, 0, 0); gtk_label_set_justify((GtkLabel *) about_label, GTK_JUSTIFY_CENTER); gtk_object_set_data_full(GTK_OBJECT(main_window), "about_label", about_label, (GtkDestroyNotify) gtk_widget_unref); //set_net_info("Not connected..."); gtk_widget_show(about_label); gtk_box_pack_start(GTK_BOX(about_hbox1), unik_logo, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(about_hbox1), about_label, TRUE, TRUE, 0); gtk_widget_show(unik_logo); gtk_label_set_text((GtkLabel *) about_label, "OLSRD-GUI by Andreas Tonnesen ([email protected])"); /* *The "about" notebook */ label3 = gtk_label_new("About"); gtk_widget_ref(label3); gtk_object_set_data_full(GTK_OBJECT(main_window), "About", label3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(label3); gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook1), 5), label3); return main_window; }
int nsComponentsDlg::Show(int aDirection) { int err = OK; int customSTIndex = 0, i; int numRows = 0; int currRow = 0; GtkWidget *hbox = NULL; XI_VERIFY(gCtx); XI_VERIFY(gCtx->notebook); if (mWidgetsInit == FALSE) { customSTIndex = gCtx->sdlg->GetNumSetupTypes(); sCustomST = gCtx->sdlg->GetSetupTypeList(); for (i=1; i<customSTIndex; i++) sCustomST = sCustomST->GetNext(); DUMP(sCustomST->GetDescShort()); // create a new table and add it as a page of the notebook mTable = gtk_table_new(5, 1, FALSE); gtk_notebook_append_page(GTK_NOTEBOOK(gCtx->notebook), mTable, NULL); mPageNum = gtk_notebook_get_current_page(GTK_NOTEBOOK(gCtx->notebook)); gtk_widget_show(mTable); // 1st row: a label (msg0) // insert a static text widget in the first row GtkWidget *msg0 = gtk_label_new(mMsg0); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), msg0, FALSE, FALSE, 0); gtk_widget_show(hbox); gtk_table_attach(GTK_TABLE(mTable), hbox, 0, 1, 1, 2, static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), GTK_FILL, 20, 20); gtk_widget_show(msg0); // 2nd row: a CList with a check box for each row (short desc) GtkWidget *list = NULL; GtkWidget *scrollwin = NULL; GtkStyle *style = NULL; GdkBitmap *ch_mask = NULL; GdkPixmap *checked = NULL; GdkBitmap *un_mask = NULL; GdkPixmap *unchecked = NULL; gchar *dummy[2] = { " ", " " }; nsComponent *currComp = sCustomST->GetComponents()->GetHead(); GtkWidget *descLongTable = NULL; GtkWidget *frame = NULL; scrollwin = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); list = gtk_clist_new(2); gtk_clist_set_selection_mode(GTK_CLIST(list), GTK_SELECTION_BROWSE); gtk_clist_column_titles_hide(GTK_CLIST(list)); gtk_clist_set_column_auto_resize(GTK_CLIST(list), 0, TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(list), 1, TRUE); // determine number of rows we'll need numRows = sCustomST->GetComponents()->GetLengthVisible(); for (i = 0; i < numRows; i++) gtk_clist_append(GTK_CLIST(list), dummy); style = gtk_widget_get_style(gCtx->window); checked = gdk_pixmap_create_from_xpm_d(gCtx->window->window, &ch_mask, &style->bg[GTK_STATE_NORMAL], (gchar **)check_on_xpm); unchecked = gdk_pixmap_create_from_xpm_d(gCtx->window->window, &un_mask, &style->bg[GTK_STATE_NORMAL], (gchar **)check_off_xpm); while ((currRow < numRows) && currComp) // paranoia! { if (!currComp->IsInvisible()) { if (currComp->IsSelected()) gtk_clist_set_pixmap(GTK_CLIST(list), currRow, 0, checked, ch_mask); else gtk_clist_set_pixmap(GTK_CLIST(list), currRow, 0, unchecked, un_mask); gtk_clist_set_text(GTK_CLIST(list), currRow, 1, currComp->GetDescShort()); currRow++; } currComp = currComp->GetNext(); } // by default, first row selected upon Show() sCurrRowSelected = 0; gtk_signal_connect(GTK_OBJECT(list), "select_row", GTK_SIGNAL_FUNC(RowSelected), NULL); gtk_signal_connect(GTK_OBJECT(list), "key_press_event", GTK_SIGNAL_FUNC(KeyPressed), NULL); gtk_container_add(GTK_CONTAINER(scrollwin), list); gtk_widget_show(list); gtk_widget_show(scrollwin); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), scrollwin, TRUE, TRUE, 0); gtk_widget_show(hbox); gtk_table_attach(GTK_TABLE(mTable), hbox, 0, 1, 2, 3, static_cast<GtkAttachOptions>(GTK_FILL | GTK_EXPAND), static_cast<GtkAttachOptions>(GTK_EXPAND | GTK_FILL), 20, 0); // XXX 3rd row: labels for ds avail and ds reqd // 4th row: a frame with a label (long desc) descLongTable = gtk_table_new(1, 1, FALSE); gtk_widget_show(descLongTable); gtk_table_attach(GTK_TABLE(mTable), descLongTable, 0, 1, 4, 5, static_cast<GtkAttachOptions>(GTK_EXPAND | GTK_FILL), static_cast<GtkAttachOptions>(GTK_EXPAND | GTK_FILL), 20, 20); frame = gtk_frame_new(gCtx->Res("DESCRIPTION")); gtk_table_attach_defaults(GTK_TABLE(descLongTable), frame, 0, 1, 0, 1); gtk_widget_show(frame); sDescLong = gtk_label_new( sCustomST->GetComponents()->GetFirstVisible()->GetDescLong()); gtk_label_set_line_wrap(GTK_LABEL(sDescLong), TRUE); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), sDescLong, FALSE, FALSE, 20); gtk_widget_show(hbox); gtk_table_attach_defaults(GTK_TABLE(descLongTable), hbox, 0, 1, 0, 1); gtk_widget_show(sDescLong); mWidgetsInit = TRUE; } else { gtk_notebook_set_page(GTK_NOTEBOOK(gCtx->notebook), mPageNum); gtk_widget_show(mTable); } // signal connect the buttons gCtx->backID = gtk_signal_connect(GTK_OBJECT(gCtx->back), "clicked", GTK_SIGNAL_FUNC(nsComponentsDlg::Back), gCtx->cdlg); gCtx->nextID = gtk_signal_connect(GTK_OBJECT(gCtx->next), "clicked", GTK_SIGNAL_FUNC(nsComponentsDlg::Next), gCtx->cdlg); // show back btn again after setup type dlg where we couldn't go back gtk_widget_set_sensitive(gCtx->back, TRUE); if (aDirection == nsXInstallerDlg::BACKWARD_MOVE) // from install dlg gtk_button_set_label(GTK_BUTTON(gCtx->next), GTK_STOCK_GO_FORWARD); return err; }
void ghack_settings_dialog() { int i; static GtkWidget* dialog; static GtkWidget* swin; static GtkWidget* frame1; dialog = gnome_dialog_new (_("GnomeHack Settings"), GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL); gnome_dialog_close_hides (GNOME_DIALOG (dialog), FALSE); gtk_signal_connect (GTK_OBJECT (dialog), "key_press_event", GTK_SIGNAL_FUNC (opt_sel_key_hit), tilesets ); frame1 = gtk_frame_new (_("Choose one of the following tilesets:")); gtk_object_set_data (GTK_OBJECT (dialog), "frame1", frame1); gtk_widget_show (frame1); gtk_container_border_width (GTK_CONTAINER (frame1), 3); swin = gtk_scrolled_window_new (NULL, NULL); clist = gtk_clist_new (2); gtk_clist_column_titles_hide (GTK_CLIST (clist)); gtk_widget_set_usize (GTK_WIDGET (clist), 100, 180); gtk_container_add (GTK_CONTAINER (swin), clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_signal_connect (GTK_OBJECT (clist), "select_row", GTK_SIGNAL_FUNC (opt_sel_row_selected), NULL ); gtk_container_add (GTK_CONTAINER (frame1), swin); gtk_box_pack_start_defaults (GTK_BOX (GNOME_DIALOG (dialog)->vbox), frame1); /* Add the tilesets into the list here... */ for (i=0; i < no_tilesets; i++) { gchar accelBuf[BUFSZ]; const char *text[3]={accelBuf, tilesets[i].name,NULL}; if ((tilesets[i].flags & ~TILESET_TRANSPARENT) != 0) continue; /* Unsupported flag set */ sprintf( accelBuf, "%c ", tolower(tilesets[i].name[0])); gtk_clist_insert (GTK_CLIST (clist), i, (char**)text); } gtk_clist_columns_autosize (GTK_CLIST (clist)); gtk_widget_show_all (swin); /* Center the dialog over over parent */ gnome_dialog_set_default( GNOME_DIALOG(dialog), 0); gtk_window_set_modal( GTK_WINDOW(dialog), TRUE); gnome_dialog_set_parent (GNOME_DIALOG (dialog), GTK_WINDOW (ghack_get_main_window ()) ); /* Run the dialog -- returning whichever button was pressed */ i = gnome_dialog_run (GNOME_DIALOG (dialog)); gnome_dialog_close (GNOME_DIALOG (dialog)); /* They hit Quit or error */ if (i != 0 ) { return; } if (gn_tileset < no_tilesets) { if (tilesets[gn_tileset].file[0] != '/') { char *path; path = (char *)alloc(strlen(TILESETDIR) + strlen(tilesets[gn_tileset].file) + 2); sprintf(path, TILESETDIR "/%s", tilesets[gn_tileset].file); ghack_free_glyphs(); if (ghack_init_glyphs(path)) g_error ("ERROR: Could not initialize glyphs.\n"); free(path); } else { ghack_free_glyphs(); if (ghack_init_glyphs(tilesets[gn_tileset].file)) g_error ("ERROR: Could not initialize glyphs.\n"); } ghack_reinit_map_window(); } else { /* This shouldn't happen */ g_warning("This shouldn't happen\n"); } }
int ghack_player_sel_dialog(const char** choices, const gchar* title, const gchar* prompt) { int i; static GtkWidget* dialog; static GtkWidget* swin; static GtkWidget* frame1; dialog = gnome_dialog_new(title, GNOME_STOCK_BUTTON_OK, _("Random"), GNOME_STOCK_BUTTON_CANCEL, NULL); gnome_dialog_close_hides (GNOME_DIALOG (dialog), FALSE); gtk_signal_connect (GTK_OBJECT (dialog), "key_press_event", GTK_SIGNAL_FUNC (player_sel_key_hit), choices ); frame1 = gtk_frame_new(prompt); gtk_object_set_data (GTK_OBJECT (dialog), "frame1", frame1); gtk_widget_show (frame1); gtk_container_border_width (GTK_CONTAINER (frame1), 3); swin = gtk_scrolled_window_new (NULL, NULL); clist = gtk_clist_new (2); gtk_clist_column_titles_hide (GTK_CLIST (clist)); gtk_widget_set_usize (GTK_WIDGET (clist), 100, 180); gtk_container_add (GTK_CONTAINER (swin), clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_signal_connect (GTK_OBJECT (clist), "select_row", GTK_SIGNAL_FUNC (player_sel_row_selected), NULL ); gtk_container_add (GTK_CONTAINER (frame1), swin); gtk_box_pack_start_defaults (GTK_BOX (GNOME_DIALOG (dialog)->vbox), frame1); /* Add the roles into the list here... */ for (i=0; choices[i]; i++) { gchar accelBuf[BUFSZ]; const char *text[3]={accelBuf, choices[i],NULL}; sprintf( accelBuf, "%c ", tolower(choices[i][0])); gtk_clist_insert (GTK_CLIST (clist), i, (char**)text); } gtk_clist_columns_autosize (GTK_CLIST (clist)); gtk_widget_show_all (swin); /* Center the dialog over over parent */ gnome_dialog_set_default( GNOME_DIALOG(dialog), 0); gtk_window_set_modal( GTK_WINDOW(dialog), TRUE); gnome_dialog_set_parent (GNOME_DIALOG (dialog), GTK_WINDOW (ghack_get_main_window ()) ); /* Run the dialog -- returning whichever button was pressed */ i = gnome_dialog_run_and_close(GNOME_DIALOG(dialog)); /* Quit on button 2 or error */ if (i < 0 || i > 1) { return(ROLE_NONE); } /* Random is button 1*/ if (i == 1 ) { return(ROLE_RANDOM); } return ( role_number); }
GtkWidget * create_FileSelect( void ) { GtkWidget * vbox4; GtkWidget * hbox4; GtkWidget * vseparator1; GtkWidget * hbox6; GtkWidget * fsFNameListWindow; GtkWidget * hbuttonbox3; GtkWidget * uppixmapwid; GdkPixmap * uppixmap; GdkBitmap * upmask; GtkStyle * upstyle; fsFileSelect=gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_widget_set_name( fsFileSelect,"fsFileSelect" ); gtk_object_set_data( GTK_OBJECT( fsFileSelect ),"fsFileSelect",fsFileSelect ); gtk_widget_set_usize( fsFileSelect,512,300 ); GTK_WIDGET_SET_FLAGS( fsFileSelect,GTK_CAN_DEFAULT ); gtk_widget_set_events( fsFileSelect,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FileSelect ); gtk_window_set_position( GTK_WINDOW( fsFileSelect ),GTK_WIN_POS_CENTER ); gtk_window_set_policy( GTK_WINDOW( fsFileSelect ),TRUE,TRUE,TRUE ); gtk_window_set_wmclass( GTK_WINDOW( fsFileSelect ),"FileSelect","MPlayer" ); fsColorMap=gdk_colormap_get_system(); gtk_widget_realize( fsFileSelect ); gtkAddIcon( fsFileSelect ); style=gtk_widget_get_style( fsFileSelect ); dpixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&dmask,&style->bg[GTK_STATE_NORMAL],(gchar **)dir_xpm ); fpixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&fmask,&style->bg[GTK_STATE_NORMAL],(gchar **)file_xpm ); vbox4=AddVBox( AddDialogFrame( fsFileSelect ),0 ); hbox4=AddHBox( vbox4,1 ); fsCombo4=gtk_combo_new(); gtk_widget_set_name( fsCombo4,"fsCombo4" ); gtk_widget_show( fsCombo4 ); gtk_box_pack_start( GTK_BOX( hbox4 ),fsCombo4,TRUE,TRUE,0 ); gtk_widget_set_usize( fsCombo4,-2,20 ); fsPathCombo=GTK_COMBO( fsCombo4 )->entry; gtk_widget_set_name( fsPathCombo,"fsPathCombo" ); gtk_widget_show( fsPathCombo ); gtk_widget_set_usize( fsPathCombo,-2,20 ); vseparator1=gtk_vseparator_new(); gtk_widget_set_name( vseparator1,"vseparator1" ); gtk_widget_show( vseparator1 ); gtk_box_pack_start( GTK_BOX( hbox4 ),vseparator1,FALSE,TRUE,0 ); gtk_widget_set_usize( vseparator1,7,20 ); upstyle=gtk_widget_get_style( fsFileSelect ); uppixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&upmask,&upstyle->bg[GTK_STATE_NORMAL],(gchar **)up_xpm ); uppixmapwid=gtk_pixmap_new( uppixmap,upmask ); gtk_widget_show( uppixmapwid ); fsUp=gtk_button_new(); gtk_container_add( GTK_CONTAINER(fsUp ),uppixmapwid ); gtk_widget_show( fsUp ); gtk_box_pack_start( GTK_BOX( hbox4 ),fsUp,FALSE,FALSE,0 ); gtk_widget_set_usize( fsUp,65,15 ); AddHSeparator( vbox4 ); hbox6=AddHBox( NULL,0 ); gtk_box_pack_start( GTK_BOX( vbox4 ),hbox6,TRUE,TRUE,0 ); fsFNameListWindow=gtk_scrolled_window_new( NULL,NULL ); gtk_widget_set_name( fsFNameListWindow,"fsFNameListWindow" ); gtk_widget_show( fsFNameListWindow ); gtk_box_pack_start( GTK_BOX( hbox6 ),fsFNameListWindow,TRUE,TRUE,0 ); gtk_widget_set_usize( fsFNameListWindow,-2,145 ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( fsFNameListWindow ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); fsFNameList=gtk_clist_new( 2 ); gtk_widget_set_name( fsFNameList,"fsFNameList" ); gtk_container_add( GTK_CONTAINER( fsFNameListWindow ),fsFNameList ); gtk_clist_set_column_width( GTK_CLIST( fsFNameList ),0,80 ); gtk_clist_set_selection_mode( GTK_CLIST( fsFNameList ),GTK_SELECTION_BROWSE ); gtk_clist_column_titles_hide( GTK_CLIST( fsFNameList ) ); gtk_clist_set_shadow_type( GTK_CLIST( fsFNameList ),GTK_SHADOW_ETCHED_OUT ); AddHSeparator( vbox4 ); List=gtk_combo_new(); gtk_widget_set_name( List,"List" ); gtk_widget_ref( List ); gtk_object_set_data_full( GTK_OBJECT( fsFileSelect ),"List",List,(GtkDestroyNotify)gtk_widget_unref ); gtk_widget_show( List ); gtk_box_pack_start( GTK_BOX( vbox4 ),List,FALSE,FALSE,0 ); gtk_widget_set_usize( List,-2,20 ); fsFilterCombo=GTK_COMBO( List )->entry; gtk_widget_set_name( fsFilterCombo,"fsFilterCombo" ); gtk_widget_show( fsFilterCombo ); gtk_entry_set_editable (GTK_ENTRY( fsFilterCombo ),FALSE ); AddHSeparator( vbox4 ); hbuttonbox3=AddHButtonBox( vbox4 ); gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox3 ),GTK_BUTTONBOX_END ); gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox3 ),10 ); fsOk=AddButton( MSGTR_Ok,hbuttonbox3 ); fsCancel=AddButton( MSGTR_Cancel,hbuttonbox3 ); gtk_signal_connect( GTK_OBJECT( fsFileSelect ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&fsFileSelect ); gtk_signal_connect( GTK_OBJECT( fsFileSelect ),"key_release_event",GTK_SIGNAL_FUNC( on_FileSelect_key_release_event ),NULL ); gtk_signal_connect( GTK_OBJECT( fsFilterCombo ),"changed",GTK_SIGNAL_FUNC( fs_fsFilterCombo_changed ),fsFilterCombo ); gtk_signal_connect( GTK_OBJECT( fsFilterCombo ),"activate",GTK_SIGNAL_FUNC( fs_fsFilterCombo_activate ),fsFilterCombo ); gtk_signal_connect( GTK_OBJECT( fsPathCombo ),"changed",GTK_SIGNAL_FUNC( fs_fsPathCombo_changed ),fsPathCombo ); gtk_signal_connect( GTK_OBJECT( fsPathCombo ),"activate",GTK_SIGNAL_FUNC( fs_fsPathCombo_activate ),fsPathCombo ); gtk_signal_connect( GTK_OBJECT( fsUp ),"released",GTK_SIGNAL_FUNC( fs_Up_released ),fsFNameList ); gtk_signal_connect( GTK_OBJECT( fsOk ),"released",GTK_SIGNAL_FUNC( fs_Ok_released ),fsCombo4 ); gtk_signal_connect( GTK_OBJECT( fsCancel ),"released",GTK_SIGNAL_FUNC( fs_Cancel_released ),NULL ); gtk_signal_connect( GTK_OBJECT( fsFNameList ),"select_row",(GtkSignalFunc)fs_fsFNameList_select_row,NULL ); gtk_widget_grab_focus( fsFNameList ); return fsFileSelect; }
GtkWidget* create_window1 (void) { GtkWidget *window1; GtkWidget *table1; GtkWidget *table3; GtkWidget *table5; GtkWidget *button4; GtkWidget *popupbutton; GtkWidget *label4; GtkWidget *reference_button; GtkWidget *hseparator1; GtkWidget *table9; GtkWidget *label8; GtkWidget *entry1; GtkWidget *button3; GtkWidget *button1; GtkWidget *hseparator2; GtkWidget *table10; GtkWidget *frame8; GtkWidget *scrolledwindow8; GtkWidget *clist1; GtkWidget *label9; GtkWidget *myNotebook; GtkWidget *scrolledwindow12; GtkWidget *text1; GtkWidget *label57; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_object_set_data (GTK_OBJECT (window1), "window1", window1); gtk_widget_set_usize (window1, 320, 240); gtk_window_set_title (GTK_WINDOW (window1), _("mydict")); table1 = gtk_table_new (5, 1, FALSE); gtk_widget_ref (table1); gtk_object_set_data_full (GTK_OBJECT (window1), "table1", table1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (window1), table1); gtk_container_set_border_width (GTK_CONTAINER (table1), 2); table3 = gtk_table_new (1, 1, FALSE); gtk_widget_ref (table3); gtk_object_set_data_full (GTK_OBJECT (window1), "table3", table3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table3); gtk_table_attach (GTK_TABLE (table1), table3, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); table5 = gtk_table_new (1, 4, FALSE); gtk_widget_ref (table5); gtk_object_set_data_full (GTK_OBJECT (window1), "table5", table5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table5); gtk_table_attach (GTK_TABLE (table3), table5, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); button4 = gtk_button_new_with_label (_(" Quit ")); gtk_widget_ref (button4); gtk_object_set_data_full (GTK_OBJECT (window1), "button4", button4, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (button4); gtk_table_attach (GTK_TABLE (table5), button4, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, button4, _("Give me comments"), NULL); popupbutton = gtk_button_new_with_label (_("Popup Recite")); gtk_widget_ref (popupbutton); gtk_object_set_data_full (GTK_OBJECT (window1), "popupbutton", popupbutton, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (popupbutton); gtk_table_attach (GTK_TABLE (table5), popupbutton, 3, 4, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); label4 = gtk_label_new (_(" MyDict , Powered by brains. ")); gtk_widget_ref (label4); gtk_object_set_data_full (GTK_OBJECT (window1), "label4", label4, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table5), label4, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label4), 0, 7); reference_button = gtk_button_new_with_label (_("Reference")); gtk_widget_ref (reference_button); gtk_object_set_data_full (GTK_OBJECT (window1), "reference_button", reference_button, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (reference_button); gtk_table_attach (GTK_TABLE (table5), reference_button, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (reference_button), 1); hseparator1 = gtk_hseparator_new (); gtk_widget_ref (hseparator1); gtk_object_set_data_full (GTK_OBJECT (window1), "hseparator1", hseparator1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator1); gtk_table_attach (GTK_TABLE (table1), hseparator1, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); table9 = gtk_table_new (1, 4, FALSE); gtk_widget_ref (table9); gtk_object_set_data_full (GTK_OBJECT (window1), "table9", table9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table9); gtk_table_attach (GTK_TABLE (table1), table9, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label8 = gtk_label_new (_(" What is: ")); gtk_widget_ref (label8); gtk_object_set_data_full (GTK_OBJECT (window1), "label8", label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label8); gtk_table_attach (GTK_TABLE (table9), label8, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label8), 0, 5); entry1 = gtk_entry_new (); gtk_widget_ref (entry1); gtk_object_set_data_full (GTK_OBJECT (window1), "entry1", entry1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry1); gtk_table_attach (GTK_TABLE (table9), entry1, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, entry1, _("Click Right button to clear the entry"), NULL); button3 = gtk_button_new_with_label (_(" Search ")); gtk_widget_ref (button3); gtk_object_set_data_full (GTK_OBJECT (window1), "button3", button3, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (button3); gtk_table_attach (GTK_TABLE (table9), button3, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, button3, _("Look up "), NULL); button1 = gtk_button_new_with_label (_("Add")); gtk_widget_ref (button1); gtk_object_set_data_full (GTK_OBJECT (window1), "button1", button1, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (button1); gtk_table_attach (GTK_TABLE (table9), button1, 3, 4, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (button1), 2); gtk_tooltips_set_tip (tooltips, button1, _("Need to remember"), NULL); hseparator2 = gtk_hseparator_new (); gtk_widget_ref (hseparator2); gtk_object_set_data_full (GTK_OBJECT (window1), "hseparator2", hseparator2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator2); gtk_table_attach (GTK_TABLE (table1), hseparator2, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); /* */ table10 = gtk_table_new (1, 2, FALSE); gtk_widget_ref (table10); gtk_object_set_data_full (GTK_OBJECT (window1), "table10", table10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table10); gtk_table_attach (GTK_TABLE (table1), table10, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); frame8 = gtk_frame_new (_("Relative Words")); gtk_widget_ref (frame8); gtk_object_set_data_full (GTK_OBJECT (window1), "frame8", frame8, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (frame8); gtk_table_attach (GTK_TABLE (table10), frame8, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (frame8, 130, -2); gtk_container_set_border_width (GTK_CONTAINER (frame8), 1); gtk_frame_set_label_align (GTK_FRAME (frame8), 0.61, 0.5); scrolledwindow8 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_ref (scrolledwindow8); gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow8", scrolledwindow8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow8); gtk_container_add (GTK_CONTAINER (frame8), scrolledwindow8); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow8), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); clist1 = gtk_clist_new (1); gtk_widget_ref (clist1); gtk_object_set_data_full (GTK_OBJECT (window1), "clist1", clist1, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (clist1); gtk_container_add (GTK_CONTAINER (scrolledwindow8), clist1); gtk_clist_set_column_width (GTK_CLIST (clist1), 0, 80); gtk_clist_column_titles_hide (GTK_CLIST (clist1)); gtk_clist_set_shadow_type (GTK_CLIST (clist1), GTK_SHADOW_ETCHED_IN); label9 = gtk_label_new (_("label9")); gtk_widget_ref (label9); gtk_object_set_data_full (GTK_OBJECT (window1), "label9", label9, (GtkDestroyNotify) gtk_widget_unref); // gtk_widget_show (label9); gtk_clist_set_column_widget (GTK_CLIST (clist1), 0, label9); myNotebook = gtk_notebook_new (); gtk_widget_ref (myNotebook); gtk_object_set_data_full (GTK_OBJECT (window1), "myNotebook", myNotebook, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (myNotebook); gtk_table_attach (GTK_TABLE (table10), myNotebook, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_notebook_set_scrollable (GTK_NOTEBOOK (myNotebook), TRUE); scrolledwindow12 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_ref (scrolledwindow12); gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow12", scrolledwindow12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow12); gtk_container_add (GTK_CONTAINER (myNotebook), scrolledwindow12); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow12), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* */ text1 = gtk_text_new (NULL, NULL); gtk_widget_ref (text1); gtk_object_set_data_full (GTK_OBJECT (window1), "text1", text1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (text1); gtk_container_add (GTK_CONTAINER (scrolledwindow12), text1); gtk_text_insert (GTK_TEXT (text1), NULL, NULL, NULL, _("\nWelcome to gnuDict framework - mydict-client Gtk version\n\n\n\n\n\nNow check the plugins ......."), -1); label57 = gtk_label_new (_("Welcome to mydict")); gtk_widget_ref (label57); gtk_object_set_data_full (GTK_OBJECT (window1), "label57", label57, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label57); gtk_notebook_set_tab_label (GTK_NOTEBOOK (myNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (myNotebook), 0), label57); gtk_signal_connect (GTK_OBJECT (window1), "destroy", GTK_SIGNAL_FUNC (on_window1_destroy), NULL); gtk_signal_connect (GTK_OBJECT (button4), "clicked", GTK_SIGNAL_FUNC (on_button4_clicked), NULL); gtk_signal_connect (GTK_OBJECT (popupbutton), "clicked", GTK_SIGNAL_FUNC (on_popupbutton_clicked), NULL); gtk_signal_connect (GTK_OBJECT (reference_button), "clicked", GTK_SIGNAL_FUNC (on_reference_button_clicked), NULL); gtk_signal_connect (GTK_OBJECT (entry1), "key_press_event", GTK_SIGNAL_FUNC (on_entry1_key_press_event), NULL); gtk_signal_connect (GTK_OBJECT (entry1), "button_press_event", GTK_SIGNAL_FUNC (on_entry1_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (button3), "clicked", GTK_SIGNAL_FUNC (on_button3_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button1), "clicked", GTK_SIGNAL_FUNC (on_button1_clicked), NULL); gtk_signal_connect (GTK_OBJECT (clist1), "select_row", GTK_SIGNAL_FUNC (on_clist1_select_row), NULL); gtk_signal_connect (GTK_OBJECT (clist1), "key_release_event", GTK_SIGNAL_FUNC (on_clist1_key_release_event), clist1); gtk_signal_connect (GTK_OBJECT (myNotebook), "button_release_event", GTK_SIGNAL_FUNC (on_myNotebook_button_press_event), NULL); gtk_object_set_data (GTK_OBJECT (window1), "tooltips", tooltips); gtk_widget_grab_focus(entry1); return window1; }
GtkWidget *CreateCameraInspectorDialog( void ) { GtkWidget *window, *w, *vbox, *hbox, *table, *frame; // create the window window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_window_set_title( GTK_WINDOW (window), "Camera Inspector" ); gtk_signal_connect( GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC( ci_close ), NULL ); gtk_signal_connect( GTK_OBJECT (window), "expose_event", GTK_SIGNAL_FUNC( ci_expose ), NULL ); // gtk_signal_connect( GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC( gtk_widget_destroy ), NULL ); gtk_window_set_transient_for( GTK_WINDOW( window ), GTK_WINDOW( g_pRadiantWnd ) ); // don't use show, as you don't want to have it displayed on startup ;-) gtk_widget_realize( window ); // fill the window // the table // -------------------------- // table = gtk_table_new( 3, 2, FALSE ); gtk_widget_show( table ); gtk_container_add( GTK_CONTAINER( window ), table ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); // the properties column // -------------------------- // vbox = gtk_vbox_new( FALSE, 5 ); gtk_widget_show( vbox ); gtk_table_attach( GTK_TABLE( table ), vbox, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0 ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_label_new( "File:" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pCamListCombo = gtk_combo_new(); gtk_box_pack_start (GTK_BOX( hbox ), g_pCamListCombo, TRUE, TRUE, 0); gtk_widget_show( g_pCamListCombo ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_label_new( "Name:" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pCamName = gtk_entry_new(); gtk_box_pack_start( GTK_BOX( hbox ), g_pCamName, FALSE, FALSE, 0 ); gtk_widget_show( g_pCamName ); w = gtk_label_new( "Type: " ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); w = gtk_label_new( "" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pCamType = GTK_LABEL( w ); RefreshCamListCombo(); gtk_entry_set_editable( GTK_ENTRY( GTK_COMBO(g_pCamListCombo)->entry ), FALSE ); gtk_signal_connect( GTK_OBJECT(GTK_COMBO(g_pCamListCombo)->entry), "changed", GTK_SIGNAL_FUNC( ci_camlist_changed ), NULL ); // -------------------------- // frame = gtk_frame_new( "Path and Target editing" ); gtk_widget_show( frame ); gtk_table_attach( GTK_TABLE( table ), frame, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0 ); vbox = gtk_vbox_new( FALSE, 5 ); gtk_container_add( GTK_CONTAINER( frame ), vbox ); gtk_container_set_border_width( GTK_CONTAINER (vbox), 5 ); gtk_widget_show( vbox ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_label_new( "Edit:" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pPathListCombo = gtk_combo_new(); gtk_box_pack_start (GTK_BOX( hbox ), g_pPathListCombo, TRUE, TRUE, 0); gtk_widget_show( g_pPathListCombo ); RefreshPathListCombo(); gtk_entry_set_editable( GTK_ENTRY( GTK_COMBO(g_pPathListCombo)->entry ), FALSE ); gtk_signal_connect( GTK_OBJECT(GTK_COMBO(g_pPathListCombo)->entry), "changed", GTK_SIGNAL_FUNC( ci_pathlist_changed ), NULL ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); g_pEditModeEditRadioButton = gtk_radio_button_new_with_label( g_pEditTypeRadio, "Edit Points" ); gtk_box_pack_start( GTK_BOX( hbox ), g_pEditModeEditRadioButton, FALSE, FALSE, 3 ); gtk_widget_show( g_pEditModeEditRadioButton ); g_pEditTypeRadio = gtk_radio_button_group( GTK_RADIO_BUTTON( g_pEditModeEditRadioButton ) ); gtk_signal_connect( GTK_OBJECT( g_pEditModeEditRadioButton ), "clicked", GTK_SIGNAL_FUNC( ci_editmode_edit ), NULL ); g_pEditModeAddRadioButton = gtk_radio_button_new_with_label( g_pEditTypeRadio, "Add Points" ); gtk_box_pack_start( GTK_BOX( hbox ), g_pEditModeAddRadioButton, FALSE, FALSE, 3 ); gtk_widget_show( g_pEditModeAddRadioButton ); g_pEditTypeRadio = gtk_radio_button_group( GTK_RADIO_BUTTON( g_pEditModeAddRadioButton ) ); gtk_signal_connect( GTK_OBJECT( g_pEditModeAddRadioButton ), "clicked", GTK_SIGNAL_FUNC( ci_editmode_add ), NULL ); // see if we should use a different default if( g_iEditMode == 1 ) { // Go to editmode Add gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(g_pEditModeAddRadioButton), TRUE ); } w = gtk_label_new( "Type: " ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); w = gtk_label_new( "" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pPathType = GTK_LABEL( w ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_button_new_with_label( "Rename..." ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, TRUE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_rename ), NULL ); gtk_widget_show( w ); w = gtk_button_new_with_label( "Add Target..." ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, TRUE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_add_target ), NULL ); gtk_widget_show( w ); // not available in splines library /*w = gtk_button_new_with_label( "Delete Selected" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, TRUE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_delete_selected ), NULL ); gtk_widget_show( w ); w = gtk_button_new_with_label( "Select All" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, TRUE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_select_all ), NULL ); gtk_widget_show( w );*/ // -------------------------- // frame = gtk_frame_new( "Time" ); gtk_widget_show( frame ); gtk_table_attach( GTK_TABLE( table ), frame, 0, 1, 2, 3, (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0 ); vbox = gtk_vbox_new( FALSE, 5 ); gtk_container_add( GTK_CONTAINER( frame ), vbox ); gtk_container_set_border_width( GTK_CONTAINER (vbox), 5 ); gtk_widget_show( vbox ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_label_new( "Length (seconds):" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pSecondsEntry = gtk_entry_new(); gtk_box_pack_start( GTK_BOX( hbox ), g_pSecondsEntry, FALSE, FALSE, 0 ); gtk_widget_show( g_pSecondsEntry ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_label_new( "Current Time: " ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); w = gtk_label_new( "0.00" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pCurrentTime = GTK_LABEL( w ); w = gtk_label_new( " of " ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); w = gtk_label_new( "0.00" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); g_pTotalTime = GTK_LABEL( w ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); g_pTimeLine = GTK_ADJUSTMENT( gtk_adjustment_new( 0, 0, 30000, 100, 250, 0 ) ); gtk_signal_connect( GTK_OBJECT(g_pTimeLine), "value_changed", GTK_SIGNAL_FUNC( ci_timeline_changed ), NULL ); w = gtk_hscale_new( g_pTimeLine ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); gtk_widget_show( w ); gtk_scale_set_draw_value( GTK_SCALE( w ), FALSE ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); g_pTrackCamera = gtk_check_button_new_with_label( "Track Camera" ); gtk_box_pack_start( GTK_BOX( hbox ), g_pTrackCamera, FALSE, FALSE, 0 ); gtk_widget_show( g_pTrackCamera ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_label_new( "Events:" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); // -------------------------- // hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); w = gtk_scrolled_window_new( NULL, NULL ); gtk_widget_set_usize( w, 0, 150 ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( w ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); gtk_widget_show( w ); g_pEventsList = gtk_clist_new( 3 ); gtk_container_add( GTK_CONTAINER(w), g_pEventsList); //gtk_signal_connect( GTK_OBJECT(g_pEventsList), "select_row", GTK_SIGNAL_FUNC (proplist_select_row), NULL); gtk_clist_set_selection_mode( GTK_CLIST(g_pEventsList), GTK_SELECTION_BROWSE ); gtk_clist_column_titles_hide( GTK_CLIST(g_pEventsList) ); gtk_clist_set_column_auto_resize( GTK_CLIST(g_pEventsList), 0, TRUE ); gtk_clist_set_column_auto_resize( GTK_CLIST(g_pEventsList), 1, TRUE ); gtk_clist_set_column_auto_resize( GTK_CLIST(g_pEventsList), 2, TRUE ); gtk_widget_show( g_pEventsList ); vbox = gtk_vbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( hbox ), vbox, FALSE, FALSE, 0 ); gtk_widget_show( vbox ); w = gtk_button_new_with_label( "Add..." ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_add ), NULL ); gtk_widget_show( w ); w = gtk_button_new_with_label( "Del" ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_del ), NULL ); gtk_widget_show( w ); // -------------------------- // /*/ | | | */ // the buttons column // -------------------------- // vbox = gtk_vbox_new( FALSE, 5 ); gtk_widget_show( vbox ); gtk_table_attach( GTK_TABLE( table ), vbox, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0 ); w = gtk_button_new_with_label( "New..." ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_new ), NULL ); gtk_widget_show( w ); w = gtk_button_new_with_label( "Load..." ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_load ), NULL ); gtk_widget_show( w ); // -------------------------- // vbox = gtk_vbox_new( FALSE, 5 ); gtk_widget_show( vbox ); gtk_table_attach( GTK_TABLE( table ), vbox, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0 ); w = gtk_button_new_with_label( "Save..." ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_save ), NULL ); gtk_widget_show( w ); w = gtk_button_new_with_label( "Unload" ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_unload ), NULL ); gtk_widget_show( w ); hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, TRUE, TRUE, 0 ); gtk_widget_show( hbox ); w = gtk_button_new_with_label( "Apply" ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_apply ), NULL ); gtk_widget_show( w ); w = gtk_button_new_with_label( "Preview" ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_preview ), NULL ); gtk_widget_show( w ); // -------------------------- // vbox = gtk_vbox_new( FALSE, 5 ); gtk_widget_show( vbox ); gtk_table_attach( GTK_TABLE( table ), vbox, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0 ); hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, TRUE, TRUE, 0 ); gtk_widget_show( hbox ); w = gtk_button_new_with_label( "Close" ); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0); gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( ci_close ), NULL ); GTK_WIDGET_SET_FLAGS( w, GTK_CAN_DEFAULT ); gtk_widget_grab_default( w ); gtk_widget_show( w ); // -------------------------- // return window; }
GtkWidget * create_Equalizer( void ) { GtkWidget * vbox1; GtkWidget * hbox1; GtkWidget * scrolledwindow1; GtkWidget * table1; GtkWidget * hbuttonbox1; GtkAccelGroup * accel_group; accel_group=gtk_accel_group_new(); Equalizer=gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_widget_set_name( Equalizer,MSGTR_Equalizer ); gtk_object_set_data( GTK_OBJECT( Equalizer ),MSGTR_Equalizer,Equalizer ); gtk_widget_set_usize( Equalizer,-1,256 ); gtk_window_set_title( GTK_WINDOW( Equalizer ),MSGTR_Equalizer ); gtk_window_set_position( GTK_WINDOW( Equalizer ),GTK_WIN_POS_CENTER ); gtk_window_set_policy( GTK_WINDOW( Equalizer ),FALSE,FALSE,FALSE ); gtk_window_set_wmclass( GTK_WINDOW( Equalizer ),"Equalizer","MPlayer" ); gtk_widget_realize( Equalizer ); gtkAddIcon( Equalizer ); vbox1=AddVBox( AddDialogFrame( Equalizer ),0 ); Notebook=gtk_notebook_new(); gtk_widget_set_name( Notebook,"Notebook" ); gtk_widget_show( Notebook ); gtk_box_pack_start( GTK_BOX( vbox1 ),Notebook,TRUE,TRUE,0 ); gtk_container_set_border_width( GTK_CONTAINER( Notebook ),1 ); hbox1=AddHBox( Notebook,0 ); scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); gtk_widget_show( scrolledwindow1 ); gtk_box_pack_start( GTK_BOX( hbox1 ),scrolledwindow1,FALSE,FALSE,0 ); gtk_widget_set_usize( scrolledwindow1,106,-2 ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); ChannelsList=gtk_clist_new( 1 ); gtk_widget_set_name( ChannelsList,"ChannelsList" ); gtk_widget_show( ChannelsList ); gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),ChannelsList ); gtk_clist_set_column_width( GTK_CLIST( ChannelsList ),0,80 ); gtk_clist_column_titles_hide( GTK_CLIST( ChannelsList ) ); table1=gtk_table_new( 2,10,FALSE ); gtk_widget_set_name( table1,"table1" ); gtk_widget_show( table1 ); gtk_box_pack_start( GTK_BOX( hbox1 ),table1,FALSE,FALSE,0 ); gtk_table_set_row_spacings( GTK_TABLE( table1 ),4 ); gtk_table_set_col_spacings( GTK_TABLE( table1 ),9 ); A3125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A3125=AddVScaler( A3125adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A3125,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A6250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A6250=AddVScaler( A6250adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A6250,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A125=AddVScaler( A125adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A125,2,3,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A250=AddVScaler( A250adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A250,3,4,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A500adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A500=AddVScaler( A500adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A500,4,5,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A1000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A1000=AddVScaler( A1000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A1000,5,6,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A2000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A2000=AddVScaler( A2000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A2000,6,7,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A4000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A4000=AddVScaler( A4000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A4000,7,8,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A8000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A8000=AddVScaler( A8000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A8000,8,9,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A16000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A16000=AddVScaler( A16000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A16000,9,10,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "31.25",NULL ), 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "62.50",NULL ), 1,2,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "125",NULL ), 2,3,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "250",NULL ), 3,4,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "500",NULL ), 4,5,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "1000",NULL ), 5,6,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "2000",NULL ), 6,7,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "4000",NULL ), 7,8,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "8000",NULL ), 8,9,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "16000",NULL ), 9,10,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),0 ), AddLabel( MSGTR_EQU_Audio,NULL ) ); table1=gtk_table_new( 4,2,FALSE ); gtk_widget_set_name( table1,"table1" ); gtk_widget_show( table1 ); gtk_container_add( GTK_CONTAINER( Notebook ),table1 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Contrast,NULL ), 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Brightness,NULL ), 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Hue,NULL ), 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Saturation,NULL ), 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); VContrastadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VContrast=AddHScaler( VContrastadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VContrast,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VContrast,-1,45 ); VBrightnessadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VBrightness=AddHScaler( VBrightnessadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VBrightness,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VBrightness,-1,45 ); VHueadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VHue=AddHScaler( VHueadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VHue,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VHue,-1,45 ); VSaturationadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VSaturation=AddHScaler( VSaturationadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VSaturation,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VSaturation,-1,45 ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),1 ), AddLabel( MSGTR_EQU_Video,NULL ) ); AddHSeparator( vbox1 ); hbuttonbox1=AddHButtonBox( vbox1 ); gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); Config=AddButton( MSGTR_Config,hbuttonbox1 ); Clear=AddButton( MSGTR_Clear,hbuttonbox1 ); Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); gtk_signal_connect( GTK_OBJECT( Equalizer ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Equalizer ); gtk_signal_connect( GTK_OBJECT( Equalizer ),"focus_in_event",GTK_SIGNAL_FUNC( eqFocus ),(void *)2 ); gtk_signal_connect( GTK_OBJECT( ChannelsList ),"select_row",GTK_SIGNAL_FUNC( eqSelectChannelsListRow ),NULL ); gtk_signal_connect( GTK_OBJECT( A3125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)0 ); gtk_signal_connect( GTK_OBJECT( A6250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)1 ); gtk_signal_connect( GTK_OBJECT( A125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)2 ); gtk_signal_connect( GTK_OBJECT( A250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)3 ); gtk_signal_connect( GTK_OBJECT( A500 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)4 ); gtk_signal_connect( GTK_OBJECT( A1000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)5 ); gtk_signal_connect( GTK_OBJECT( A2000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)6 ); gtk_signal_connect( GTK_OBJECT( A4000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)7 ); gtk_signal_connect( GTK_OBJECT( A8000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)8 ); gtk_signal_connect( GTK_OBJECT( A16000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)9 ); gtk_signal_connect( GTK_OBJECT( VContrast ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)1 ); gtk_signal_connect( GTK_OBJECT( VBrightness ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)2 ); gtk_signal_connect( GTK_OBJECT( VHue ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)3 ); gtk_signal_connect( GTK_OBJECT( VSaturation ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void *)4 ); gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)0 ); gtk_signal_connect( GTK_OBJECT( Clear ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)1 ); gtk_signal_connect( GTK_OBJECT( Config ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)2 ); gtk_signal_connect( GTK_OBJECT( Notebook ),"switch_page",GTK_SIGNAL_FUNC( eqNotebook ),NULL ); gtk_window_add_accel_group( GTK_WINDOW( Equalizer ),accel_group ); return Equalizer; }