static void glade_keys_dialog_init (GladeKeysDialog *dialog) { GtkWidget *scrolled_win; int i, row; gchar *titles[1]; gtk_window_set_title (GTK_WINDOW (dialog), _("Select Accelerator Key")); gtk_window_set_wmclass (GTK_WINDOW (dialog), "accelerator_key", "Glade"); titles[0] = _("Keys"); dialog->clist = gtk_clist_new_with_titles (1, titles); gtk_clist_column_titles_passive (GTK_CLIST (dialog->clist)); gtk_widget_set_usize (dialog->clist, 200, 300); gtk_widget_show (dialog->clist); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_container_add (GTK_CONTAINER (scrolled_win), dialog->clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_win, TRUE, TRUE, 0); gtk_widget_show (scrolled_win); /* Insert events & descriptions */ gtk_clist_freeze (GTK_CLIST (dialog->clist)); i = 0; while (GbKeys[i].name) { row = gtk_clist_append (GTK_CLIST (dialog->clist), (gchar**) (&GbKeys[i].name)); gtk_clist_set_row_data (GTK_CLIST (dialog->clist), row, GINT_TO_POINTER (i)); i++; } gtk_clist_thaw (GTK_CLIST (dialog->clist)); #ifdef USE_GNOME dialog->ok_button = gnome_stock_button (GNOME_STOCK_BUTTON_OK); #else dialog->ok_button = gtk_button_new_with_label (_ ("OK")); #endif gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), dialog->ok_button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (dialog->ok_button, GTK_CAN_DEFAULT); gtk_widget_grab_default (dialog->ok_button); gtk_widget_show (dialog->ok_button); #ifdef USE_GNOME dialog->cancel_button = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); #else dialog->cancel_button = gtk_button_new_with_label (_("Cancel")); #endif gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), dialog->cancel_button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (dialog->cancel_button, GTK_CAN_DEFAULT); gtk_widget_show (dialog->cancel_button); }
/** * Initialize the nodes controller. Register callbacks in the backend. */ G_GNUC_COLD void nodes_gui_init(void) { unsigned i; GtkCList *clist; clist = GTK_CLIST(gui_main_window_lookup("clist_nodes")); gtk_clist_column_titles_passive(clist); for (i = 0; i < c_gnet_num; i++) { gtk_clist_set_column_name(clist, i, nodes_gui_column_title(i)); } clist_restore_visibility(clist, PROP_NODES_COL_VISIBLE); clist_restore_widths(clist, PROP_NODES_COL_WIDTHS); widget_add_popup_menu(GTK_WIDGET(clist), nodes_gui_get_popup_menu); hs_node_info_changed = hset_create_any(nid_hash, nid_hash2, nid_equal); hs_node_flags_changed = hset_create_any(nid_hash, nid_hash2, nid_equal); guc_node_add_node_added_listener(nodes_gui_node_added); guc_node_add_node_removed_listener(nodes_gui_node_removed); guc_node_add_node_info_changed_listener(nodes_gui_node_info_changed); guc_node_add_node_flags_changed_listener(nodes_gui_node_flags_changed); main_gui_add_timer(nodes_gui_timer); }
static int create_disassembly( GtkBox *parent, gtkui_font font ) { size_t i; GtkWidget *scrollbar; gchar *disassembly_titles[] = { "Address", "Instruction" }; /* A box to hold the disassembly listing and the scrollbar */ disassembly_box = gtk_hbox_new( FALSE, 0 ); gtk_box_pack_start_defaults( parent, disassembly_box ); /* The disassembly CList itself */ disassembly = gtk_clist_new_with_titles( 2, disassembly_titles ); gtkui_set_font( disassembly, font ); gtk_clist_column_titles_passive( GTK_CLIST( disassembly ) ); for( i = 0; i < 2; i++ ) gtk_clist_set_column_auto_resize( GTK_CLIST( disassembly ), i, TRUE ); gtk_box_pack_start_defaults( GTK_BOX( disassembly_box ), disassembly ); /* The disassembly scrollbar */ disassembly_scrollbar_adjustment = gtk_adjustment_new( 0, 0x0000, 0xffff, 0.5, 20, 20 ); gtk_signal_connect( GTK_OBJECT( disassembly_scrollbar_adjustment ), "value-changed", GTK_SIGNAL_FUNC( move_disassembly ), NULL ); scrollbar = gtk_vscrollbar_new( GTK_ADJUSTMENT( disassembly_scrollbar_adjustment ) ); gtk_box_pack_start( GTK_BOX( disassembly_box ), scrollbar, FALSE, FALSE, 0 ); gtkui_scroll_connect( GTK_CLIST( disassembly ), GTK_ADJUSTMENT( disassembly_scrollbar_adjustment ) ); return 0; }
GtkCList * create_stat_table(GtkWidget *scrolled_window, GtkWidget *vbox, int columns, const char *titles[]) { GtkCList *table; int i; /* create table */ table = GTK_CLIST(gtk_clist_new_with_titles(columns, (gchar **) titles)); gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0); /* configure clist */ gtk_clist_column_titles_passive(table); gtk_clist_column_titles_show(table); for (i = 0; i < columns; i++) gtk_clist_set_column_auto_resize(table, i, TRUE); gtk_clist_set_selection_mode(table, GTK_SELECTION_SINGLE); /* Put clist into a scrolled window */ gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(table)); gtk_widget_show(GTK_WIDGET(table)); gtk_widget_show(scrolled_window); return table; }
void module_glist (struct session *sess) { gchar *titles[] = { _("Name"), _("Description") }; GtkWidget *okb, *ulb; if (modlist) return; modlist = gtk_dialog_new (); gtk_signal_connect (GTK_OBJECT (modlist), "delete_event", GTK_SIGNAL_FUNC (module_glist_close), 0); gtk_widget_set_usize (modlist, 350, 200); gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (modlist)->vbox), 4); gtk_window_set_position (GTK_WINDOW (modlist), GTK_WIN_POS_CENTER); gtk_window_set_title (GTK_WINDOW (modlist), _("X-Chat Plugins")); gtk_window_set_wmclass (GTK_WINDOW (modlist), "plugins", "X-Chat"); modclist = gtk_clist_new_with_titles (2, titles); gtk_clist_set_selection_mode (GTK_CLIST (modclist), GTK_SELECTION_BROWSE); gtk_clist_column_titles_passive (GTK_CLIST (modclist)); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (modlist)->vbox), modclist, 1, 1, 10); gtk_widget_show (modclist); gtk_clist_set_column_width (GTK_CLIST (modclist), 0, 40); #ifdef USE_GNOME okb = gnome_stock_button (GNOME_STOCK_BUTTON_OK); #else okb = gtk_button_new_with_label (_("Ok")); #endif gtk_box_pack_start (GTK_BOX (GTK_DIALOG (modlist)->action_area), okb, 1, 1, 10); gtk_signal_connect (GTK_OBJECT (okb), "clicked", GTK_SIGNAL_FUNC (module_glist_close), (gpointer) modlist); gtk_widget_show (okb); ulb = gtk_button_new_with_label (_("Unload")); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (modlist)->action_area), ulb, 1, 1, 10); gtk_signal_connect (GTK_OBJECT (ulb), "clicked", GTK_SIGNAL_FUNC (module_glist_unload), (gpointer) sess); gtk_widget_show (ulb); fe_pluginlist_update (); gtk_widget_show (modlist); }
void DownloadUI::CreateDownloadList(GtkWidget *box) { static const char *titles[] = { "Song Title", "Status" }; m_List = gtk_clist_new_with_titles(2, (gchar **)titles); gtk_container_add(GTK_CONTAINER(box), m_List); gtk_clist_set_column_width(GTK_CLIST(m_List), 0, 200); gtk_signal_connect(GTK_OBJECT(m_List), "select_row", GTK_SIGNAL_FUNC(set_current_sel_internal), this); gtk_widget_show(m_List); gtk_clist_column_titles_passive(GTK_CLIST(m_List)); }
static int create_breakpoints( GtkBox *parent ) { size_t i; gchar *breakpoint_titles[] = { "ID", "Type", "Value", "Ignore", "Life", "Condition" }; breakpoints = gtk_clist_new_with_titles( 6, breakpoint_titles ); gtk_clist_column_titles_passive( GTK_CLIST( breakpoints ) ); for( i = 0; i < 6; i++ ) gtk_clist_set_column_auto_resize( GTK_CLIST( breakpoints ), i, TRUE ); gtk_box_pack_start_defaults( parent, breakpoints ); return 0; }
static void glade_keys_dialog_init (GladeKeysDialog *dialog) { GtkWidget *scrolled_win; int i, row; gchar *titles[1]; gtk_window_set_title (GTK_WINDOW (dialog), _("Select Accelerator Key")); gtk_window_set_wmclass (GTK_WINDOW (dialog), "accelerator_key", "Glade"); titles[0] = _("Keys"); dialog->clist = gtk_clist_new_with_titles (1, titles); gtk_clist_column_titles_passive (GTK_CLIST (dialog->clist)); gtk_widget_set_usize (dialog->clist, 200, 300); gtk_widget_show (dialog->clist); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_container_add (GTK_CONTAINER (scrolled_win), dialog->clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_win, TRUE, TRUE, 0); gtk_widget_show (scrolled_win); /* Insert events & descriptions */ gtk_clist_freeze (GTK_CLIST (dialog->clist)); i = 0; while (GbKeys[i].name) { row = gtk_clist_append (GTK_CLIST (dialog->clist), (gchar**) (&GbKeys[i].name)); gtk_clist_set_row_data (GTK_CLIST (dialog->clist), row, GINT_TO_POINTER (i)); i++; } gtk_clist_thaw (GTK_CLIST (dialog->clist)); gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); }
static int create_stack_display( GtkBox *parent, gtkui_font font ) { size_t i; gchar *stack_titles[] = { "Address", "Value" }; stack = gtk_clist_new_with_titles( 2, stack_titles ); gtkui_set_font( stack, font ); gtk_clist_column_titles_passive( GTK_CLIST( stack ) ); for( i = 0; i < 2; i++ ) gtk_clist_set_column_auto_resize( GTK_CLIST( stack ), i, TRUE ); gtk_box_pack_start( parent, stack, TRUE, TRUE, 5 ); gtk_signal_connect( GTK_OBJECT( stack ), "select-row", GTK_SIGNAL_FUNC( stack_click ), NULL ); return 0; }
void hcache_gui_init(void) { GtkCList *clist; const gchar *titles[5]; guint i; for (i = 0; i < G_N_ELEMENTS(titles); i++) { titles[i] = "-"; } clist = GTK_CLIST(gui_main_window_lookup("clist_hcache")); /* * Stats can't be sorted: make column headers insensitive. */ gtk_clist_column_titles_passive(clist); /* * Initialize stats tables. */ for (i = 0; i < HCACHE_MAX; i++) { gint row; if (i == HCACHE_NONE) continue; titles[0] = get_hcache_name(i); /* Override const */ row = gtk_clist_append(clist, (gchar **) titles); gtk_clist_set_selectable(clist, row, FALSE); } for (i = 1; i < 4; i++) { gtk_clist_set_column_justification(clist, i, GTK_JUSTIFY_RIGHT); } clist_restore_widths(clist, PROP_HCACHE_COL_WIDTHS); main_gui_add_timer(hcache_gui_timer); }
GtkWidget * gtkutil_clist_new (int columns, char *titles[], GtkWidget * box, int policy, void *select_callback, gpointer select_userdata, void *unselect_callback, gpointer unselect_userdata, int selection_mode) { GtkWidget *clist, *win; win = gtk_scrolled_window_new (0, 0); gtk_container_add (GTK_CONTAINER (box), win); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win), GTK_POLICY_AUTOMATIC, policy); gtk_widget_show (win); if (titles) clist = gtk_clist_new_with_titles (columns, titles); else clist = gtk_clist_new (columns); gtk_clist_set_selection_mode (GTK_CLIST (clist), selection_mode); gtk_clist_column_titles_passive (GTK_CLIST (clist)); gtk_container_add (GTK_CONTAINER (win), clist); if (select_callback) { g_signal_connect (G_OBJECT (clist), "select_row", G_CALLBACK (select_callback), select_userdata); } if (unselect_callback) { g_signal_connect (G_OBJECT (clist), "unselect_row", G_CALLBACK (unselect_callback), unselect_userdata); } gtk_widget_show (clist); return clist; }
static GtkWidget* make_contents(history_calendar_dlg *hcdlg) { GtkWidget *vbox, *button, *scrollwin; gchar *titles[] = { "Time", "Event" }; button = gtk_button_new(); hcdlg->daylabel = gtk_label_new(""); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(popup_calendar), hcdlg); gtk_container_add(GTK_CONTAINER(button), hcdlg->daylabel); scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); hcdlg->evlist = gtk_clist_new_with_titles(2, titles); gtk_clist_set_selection_mode(GTK_CLIST(hcdlg->evlist), GTK_SELECTION_BROWSE); g_signal_connect(G_OBJECT(hcdlg->evlist), "select-row", G_CALLBACK(hc_row_selected), hcdlg); g_signal_connect(G_OBJECT(hcdlg->evlist), "unselect-row", G_CALLBACK(hc_row_selected), hcdlg); g_signal_connect(G_OBJECT(hcdlg->evlist), "button_press_event", G_CALLBACK(hc_list_click_cb), hcdlg); gtk_clist_column_titles_passive(GTK_CLIST(hcdlg->evlist)); /* fixme gtk2 gtk_clist_set_column_width(GTK_CLIST(hcdlg->evlist), 0, gdk_string_width(hcdlg->evlist->style->font, "00:00a"));*/ titles[0] = NULL; titles[1] = "[select a day]"; gtk_clist_append(GTK_CLIST(hcdlg->evlist), titles); gtk_clist_set_selectable(GTK_CLIST(hcdlg->evlist), 0, FALSE); gtk_container_add(GTK_CONTAINER(scrollwin), hcdlg->evlist); vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), scrollwin, TRUE, TRUE, 0); return vbox; }
void lzaktaxi() { char bros[300]; iceb_u_str kol00; iceb_u_str kol0; iceb_u_str kol1; iceb_u_str kol2; iceb_u_str kol3; iceb_u_str kol4; iceb_u_str kol5; iceb_u_str kol6; iceb_u_str kol7; iceb_u_str kol8; iceb_u_str kol9; iceb_u_str kol10; iceb_u_str kol11; iceb_u_str kol12; iceb_u_str kol13; iceb_u_str kol14; iceb_u_str kol15; /**************** kol00.plus("M"); kol0.plus(iceb_u_toutf("Дата и время заказа")); kol3.plus(iceb_u_toutf("Адрес подачи")); kol5.plus(iceb_u_toutf("Адрес поездки")); kol4.plus(iceb_u_toutf("Телефон")); kol6.plus(iceb_u_toutf("Код клиента")); kol1.plus(iceb_u_toutf("Водитель")); kol2.plus(iceb_u_toutf("Гос.номер")); kol9.plus(iceb_u_toutf("Код завершения"));//10 kol7.plus(iceb_u_toutf("К/п")); kol8.plus(iceb_u_toutf("Коментарий")); kol10.plus(iceb_u_toutf("Фамилия")); kol11.plus(iceb_u_toutf("Сумма")); kol12.plus(iceb_u_toutf("Дата и время звонка"));//11 kol13.plus(iceb_u_toutf("Дата и время завершения"));//12 kol14.plus(iceb_u_toutf("Дата и время записи"));//13 kol15.plus(iceb_u_toutf("Оператор"));//14 gchar *titles[] = \ { kol00.ravno(), kol0.ravno(), kol3.ravno(), kol5.ravno(), kol4.ravno(), kol6.ravno(), kol1.ravno(), kol2.ravno(), kol9.ravno(), kol7.ravno(), kol8.ravno(), kol10.ravno(), kol11.ravno(), kol12.ravno(), kol13.ravno(), kol14.ravno(), kol15.ravno() }; ********************/ gchar *titles[] = \ { iceb_u_toutf("M"), iceb_u_toutf("Дата и время заказа"), iceb_u_toutf("Адрес подачи"), iceb_u_toutf("Адрес поездки"), iceb_u_toutf("Телефон"), iceb_u_toutf("Код клиента"), iceb_u_toutf("Водитель"), iceb_u_toutf("Гос.номер"), iceb_u_toutf("Код завершения"), iceb_u_toutf("К/п"), iceb_u_toutf("Коментарий"), iceb_u_toutf("Фамилия"), iceb_u_toutf("Сумма"), iceb_u_toutf("Дата и время звонка"), iceb_u_toutf("Дата и время завершения"), iceb_u_toutf("Дата и время записи"), iceb_u_toutf("Оператор") }; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); //gtk_widget_set_usize(GTK_WIDGET(data.window), 600, 400); //gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); sprintf(bros,"%s %s",NAME_SYSTEM,iceb_u_toutf("Список заказов")); gtk_window_set_title(GTK_WINDOW(data.window),bros); gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL); gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(lzaktaxi_key_press),&data); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift); GtkWidget *vbox=gtk_vbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(data.window), vbox); data.label=gtk_label_new(gettext("Поиск")); gtk_box_pack_start(GTK_BOX(vbox),data.label,FALSE,FALSE,0); data.scrolled_window= gtk_scrolled_window_new (NULL, NULL); //gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(data.scrolled_window), // GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize(GTK_WIDGET(data.scrolled_window), 500, 300); gtk_box_pack_start(GTK_BOX(vbox), data.scrolled_window, TRUE, TRUE, 0); gtk_widget_show (data.scrolled_window); gtk_widget_realize(data.scrolled_window); gdk_window_set_cursor(data.scrolled_window->window,gdk_cursor_new(ICEB_CURSOR)); //gdk_window_set_cursor(data.scrolled_window->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); data.list = gtk_clist_new_with_titles(KOLTITL, titles); gtk_clist_column_titles_passive((GtkCList *) data.list); gtk_signal_connect(GTK_OBJECT(data.list), "select_row", GTK_SIGNAL_FUNC(lzaktaxi_selection_row),&data); gtk_signal_connect(GTK_OBJECT(data.list), "unselect_row", GTK_SIGNAL_FUNC(lzaktaxi_unselection_row),&data); //gtk_clist_set_column_width (GTK_CLIST(data.list), 0, 60); //gtk_clist_set_column_width (GTK_CLIST(data.list), 1, 300); gtk_container_add(GTK_CONTAINER(data.scrolled_window), data.list); //gtk_widget_show(data.list); /********************** gtk_widget_realize(data.list); gdk_window_set_cursor(data.list->window,gdk_cursor_new(GDK_HAND1)); ****************/ data.hboxradio = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), data.hboxradio, FALSE, TRUE, 0); data.metkarr=0; //Вставляем радиокнопки GSList *group=NULL; data.radiobutton0=gtk_radio_button_new_with_label(NULL,iceb_u_toutf("Незавершенные заказы")); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton0, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton0), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio0),&data); //gtk_object_set_user_data(GTK_OBJECT(data.radiobutton0),(gpointer)"0"); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton0)); data.radiobutton1=gtk_radio_button_new_with_label(group,iceb_u_toutf("Все заказы")); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton1, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton1), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio1),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1)); data.radiobutton2=gtk_radio_button_new_with_label(group,iceb_u_toutf("Сутки")); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton2, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton2), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio2),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton2)); data.radiobutton3=gtk_radio_button_new_with_label(group,iceb_u_toutf("Первые")); gtk_signal_connect(GTK_OBJECT(data.radiobutton3), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio3),&data); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton3, TRUE, TRUE, 0); //кнопку устанавливаем активной после отображения окна //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton3),TRUE); //Устанавливем активной кнопку //Вставляем настройку количества записей GtkObject *adjustment1=gtk_adjustment_new(10.0,1.0,1000.0,1.0,0.0,0.0); data.spin1=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment1),1.0,0); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.spin1, TRUE, TRUE, 0); GtkTooltips *tooltipsspin1=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltipsspin1,data.spin1,iceb_u_toutf("Установка количества записей для просмотра"),NULL); //Вставляем кнопку автоматического обновления списка GtkWidget *knopaos=gtk_check_button_new_with_label(iceb_u_toutf("Автоматическое обновление списка")); gtk_signal_connect(GTK_OBJECT(knopaos), "toggled",GTK_SIGNAL_FUNC(lzaktaxi_knopaos),&data); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(knopaos),FALSE); gtk_box_pack_start (GTK_BOX (data.hboxradio),knopaos, TRUE, TRUE, 0); //Вставляем настройку автоматического обновления списка GtkObject *adjustment=gtk_adjustment_new(30.0,1.0,3600.0,1.0,0.0,0.0); data.spin=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment),1.0,0); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.spin, TRUE, TRUE, 0); GtkTooltips *tooltipsspin=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltipsspin,data.spin,iceb_u_toutf("Установка интервала автоматического обновления списка в секундах"),NULL); sprintf(bros,"К/з: 0"); data.labelkz=gtk_label_new(iceb_u_toutf(bros)); gtk_box_pack_end(GTK_BOX(data.hboxradio),data.labelkz, TRUE, TRUE, 0); GtkWidget *hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); gtk_widget_show(hbox); sprintf(bros,"F2 %s",gettext("Запись")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK2], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips0=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips0,data.knopka[FK2],iceb_u_toutf("Ввод нового заказа"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); sprintf(bros,"%sF2 %s",RFK,gettext("Корректировать")); data.knopka[SFK2]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[SFK2], TRUE, TRUE, 0); gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[SFK2]),FALSE);//Недоступна gtk_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips1=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips1,data.knopka[SFK2],gettext("Корректировка выбранной запси"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK2]),(gpointer)SFK2); sprintf(bros,"F3 %s",gettext("Удалить")); data.knopka[FK3]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK3], TRUE, TRUE, 0); gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[FK3]),FALSE);//Недоступна gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips2=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips2,data.knopka[FK3],gettext("Удаление выбранной запси"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); sprintf(bros,"F4 %s",gettext("Поиск")); data.knopka[FK4]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK4], TRUE, TRUE, 0); GtkTooltips *tooltips3=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips3,data.knopka[FK4],gettext("Поиск нужных записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); sprintf(bros,"F5 %s",gettext("Печать")); data.knopka[FK5]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK5], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips4=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips4,data.knopka[FK5],gettext("Распечатка записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5); sprintf(bros,"F6 %s",iceb_u_toutf("Завершить")); data.knopka[FK6]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK6], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips5=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips5,data.knopka[FK6],iceb_u_toutf("Отметить выбранный заказ как завершенный"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); sprintf(bros,"F7 %s",iceb_u_toutf("Обновить")); data.knopka[FK7]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK7], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips7=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips7,data.knopka[FK7],iceb_u_toutf("Обновить список заказов"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7); sprintf(bros,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox),data.knopka[FK10], TRUE, TRUE, 0); GtkTooltips *tooltips6=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips6,data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_grab_focus(data.knopka[FK10]); gtk_widget_show_all(data.window); gtk_widget_hide(data.label); //Скрываем от показа виджет //data.colormap=gdk_colormap_get_system(); //if(gdk_color_parse("blue",&data.color_blue) == TRUE) // gdk_color_alloc(data.colormap,&data.color_blue); //if(gdk_color_parse("red",&data.color_red) == TRUE) // gdk_color_alloc(data.colormap,&data.color_red); gdk_color_parse("blue",&data.color_blue); gdk_color_parse("red",&data.color_red); //zapzaktaxi(&data); //записывается при включении радиокнопки gtk_widget_show_all(data.window); gtk_widget_hide(data.label); //Скрываем от показа виджет gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton3),TRUE); //Устанавливем активной кнопку gtk_main(); return; }
extern GtkWidget* GL_Create(void) { GtkStyle *ps; gint nMaxWidth; char *asz[] = {NULL, NULL, NULL}; PangoRectangle logical_rect; PangoLayout *layout; asz[0] = _("#"); pwGameList = gtk_clist_new_with_titles(3, asz); gtk_widget_set_can_focus (pwGameList, FALSE); gtk_clist_set_selection_mode( GTK_CLIST( pwGameList ), GTK_SELECTION_BROWSE ); gtk_clist_column_titles_passive( GTK_CLIST( pwGameList ) ); GL_SetNames(); gtk_clist_set_column_justification( GTK_CLIST( pwGameList ), 0, GTK_JUSTIFY_RIGHT ); gtk_clist_set_column_resizeable( GTK_CLIST( pwGameList ), 0, FALSE ); gtk_clist_set_column_resizeable( GTK_CLIST( pwGameList ), 1, FALSE ); gtk_clist_set_column_resizeable( GTK_CLIST( pwGameList ), 2, FALSE ); gtk_widget_ensure_style( pwGameList ); GetStyleFromRCFile(&ps, "gnubg", gtk_widget_get_style( pwGameList ) ); ps->base[ GTK_STATE_SELECTED ] = ps->base[ GTK_STATE_ACTIVE ] = ps->base[ GTK_STATE_NORMAL ] = gtk_widget_get_style( pwGameList )->base[ GTK_STATE_NORMAL ]; ps->fg[ GTK_STATE_SELECTED ] = ps->fg[ GTK_STATE_ACTIVE ] = ps->fg[ GTK_STATE_NORMAL ] = gtk_widget_get_style( pwGameList )->fg[ GTK_STATE_NORMAL ]; gtk_widget_set_style( pwGameList, ps ); psGameList = gtk_style_copy( ps ); psGameList->bg[ GTK_STATE_SELECTED ] = psGameList->bg[ GTK_STATE_NORMAL ] = ps->base[ GTK_STATE_NORMAL ]; psCurrent = gtk_style_copy( psGameList ); psCurrent->bg[ GTK_STATE_SELECTED ] = psCurrent->bg[ GTK_STATE_NORMAL ] = psCurrent->base[ GTK_STATE_SELECTED ] = psCurrent->base[ GTK_STATE_NORMAL ] = psGameList->fg[ GTK_STATE_NORMAL ]; psCurrent->fg[ GTK_STATE_SELECTED ] = psCurrent->fg[ GTK_STATE_NORMAL ] = psGameList->bg[ GTK_STATE_NORMAL ]; GetStyleFromRCFile(&psCubeErrors[SKILL_VERYBAD], "gamelist-cube-blunder", psGameList); GetStyleFromRCFile(&psCubeErrors[SKILL_BAD], "gamelist-cube-error", psGameList); GetStyleFromRCFile(&psCubeErrors[SKILL_DOUBTFUL], "gamelist-cube-doubtful", psGameList); GetStyleFromRCFile(&psChequerErrors[SKILL_VERYBAD], "gamelist-chequer-blunder", psGameList); GetStyleFromRCFile(&psChequerErrors[SKILL_BAD], "gamelist-chequer-error", psGameList); GetStyleFromRCFile(&psChequerErrors[SKILL_DOUBTFUL], "gamelist-chequer-doubtful", psGameList); GetStyleFromRCFile(&psLucky[LUCK_VERYBAD], "gamelist-luck-bad", psGameList); GetStyleFromRCFile(&psLucky[LUCK_VERYGOOD], "gamelist-luck-good", psGameList); layout = gtk_widget_create_pango_layout(pwGameList, "99"); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); g_object_unref (layout); nMaxWidth = logical_rect.width; gtk_clist_set_column_width( GTK_CLIST( pwGameList ), 0, nMaxWidth ); layout = gtk_widget_create_pango_layout(pwGameList, " (set board AAAAAAAAAAAAAA)"); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); g_object_unref (layout); nMaxWidth = logical_rect.width; gtk_clist_set_column_width( GTK_CLIST( pwGameList ), 1, nMaxWidth - 30); gtk_clist_set_column_width( GTK_CLIST( pwGameList ), 2, nMaxWidth - 30); g_signal_connect( G_OBJECT( pwGameList ), "select-row", G_CALLBACK( GameListSelectRow ), NULL ); return pwGameList; }
/* * mainline.. */ void ptrans_searchbox(char *title) { int i; GtkWidget *scrolled_win; GtkWidget *vbox1, *hbox, *hbox0; GtkWidget *button1, *button5, *button6; gchar *titles[]={"Process Filter Select"}; GtkWidget *frame2, *frameh, *frameh0; GtkWidget *table; GtkTooltips *tooltips; if(GLOBALS->is_active_ptranslate_c_2) { gdk_window_raise(GLOBALS->window_ptranslate_c_5->window); return; } GLOBALS->is_active_ptranslate_c_2=1; GLOBALS->current_filter_ptranslate_c_1 = 0; /* create a new modal window */ GLOBALS->window_ptranslate_c_5 = gtk_window_new(GLOBALS->disable_window_manager ? GTK_WINDOW_POPUP : GTK_WINDOW_TOPLEVEL); install_focus_cb(GLOBALS->window_ptranslate_c_5, ((char *)&GLOBALS->window_ptranslate_c_5) - ((char *)GLOBALS)); gtk_window_set_title(GTK_WINDOW (GLOBALS->window_ptranslate_c_5), title); gtkwave_signal_connect(GTK_OBJECT (GLOBALS->window_ptranslate_c_5), "delete_event",(GtkSignalFunc) destroy_callback, NULL); tooltips=gtk_tooltips_new_2(); table = gtk_table_new (256, 1, FALSE); gtk_widget_show (table); vbox1 = gtk_vbox_new (FALSE, 0); gtk_container_border_width (GTK_CONTAINER (vbox1), 3); gtk_widget_show (vbox1); frame2 = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frame2), 3); gtk_widget_show(frame2); gtk_table_attach (GTK_TABLE (table), frame2, 0, 1, 0, 254, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); GLOBALS->clist_ptranslate_c_2=gtk_clist_new_with_titles(1,titles); gtk_clist_column_titles_passive(GTK_CLIST(GLOBALS->clist_ptranslate_c_2)); gtk_clist_set_selection_mode(GTK_CLIST(GLOBALS->clist_ptranslate_c_2), GTK_SELECTION_EXTENDED); gtkwave_signal_connect_object (GTK_OBJECT (GLOBALS->clist_ptranslate_c_2), "select_row",GTK_SIGNAL_FUNC(select_row_callback),NULL); gtkwave_signal_connect_object (GTK_OBJECT (GLOBALS->clist_ptranslate_c_2), "unselect_row",GTK_SIGNAL_FUNC(unselect_row_callback),NULL); for(i=0;i<GLOBALS->num_proc_filters;i++) { gtk_clist_append(GTK_CLIST(GLOBALS->clist_ptranslate_c_2),(gchar **)&(GLOBALS->procsel_filter[i+1])); } gtk_clist_set_column_width(GTK_CLIST(GLOBALS->clist_ptranslate_c_2),0,gtk_clist_optimal_column_width(GTK_CLIST(GLOBALS->clist_ptranslate_c_2),0)); gtk_widget_show (GLOBALS->clist_ptranslate_c_2); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize( GTK_WIDGET (scrolled_win), -1, 300); gtk_widget_show(scrolled_win); /* gtk_scrolled_window_add_with_viewport doesn't seen to work right here.. */ gtk_container_add (GTK_CONTAINER (scrolled_win), GLOBALS->clist_ptranslate_c_2); gtk_container_add (GTK_CONTAINER (frame2), scrolled_win); frameh0 = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frameh0), 3); gtk_widget_show(frameh0); gtk_table_attach (GTK_TABLE (table), frameh0, 0, 1, 254, 255, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); hbox0 = gtk_hbox_new (FALSE, 1); gtk_widget_show (hbox0); button6 = gtk_button_new_with_label (" Add Proc Filter to List "); gtk_container_border_width (GTK_CONTAINER (button6), 3); gtkwave_signal_connect_object (GTK_OBJECT (button6), "clicked",GTK_SIGNAL_FUNC(add_filter_callback),GTK_OBJECT (GLOBALS->window_ptranslate_c_5)); gtk_widget_show (button6); gtk_tooltips_set_tip_2(tooltips, button6, "Bring up a file requester to add a process filter to the filter select window.",NULL); gtk_box_pack_start (GTK_BOX (hbox0), button6, TRUE, FALSE, 0); gtk_container_add (GTK_CONTAINER (frameh0), hbox0); frameh = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frameh), 3); gtk_widget_show(frameh); gtk_table_attach (GTK_TABLE (table), frameh, 0, 1, 255, 256, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); hbox = gtk_hbox_new (FALSE, 1); gtk_widget_show (hbox); button1 = gtk_button_new_with_label (" OK "); gtk_container_border_width (GTK_CONTAINER (button1), 3); gtkwave_signal_connect_object (GTK_OBJECT (button1), "clicked",GTK_SIGNAL_FUNC(ok_callback),GTK_OBJECT (GLOBALS->window_ptranslate_c_5)); gtk_widget_show (button1); gtk_tooltips_set_tip_2(tooltips, button1, "Add selected signals to end of the display on the main window.",NULL); gtk_box_pack_start (GTK_BOX (hbox), button1, TRUE, FALSE, 0); button5 = gtk_button_new_with_label (" Cancel "); gtk_container_border_width (GTK_CONTAINER (button5), 3); gtkwave_signal_connect_object (GTK_OBJECT (button5), "clicked",GTK_SIGNAL_FUNC(destroy_callback),GTK_OBJECT (GLOBALS->window_ptranslate_c_5)); gtk_tooltips_set_tip_2(tooltips, button5, "Do nothing and return to the main window.",NULL); gtk_widget_show (button5); gtk_box_pack_start (GTK_BOX (hbox), button5, TRUE, FALSE, 0); gtk_container_add (GTK_CONTAINER (frameh), hbox); gtk_container_add (GTK_CONTAINER (GLOBALS->window_ptranslate_c_5), table); gtk_widget_set_usize(GTK_WIDGET(GLOBALS->window_ptranslate_c_5), 400, 400); gtk_widget_show(GLOBALS->window_ptranslate_c_5); }
int install_gui(GtkWidget *main_window, int w, int h, int x, int y) { GtkWidget *scrolled_window; GtkWidget *button; GtkWidget *label; GtkWidget *pixmapwid; GdkPixmap *pixmap; GdkBitmap *mask; char temp_str[256]; const char *svalue; gchar *titles[] = {"", _("Files to install")}; if (filew) { return EXIT_SUCCESS; } clist_row_selected = 0; g_snprintf(temp_str, sizeof(temp_str), "%s %s", PN, _("Install")); filew = gtk_widget_new(GTK_TYPE_FILE_SELECTION, "type", GTK_WINDOW_TOPLEVEL, "title", temp_str, NULL); gtk_window_set_default_size(GTK_WINDOW(filew), w, h); gtk_widget_set_uposition(filew, x, y); gtk_window_set_modal(GTK_WINDOW(filew), TRUE); gtk_window_set_transient_for(GTK_WINDOW(filew), GTK_WINDOW(main_window)); get_pref(PREF_INSTALL_PATH, NULL, &svalue); if (svalue && svalue[0]) { gtk_file_selection_set_filename(GTK_FILE_SELECTION(filew), svalue); } gtk_file_selection_hide_fileop_buttons((gpointer) filew); gtk_widget_hide((GTK_FILE_SELECTION(filew)->cancel_button)); gtk_signal_connect(GTK_OBJECT(filew), "destroy", GTK_SIGNAL_FUNC(cb_destroy), filew); /* Even though I hide the ok button I still want to connect its signal */ /* because a double click on the file name also calls this callback */ gtk_widget_hide(GTK_WIDGET(GTK_FILE_SELECTION(filew)->ok_button)); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filew)->ok_button), "clicked", GTK_SIGNAL_FUNC(cb_add), filew); clist = gtk_clist_new_with_titles(2, titles); gtk_widget_set_usize(GTK_WIDGET(clist), 0, 166); gtk_clist_column_titles_passive(GTK_CLIST(clist)); gtk_clist_set_column_auto_resize(GTK_CLIST(clist), INST_SDCARD_COLUMN, TRUE); gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_BROWSE); get_pixmaps(clist, PIXMAP_SDCARD, &pixmap, &mask); #ifdef __APPLE__ mask = NULL; #endif pixmapwid = gtk_pixmap_new(pixmap, mask); gtk_clist_set_column_widget(GTK_CLIST(clist), INST_SDCARD_COLUMN, pixmapwid); gtk_clist_set_column_justification(GTK_CLIST(clist), INST_SDCARD_COLUMN, GTK_JUSTIFY_CENTER); gtk_signal_connect(GTK_OBJECT(clist), "select_row", GTK_SIGNAL_FUNC(cb_clist_selection), NULL); /* Scrolled Window for file list */ scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(clist)); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_set_border_width(GTK_CONTAINER(scrolled_window), 5); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->action_area), scrolled_window, TRUE, TRUE, 0); label = gtk_label_new(_("To change to a hidden directory type it below and hit TAB")); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->main_vbox), label, FALSE, FALSE, 0); /* Add/Remove/Quit buttons */ button = gtk_button_new_from_stock(GTK_STOCK_ADD); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cb_add), filew); button = gtk_button_new_from_stock(GTK_STOCK_REMOVE); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cb_remove), filew); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cb_quit), filew); /**********************************************************************/ gtk_widget_show_all(filew); /* Hide default buttons not used by Jpilot file selector */ gtk_widget_hide(GTK_FILE_SELECTION(filew)->cancel_button); gtk_widget_hide(GTK_FILE_SELECTION(filew)->ok_button); install_update_clist(); gtk_main(); return EXIT_SUCCESS; }
void init_gui_playlist(void) { GtkWidget *li; GtkWidget *scroller; GtkWidget *box; GtkWidget *table1; GtkWidget *reload_button; GtkWidget * enqueue_button; selected_row = -1; dir_browser = NULL; list_dialog = NULL; files = NULL; /* Create and setup main window */ library_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //gtk_window_set_decorated(library_window, FALSE); // gtk_widget_set_app_paintable(library_window, TRUE); // gtk_window_set_policy( GTK_WINDOW(library_window), FALSE, FALSE, TRUE); /* Put the window into the xmms class, and hide it from the window list*/ gtk_window_set_wmclass( GTK_WINDOW(library_window), "XMMS_MediaLibrary", "xmms"); gtk_window_set_transient_for( GTK_WINDOW(library_window), GTK_WINDOW(mainwin) ); // hint_set_skip_winlist( library_window ); gtk_window_set_default_size(GTK_WINDOW(library_window), 350, 350); gtk_window_set_title(GTK_WINDOW(library_window), "Media Library"); /* gtk_widget_set_events( library_window, GDK_FOCUS_CHANGE_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK ); */ // gtk_widget_realize( library_window ); // gtk_widget_set_usize( library_window, 300, 200 ); /* background = gdk_pixmap_new( NULL, 300, 200, gdk_rgb_get_visual()->depth ); pl_gc = gdk_gc_new( library_window->window ); printf("init\n"); printf("%i\n", get_skin_color(SKIN_PLEDIT_NORMALBG)); gdk_gc_set_foreground(pl_gc, get_skin_color(SKIN_PLEDIT_NORMALBG) ); gdk_draw_rectangle( background, pl_gc, TRUE, 0, 0, 300, 200 ); gdk_window_set_back_pixmap( library_window->window, background, 0);*/ /* Remove the WMs decorations */ // gdk_window_set_decorations( library_window->window, 0); /* Setup list*/ file_list = gtk_clist_new(1); g_signal_connect(GTK_OBJECT(file_list), "select-row", GTK_SIGNAL_FUNC(file_list_select), NULL); g_signal_connect(GTK_OBJECT(file_list), "unselect-row", GTK_SIGNAL_FUNC(file_list_unselect), NULL); g_signal_connect(GTK_OBJECT(file_list), "button-press-event", G_CALLBACK(file_list_pressed), NULL); g_signal_connect(GTK_OBJECT(file_list), "key-press-event", GTK_SIGNAL_FUNC(file_list_key_press), NULL); gtk_clist_set_column_title(GTK_CLIST(file_list), 0, "Title"); gtk_clist_column_titles_passive(GTK_CLIST(file_list)); gtk_clist_column_titles_show(GTK_CLIST(file_list)); gtk_clist_set_selection_mode(GTK_CLIST(file_list), GTK_SELECTION_EXTENDED); gtk_widget_grab_default( GTK_OBJECT(file_list) ); /* Setup the search field */ search_field = gtk_entry_new(); g_signal_connect(GTK_OBJECT(search_field), "changed", GTK_SIGNAL_FUNC(search_modify), NULL); g_signal_connect(GTK_OBJECT(search_field), "key-press-event", G_CALLBACK(search_field_keypress), NULL); /* gtk_signal_connect(GTK_OBJECT(search_field), "focus-in-event", GTK_SIGNAL_FUNC(search_field_focus_in), NULL);*/ /* Setup the search button search_button = gtk_button_new_with_label("Search"); */ /* Setup the reload button*/ reload_button = gtk_button_new_with_label("Reload"); g_signal_connect( GTK_OBJECT(reload_button), "clicked", GTK_SIGNAL_FUNC(reload_button_clicked), NULL); /* Setup the play and enqueue-buttons */ play_button = gtk_button_new_with_label("Play"); play_button_handler_id = g_signal_connect(GTK_OBJECT(play_button), "clicked", GTK_SIGNAL_FUNC(play_button_clicked), NULL); enqueue_button = gtk_button_new_with_label("Add"); g_signal_connect(GTK_OBJECT(enqueue_button), "clicked", GTK_SIGNAL_FUNC(enqueue_button_clicked), NULL); /* Set the scroller up*/ scroller = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroller), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add(GTK_CONTAINER(scroller), file_list); /* Setup the labels label1 = gtk_label_new("Total songs:"); label2 = gtk_label_new("Songs showing:"); gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_RIGHT); gtk_label_set_justify(GTK_LABEL(label2), GTK_JUSTIFY_RIGHT); total_count_label = gtk_label_new("-"); showing_count_label = gtk_label_new("-"); gtk_label_set_justify(GTK_LABEL(total_count_label), GTK_JUSTIFY_LEFT); gtk_label_set_justify(GTK_LABEL(showing_count_label), GTK_JUSTIFY_LEFT);*/ /* Setup layout widgets*/ layout_box = gtk_vbox_new(FALSE, 1); gtk_container_add(GTK_CONTAINER(library_window), layout_box); gtk_widget_show(layout_box); table = gtk_table_new(3,2, TRUE); gtk_box_pack_start(GTK_BOX(layout_box), table, FALSE, FALSE, 0); gtk_box_pack_start_defaults(GTK_BOX(layout_box), scroller); box = gtk_hbox_new(FALSE, 1); //gtk_box_pack_start(GTK_BOX(box), search_field, TRUE, TRUE, 0); /* The top 'bar'*/ table1 = gtk_table_new(1, 4, FALSE); gtk_table_attach_defaults(GTK_TABLE(table1), search_field, 0,1,0,1); gtk_table_attach_defaults(GTK_TABLE(table1), play_button, 1,2,0,1); gtk_table_attach_defaults(GTK_TABLE(table1), enqueue_button, 2,3,0,1); gtk_table_attach_defaults(GTK_TABLE(table1), reload_button, 3,4,0,1); /* gtk_table_attach_defaults(GTK_TABLE(table1), reload_button, 2, 3, 0, 1); gtk_table_attach_defaults(GTK_TABLE(table1), add_random_button, 2, 3, 1, 2); gtk_table_attach_defaults(GTK_TABLE(table1), label1, 0,1, 0,1); gtk_table_attach_defaults(GTK_TABLE(table1), label2, 0,1, 1,2); gtk_table_attach_defaults(GTK_TABLE(table1), total_count_label, 1,2, 0,1); gtk_table_attach_defaults(GTK_TABLE(table1), showing_count_label, 1,2, 1,2);*/ /* Add widgets to the table */ gtk_table_attach_defaults(GTK_TABLE(table), table1, 0, 2, 0, 2); //gtk_table_attach_defaults(GTK_TABLE(table), box, 0, 2, 1, 3); /* Show all the widgets*/ gtk_widget_show(reload_button); gtk_widget_show(play_button); gtk_widget_show(enqueue_button); //gtk_widget_show(box); gtk_widget_show(search_field); gtk_widget_show(scroller); gtk_widget_show(table1); gtk_widget_show(table); gtk_widget_show(file_list); /* And finally, show the window itself*/ gtk_widget_show(library_window); // dock_add_window(dock_window_list, library_window); }
GtkWidget * fontsel_new (ProgressData *pdata) { GtkWidget *paned; GtkWidget *clist; GtkWidget *clist2; GtkWidget *scrolled_window; paned = gtk_hpaned_new (); g_signal_new ("face_changed", GTK_TYPE_WIDGET, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, NULL); g_object_set_data (G_OBJECT (paned), "progress_data", pdata); /* family */ clist = gtk_clist_new (1); gtk_clist_set_column_title (GTK_CLIST (clist), 0, _("Font Family")); gtk_clist_column_titles_show (GTK_CLIST (clist)); gtk_clist_column_titles_passive (GTK_CLIST (clist)); gtk_widget_show (clist); scrolled_window = gtk_scrolled_window_new (gtk_clist_get_hadjustment (GTK_CLIST (clist)), gtk_clist_get_vadjustment (GTK_CLIST (clist))); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add (GTK_CONTAINER (scrolled_window), clist); gtk_widget_show (scrolled_window); gtk_paned_pack1 (GTK_PANED (paned), scrolled_window, TRUE, FALSE); /* style */ clist2 = gtk_clist_new (1); gtk_clist_set_column_title (GTK_CLIST (clist2), 0, _("Font Style")); gtk_clist_column_titles_show (GTK_CLIST (clist2)); gtk_clist_column_titles_passive (GTK_CLIST (clist2)); gtk_widget_show (clist2); scrolled_window = gtk_scrolled_window_new (gtk_clist_get_hadjustment (GTK_CLIST (clist2)), gtk_clist_get_vadjustment (GTK_CLIST (clist2))); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add (GTK_CONTAINER (scrolled_window), clist2); gtk_widget_show (scrolled_window); gtk_paned_pack2 (GTK_PANED (paned), scrolled_window, TRUE, FALSE); g_signal_connect (clist, "select_row", G_CALLBACK (fontsel_family_select_callback), clist2); g_signal_connect (clist2, "select_row", G_CALLBACK (fontsel_style_select_callback), paned); g_object_set_data (G_OBJECT (paned), "family_list", clist); g_object_set_data (G_OBJECT (paned), "style_list", clist2); return paned; }
/* If title == NULL then it is the main gradient select dialog */ GradientSelect * gradient_select_new (gchar *title, gchar *initial_gradient) { GradientSelect *gsp; GtkWidget *vbox; GtkWidget *scrolled_win; GdkColormap *colormap; gchar *titles[2]; gint column_width; gint select_pos; gradient_t *active = NULL; static gboolean first_call = TRUE; gsp = g_new (GradientSelect, 1); gsp->callback_name = NULL; gsp->dnd_gradient = NULL; /* The shell */ /* gsp->shell = gimp_dialog_new (title ? title : _("Gradient Selection"), "gradient_selection", gimp_standard_help_func, "dialogs/gradient_selection.html", title ? GTK_WIN_POS_MOUSE : GTK_WIN_POS_NONE, FALSE, TRUE, FALSE, _("Edit"), gradient_select_edit_callback, gsp, NULL, NULL, FALSE, FALSE, _("Close"), gradient_select_close_callback, gsp, NULL, NULL, TRUE, TRUE, NULL); if (title) { gsp->context = gimp_context_new (title, NULL); } else { gsp->context = gimp_context_get_user (); session_set_window_geometry (gsp->shell, &gradient_select_session_info, TRUE); dialog_register (gsp->shell); } if (no_data && first_call) gradients_init (FALSE); */ first_call = FALSE; if (title && initial_gradient && strlen (initial_gradient)) { active = gradient_list_get_gradient (gradients_list, initial_gradient); } else { /* active = gimp_context_get_gradient (gimp_context_get_user ()); */ } if (!active) { /* active = gimp_context_get_gradient (gimp_context_get_standard ()); */ } if (title) { /* gimp_context_set_gradient (gsp->context, active); */ } vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 2); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (gsp->shell)->vbox), vbox); /* clist preview of gradients */ scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add (GTK_CONTAINER (vbox), scrolled_win); gtk_widget_show (scrolled_win); titles[0] = _("Gradient"); titles[1] = _("Name"); gsp->clist = gtk_clist_new_with_titles (2, titles); gtk_clist_set_shadow_type (GTK_CLIST (gsp->clist), GTK_SHADOW_IN); gtk_clist_set_selection_mode (GTK_CLIST (gsp->clist), GTK_SELECTION_BROWSE); gtk_clist_set_row_height (GTK_CLIST (gsp->clist), 18); gtk_clist_set_use_drag_icons (GTK_CLIST (gsp->clist), FALSE); gtk_clist_column_titles_passive (GTK_CLIST (gsp->clist)); gtk_widget_set_usize (gsp->clist, 200, 250); gtk_container_add (GTK_CONTAINER (scrolled_win), gsp->clist); column_width = MAX (50, gtk_clist_optimal_column_width (GTK_CLIST (gsp->clist), 0)); gtk_clist_set_column_min_width (GTK_CLIST (gsp->clist), 0, 50); gtk_clist_set_column_width (GTK_CLIST (gsp->clist), 0, column_width); gtk_widget_show (gsp->clist); colormap = gtk_widget_get_colormap (gsp->clist); gdk_color_parse ("black", &gsp->black); gdk_color_alloc (colormap, &gsp->black); gtk_widget_realize (gsp->shell); gsp->gc = gdk_gc_new (gsp->shell->window); select_pos = gradient_clist_init (gsp->shell, gsp->gc, gsp->clist, active); /* Now show the dialog */ gtk_widget_show (vbox); gtk_widget_show (gsp->shell); gtk_signal_connect (GTK_OBJECT (gsp->clist), "button_press_event", GTK_SIGNAL_FUNC (gradient_select_button_press), (gpointer) gsp); gtk_signal_connect (GTK_OBJECT (gsp->clist), "select_row", GTK_SIGNAL_FUNC (gradient_select_list_item_update), (gpointer) gsp); gtk_signal_connect (GTK_OBJECT (gsp->context), "gradient_changed", GTK_SIGNAL_FUNC (gradient_select_gradient_changed), (gpointer) gsp); /* dnd stuff */ /* gtk_drag_source_set (gsp->clist, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, clist_target_table, clist_n_targets, GDK_ACTION_COPY); gimp_dnd_gradient_source_set (gsp->clist, gradient_select_drag_gradient, gsp); gtk_drag_dest_set (gsp->clist, GTK_DEST_DEFAULT_ALL, clist_target_table, clist_n_targets, GDK_ACTION_COPY); gimp_dnd_gradient_dest_set (gsp->clist, gradient_select_drop_gradient, gsp); */ if (active) gradient_select_select (gsp, active); /* Add to active gradient dialogs list */ gradient_active_dialogs = g_slist_append (gradient_active_dialogs, gsp); return gsp; }
void create_loglist(void) { GtkWidget *mvb,*sw,*dhb,*dhw[30]; GdkBitmap *mask; GdkPixmap *myicon; GtkStyle *style; GList *pt; int i; applet=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(applet),780,510); gtk_window_set_title (GTK_WINDOW (applet), "YAWMPPP Connection Log"); gtk_window_set_wmclass(GTK_WINDOW(applet),"yawmppp","log"); gtk_container_set_border_width(GTK_CONTAINER(applet),4); gtk_widget_show (applet); style=gtk_widget_get_style(applet); myicon = gdk_pixmap_create_from_xpm_d (applet->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **) stepphone_xpm); gdk_window_set_icon (applet->window, NULL, myicon, mask); gdk_window_set_icon_name(applet->window,"The Log"); mvb=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(applet),mvb); dhb=gtk_hbox_new(FALSE,0); gtk_box_pack_start(GTK_BOX(mvb),dhb,FALSE,TRUE,0); /* data */ dhw[0]=gtk_label_new("Show summary for:"); gtk_box_pack_start(GTK_BOX(dhb),dhw[0],FALSE,FALSE,4); dhw[1]=gtk_option_menu_new(); gtk_box_pack_start(GTK_BOX(dhb),dhw[1],FALSE,FALSE,2); dhw[2]=gtk_menu_new(); for(i=0;i<10;i++) { dhw[3]=gtk_menu_item_new_with_label(resumeo[i]); gtk_signal_connect(GTK_OBJECT(dhw[3]),"activate", GTK_SIGNAL_FUNC(time_menu),&nsrc[i]); gtk_menu_append(GTK_MENU(dhw[2]),dhw[3]); gtk_widget_show(dhw[3]); } gtk_option_menu_set_menu(GTK_OPTION_MENU(dhw[1]),dhw[2]); dhw[12]=gtk_label_new("include entries from"); gtk_box_pack_start(GTK_BOX(dhb),dhw[12],FALSE,FALSE,4); dhw[13]=gtk_option_menu_new(); gtk_box_pack_start(GTK_BOX(dhb),dhw[13],FALSE,FALSE,2); dhw[14]=gtk_menu_new(); for(i=0,pt=isps;pt!=NULL;pt=g_list_next(pt),i++) { dhw[3]=gtk_menu_item_new_with_label((char *)(pt->data)); gtk_signal_connect(GTK_OBJECT(dhw[3]),"activate", GTK_SIGNAL_FUNC(isp_menu),&nsrc[i]); gtk_menu_append(GTK_MENU(dhw[14]),dhw[3]); gtk_widget_show(dhw[3]); } gtk_option_menu_set_menu(GTK_OPTION_MENU(dhw[13]),dhw[14]); dhw[15]=gtk_label_new("include connections as"); gtk_box_pack_start(GTK_BOX(dhb),dhw[15],FALSE,FALSE,4); dhw[16]=gtk_option_menu_new(); gtk_box_pack_start(GTK_BOX(dhb),dhw[16],FALSE,FALSE,2); dhw[17]=gtk_menu_new(); for(i=0,pt=users;pt!=NULL;pt=g_list_next(pt),i++) { dhw[3]=gtk_menu_item_new_with_label((char *)(pt->data)); gtk_signal_connect(GTK_OBJECT(dhw[3]),"activate", GTK_SIGNAL_FUNC(user_menu),&nsrc[i]); gtk_menu_append(GTK_MENU(dhw[17]),dhw[3]); gtk_widget_show(dhw[3]); } gtk_option_menu_set_menu(GTK_OPTION_MENU(dhw[16]),dhw[17]); dhw[5]=gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(mvb),dhw[5],FALSE,FALSE,3); dhw[3]=gtk_hbox_new(FALSE,4); gtk_box_pack_start(GTK_BOX(mvb),dhw[3],FALSE,TRUE,3); dhw[4]=lresume[0]=gtk_label_new("\n\n\n\n\n"); dhw[6]=lresume[1]=gtk_label_new("\n\n\n\n\n"); for(i=0;i<2;i++) gtk_label_set_justify(GTK_LABEL(lresume[i]),GTK_JUSTIFY_LEFT); gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[4],FALSE,TRUE,4); gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[6],FALSE,TRUE,4); hgraph=dhw[7]=gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(dhw[7]),24*9+2,120); gtk_widget_set_events(dhw[7],GDK_EXPOSURE_MASK); gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[7],FALSE,FALSE,4); wgraph=dhw[8]=gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(dhw[8]),7*20+2,120); gtk_widget_set_events(dhw[8],GDK_EXPOSURE_MASK); gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[8],FALSE,FALSE,4); dhw[11]=gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(mvb),dhw[11],FALSE,FALSE,4); dhw[9]=gtk_hbox_new(FALSE,2); dhw[10]=gtk_label_new("Raw log listing (unfiltered):"); gtk_box_pack_start(GTK_BOX(mvb),dhw[9],FALSE,FALSE,4); gtk_box_pack_start(GTK_BOX(dhw[9]),dhw[10],FALSE,FALSE,2); /* list */ sw=gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start(GTK_BOX(mvb),sw,TRUE,TRUE,4); gtk_widget_show(sw); gtk_container_set_border_width(GTK_CONTAINER(sw),0); loglist=gtk_clist_new(8); gtk_clist_set_shadow_type(GTK_CLIST(loglist),GTK_SHADOW_IN); gtk_clist_set_selection_mode(GTK_CLIST(loglist),GTK_SELECTION_SINGLE); for(i=0;i<8;i++) { gtk_clist_set_column_title(GTK_CLIST(loglist),i,titles[i]); gtk_clist_set_column_width(GTK_CLIST(loglist),i,colsize[i]); } gtk_clist_column_titles_passive(GTK_CLIST(loglist)); gtk_clist_column_titles_show(GTK_CLIST(loglist)); gtk_clist_set_row_height(GTK_CLIST(loglist),16); gtk_clist_set_column_auto_resize(GTK_CLIST(loglist),1,FALSE); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add(GTK_CONTAINER(sw),loglist); gtk_widget_show(loglist); /* bottom */ dhw[18]=gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(mvb),dhw[18],FALSE,FALSE,4); dhw[19]=gtk_table_new(1,6,TRUE); dhw[21]=gtk_button_new_with_label(" About... "); dhw[22]=gtk_button_new_with_label(" Close "); dhw[23]=gtk_hbox_new(TRUE,6); gtk_box_pack_start(GTK_BOX(mvb),dhw[19],FALSE,FALSE,4); gtk_table_attach_defaults(GTK_TABLE(dhw[19]),dhw[23],4,6,0,1); gtk_box_pack_start(GTK_BOX(dhw[23]),dhw[21],FALSE,TRUE,4); gtk_box_pack_start(GTK_BOX(dhw[23]),dhw[22],FALSE,TRUE,4); for(i=0;i<24;i++) if (i!=20) gtk_widget_show(dhw[i]); gtk_widget_show(dhb); gtk_widget_show(mvb); iconmap[0] = gdk_pixmap_create_from_xpm_d (applet->window, &maskmap[0], &style->bg[GTK_STATE_NORMAL], (gchar **) status_ok_xpm); iconmap[1] = gdk_pixmap_create_from_xpm_d (applet->window, &maskmap[1], &style->bg[GTK_STATE_NORMAL], (gchar **) status_error_xpm); iconmap[2] = gdk_pixmap_create_from_xpm_d (applet->window, &maskmap[2], &style->bg[GTK_STATE_NORMAL], (gchar **) status_crash_xpm); /* signal plumbing */ gtk_signal_connect (GTK_OBJECT (applet), "delete_event", GTK_SIGNAL_FUNC (applet_kill), NULL); gtk_signal_connect (GTK_OBJECT (applet), "destroy", GTK_SIGNAL_FUNC (applet_destroy), NULL); gtk_signal_connect (GTK_OBJECT (hgraph), "expose_event", GTK_SIGNAL_FUNC (hgra_expose), NULL); gtk_signal_connect (GTK_OBJECT (hgraph), "configure_event", GTK_SIGNAL_FUNC (hgra_configure), NULL); gtk_signal_connect (GTK_OBJECT (wgraph), "expose_event", GTK_SIGNAL_FUNC (wgra_expose), NULL); gtk_signal_connect (GTK_OBJECT (wgraph), "configure_event", GTK_SIGNAL_FUNC (wgra_configure), NULL); gtk_signal_connect (GTK_OBJECT (dhw[21]), "clicked", GTK_SIGNAL_FUNC (applet_about), (gpointer)GTK_WINDOW(applet)); gtk_signal_connect (GTK_OBJECT (dhw[22]), "clicked", GTK_SIGNAL_FUNC (applet_destroy), NULL); }
static int show_console(void) { GtkWidget *hbox; GtkWidget *wbox; GtkWidget *notebook; GtkWidget *sw; GtkWidget *bbox, *hbbox, *add, *removew, *reloadw; char *modtitles[3] = { "Module", "Description", "Use Count" }; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); statusbar = gtk_statusbar_new(); gtk_widget_show(statusbar); gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC (exit_nicely), window); gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC (exit_now), window); gtk_container_set_border_width(GTK_CONTAINER(window), 10); quit = gtk_button_new_with_label("Quit Asterisk"); gtk_signal_connect(GTK_OBJECT(quit), "clicked", GTK_SIGNAL_FUNC (exit_completely), window); gtk_widget_show(quit); closew = gtk_button_new_with_label("Close Window"); gtk_signal_connect(GTK_OBJECT(closew), "clicked", GTK_SIGNAL_FUNC (exit_nicely), window); gtk_widget_show(closew); notebook = gtk_notebook_new(); verb = gtk_clist_new(1); gtk_clist_columns_autosize(GTK_CLIST(verb)); sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add(GTK_CONTAINER(sw), verb); gtk_widget_show(verb); gtk_widget_show(sw); gtk_widget_set_usize(verb, 640, 400); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw, gtk_label_new("Verbose Status")); modules = gtk_clist_new_with_titles(3, modtitles); gtk_clist_columns_autosize(GTK_CLIST(modules)); gtk_clist_set_column_auto_resize(GTK_CLIST(modules), 0, TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(modules), 1, TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(modules), 2, TRUE); gtk_clist_set_sort_column(GTK_CLIST(modules), 0); gtk_clist_set_auto_sort(GTK_CLIST(modules), TRUE); gtk_clist_column_titles_passive(GTK_CLIST(modules)); sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add(GTK_CONTAINER(sw), modules); gtk_clist_set_selection_mode(GTK_CLIST(modules), GTK_SELECTION_BROWSE); gtk_widget_show(modules); gtk_widget_show(sw); add = gtk_button_new_with_label("Load..."); gtk_widget_show(add); removew = gtk_button_new_with_label("Unload"); gtk_widget_show(removew); reloadw = gtk_button_new_with_label("Reload"); gtk_widget_show(reloadw); gtk_signal_connect(GTK_OBJECT(removew), "clicked", GTK_SIGNAL_FUNC (remove_module), window); gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC (add_module), window); gtk_signal_connect(GTK_OBJECT(reloadw), "clicked", GTK_SIGNAL_FUNC (reload_module), window); bbox = gtk_vbox_new(FALSE, 5); gtk_widget_show(bbox); gtk_widget_set_usize(bbox, 100, -1); gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(bbox), removew, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(bbox), reloadw, FALSE, FALSE, 5); hbbox = gtk_hbox_new(FALSE, 5); gtk_widget_show(hbbox); gtk_box_pack_start(GTK_BOX(hbbox), sw, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(hbbox), bbox, FALSE, FALSE, 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbbox, gtk_label_new("Module Information")); gtk_widget_show(notebook); wbox = gtk_hbox_new(FALSE, 5); gtk_widget_show(wbox); gtk_box_pack_end(GTK_BOX(wbox), quit, FALSE, FALSE, 5); gtk_box_pack_end(GTK_BOX(wbox), closew, FALSE, FALSE, 5); hbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(hbox); /* Command line */ cli = gtk_entry_new(); gtk_widget_show(cli); gtk_signal_connect(GTK_OBJECT(cli), "activate", GTK_SIGNAL_FUNC (cli_activate), NULL); gtk_box_pack_start(GTK_BOX(hbox), notebook, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), wbox, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), cli, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), statusbar, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(window), hbox); gtk_window_set_title(GTK_WINDOW(window), "Asterisk Console"); gtk_widget_grab_focus(cli); ast_pthread_create(&console_thread, NULL, consolethread, NULL); /* XXX Okay, seriously fix me! XXX */ usleep(100000); ast_register_verbose(verboser); gtk_clist_freeze(GTK_CLIST(verb)); ast_loader_register(mod_update); gtk_clist_thaw(GTK_CLIST(verb)); gdk_input_add(clipipe[0], GDK_INPUT_READ, cliinput, NULL); mod_update(); update_statusbar("Asterisk Console Ready"); return 0; }
/* * mainline.. */ void searchbox(char *title, GtkSignalFunc func) { int i; GtkWidget *menu, *menuitem, *optionmenu; GSList *group; GtkWidget *small_hbox; GtkWidget *scrolled_win; GtkWidget *vbox1, *hbox, *hbox0; GtkWidget *button1, *button2, *button3, *button3a, *button4, *button5, *button6, *button7; GtkWidget *label; gchar *titles[]={"Matches"}; GtkWidget *frame1, *frame2, *frameh, *frameh0; GtkWidget *table; GtkTooltips *tooltips; GtkAdjustment *adj; GtkWidget *align; if(is_active) { gdk_window_raise(window->window); return; } is_active=1; cleanup=func; num_rows=selected_rows=0; /* create a new modal window */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW (window), title); gtk_signal_connect(GTK_OBJECT (window), "delete_event", (GtkSignalFunc) destroy_callback, NULL); tooltips=gtk_tooltips_new_2(); table = gtk_table_new (256, 1, FALSE); gtk_widget_show (table); vbox1 = gtk_vbox_new (FALSE, 0); gtk_container_border_width (GTK_CONTAINER (vbox1), 3); gtk_widget_show (vbox1); frame1 = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frame1), 3); gtk_widget_show(frame1); gtk_table_attach (GTK_TABLE (table), frame1, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); label=gtk_label_new("Signal Search Expression"); gtk_widget_show(label); gtk_box_pack_start (GTK_BOX (vbox1), label, TRUE, TRUE, 0); entry = gtk_entry_new_with_max_length (256); gtk_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(enter_callback), entry); gtk_entry_set_text (GTK_ENTRY (entry), searchbox_text); gtk_entry_select_region (GTK_ENTRY (entry), 0, GTK_ENTRY(entry)->text_length); gtk_widget_show (entry); gtk_tooltips_set_tip_2(tooltips, entry, "Enter search expression here. POSIX Wildcards are allowed. Note that you may also " "modify the search criteria by selecting ``[W]Range'', ``[W]Strand'', or ``None'' for suffix " "matching.",NULL); gtk_box_pack_start (GTK_BOX (vbox1), entry, TRUE, TRUE, 0); /* Allocate memory for the data that is used later */ pdata = calloc_2(1, sizeof(SearchProgressData) ); pdata->value = pdata->oldvalue = 0.0; /* Create a centering alignment object */ align = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show(align); /* Create a Adjustment object to hold the range of the * progress bar */ adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, (gfloat)((numfacs>1)?numfacs-1:1), 0, 0, 0); pdata->adj = adj; /* Create the GtkProgressBar using the adjustment */ pdata->pbar = gtk_progress_bar_new_with_adjustment (adj); /* Set the format of the string that can be displayed in the * trough of the progress bar: * %p - percentage * %v - value * %l - lower range value * %u - upper range value */ gtk_progress_set_format_string (GTK_PROGRESS (pdata->pbar), "(%p%%)"); gtk_progress_set_show_text (GTK_PROGRESS (pdata->pbar), TRUE); gtk_widget_show(pdata->pbar); gtk_box_pack_start (GTK_BOX (vbox1), pdata->pbar, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (frame1), vbox1); frame2 = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frame2), 3); gtk_widget_show(frame2); gtk_table_attach (GTK_TABLE (table), frame2, 0, 1, 1, 254, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); clist=gtk_clist_new_with_titles(1,titles); gtk_clist_column_titles_passive(GTK_CLIST(clist)); gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED); gtk_signal_connect_object (GTK_OBJECT (clist), "select_row", GTK_SIGNAL_FUNC(select_row_callback), NULL); gtk_signal_connect_object (GTK_OBJECT (clist), "unselect_row", GTK_SIGNAL_FUNC(unselect_row_callback), NULL); gtk_widget_show (clist); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize( GTK_WIDGET (scrolled_win), -1, 300); gtk_widget_show(scrolled_win); /* gtk_scrolled_window_add_with_viewport doesn't seen to work right here.. */ gtk_container_add (GTK_CONTAINER (scrolled_win), clist); gtk_container_add (GTK_CONTAINER (frame2), scrolled_win); frameh0 = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frameh0), 3); gtk_widget_show(frameh0); gtk_table_attach (GTK_TABLE (table), frameh0, 0, 1, 254, 255, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); hbox0 = gtk_hbox_new (FALSE, 1); gtk_widget_show (hbox0); button6 = gtk_button_new_with_label (" Select All "); gtk_container_border_width (GTK_CONTAINER (button6), 3); gtk_signal_connect_object (GTK_OBJECT (button6), "clicked", GTK_SIGNAL_FUNC(select_all_callback), GTK_OBJECT (window)); gtk_widget_show (button6); gtk_tooltips_set_tip_2(tooltips, button6, "Highlight all signals listed in the match window.",NULL); gtk_box_pack_start (GTK_BOX (hbox0), button6, TRUE, FALSE, 0); menu = gtk_menu_new (); group=NULL; small_hbox = gtk_hbox_new (TRUE, 0); gtk_widget_show (small_hbox); for(i=0;i<5;i++) { menuitem = gtk_radio_menu_item_new_with_label (group, regex_name[i]); group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem)); gtk_menu_append (GTK_MENU (menu), menuitem); gtk_widget_show (menuitem); gtk_signal_connect(GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(regex_clicked), ®ex_mutex[i]); regex_mutex[i]=0; } regex_mutex[0]=1; /* "range" */ optionmenu = gtk_option_menu_new (); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu); gtk_box_pack_start (GTK_BOX (small_hbox), optionmenu, TRUE, FALSE, 0); gtk_widget_show (optionmenu); gtk_tooltips_set_tip_2(tooltips, optionmenu, "You may " "modify the search criteria by selecting ``Range'', ``Strand'', or ``None'' for suffix " "matching. This optionally matches the string you enter in the search string above with a Verilog " "format range (signal[7:0]), a strand (signal.1, signal.0), or with no suffix. " "The ``W'' modifier for ``Range'' and ``Strand'' explicitly matches on word boundaries. " "(addr matches unit.freezeaddr[63:0] for ``Range'' but only unit.addr[63:0] for ``WRange'' since addr has to be on a word boundary. " "Note that when ``None'' " "is selected, the search string may be located anywhere in the signal name.",NULL); gtk_box_pack_start (GTK_BOX (hbox0), small_hbox, FALSE, FALSE, 0); button7 = gtk_button_new_with_label (" Unselect All "); gtk_container_border_width (GTK_CONTAINER (button7), 3); gtk_signal_connect_object (GTK_OBJECT (button7), "clicked", GTK_SIGNAL_FUNC(unselect_all_callback), GTK_OBJECT (window)); gtk_widget_show (button7); gtk_tooltips_set_tip_2(tooltips, button7, "Unhighlight all signals listed in the match window.",NULL); gtk_box_pack_start (GTK_BOX (hbox0), button7, TRUE, FALSE, 0); gtk_container_add (GTK_CONTAINER (frameh0), hbox0); frameh = gtk_frame_new (NULL); gtk_container_border_width (GTK_CONTAINER (frameh), 3); gtk_widget_show(frameh); gtk_table_attach (GTK_TABLE (table), frameh, 0, 1, 255, 256, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1); hbox = gtk_hbox_new (FALSE, 1); gtk_widget_show (hbox); button1 = gtk_button_new_with_label ("Append"); gtk_container_border_width (GTK_CONTAINER (button1), 3); gtk_signal_connect_object (GTK_OBJECT (button1), "clicked", GTK_SIGNAL_FUNC(ok_callback), GTK_OBJECT (window)); gtk_widget_show (button1); gtk_tooltips_set_tip_2(tooltips, button1, "Add selected signals to end of the display on the main window.",NULL); gtk_box_pack_start (GTK_BOX (hbox), button1, TRUE, FALSE, 0); button2 = gtk_button_new_with_label (" Insert "); gtk_container_border_width (GTK_CONTAINER (button2), 3); gtk_signal_connect_object (GTK_OBJECT (button2), "clicked", GTK_SIGNAL_FUNC(insert_callback), GTK_OBJECT (window)); gtk_widget_show (button2); gtk_tooltips_set_tip_2(tooltips, button2, "Add selected signals after last highlighted signal on the main window.",NULL); gtk_box_pack_start (GTK_BOX (hbox), button2, TRUE, FALSE, 0); if(vcd_explicit_zero_subscripts>=0) { button3 = gtk_button_new_with_label (" Bundle Up "); gtk_container_border_width (GTK_CONTAINER (button3), 3); gtk_signal_connect_object (GTK_OBJECT (button3), "clicked", GTK_SIGNAL_FUNC(bundle_callback_up), GTK_OBJECT (window)); gtk_widget_show (button3); gtk_tooltips_set_tip_2(tooltips, button3, "Bundle selected signals into a single bit vector with the topmost selected signal as the LSB and the lowest as the MSB.",NULL); gtk_box_pack_start (GTK_BOX (hbox), button3, TRUE, FALSE, 0); button3a = gtk_button_new_with_label (" Bundle Down "); gtk_container_border_width (GTK_CONTAINER (button3a), 3); gtk_signal_connect_object (GTK_OBJECT (button3a), "clicked", GTK_SIGNAL_FUNC(bundle_callback_down), GTK_OBJECT (window)); gtk_widget_show (button3a); gtk_tooltips_set_tip_2(tooltips, button3a, "Bundle selected signals into a single bit vector with the topmost selected signal as the MSB and the lowest as the LSB.",NULL); gtk_box_pack_start (GTK_BOX (hbox), button3a, TRUE, FALSE, 0); } button4 = gtk_button_new_with_label (" Replace "); gtk_container_border_width (GTK_CONTAINER (button4), 3); gtk_signal_connect_object (GTK_OBJECT (button4), "clicked", GTK_SIGNAL_FUNC(replace_callback), GTK_OBJECT (window)); gtk_widget_show (button4); gtk_tooltips_set_tip_2(tooltips, button4, "Replace highlighted signals on the main window with signals selected above.",NULL); gtk_box_pack_start (GTK_BOX (hbox), button4, TRUE, FALSE, 0); button5 = gtk_button_new_with_label (" Exit "); gtk_container_border_width (GTK_CONTAINER (button5), 3); gtk_signal_connect_object (GTK_OBJECT (button5), "clicked", GTK_SIGNAL_FUNC(destroy_callback), GTK_OBJECT (window)); gtk_tooltips_set_tip_2(tooltips, button5, "Do nothing and return to the main window.",NULL); gtk_widget_show (button5); gtk_box_pack_start (GTK_BOX (hbox), button5, TRUE, FALSE, 0); gtk_container_add (GTK_CONTAINER (frameh), hbox); gtk_container_add (GTK_CONTAINER (window), table); gtk_widget_show(window); if(strlen(searchbox_text)) enter_callback(entry,NULL); }
GtkWidget *build_admin_interface(GtkWidget * vbox) { GtkWidget *hbox; GtkWidget *frame; GtkWidget *table; GtkWidget *label; GtkObject *adj; GtkWidget *start_btn; GtkWidget *scroll_win; GtkWidget *message_text; static gchar *titles[2]; if (!vbox) vbox = gtk_vbox_new(FALSE, 0); if (!titles[0]) { titles[0] = _("Name"); titles[1] = _("Location"); } gtk_widget_show(vbox); gtk_container_border_width(GTK_CONTAINER(vbox), 5); hbox = gtk_hbox_new(FALSE, 5); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); frame = gtk_frame_new(_("Server Parameters")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, TRUE, 0); table = gtk_table_new(6, 3, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(frame), table); gtk_container_border_width(GTK_CONTAINER(table), 3); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 5); label = gtk_label_new(_("Game Name")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); game_combo = gtk_combo_new(); gtk_editable_set_editable(GTK_EDITABLE (GTK_COMBO(game_combo)->entry), FALSE); gtk_widget_set_usize(game_combo, 100, -1); gtk_signal_connect(GTK_OBJECT(GTK_COMBO(game_combo)->list), "select_child", GTK_SIGNAL_FUNC(game_select_cb), NULL); gtk_widget_show(game_combo); gtk_table_attach(GTK_TABLE(table), game_combo, 1, 3, 0, 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); label = gtk_label_new(_("Map Terrain")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); terrain_toggle = gtk_toggle_button_new_with_label(""); gtk_widget_show(terrain_toggle); gtk_table_attach(GTK_TABLE(table), terrain_toggle, 1, 2, 1, 2, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(terrain_toggle), "toggled", GTK_SIGNAL_FUNC(terrain_toggle_cb), NULL); label = gtk_label_new(_("Number of Players")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = gtk_adjustment_new(0, 2, MAX_PLAYERS, 1, 1, 0); players_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_widget_show(players_spin); gtk_table_attach(GTK_TABLE(table), players_spin, 1, 2, 2, 3, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(players_spin), "changed", GTK_SIGNAL_FUNC(players_spin_changed_cb), NULL); label = gtk_label_new(_("Victory Point Target")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = gtk_adjustment_new(10, 5, 20, 1, 5, 0); victory_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_widget_show(victory_spin); gtk_table_attach(GTK_TABLE(table), victory_spin, 1, 2, 3, 4, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(victory_spin), "changed", GTK_SIGNAL_FUNC(victory_spin_changed_cb), NULL); label = gtk_label_new(_("Register Server")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); register_toggle = gtk_toggle_button_new_with_label(_("No")); gtk_widget_show(register_toggle); gtk_table_attach(GTK_TABLE(table), register_toggle, 1, 2, 4, 5, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(register_toggle), "toggled", GTK_SIGNAL_FUNC(register_toggle_cb), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(register_toggle), TRUE); /* gtk_toggle_button_toggled(GTK_TOGGLE_BUTTON(register_toggle)); */ label = gtk_label_new("Server Port"); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = gtk_adjustment_new(server_port_int, 1024, 32767, 1, 10, 0); port_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_widget_show(port_spin); gtk_table_attach(GTK_TABLE(table), port_spin, 1, 2, 5, 6, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_usize(port_spin, 60, -1); gtk_signal_connect(GTK_OBJECT(port_spin), "changed", GTK_SIGNAL_FUNC(port_spin_changed_cb), NULL); start_btn = gtk_button_new_with_label(_("Start Server")); gtk_widget_show(start_btn); gtk_table_attach(GTK_TABLE(table), start_btn, 0, 2, 6, 7, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(start_btn), "clicked", GTK_SIGNAL_FUNC(start_clicked_cb), NULL); frame = gtk_frame_new(_("Players Connected")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); gtk_widget_set_usize(frame, 250, -1); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll_win); gtk_container_add(GTK_CONTAINER(frame), scroll_win); gtk_container_border_width(GTK_CONTAINER(scroll_win), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); clist = gtk_clist_new_with_titles(2, titles); gtk_widget_show(clist); gtk_container_add(GTK_CONTAINER(scroll_win), clist); gtk_clist_set_column_width(GTK_CLIST(clist), 0, 80); gtk_clist_set_column_width(GTK_CLIST(clist), 1, 80); gtk_clist_column_titles_show(GTK_CLIST(clist)); gtk_clist_column_titles_passive(GTK_CLIST(clist)); frame = gtk_frame_new(_("Messages")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll_win); gtk_container_add(GTK_CONTAINER(frame), scroll_win); gtk_container_border_width(GTK_CONTAINER(scroll_win), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); return vbox; }
/** * TBD */ void create_hist_list( void ) { static char *title[1] = { "History" }; GtkStyle *style, *new_style; gint sz, max_sz; int n; char tmp[80]; GtkWidget *scrolled_win; GdkFont *private_font; hist_list = gtk_clist_new_with_titles( 1, title ); /* * When a selection is made, we want to know about it. The callback * * used is selection_made, and its code can be found further down */ select_hist_handler_id = gtk_signal_connect( GTK_OBJECT( hist_list ), "select_row", GTK_SIGNAL_FUNC( hist_list_selected ), NULL ); /* * It isn't necessary to shadow the border, but it looks nice :) */ gtk_clist_set_shadow_type( GTK_CLIST( hist_list ), GTK_SHADOW_OUT ); /* * Make sure titles are being shown */ gtk_clist_column_titles_show( GTK_CLIST( hist_list ) ); /* * What however is important, is that we set the column widths as * they * will never be right otherwise. Note that the columns are * numbered * from 0 and up. */ style = gtk_widget_get_style( hist_list ); new_style = gtk_style_copy( style ); if ( ( private_font = gdk_font_load( "*courier-*-r*140*" ) ) == NULL ) if ( ( private_font = gdk_font_load( "*courier-*-r*120*" ) ) == NULL ) private_font = gtk_style_get_font( style ); gtk_style_set_font( style, private_font ); gtk_widget_set_style( hist_list, new_style ); for ( max_sz = 0, n = 0; n < 10; n++ ) { sprintf( tmp, "%d: %s: %c%d", RANDOM( 1, 60 ), ( rand( ) % 2 ) ? "Black" : "White", RANDOM( 0, 7 ) + 'A', RANDOM( 1, 8 ) ); sz = gdk_string_width( private_font, tmp ); if ( sz > max_sz ) max_sz = sz; } gtk_clist_set_column_width( GTK_CLIST( hist_list ), 0, max_sz ); /* * --- Set the column justifications --- */ gtk_clist_set_column_justification( GTK_CLIST( hist_list ), 0, GTK_JUSTIFY_LEFT ); gtk_clist_column_titles_passive( GTK_CLIST( hist_list ) ); /* * --- Selection mode --- */ gtk_clist_set_selection_mode( GTK_CLIST( hist_list ), GTK_SELECTION_BROWSE ); /* * Add the GtkCList widget to the vertical box and show it. */ gtk_widget_show( hist_list ); scrolled_win = gtk_scrolled_window_new( NULL, NULL ); gtk_container_add( GTK_CONTAINER( scrolled_win ), hist_list ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS ); gtk_box_pack_start( GTK_BOX( main_hbox ), scrolled_win, FALSE, FALSE, 0 ); gtk_widget_show( scrolled_win ); } // create_hist_list
void player_filter_page (GtkWidget *notebook) { GtkWidget *page_hbox; GtkWidget *scrollwin; GtkWidget *label; GtkWidget *vbox; GtkWidget *vbox2; GtkWidget *alignment; GtkWidget *pixmap; GtkWidget *button; GtkWidget *peditor; char *titles[5] = { "", "", "", _("Mode"), _("Pattern") }; int i; page_hbox = gtk_hbox_new (FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (page_hbox), 8); label = gtk_label_new (_("Player Filter")); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page_hbox, label); /* Pattern CList */ scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_box_pack_start (GTK_BOX (page_hbox), scrollwin, FALSE, FALSE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); pattern_clist = gtk_clist_new_with_titles (5, titles); gtk_widget_set_usize (pattern_clist, 260, 200); gtk_clist_set_selection_mode (GTK_CLIST (pattern_clist), GTK_SELECTION_BROWSE); gtk_clist_set_reorderable (GTK_CLIST (pattern_clist), TRUE); gtk_signal_connect (GTK_OBJECT (pattern_clist), "event", GTK_SIGNAL_FUNC (pattern_clist_event_callback), NULL); gtk_signal_connect (GTK_OBJECT (pattern_clist), "select_row", GTK_SIGNAL_FUNC (pattern_clist_select_row_callback), NULL); gtk_signal_connect (GTK_OBJECT (pattern_clist), "row_move", GTK_SIGNAL_FUNC (pattern_clist_row_move_callback), NULL); for (i = 0; i < 3; i++) { pixmap = aligned_pixmap (group_pix[i].pix, group_pix[i].mask); gtk_clist_set_column_width (GTK_CLIST (pattern_clist), i, pixmap_width (group_pix[i].pix)); gtk_clist_set_column_widget (GTK_CLIST (pattern_clist), i, pixmap); gtk_widget_show (pixmap); gtk_clist_set_column_resizeable (GTK_CLIST (pattern_clist), i, FALSE); } gtk_clist_set_column_width (GTK_CLIST (pattern_clist), 3, 45); gtk_container_add (GTK_CONTAINER (scrollwin), pattern_clist); gtk_clist_column_titles_passive (GTK_CLIST (pattern_clist)); gtk_widget_show (pattern_clist); gtk_widget_show (scrollwin); gtk_widget_ensure_style (pattern_clist); /*FIXME_GTK2: style->font not working with gtk2*/ #ifndef USE_GTK2 i = MAX (pixmap_height (group_pix[0].pix), pattern_clist->style->font->ascent + pattern_clist->style->font->descent + 1); gtk_clist_set_row_height (GTK_CLIST (pattern_clist), i); #endif /* Buttons */ vbox = gtk_vbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (page_hbox), vbox, FALSE, FALSE, 0); button = gtk_button_new_with_label (_("New")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (new_pattern_callback), NULL); gtk_widget_show (button); delete_button = gtk_button_new_with_label (_("Delete")); gtk_box_pack_start (GTK_BOX (vbox), delete_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (delete_button), "clicked", GTK_SIGNAL_FUNC (delete_pattern_callback), NULL); gtk_widget_show (delete_button); alignment = gtk_alignment_new (0, 0.5, 1, 0); gtk_box_pack_end (GTK_BOX (vbox), alignment, TRUE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 4); gtk_container_add (GTK_CONTAINER (alignment), vbox2); up_button = gtk_button_new_with_label (_("Up")); gtk_box_pack_start (GTK_BOX (vbox2), up_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (up_button), "clicked", GTK_SIGNAL_FUNC (move_up_down_pattern_callback), (void *) -1); gtk_widget_show (up_button); down_button = gtk_button_new_with_label (_("Down")); gtk_box_pack_start (GTK_BOX (vbox2), down_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (down_button), "clicked", GTK_SIGNAL_FUNC (move_up_down_pattern_callback), (void *) 1); gtk_widget_show (down_button); gtk_widget_show (vbox2); gtk_widget_show (alignment); gtk_widget_show (vbox); /* Pattern Editor */ peditor = player_filter_pattern_editor (); gtk_box_pack_end (GTK_BOX (page_hbox), peditor, TRUE, TRUE, 0); gtk_widget_show (page_hbox); player_filter_page_init (); }