static void thunar_uca_chooser_init (ThunarUcaChooser *uca_chooser) { GtkTreeViewColumn *column; GtkTreeSelection *selection; GtkCellRenderer *renderer; ThunarUcaModel *uca_model; GtkWidget *image; GtkWidget *label; GtkWidget *hbox; GtkWidget *swin; GtkWidget *vbox; /* configure the dialog window */ gtk_dialog_add_button (GTK_DIALOG (uca_chooser), GTK_STOCK_HELP, GTK_RESPONSE_HELP); gtk_dialog_add_button (GTK_DIALOG (uca_chooser), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); gtk_dialog_set_default_response (GTK_DIALOG (uca_chooser), GTK_RESPONSE_CLOSE); gtk_dialog_set_has_separator (GTK_DIALOG (uca_chooser), FALSE); gtk_window_set_default_size (GTK_WINDOW (uca_chooser), 500, 350); gtk_window_set_destroy_with_parent (GTK_WINDOW (uca_chooser), TRUE); gtk_window_set_title (GTK_WINDOW (uca_chooser), _("Custom Actions")); hbox = gtk_hbox_new (FALSE, 3); gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (uca_chooser)->vbox), hbox, FALSE, TRUE, 0); gtk_widget_show (hbox); image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DND); gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); gtk_widget_show (image); label = gtk_label_new (_("You can configure custom actions that will appear in the\n" "file managers context menus for certain kinds of files.")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); gtk_widget_show (label); hbox = gtk_hbox_new (FALSE, 3); gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (uca_chooser)->vbox), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); swin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swin), GTK_SHADOW_IN); gtk_box_pack_start (GTK_BOX (hbox), swin, TRUE, TRUE, 0); gtk_widget_show (swin); uca_chooser->treeview = gtk_tree_view_new (); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (uca_chooser->treeview), FALSE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (uca_chooser->treeview), TRUE); gtk_container_add (GTK_CONTAINER (swin), uca_chooser->treeview); g_signal_connect_swapped (G_OBJECT (uca_chooser->treeview), "row-activated", G_CALLBACK (thunar_uca_chooser_edit_clicked), uca_chooser); gtk_widget_show (uca_chooser->treeview); uca_model = thunar_uca_model_get_default (); gtk_tree_view_set_model (GTK_TREE_VIEW (uca_chooser->treeview), GTK_TREE_MODEL (uca_model)); g_object_unref (G_OBJECT (uca_model)); column = gtk_tree_view_column_new (); gtk_tree_view_column_set_expand (column, TRUE); gtk_tree_view_column_set_resizable (column, FALSE); gtk_tree_view_append_column (GTK_TREE_VIEW (uca_chooser->treeview), column); renderer = g_object_new (GTK_TYPE_CELL_RENDERER_PIXBUF, "stock-size", GTK_ICON_SIZE_DND, "xpad", 2, "ypad", 2, NULL); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, "icon-name", THUNAR_UCA_MODEL_COLUMN_ICON, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_attributes (column, renderer, "markup", THUNAR_UCA_MODEL_COLUMN_STOCK_LABEL, NULL); vbox = gtk_vbox_new (FALSE, 3); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_widget_show (vbox); uca_chooser->add_button = gtk_button_new (); gtk_widget_set_tooltip_text (uca_chooser->add_button, _("Add a new custom action.")); gtk_box_pack_start (GTK_BOX (vbox), uca_chooser->add_button, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (uca_chooser->add_button), "clicked", G_CALLBACK (thunar_uca_chooser_add_clicked), uca_chooser); gtk_widget_show (uca_chooser->add_button); image = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (uca_chooser->add_button), image); gtk_widget_show (image); uca_chooser->edit_button = gtk_button_new (); gtk_widget_set_tooltip_text (uca_chooser->edit_button, _("Edit the currently selected action.")); gtk_box_pack_start (GTK_BOX (vbox), uca_chooser->edit_button, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (uca_chooser->edit_button), "clicked", G_CALLBACK (thunar_uca_chooser_edit_clicked), uca_chooser); gtk_widget_show (uca_chooser->edit_button); image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (uca_chooser->edit_button), image); gtk_widget_show (image); uca_chooser->delete_button = gtk_button_new (); gtk_widget_set_tooltip_text (uca_chooser->delete_button, _("Delete the currently selected action.")); gtk_box_pack_start (GTK_BOX (vbox), uca_chooser->delete_button, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (uca_chooser->delete_button), "clicked", G_CALLBACK (thunar_uca_chooser_delete_clicked), uca_chooser); gtk_widget_show (uca_chooser->delete_button); image = gtk_image_new_from_stock (GTK_STOCK_DELETE, GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (uca_chooser->delete_button), image); gtk_widget_show (image); uca_chooser->up_button = gtk_button_new (); gtk_widget_set_tooltip_text (uca_chooser->up_button, _("Move the currently selected action up by one row.")); gtk_box_pack_start (GTK_BOX (vbox), uca_chooser->up_button, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (uca_chooser->up_button), "clicked", G_CALLBACK (thunar_uca_chooser_up_clicked), uca_chooser); gtk_widget_show (uca_chooser->up_button); image = gtk_image_new_from_stock (GTK_STOCK_GO_UP, GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (uca_chooser->up_button), image); gtk_widget_show (image); uca_chooser->down_button = gtk_button_new (); gtk_widget_set_tooltip_text (uca_chooser->down_button, _("Move the currently selected action down by one row.")); gtk_box_pack_start (GTK_BOX (vbox), uca_chooser->down_button, FALSE, FALSE, 0); g_signal_connect_swapped (G_OBJECT (uca_chooser->down_button), "clicked", G_CALLBACK (thunar_uca_chooser_down_clicked), uca_chooser); gtk_widget_show (uca_chooser->down_button); image = gtk_image_new_from_stock (GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (uca_chooser->down_button), image); gtk_widget_show (image); /* configure the tree view selection after the buttons have been created */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (uca_chooser->treeview)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect_swapped (G_OBJECT (selection), "changed", G_CALLBACK (thunar_uca_chooser_selection_changed), uca_chooser); thunar_uca_chooser_selection_changed (uca_chooser, selection); }
int l_xrnngvn_v(class iceb_u_str *kod_gr,GtkWidget *wpredok) { class l_xrnngvn_v_data data; char strsql[512]; iceb_u_str kikz; data.kod_gr.new_plus(kod_gr->ravno()); data.rk.clear_data(); if(data.kod_gr.getdlinna() > 1) { data.rk.kod.new_plus(data.kod_gr.ravno()); sprintf(strsql,"select * from Reegrup2 where kod='%s'",data.kod_gr.ravno()); SQL_str row; SQLCURSOR cur; if(iceb_sql_readkey(strsql,&row,&cur,wpredok) < 1) { iceb_menu_soob(gettext("Не найдена запись для корректировки !"),wpredok); return(1); } data.rk.naim.new_plus(row[1]); kikz.plus(iceb_kikz(row[2],row[3],wpredok)); } data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); GtkWidget *label=NULL; if(data.kod_gr.getdlinna() <= 1) { sprintf(strsql,"%s %s",name_system,gettext("Ввод новой записи")); label=gtk_label_new(gettext("Ввод новой записи")); } else { sprintf(strsql,"%s %s",name_system,gettext("Корректировка записи")); iceb_u_str repl; repl.plus(gettext("Корректировка записи")); repl.ps_plus(kikz.ravno()); label=gtk_label_new(repl.ravno_toutf()); } gtk_window_set_title(GTK_WINDOW(data.window),strsql); 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(l_xrnngvn_v_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *vbox = gtk_vbox_new (FALSE,1); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE,1); GtkWidget *hboxknop = gtk_hbox_new (FALSE,1); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); label=gtk_label_new(gettext("Код")); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), label, FALSE, FALSE,1); data.entry[E_KOD] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), data.entry[E_KOD], TRUE, TRUE,1); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD]), "activate",GTK_SIGNAL_FUNC(l_xrnngvn_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD]),data.rk.kod.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD]),(gpointer)E_KOD); label=gtk_label_new(gettext("Наименование")); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), label, FALSE, FALSE,1); data.entry[E_NAIM] = gtk_entry_new_with_max_length (100); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), data.entry[E_NAIM], TRUE, TRUE,1); gtk_signal_connect(GTK_OBJECT (data.entry[E_NAIM]), "activate",GTK_SIGNAL_FUNC(l_xrnngvn_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_NAIM]),data.rk.naim.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NAIM]),(gpointer)E_NAIM); GtkTooltips *tooltips[KOL_FK]; sprintf(strsql,"F2 %s",gettext("Запись")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Запись введеной в меню информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(l_xrnngvn_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE,1); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы с меню без записи введенной информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(l_xrnngvn_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE,1); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(data.voz == 0) kod_gr->new_plus(data.rk.kod.ravno()); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
int kzvmu2(short dd,short md,short gd,int skl, const char *nomdok,int kodm,int nk, int sklad1, const char *nomdokp, GtkWidget *wpredok) { char strsql[512]; class kzvmu2_data data; iceb_u_str kikz; iceb_u_str naim_mat; SQLCURSOR cur; SQL_str row; iceb_u_str repl; //char bros[512]; //iceb_poldan("Н.Д.С.",bros,"matnast.alx",wpredok); //float pnds=iceb_u_atof(bros); float pnds=iceb_pnds(dd,md,gd,wpredok); data.dd=dd; data.md=md; data.gd=gd; data.sklad=skl; data.kodm=kodm; data.nom_kar=nk; data.nomdok.plus(nomdok); data.sklad1=sklad1; data.nomdokp.plus(nomdokp); naim_mat.plus(""); sprintf(strsql,"select naimat from Material where kodm=%d",kodm); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) == 1) naim_mat.new_plus(row[0]); sprintf(strsql,"select kolih,cena,shet,nomz,ktoi,vrem,nomkarp from Dokummat1 where \ sklad=%d and nomd='%s' and kodm=%d and nomkar=%d and datd='%04d-%02d-%02d' \ and tipz=2",skl,nomdok,kodm,nk,gd,md,dd); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) < 1) { repl.new_plus(gettext("Не найдена запись для корректировки !")); repl.ps_plus(strsql); iceb_menu_soob(&repl,wpredok); return(1); } data.kolihz=atof(row[0]); sprintf(strsql,"%.10g",data.kolihz); data.kolih.plus(strsql); data.shet.plus(row[2]); data.nomerzak.plus(row[3]); double cena=atof(row[1]); sprintf(strsql,"%.10g",cena); data.cenabnds.plus(strsql); cena=cena+cena*pnds/100.; cena=iceb_u_okrug(cena,okrg1); sprintf(strsql,"%.10g",cena); data.cenasnds.plus(strsql); kikz.plus(iceb_kikz(row[4],row[5],wpredok)); data.nomkarp=atoi(row[6]); data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,gettext("Корректировка выбранной записи")); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); 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(kzvmu2_v_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } repl.new_plus(gettext("Корректировка выбранной записи")); repl.ps_plus(gettext("Материал")); repl.plus(":"); repl.plus(kodm); repl.plus(" "); repl.plus(naim_mat.ravno()); if(kikz.getdlinna() > 1) repl.ps_plus(kikz.ravno()); GtkWidget *label=gtk_label_new(repl.ravno_toutf()); GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); sprintf(strsql,"%s",gettext("Количество")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_KOLIH] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_KOLIH]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_KOLIH]), data.entry[E_KOLIH], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOLIH]), "activate",GTK_SIGNAL_FUNC(kzvmu2_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOLIH]),data.kolih.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOLIH]),(gpointer)E_KOLIH); sprintf(strsql,"%s",gettext("Цена с НДС")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_CENASNDS] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_CENASNDS]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_CENASNDS]), data.entry[E_CENASNDS], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_CENASNDS]), "activate",GTK_SIGNAL_FUNC(kzvmu2_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_CENASNDS]),data.cenasnds.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_CENASNDS]),(gpointer)E_CENASNDS); sprintf(strsql,"%s",gettext("Цена без НДС")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_CENABNDS] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_CENABNDS]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_CENABNDS]), data.entry[E_CENABNDS], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_CENABNDS]), "activate",GTK_SIGNAL_FUNC(kzvmu2_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_CENABNDS]),data.cenabnds.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_CENABNDS]),(gpointer)E_CENABNDS); sprintf(strsql,"%s",gettext("Счёт")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_SHET] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.entry[E_SHET], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SHET]), "activate",GTK_SIGNAL_FUNC(kzvmu2_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHET]),data.shet.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHET]),(gpointer)E_SHET); sprintf(strsql,"%s",gettext("Номер заказа")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_NOMERZAK] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_NOMERZAK]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_NOMERZAK]), data.entry[E_NOMERZAK], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_NOMERZAK]), "activate",GTK_SIGNAL_FUNC(kzvmu2_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_NOMERZAK]),data.nomerzak.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NOMERZAK]),(gpointer)E_NOMERZAK); GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Записать")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Записать введенную в меню информацию"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(kzvmu2_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(kzvmu2_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
GtkWidget* create_Xgcom (struct xcomdata *xcomdata) { GtkWidget *main_window; GdkPixbuf *Xgcom_icon_pixbuf; GtkWidget *main_vbox; /*-------------------------main_menubar---------------------*/ GtkWidget *main_menubar; /*-------------------------body_hbox------------------------*/ GtkWidget *body_hbox; GtkWidget *left_vbox; /*------------------------right_vbox-------------------------*/ GtkWidget *right_vbox; /*------------------------foot_hbox--------------------------*/ GtkWidget *foot_hbox; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); //gtk_widget_set_size_request (main_window, 600, 700); GTK_WIDGET_SET_FLAGS (main_window, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS (main_window, GTK_CAN_DEFAULT); gtk_window_set_title (GTK_WINDOW (main_window), _("XGCom (Xiyou-Linux-Group)")); //gtk_window_set_default_size (GTK_WINDOW (main_window), 600, 700); gtk_window_set_destroy_with_parent (GTK_WINDOW (main_window), TRUE); gtk_window_set_position (GTK_WINDOW (main_window), GTK_WIN_POS_CENTER); Xgcom_icon_pixbuf = create_pixbuf ("xgcom.png"); if (Xgcom_icon_pixbuf){ gtk_window_set_icon (GTK_WINDOW (main_window), Xgcom_icon_pixbuf); gdk_pixbuf_unref (Xgcom_icon_pixbuf); } main_vbox = gtk_vbox_new (FALSE, 0); gtk_widget_show (main_vbox); gtk_container_add (GTK_CONTAINER (main_window), main_vbox); /*------------------------main_menubar-----------------------*/ main_menubar = create_menu(main_window, main_vbox, accel_group, xcomdata); /*------------------------body_hbox--------------------------*/ body_hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (body_hbox); gtk_box_pack_start (GTK_BOX (main_vbox), body_hbox, TRUE, TRUE, 0); /*-------------------------create_leftvbox-------------------*/ left_vbox = create_leftvbox(main_window, body_hbox, accel_group, xcomdata); /*-------------------------create_rightvbox------------------*/ right_vbox = create_rightvbox(main_window, body_hbox, accel_group, xcomdata); /*-------------------------create_foot-----------------------*/ foot_hbox = create_foot(main_window, main_vbox, xcomdata); g_signal_connect ((gpointer) main_window, "delete_event", G_CALLBACK (on_Xgcom_delete_event), NULL); gtk_widget_grab_focus (main_window); gtk_widget_grab_default (main_window); gtk_window_add_accel_group (GTK_WINDOW (main_window), accel_group); xcomdata->gmain = main_window; debug_p("baud: %d \n", xcomdata->comcfg.baud); return main_window; }
int imp_kr_r(class imp_kr_rek *rek, GtkWidget *wpredok) { char strsql[512]; iceb_u_spisok repl_s; class imp_kr_r_data data; data.rk=rek; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_default_size (GTK_WINDOW (data.window),400,-1); sprintf(strsql,"%s %s",name_system,gettext("Импорт документов")); gtk_window_set_title(GTK_WINDOW(data.window),strsql); 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(imp_kr_r_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *vbox=gtk_vbox_new(FALSE, 2); 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); GtkWidget *label=gtk_label_new(gettext("Импорт документов")); gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,0); data.view=gtk_text_view_new(); gtk_widget_set_usize(GTK_WIDGET(data.view),450,300); gtk_text_view_set_editable(GTK_TEXT_VIEW(data.view),FALSE); //Запрет на редактирование текста //PangoFontDescription *font_pango=pango_font_description_from_string("Nimbus Mono L, Bold 12"); PangoFontDescription *font_pango=pango_font_description_from_string(shrift_ravnohir.ravno()); gtk_widget_modify_font(GTK_WIDGET(data.view),font_pango); pango_font_description_free(font_pango); data.buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(data.view)); GtkWidget *sw=gtk_scrolled_window_new(NULL,NULL); //gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); //gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),GTK_POLICY_ALWAYS,GTK_POLICY_ALWAYS); gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0); gtk_container_add(GTK_CONTAINER(sw),data.view); data.bar=gtk_progress_bar_new(); gtk_progress_bar_set_bar_style(GTK_PROGRESS_BAR(data.bar),GTK_PROGRESS_CONTINUOUS); gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(data.bar),GTK_PROGRESS_LEFT_TO_RIGHT); gtk_box_pack_start (GTK_BOX (vbox), data.bar, FALSE, FALSE, 2); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka=gtk_button_new_with_label(strsql); GtkTooltips *tooltops=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltops,data.knopka,gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka),"clicked",GTK_SIGNAL_FUNC(imp_kr_r_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka),(gpointer)0); gtk_box_pack_start (GTK_BOX (vbox), data.knopka, FALSE, FALSE, 2); gtk_widget_set_sensitive(GTK_WIDGET(data.knopka),FALSE);//Недоступна gtk_widget_show_all(data.window); //gtk_window_set_decorated(GTK_WINDOW(data.window),FALSE); //Убирает рамку вокруг окна //gtk_widget_set_sensitive(GTK_WIDGET(data.knopka),FALSE);//Недоступна gtk_idle_add((GtkFunction)imp_kr_r1,&data); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
void DocActionFmt::Exec(bool bInteractive) { bool bExists = false; if(bInteractive) { m_lstFmt = g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt; int nCursor = 0; int nSelection = 0; g_text.GetSelectionBounds(nCursor, nSelection); if(nCursor != nSelection) { int nStart = min(nCursor, nSelection); int nEnd = max(nCursor, nSelection); m_nStartOffset = nStart; m_nEndOffset = nEnd; bExists = g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.IsRangeFormatted(m_nStartOffset, m_nEndOffset, m_nOperationTag); //start color picker if required GdkColor color; if( (!bExists || m_bCtrlPressed) && (FMT_TXT_COLOR_BEGIN == m_nOperationTag || FMT_TXT_BKG_COLOR_BEGIN == m_nOperationTag)) { if(m_bCtrlPressed) { if(FMT_TXT_COLOR_BEGIN == m_nOperationTag) color = g_rgbTextColor; else color = g_rgbTextBgColor; } else { GtkWidget *picker = gtk_color_selection_dialog_new (_("Pick text color")); gtk_window_set_modal (GTK_WINDOW (picker), TRUE); gtk_window_set_destroy_with_parent (GTK_WINDOW (picker), TRUE); #ifndef _WIN32 //TOFIX API is buggy on Win32 (kills modal dialog state) gtk_window_set_skip_taskbar_hint (GTK_WINDOW (picker), TRUE); #endif gtk_window_set_skip_pager_hint (GTK_WINDOW (picker), TRUE); gtk_window_set_type_hint (GTK_WINDOW (picker), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_transient_for(GTK_WINDOW (picker), GTK_WINDOW(window1)); //set parent #if GTK_CHECK_VERSION(2,4,0) //new API TOFIX set proper version #ifndef _WIN32 //TOFIX API is buggy on Win32 (kills modal dialog state) //gtk_window_set_keep_above(GTK_WINDOW (picker), TRUE); #endif #endif gtk_widget_realize(picker); gdk_window_set_decorations(picker->window, (GdkWMDecoration)(GDK_DECOR_BORDER|GDK_DECOR_TITLE)); GtkColorSelection *colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (picker)->colorsel); if(FMT_TXT_COLOR_BEGIN == m_nOperationTag){ gtk_color_selection_set_previous_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextColor); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextColor); } else { gtk_color_selection_set_previous_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextBgColor); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextBgColor); } gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION(colorsel), TRUE); if(GTK_RESPONSE_OK != gtk_dialog_run(GTK_DIALOG(picker))){ gtk_widget_destroy(picker); return; } gtk_color_selection_get_current_color(colorsel, &color); gtk_widget_destroy(picker); } m_color = color; if(FMT_TXT_COLOR_BEGIN == m_nOperationTag) g_rgbTextColor = color; //remember last used color else g_rgbTextBgColor = color; //remember last used color } } } bExists = g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.IsRangeFormatted(m_nStartOffset, m_nEndOffset, m_nOperationTag); if(bExists){ g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.ClearFormatRange(m_nStartOffset, m_nEndOffset, m_nOperationTag); RefreshTextFormat(g_doc.GetNodeByIdx(m_nNodeIdx), false, m_nStartOffset, m_nEndOffset); } else{ g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.AddFormatRange(m_nStartOffset, m_nEndOffset, m_nOperationTag, m_color); if(FMT_NONE == m_nOperationTag) RefreshTextFormat(g_doc.GetNodeByIdx(m_nNodeIdx), false, m_nStartOffset, m_nEndOffset); } textview_selection_changed(NULL, NULL, NULL, NULL); TRACE("DocActionFmt::Exec\n"); }
GtkWidget* ShortcutsListDlg::create_dialog (GtkWidget* parent) { GtkWidget *shortcuts_dialog; GtkWidget *dialog_vbox8; GtkWidget *hbox3; GtkWidget *label33; GtkWidget *label34; GtkWidget *combobox4; GtkWidget *scrolledwindow5; GtkWidget *treeview3; GtkWidget *label35; GtkWidget *dialog_action_area8; GtkWidget *cancelbutton8; GtkWidget *okbutton8; GtkWidget *clearall_btn; GtkWidget *resetall_btn; shortcuts_dialog = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (shortcuts_dialog), _("Shortcut editor")); gtk_window_set_type_hint (GTK_WINDOW (shortcuts_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_default_size(GTK_WINDOW(shortcuts_dialog), 420, 450); gtk_window_set_modal (GTK_WINDOW (shortcuts_dialog), TRUE); gtk_window_set_destroy_with_parent (GTK_WINDOW (shortcuts_dialog), TRUE); #ifndef _WIN32 //TOFIX API is buggy on Win32 (kills modal dialog state) gtk_window_set_skip_taskbar_hint (GTK_WINDOW (shortcuts_dialog), TRUE); #endif gtk_window_set_skip_pager_hint (GTK_WINDOW (shortcuts_dialog), TRUE); gtk_window_set_transient_for(GTK_WINDOW (shortcuts_dialog), GTK_WINDOW(window1)); //set parent dialog_vbox8 = GTK_DIALOG (shortcuts_dialog)->vbox; gtk_widget_show (dialog_vbox8); hbox3 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox3); gtk_box_pack_start (GTK_BOX (dialog_vbox8), hbox3, FALSE, TRUE, 0); label33 = gtk_label_new (_("Context:")); gtk_widget_show (label33); gtk_box_pack_start (GTK_BOX (hbox3), label33, FALSE, TRUE, 2); gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5); combobox4 = gtk_combo_box_new_text (); gtk_widget_show (combobox4); gtk_box_pack_start (GTK_BOX (hbox3), combobox4, TRUE, TRUE, 2); gtk_combo_box_append_text(GTK_COMBO_BOX(combobox4), _("Global")); gtk_combo_box_append_text(GTK_COMBO_BOX(combobox4), _("Tree widget")); gtk_combo_box_set_active (GTK_COMBO_BOX(combobox4), 0); g_signal_connect(combobox4, "changed", G_CALLBACK (on_context_combo_selected), this); label34 = gtk_label_new (""); gtk_widget_show (label34); gtk_box_pack_start (GTK_BOX (hbox3), label34, FALSE, TRUE, 2); gtk_misc_set_alignment (GTK_MISC (label34), 1.0, 0.5); scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow5); gtk_box_pack_start (GTK_BOX (dialog_vbox8), scrolledwindow5, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN); // create shortcuts list GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); treeview3 = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref (G_OBJECT (store)); //tree now holds reference gtk_widget_show (treeview3); gtk_container_add (GTK_CONTAINER (scrolledwindow5), treeview3); g_signal_connect (treeview3, "key_press_event", G_CALLBACK (treeview_keyboard_handler), this); GtkTreeViewColumn *col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, _("Action")); gtk_tree_view_column_set_clickable(col, TRUE); //allow column header clicks gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_resizable(col, TRUE); gtk_tree_view_column_set_fixed_width(col, 300); // g_signal_connect (col, "clicked", G_CALLBACK (on_header_clicked), this); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_add_attribute(col, renderer, "text", 0); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview3), col); col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, _("Shortcut")); gtk_tree_view_column_set_clickable(col, TRUE); //allow column header clicks gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_resizable(col, TRUE); gtk_tree_view_column_set_fixed_width(col, 50); // g_signal_connect (col, "clicked", G_CALLBACK (on_header_clicked), this); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_add_attribute(col, renderer, "text", 1); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview3), col); GtkWidget *hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox8), hbox1, FALSE, TRUE, 5); GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **)&bulb); GtkWidget *icon = gtk_image_new_from_pixbuf (pixbuf); gtk_widget_show (icon); gtk_box_pack_start (GTK_BOX (hbox1), icon, FALSE, TRUE, 2); label35 = gtk_label_new (_("Use mouse click to select an action, and then press key combination to assign the shortcut to it. Some actions are listed in more than one context so they can have more than one shortcut attached.")); gtk_widget_show (label35); gtk_box_pack_start (GTK_BOX (hbox1), label35, TRUE, TRUE, 2); gtk_misc_set_alignment (GTK_MISC (label35), 0.5, 0.5); gtk_label_set_line_wrap(GTK_LABEL(label35), true); #if GTK_CHECK_VERSION(2,10,0) //minimal version for this api gtk_label_set_line_wrap_mode(GTK_LABEL(label35), PANGO_WRAP_WORD_CHAR); #endif //action area dialog_action_area8 = GTK_DIALOG (shortcuts_dialog)->action_area; gtk_widget_show (dialog_action_area8); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area8), GTK_BUTTONBOX_END); clearall_btn = gtk_button_new_with_mnemonic(_("Clear All")); gtk_widget_show (clearall_btn); gtk_container_add (GTK_CONTAINER(dialog_action_area8), clearall_btn); GTK_WIDGET_SET_FLAGS (clearall_btn, GTK_CAN_DEFAULT); g_signal_connect(clearall_btn, "clicked", G_CALLBACK (on_clear_all_clicked), this); resetall_btn = gtk_button_new_with_mnemonic(_("Reset All")); gtk_widget_show (resetall_btn); gtk_container_add (GTK_CONTAINER(dialog_action_area8), resetall_btn); GTK_WIDGET_SET_FLAGS (resetall_btn, GTK_CAN_DEFAULT); g_signal_connect(resetall_btn, "clicked", G_CALLBACK (on_reset_all_clicked), this); cancelbutton8 = gtk_button_new_with_mnemonic (_("Cancel")); gtk_widget_show (cancelbutton8); gtk_dialog_add_action_widget (GTK_DIALOG (shortcuts_dialog), cancelbutton8, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancelbutton8, GTK_CAN_DEFAULT); g_signal_connect(cancelbutton8, "clicked", G_CALLBACK (on_cancel_clicked), this); okbutton8 = gtk_button_new_with_mnemonic (_("OK")); gtk_widget_show (okbutton8); gtk_container_add (GTK_CONTAINER(dialog_action_area8), okbutton8); GTK_WIDGET_SET_FLAGS (okbutton8, GTK_CAN_DEFAULT); g_signal_connect(okbutton8, "clicked", G_CALLBACK (on_ok_clicked), this); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (shortcuts_dialog, shortcuts_dialog, "shortcuts_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (shortcuts_dialog, dialog_vbox8, "dialog_vbox8"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, label33, "label33"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, label34, "label34"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, combobox4, "combobox4"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, scrolledwindow5, "scrolledwindow5"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, treeview3, "treeview3"); GLADE_HOOKUP_OBJECT_NO_REF (shortcuts_dialog, dialog_action_area8, "dialog_action_area8"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, cancelbutton8, "cancelbutton8"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, okbutton8, "okbutton8"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, resetall_btn, "resetall_btn"); GLADE_HOOKUP_OBJECT (shortcuts_dialog, clearall_btn, "clearall_btn"); return shortcuts_dialog; }
int iceb_menu_import(class iceb_u_str *imafz,const char *zagolov,const char *imaf_nast,GtkWidget *wpredok) { impmatdok_m_data data; char strsql[312]; data.imafz=imafz; data.imaf_nast=imaf_nast; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,iceb_u_toutf(zagolov)); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); 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(impmatdok_m_v_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *label=gtk_label_new(iceb_u_toutf(zagolov)); GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); sprintf(strsql,"%s",gettext("Введите имя файла")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_IMAF] = gtk_entry_new_with_max_length (100); gtk_box_pack_start (GTK_BOX (hbox[E_IMAF]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_IMAF]), data.entry[E_IMAF], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_IMAF]), "activate",GTK_SIGNAL_FUNC(impmatdok_m_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_IMAF]),data.imafz->ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_IMAF]),(gpointer)E_IMAF); GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Импорт")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Начать импорт документов"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); sprintf(strsql,"F3 %s",gettext("Просмотр")); data.knopka[FK3]=gtk_button_new_with_label(strsql); tooltips[FK3]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK3],data.knopka[FK3],gettext("Просмотр и редактиривание файла"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK3], TRUE, TRUE, 0); sprintf(strsql,"F6 %s",gettext("Очистить")); data.knopka[FK6]=gtk_button_new_with_label(strsql); tooltips[FK6]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK6],data.knopka[FK6],gettext("Очистить меню от введенной информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK6], TRUE, TRUE, 0); sprintf(strsql,"F4 %s",gettext("Выполнить")); data.knopka[FK4]=gtk_button_new_with_label(strsql); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Выполнить команды настроенные по клавише F5"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK4], TRUE, TRUE, 0); sprintf(strsql,"F5 %s",gettext("Настройка")); data.knopka[FK5]=gtk_button_new_with_label(strsql); tooltips[FK5]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK5],data.knopka[FK5],gettext("Настройка выполнения команд/программ для клавиши F4"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK5], TRUE, TRUE, 0); if(data.imaf_nast[0] == '\0') { gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[FK4]),FALSE);//Недоступна gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[FK5]),FALSE);//Недоступна } sprintf(strsql,"F7 %s",gettext("Найти")); data.knopka[FK7]=gtk_button_new_with_label(strsql); tooltips[FK7]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK7],data.knopka[FK7],gettext("Найти нужный файл"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK7], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(impmatdok_m_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
void planner_column_dialog_show (PlannerWindow *window, const gchar *title, GtkTreeView *edited_tree) { DialogData *data; GladeXML *glade; GtkWidget *close_button; gchar *filename; filename = mrp_paths_get_glade_dir ("column-dialog.glade"); glade = glade_xml_new (filename, NULL, NULL); g_free (filename); if (!glade) { g_warning ("Could not create column dialog."); return; } data = g_new0 (DialogData, 1); data->main_window = window; data->edited_tree = edited_tree; data->dialog = glade_xml_get_widget (glade, "column_dialog"); gtk_window_set_title (GTK_WINDOW (data->dialog), title); gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (window)); gtk_window_set_destroy_with_parent (GTK_WINDOW (data->dialog), TRUE); data->visible_tree = glade_xml_get_widget (glade, "visible_tree"); data->hidden_tree = glade_xml_get_widget (glade, "hidden_tree"); data->up_button = glade_xml_get_widget (glade, "up_button"); data->down_button = glade_xml_get_widget (glade, "down_button"); data->show_button = glade_xml_get_widget (glade, "show_button"); data->hide_button = glade_xml_get_widget (glade, "hide_button"); column_dialog_setup_tree (data, GTK_TREE_VIEW (data->hidden_tree)); column_dialog_setup_tree (data, GTK_TREE_VIEW (data->visible_tree)); column_dialog_fill_trees (data); g_signal_connect (data->hidden_tree, "focus-in-event", G_CALLBACK (column_dialog_focus_in_event_cb), data); g_signal_connect (data->visible_tree, "focus-in-event", G_CALLBACK (column_dialog_focus_in_event_cb), data); g_signal_connect (data->up_button, "clicked", G_CALLBACK (column_dialog_up_button_clicked_cb), data); g_signal_connect (data->down_button, "clicked", G_CALLBACK (column_dialog_down_button_clicked_cb), data); g_signal_connect (data->hide_button, "clicked", G_CALLBACK (column_dialog_hide_button_clicked_cb), data); g_signal_connect (data->show_button, "clicked", G_CALLBACK (column_dialog_show_button_clicked_cb), data); close_button = glade_xml_get_widget (glade, "close_button"); g_signal_connect (close_button, "clicked", G_CALLBACK (column_dialog_close_button_clicked_cb), data); g_object_set_data_full (G_OBJECT (data->dialog), "data", data, g_free); column_dialog_update_sensitivity (data); gtk_widget_show (data->dialog); g_object_unref (glade); }
void scan (Collection *collection) { GtkWidget *window; GtkWidget *vbox; GtkWidget *frame; GtkWidget *table; GtkWidget *entry_ip; GtkWidget *radio_button_single; GtkWidget *radio_button_multi; GtkWidget *entry_port; GtkWidget *entry_port_start; GtkWidget *entry_port_end; GtkWidget *entry_count; GtkWidget *label; GtkWidget *sw; GtkWidget *treeview; GtkWidget *progressbar; GtkWidget *hbuttonbox; GtkWidget *start; GtkWidget *end; ScanObject *scan_object; scan_object = g_slice_new (ScanObject); if (scan_object == NULL) { fprintf (stderr, "Error: not enough space\n"); exit (1); } window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "端口扫描"); gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (collection->window)); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_destroy_with_parent (GTK_WINDOW (window), TRUE); gtk_window_set_modal (GTK_WINDOW (window), TRUE); gtk_window_set_default_size (GTK_WINDOW (window), 400, 600); gtk_container_set_border_width (GTK_CONTAINER (window), 10); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("主机IP地址"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 2); table = gtk_table_new (4, 7, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 2); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_container_add (GTK_CONTAINER (frame), table); label = gtk_label_new ("IP地址"); gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_ip = gtk_entry_new(); gtk_entry_set_text (GTK_ENTRY (entry_ip), "127.0.0.1"); gtk_table_attach (GTK_TABLE (table), entry_ip, 2, 6, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); radio_button_single = gtk_radio_button_new_with_label (NULL, "扫描一个端口"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_button_single), TRUE); gtk_table_attach (GTK_TABLE (table), radio_button_single, 0, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_port = gtk_entry_new(); gtk_entry_set_text (GTK_ENTRY (entry_port), "135"); gtk_widget_set_size_request (entry_port, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_port, 2, 3, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); radio_button_multi = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button_single), "扫描多个端口"); gtk_table_attach (GTK_TABLE (table), radio_button_multi, 0, 2, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_port_start = gtk_entry_new (); gtk_widget_set_size_request (entry_port_start, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_port_start, 2, 3, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new ("TO"); gtk_table_attach (GTK_TABLE (table), label, 3, 4, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_port_end = gtk_entry_new (); gtk_widget_set_size_request (entry_port_end, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_port_end, 4, 5, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new ("尝试扫描次数"); gtk_table_attach (GTK_TABLE (table), label, 0, 2, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_count = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (entry_count), "3"); gtk_widget_set_size_request (entry_count, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_count, 2, 3, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new ("扫描结果"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 2); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 2); treeview = create_view_and_model (); gtk_container_add (GTK_CONTAINER (sw), treeview); progressbar = gtk_progress_bar_new(); gtk_box_pack_start (GTK_BOX (vbox), progressbar, FALSE, FALSE, 2); hbuttonbox = gtk_hbutton_box_new(); gtk_box_pack_start (GTK_BOX (vbox), hbuttonbox, FALSE, FALSE, 2); start = gtk_button_new_with_label ("开始"); gtk_box_pack_start (GTK_BOX (hbuttonbox), start, FALSE, FALSE, 2); end = gtk_button_new_with_label ("结束"); gtk_box_pack_start (GTK_BOX (hbuttonbox), end, FALSE, FALSE, 2); scan_object->scan_window = window; scan_object->entry_ip = entry_ip; scan_object->radio_button_single = radio_button_single; scan_object->radio_button_multi = radio_button_multi; scan_object->entry_port = entry_port; scan_object->entry_port_start = entry_port_start; scan_object->entry_port_end = entry_port_end; scan_object->entry_count = entry_count; scan_object->treeview = treeview; scan_object->progressbar = progressbar; g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (on_window_destroy), scan_object); g_signal_connect (GTK_BUTTON (start), "clicked", G_CALLBACK (on_start_clicked), scan_object); g_signal_connect (GTK_BUTTON (end), "clicked", G_CALLBACK (on_end_clicked), NULL); gtk_widget_show_all (window); }
int iceb_l_smenabaz_v(GtkWidget *wpredok) { class iceb_l_smenabaz_v_data data; char strsql[312]; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,gettext("Сменить хост на базу")); gtk_window_set_title(GTK_WINDOW(data.window),strsql); 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(iceb_l_smenabaz_v_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); for(int i=0; i < KOLENTER; i++) gtk_box_pack_start (GTK_BOX (vbox),hbox[i], TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hboxknop, TRUE, TRUE, 0); GtkWidget *label=gtk_label_new(gettext("Хост на базу")); gtk_box_pack_start (GTK_BOX (hbox[E_HOSTNABAZU]), label, FALSE, FALSE, 0); data.entry[E_HOSTNABAZU] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_HOSTNABAZU]), data.entry[E_HOSTNABAZU], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_HOSTNABAZU]), "activate",GTK_SIGNAL_FUNC(iceb_l_smenabaz_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_HOSTNABAZU]),data.hostnabazu.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_HOSTNABAZU]),(gpointer)E_HOSTNABAZU); label=gtk_label_new(gettext("Пароль для доступа к базе")); gtk_box_pack_start (GTK_BOX (hbox[E_PAROLNAHOST]), label, FALSE, FALSE, 0); data.entry[E_PAROLNAHOST] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_PAROLNAHOST]), data.entry[E_PAROLNAHOST], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_PAROLNAHOST]), "activate",GTK_SIGNAL_FUNC(iceb_l_smenabaz_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_PAROLNAHOST]),data.parolnahost.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_PAROLNAHOST]),(gpointer)E_PAROLNAHOST); gtk_entry_set_visibility(GTK_ENTRY(data.entry[E_PAROLNAHOST]),FALSE); GtkTooltips *tooltips[KOL_FK]; sprintf(strsql,"F2 %s",gettext("Сменить")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Сменить хост на базу"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(iceb_l_smenabaz_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); sprintf(strsql,"F4 %s",gettext("Очистить")); data.knopka[FK4]=gtk_button_new_with_label(strsql); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Очистить меню от введеноой информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]),"clicked",GTK_SIGNAL_FUNC(iceb_l_smenabaz_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK4], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Закончить работу в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(iceb_l_smenabaz_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
NS_IMETHODIMP nsColorPicker::Open(nsIColorPickerShownCallback *aColorPickerShownCallback) { // Input color string should be 7 length (i.e. a string representing a valid // simple color) if (mInitialColor.Length() != 7) { return NS_ERROR_FAILURE; } const nsAString& withoutHash = StringTail(mInitialColor, 6); nscolor color; if (!NS_HexToRGB(withoutHash, &color)) { return NS_ERROR_FAILURE; } if (mCallback) { // It means Open has already been called: this is not allowed NS_WARNING("mCallback is already set. Open called twice?"); return NS_ERROR_FAILURE; } mCallback = aColorPickerShownCallback; nsXPIDLCString title; title.Adopt(ToNewUTF8String(mTitle)); GtkWindow *parent_window = GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET)); #if defined(ACTIVATE_GTK3_COLOR_PICKER) && GTK_CHECK_VERSION(3,4,0) GtkWidget* color_chooser = gtk_color_chooser_dialog_new(title, parent_window); if (parent_window) { gtk_window_set_destroy_with_parent(GTK_WINDOW(color_chooser), TRUE); } gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(color_chooser), FALSE); GdkRGBA color_rgba = convertToRgbaColor(color); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(color_chooser), &color_rgba); g_signal_connect(GTK_COLOR_CHOOSER(color_chooser), "color-activated", G_CALLBACK(OnColorChanged), this); #else GtkWidget *color_chooser = gtk_color_selection_dialog_new(title); if (parent_window) { GtkWindow *window = GTK_WINDOW(color_chooser); gtk_window_set_transient_for(window, parent_window); gtk_window_set_destroy_with_parent(window, TRUE); } GdkColor color_gdk = convertToGdkColor(color); gtk_color_selection_set_current_color(WidgetGetColorSelection(color_chooser), &color_gdk); g_signal_connect(WidgetGetColorSelection(color_chooser), "color-changed", G_CALLBACK(OnColorChanged), this); #endif NS_ADDREF_THIS(); g_signal_connect(color_chooser, "response", G_CALLBACK(OnResponse), this); g_signal_connect(color_chooser, "destroy", G_CALLBACK(OnDestroy), this); gtk_widget_show(color_chooser); return NS_OK; }
static void about_dialog_create(GtkAction * action, gpointer user_data) { Tbfwin *bfwin = BFWIN(user_data); GdkPixbuf *logo; const gchar *artists[] = { "Dave Lyon", NULL }; const gchar *authors[] = { "Olivier Sessink <*****@*****.**> (Project leader)", "Andrius <*****@*****.**>", "Jim Hayward <*****@*****.**>", "Daniel Leidert <*****@*****.**>", "Shawn Novak <*****@*****.**>", "Frédéric Falsetti <*****@*****.**>", _("\nDevelopers of previous releases:"), "Alastair Porter <*****@*****.**>", "Antti-Juhani Kaijanaho", "Bo Forslund", "Chris Mazuc", "Christian Tellefsen <*****@*****.**>", "David Arno", "Eugene Morenko <*****@*****.**>", "Gero Takke", "Neil Millar", "Oskar Świda <*****@*****.**>", "Pablo De Napoli", "Rasmus Toftdahl Olesen <*****@*****.**>", "Roland Steinbach <*****@*****.**>", "Santiago Capel Torres", "Yanike Mann <*****@*****.**>", _("\nPackage maintainers:"), "Debian: Daniel Leidert <*****@*****.**>", "Fink: Michèle Garoche <*****@*****.**>, Kevin Horton <*****@*****.**>", "Gentoo: Hanno Böck <*****@*****.**>", "Mandrake: Todd Lyons <*****@*****.**>", "Redhat: Matthias Haase <*****@*****.**>", "Windows: Shawn Novak <*****@*****.**>, Daniel Leidert <*****@*****.**>", _("\nIf you know of anyone missing from this list,\nplease let us know at:"), _("[email protected] <*****@*****.**>"), _("\nThanks to all who helped make this software available.\n"), NULL }; const gchar *documenters[] = { "Scott White <*****@*****.**>", "Michèle Garoche <*****@*****.**>", "Anita Lewis <*****@*****.**>", "Alastair Porter <*****@*****.**>", "Daniel Blair <*****@*****.**>", "Olivier Sessink <*****@*****.**>", "Denny Reeh\n", NULL }; const gchar *copyright = "Copyright \xc2\xa9 1998-2015 Olivier Sessink and others.\n"; /* wrap the license here, * the "wrap-license" property is only available with GTK >= 2.8 */ const gchar *license = "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by " "the Free Software Foundation; either version 3 of the License, or " "(at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be useful, " "but WITHOUT ANY WARRANTY; without even the implied warranty of " "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " "GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License " "along with this program. If not, see http://www.gnu.org/licenses/ ."; const gchar *comments = _ ("An open-source editor for experienced web designers and programmers, supporting many programming and markup languages, but focusing on creating dynamic and interactive websites."); /* Translators: This is a special message that shouldn't be translated * literally. It is used in the about box to give credits to * the translators. * Thus, you should translate it to your name and email address and * the name and email address of all translator who have contributed * to this translation (in general: this special locale). Please * use a separate line for every translator ending with a newlines (\n). */ const gchar *translator_credits = _("translator-credits"); { GError *error = NULL; logo = gdk_pixbuf_new_from_file(BLUEFISH_SPLASH_FILENAME, &error); if (error) { g_print("ERROR while loading splash screen: %s\n", error->message); g_error_free(error); } } #if !GTK_CHECK_VERSION(3, 0, 0) gtk_about_dialog_set_url_hook(about_activate_url, NULL, NULL); #endif /* gtk3 */ #ifndef MAC_INTEGRATION gtk_show_about_dialog(GTK_WINDOW(bfwin->main_window), "logo", logo, "name", PACKAGE, #ifdef SVN_REVISION "version", VERSION " rev" SVN_REVISION, #else /* SVN_REVISION */ "version", VERSION, #endif /* SVN_REVISION */ "comments", comments, "copyright", copyright, "license", license, "website", "http://bluefish.openoffice.nl", "authors", authors, "artists", artists, "documenters", documenters, "translator_credits", translator_credits, "wrap-license", TRUE, NULL); if (logo) g_object_unref(logo); #else /* gtk_show_about_dialog hides window when it is closed (no other choices). On OSX this hidden dead window can be accessed from WIndow menu, so we have to construct about dialog manually and destroy it after use */ GtkWidget *dialog; dialog = gtk_about_dialog_new(); gtk_window_set_transient_for(GTK_WINDOW( dialog ), GTK_WINDOW(bfwin->main_window)); gtk_window_set_destroy_with_parent (GTK_WINDOW(dialog), TRUE); g_signal_connect (dialog, "activate-link", G_CALLBACK (activate_link_lcb), NULL); /* Set it's properties */ gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), "Bluefish" ); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), #ifdef SVN_REVISION VERSION " rev" SVN_REVISION #else /* SVN_REVISION */ VERSION #endif /* SVN_REVISION */ ); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), copyright); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), "http://bluefish.openoffice.nl" ); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), authors); gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(dialog), artists); gtk_about_dialog_set_documenters(GTK_ABOUT_DIALOG(dialog), documenters); gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), license); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), comments); gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), translator_credits); gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(dialog), TRUE); gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); g_object_unref(logo), logo=NULL; /* Run dialog and destroy it after it returns. */ gtk_dialog_run( GTK_DIALOG(dialog) ); gtk_widget_destroy(GTK_WIDGET(dialog)); #endif /* MAC_INTEGRATION */ }
GtkWidget *trg_about_window_new(GtkWindow * parent) { GtkWidget *dialog; GdkPixbuf *logo; gchar *licenseText = NULL; const gchar *trgAuthors[] = { "Alan Fitton <*****@*****.**>", NULL }; gchar *licenseFile; #ifdef WIN32 gchar *moddir = g_win32_get_package_installation_directory_of_module(NULL); licenseFile = g_build_filename(moddir, "COPYING.TXT", NULL); g_free(moddir); #else licenseFile = g_strdup(TRGLICENSE); #endif dialog = gtk_about_dialog_new(); gtk_window_set_transient_for(GTK_WINDOW(dialog), parent); gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); logo = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), PACKAGE_NAME, 48, GTK_ICON_LOOKUP_USE_BUILTIN, NULL); if (logo != NULL) { gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); g_object_unref(logo); } if (g_file_get_contents(licenseFile, &licenseText, NULL, NULL)) { gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), licenseText); } else { gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); } gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), PACKAGE_NAME); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), PACKAGE_VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), "(C) 2011 Alan Fitton"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), _ ("A remote client to transmission-daemon.")); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(dialog), "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), trgAuthors); /*gtk_about_dialog_set_documenters(GTK_ABOUT_DIALOG(dialog), documenters); */ gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), "translations kindly contributed by\n\n" "* Julian Held (German)\n" "* Youn sok Choi (Korean)\n" "* Piotr (Polish)\n" "* Y3AVD (Russian)\n" "* ROR191 (Ukranian)\n" "* aspidzent (Spanish)"); g_free(licenseFile); g_free(licenseText); return dialog; }
void admin_user(GtkWidget *wpredok) { char strsql[512]; class admin_user_data data; /*устанавливаем базу данных по умолчанию*/ iceb_sql_zapis("USE mysql",1,1,wpredok); sprintf(strsql,"SET NAMES %s",kzkb.ravno()); iceb_sql_zapis(strsql,1,1,wpredok); data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); char bros[512]; sprintf(bros,"%s %s",name_system,gettext("Список разрешённых доступов к базам данных")); gtk_window_set_title (GTK_WINDOW (data.window),bros); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); 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); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(admin_user_key_press),&data); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift); GtkWidget *hbox = gtk_hbox_new (FALSE, 1); gtk_container_add (GTK_CONTAINER (data.window), hbox); GtkWidget *vbox1 = gtk_vbox_new (FALSE, 1); GtkWidget *vbox2 = gtk_vbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (hbox), vbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(vbox1); gtk_widget_show(vbox2); gtk_widget_show(hbox); GtkWidget *label=gtk_label_new(gettext("Список разрешённых доступов к базам данных")); gtk_box_pack_start((GtkBox*)vbox2,label,FALSE,FALSE,0); gtk_widget_show(label); data.label_kolstr=gtk_label_new (""); gtk_box_pack_start (GTK_BOX (vbox2),data.label_kolstr,FALSE, FALSE, 0); data.label_poisk=gtk_label_new (""); GdkColor color; gdk_color_parse("red",&color); gtk_widget_modify_fg(data.label_poisk,GTK_STATE_NORMAL,&color); gtk_box_pack_start (GTK_BOX (vbox2),data.label_poisk,FALSE, FALSE, 0); data.sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize(GTK_WIDGET(data.sw),400,300); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (data.sw),GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.sw),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); //gtk_box_pack_start (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); //printf("Кнопки\n"); //Кнопки GtkTooltips *tooltips[KOL_F_KL]; sprintf(bros,"F3 %s",gettext("Удалить")); data.knopka[FK3]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK3], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(admin_user_knopka),&data); tooltips[FK3]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK3],data.knopka[FK3],gettext("Удаление выбранной записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); gtk_widget_show(data.knopka[FK3]); sprintf(bros,"F4 %s",gettext("Поиск")); data.knopka[FK4]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(admin_user_knopka),&data); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Поиск нужных записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_widget_show(data.knopka[FK4]); sprintf(bros,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK10], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(admin_user_knopka),&data); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_show(data.knopka[FK10]); gtk_widget_grab_focus(data.knopka[FK10]); admin_user_create_list(&data); //gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_widget_show(data.window); gtk_widget_hide (data.label_poisk); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); }
int vmat_medp(iceb_u_str *innom,short *dn,short *mn,short *gn,iceb_u_str *regnom,GtkWidget *wpredok) { vmat_medp_data data; char strsql[512]; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,gettext("Ввод карточки мед. препората")); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); 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(vmat_medp_v_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *label=gtk_label_new(gettext("Ввод карточки мед. препората")); GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); sprintf(strsql,"%s",gettext("Дата регистрации медицинского препарата")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_DATAR] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAR]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_DATAR]), data.entry[E_DATAR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAR]), "activate",GTK_SIGNAL_FUNC(vmat_medp_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAR]),data.datar.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAR]),(gpointer)E_DATAR); sprintf(strsql,"%s",gettext("Серия медицинского препарата")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_SERIQ] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_SERIQ]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_SERIQ]), data.entry[E_SERIQ], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SERIQ]), "activate",GTK_SIGNAL_FUNC(vmat_medp_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SERIQ]),data.seriq.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SERIQ]),(gpointer)E_SERIQ); sprintf(strsql,"%s",gettext("Регистрационный номер документа мед.прерарата")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_REGNOM] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_REGNOM]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_REGNOM]), data.entry[E_REGNOM], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_REGNOM]), "activate",GTK_SIGNAL_FUNC(vmat_medp_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_REGNOM]),data.regnom.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_REGNOM]),(gpointer)E_REGNOM); GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Записать")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Записать введенную в меню информацию."),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(vmat_medp_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); /******************* sprintf(strsql,"F3 %s",gettext("Реквизиты")); data.knopka[FK3]=gtk_button_new_with_label(strsql); tooltips[FK3]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK3],data.knopka[FK3],gettext("Просмотр нужных реквизитов."),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]),"clicked",GTK_SIGNAL_FUNC(vmat_medp_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK3], TRUE, TRUE, 0); ******************/ sprintf(strsql,"F4 %s",gettext("Очистить")); data.knopka[FK4]=gtk_button_new_with_label(strsql); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Очистить меню от введенной информации."),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]),"clicked",GTK_SIGNAL_FUNC(vmat_medp_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK4], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне."),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(vmat_medp_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(data.voz == 0) { innom->new_plus(data.seriq.ravno()); regnom->new_plus(data.regnom.ravno()); iceb_u_rsdat(dn,mn,gn,data.datar.ravno(),1); } if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
static void gtr_preferences_dialog_init (GtrPreferencesDialog * dlg) { GtrPreferencesDialogPrivate *priv; GtkWidget *action_area; GtkWidget *profiles_toolbar; GtkWidget *profiles_scrolled_window; GtkBuilder *builder; GtkBox *content_area; GtkStyleContext *context; gchar *root_objects[] = { "notebook", "adjustment1", "adjustment2", "adjustment3", "model1", NULL }; dlg->priv = GTR_PREFERENCES_DIALOG_GET_PRIVATE (dlg); priv = dlg->priv; priv->ui_settings = g_settings_new ("org.gnome.gtranslator.preferences.ui"); priv->editor_settings = g_settings_new ("org.gnome.gtranslator.preferences.editor"); priv->files_settings = g_settings_new ("org.gnome.gtranslator.preferences.files"); gtk_dialog_add_buttons (GTK_DIALOG (dlg), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_HELP, GTK_RESPONSE_HELP, NULL); gtk_window_set_title (GTK_WINDOW (dlg), _("Gtranslator Preferences")); gtk_window_set_resizable (GTK_WINDOW (dlg), FALSE); gtk_window_set_destroy_with_parent (GTK_WINDOW (dlg), TRUE); action_area = gtk_dialog_get_action_area (GTK_DIALOG (dlg)); content_area = GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))); /* HIG defaults */ gtk_container_set_border_width (GTK_CONTAINER (dlg), 5); gtk_box_set_spacing (content_area, 2); /* 2 * 5 + 2 = 12 */ gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); gtk_box_set_spacing (GTK_BOX (action_area), 4); g_signal_connect (dlg, "response", G_CALLBACK (dialog_response_handler), NULL); builder = gtk_builder_new (); gtk_builder_add_objects_from_resource (builder, "/org/gnome/gtranslator/ui/gtr-preferences-dialog.ui", root_objects, NULL); priv->notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook")); g_object_ref (priv->notebook); priv->warn_if_contains_fuzzy_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "warn_if_fuzzy_checkbutton")); priv->autosave_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "autosave_checkbutton")); priv->autosave_interval_spinbutton = GTK_WIDGET (gtk_builder_get_object (builder, "autosave_interval_spinbutton")); priv->autosave_grid = GTK_WIDGET (gtk_builder_get_object (builder, "autosave_grid")); priv->create_backup_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "create_backup_checkbutton")); priv->highlight_syntax_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "highlight_checkbutton")); priv->visible_whitespace_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "visible_whitespace_checkbutton")); priv->use_custom_font_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "use_custom_font_checkbutton")); priv->editor_font_fontbutton = GTK_WIDGET (gtk_builder_get_object (builder, "editor_font_fontbutton")); priv->editor_font_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "editor_font_hbox")); priv->unmark_fuzzy_when_changed_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "unmark_fuzzy_checkbutton")); priv->spellcheck_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "spellcheck_checkbutton")); priv->profile_treeview = GTK_WIDGET (gtk_builder_get_object (builder, "profile_treeview")); priv->add_button = GTK_WIDGET (gtk_builder_get_object (builder, "add-button")); priv->edit_button = GTK_WIDGET (gtk_builder_get_object (builder, "edit-button")); priv->delete_button = GTK_WIDGET (gtk_builder_get_object (builder, "delete-button")); profiles_toolbar = GTK_WIDGET (gtk_builder_get_object (builder, "profiles-toolbar")); profiles_scrolled_window = GTK_WIDGET (gtk_builder_get_object (builder, "profiles-scrolledwindow")); g_object_unref (builder); gtk_box_pack_start (content_area, priv->notebook, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (priv->notebook), 5); context = gtk_widget_get_style_context (profiles_scrolled_window); gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM); context = gtk_widget_get_style_context (profiles_toolbar); gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP); setup_files_pages (dlg); setup_editor_pages (dlg); setup_profile_pages (dlg); }
char *inputback(struct filetransfer *ft, enum ftinput type, const char *prompt, char *def) { /* if renaming and auto rename checked... */ if(type == FT_RENAME && #ifdef CFG_USE_RADIO gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_AutoRename)) #else gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(opt_AutoRename)) #endif ) return def; GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); GtkWidget *ent = gtk_entry_new(); GtkWidget *lbl = gtk_label_new(prompt); GtkWidget *hbx = gtk_hbox_new(FALSE, 0); GtkWidget *vbx = gtk_vbox_new(FALSE, 0); GtkWidget *btn = gtk_button_new(); int clicked = 0, winclosed = 0; (void)ft; gtk_entry_set_text(GTK_ENTRY(ent), def); gtk_button_set_label(GTK_BUTTON(btn), prompt); g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(widget_generic_callback), &clicked); g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(widget_generic_callback), &winclosed); gtk_container_add(GTK_CONTAINER(hbx), ent); gtk_container_add(GTK_CONTAINER(hbx), btn); gtk_container_add(GTK_CONTAINER(vbx), lbl); gtk_container_add(GTK_CONTAINER(vbx), hbx); gtk_container_add(GTK_CONTAINER(win), vbx); gtk_window_set_transient_for(GTK_WINDOW(win), GTK_WINDOW(winMain)); gtk_window_set_modal(GTK_WINDOW(win), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(win), TRUE); gtk_widget_show_all(win); /* don't test the widget - could be closed */ while(!winclosed && !clicked){ while(gtk_events_pending()) gtk_main_iteration(); sleep_ms(25); } if(clicked){ /* safe to access ent here - widget hasn't been destroyed */ const char *txt = gtk_entry_get_text(GTK_ENTRY(ent)); char *ret = malloc(strlen(txt) + 1); if(!ret) g_error("couldn't allocate %ld bytes", (long)(strlen(txt) + 1)); strcpy(ret, txt); gtk_widget_destroy(win); return ret; }else{ return NULL; } }
static void facq_log_window_constructed(GObject *self) { gchar *window_title = NULL; GtkWidget *window = NULL; GError *local_err = NULL; gchar *log_content = NULL; gsize log_size = 0; FacqLogWindow *log_window = FACQ_LOG_WINDOW(self); /* create a new #GIOChannel for reading the log file */ log_window->priv->log = g_io_channel_new_file(log_window->priv->filename,"r",&local_err); if(local_err) goto error; /* read the file to the end */ if( g_io_channel_read_to_end(log_window->priv->log, &log_content, &log_size, &local_err) != G_IO_STATUS_NORMAL ){ g_io_channel_unref(log_window->priv->log); log_window->priv->log = NULL; goto error; } /* set \n as line term */ g_io_channel_set_line_term(log_window->priv->log,"\n",-1); /* create the file monitor, first we create a #GFile. */ log_window->priv->file = g_file_new_for_path(log_window->priv->filename); log_window->priv->mon = g_file_monitor(log_window->priv->file, G_FILE_MONITOR_NONE, NULL, &local_err); /* create the text view and put the last lines, lines, in buffer */ log_window->priv->text_view = gtk_text_view_new(); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(log_window->priv->text_view), FALSE); gtk_text_view_set_justification(GTK_TEXT_VIEW(log_window->priv->text_view), GTK_JUSTIFY_LEFT); gtk_text_view_set_editable(GTK_TEXT_VIEW(log_window->priv->text_view), FALSE); facq_log_window_from_log_to_text_buffer(log_window,log_content); /* connect the file monitor with the callback function, every time the * file changes the callback will be called*/ g_signal_connect(log_window->priv->mon,"changed", G_CALLBACK(log_file_changed_callback),log_window); /* create a scrolled window and append the text view to it*/ window = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(window),GTK_SHADOW_NONE); log_window->priv->scrolled_window = window; gtk_container_add(GTK_CONTAINER(window),log_window->priv->text_view); /* Main log window, this window contains all the other components * and will have a title according to your main application window title */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); if(gtk_window_get_title(GTK_WINDOW(log_window->priv->top_window))) window_title = g_strdup_printf("%s Log", gtk_window_get_title(GTK_WINDOW(log_window->priv->top_window))); else window_title = g_strdup_printf("Log Window"); gtk_window_set_title(GTK_WINDOW(window),window_title); g_free(window_title); gtk_window_set_destroy_with_parent(GTK_WINDOW(window),TRUE); gtk_window_set_transient_for(GTK_WINDOW(window),GTK_WINDOW(log_window->priv->top_window)); gtk_container_add(GTK_CONTAINER(window),log_window->priv->scrolled_window); g_signal_connect(window,"delete-event", G_CALLBACK(delete_event),log_window); /* ready to go */ gtk_widget_show_all(window); log_window->priv->window = window; return; error: if(local_err) g_propagate_error(&log_window->priv->construct_error,local_err); return; }
int queryback(struct filetransfer *ft, enum ftquery qtype, const char *msg, ...) { GtkWidget *dialog, *label; va_list l; const char *iter, *percent; char *caption; int i = 0, formatargs = 0; (void)ft; switch(qtype){ case FT_FILE_EXISTS: /* * use radio buttons * query order is: * 0: Overwrite * 1: Resume * 2: Rename */ #ifdef CFG_USE_RADIO if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_Prompt))) break; else if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_Overwrite))) return 0; else if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_Resume))) return 1; else if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_AutoRename)) || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_ManRename )) ) return 2; #else if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(opt_Prompt))) break; else if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(opt_Overwrite))) return 0; else if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(opt_Resume))) return 1; else if( gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(opt_AutoRename)) || gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(opt_ManRename )) ) return 2; #endif /* should be unreachable */ break; case FT_CANT_OPEN: break; } va_start(l, msg); caption = g_strdup_vprintf(msg, l); va_end(l); /* needs reinitialising */ dialog = gtk_dialog_new(); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(winMain)); gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); gtk_window_set_skip_taskbar_hint(GTK_WINDOW(dialog), FALSE); label = gtk_label_new(caption); /*content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_container_add(GTK_CONTAINER(content_area), label);*/ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label); /* button time */ percent = msg-1; while(1) if((percent = strchr(percent+1, '%'))){ if(percent[1] != '%') formatargs++; }else break; /* walk forwards formatargs times, then we're at the button names */ va_start(l, msg); while(formatargs --> 0) va_arg(l, const char *); while((iter = va_arg(l, const char *))) gtk_dialog_add_button(GTK_DIALOG(dialog), iter, i++); va_end(l); gtk_widget_show(label); gtk_window_set_urgency_hint(GTK_WINDOW(dialog), TRUE); gtk_window_set_urgency_hint(GTK_WINDOW(winMain), TRUE); i = gtk_dialog_run(GTK_DIALOG(dialog)); g_free(caption); gtk_widget_destroy(dialog); return i; }
int l_zargni(int metka_rr, //0-ввод и корек. 1-выбор iceb_u_str *kod,iceb_u_str *naim,GtkWidget *wpredok) { l_zargni_data data; char bros[512]; GdkColor color; data.poisk.clear_data(); data.metka_rr=metka_rr; data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); //gtk_window_set_default_size (GTK_WINDOW (data.window),400,-1); //gdk_color_parse("black",&color); //gtk_widget_modify_bg(data.window,GTK_STATE_NORMAL,&color); sprintf(bros,"%s %s",name_system,gettext("Список городов налоговых инспекций")); gtk_window_set_title (GTK_WINDOW (data.window),bros); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); 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); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(l_zargni_key_press),&data); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift); GtkWidget *hbox = gtk_hbox_new (FALSE, 1); gtk_container_add (GTK_CONTAINER (data.window), hbox); GtkWidget *vbox1 = gtk_vbox_new (FALSE, 1); GtkWidget *vbox2 = gtk_vbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (hbox), vbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(hbox); data.label_kolstr=gtk_label_new (gettext("Список городов налоговых инспекций")); //gdk_color_parse("green",&color); //gtk_widget_modify_fg(data.label_kolstr,GTK_STATE_NORMAL,&color); gtk_box_pack_start (GTK_BOX (vbox2),data.label_kolstr,FALSE, FALSE, 0); gtk_widget_show(vbox1); gtk_widget_show(vbox2); data.label_poisk=gtk_label_new (""); gdk_color_parse("red",&color); gtk_widget_modify_fg(data.label_poisk,GTK_STATE_NORMAL,&color); gtk_box_pack_start (GTK_BOX (vbox2),data.label_poisk,FALSE, FALSE, 0); data.sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize(GTK_WIDGET(data.sw),400,300); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (data.sw),GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.sw),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); //gtk_box_pack_start (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); //Кнопки GtkTooltips *tooltips[KOL_F_KL]; sprintf(bros,"F2 %s",gettext("Запись")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK2], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(l_zargni_knopka),&data); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Ввод новой записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_widget_show(data.knopka[FK2]); sprintf(bros,"%sF2 %s",RFK,gettext("Корректировать")); data.knopka[SFK2]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK2],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(l_zargni_knopka),&data); tooltips[SFK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[SFK2],data.knopka[SFK2],gettext("Корректировка выбранной записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK2]),(gpointer)SFK2); gtk_widget_show(data.knopka[SFK2]); sprintf(bros,"F3 %s",gettext("Удалить")); data.knopka[FK3]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK3],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(l_zargni_knopka),&data); tooltips[FK3]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK3],data.knopka[FK3],gettext("Удаление выбранной записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); gtk_widget_show(data.knopka[FK3]); sprintf(bros,"%sF3 %s",RFK,gettext("Удалить")); data.knopka[SFK3]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK3],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK3]), "clicked",GTK_SIGNAL_FUNC(l_zargni_knopka),&data); tooltips[SFK3]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[SFK3],data.knopka[SFK3],gettext("Удалить неиспользуемые коды"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK3]),(gpointer)SFK3); gtk_widget_show(data.knopka[SFK3]); 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(l_zargni_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4],TRUE,TRUE, 0); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Поиск нужных записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_widget_show(data.knopka[FK4]); sprintf(bros,"F5 %s",gettext("Печать")); data.knopka[FK5]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK5],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(l_zargni_knopka),&data); tooltips[FK5]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK5],data.knopka[FK5],gettext("Распечатка записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5); gtk_widget_show(data.knopka[FK5]); sprintf(bros,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1),data.knopka[FK10],TRUE,TRUE, 0); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(l_zargni_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_show(data.knopka[FK10]); gtk_widget_realize(data.window); gdk_window_set_cursor(data.window->window,gdk_cursor_new(ICEB_CURSOR)); gtk_widget_grab_focus(data.knopka[FK10]); l_zargni_create_list(&data); gtk_widget_show(data.window); if(metka_rr == 0) gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_main(); if(data.metka_voz == 0) { kod->new_plus(data.kodv.ravno()); naim->new_plus(data.naimv.ravno()); } if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.metka_voz); }
void connection_dialog(gboolean auto_connect) { gint i; connecting = NULL; wait_for_tuner = FALSE; dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(dialog), "Connect"); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(ui.window)); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); g_signal_connect(dialog, "destroy", G_CALLBACK(connection_dialog_destroy), NULL); content = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog), content); r_serial = gtk_radio_button_new_with_label(NULL, "Serial port"); gtk_box_pack_start(GTK_BOX(content), r_serial, TRUE, TRUE, 2); c_serial = gtk_combo_box_text_new(); #ifdef G_OS_WIN32 gchar tmp[10]; for(i=1; i<=20; i++) { g_snprintf(tmp, sizeof(tmp), "COM%d", i); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(c_serial), tmp); if(g_ascii_strcasecmp(tmp, conf.serial) == 0) { gtk_combo_box_set_active(GTK_COMBO_BOX(c_serial), i-1); } } #else struct dirent *dir; DIR *d = opendir("/dev"); i=0; if(d) { while((dir = readdir(d))) { #ifdef __APPLE__ if(!strncmp(dir->d_name, "cu.usbserial", 12)) #else if(!strncmp(dir->d_name, "ttyUSB", 6) || !strncmp(dir->d_name, "ttyACM", 6) || !strncmp(dir->d_name, "ttyS", 4) || !strncmp(dir->d_name, "rfcomm", 6)) #endif { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(c_serial), dir->d_name); if(g_ascii_strcasecmp(dir->d_name, conf.serial) == 0) { gtk_combo_box_set_active(GTK_COMBO_BOX(c_serial), i); } i++; } } closedir(d); } #endif g_signal_connect(c_serial, "changed", G_CALLBACK(connection_dialog_select), r_serial); gtk_box_pack_start(GTK_BOX(content), c_serial, TRUE, TRUE, 0); r_tcp = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(r_serial), "TCP/IP"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(r_tcp), conf.network); gtk_box_pack_start(GTK_BOX(content), r_tcp, TRUE, TRUE, 2); box_tcp1 = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(content), box_tcp1); l_host = gtk_label_new("Host:"); gtk_box_pack_start(GTK_BOX(box_tcp1), l_host, TRUE, FALSE, 1); ls_host = gtk_list_store_new(1, G_TYPE_STRING); if(conf.host) { for(i=0; conf.host[i]; i++) { GtkTreeIter iter; gtk_list_store_append(ls_host, &iter); gtk_list_store_set(ls_host, &iter, 0, conf.host[i], -1); } } e_host = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(ls_host)); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(e_host), 0); gtk_combo_box_set_active(GTK_COMBO_BOX(e_host), 0); g_signal_connect(e_host, "changed", G_CALLBACK(connection_dialog_select), r_tcp); gtk_box_pack_start(GTK_BOX(box_tcp1), e_host, TRUE, FALSE, 1); l_port = gtk_label_new("Port:"); gtk_box_pack_start(GTK_BOX(box_tcp1), l_port, TRUE, FALSE, 1); e_port = gtk_entry_new_with_max_length(5); gtk_entry_set_width_chars(GTK_ENTRY(e_port), 5); gchar *s_port = g_strdup_printf("%d", conf.port); gtk_entry_set_text(GTK_ENTRY(e_port), s_port); g_free(s_port); g_signal_connect(e_port, "changed", G_CALLBACK(connection_dialog_select), r_tcp); gtk_box_pack_start(GTK_BOX(box_tcp1), e_port, TRUE, FALSE, 1); box_tcp2 = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(content), box_tcp2); l_password = gtk_label_new("Password:"******"changed", G_CALLBACK(connection_dialog_select), r_tcp); gtk_box_pack_start(GTK_BOX(box_tcp2), e_password, TRUE, TRUE, 1); c_password = gtk_check_button_new_with_label("Keep"); if(conf.password && strlen(conf.password)) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(c_password), TRUE); } g_signal_connect(c_password, "toggled", G_CALLBACK(connection_dialog_select), r_tcp); gtk_box_pack_start(GTK_BOX(box_tcp2), c_password, FALSE, FALSE, 1); box_status_wrapper = gtk_hbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(content), box_status_wrapper, FALSE, FALSE, 1); box_status = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(box_status_wrapper), box_status, FALSE, FALSE, 1); spinner = gtk_spinner_new(); gtk_box_pack_start(GTK_BOX(box_status), spinner, FALSE, FALSE, 1); l_status = gtk_label_new(NULL); gtk_box_pack_start(GTK_BOX(box_status), l_status, FALSE, FALSE, 1); box_button = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(box_button), GTK_BUTTONBOX_END); gtk_box_set_spacing(GTK_BOX(box_button), 5); gtk_box_pack_start(GTK_BOX(content), box_button, FALSE, FALSE, 5); b_connect = gtk_button_new_from_stock(GTK_STOCK_OK); g_signal_connect(dialog, "key-press-event", G_CALLBACK(connection_dialog_key), b_connect); g_signal_connect(b_connect, "clicked", G_CALLBACK(connection_dialog_connect), NULL); gtk_container_add(GTK_CONTAINER(box_button), b_connect); b_cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL); g_signal_connect_swapped(b_cancel, "clicked", G_CALLBACK(gtk_widget_destroy), dialog); gtk_container_add(GTK_CONTAINER(box_button), b_cancel); #ifdef G_OS_WIN32 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ui.b_ontop))) { gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); } #endif gtk_widget_show_all(dialog); gtk_widget_hide(spinner); gtk_widget_hide(l_status); connect_button(FALSE); if(auto_connect || (conf.auto_reconnect && successfully_connected)) { gtk_button_clicked(GTK_BUTTON(b_connect)); } }
char * _gtk_request_dialog_run (GtkWindow *parent, GtkDialogFlags flags, const char *title, const char *message, const char *default_value, int max_length, const gchar *no_button_text, const gchar *yes_button_text) { GtkBuilder *builder; GtkWidget *dialog; GtkWidget *label; GtkWidget *entry; GtkWidget *content_area; GtkWidget *request_box; char *result; builder = _gtk_builder_new_from_resource ("request-dialog.ui"); request_box = _gtk_builder_get_widget (builder, "request_box"); dialog = g_object_new (GTK_TYPE_DIALOG, "transient-for", parent, "modal", flags & GTK_DIALOG_MODAL, "use-header-bar", _gtk_settings_get_dialogs_use_header (), NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), (flags & GTK_DIALOG_DESTROY_WITH_PARENT)); gtk_window_set_title (GTK_WINDOW (dialog), title); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); gtk_container_add (GTK_CONTAINER (content_area), request_box); g_object_weak_ref (G_OBJECT (request_box), (GWeakNotify) g_object_unref, builder); if (flags & GTK_DIALOG_MODAL) _gtk_dialog_add_to_window_group (GTK_DIALOG (dialog)); label = _gtk_builder_get_widget (builder, "message_label"); gtk_label_set_text_with_mnemonic (GTK_LABEL (label), message); entry = _gtk_builder_get_widget (builder, "value_entry"); gtk_entry_set_max_length (GTK_ENTRY (entry), max_length); gtk_entry_set_text (GTK_ENTRY (entry), default_value); /* Add buttons */ gtk_dialog_add_action_widget (GTK_DIALOG (dialog), create_button (no_button_text), GTK_RESPONSE_CANCEL); gtk_dialog_add_action_widget (GTK_DIALOG (dialog), create_button (yes_button_text), GTK_RESPONSE_YES); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES); /* Run dialog */ gtk_widget_grab_focus (entry); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_YES) result = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry))); else result = NULL; gtk_widget_destroy (dialog); return result; }
int l_vmat(int *kodv,//выбранный код int kodgr, //Код группы для которой ищем записи int metkarr, //0-работа со списком товаров 1-списком услуг GtkWidget *wpredok) { vmat_data data; char strsql[300]; //GdkColor color; SQLCURSOR cur; SQL_str row; printf("l_vmat %d\n",kodgr); data.kodgr=kodgr; data.metkarr=metkarr; if(metkarr == 0) sprintf(strsql,"select naik from Grup where kod=%d",kodgr); if(metkarr == 1) sprintf(strsql,"select naik from Uslgrup where kod=%d",kodgr); if(sql_readkey(&bd,strsql,&row,&cur) == 1) data.naigr.new_plus(row[0]); data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); gtk_window_set_default_size (GTK_WINDOW (data.window),600,600); //gdk_color_parse("black",&color); //gtk_widget_modify_bg(data.window,GTK_STATE_NORMAL,&color); if(metkarr == 0) sprintf(strsql,"%s %s",name_system,gettext("Список товаров")); if(metkarr == 1) sprintf(strsql,"%s %s",name_system,gettext("Список услуг")); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); 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); if(wpredok != NULL) { //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(vmat_key_press),&data); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift); GtkWidget *hbox = gtk_hbox_new (FALSE, 1); gtk_container_add (GTK_CONTAINER (data.window), hbox); GtkWidget *vbox1 = gtk_vbox_new (FALSE, 1); GtkWidget *vbox2 = gtk_vbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (hbox), vbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(hbox); data.label_kolstr=gtk_label_new (gettext("Выберите нужную запись")); //gdk_color_parse("green",&color); //gtk_widget_modify_fg(data.label_kolstr,GTK_STATE_NORMAL,&color); gtk_box_pack_start (GTK_BOX (vbox2),data.label_kolstr,FALSE, FALSE, 0); gtk_widget_show(vbox1); gtk_widget_show(vbox2); data.sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize(GTK_WIDGET(data.sw),400,300); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (data.sw),GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.sw),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); //gtk_box_pack_start (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); //Кнопки GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Выбор")); data.knopka[FK2]=gtk_button_new_with_label(strsql); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK2], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(vmat_knopka),&data); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Выбор отмеченной записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_widget_show(data.knopka[FK2]); GtkWidget *arrow=gtk_arrow_new(GTK_ARROW_UP,GTK_SHADOW_OUT); //sprintf(strsql,"%s",gettext("Вверх")); //data.knopka[FK_VVERH]=gtk_button_new_with_label(strsql); data.knopka[FK_VVERH]=gtk_button_new(); gtk_container_add(GTK_CONTAINER(data.knopka[FK_VVERH]),arrow); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK_VVERH], TRUE, TRUE, 0); //gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VVERH]), "clicked",GTK_SIGNAL_FUNC(vmat_knopka),&data); gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VVERH]), "pressed",GTK_SIGNAL_FUNC(l_vmat_knopka_vverh_press),&data); gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VVERH]), "released",GTK_SIGNAL_FUNC(l_vmat_knopka_released),&data); //tooltips[FK_VVERH]=gtk_tooltips_new(); //gtk_tooltips_set_tip(tooltips[FK_VVERH],data.knopka[FK_VVERH],gettext("Выбор отмеченной записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK_VVERH]),(gpointer)FK_VVERH); gtk_widget_show(data.knopka[FK_VVERH]); gtk_widget_show(arrow); arrow=gtk_arrow_new(GTK_ARROW_DOWN,GTK_SHADOW_OUT); //sprintf(strsql,"%s",gettext("Вниз")); //data.knopka[FK_VNIZ]=gtk_button_new_with_label(strsql); data.knopka[FK_VNIZ]=gtk_button_new(); gtk_container_add(GTK_CONTAINER(data.knopka[FK_VNIZ]),arrow); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK_VNIZ], TRUE, TRUE, 0); //gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VNIZ]), "clicked",GTK_SIGNAL_FUNC(vmat_knopka),&data); gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VNIZ]), "pressed",GTK_SIGNAL_FUNC(l_vmat_knopka_vniz_press),&data); gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VNIZ]), "released",GTK_SIGNAL_FUNC(l_vmat_knopka_released),&data); //tooltips[FK_VNIZ]=gtk_tooltips_new(); //gtk_tooltips_set_tip(tooltips[FK_VNIZ],data.knopka[FK_VNIZ],gettext("Выбор отмеченной записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK_VNIZ]),(gpointer)FK_VNIZ); gtk_widget_show(data.knopka[FK_VNIZ]); gtk_widget_show(arrow); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); gtk_box_pack_start(GTK_BOX(vbox1),data.knopka[FK10],TRUE,TRUE, 0); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(vmat_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_show(data.knopka[FK10]); gtk_widget_realize(data.window); gdk_window_set_cursor(data.window->window,gdk_cursor_new(ICEB_CURSOR)); gtk_widget_grab_focus(data.knopka[FK10]); vmat_create_list (&data); //gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_widget_show(data.window); gtk_main(); printf("l_vmat end\n"); *kodv=atoi(data.kod.ravno()); return(data.voz); }
static void mateconf_bookmarks_dialog_init (MateConfBookmarksDialog *dialog) { GtkWidget *scrolled_window, *hbox, *vbox; GtkWidget *content_area; GtkCellRenderer *cell; GtkTreeViewColumn *column; MateConfClient *client; hbox = gtk_hbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); gtk_container_set_border_width (GTK_CONTAINER (dialog), 5); gtk_box_set_spacing (GTK_BOX (content_area), 2); gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); gtk_window_set_default_size (GTK_WINDOW (dialog), 300, 200); gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); gtk_window_set_title (GTK_WINDOW (dialog), _("Edit Bookmarks")); dialog->list_store = gtk_list_store_new (1, G_TYPE_STRING); g_signal_connect (dialog->list_store, "row_deleted", G_CALLBACK (mateconf_bookmarks_dialog_row_deleted), dialog); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_box_pack_start (GTK_BOX (hbox), scrolled_window, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); dialog->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (dialog->list_store)); gtk_tree_view_set_reorderable (GTK_TREE_VIEW (dialog->tree_view), TRUE); g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->tree_view)), "changed", G_CALLBACK (mateconf_bookmarks_dialog_selection_changed), dialog); mateconf_bookmarks_dialog_populate_model (dialog); column = gtk_tree_view_column_new (); cell = gtk_cell_renderer_pixbuf_new (); g_object_set (G_OBJECT (cell), "stock-id", STOCK_BOOKMARK, NULL); gtk_tree_view_column_pack_start (column, cell, FALSE); cell = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start (column, cell, TRUE); gtk_tree_view_column_set_attributes (column, cell, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->tree_view), column); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (dialog->tree_view), FALSE); g_object_unref (dialog->list_store); gtk_container_add (GTK_CONTAINER (scrolled_window), dialog->tree_view); vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); dialog->delete_button = gtk_button_new_from_stock (GTK_STOCK_DELETE); gtk_widget_set_sensitive (dialog->delete_button, FALSE); g_signal_connect (dialog->delete_button, "clicked", G_CALLBACK (mateconf_bookmarks_dialog_delete_bookmark), dialog); gtk_box_pack_start (GTK_BOX (vbox), dialog->delete_button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); gtk_widget_show_all (hbox); /* Listen for mateconf changes */ client = mateconf_client_get_default (); mateconf_client_add_dir (client, BOOKMARKS_KEY, MATECONF_CLIENT_PRELOAD_NONE, NULL); dialog->notify_id = mateconf_client_notify_add (client, BOOKMARKS_KEY, mateconf_bookmarks_dialog_bookmarks_key_changed, dialog, NULL, NULL); g_object_unref (client); }
static void xfburn_copy_dvd_dialog_init (XfburnCopyDvdDialog * obj) { XfburnCopyDvdDialogPrivate *priv = XFBURN_COPY_DVD_DIALOG_GET_PRIVATE (obj); GtkBox *box = GTK_BOX (GTK_DIALOG (obj)->vbox); GtkWidget *img; GdkPixbuf *icon = NULL; GtkWidget *frame; GtkWidget *vbox; GtkWidget *align; GtkWidget *button; gchar *default_path, *tmp_dir; gtk_window_set_title (GTK_WINDOW (obj), _("Copy data DVD")); gtk_window_set_destroy_with_parent (GTK_WINDOW (obj), TRUE); icon = gtk_widget_render_icon (GTK_WIDGET (obj), XFBURN_STOCK_DATA_COPY, GTK_ICON_SIZE_DIALOG, NULL); gtk_window_set_icon (GTK_WINDOW (obj), icon); g_object_unref (icon); /* reader devices list */ priv->device_box_src = xfburn_device_box_new (SHOW_DVD_READERS); gtk_widget_show (priv->device_box_src); frame = xfce_create_framebox_with_content (_("DVD Reader device"), priv->device_box_src); gtk_widget_show (frame); gtk_box_pack_start (box, frame, FALSE, FALSE, BORDER); /* burning devices list */ priv->device_box_dest = xfburn_device_box_new (SHOW_DVD_WRITERS | SHOW_SPEED_SELECTION); gtk_widget_show (priv->device_box_dest); priv->frame_burn = xfce_create_framebox_with_content (_("Burning device"), priv->device_box_dest); gtk_widget_show (priv->frame_burn); gtk_box_pack_start (box, priv->frame_burn, FALSE, FALSE, BORDER); /* options */ vbox = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox); frame = xfce_create_framebox_with_content (_("Options"), vbox); gtk_widget_show (frame); gtk_box_pack_start (box, frame, FALSE, FALSE, BORDER); priv->check_eject = gtk_check_button_new_with_mnemonic (_("E_ject disk")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->check_eject), TRUE); gtk_widget_show (priv->check_eject); gtk_box_pack_start (GTK_BOX (vbox), priv->check_eject, FALSE, FALSE, BORDER); priv->check_dummy = gtk_check_button_new_with_mnemonic (_("_Dummy write")); gtk_widget_show (priv->check_dummy); gtk_box_pack_start (GTK_BOX (vbox), priv->check_dummy, FALSE, FALSE, BORDER); priv->check_onthefly = gtk_check_button_new_with_mnemonic (_("On the _fly")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->check_onthefly), TRUE); gtk_widget_show (priv->check_onthefly); gtk_box_pack_start (GTK_BOX (vbox), priv->check_onthefly, FALSE, FALSE, BORDER); priv->check_only_iso = gtk_check_button_new_with_mnemonic (_("Only create _ISO")); gtk_widget_show (priv->check_only_iso); gtk_box_pack_start (GTK_BOX (vbox), priv->check_only_iso, FALSE, FALSE, BORDER); g_signal_connect (G_OBJECT (priv->check_only_iso), "toggled", G_CALLBACK (cb_check_only_iso_toggled), obj); align = gtk_alignment_new (0, 0, 0, 0); gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, BORDER * 4, 0); gtk_widget_show (align); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); priv->hbox_iso = gtk_hbox_new (FALSE, 0); gtk_widget_show (priv->hbox_iso); gtk_container_add (GTK_CONTAINER (align), priv->hbox_iso); gtk_widget_set_sensitive (priv->hbox_iso, FALSE); priv->entry_path_iso = gtk_entry_new (); gtk_widget_show (priv->entry_path_iso); tmp_dir = xfburn_settings_get_string ("temporary-dir", "/tmp"); default_path = g_build_filename (tmp_dir, "xfburn.iso", NULL); gtk_entry_set_text (GTK_ENTRY (priv->entry_path_iso), default_path); g_free (default_path); g_free (tmp_dir); gtk_box_pack_start (GTK_BOX (priv->hbox_iso), priv->entry_path_iso, FALSE, FALSE, 0); img = gtk_image_new_from_stock (GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_widget_show (img); button = gtk_button_new (); gtk_container_add (GTK_CONTAINER (button), img); gtk_widget_show (button); gtk_box_pack_start (GTK_BOX (priv->hbox_iso), button, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (cb_browse_iso), obj); /* action buttons */ button = gtk_button_new_from_stock (GTK_STOCK_CANCEL); gtk_widget_show (button); gtk_dialog_add_action_widget (GTK_DIALOG (obj), button, GTK_RESPONSE_CANCEL); button = xfce_create_mixed_button ("xfburn-data-copy", _("_Copy DVD")); gtk_widget_show (button); gtk_dialog_add_action_widget (GTK_DIALOG (obj), button, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); gtk_widget_grab_focus (button); gtk_widget_grab_default (button); g_signal_connect (G_OBJECT (priv->device_box_src), "device-changed", G_CALLBACK (cb_device_changed), priv); g_signal_connect (G_OBJECT (priv->device_box_dest), "device-changed", G_CALLBACK (cb_device_changed), priv); /* check if the selected devices are the same */ cb_device_changed (XFBURN_DEVICE_BOX (priv->device_box_dest), NULL, priv); g_signal_connect (G_OBJECT (obj), "response", G_CALLBACK (cb_dialog_response), priv); }
int l_uosgrnu_p(class l_uosgrnu_rek *rek_poi,GtkWidget *wpredok) { class l_uosgrnu_p_data data; char strsql[512]; data.rk=rek_poi; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,gettext("Поиск")); gtk_window_set_title(GTK_WINDOW(data.window),strsql); 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(l_uosgrnu_p_key_press),&data); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); GtkWidget *label=gtk_label_new(gettext("Код")); data.entry[E_KOD] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), data.entry[E_KOD], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD]), "activate",GTK_SIGNAL_FUNC(l_uosgrnu_p_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD]),data.rk->kod.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD]),(gpointer)E_KOD); label=gtk_label_new(gettext("Наименование")); data.entry[E_NAIM] = gtk_entry_new_with_max_length (80); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), data.entry[E_NAIM], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_NAIM]), "activate",GTK_SIGNAL_FUNC(l_uosgrnu_p_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_NAIM]),data.rk->naim.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NAIM]),(gpointer)E_NAIM); GtkTooltips *tooltips[KOL_PFK]; sprintf(strsql,"F2 %s",gettext("Поиск")); data.knopka[PFK2]=gtk_button_new_with_label(strsql); tooltips[PFK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[PFK2],data.knopka[PFK2],gettext("Начать поиск нужных записей"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[PFK2]),"clicked",GTK_SIGNAL_FUNC(l_uosgrnu_p_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[PFK2]),(gpointer)PFK2); sprintf(strsql,"F4 %s",gettext("Очистить")); data.knopka[PFK4]=gtk_button_new_with_label(strsql); tooltips[PFK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[PFK4],data.knopka[PFK4],gettext("Очистить меню от введеноой информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[PFK4]),"clicked",GTK_SIGNAL_FUNC(l_uosgrnu_p_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[PFK4]),(gpointer)PFK4); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[PFK10]=gtk_button_new_with_label(strsql); tooltips[PFK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[PFK10],data.knopka[PFK10],gettext("Поиск не выполнять"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[PFK10]),"clicked",GTK_SIGNAL_FUNC(l_uosgrnu_p_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[PFK10]),(gpointer)PFK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[PFK2], TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[PFK4], TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[PFK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); return(data.voz); }
static void games_scores_dialog_init (GamesScoresDialog *self) { GtkWidget *vbox; GtkWidget *scroll; GtkWidget *listview; GtkTreeViewColumn *column; GtkTreeViewColumn *timecolumn; GtkCellRenderer *renderer; GtkCellRenderer *timerenderer; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GAMES_TYPE_SCORES_DIALOG, GamesScoresDialogPrivate); self->priv->style = GAMES_SCORES_STYLE_PLAIN_DESCENDING; /* These two hashes are the reverse of each other. As an optimisation * they share the same set of strings (as keys in the first case and * as data in the second). The first hash is responsible for * deallocating the memory for the strings. These two are only * valid as a pair. */ self->priv->categories = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); self->priv->catindices = g_hash_table_new (g_direct_hash, g_direct_equal); self->priv->catcounter = 0; self->priv->hilight = 0; gtk_container_set_border_width (GTK_CONTAINER (self), 5); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 2); g_signal_connect (G_OBJECT (self), "show", G_CALLBACK (games_scores_dialog_show), NULL); g_signal_connect (G_OBJECT (self), "hide", G_CALLBACK (games_scores_dialog_hide), NULL); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_box_pack_end (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), vbox, TRUE, TRUE, 0); scroll = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_size_request (scroll, 200, 265); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_ETCHED_IN); gtk_box_pack_end (GTK_BOX (vbox), scroll, TRUE, TRUE, 0); self->priv->message = gtk_label_new (""); gtk_label_set_use_markup (GTK_LABEL (self->priv->message), TRUE); gtk_label_set_justify (GTK_LABEL (self->priv->message), GTK_JUSTIFY_CENTER); gtk_box_pack_start (GTK_BOX (vbox), self->priv->message, FALSE, FALSE, 0); self->priv->hdiv = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), self->priv->hdiv, FALSE, FALSE, 0); self->priv->catbar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox), self->priv->catbar, FALSE, FALSE, 0); self->priv->label = gtk_label_new (NULL); gtk_label_set_use_markup (GTK_LABEL (self->priv->label), TRUE); gtk_box_pack_start (GTK_BOX (self->priv->catbar), self->priv->label, FALSE, FALSE, 0); self->priv->combo = gtk_combo_box_text_new (); gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (self->priv->combo), FALSE); gtk_box_pack_start (GTK_BOX (self->priv->catbar), self->priv->combo, TRUE, TRUE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (self->priv->label), self->priv->combo); g_signal_connect (G_OBJECT (self->priv->combo), "changed", G_CALLBACK (games_scores_dialog_change_category), self); self->priv->list = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); listview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (self->priv->list)); self->priv->treeview = GTK_TREE_VIEW (listview); timerenderer = gtk_cell_renderer_text_new (); timecolumn = gtk_tree_view_column_new_with_attributes (/* Score dialog column header for the date the score was recorded */ _("Date"), timerenderer, "text", 0, NULL); g_object_set (G_OBJECT (timerenderer), "xalign", 1.0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (listview), GTK_TREE_VIEW_COLUMN (timecolumn)); self->priv->timecolumn = timecolumn; renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("", renderer, "text", 1, NULL); g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (listview), GTK_TREE_VIEW_COLUMN (column)); self->priv->column = column; gtk_container_add (GTK_CONTAINER (scroll), listview); games_scores_dialog_set_buttons (self, GAMES_SCORES_CLOSE_BUTTON); gtk_window_set_destroy_with_parent (GTK_WINDOW (self), TRUE); gtk_widget_grab_focus (self->priv->combo); gtk_widget_show_all (vbox); gtk_widget_hide (self->priv->hdiv); gtk_widget_hide (self->priv->message); }
int l_klientr_bl(class iceb_u_str *databl,class iceb_u_str *grupa,GtkWidget *wpredok) { char strsql[500]; class l_klientr_bl_data data; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); 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(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_widget_destroyed),&data.window); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(l_klientr_bl_key_press),&data); if(wpredok->window != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } GtkWidget *label; sprintf(strsql,"%s",gettext("Блокировка карточек, по которым не было входов/выходов начиная с заданной даты")); label=gtk_label_new(iceb_u_toutf(strsql)); sprintf(strsql,"%s %s",name_system,gettext("Блокировка неактивных карточек")); gtk_window_set_title(GTK_WINDOW(data.window),strsql); GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[G_KOLENTER+1]; for(int i=0 ; i < G_KOLENTER+1; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0 ; i < G_KOLENTER+1; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); GtkTooltips *tooltips_enter[G_KOLENTER]; sprintf(strsql,"%s",gettext("Дата")); data.knopka_enter[E_DATABL]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATABL]), data.knopka_enter[E_DATABL], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATABL]),"clicked",GTK_SIGNAL_FUNC(l_klientr_bl_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATABL]),(gpointer)E_DATABL); tooltips_enter[E_DATABL]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATABL],data.knopka_enter[E_DATABL],gettext("Выбор даты"),NULL); data.entry[E_DATABL] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATABL]), data.entry[E_DATABL], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATABL]), "activate",GTK_SIGNAL_FUNC(l_klientr_bl_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATABL]),data.databl.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATABL]),(gpointer)E_DATABL); sprintf(strsql,"%s (,,)",gettext("Коды групп, карточки которых блокировать ненадо")); data.knopka_enter[E_KODGR]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_KODGR]), data.knopka_enter[E_KODGR], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KODGR]),"clicked",GTK_SIGNAL_FUNC(l_klientr_bl_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KODGR]),(gpointer)E_KODGR); tooltips_enter[E_KODGR]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KODGR],data.knopka_enter[E_KODGR],gettext("Выбор группы"),NULL); data.entry[E_KODGR] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_KODGR]), data.entry[E_KODGR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KODGR]), "activate",GTK_SIGNAL_FUNC(l_klientr_bl_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KODGR]),data.kodgr.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KODGR]),(gpointer)E_KODGR); GtkTooltips *tooltips[G_KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Блокировка")); data.knopka[GFK2]=gtk_button_new_with_label(strsql); tooltips[GFK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[GFK2],data.knopka[GFK2],gettext("Начать блокировку"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[GFK2]),"clicked",GTK_SIGNAL_FUNC(l_klientr_bl_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[GFK2]),(gpointer)GFK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[GFK2], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[GFK10]=gtk_button_new_with_label(strsql); tooltips[GFK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[GFK10],data.knopka[GFK10],gettext("Завершение работы с меню"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[GFK10]),"clicked",GTK_SIGNAL_FUNC(l_klientr_bl_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[GFK10]),(gpointer)GFK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[GFK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(wpredok->window != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); if(data.voz == 0) { databl->new_plus(data.databl.ravno()); grupa->new_plus(data.kodgr.ravno()); } return(data.voz); }
/** * gimp_display_shell_scale_dialog: * @shell: the #GimpDisplayShell * * Constructs and displays a dialog allowing the user to enter a * custom display scale. **/ void gimp_display_shell_scale_dialog (GimpDisplayShell *shell) { ScaleDialogData *data; GimpImage *image; GtkWidget *toplevel; GtkWidget *hbox; GtkWidget *table; GtkWidget *spin; GtkWidget *label; gint num, denom, row; g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); if (shell->scale_dialog) { gtk_window_present (GTK_WINDOW (shell->scale_dialog)); return; } if (SCALE_EQUALS (shell->other_scale, 0.0)) { /* other_scale not yet initialized */ shell->other_scale = gimp_zoom_model_get_factor (shell->zoom); } image = gimp_display_get_image (shell->display); data = g_slice_new (ScaleDialogData); data->shell = shell; data->model = g_object_new (GIMP_TYPE_ZOOM_MODEL, "value", fabs (shell->other_scale), NULL); shell->scale_dialog = gimp_viewable_dialog_new (GIMP_VIEWABLE (image), gimp_get_user_context (shell->display->gimp), _("Zoom Ratio"), "display_scale", GTK_STOCK_ZOOM_100, _("Select Zoom Ratio"), GTK_WIDGET (shell), gimp_standard_help_func, GIMP_HELP_VIEW_ZOOM_OTHER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_alternative_button_order (GTK_DIALOG (shell->scale_dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); g_object_weak_ref (G_OBJECT (shell->scale_dialog), (GWeakNotify) gimp_display_shell_scale_dialog_free, data); g_object_weak_ref (G_OBJECT (shell->scale_dialog), (GWeakNotify) g_object_unref, data->model); g_object_add_weak_pointer (G_OBJECT (shell->scale_dialog), (gpointer) &shell->scale_dialog); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (shell)); gtk_window_set_transient_for (GTK_WINDOW (shell->scale_dialog), GTK_WINDOW (toplevel)); gtk_window_set_destroy_with_parent (GTK_WINDOW (shell->scale_dialog), TRUE); g_signal_connect (shell->scale_dialog, "response", G_CALLBACK (gimp_display_shell_scale_dialog_response), data); table = gtk_table_new (2, 2, FALSE); gtk_container_set_border_width (GTK_CONTAINER (table), 12); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (shell->scale_dialog))), table, TRUE, TRUE, 0); gtk_widget_show (table); row = 0; hbox = gtk_hbox_new (FALSE, 6); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Zoom ratio:"), 0.0, 0.5, hbox, 1, FALSE); gimp_zoom_model_get_fraction (data->model, &num, &denom); spin = gimp_spin_button_new ((GtkObject **) &data->num_adj, num, 1, 256, 1, 8, 0, 1, 0); gtk_entry_set_activates_default (GTK_ENTRY (spin), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spin, TRUE, TRUE, 0); gtk_widget_show (spin); label = gtk_label_new (":"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); spin = gimp_spin_button_new ((GtkObject **) &data->denom_adj, denom, 1, 256, 1, 8, 0, 1, 0); gtk_entry_set_activates_default (GTK_ENTRY (spin), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spin, TRUE, TRUE, 0); gtk_widget_show (spin); hbox = gtk_hbox_new (FALSE, 6); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Zoom:"), 0.0, 0.5, hbox, 1, FALSE); spin = gimp_spin_button_new ((GtkObject **) &data->scale_adj, fabs (shell->other_scale) * 100, 100.0 / 256.0, 25600.0, 10, 50, 0, 1, 2); gtk_entry_set_activates_default (GTK_ENTRY (spin), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spin, TRUE, TRUE, 0); gtk_widget_show (spin); label = gtk_label_new ("%"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); g_signal_connect (data->scale_adj, "value-changed", G_CALLBACK (update_zoom_values), data); g_signal_connect (data->num_adj, "value-changed", G_CALLBACK (update_zoom_values), data); g_signal_connect (data->denom_adj, "value-changed", G_CALLBACK (update_zoom_values), data); gtk_widget_show (shell->scale_dialog); }