int rest_oth_r(class rest_oth_data *datap) { printf("rest_oth_r-Начало работы\n"); iceb_u_str soob; char strsql[300]; rest_oth_r_data data; data.rk=datap; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); 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(rest_oth_r_key_press),&data); 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); soob.new_plus(strsql); sprintf(strsql,"%s %s %s => %s %s",gettext("Расчет за период"), data.rk->datan.ravno(), data.rk->vremn.ravno_time(), data.rk->datak.ravno(), data.rk->vremk.ravno_time_end()); soob.new_plus(strsql); GtkWidget *label=gtk_label_new(soob.ravno_toutf()); 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),400,300); gtk_text_view_set_editable(GTK_TEXT_VIEW(data.view),FALSE); //Запрет на редактирование текста PangoFontDescription *font_pango=pango_font_description_from_string("Nimbus Mono L, Bold 10"); 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(rest_oth_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_idle_add((GtkFunction)rest_oth_r1,&data); gtk_main(); //if(data.voz == 0) // iceb_rabfil(&data.imaf,&data.naim,"",config_dev.metka_klav,NULL); return(data.voz); }
int l_zargni_v(class iceb_u_str *kod_uder,GtkWidget *wpredok) { class l_zargni_v_data data; char strsql[512]; iceb_u_str kikz; data.kod_uder.new_plus(kod_uder->ravno()); data.rk.clear_data(); if(data.kod_uder.getdlinna() > 1) { data.rk.kod.new_plus(data.kod_uder.ravno()); sprintf(strsql,"select * from Gnali where kod=%s",data.kod_uder.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]); data.rk.kontr.new_plus(row[2]); kikz.plus(iceb_kikz(row[3],row[4],wpredok)); } else { sprintf(strsql,"%d",iceb_get_new_kod("Gnali",0,wpredok)); data.rk.kod.new_plus(strsql); } 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_uder.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_zargni_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); 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); GtkTooltips *tooltips_enter[KOLENTER]; label=gtk_label_new(gettext("Код")); data.entry[E_KOD] = gtk_entry_new_with_max_length (4); 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_zargni_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("Наименование")); data.entry[E_NAIM] = gtk_entry_new_with_max_length (60); 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_zargni_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); sprintf(strsql,"%s",gettext("Код контрагента")); data.knopka_enter[E_KONTR]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_KONTR]), data.knopka_enter[E_KONTR], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KONTR]),"clicked",GTK_SIGNAL_FUNC(l_zargni_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KONTR]),(gpointer)E_KONTR); tooltips_enter[E_KONTR]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KONTR],data.knopka_enter[E_KONTR],gettext("Выбор контрагента"),NULL); data.entry[E_KONTR] = gtk_entry_new_with_max_length(20); gtk_box_pack_start (GTK_BOX (hbox[E_KONTR]), data.entry[E_KONTR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KONTR]), "activate",GTK_SIGNAL_FUNC(l_zargni_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KONTR]),data.rk.kontr.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KONTR]),(gpointer)E_KONTR); 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_zargni_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[PFK2]),(gpointer)PFK2); 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_zargni_v_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[PFK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[1]); gtk_widget_show_all (data.window); gtk_main(); if(data.voz == 0) kod_uder->new_plus(data.rk.kod.ravno()); return(data.voz); }
int l_upldok(const char *data_dok, //Дата документа const char *nomd, //Номер документа const char *kod_pod, /*код подразделения*/ GtkWidget *wpredok) { class upldok_data data; iceb_u_str string; char bros[500]; data.data_dok.new_plus(data_dok); data.nomd.plus(nomd); data.kod_pod.plus(kod_pod); /*Читаем реквизиты документа*/ l_upldok_read_rhd(&data,wpredok); /*Читаем после чтения реквизитов документов*/ data.kolih_ost=ostvaw(data.data_dok.ravno(),data.kod_vod.ravno(),data.kod_avt.ravno(),data.nz.ravno_atoi(),&data.kod_top_ost,&data.kolih_top_ost,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); //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(upldok_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); GtkWidget *hbox_hap = 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,1); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE,1); gtk_widget_show(hbox); data.label_rek_dok=gtk_label_new (data.hapka.ravno_toutf()); //gtk_box_pack_start (GTK_BOX (vbox2),data.label_rek_dok,FALSE, FALSE,1); gtk_box_pack_start (GTK_BOX (vbox2),hbox_hap,FALSE, FALSE,1); gtk_box_pack_start (GTK_BOX (hbox_hap),data.label_rek_dok,FALSE, FALSE,1); class iceb_u_str spis_top_ost; spis_top_ost.plus(gettext("Остаток топлива")); spis_top_ost.plus(":\n"); for(int ii=0; ii < data.kod_top_ost.kolih(); ii++) { sprintf(bros,"%6s:%10.3f\n",data.kod_top_ost.ravno(ii),data.kolih_top_ost.ravno(ii)); spis_top_ost.plus(bros); } GtkWidget *label=NULL; label=gtk_label_new(spis_top_ost.ravno_toutf()); gtk_box_pack_end (GTK_BOX (hbox_hap),label,FALSE, FALSE,1); gtk_widget_show_all(hbox_hap); data.label_red=gtk_label_new (""); gtk_box_pack_start (GTK_BOX (vbox2),data.label_red,FALSE, FALSE,1); GdkColor color; gdk_color_parse("red",&color); gtk_widget_modify_fg(data.label_red,GTK_STATE_NORMAL,&color); gtk_widget_show(vbox1); gtk_widget_show(vbox2); data.sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize(GTK_WIDGET(data.sw),-1,200); 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,1); gtk_box_pack_end (GTK_BOX (vbox2), data.sw, TRUE, TRUE,1); //Кнопки GtkTooltips *tooltips[KOL_F_KL]; sprintf(bros,"%sF1 %s",RFK,gettext("Шапка")); data.knopka[SFK1]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK1]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK1],TRUE,TRUE,1); tooltips[SFK1]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[SFK1],data.knopka[SFK1],gettext("Просмотр шапки документа"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK1]),(gpointer)SFK1); gtk_widget_show(data.knopka[SFK1]); sprintf(bros,"F2 %s",gettext("Ввести")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK2],TRUE,TRUE,1); 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_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK2],TRUE,TRUE,1); 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_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK3],TRUE,TRUE,1); 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_signal_connect(GTK_OBJECT(data.knopka[SFK3]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK3],TRUE,TRUE,1); 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(upldok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4],TRUE,TRUE,1); 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,"F6 %s",gettext("Списание")); data.knopka[FK6]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK6],TRUE,TRUE,1); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); tooltips[FK6]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK6],data.knopka[FK6],gettext("Автоматическое списание топлива"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); gtk_widget_show(data.knopka[FK6]); sprintf(bros,"F7 %s",gettext("Перенос")); data.knopka[FK7]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK7],TRUE,TRUE,1); gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); tooltips[FK7]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK7],data.knopka[FK7],gettext("Перенос остатка топлива с предыдушего водителя"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7); gtk_widget_show(data.knopka[FK7]); sprintf(bros,"F8 %s",gettext("Списание")); data.knopka[FK8]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK8],TRUE,TRUE,1); gtk_signal_connect(GTK_OBJECT(data.knopka[FK8]), "clicked",GTK_SIGNAL_FUNC(upldok_knopka),&data); tooltips[FK8]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK8],data.knopka[FK8],gettext("Ввод записи на списание топлива"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK8]),(gpointer)FK8); gtk_widget_show(data.knopka[FK8]); 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,1); 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(upldok_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]); upldok_create_list(&data); gtk_widget_show(data.window); gtk_window_maximize(GTK_WINDOW(data.window)); gtk_main(); //printf("l_upldok end\n"); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
int l_uslpodr_v(iceb_u_str *kodzap, //Код записи для корректировки; возвращается код введённой записи GtkWidget *wpredok) { l_uslpodr_v_data data; data.kodk.new_plus(kodzap->ravno()); char strsql[512]; iceb_u_str kikz; if(kodzap->getdlinna() > 1) { //читаем корректируемую запись SQL_str row; SQLCURSOR cur; sprintf(strsql,"select * from Uslpodr where kod=%s",kodzap->ravno()); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) != 1) { iceb_u_str repl; repl.plus(gettext("Не найдена запись для корректировки !")); iceb_menu_soob(&repl,wpredok); return(1); } data.rk.kod.new_plus(row[0]); data.rk.naim.new_plus(row[1]); kikz.plus(iceb_kikz(row[2],row[3],wpredok)); } else { sprintf(strsql,"%d",iceb_get_new_kod("Uslpodr",0,wpredok)); // printf("%s\n",strsql); data.rk.kod.new_plus(strsql); } 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); if(kodzap->getdlinna() > 1) sprintf(strsql,"%s %s",name_system,gettext("Корректировка записи")); else 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); 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(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_uslpodr_v_v_key_press),&data); iceb_u_str zagolov; if(kodzap->getdlinna() <= 1) zagolov.new_plus(gettext("Ввод новой записи")); else { zagolov.new_plus(gettext("Корректировка записи")); zagolov.ps_plus(kikz.ravno()); } GtkWidget *label=gtk_label_new(zagolov.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_KOD] = gtk_entry_new_with_max_length (4); 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_uslpodr_v_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); sprintf(strsql,"%s",gettext("Наименование подразделения")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_NAIM] = gtk_entry_new_with_max_length (59); 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_uslpodr_v_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_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(l_uslpodr_v_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(l_uslpodr_v_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); if(kodzap->getdlinna() <= 1) gtk_widget_grab_focus(data.entry[1]); else gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(data.voz == 0) kodzap->new_plus(data.rk.kod.ravno()); return(data.voz); }
void l_doksmat(short dp,short mp,short gp,GtkWidget *wpredok) { doksmat_data data; char bros[312]; GdkColor color; data.dp=dp; data.mp=mp; data.gp=gp; data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL); //gtk_widget_set_usize(GTK_WIDGET(data.window),1000,768); //gtk_widget_set_size_request(GTK_WIDGET(data.window),1024,768); //gtk_window_set_default_size(GTK_WINDOW(data.window),400,300); //gtk_window_resize(GTK_WINDOW(data.window),1024,768); //gtk_window_maximize(GTK_WINDOW(data.window)); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(bros,"%s %s (%s)",name_system, gettext("Список документов"), gettext("Материальный учёт")); gtk_window_set_title (GTK_WINDOW (data.window),iceb_u_toutf(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(doksmat_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); sprintf(bros,"%s (%s)", gettext("Список документов"), gettext("Материальный учёт")); data.label_kolstr=gtk_label_new (iceb_u_toutf(bros)); gtk_box_pack_start (GTK_BOX (vbox2),data.label_kolstr,FALSE, FALSE, 0); gtk_widget_show(vbox1); gtk_widget_show(vbox2); data.label_metka=gtk_label_new (""); data.label_poisk=gtk_label_new (""); gdk_color_parse("red",&color); gtk_widget_modify_fg(data.label_metka,GTK_STATE_NORMAL,&color); gtk_widget_modify_fg(data.label_poisk,GTK_STATE_NORMAL,&color); gtk_box_pack_start (GTK_BOX (vbox2),data.label_metka,FALSE, FALSE, 0); 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_widget_set_size_request(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_start (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); GtkWidget *hboxradio = gtk_hbox_new (TRUE, 0); //Вставляем радиокнопки GSList *group; data.radiobutton[0]=gtk_radio_button_new_with_label(NULL,gettext("Все")); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[0]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton[0]), "clicked",GTK_SIGNAL_FUNC(doksmat_radio0),&data); //gtk_object_set_user_data(GTK_OBJECT(data.radiobutton0),(gpointer)"0"); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[0])); sprintf(bros,"%s \"?\"",gettext("Помеченные")); data.radiobutton[1]=gtk_radio_button_new_with_label(group,bros); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[1]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[1]), "clicked",GTK_SIGNAL_FUNC(doksmat_radio1),&data); gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[1], TRUE, TRUE, 0); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[1])); sprintf(bros,"%s \"*\"",gettext("Помеченные")); data.radiobutton[2]=gtk_radio_button_new_with_label(group,bros); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[2]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[2]), "clicked",GTK_SIGNAL_FUNC(doksmat_radio2),&data); gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[2], TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX (vbox2), hboxradio, FALSE,FALSE, 0); gtk_widget_show_all(hboxradio); //Кнопки GtkTooltips *tooltips[KOL_F_KL]; sprintf(bros,"F2 %s",gettext("Просмотр")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK2],TRUE,TRUE, 0); 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,"F4 %s",gettext("Поиск")); data.knopka[FK4]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(doksmat_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(doksmat_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,"F6 %s",gettext("Экспорт")); data.knopka[FK6]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK6],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); tooltips[FK6]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK6],data.knopka[FK6],gettext("Экспорт кассовых ордеров в подсистему \"Учёт кассовых оредров\""),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); gtk_widget_show(data.knopka[FK6]); sprintf(bros,"F9 %s",gettext("Оплата")); data.knopka[FK9]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK9],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK9]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); tooltips[FK9]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK9],data.knopka[FK9],gettext("Переключение режимов просмотра (только оплаченыые, только не оплаченные, все)"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK9]),(gpointer)FK9); gtk_widget_show(data.knopka[FK9]); 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(doksmat_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]); doksmat_create_list(&data); gtk_widget_show(data.window); gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); printf("l_doksmat end\n"); }
/* * The following function is taken almost directly from * ghid_attribte_dialog() from pcb. It is a generic attribute editor * gui where the dialog is built on the fly based on a passed in * attribute list. * * Written by Dan McMahill */ int attribute_interface_dialog (gerbv_HID_Attribute * attrs, int n_attrs, gerbv_HID_Attr_Val * results, const char * title, const char * descr) { GtkWidget *dialog, *main_vbox, *vbox, *vbox1, *hbox, *entry; GtkWidget *combo; GtkWidget *widget; int i, j; GtkTooltips *tips; int rc = 0; int set_auto_uncheck = 0; int sen = TRUE; /* * Store how many widgets we'll have in our dialog and keep track of * them. Be sure to free up our list if one existed already. */ n_widgets = n_attrs; if (all_widgets != NULL) free (all_widgets); all_widgets = (GtkWidget **) malloc (n_widgets * sizeof(GtkWidget *)); if (all_widgets == NULL) { fprintf (stderr, _("%s(): malloc failed for an array of size %d\n"), __FUNCTION__, n_widgets); exit (1); } dprintf ("%s(%p, %d, %p, \"%s\", \"%s\")\n", __FUNCTION__, attrs, n_attrs, results, title, descr); auto_uncheck_needed = 0; auto_uncheck_widget = NULL; auto_uncheck_attr = NULL; tips = gtk_tooltips_new (); dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (screen.win.topLevelWindow), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_NONE, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_window_set_wmclass (GTK_WINDOW (dialog), "gerbv_attribute_editor", _("gerbv")); main_vbox = gtk_vbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 6); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox); vbox = ghid_category_vbox (main_vbox, descr != NULL ? descr : "", 4, 2, TRUE, TRUE); /* * Iterate over all the attributes and build up a dialog box * that lets us control all of the options. By doing things this * way, any changes to the attributes or if there is a new list of * attributes, everything will automatically be reflected in this * dialog box. */ for (j = 0; j < n_attrs; j++) { dprintf (_("%s(): Adding attribute #%d\n"), __FUNCTION__, j); switch (attrs[j].type) { case HID_Label: widget = gtk_label_new (_(attrs[j].name)); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); gtk_tooltips_set_tip (tips, widget, _(attrs[j].help_text), NULL); break; case HID_Integer: hbox = gtk_hbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); /* * FIXME * need to pick the "digits" argument based on min/max * values */ ghid_spin_button (hbox, &widget, attrs[j].default_val.int_value, attrs[j].min_val, attrs[j].max_val, 1.0, 1.0, 0, 0, intspinner_changed_cb, &(attrs[j].default_val.int_value), FALSE, NULL); gtk_tooltips_set_tip (tips, widget, _(attrs[j].help_text), NULL); all_widgets[j] = widget; widget = gtk_label_new (_(attrs[j].name)); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); break; case HID_Real: hbox = gtk_hbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); /* * FIXME * need to pick the "digits" and step size argument more * intelligently */ ghid_spin_button (hbox, &widget, attrs[j].default_val.real_value, attrs[j].min_val, attrs[j].max_val, 0.01, 0.01, 3, 0, dblspinner_changed_cb, &(attrs[j].default_val.real_value), FALSE, NULL); gtk_tooltips_set_tip (tips, widget, _(attrs[j].help_text), NULL); all_widgets[j] = widget; widget = gtk_label_new (_(attrs[j].name)); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); break; case HID_String: hbox = gtk_hbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0); gtk_entry_set_text (GTK_ENTRY (entry), attrs[j].default_val.str_value); gtk_tooltips_set_tip (tips, entry, _(attrs[j].help_text), NULL); g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (entry_changed_cb), &(attrs[j].default_val.str_value)); all_widgets[j] = entry; widget = gtk_label_new (_(attrs[j].name)); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); break; case HID_Boolean: /* put this in a check button */ ghid_check_button_connected (vbox, &widget, attrs[j].default_val.int_value, TRUE, FALSE, FALSE, 0, set_flag_cb, &(attrs[j].default_val.int_value), _(attrs[j].name)); gtk_tooltips_set_tip (tips, widget, _(attrs[j].help_text), NULL); /* * This is an ugly ugly ugly hack.... If this is * the first in our list of attributes *and* it has a * magic name of "autodetect" then we'll remember it and * all of the other callbacks will cause this button to * come unchecked. Among the other nastiness * involved here, this dialog is now *required* to * be modal since we are using a static variable. * To avoid that, we need a new data type that can hold * more state information. Ideally we need a better * way to capture dependencies between attributes to * allow arbitrary relationships instead of just this * one single "magic" one. */ if (j == 0 && strcmp(attrs[j].name, "autodetect") == 0) { set_auto_uncheck = 1; auto_uncheck_widget = widget; auto_uncheck_attr = &(attrs[j].default_val.int_value); /* if the "auto" button in checked then don't let * anything else be sensitive. */ if (attrs[j].default_val.int_value) sen = FALSE; } all_widgets[j] = widget; break; case HID_Enum: hbox = gtk_hbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); /* * We have to put the combo_box inside of an event_box in * order for tooltips to work. */ widget = gtk_event_box_new (); gtk_tooltips_set_tip (tips, widget, _(attrs[j].help_text), NULL); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); combo = gtk_combo_box_new_text (); gtk_container_add (GTK_CONTAINER (widget), combo); g_signal_connect (G_OBJECT (combo), "changed", G_CALLBACK (enum_changed_cb), &(attrs[j].default_val.int_value)); /* * Iterate through each value and add them to the * combo box */ i = 0; while (attrs[j].enumerations[i]) { gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _(attrs[j].enumerations[i])); i++; } gtk_combo_box_set_active (GTK_COMBO_BOX (combo), attrs[j].default_val.int_value); all_widgets[j] = combo; widget = gtk_label_new (_(attrs[j].name)); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); break; case HID_Mixed: dprintf ("HID_Mixed\n"); break; case HID_Path: vbox1 = ghid_category_vbox (vbox, _(attrs[j].name), 4, 2, TRUE, TRUE); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox1), entry, FALSE, FALSE, 0); gtk_entry_set_text (GTK_ENTRY (entry), attrs[j].default_val.str_value); g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (entry_changed_cb), &(attrs[j].default_val.str_value)); gtk_tooltips_set_tip (tips, entry, _(attrs[j].help_text), NULL); all_widgets[j] = entry; break; default: fprintf (stderr, _("%s: unknown type of HID attribute\n"), __FUNCTION__); break; } } gtk_widget_show_all (dialog); auto_uncheck_needed = set_auto_uncheck; /* * part of the "auto" hack. Make everything sensitive or * insensitive based on the state of the "auto" toggle button (if it * exists) */ for (j = 1; j < n_widgets ; j++) { gtk_widget_set_sensitive (all_widgets[j], sen); } if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { /* copy over the results */ for (i = 0; i < n_attrs; i++) { results[i] = attrs[i].default_val; if (results[i].str_value) results[i].str_value = strdup (results[i].str_value); } rc = 0; } else rc = 1; gtk_widget_destroy (dialog); return rc; }
int rppvow_r(class rppvow_rr *datark,GtkWidget *wpredok) { char strsql[512]; iceb_u_str repl; class rppvow_r_data data; data.rk=datark; 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(rppvow_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); repl.plus(gettext("Распечатать реестр проводок по видам операций")); sprintf(strsql,"%s:%s %s\n",gettext("База данных"),imabaz,organ); repl.ps_plus(strsql); GtkWidget *label=gtk_label_new(repl.ravno_toutf()); 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(rppvow_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)rppvow_r1,&data); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
int l_uslugi_p(class uslugi_rek *datap,GtkWidget *wpredok) { uslugi_p_data data; data.rpoi=datap; 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(uslugi_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 *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); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s",gettext("Код услуги")); label=gtk_label_new(iceb_u_toutf(strsql)); 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(uslugi_p_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD]),data.rpoi->kod.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD]),(gpointer)E_KOD); sprintf(strsql,"%s",gettext("Наименование услуги")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_NAIM] = gtk_entry_new_with_max_length (60); 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(uslugi_p_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_NAIM]),data.rpoi->naim.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NAIM]),(gpointer)E_NAIM); sprintf(strsql,"%s (,,)",gettext("Код группы")); data.knopka_enter[E_GRUPA]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_GRUPA]), data.knopka_enter[E_GRUPA], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_GRUPA]),"clicked",GTK_SIGNAL_FUNC(uslugi_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_GRUPA]),(gpointer)E_GRUPA); tooltips_enter[E_GRUPA]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_GRUPA],data.knopka_enter[E_GRUPA],gettext("Выбор группы"),NULL); data.entry[E_GRUPA] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_GRUPA]), data.entry[E_GRUPA], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_GRUPA]), "activate",GTK_SIGNAL_FUNC(uslugi_p_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_GRUPA]),data.rpoi->grupa.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_GRUPA]),(gpointer)E_GRUPA); 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(uslugi_p_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(uslugi_p_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(uslugi_p_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(); return(0); }
int buhsdkrw_m(class buhsdkrw_rr *rek_r, GtkWidget *wpredok) { class buhsdkrw_m_data data; char strsql[512]; data.rk=rek_r; 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(buhsdkrw_m_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 *label=gtk_label_new (gettext("Расчёт по заданному списку дебетовых и кредитовых счетов")); gtk_box_pack_start (GTK_BOX (vbox),label,FALSE, 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); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s",gettext("Дата начала")); data.knopka_enter[E_DATAN]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.knopka_enter[E_DATAN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAN]),"clicked",GTK_SIGNAL_FUNC(buhsdkrw_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAN]),(gpointer)E_DATAN); tooltips_enter[E_DATAN]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAN],data.knopka_enter[E_DATAN],gettext("Выбор даты начала отчёта"),NULL); data.entry[E_DATAN] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.entry[E_DATAN], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAN]), "activate",GTK_SIGNAL_FUNC(buhsdkrw_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAN]),data.rk->datan.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAN]),(gpointer)E_DATAN); sprintf(strsql,"%s",gettext("Дата конца")); data.knopka_enter[E_DATAK]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.knopka_enter[E_DATAK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAK]),"clicked",GTK_SIGNAL_FUNC(buhsdkrw_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAK]),(gpointer)E_DATAK); tooltips_enter[E_DATAK]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAK],data.knopka_enter[E_DATAK],gettext("Выбор даты конца отчёта"),NULL); data.entry[E_DATAK] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.entry[E_DATAK], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAK]), "activate",GTK_SIGNAL_FUNC(buhsdkrw_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAK]),data.rk->datak.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAK]),(gpointer)E_DATAK); sprintf(strsql,"%s (,,)",gettext("Вариант расчёта")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_VARIANT_R]), label, FALSE, FALSE, 0); data.entry[E_VARIANT_R] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_VARIANT_R]), data.entry[E_VARIANT_R], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_VARIANT_R]), "activate",GTK_SIGNAL_FUNC(buhsdkrw_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_VARIANT_R]),data.rk->datak.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_VARIANT_R]),(gpointer)E_VARIANT_R); 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(buhsdkrw_m_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(buhsdkrw_m_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("Настройка расчёта"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]),"clicked",GTK_SIGNAL_FUNC(buhsdkrw_m_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); 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(buhsdkrw_m_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); }
/** * gwy_app_recent_file_list_new: * * Creates document history browser. * * There should be at most one document history browser, so this function * fails if it already exists. * * Returns: The newly created document history browser window. **/ GtkWidget* gwy_app_recent_file_list_new(void) { GtkWidget *vbox, *filterbox, *buttonbox, *list, *scroll, *button; GtkTreeModelFilter *filter; GtkTreeSelection *selection; g_return_val_if_fail(gcontrols.store, gcontrols.window); g_return_val_if_fail(gcontrols.window == NULL, gcontrols.window); gcontrols.filter = gtk_tree_model_filter_new(GTK_TREE_MODEL(gcontrols.store), NULL); filter = GTK_TREE_MODEL_FILTER(gcontrols.filter); gtk_tree_model_filter_set_visible_func(filter, gwy_app_recent_file_list_filter, &gcontrols, NULL); gcontrols.window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(gcontrols.window), _("Document History")); gtk_window_set_default_size(GTK_WINDOW(gcontrols.window), 400, 3*gdk_screen_height()/4); gwy_app_restore_window_position(GTK_WINDOW(gcontrols.window), "/app/document-history", FALSE); gwy_help_add_to_window(GTK_WINDOW(gcontrols.window), "managing-files", "document-history", GWY_HELP_DEFAULT); g_signal_connect(gcontrols.window, "unmap", G_CALLBACK(gwy_app_recent_file_list_unmapped), NULL); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(gcontrols.window), vbox); scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_box_pack_start(GTK_BOX(vbox), scroll, TRUE, TRUE, 0); list = gwy_app_recent_file_list_construct(&gcontrols); gtk_container_add(GTK_CONTAINER(scroll), list); g_object_unref(gcontrols.filter); filterbox = gwy_app_recent_file_list_filter_construct(&gcontrols); gtk_box_pack_start(GTK_BOX(vbox), filterbox, FALSE, FALSE, 0); buttonbox = gtk_hbox_new(TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(buttonbox), 2); gtk_box_pack_start(GTK_BOX(vbox), buttonbox, FALSE, FALSE, 0); gcontrols.prune = gwy_stock_like_button_new(_("_Prune"), GTK_STOCK_FIND); gtk_box_pack_start(GTK_BOX(buttonbox), gcontrols.prune, TRUE, TRUE, 0); gtk_tooltips_set_tip(gwy_app_get_tooltips(), gcontrols.prune, _("Remove entries of files that no longer exist"), NULL); g_signal_connect_swapped(gcontrols.prune, "clicked", G_CALLBACK(gwy_app_recent_file_list_prune), &gcontrols); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_box_pack_start(GTK_BOX(buttonbox), button, TRUE, TRUE, 0); gtk_tooltips_set_tip(gwy_app_get_tooltips(), button, _("Close file list"), NULL); g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_widget_destroy), gcontrols.window); gcontrols.open = gtk_button_new_from_stock(GTK_STOCK_OPEN); gtk_box_pack_start(GTK_BOX(buttonbox), gcontrols.open, TRUE, TRUE, 0); gtk_tooltips_set_tip(gwy_app_get_tooltips(), gcontrols.open, _("Open selected file"), NULL); g_signal_connect_swapped(gcontrols.open, "clicked", G_CALLBACK(gwy_app_recent_file_list_open), list); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(list)); gtk_widget_set_sensitive(gcontrols.open, gtk_tree_selection_get_selected(selection, NULL, NULL)); g_signal_connect_swapped(gcontrols.window, "destroy", G_CALLBACK(gwy_app_recent_file_list_destroyed), &gcontrols); gwy_app_recent_file_list_filter_apply(GTK_ENTRY(gcontrols.filter_glob), &gcontrols); gtk_widget_show_all(vbox); return gcontrols.window; }
/* * CreateMenuItem * * Creates an item and puts it in the menu and returns the item. * * menu - container menu * szName - Name of the menu - NULL for a separator * szAccel - Acceleration string - "^C" for Control-C * szTip - Tool tips * func - Call back function * data - call back function data * * returns new menuitem */ GtkWidget *CreateMenuItem (GtkWidget *menu, GtkAccelGroup *accel_group, GtkTooltips *tooltips, char *szName, char *szAccel, char *szTip, GtkSignalFunc func, gpointer data) { GtkWidget *menuitem; /* --- If there's a name, create the item and put a * Signal handler on it. */ if (szName && strlen (szName)) { menuitem = gtk_menu_item_new_with_label (szName); gtk_signal_connect (GTK_OBJECT (menuitem), "activate", GTK_SIGNAL_FUNC(func), data); } else { /* --- Create a separator --- */ menuitem = gtk_menu_item_new (); } /* --- Add menu item to the menu and show it. --- */ gtk_menu_append (GTK_MENU (menu), menuitem); gtk_widget_show (menuitem); /* --- If there was an accelerator --- */ if (szAccel && accel_group != NULL) { guint modifier = 0; guint key; if (szAccel[0] == '^') { szAccel++; modifier |= GDK_CONTROL_MASK; } if (strncmp(szAccel, "M-", 2) == 0) { szAccel += 2; modifier |= GDK_MOD1_MASK; } key = szAccel[0]; if (strncmp(szAccel,"<enter>", sizeof("<enter>")) == 0) { key = GDK_Return; } gtk_widget_add_accelerator (menuitem, "activate", accel_group, key, modifier, GTK_ACCEL_VISIBLE); } /* --- If there was a tool tip --- */ if (szTip && strlen (szTip) && tooltips != NULL) { /* --- If tooltips not created yet --- */ gtk_tooltips_set_tip (tooltips, menuitem, szTip, NULL); } return (menuitem); }
GtkWidget *pref_start_gui(){ GtkWidget *vbox; GtkWidget *hbox; GtkWidget *table; GtkWidget *label; GtkObject *adj; GtkAttachOptions xoption, yoption; LOG(LOG_DEBUG, "IN : pref_start_gui()"); vbox = gtk_vbox_new(FALSE, 0); gtk_widget_set_size_request(vbox, 300, 200); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); xoption = GTK_SHRINK|GTK_FILL; yoption = GTK_SHRINK; table = gtk_table_new(2, 12, FALSE); gtk_box_pack_start (GTK_BOX(vbox) , table,FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE,10); gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 0, 1, xoption, yoption, 10, 10); label = gtk_label_new(_("Maximum words in history")); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0); adj = gtk_adjustment_new( 10, //value 0, // lower 20, //upper 1, // step increment 10,// page_increment, (gfloat)0.0); spin_words = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1.0, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_words), max_remember_words ); gtk_widget_set_size_request(spin_words,60,20); gtk_table_attach(GTK_TABLE(table), spin_words, 1, 2, 0, 1, xoption, yoption, 10, 10); gtk_tooltips_set_tip(tooltip, spin_words, _("Maximum number of words to remember in word history"), "Private"); hbox = gtk_hbox_new(FALSE,10); gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 1, 2, xoption, yoption, 10, 10); label = gtk_label_new(_("Chars in dictionary bar")); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0); adj = gtk_adjustment_new( 10, //value 1, // lower 32, //upper 1, // step increment 1,// page_increment, 0.0); spin_dict_label = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1.0, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_dict_label), dict_button_length ); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(spin_dict_label), TRUE); gtk_widget_set_size_request(spin_dict_label,60,20); gtk_table_attach(GTK_TABLE(table), spin_dict_label, 1, 2, 1, 2, xoption, yoption, 10, 10); gtk_tooltips_set_tip(tooltip, spin_dict_label, _("Specify the number of characters to display on top of each toggle buttons in dictionary bar."),"Private"); check_splash = gtk_check_button_new_with_label(_("Show splash screen")); gtk_tooltips_set_tip(tooltip, check_splash, _("Show splash screen on loading."),"Private"); gtk_table_attach(GTK_TABLE(table), check_splash, 0, 1, 5, 6, xoption, yoption, 10, 10); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_splash), bshow_splash); check_heading_auto = gtk_check_button_new_with_label(_("Calculate heading automatically")); gtk_tooltips_set_tip(tooltip, check_heading_auto, _("Calculate the number of cells in heading list to suit the window size."),"Private"); gtk_table_attach(GTK_TABLE(table), check_heading_auto, 0, 1, 6, 7, xoption, yoption, 10, 10); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_heading_auto), bheading_auto_calc); // hbox = gtk_hbox_new(FALSE,10); gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 7, 8, xoption, yoption, 10, 10); label = gtk_label_new(_("Maximum hits to display")); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0); adj = gtk_adjustment_new( 100, //value 1, // lower 1000, //upper 1, // step increment 10,// page_increment, 0.0); spin_max_heading = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1.0, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_max_heading), max_heading ); gtk_widget_set_size_request(spin_max_heading,60,20); gtk_table_attach(GTK_TABLE(table), spin_max_heading, 1, 2, 7, 8, xoption, yoption, 10, 10); gtk_tooltips_set_tip(tooltip, spin_max_heading, _("Maximum number of hits to be displayed at once.\nYou can go forward and backward using buttons. Valid only if automatic calculation is disabled."), "Private"); // check_button_color = gtk_check_button_new_with_label(_("Enable dictionary button color")); gtk_tooltips_set_tip(tooltip, check_button_color, _("Enable background color of dictionary button."),"Private"); gtk_table_attach(GTK_TABLE(table), check_button_color, 0, 1, 8, 9, xoption, yoption, 10, 10); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_color), benable_button_color); LOG(LOG_DEBUG, "OUT : pref_start_gui()"); return(vbox); }
void CRevise_group::show () { init (); SetBackPixmap (g_pReciteWord->fixed, Skin->revise_group.revise_group.p[0]); return_button.create (g_pReciteWord->fixed, Skin->revise_group.return_button.x[0], Skin->revise_group.return_button.y[0], Skin->revise_group.return_button.p[0], Skin->revise_group.return_button.p[1], Skin->revise_group.return_button.p[2], (GdkPixmap *) NULL, on_revise_group_return_clicked); chooseword_button.create (g_pReciteWord->fixed, Skin->revise_group.chooseword_button.x[0], Skin->revise_group.chooseword_button.y[0], Skin->revise_group.chooseword_button.p[0], Skin->revise_group.chooseword_button.p[1], Skin->revise_group.chooseword_button.p[2], on_revise_group_chooseword_clicked,this); gtk_tooltips_set_tip (g_pReciteWord->tooltips, chooseword_button.event_box,"Ctrl-W",""); order_ckbutton.create (g_pReciteWord->fixed, Skin->revise_group.order_ckbutton.x[0], Skin->revise_group.order_ckbutton.y[0], Skin->revise_group.order_ckbutton.p[0], Skin->revise_group.order_ckbutton.p[1], Skin->revise_group.order_ckbutton.p[2], Skin->revise_group.order_ckbutton.p[3], NULL); gboolean order; rw_cfg_read_boolean(usercfgfile, "revise_group", "disorder", &order); order_ckbutton.set_status(order); glong found_group = 0; gint found = TRUE; gint zu_index = 0, revise_times; gchar tmpstr[256]; std::time_t last_time; double between_time; while (found) { sprintf (tmpstr, "zu%d_time0", zu_index); if (rw_cfg_read_time (usercfgfile, g_pReciteWord->now_book->bookfilename, tmpstr, &last_time)) // have firstrecited { sprintf (tmpstr, "zu%d_revisetimes", zu_index); rw_cfg_read_int (usercfgfile, g_pReciteWord->now_book-> bookfilename, tmpstr, &revise_times); if (revise_times < max_revise_times) { sprintf (tmpstr, "zu%d_time%d", zu_index, revise_times); rw_cfg_read_time (usercfgfile, g_pReciteWord->now_book-> bookfilename, tmpstr, &last_time); between_time = (revise_times * (24 * 60 * 60)) - (12 * 60 * 60); std::time_t now = std::time (0); if (difftime (now, last_time) > between_time) { found_group++; if (found_group <= 5) //only show the first 5 groups. { this->revise_zu_index[found_group-1] = zu_index; if (revise_times > 4) create_plane (4,found_group-1); else create_plane (revise_times,found_group-1); } } } } zu_index++; if (zu_index > g_pReciteWord->max_zu_index) //the current book is search over....will try old books. found = FALSE; } sprintf(tmpstr,_("found %ld groups in total"),found_group); total_groups_label = gtk_label_new(tmpstr); gtk_fixed_put (GTK_FIXED (g_pReciteWord->fixed), total_groups_label, Skin->revise_group.total_groups_label.x[0], Skin->revise_group.total_groups_label.y[0]); gtk_widget_show (total_groups_label); }
void CRevise_skim::show () { init (); SetBackPixmap (g_pReciteWord->fixed, Skin->revise_skim.revise_skim.p[0]); viewer.create (g_pReciteWord->fixed, Skin->revise_skim.viewer.x[0], Skin->revise_skim.viewer.y[0], Skin->revise_skim.viewer.w, Skin->revise_skim.viewer.h, g_pReciteWord->now_zu_words.w, g_pReciteWord->now_zu_words.m, g_pReciteWord->now_zu_wordcount, on_revise_skim_over); start_button.create (g_pReciteWord->fixed, Skin->revise_skim.stop_button.x[0], Skin->revise_skim.stop_button.y[0], Skin->revise_skim.stop_button.p[0], Skin->revise_skim.stop_button.p[1], Skin->revise_skim.stop_button.p[2], (GdkPixmap *) NULL, on_revise_skim_start_clicked); gtk_tooltips_set_tip (GTK_TOOLTIPS (g_pReciteWord->tooltips), start_button.event_box,"Ctrl-S",""); pause_button.create (g_pReciteWord->fixed, Skin->revise_skim.pause_button.x[0], Skin->revise_skim.pause_button.y[0], Skin->revise_skim.pause_button.p[0], Skin->revise_skim.pause_button.p[1], Skin->revise_skim.pause_button.p[2], Skin->revise_skim.pause_button.p[3], on_revise_skim_pause_clicked); gtk_tooltips_set_tip (GTK_TOOLTIPS (g_pReciteWord->tooltips), pause_button.event_box,"Ctrl-P",""); group_button.create (g_pReciteWord->fixed, Skin->revise_skim.group_button.x[0], Skin->revise_skim.group_button.y[0], Skin->revise_skim.group_button.p[0], Skin->revise_skim.group_button.p[1], Skin->revise_skim.group_button.p[2], (GdkPixmap *) NULL, on_revise_skim_group_clicked); gtk_tooltips_set_tip (GTK_TOOLTIPS (g_pReciteWord->tooltips), group_button.event_box,"Ctrl-C",""); test_button.create (g_pReciteWord->fixed, Skin->revise_skim.test_button.x[0], Skin->revise_skim.test_button.y[0], Skin->revise_skim.test_button.p[0], Skin->revise_skim.test_button.p[1], Skin->revise_skim.test_button.p[2], (GdkPixmap *) NULL, on_revise_skim_test_clicked); gtk_tooltips_set_tip (GTK_TOOLTIPS (g_pReciteWord->tooltips), test_button.event_box,"Ctrl-B",""); return_button.create (g_pReciteWord->fixed, Skin->revise_skim.return_button.x[0], Skin->revise_skim.return_button.y[0], Skin->revise_skim.return_button.p[0], Skin->revise_skim.return_button.p[1], Skin->revise_skim.return_button.p[2], (GdkPixmap *) NULL, on_revise_skim_return_clicked); word_index_label = gtk_label_new (""); gtk_fixed_put (GTK_FIXED (g_pReciteWord->fixed), word_index_label, Skin->revise_skim.word_index_label.x[0], Skin->revise_skim.word_index_label.y[0]); gtk_widget_show (word_index_label); gchar aa[5]; sprintf(aa,"%2d",g_pReciteWord->now_zu_wordcount); word_count_label = gtk_label_new (aa); gtk_fixed_put (GTK_FIXED (g_pReciteWord->fixed), word_count_label, Skin->revise_skim.word_count_label.x[0], Skin->revise_skim.word_count_label.y[0]); gtk_widget_show (word_count_label); readword_ckbutton.create (g_pReciteWord->fixed, Skin->revise_skim.readword_ckbutton.x[0], Skin->revise_skim.readword_ckbutton.y[0], Skin->revise_skim.readword_ckbutton.p[0], Skin->revise_skim.readword_ckbutton.p[1], Skin->revise_skim.readword_ckbutton.p[2], Skin->revise_skim.readword_ckbutton.p[3], on_revise_skim_readword_ckbutton_clicked); gboolean tmp_b; rw_cfg_read_boolean(usercfgfile, "revise_skim", "readword", &tmp_b); readword_ckbutton.set_status(tmp_b); meaning_ckbutton.create (g_pReciteWord->fixed, Skin->revise_skim.meaning_ckbutton.x[0], Skin->revise_skim.meaning_ckbutton.y[0], Skin->revise_skim.meaning_ckbutton.p[0], Skin->revise_skim.meaning_ckbutton.p[1], Skin->revise_skim.meaning_ckbutton.p[2], Skin->revise_skim.meaning_ckbutton.p[3], on_revise_skim_meaning_ckbutton_clicked); rw_cfg_read_boolean(usercfgfile, "revise_skim", "showmean", &tmp_b); meaning_ckbutton.set_status(tmp_b); animate_ckbutton.create (g_pReciteWord->fixed, Skin->revise_skim.animate_ckbutton.x[0], Skin->revise_skim.animate_ckbutton.y[0], Skin->revise_skim.animate_ckbutton.p[0], Skin->revise_skim.animate_ckbutton.p[1], Skin->revise_skim.animate_ckbutton.p[2], Skin->revise_skim.animate_ckbutton.p[3], on_revise_skim_animate_ckbutton_clicked); rw_cfg_read_boolean(usercfgfile, "revise_skim", "animate", &tmp_b); animate_ckbutton.set_status(tmp_b); readword_button.create (g_pReciteWord->fixed, Skin->revise_skim.readword_button.x[0], Skin->revise_skim.readword_button.y[0], Skin->revise_skim.readword_button.p[0], Skin->revise_skim.readword_button.p[1], Skin->revise_skim.readword_button.p[2], on_revise_skim_readword_button_clicked,this); gtk_tooltips_set_tip (GTK_TOOLTIPS (g_pReciteWord->tooltips), readword_button.event_box,"Tab",""); chooseword_button.create (g_pReciteWord->fixed, Skin->revise_skim.chooseword_button.x[0], Skin->revise_skim.chooseword_button.y[0], Skin->revise_skim.chooseword_button.p[0], Skin->revise_skim.chooseword_button.p[1], Skin->revise_skim.chooseword_button.p[2], on_revise_skim_chooseword_button_clicked,this); gtk_tooltips_set_tip (GTK_TOOLTIPS (g_pReciteWord->tooltips), chooseword_button.event_box,"Ctrl-W",""); on_revise_skim_start_clicked (); }
int l_uosdok(const char *data_dok, //Дата документа const char *nomd, //Номер документа GtkWidget *wpredok) { class uosdok_data data; iceb_u_str string; char bros[512]; data.data_dok.new_plus(data_dok); data.nomd.plus(nomd); printf("%s\n",__FUNCTION__); /*Читаем реквизиты документа*/ l_uosdok_read_rhd(&data,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); //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(uosdok_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_rek_dok=gtk_label_new (data.hapka.ravno_toutf()); gtk_box_pack_start (GTK_BOX (vbox2),data.label_rek_dok,FALSE, FALSE, 0); gtk_widget_show(data.label_rek_dok); data.label_red=gtk_label_new (""); gtk_box_pack_start (GTK_BOX (vbox2),data.label_red,FALSE, FALSE, 0); GdkColor color; gdk_color_parse("red",&color); gtk_widget_modify_fg(data.label_red,GTK_STATE_NORMAL,&color); gtk_widget_show(vbox1); gtk_widget_show(vbox2); data.sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize(GTK_WIDGET(data.sw),-1,200); 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,"%sF1 %s",RFK,gettext("Шапка")); data.knopka[SFK1]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK1]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK1],TRUE,TRUE, 0); tooltips[SFK1]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[SFK1],data.knopka[SFK1],gettext("Просмотр шапки документа"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK1]),(gpointer)SFK1); gtk_widget_show(data.knopka[SFK1]); sprintf(bros,"F2 %s",gettext("Ввести")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK2],TRUE,TRUE, 0); 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_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK2],TRUE,TRUE, 0); 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_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK3],TRUE,TRUE, 0); 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_signal_connect(GTK_OBJECT(data.knopka[SFK3]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK3],TRUE,TRUE, 0); 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(uosdok_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(uosdok_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,"F6 %s",gettext("Карточка")); data.knopka[FK6]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK6],TRUE,TRUE, 0); tooltips[FK6]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK6],data.knopka[FK6],gettext("Просмотр карточки инвентарного номера"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); gtk_widget_show(data.knopka[FK6]); sprintf(bros,"F7 %s",gettext("Подтверждение")); data.knopka[FK7]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK7],TRUE,TRUE, 0); tooltips[FK7]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK7],data.knopka[FK7],gettext("Подтверждение записи"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7); gtk_widget_show(data.knopka[FK7]); sprintf(bros,"%sF7 %s",RFK,gettext("Подтверждение")); data.knopka[SFK7]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK7]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[SFK7],TRUE,TRUE, 0); tooltips[SFK7]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[SFK7],data.knopka[SFK7],gettext("Подтверждение всех записей в документе"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK7]),(gpointer)SFK7); gtk_widget_show(data.knopka[SFK7]); sprintf(bros,"F8 %s",gettext("Блокирование")); data.knopka[FK8]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK8]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK8],TRUE,TRUE, 0); tooltips[FK8]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK8],data.knopka[FK8],gettext("Устанавливать/снимать блокировку дат"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK8]),(gpointer)FK8); gtk_widget_show(data.knopka[FK8]); sprintf(bros,"F9 %s",gettext("Подтверждение")); data.knopka[FK9]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK9]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK9],TRUE,TRUE, 0); tooltips[FK9]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK9],data.knopka[FK9],gettext("Снять подтверждение со всего документа"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK9]),(gpointer)FK9); gtk_widget_show(data.knopka[FK9]); 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(uosdok_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_show(data.knopka[FK10]); if(data.vido == 1) { sprintf(bros,"F11 %s",gettext("Парный док.")); data.knopka[FK11]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1),data.knopka[FK11],TRUE,TRUE, 0); tooltips[FK11]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK11],data.knopka[FK11],gettext("Перейти в парный документ"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK11]), "clicked",GTK_SIGNAL_FUNC(uosdok_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK11]),(gpointer)FK11); gtk_widget_show(data.knopka[FK11]); } gtk_widget_realize(data.window); gdk_window_set_cursor(data.window->window,gdk_cursor_new(ICEB_CURSOR)); gtk_widget_grab_focus(data.knopka[FK10]); uosdok_create_list(&data); gtk_widget_show(data.window); gtk_window_maximize(GTK_WINDOW(data.window)); gtk_main(); //printf("l_uosdok end\n"); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
void l_uosspdok(short ds,short ms,short gs, //Дата начала просмотра GtkWidget *wpredok) { class uosspdok_data data; char bros[512]; GdkColor color; data.ds=data.dn=ds; data.ms=data.mn=ms; data.gs=data.gn=gs; if(data.gn == 0) data.gn=startgoduos; 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(uosspdok_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("Список документов")); 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 (""); /************ PangoFontDescription *font_pango=pango_font_description_from_string(shrift_ravnohir.ravno()); gtk_widget_modify_font(GTK_WIDGET(data.label_ost),font_pango); pango_font_description_free(font_pango); ***************/ 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),-1,200); 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 ?"); 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(uosspdok_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",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(uosspdok_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 *"); 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(uosspdok_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",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(uosspdok_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_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(uosspdok_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,"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(uosspdok_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,"F9 %s",gettext("Оплата")); data.knopka[FK9]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK9],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK9]), "clicked",GTK_SIGNAL_FUNC(uosspdok_knopka),&data); tooltips[FK9]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK9],data.knopka[FK9],gettext("Переключение режимов просмотра (только оплаченыые, только не оплаченные, все)"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK9]),(gpointer)FK9); gtk_widget_show(data.knopka[FK9]); 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(uosspdok_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]); uosspdok_create_list(&data); gtk_widget_show(data.window); //if(metka == 0) gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_main(); //printf("l_uosspdok end\n"); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); }
void l_poiupldok(const char *nomdok,GtkWidget *wpredok) { char strsql[512]; iceb_u_str soob; class poiupldok_data data; data.nomdok_p.new_plus(nomdok); 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); 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(poiupldok_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); soob.new_plus(""); data.label_kolstr=gtk_label_new (soob.ravno_toutf()); 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(poiupldok_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(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(poiupldok_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]); poiupldok_create_list(&data); gtk_widget_show(data.window); gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_main(); printf("l_poiupldok end\n"); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); }
GtkWidget * dnj_koj_frame_xsi (struct drqm_jobs_info *info) { GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox,*hbox2; GtkWidget *label; GtkWidget *entry; GtkWidget *button; GtkWidget *bbox; GtkWidget *cbutton; GtkTooltips *tooltips; struct passwd *pw; tooltips = TooltipsNew (); /* Frame */ frame = gtk_frame_new ("XSI job information"); /* Main vbox */ vbox = gtk_vbox_new (FALSE,2); gtk_container_add (GTK_CONTAINER(frame),vbox); /* XSI Directory */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("XSI Directory:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Name of the XSI folder under Softimage i.e. XSI_5.1 ",NULL); info->dnj.koji_xsi.exsiDir = entry; gtk_entry_set_text(GTK_ENTRY(entry),"XSI_5.1"); gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Scene file */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Scene file:"); gtk_box_pack_start (GTK_BOX(hbox),label,TRUE,TRUE,2); hbox2 = gtk_hbox_new (FALSE,0); gtk_box_pack_start (GTK_BOX(hbox),hbox2,TRUE,TRUE,0); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); info->dnj.koji_xsi.escene = entry; gtk_tooltips_set_tip(tooltips,entry,"File name of the XSI scene file that should be rendered",NULL); gtk_box_pack_start (GTK_BOX(hbox2),entry,TRUE,TRUE,2); button = gtk_button_new_with_label ("Search"); gtk_tooltips_set_tip(tooltips,button,"File selector for the XSI scene file",NULL); gtk_box_pack_start (GTK_BOX(hbox2),button,FALSE,FALSE,2); g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_xsi_scene_search),&info->dnj.koji_xsi); /* Pass */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Pass:"******"Name of the Pass to render",NULL); info->dnj.koji_xsi.epass = entry; gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Image output directory */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Render directory:"); gtk_box_pack_start (GTK_BOX(hbox),label,TRUE,TRUE,2); hbox2 = gtk_hbox_new (FALSE,0); gtk_box_pack_start (GTK_BOX(hbox),hbox2,TRUE,TRUE,0); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Directory where the images should be stored",NULL); info->dnj.koji_xsi.erenderdir = entry; gtk_box_pack_start (GTK_BOX(hbox2),entry,TRUE,TRUE,2); button = gtk_button_new_with_label ("Search"); gtk_tooltips_set_tip(tooltips,button,"File selector for the XSI render directory",NULL); gtk_box_pack_start (GTK_BOX(hbox2),button,FALSE,FALSE,2); g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_xsi_renderdir_search),&info->dnj.koji_xsi); /* Output Image file name */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Output image filename:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"File name of the output image without extension. ",NULL); info->dnj.koji_xsi.eimage = entry; gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Image Extension */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Image Extension:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Extension for the image format being rendered including dot i.e. .pic",NULL); info->dnj.koji_xsi.eimageExt = entry; gtk_entry_set_text(GTK_ENTRY(entry),".pic"); gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* X Resolution */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("X Resolution:"); gtk_label_set_justify (GTK_LABEL(label),GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new (); gtk_tooltips_set_tip(tooltips,entry,"Horizontal (x) resolution of ouput",NULL); gtk_entry_set_text (GTK_ENTRY(entry),"1920"); info->dnj.koji_xsi.eres_x = entry; gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Y Resolution */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Y Resolution:"); gtk_label_set_justify (GTK_LABEL(label),GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new (); gtk_tooltips_set_tip(tooltips,entry,"Vertical (y) resolution of ouput",NULL); gtk_entry_set_text (GTK_ENTRY(entry),"1080"); info->dnj.koji_xsi.eres_y = entry; gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); // Skip rendered Frames hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label("Skip Frames"); gtk_box_pack_start (GTK_BOX(hbox),cbutton,FALSE,FALSE,2); gtk_tooltips_set_tip(tooltips,cbutton,"Skip rendered frames (rerenders 128byte files)",NULL); info->dnj.koji_xsi.cbskipFrames = cbutton; // Run Script hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label("Run Script"); gtk_box_pack_start (GTK_BOX(hbox),cbutton,FALSE,FALSE,2); gtk_tooltips_set_tip(tooltips,cbutton,"Run ScriptRun instead of performing a render",NULL); info->dnj.koji_xsi.cbrunScript = cbutton; /* ScriptRun */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("ScriptRun:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"The script to run instead of rendering",NULL); info->dnj.koji_xsi.escriptRun = entry; gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* File Owner */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Owner of rendered files:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"After rendering the ownership of the " "rendered files will be changed to this. By default it " "is the same as the owner of the job",NULL); info->dnj.koji_xsi.efile_owner = entry; if (!(pw = getpwuid(geteuid()))) { gtk_entry_set_text(GTK_ENTRY(entry),"ERROR"); } else { gtk_entry_set_text(GTK_ENTRY(entry),pw->pw_name); } gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* View command */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("View command:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Command that will be executed when you select 'Watch image' " "in the frames list (inside the detailed job view)",NULL); info->dnj.koji_xsi.eviewcmd = entry; gtk_entry_set_text(GTK_ENTRY(entry),KOJ_XSI_DFLT_VIEWCMD); gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Script directory */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Script directory:"); gtk_box_pack_start (GTK_BOX(hbox),label,TRUE,TRUE,2); hbox2 = gtk_hbox_new (FALSE,0); gtk_box_pack_start (GTK_BOX(hbox),hbox2,TRUE,TRUE,0); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Directory in which, in case of using the automatic " "script generator, the command script will be saved.",NULL); info->dnj.koji_xsi.escript = entry; gtk_entry_set_text (GTK_ENTRY(entry),xsisg_default_script_path()); gtk_box_pack_start (GTK_BOX(hbox2),entry,TRUE,TRUE,2); button = gtk_button_new_with_label ("Search"); gtk_tooltips_set_tip(tooltips,button,"File selector for the script directory",NULL); gtk_box_pack_start (GTK_BOX(hbox2),button,FALSE,FALSE,2); g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_xsi_script_search),&info->dnj.koji_xsi); /* Buttons */ /* Create script */ bbox = gtk_hbutton_box_new (); gtk_box_pack_start (GTK_BOX(vbox),bbox,TRUE,TRUE,5); gtk_widget_show (bbox); button = gtk_button_new_with_label ("Create Script"); gtk_tooltips_set_tip(tooltips,button,"Create automagically the script based on the given information",NULL); gtk_box_pack_start (GTK_BOX(bbox),button,TRUE,TRUE,2); switch (info->dnj.koj) { case KOJ_XSI: g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_xsi_bcreate_pressed),&info->dnj); break; default: fprintf (stderr,"What ?!\n"); break; } gtk_widget_show_all(frame); return frame; }
int vrshet_v(short *god,iceb_u_str *nomdok,GtkWidget *wpredok) { vrshet_v_data data; char strsql[300]; if(*god > 0) { SQL_str row; SQLCURSOR cur; sprintf(strsql,"select * from Restdok where god=%d and nomd='%s'", *god,nomdok->ravno()); if(sql_readkey(&bd,strsql,&row,&cur) != 1) { iceb_u_str repl; repl.plus(gettext("Не найдена запись для корректировки !")); iceb_menu_soob(&repl,wpredok); return(1); } data.rekh.nomdok.new_plus(row[1]); iceb_u_rsdat(&data.rekh.d,&data.rekh.m,&data.rekh.g,row[2],2); data.rekh.nomstol.new_plus(row[4]); data.rekh.kodkl.new_plus(row[5]); data.rekh.famil.new_plus(row[6]); data.rekh.koment.new_plus(row[7]); data.rekh.metka=1; } 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); if(config_dev.metka_screen == 1) gtk_widget_set_usize(data.window,-1,600); 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); } if(*god == 0) sprintf(strsql,"%s %s",name_system,gettext("Ввод нового счета")); else 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(vrshet_v_key_press),&data); time_t vrem; struct tm *bf; time(&vrem); bf=localtime(&vrem); GtkWidget *label; if(*god == 0) { iceb_u_str nadpis; nadpis.plus(gettext("Ввод нового счета")); sprintf(strsql,"%s %d.%d.%d",gettext("Текущая дата"), bf->tm_mday, bf->tm_mon+1, bf->tm_year+1900); nadpis.ps_plus(strsql); label=gtk_label_new(nadpis.ravno_toutf()); } else 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); data.knopka_enter[E_NOMST]=gtk_button_new_with_label(gettext("Номер столика")); gtk_box_pack_start (GTK_BOX (hbox[E_NOMST]), data.knopka_enter[E_NOMST], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_NOMST]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_NOMST]),(gpointer)E_NOMST); data.entry[E_NOMST] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_NOMST]), data.entry[E_NOMST], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_NOMST]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_NOMST]),data.rekh.nomstol.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NOMST]),(gpointer)E_NOMST); data.knopka_enter[E_KODKL]=gtk_button_new_with_label(gettext("Код клиента")); gtk_box_pack_start (GTK_BOX (hbox[E_KODKL]), data.knopka_enter[E_KODKL], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KODKL]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KODKL]),(gpointer)E_KODKL); data.entry[E_KODKL] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_KODKL]), data.entry[E_KODKL], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KODKL]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KODKL]),data.rekh.kodkl.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KODKL]),(gpointer)E_KODKL); #ifdef READ_CARD extern tdcon td_server; if(td_server >= 0) { class iceb_read_card_enter_data card; card.window=data.window; card.entry=data.entry[E_KODKL]; data.timer=card.timer=gtk_timeout_add(500,(GtkFunction)iceb_read_card_enter,&card); } #endif data.knopka_enter[E_FAMIL]=gtk_button_new_with_label(gettext("Фамилия клиента")); gtk_box_pack_start (GTK_BOX (hbox[E_FAMIL]), data.knopka_enter[E_FAMIL], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_FAMIL]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_FAMIL]),(gpointer)E_FAMIL); data.entry[E_FAMIL] = gtk_entry_new_with_max_length (60); gtk_box_pack_start (GTK_BOX (hbox[E_FAMIL]), data.entry[E_FAMIL], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_FAMIL]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_FAMIL]),data.rekh.famil.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_FAMIL]),(gpointer)E_FAMIL); data.knopka_enter[E_KOMENT]=gtk_button_new_with_label(gettext("Комментарий")); gtk_box_pack_start (GTK_BOX (hbox[E_KOMENT]), data.knopka_enter[E_KOMENT], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KOMENT]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KOMENT]),(gpointer)E_KOMENT); data.entry[E_KOMENT] = gtk_entry_new_with_max_length (99); gtk_box_pack_start (GTK_BOX (hbox[E_KOMENT]), data.entry[E_KOMENT], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOMENT]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOMENT]),data.rekh.koment.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOMENT]),(gpointer)E_KOMENT); data.knopka_enter[E_PODR]=gtk_button_new_with_label(gettext("Подразделение")); gtk_box_pack_start (GTK_BOX (hbox[E_PODR]), data.knopka_enter[E_PODR], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_PODR]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_PODR]),(gpointer)E_PODR); data.entry[E_PODR] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_PODR]), data.entry[E_PODR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_PODR]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); if(kodpodr != 0) { sprintf(strsql,"%d %s",kodpodr,naimpodr.ravno()); data.rekh.podr.new_plus(strsql); } gtk_entry_set_text(GTK_ENTRY(data.entry[E_PODR]),data.rekh.podr.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_PODR]),(gpointer)E_PODR); data.knopka_enter[E_DATAZ]=gtk_button_new_with_label(gettext("Дата заказа")); gtk_box_pack_start (GTK_BOX (hbox[E_DATAZ]), data.knopka_enter[E_DATAZ], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAZ]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAZ]),(gpointer)E_DATAZ); //label=gtk_label_new(gettext("Дата заказа")); data.entry[E_DATAZ] = gtk_entry_new_with_max_length (10); //gtk_box_pack_start (GTK_BOX (hbox[nomhbox]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_DATAZ]), data.entry[E_DATAZ], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAZ]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAZ]),data.rekh.dataz.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAZ]),(gpointer)E_DATAZ); data.knopka_enter[E_VREMZ]=gtk_button_new_with_label(gettext("Время заказа")); gtk_box_pack_start (GTK_BOX (hbox[E_VREMZ]), data.knopka_enter[E_VREMZ], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_VREMZ]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_VREMZ]),(gpointer)E_VREMZ); data.entry[E_VREMZ] = gtk_entry_new_with_max_length (8); gtk_box_pack_start (GTK_BOX (hbox[E_VREMZ]), data.entry[E_VREMZ], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_VREMZ]), "activate",GTK_SIGNAL_FUNC(vrshet_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_VREMZ]),data.rekh.vremz.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_VREMZ]),(gpointer)E_VREMZ); 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(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(vrshet_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Запись введенной в меню информации"),NULL); 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(vrshet_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_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_main(); *god=data.rekh.g; nomdok->new_plus(data.rekh.nomdok.ravno()); return(data.voz); }
int zar_srninu_m(class zar_srninu_rek *rek,GtkWidget *wpredok) { class zar_srninu_m_data data; char strsql[512]; iceb_u_str kikz; data.rk=rek; 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; sprintf(strsql,"%s %s",name_system,gettext("Распечатать список работников не имеющих начисления/удержания")); label=gtk_label_new(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(zar_srninu_m_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); gtk_box_pack_start (GTK_BOX (vbox),label, TRUE, TRUE, 1); for(int i=0; i < KOLENTER; i++) gtk_box_pack_start (GTK_BOX (vbox), hbox[i], TRUE, TRUE, 1); gtk_box_pack_start (GTK_BOX (vbox), hboxknop, TRUE, TRUE, 1); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s %s",gettext("Дата начала"),gettext("(м.г)")); data.knopka_enter[E_DATAN]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.knopka_enter[E_DATAN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAN]),"clicked",GTK_SIGNAL_FUNC(zar_srninu_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAN]),(gpointer)E_DATAN); tooltips_enter[E_DATAN]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAN],data.knopka_enter[E_DATAN],gettext("Выбор даты"),NULL); data.entry[E_DATAN] = gtk_entry_new_with_max_length (7); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.entry[E_DATAN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAN]), "activate",GTK_SIGNAL_FUNC(zar_srninu_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAN]),data.rk->datan.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAN]),(gpointer)E_DATAN); sprintf(strsql,"%s %s",gettext("Дата конца"),gettext("(м.г)")); data.knopka_enter[E_DATAK]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.knopka_enter[E_DATAK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAK]),"clicked",GTK_SIGNAL_FUNC(zar_srninu_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAK]),(gpointer)E_DATAK); tooltips_enter[E_DATAK]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAK],data.knopka_enter[E_DATAK],gettext("Выбор даты"),NULL); data.entry[E_DATAK] = gtk_entry_new_with_max_length (7); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.entry[E_DATAK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAK]), "activate",GTK_SIGNAL_FUNC(zar_srninu_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAK]),data.rk->datak.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAK]),(gpointer)E_DATAK); sprintf(strsql,"%s (,,)",gettext("Код начисления")); data.knopka_enter[E_KOD_NAH]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_NAH]), data.knopka_enter[E_KOD_NAH], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KOD_NAH]),"clicked",GTK_SIGNAL_FUNC(zar_srninu_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KOD_NAH]),(gpointer)E_KOD_NAH); tooltips_enter[E_KOD_NAH]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KOD_NAH],data.knopka_enter[E_KOD_NAH],gettext("Выбор кода начисления"),NULL); data.entry[E_KOD_NAH] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_NAH]), data.entry[E_KOD_NAH], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD_NAH]), "activate",GTK_SIGNAL_FUNC(zar_srninu_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD_NAH]),data.rk->kod_nah.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD_NAH]),(gpointer)E_KOD_NAH); sprintf(strsql,"%s (,,)",gettext("Код удержания")); data.knopka_enter[E_KOD_UD]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_UD]), data.knopka_enter[E_KOD_UD], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KOD_UD]),"clicked",GTK_SIGNAL_FUNC(zar_srninu_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KOD_UD]),(gpointer)E_KOD_UD); tooltips_enter[E_KOD_UD]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KOD_UD],data.knopka_enter[E_KOD_UD],gettext("Выбор кода удержания"),NULL); data.entry[E_KOD_UD] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_UD]), data.entry[E_KOD_UD], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD_UD]), "activate",GTK_SIGNAL_FUNC(zar_srninu_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD_UD]),data.rk->kod_ud.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD_UD]),(gpointer)E_KOD_UD); sprintf(strsql,"%s (,,)",gettext("Код подразделения")); data.knopka_enter[E_PODR]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_PODR]), data.knopka_enter[E_PODR], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_PODR]),"clicked",GTK_SIGNAL_FUNC(zar_srninu_m_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_PODR]),(gpointer)E_PODR); tooltips_enter[E_PODR]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_PODR],data.knopka_enter[E_PODR],gettext("Выбор подразделения"),NULL); data.entry[E_PODR] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_PODR]), data.entry[E_PODR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_PODR]), "activate",GTK_SIGNAL_FUNC(zar_srninu_m_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_PODR]),data.rk->podr.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_PODR]),(gpointer)E_PODR); 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(zar_srninu_m_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(zar_srninu_m_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(zar_srninu_m_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); }
static GtkWidget * create_window (int confirm_mode) { GtkWidget *w; GtkWidget *win, *box; GtkWidget *wvbox, *chbox, *bbox; GtkAccelGroup *acc; gchar *msg; tooltips = gtk_tooltips_new (); /* FIXME: check the grabbing code against the one we used with the old gpg-agent */ win = gtk_window_new (GTK_WINDOW_TOPLEVEL); acc = gtk_accel_group_new (); g_signal_connect (G_OBJECT (win), "delete_event", G_CALLBACK (delete_event), NULL); #if 0 g_signal_connect (G_OBJECT (win), "destroy", G_CALLBACK (gtk_main_quit), NULL); #endif g_signal_connect (G_OBJECT (win), "size-request", G_CALLBACK (constrain_size), NULL); if (!confirm_mode) { if (pinentry->grab) g_signal_connect (G_OBJECT (win), "realize", G_CALLBACK (make_transient), NULL); /* We need to grab the keyboard when its visible! not when its mapped (there is a difference) */ g_object_set (G_OBJECT(win), "events", GDK_VISIBILITY_NOTIFY_MASK | GDK_STRUCTURE_MASK, NULL); g_signal_connect (G_OBJECT (win), pinentry->grab ? "visibility-notify-event" : "focus-in-event", G_CALLBACK (grab_keyboard), NULL); g_signal_connect (G_OBJECT (win), pinentry->grab ? "unmap-event" : "focus-out-event", G_CALLBACK (ungrab_keyboard), NULL); } gtk_window_add_accel_group (GTK_WINDOW (win), acc); wvbox = gtk_vbox_new (FALSE, HIG_LARGE * 2); gtk_container_add (GTK_CONTAINER (win), wvbox); gtk_container_set_border_width (GTK_CONTAINER (wvbox), HIG_LARGE); chbox = gtk_hbox_new (FALSE, HIG_LARGE); gtk_box_pack_start (GTK_BOX (wvbox), chbox, FALSE, FALSE, 0); w = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG); gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.0); gtk_box_pack_start (GTK_BOX (chbox), w, FALSE, FALSE, 0); box = gtk_vbox_new (FALSE, HIG_SMALL); gtk_box_pack_start (GTK_BOX (chbox), box, TRUE, TRUE, 0); if (pinentry->title) { msg = pinentry_utf8_validate (pinentry->title); gtk_window_set_title (GTK_WINDOW(win), msg); } if (pinentry->description) { msg = pinentry_utf8_validate (pinentry->description); w = gtk_label_new (msg); g_free (msg); gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.5); gtk_label_set_line_wrap (GTK_LABEL (w), TRUE); gtk_box_pack_start (GTK_BOX (box), w, TRUE, FALSE, 0); } if (pinentry->error && !confirm_mode) { GdkColor color = { 0, 0xffff, 0, 0 }; msg = pinentry_utf8_validate (pinentry->error); w = gtk_label_new (msg); g_free (msg); gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.5); gtk_label_set_line_wrap (GTK_LABEL (w), TRUE); gtk_box_pack_start (GTK_BOX (box), w, TRUE, FALSE, 0); gtk_widget_modify_fg (w, GTK_STATE_NORMAL, &color); } qualitybar = NULL; if (!confirm_mode) { GtkWidget* table = gtk_table_new (pinentry->quality_bar ? 2 : 1, 2, FALSE); gtk_box_pack_start (GTK_BOX (box), table, FALSE, FALSE, 0); if (pinentry->prompt) { msg = pinentry_utf8_validate (pinentry->prompt); w = gtk_label_new_with_mnemonic (msg); g_free (msg); gtk_misc_set_alignment (GTK_MISC (w), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), w, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 4, 0); } entry = gtk_secure_entry_new (); gtk_widget_set_size_request (entry, 200, -1); g_signal_connect (G_OBJECT (entry), "activate", G_CALLBACK (enter_callback), entry); g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (changed_text_handler), entry); gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 0, 1, GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); gtk_widget_grab_focus (entry); gtk_widget_show (entry); if (pinentry->quality_bar) { msg = pinentry_utf8_validate (pinentry->quality_bar); w = gtk_label_new (msg); g_free (msg); gtk_misc_set_alignment (GTK_MISC (w), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), w, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 4, 0); qualitybar = gtk_progress_bar_new(); gtk_widget_add_events (qualitybar, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (qualitybar), QUALITYBAR_EMPTY_TEXT); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), 0.0); if (pinentry->quality_bar_tt) gtk_tooltips_set_tip (GTK_TOOLTIPS (tooltips), qualitybar, pinentry->quality_bar_tt, ""); gtk_table_attach (GTK_TABLE (table), qualitybar, 1, 2, 1, 2, GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); } #ifdef ENABLE_ENHANCED if (pinentry->enhanced) { GtkWidget *sbox = gtk_hbox_new (FALSE, HIG_SMALL); gtk_box_pack_start (GTK_BOX (box), sbox, FALSE, FALSE, 0); w = gtk_label_new ("Forget secret after"); gtk_box_pack_start (GTK_BOX (sbox), w, FALSE, FALSE, 0); gtk_widget_show (w); time_out = gtk_spin_button_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, HUGE_VAL, 1, 60, 60)), 2, 0); gtk_box_pack_start (GTK_BOX (sbox), time_out, FALSE, FALSE, 0); gtk_widget_show (time_out); w = gtk_label_new ("seconds"); gtk_box_pack_start (GTK_BOX (sbox), w, FALSE, FALSE, 0); gtk_widget_show (w); gtk_widget_show (sbox); insure = gtk_check_button_new_with_label ("ask before giving out " "secret"); gtk_box_pack_start (GTK_BOX (box), insure, FALSE, FALSE, 0); gtk_widget_show (insure); } #endif } bbox = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); gtk_box_set_spacing (GTK_BOX (bbox), 6); gtk_box_pack_start (GTK_BOX (wvbox), bbox, TRUE, FALSE, 0); if (!pinentry->one_button) { if (pinentry->cancel) { msg = pinentry_utf8_validate (pinentry->cancel); w = gtk_button_new_with_mnemonic (msg); g_free (msg); } else if (pinentry->default_cancel) { GtkWidget *image; msg = pinentry_utf8_validate (pinentry->default_cancel); w = gtk_button_new_with_mnemonic (msg); g_free (msg); image = gtk_image_new_from_stock (GTK_STOCK_CANCEL, GTK_ICON_SIZE_BUTTON); if (image) gtk_button_set_image (GTK_BUTTON (w), image); } else w = gtk_button_new_from_stock (GTK_STOCK_CANCEL); gtk_container_add (GTK_CONTAINER (bbox), w); g_signal_connect (G_OBJECT (w), "clicked", G_CALLBACK (confirm_mode ? confirm_button_clicked : button_clicked), (gpointer) CONFIRM_CANCEL); GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); } if (confirm_mode && !pinentry->one_button && pinentry->notok) { msg = pinentry_utf8_validate (pinentry->notok); w = gtk_button_new_with_mnemonic (msg); g_free (msg); gtk_container_add (GTK_CONTAINER (bbox), w); g_signal_connect (G_OBJECT (w), "clicked", G_CALLBACK (confirm_button_clicked), (gpointer) CONFIRM_NOTOK); GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); } if (pinentry->ok) { msg = pinentry_utf8_validate (pinentry->ok); w = gtk_button_new_with_mnemonic (msg); g_free (msg); } else if (pinentry->default_ok) { GtkWidget *image; msg = pinentry_utf8_validate (pinentry->default_ok); w = gtk_button_new_with_mnemonic (msg); g_free (msg); image = gtk_image_new_from_stock (GTK_STOCK_OK, GTK_ICON_SIZE_BUTTON); if (image) gtk_button_set_image (GTK_BUTTON (w), image); } else w = gtk_button_new_from_stock (GTK_STOCK_OK); gtk_container_add (GTK_CONTAINER(bbox), w); if (!confirm_mode) { g_signal_connect (G_OBJECT (w), "clicked", G_CALLBACK (button_clicked), "ok"); GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); gtk_widget_grab_default (w); g_signal_connect_object (G_OBJECT (entry), "focus_in_event", G_CALLBACK (gtk_widget_grab_default), G_OBJECT (w), 0); } else { g_signal_connect (G_OBJECT (w), "clicked", G_CALLBACK(confirm_button_clicked), (gpointer) CONFIRM_OK); GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); } gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); gtk_window_set_keep_above (GTK_WINDOW (win), TRUE); gtk_widget_show_all (win); gtk_window_present (GTK_WINDOW (win)); /* Make sure it has the focus. */ if (pinentry->timeout > 0) g_timeout_add (pinentry->timeout*1000, timeout_cb, NULL); return win; }
void greeter_session_init (void) { GtkWidget *w = NULL; GtkWidget *hbox = NULL; GtkWidget *main_vbox = NULL; GtkWidget *vbox = NULL; GtkWidget *cat_vbox = NULL; GtkWidget *radio; GtkWidget *dialog; GtkWidget *button; GList *tmp; static GtkTooltips *tooltips = NULL; GtkRequisition req; char *s; int num = 1; char *label; greeter_set_session (NULL); session_dialog = dialog = gtk_dialog_new (); if (tooltips == NULL) tooltips = gtk_tooltips_new (); gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); button = gtk_button_new_with_mnemonic (_("Change _Session")); GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); gtk_widget_show (button); gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, GTK_RESPONSE_OK); gtk_container_set_border_width (GTK_CONTAINER (dialog), 5); gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 2); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); main_vbox = gtk_vbox_new (FALSE, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 5); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), main_vbox, FALSE, FALSE, 0); cat_vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (main_vbox), cat_vbox, FALSE, FALSE, 0); s = g_strdup_printf ("<b>%s</b>", _("Sessions")); w = gtk_label_new (s); gtk_label_set_use_markup (GTK_LABEL (w), TRUE); g_free (s); gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (cat_vbox), w, FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (cat_vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (" "), FALSE, FALSE, 0); vbox = gtk_vbox_new (FALSE, 6); /* we will pack this later depending on size */ if (mdm_config_get_bool (MDM_KEY_SHOW_LAST_SESSION)) { greeter_set_session (LAST_SESSION); radio = gtk_radio_button_new_with_mnemonic (session_group, _("_Last session")); g_object_set_data (G_OBJECT (radio), SESSION_NAME, LAST_SESSION); session_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); gtk_tooltips_set_tip (tooltips, radio, _("Log in using the session that you have used " "last time you logged in"), NULL); gtk_box_pack_start (GTK_BOX (vbox), radio, FALSE, FALSE, 0); gtk_widget_show (radio); } mdm_session_list_init (); for (tmp = sessions; tmp != NULL; tmp = tmp->next) { MdmSession *session; char *file; file = (char *) tmp->data; session = g_hash_table_lookup (sessnames, file); if (num < 10 && (strcmp (file, MDM_SESSION_FAILSAFE_GNOME) != 0) && (strcmp (file, MDM_SESSION_FAILSAFE_XTERM) != 0)) label = g_strdup_printf ("_%d. %s", num, session->name); else label = g_strdup (session->name); num++; radio = gtk_radio_button_new_with_mnemonic (session_group, label); g_free (label); g_object_set_data_full (G_OBJECT (radio), SESSION_NAME, file, (GDestroyNotify) g_free); session_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); gtk_box_pack_start (GTK_BOX (vbox), radio, FALSE, FALSE, 0); gtk_widget_show (radio); if (! ve_string_empty (session->comment)) gtk_tooltips_set_tip (tooltips, GTK_WIDGET (radio), session->comment, NULL); } gtk_widget_show_all (vbox); gtk_widget_size_request (vbox, &req); /* if too large */ if (req.height > 0.7 * mdm_wm_screen.height) { GtkWidget *sw = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_size_request (sw, req.width, 0.7 * mdm_wm_screen.height); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_NONE); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), vbox); gtk_widget_show (sw); gtk_box_pack_start (GTK_BOX (hbox), sw, TRUE, TRUE, 0); } else { gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); } }
void glkni_nbs_m() { glkni_nbs_rr rek_ras; glkni_nbs_data data; data.rek_r=&rek_ras; if(data.rek_r->datan.getdlinna() == 0) data.rek_r->clear_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(glkni_nbs_v_key_press),&data); 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); GtkWidget *hboxradio = gtk_hbox_new (FALSE, 0); //Вставляем радиокнопки GSList *group; data.radiobutton[0]=gtk_radio_button_new_with_label(NULL,gettext("Расчет по субсчетам")); if(data.rek_r->metka_r == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[0]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton[0]), "clicked",GTK_SIGNAL_FUNC(glkni_nbs_radio0),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[0])); data.radiobutton[1]=gtk_radio_button_new_with_label(group,gettext("Расчет по счетам")); if(data.rek_r->metka_r == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[1]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[1]), "clicked",GTK_SIGNAL_FUNC(glkni_nbs_radio1),&data); gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[1], TRUE, TRUE, 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), hboxradio); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s",gettext("Дата начала")); data.knopka_enter[E_DATAN]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.knopka_enter[E_DATAN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAN]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAN]),(gpointer)E_DATAN); tooltips_enter[E_DATAN]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAN],data.knopka_enter[E_DATAN],gettext("Выбор даты начала отчёта"),NULL); data.entry[E_DATAN] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.entry[E_DATAN], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAN]), "activate",GTK_SIGNAL_FUNC(glkni_nbs_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAN]),data.rek_r->datan.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAN]),(gpointer)E_DATAN); sprintf(strsql,"%s",gettext("Дата конца")); data.knopka_enter[E_DATAK]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.knopka_enter[E_DATAK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAK]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAK]),(gpointer)E_DATAK); tooltips_enter[E_DATAK]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAK],data.knopka_enter[E_DATAK],gettext("Выбор даты конца отчёта"),NULL); data.entry[E_DATAK] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.entry[E_DATAK], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAK]), "activate",GTK_SIGNAL_FUNC(glkni_nbs_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAK]),data.rek_r->datak.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAK]),(gpointer)E_DATAK); sprintf(strsql,"%s (,,)",gettext("Счет")); data.knopka_enter[E_SHET]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.knopka_enter[E_SHET], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_SHET]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_SHET]),(gpointer)E_SHET); tooltips_enter[E_SHET]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_SHET],data.knopka_enter[E_SHET],gettext("Выбор счёта в плане счетов"),NULL); data.entry[E_SHET] = gtk_entry_new(); 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(glkni_nbs_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHET]),data.rek_r->shet.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHET]),(gpointer)E_SHET); 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(glkni_nbs_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(glkni_nbs_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(glkni_nbs_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) { glkni_nbs_r(&rek_ras); } }
int sklkar_m(iceb_u_str *skl,iceb_u_str *n_kar,GtkWidget *wpredok) { sklkar_m_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); 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(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(sklkar_m_v_key_press),&data); 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_SKL] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_SKL]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_SKL]), data.entry[E_SKL], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SKL]), "activate",GTK_SIGNAL_FUNC(sklkar_m_v_vvod),&data); if(data.skl.ravno() != NULL) gtk_entry_set_text(GTK_ENTRY(data.entry[E_SKL]),data.skl.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SKL]),(gpointer)E_SKL); label=gtk_label_new(gettext("Номер карточки")); data.entry[E_NKART] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_NKART]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_NKART]), data.entry[E_NKART], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_NKART]), "activate",GTK_SIGNAL_FUNC(sklkar_m_v_vvod),&data); if(data.n_kar.ravno() != NULL) gtk_entry_set_text(GTK_ENTRY(data.entry[E_NKART]),data.n_kar.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NKART]),(gpointer)E_NKART); 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(sklkar_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(sklkar_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,"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(sklkar_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,"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(sklkar_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(data.voz == 0) { skl->new_plus(data.skl.ravno()); n_kar->new_plus(data.n_kar.ravno()); } return(data.voz); }
GtkWidget * dnj_koj_frame_mantra (struct drqm_jobs_info *info) { GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox,*hbox2; GtkWidget *label; GtkWidget *entry; GtkWidget *button; GtkWidget *bbox; GtkWidget *cbutton; GtkTooltips *tooltips; struct passwd *pw; tooltips = TooltipsNew (); /* Frame */ frame = gtk_frame_new ("Mantra job information"); /* Main vbox */ vbox = gtk_vbox_new (FALSE,2); gtk_container_add (GTK_CONTAINER(frame),vbox); /* Scene file */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Scene file:"); gtk_box_pack_start (GTK_BOX(hbox),label,TRUE,TRUE,2); hbox2 = gtk_hbox_new (FALSE,0); gtk_box_pack_start (GTK_BOX(hbox),hbox2,TRUE,TRUE,0); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); info->dnj.koji_mantra.escene = entry; gtk_tooltips_set_tip(tooltips,entry,"File name of the mantra scene file that should be rendered",NULL); gtk_box_pack_start (GTK_BOX(hbox2),entry,TRUE,TRUE,2); button = gtk_button_new_with_label ("Search"); gtk_tooltips_set_tip(tooltips,button,"File selector for the mantra scene file",NULL); gtk_box_pack_start (GTK_BOX(hbox2),button,FALSE,FALSE,2); g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_mantra_scene_search),&info->dnj.koji_mantra); /* Render directory */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Render directory:"); gtk_box_pack_start (GTK_BOX(hbox),label,TRUE,TRUE,2); hbox2 = gtk_hbox_new (FALSE,0); gtk_box_pack_start (GTK_BOX(hbox),hbox2,TRUE,TRUE,0); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Directory where the images should be stored",NULL); info->dnj.koji_mantra.erenderdir = entry; gtk_tooltips_set_tip(tooltips,entry,"Folder name of the mantra scene file that should be send to",NULL); gtk_box_pack_start (GTK_BOX(hbox2),entry,TRUE,TRUE,2); button = gtk_button_new_with_label ("Search"); gtk_tooltips_set_tip(tooltips,button,"File selector for the mantra render directory",NULL); gtk_box_pack_start (GTK_BOX(hbox2),button,FALSE,FALSE,2); g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_mantra_renderdir_search),&info->dnj.koji_mantra); // Raytracing Mode ? hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label ("Raytracing Mode"); gtk_box_pack_start (GTK_BOX(hbox),cbutton,FALSE,FALSE,2); gtk_tooltips_set_tip(tooltips,cbutton,"Should we render without micro polygon ?",NULL); info->dnj.koji_mantra.cbraytrace = cbutton; // Antialias ? cbutton = gtk_check_button_new_with_label ("Antialias off"); gtk_box_pack_start (GTK_BOX(hbox),cbutton,FALSE,FALSE,2); gtk_tooltips_set_tip(tooltips,cbutton,"Should we render without anti-aliasing ?",NULL); info->dnj.koji_mantra.cbaaoff = cbutton; /* Custom bucketsize */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label ("BucketSize:"); info->dnj.koji_mantra.cbbucket = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbbucket_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.ebucket = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify bucket size for render (eg. 64)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Level of Details */ cbutton = gtk_check_button_new_with_label ("Level of Details:"); info->dnj.koji_mantra.cblod = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cblod_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.elod = entry; gtk_tooltips_set_tip(tooltips,entry,"Global level of detail factor (ray-traced shading rate)(eg. 1)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* variance of antialias */ cbutton = gtk_check_button_new_with_label ("Variance of Anti-Alias:"); info->dnj.koji_mantra.cbvaryaa = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbvaryaa_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.evaryaa = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify variance anti-aliasing threshold (eg. 0.015)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* bit of depth */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label ("Bit-Depth:"); info->dnj.koji_mantra.cbbd = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbbd_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.ebd = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify bit-depth of output image (color image only)(eg. 0)\n" "0 - Use the 'natural' bit depth\n" "8 - Generate 8 bits per color channel\n" "16 - Generate 16 bits per color channel\n" "32 - Floating point data per color channel",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Z depth image */ cbutton = gtk_check_button_new_with_label ("Z-Depth Image:"); info->dnj.koji_mantra.cbzDepth = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbzDepth_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.ezDepth = entry; gtk_tooltips_set_tip(tooltips,entry,"z-depth image (eg. average)\n" "\"average\" - average z-depth\n" "\"closest\" - closest z-depth",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Cracks */ cbutton = gtk_check_button_new_with_label ("Cracks:"); info->dnj.koji_mantra.cbCracks = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbCracks_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eCracks = entry; gtk_tooltips_set_tip(tooltips,entry,"Set coving options for dealing with patch cracks (eg. 0)\n" "0 - No coving of patch cracks\n" "1 - Cove displaced and sub-division surfaces\n" "2 - Forced coving of all primitives",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Quality */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label ("Quality:"); info->dnj.koji_mantra.cbQuality = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbQuality_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eQuality = entry; gtk_tooltips_set_tip(tooltips,entry,"Set render quality (0 to 10)(eg. 0)\n" "Below 9 - turns off motion blur\n" "Below 8 - turns off depth of field\n" "Below 5 - turns off ray tracing",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Quality Finer */ cbutton = gtk_check_button_new_with_label ("Quality Finer:"); info->dnj.koji_mantra.cbQFiner = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbQFiner_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eQFiner = entry; gtk_tooltips_set_tip(tooltips,entry,"Finer control over render quality (eg. 'b' or 'bdr')\n" "If the arg contains a 'b' - motion blur is turned off\n" "If it contains a 'd' - depth of field is turned off\n" "If it contains a 'r' - all ray tracing is turned off\n" "If it contains a 'i' - all irradiance/occlusion is turned off",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Shading Multiplier */ cbutton = gtk_check_button_new_with_label ("Shading Multiplier:"); info->dnj.koji_mantra.cbSMultiplier = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbSMultiplier_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eSMultiplier = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify shading quality multiplier (eg. 1)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Multi-Polygon Cache */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label ("Multi-Polygon Cache:"); info->dnj.koji_mantra.cbMPCache = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbMPCache_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eMPCache = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify micro-polygon cache size (eg. 4096)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Mesh Cache */ cbutton = gtk_check_button_new_with_label ("Mesh Cache:"); info->dnj.koji_mantra.cbMCache = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbMCache_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eMCache = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify ray mesh cache size (eg. 1024)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Split Micro-Polygon */ cbutton = gtk_check_button_new_with_label ("Split Micro-Polygon:"); info->dnj.koji_mantra.cbSMPolygon = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbSMPolygon_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eSMPolygon = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify micro-polygon maximum splits (eg. 10)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Custom width and height for output image */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); cbutton = gtk_check_button_new_with_label ("Output Image Size (width,height):"); info->dnj.koji_mantra.cbWH = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_flags_cbWH_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eWidth = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify width of output image (eg. 720)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eHeight = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify height of output image (eg. 574)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Output Type */ cbutton = gtk_check_button_new_with_label ("Output Type:"); info->dnj.koji_mantra.cbType = cbutton; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton),FALSE); g_signal_connect (G_OBJECT(cbutton),"toggled",G_CALLBACK(dnj_koj_frame_mantra_cbType_toggled),info); gtk_box_pack_start(GTK_BOX(hbox),cbutton,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_widget_set_sensitive(GTK_WIDGET(entry),FALSE); info->dnj.koji_mantra.eType = entry; gtk_tooltips_set_tip(tooltips,entry,"Specify type output image (eg. exr or tga)",NULL); gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,TRUE,2); /* File Owner */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Owner of rendered files:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"After rendering the ownership of the " "rendered files will be changed to this. By default it " "is the same as the owner of the job",NULL); info->dnj.koji_mantra.efile_owner = entry; if (!(pw = (struct passwd*) getpwuid(geteuid()))) { gtk_entry_set_text(GTK_ENTRY(entry),"ERROR"); } else { gtk_entry_set_text(GTK_ENTRY(entry),(char*)pw->pw_name); } gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* View command */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("View command:"); gtk_box_pack_start (GTK_BOX(hbox),label,FALSE,FALSE,2); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Command that will be executed when you select 'Watch image' " "in the frames list (inside the detailed job view)",NULL); info->dnj.koji_mantra.eviewcmd = entry; gtk_entry_set_text(GTK_ENTRY(entry),KOJ_MANTRA_DFLT_VIEWCMD); gtk_box_pack_start (GTK_BOX(hbox),entry,TRUE,TRUE,2); /* Script directory */ hbox = gtk_hbox_new (TRUE,2); gtk_box_pack_start (GTK_BOX(vbox),hbox,FALSE,FALSE,2); label = gtk_label_new ("Script directory:"); gtk_box_pack_start (GTK_BOX(hbox),label,TRUE,TRUE,2); hbox2 = gtk_hbox_new (FALSE,0); gtk_box_pack_start (GTK_BOX(hbox),hbox2,TRUE,TRUE,0); entry = gtk_entry_new_with_max_length (BUFFERLEN-1); gtk_tooltips_set_tip(tooltips,entry,"Directory in which, in case of using the automatic " "script generator, the command script will be saved.",NULL); info->dnj.koji_mantra.escript = entry; gtk_entry_set_text (GTK_ENTRY(entry),mantrasg_default_script_path()); gtk_box_pack_start (GTK_BOX(hbox2),entry,TRUE,TRUE,2); button = gtk_button_new_with_label ("Search"); gtk_tooltips_set_tip(tooltips,button,"File selector for the script directory",NULL); gtk_box_pack_start (GTK_BOX(hbox2),button,FALSE,FALSE,2); g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_mantra_script_search),&info->dnj.koji_mantra); /* Buttons */ /* Create script */ bbox = gtk_hbutton_box_new (); gtk_box_pack_start (GTK_BOX(vbox),bbox,TRUE,TRUE,5); gtk_widget_show (bbox); button = gtk_button_new_with_label ("Create Script"); gtk_tooltips_set_tip(tooltips,button,"Create automagically the script based on the given information",NULL); gtk_box_pack_start (GTK_BOX(bbox),button,TRUE,TRUE,2); switch (info->dnj.koj) { case KOJ_MANTRA: g_signal_connect (G_OBJECT(button),"clicked", G_CALLBACK(dnj_koj_frame_mantra_bcreate_pressed),&info->dnj); break; default: fprintf (stderr,"What ?!\n"); break; } gtk_widget_show_all(frame); return frame; }
GtkWidget *create_TextFileDialog (bool do_file) { GtkWidget *TextFileDialog; GtkWidget *vbox42; GtkWidget *hbox105 = NULL; GtkWidget *label196 = NULL; GtkWidget *FileNameLabel = NULL; GtkWidget *LineEntry; GtkWidget *hbox111; GtkWidget *vbox43; GtkWidget *StartButton; GtkWidget *alignment32; GtkWidget *hbox112; GtkWidget *image38; GtkWidget *label204; GtkWidget *vbox44; GtkWidget *vbox45; GtkWidget *PrevButton; GtkWidget *alignment33; GtkWidget *hbox113; GtkWidget *image39; GtkWidget *label205; GtkWidget *label206; GtkWidget *vbox46; GtkWidget *NextButton; GtkWidget *alignment34; GtkWidget *hbox114; GtkWidget *label207; GtkWidget *image40; GtkWidget *vbox47; GtkWidget *EndButton; GtkWidget *alignment35; GtkWidget *hbox115; GtkWidget *label208; GtkWidget *image41; GtkWidget *label209; GtkWidget *vbox48; GtkWidget *SendButton; GtkWidget *alignment36; GtkWidget *hbox116; GtkWidget *label210; GtkWidget *image42; GtkWidget *statusbar2; GtkTooltips *tooltips; tooltips = gtk_tooltips_new(); TextFileDialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(TextFileDialog), _("Text File Transmission")); gtk_window_set_position(GTK_WINDOW(TextFileDialog), GTK_WIN_POS_CENTER); vbox42 = gtk_vbox_new(FALSE, 13); gtk_widget_show(vbox42); gtk_container_add(GTK_CONTAINER(TextFileDialog), vbox42); if (do_file) { hbox105 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox105); gtk_box_pack_start(GTK_BOX(vbox42), hbox105, FALSE, FALSE, 0); label196 = gtk_label_new(_("File Name:")); gtk_widget_show(label196); gtk_box_pack_start(GTK_BOX(hbox105), label196, TRUE, TRUE, 0); gtk_misc_set_padding(GTK_MISC(label196), 0, 9); FileNameLabel = gtk_label_new(""); gtk_widget_show(FileNameLabel); gtk_box_pack_start(GTK_BOX(hbox105), FileNameLabel, TRUE, TRUE, 0); } LineEntry = gtk_entry_new(); gtk_widget_show(LineEntry); gtk_box_pack_start(GTK_BOX(vbox42), LineEntry, FALSE, FALSE, 0); hbox111 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox111); gtk_box_pack_start(GTK_BOX(vbox42), hbox111, TRUE, TRUE, 0); vbox43 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox43); gtk_box_pack_start(GTK_BOX(hbox111), vbox43, FALSE, TRUE, 0); StartButton = gtk_button_new(); gtk_widget_show(StartButton); gtk_box_pack_start(GTK_BOX(vbox43), StartButton, TRUE, FALSE, 0); gtk_tooltips_set_tip(tooltips, StartButton, _("Move to beginning of file"), NULL); alignment32 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment32); gtk_container_add(GTK_CONTAINER(StartButton), alignment32); hbox112 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox112); gtk_container_add(GTK_CONTAINER(alignment32), hbox112); image38 = gtk_image_new_from_stock("gtk-goto-first", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image38); gtk_box_pack_start(GTK_BOX(hbox112), image38, FALSE, FALSE, 0); label204 = gtk_label_new_with_mnemonic(_("Start")); gtk_widget_show(label204); gtk_box_pack_start(GTK_BOX(hbox112), label204, FALSE, FALSE, 0); vbox44 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox44); gtk_box_pack_start(GTK_BOX(hbox111), vbox44, FALSE, TRUE, 0); vbox45 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox45); gtk_box_pack_start(GTK_BOX(vbox44), vbox45, TRUE, FALSE, 0); PrevButton = gtk_button_new(); gtk_widget_show(PrevButton); gtk_box_pack_start(GTK_BOX(vbox45), PrevButton, TRUE, FALSE, 0); gtk_tooltips_set_tip(tooltips, PrevButton, _("Move to previous entry"), NULL); alignment33 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment33); gtk_container_add(GTK_CONTAINER(PrevButton), alignment33); hbox113 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox113); gtk_container_add(GTK_CONTAINER(alignment33), hbox113); image39 = gtk_image_new_from_stock("gtk-go-back", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image39); gtk_box_pack_start(GTK_BOX(hbox113), image39, FALSE, FALSE, 0); label205 = gtk_label_new_with_mnemonic(_("Previous")); gtk_widget_show(label205); gtk_box_pack_start(GTK_BOX(hbox113), label205, FALSE, FALSE, 0); label206 = gtk_label_new(""); gtk_widget_show(label206); gtk_box_pack_start(GTK_BOX(hbox111), label206, TRUE, TRUE, 11); vbox46 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox46); gtk_box_pack_start(GTK_BOX(hbox111), vbox46, TRUE, TRUE, 0); NextButton = gtk_button_new(); gtk_widget_show(NextButton); gtk_box_pack_start(GTK_BOX(vbox46), NextButton, TRUE, FALSE, 0); gtk_tooltips_set_tip(tooltips, NextButton, _("Move to next entry"), NULL); alignment34 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment34); gtk_container_add(GTK_CONTAINER(NextButton), alignment34); hbox114 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox114); gtk_container_add(GTK_CONTAINER(alignment34), hbox114); label207 = gtk_label_new_with_mnemonic(_("Next")); gtk_widget_show(label207); gtk_box_pack_start(GTK_BOX(hbox114), label207, FALSE, FALSE, 0); image40 = gtk_image_new_from_stock("gtk-go-forward", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image40); gtk_box_pack_start(GTK_BOX(hbox114), image40, FALSE, FALSE, 0); vbox47 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox47); gtk_box_pack_start(GTK_BOX(hbox111), vbox47, TRUE, TRUE, 0); EndButton = gtk_button_new(); gtk_widget_show(EndButton); gtk_box_pack_start(GTK_BOX(vbox47), EndButton, TRUE, FALSE, 0); gtk_tooltips_set_tip(tooltips, EndButton, _("Move to last entry in file"), NULL); alignment35 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment35); gtk_container_add(GTK_CONTAINER(EndButton), alignment35); hbox115 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox115); gtk_container_add(GTK_CONTAINER(alignment35), hbox115); label208 = gtk_label_new_with_mnemonic(_("End")); gtk_widget_show(label208); gtk_box_pack_start(GTK_BOX(hbox115), label208, FALSE, FALSE, 0); image41 = gtk_image_new_from_stock("gtk-goto-last", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image41); gtk_box_pack_start(GTK_BOX(hbox115), image41, FALSE, FALSE, 0); label209 = gtk_label_new(""); gtk_widget_show(label209); gtk_box_pack_start(GTK_BOX(hbox111), label209, TRUE, TRUE, 26); vbox48 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox48); gtk_box_pack_start(GTK_BOX(hbox111), vbox48, TRUE, FALSE, 0); SendButton = gtk_button_new(); gtk_widget_show(SendButton); gtk_box_pack_start(GTK_BOX(vbox48), SendButton, TRUE, FALSE, 0); gtk_tooltips_set_tip(tooltips, SendButton, _("Transmit file"), NULL); alignment36 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment36); gtk_container_add(GTK_CONTAINER(SendButton), alignment36); hbox116 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox116); gtk_container_add(GTK_CONTAINER(alignment36), hbox116); label210 = gtk_label_new_with_mnemonic(_("Send")); gtk_widget_show(label210); gtk_box_pack_start(GTK_BOX(hbox116), label210, FALSE, FALSE, 0); image42 = gtk_image_new_from_stock("gtk-ok", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image42); gtk_box_pack_start(GTK_BOX(hbox116), image42, FALSE, FALSE, 0); statusbar2 = gtk_statusbar_new (); gtk_widget_show (statusbar2); gtk_box_pack_start (GTK_BOX (vbox42), statusbar2, FALSE, FALSE, 0); g_signal_connect((gpointer) TextFileDialog, "delete_event", G_CALLBACK(on_TextFileDialog_delete_event), NULL); g_signal_connect((gpointer) TextFileDialog, "destroy", G_CALLBACK(on_TextFileDialog_destroy), NULL); if (do_file) { g_signal_connect((gpointer) StartButton, "clicked", G_CALLBACK(on_StartButton_clicked), TextFileDialog); g_signal_connect((gpointer) PrevButton, "clicked", G_CALLBACK(on_PrevButton_clicked), TextFileDialog); g_signal_connect((gpointer) NextButton, "clicked", G_CALLBACK(on_NextButton_clicked), TextFileDialog); g_signal_connect((gpointer) EndButton, "clicked", G_CALLBACK(on_EndButton_clicked), TextFileDialog); } g_signal_connect((gpointer) SendButton, "clicked", G_CALLBACK(on_SendButton_clicked), TextFileDialog); g_signal_connect((gpointer)LineEntry, "activate", G_CALLBACK(on_LineEntry_activate), TextFileDialog); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF(TextFileDialog, TextFileDialog, "TextFileDialog"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox42, "vbox42"); if (hbox105 != NULL) { GLADE_HOOKUP_OBJECT(TextFileDialog, hbox105, "hbox105"); GLADE_HOOKUP_OBJECT(TextFileDialog, label196, "label196"); GLADE_HOOKUP_OBJECT(TextFileDialog, FileNameLabel, "FileNameLabel"); } GLADE_HOOKUP_OBJECT(TextFileDialog, LineEntry, "LineEntry"); GLADE_HOOKUP_OBJECT(TextFileDialog, hbox111, "hbox111"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox43, "vbox43"); GLADE_HOOKUP_OBJECT(TextFileDialog, StartButton, "StartButton"); GLADE_HOOKUP_OBJECT(TextFileDialog, alignment32, "alignment32"); GLADE_HOOKUP_OBJECT(TextFileDialog, hbox112, "hbox112"); GLADE_HOOKUP_OBJECT(TextFileDialog, image38, "image38"); GLADE_HOOKUP_OBJECT(TextFileDialog, label204, "label204"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox44, "vbox44"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox45, "vbox45"); GLADE_HOOKUP_OBJECT(TextFileDialog, PrevButton, "PrevButton"); GLADE_HOOKUP_OBJECT(TextFileDialog, alignment33, "alignment33"); GLADE_HOOKUP_OBJECT(TextFileDialog, hbox113, "hbox113"); GLADE_HOOKUP_OBJECT(TextFileDialog, image39, "image39"); GLADE_HOOKUP_OBJECT(TextFileDialog, label205, "label205"); GLADE_HOOKUP_OBJECT(TextFileDialog, label206, "label206"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox46, "vbox46"); GLADE_HOOKUP_OBJECT(TextFileDialog, NextButton, "NextButton"); GLADE_HOOKUP_OBJECT(TextFileDialog, alignment34, "alignment34"); GLADE_HOOKUP_OBJECT(TextFileDialog, hbox114, "hbox114"); GLADE_HOOKUP_OBJECT(TextFileDialog, label207, "label207"); GLADE_HOOKUP_OBJECT(TextFileDialog, image40, "image40"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox47, "vbox47"); GLADE_HOOKUP_OBJECT(TextFileDialog, EndButton, "EndButton"); GLADE_HOOKUP_OBJECT(TextFileDialog, alignment35, "alignment35"); GLADE_HOOKUP_OBJECT(TextFileDialog, hbox115, "hbox115"); GLADE_HOOKUP_OBJECT(TextFileDialog, label208, "label208"); GLADE_HOOKUP_OBJECT(TextFileDialog, image41, "image41"); GLADE_HOOKUP_OBJECT(TextFileDialog, label209, "label209"); GLADE_HOOKUP_OBJECT(TextFileDialog, vbox48, "vbox48"); GLADE_HOOKUP_OBJECT(TextFileDialog, SendButton, "SendButton"); GLADE_HOOKUP_OBJECT(TextFileDialog, alignment36, "alignment36"); GLADE_HOOKUP_OBJECT(TextFileDialog, hbox116, "hbox116"); GLADE_HOOKUP_OBJECT(TextFileDialog, label210, "label210"); GLADE_HOOKUP_OBJECT(TextFileDialog, image42, "image42"); GLADE_HOOKUP_OBJECT_NO_REF(TextFileDialog, tooltips, "tooltips"); GLADE_HOOKUP_OBJECT (TextFileDialog, statusbar2, "statusbar2"); if (do_file) { text_file_data_t *tptr = MALLOC_STRUCTURE(text_file_data_t); memset(tptr, 0, sizeof(*tptr)); const char *fname = MyConfig->GetStringValue(CONFIG_TEXT_SOURCE_FILE_NAME); tptr->m_file = fopen(fname, "r"); if (tptr->m_file == NULL) { char buffer[PATH_MAX]; snprintf(buffer, PATH_MAX, "Can't open file %s", fname); ShowMessage("Can't open file",buffer); gtk_widget_destroy(TextFileDialog); return NULL; } gtk_label_set_text(GTK_LABEL(FileNameLabel), fname); ReadNextLine(tptr); DisplayLineInBuffer(TextFileDialog, tptr); GLADE_HOOKUP_OBJECT_NO_REF(TextFileDialog, tptr, "TextFileData"); } else { gtk_widget_set_sensitive(StartButton, false); gtk_widget_set_sensitive(PrevButton, false); gtk_widget_set_sensitive(NextButton, false); gtk_widget_set_sensitive(EndButton, false); GLADE_HOOKUP_OBJECT_NO_REF(TextFileDialog, NULL, "TextFileData"); } gtk_drag_dest_set(TextFileDialog, GTK_DEST_DEFAULT_ALL, drop_types, NUM_ELEMENTS_IN_ARRAY(drop_types), GDK_ACTION_COPY); gtk_drag_dest_set(LineEntry, GTK_DEST_DEFAULT_ALL, drop_types, NUM_ELEMENTS_IN_ARRAY(drop_types), GDK_ACTION_COPY); g_signal_connect((gpointer)TextFileDialog, "drag_data_received", G_CALLBACK(on_drag_data_received), TextFileDialog); g_signal_connect((gpointer)LineEntry, "drag_data_received", G_CALLBACK(on_drag_data_received_entry), TextFileDialog); gtk_widget_show(TextFileDialog); if (do_file) { gtk_widget_grab_focus(SendButton); on_SendButton_clicked(GTK_BUTTON(SendButton), TextFileDialog); } else { gtk_widget_grab_focus(LineEntry); } return TextFileDialog; }
int l_spisok(int metka, //0-список складов 1-список групп 2-список подразделений в услугах 3-список групп услуг 100-список единиц измерения int skl, //склад для списка групп iceb_u_str *kodv, //Возвращаемый код int podr, //подразделение для которого нужно выбрать список складов GtkWidget *wpredok) { spisok_data data; char strsql[300]; printf("l_spisok %d %d\n",metka,skl); data.metka_sp=metka; data.skl=skl; data.podr=podr; 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),-1,600); //gdk_color_parse("black",&color); //gtk_widget_modify_bg(data.window,GTK_STATE_NORMAL,&color); if(metka == 0) sprintf(strsql,"%s %s",name_system,gettext("Список складов")); if(metka == 1) sprintf(strsql,"%s %s",name_system,gettext("Список групп")); if(metka == 2) sprintf(strsql,"%s %s",name_system,gettext("Список подразделений")); if(metka == 3) 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) { 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(spisok_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(spisok_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); 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]), "pressed",GTK_SIGNAL_FUNC(l_spisok_knopka_vverh_press),&data); gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VVERH]), "released",GTK_SIGNAL_FUNC(l_spisok_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); 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]), "pressed",GTK_SIGNAL_FUNC(l_spisok_knopka_vniz_press),&data); gtk_signal_connect(GTK_OBJECT(data.knopka[FK_VNIZ]), "released",GTK_SIGNAL_FUNC(l_spisok_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(spisok_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]); spisok_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_spisok end\n"); kodv->new_plus(data.kod.ravno()); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }
int l_uplgo(int metka_rr, //0-ввод и корек. 1-выбор iceb_u_str *kod,iceb_u_str *naim,GtkWidget *wpredok) { l_uplgo_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_uplgo_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,1); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE,1); 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,1); 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,1); 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,1); gtk_box_pack_end (GTK_BOX (vbox2), data.sw, TRUE, TRUE,1); //Кнопки 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,1); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(l_uplgo_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,1); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(l_uplgo_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,1); gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(l_uplgo_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,1); gtk_signal_connect(GTK_OBJECT(data.knopka[SFK3]), "clicked",GTK_SIGNAL_FUNC(l_uplgo_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_uplgo_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4],TRUE,TRUE,1); 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,1); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(l_uplgo_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,1); 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_uplgo_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_uplgo_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); }
GtkWidget* DIA_ocr (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *frame5; GtkWidget *table1; GtkWidget *labelNbGlyphs; GtkWidget *labelTime; GtkWidget *labelNbLines; GtkWidget *label9; GtkWidget *label15; GtkWidget *label8; GtkWidget *label7; GtkWidget *frameBitmap; GtkWidget *vbox7; GtkWidget *table2; GtkWidget *label13; GtkWidget *drawingareaSmall; GtkWidget *label14; GtkWidget *labelText; GtkWidget *entry; GtkWidget *hbuttonbox1; GtkWidget *buttonCalibrate; GtkWidget *buttonSkipAll; GtkWidget *buttonSkip; GtkWidget *buttonIgnore; GtkWidget *buttonOk; GtkWidget *drawingareaBitmap; GtkWidget *hseparator1; GtkWidget *label12; GtkWidget *dialog_action_area1; GtkWidget *closebutton1; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); dialog1 = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dialog1), QT_TR_NOOP("Mini OCR")); gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); frame5 = gtk_frame_new (NULL); gtk_widget_show (frame5); gtk_box_pack_start (GTK_BOX (vbox1), frame5, FALSE, FALSE, 0); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (frame5), table1); labelNbGlyphs = gtk_label_new (QT_TR_NOOP("0")); gtk_widget_show (labelNbGlyphs); gtk_table_attach (GTK_TABLE (table1), labelNbGlyphs, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelNbGlyphs), 0, 0.5); labelTime = gtk_label_new (QT_TR_NOOP("0:0:0")); gtk_widget_show (labelTime); gtk_table_attach (GTK_TABLE (table1), labelTime, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelTime), 0, 0.5); labelNbLines = gtk_label_new (QT_TR_NOOP("0")); gtk_widget_show (labelNbLines); gtk_table_attach (GTK_TABLE (table1), labelNbLines, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelNbLines), 0, 0.5); label9 = gtk_label_new (QT_TR_NOOP("# of lines")); gtk_widget_show (label9); gtk_table_attach (GTK_TABLE (table1), label9, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_FILL); gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5); label15 = gtk_label_new (QT_TR_NOOP("TimeCode:")); gtk_widget_show (label15); gtk_table_attach (GTK_TABLE (table1), label15, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_FILL); gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5); label8 = gtk_label_new (QT_TR_NOOP("# of Glyphs :")); gtk_widget_show (label8); gtk_table_attach (GTK_TABLE (table1), label8, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_FILL); gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); label7 = gtk_label_new (QT_TR_NOOP("<b>Stats</b>")); gtk_widget_show (label7); gtk_frame_set_label_widget (GTK_FRAME (frame5), label7); gtk_label_set_use_markup (GTK_LABEL (label7), TRUE); frameBitmap = gtk_frame_new (NULL); gtk_widget_show (frameBitmap); gtk_box_pack_start (GTK_BOX (vbox1), frameBitmap, FALSE, FALSE, 0); vbox7 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox7); gtk_container_add (GTK_CONTAINER (frameBitmap), vbox7); table2 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table2); gtk_box_pack_start (GTK_BOX (vbox7), table2, FALSE, FALSE, 0); label13 = gtk_label_new (QT_TR_NOOP("Current Glyph")); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table2), label13, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5); drawingareaSmall = gtk_drawing_area_new (); gtk_widget_show (drawingareaSmall); gtk_table_attach (GTK_TABLE (table2), drawingareaSmall, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); label14 = gtk_label_new (QT_TR_NOOP(" Text:")); gtk_widget_show (label14); gtk_table_attach (GTK_TABLE (table2), label14, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5); labelText = gtk_label_new (QT_TR_NOOP(" ")); gtk_widget_show (labelText); gtk_table_attach (GTK_TABLE (table2), labelText, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelText), 0, 0.5); entry = gtk_entry_new (); gtk_widget_show (entry); gtk_box_pack_start (GTK_BOX (vbox7), entry, FALSE, FALSE, 0); hbuttonbox1 = gtk_hbutton_box_new (); gtk_widget_show (hbuttonbox1); gtk_box_pack_start (GTK_BOX (vbox7), hbuttonbox1, FALSE, FALSE, 0); buttonCalibrate = gtk_button_new_with_mnemonic (QT_TR_NOOP("_Calibrate")); gtk_widget_show (buttonCalibrate); gtk_container_add (GTK_CONTAINER (hbuttonbox1), buttonCalibrate); GTK_WIDGET_SET_FLAGS (buttonCalibrate, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, buttonCalibrate, QT_TR_NOOP("If the glyphs are too thin, enter a lower value here"), NULL); buttonSkipAll = gtk_button_new_with_mnemonic (QT_TR_NOOP("S_kip all")); gtk_widget_show (buttonSkipAll); gtk_container_add (GTK_CONTAINER (hbuttonbox1), buttonSkipAll); GTK_WIDGET_SET_FLAGS (buttonSkipAll, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, buttonSkipAll, QT_TR_NOOP("Skip the whole image"), NULL); buttonSkip = gtk_button_new_with_mnemonic (QT_TR_NOOP("Skip Glyph")); gtk_widget_show (buttonSkip); gtk_container_add (GTK_CONTAINER (hbuttonbox1), buttonSkip); GTK_WIDGET_SET_FLAGS (buttonSkip, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, buttonSkip, QT_TR_NOOP("Skip the current letter/glyph"), NULL); buttonIgnore = gtk_button_new_with_mnemonic (QT_TR_NOOP("_Ignore glyph")); gtk_widget_show (buttonIgnore); gtk_container_add (GTK_CONTAINER (hbuttonbox1), buttonIgnore); GTK_WIDGET_SET_FLAGS (buttonIgnore, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, buttonIgnore, QT_TR_NOOP("This glyph will be ignored from now on"), NULL); buttonOk = gtk_button_new_with_mnemonic (QT_TR_NOOP("Ok")); gtk_widget_show (buttonOk); gtk_container_add (GTK_CONTAINER (hbuttonbox1), buttonOk); GTK_WIDGET_SET_FLAGS (buttonOk, GTK_CAN_DEFAULT); drawingareaBitmap = gtk_drawing_area_new (); gtk_widget_show (drawingareaBitmap); gtk_box_pack_start (GTK_BOX (vbox7), drawingareaBitmap, TRUE, TRUE, 0); gtk_widget_set_size_request (drawingareaBitmap, 5, 11); hseparator1 = gtk_hseparator_new (); gtk_widget_show (hseparator1); gtk_box_pack_start (GTK_BOX (vbox7), hseparator1, TRUE, TRUE, 0); label12 = gtk_label_new (QT_TR_NOOP("<b>Bitmap</b>")); gtk_widget_show (label12); gtk_frame_set_label_widget (GTK_FRAME (frameBitmap), label12); gtk_label_set_use_markup (GTK_LABEL (label12), TRUE); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); closebutton1 = gtk_button_new_from_stock ("gtk-close"); gtk_widget_show (closebutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), closebutton1, GTK_RESPONSE_CLOSE); GTK_WIDGET_SET_FLAGS (closebutton1, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (dialog1, frame5, "frame5"); GLADE_HOOKUP_OBJECT (dialog1, table1, "table1"); GLADE_HOOKUP_OBJECT (dialog1, labelNbGlyphs, "labelNbGlyphs"); GLADE_HOOKUP_OBJECT (dialog1, labelTime, "labelTime"); GLADE_HOOKUP_OBJECT (dialog1, labelNbLines, "labelNbLines"); GLADE_HOOKUP_OBJECT (dialog1, label9, "label9"); GLADE_HOOKUP_OBJECT (dialog1, label15, "label15"); GLADE_HOOKUP_OBJECT (dialog1, label8, "label8"); GLADE_HOOKUP_OBJECT (dialog1, label7, "label7"); GLADE_HOOKUP_OBJECT (dialog1, frameBitmap, "frameBitmap"); GLADE_HOOKUP_OBJECT (dialog1, vbox7, "vbox7"); GLADE_HOOKUP_OBJECT (dialog1, table2, "table2"); GLADE_HOOKUP_OBJECT (dialog1, label13, "label13"); GLADE_HOOKUP_OBJECT (dialog1, drawingareaSmall, "drawingareaSmall"); GLADE_HOOKUP_OBJECT (dialog1, label14, "label14"); GLADE_HOOKUP_OBJECT (dialog1, labelText, "labelText"); GLADE_HOOKUP_OBJECT (dialog1, entry, "entry"); GLADE_HOOKUP_OBJECT (dialog1, hbuttonbox1, "hbuttonbox1"); GLADE_HOOKUP_OBJECT (dialog1, buttonCalibrate, "buttonCalibrate"); GLADE_HOOKUP_OBJECT (dialog1, buttonSkipAll, "buttonSkipAll"); GLADE_HOOKUP_OBJECT (dialog1, buttonSkip, "buttonSkip"); GLADE_HOOKUP_OBJECT (dialog1, buttonIgnore, "buttonIgnore"); GLADE_HOOKUP_OBJECT (dialog1, buttonOk, "buttonOk"); GLADE_HOOKUP_OBJECT (dialog1, drawingareaBitmap, "drawingareaBitmap"); GLADE_HOOKUP_OBJECT (dialog1, hseparator1, "hseparator1"); GLADE_HOOKUP_OBJECT (dialog1, label12, "label12"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, closebutton1, "closebutton1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, tooltips, "tooltips"); return dialog1; }
int l_uosdok_v(int innom, /*Инвентарный номер*/ double *bsnu, double *iznu, double *bsbu, double *izbu, class iceb_u_str *shetsp, double *cena, int tipz, int metka_m, /*0-только стоимость 1-плюс счёт 2-плюс цена*/ int kto, time_t vremz, GtkWidget *wpredok) { class l_uosdok_v_data data; char strsql[512]; class iceb_u_str kikz; if(kto != 0) kikz.plus(iceb_kikz(kto,vremz,wpredok)); data.metka_m=metka_m; if(*bsnu != 0.) data.bal_st_nu.new_plus(*bsnu); if(*iznu != 0.) data.iz_nu.new_plus(*iznu); if(*bsnu != 0.) data.bal_st_bu.new_plus(*bsbu); if(*izbu != 0.) data.iz_bu.new_plus(*izbu); data.shetsp.new_plus(shetsp->ravno()); if(*cena != 0.) data.cena.new_plus(*cena); SQL_str row; class SQLCURSOR cur; class iceb_u_str naim_innom(""); /*Читаем наименование инвентарного номера*/ sprintf(strsql,"select naim from Uosin where innom=%d",innom); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) == 1) naim_innom.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); 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); 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(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_uosdok_v_v_key_press),&data); sprintf(strsql,"%s:%d/%s",gettext("Инвентарный номер"),innom,naim_innom.ravno()); class iceb_u_str zagol; zagol.plus(strsql); if(kikz.getdlinna() > 1) zagol.ps_plus(kikz.ravno()); GtkWidget *label=gtk_label_new(zagol.ravno_toutf()); GtkWidget *vbox = gtk_vbox_new (FALSE, 1); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 1); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 1); for(int i=0; i < KOLENTER; i++) gtk_box_pack_start (GTK_BOX (vbox), hbox[i], FALSE, FALSE, 1); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (vbox), hboxknop, FALSE, FALSE, 1); sprintf(strsql,"%s",gettext("Балансовая стоимость (налоговый учёт)")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_BAL_ST_NU]), label,FALSE, FALSE, 1); data.entry[E_BAL_ST_NU] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_BAL_ST_NU]), data.entry[E_BAL_ST_NU],TRUE, TRUE, 1); gtk_signal_connect(GTK_OBJECT (data.entry[E_BAL_ST_NU]), "activate",GTK_SIGNAL_FUNC(l_uosdok_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_BAL_ST_NU]),data.bal_st_nu.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_BAL_ST_NU]),(gpointer)E_BAL_ST_NU); sprintf(strsql,"%s",gettext("Износ (налоговый учёт)")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_IZ_NU]), label,FALSE, FALSE, 1); data.entry[E_IZ_NU] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_IZ_NU]), data.entry[E_IZ_NU],TRUE, TRUE, 1); gtk_signal_connect(GTK_OBJECT (data.entry[E_IZ_NU]), "activate",GTK_SIGNAL_FUNC(l_uosdok_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_IZ_NU]),data.iz_nu.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_IZ_NU]),(gpointer)E_IZ_NU); sprintf(strsql,"%s",gettext("Балансовая стоимость (бухгалтерский учёт)")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_BAL_ST_BU]), label,FALSE, FALSE, 1); data.entry[E_BAL_ST_BU] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_BAL_ST_BU]), data.entry[E_BAL_ST_BU],TRUE, TRUE, 1); gtk_signal_connect(GTK_OBJECT (data.entry[E_BAL_ST_BU]), "activate",GTK_SIGNAL_FUNC(l_uosdok_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_BAL_ST_BU]),data.bal_st_bu.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_BAL_ST_BU]),(gpointer)E_BAL_ST_BU); sprintf(strsql,"%s",gettext("Износ (бухгалтерский учёт)")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_IZ_BU]), label,FALSE, FALSE, 1); data.entry[E_IZ_BU] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_IZ_BU]), data.entry[E_IZ_BU],TRUE, TRUE, 1); gtk_signal_connect(GTK_OBJECT (data.entry[E_IZ_BU]), "activate",GTK_SIGNAL_FUNC(l_uosdok_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_IZ_BU]),data.iz_bu.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_IZ_BU]),(gpointer)E_IZ_BU); if(metka_m >= 1) { if(tipz == 1) sprintf(strsql,"%s",gettext("Счёт получения")); if(tipz == 2) sprintf(strsql,"%s",gettext("Счёт списания")); /******** label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_SHET_SP]), label,FALSE, FALSE, 1); **********/ data.knopka_enter[E_SHET_SP]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_SHET_SP]), data.knopka_enter[E_SHET_SP], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_SHET_SP]),"clicked",GTK_SIGNAL_FUNC(l_uosdok_v_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_SHET_SP]),(gpointer)E_SHET_SP); GtkTooltips *tooltips_enter=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter,data.knopka_enter[E_SHET_SP],gettext("Выбор счёта в плане счетов"),NULL); data.entry[E_SHET_SP] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_SHET_SP]), data.entry[E_SHET_SP],TRUE, TRUE, 1); gtk_signal_connect(GTK_OBJECT (data.entry[E_SHET_SP]), "activate",GTK_SIGNAL_FUNC(l_uosdok_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHET_SP]),data.shetsp.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHET_SP]),(gpointer)E_SHET_SP); } if(metka_m == 2) { sprintf(strsql,"%s",gettext("Цена продажи")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_CENA]), label,FALSE, FALSE, 1); data.entry[E_CENA] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_CENA]), data.entry[E_CENA],TRUE, TRUE, 1); gtk_signal_connect(GTK_OBJECT (data.entry[E_CENA]), "activate",GTK_SIGNAL_FUNC(l_uosdok_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_CENA]),data.cena.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_CENA]),(gpointer)E_CENA); } 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(l_uosdok_v_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_uosdok_v_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) { *bsnu=data.bal_st_nu.ravno_atof(); *iznu=data.iz_nu.ravno_atof(); *bsbu=data.bal_st_bu.ravno_atof(); *izbu=data.iz_bu.ravno_atof(); shetsp->new_plus(data.shetsp.ravno()); *cena=data.cena.ravno_atof(); } if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }