static GtkWidget* hi_dialog_date_hbox(history_item_dlg *hidlg) { GtkWidget *hbox; GtkWidget *label; int twocharwidth; hbox = gtk_hbox_new(FALSE, 0); { /* year */ hidlg->eyear = gtk_entry_new_with_max_length(4); /* fixme gtk2 twocharwidth = gdk_string_width(hidlg->eyear->style->font, "00");*/ twocharwidth = 20; gtk_box_pack_start(GTK_BOX(hbox), hidlg->eyear, FALSE, FALSE, 0); gtk_widget_set_usize(GTK_WIDGET(hidlg->eyear), twocharwidth*2 + 5, -1); /* dash */ label = gtk_label_new("-"); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); /* month */ hidlg->emon = gtk_entry_new_with_max_length(2); gtk_box_pack_start(GTK_BOX(hbox), hidlg->emon, FALSE, FALSE, 0); gtk_widget_set_usize(GTK_WIDGET(hidlg->emon), twocharwidth + 5, -1); /* dash */ label = gtk_label_new("-"); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); /* day */ hidlg->eday = gtk_entry_new_with_max_length(2); gtk_box_pack_start(GTK_BOX(hbox), hidlg->eday, FALSE, FALSE, 0); gtk_widget_set_usize(GTK_WIDGET(hidlg->eday), twocharwidth + 5, -1); } return hbox; }
void CreateToken(GtkWidget *widget, gpointer data) { GtkWidget *window; GtkWidget *nameOfToken; GtkWidget *numberOfTokens; GtkWidget *table; nameOfToken = gtk_entry_new_with_max_length(25); numberOfTokens = gtk_entry_new_with_max_length(6); gtk_entry_set_text(GTK_ENTRY(nameOfToken),"Name of token"); gtk_entry_set_text(GTK_ENTRY(numberOfTokens), "Number"); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Token"); table = gtk_table_new(2,2,true); gtk_container_add(GTK_CONTAINER(window), table); gtk_table_attach_defaults(GTK_TABLE(table),nameOfToken,0,2,0,1); gtk_table_attach_defaults(GTK_TABLE(table),numberOfTokens,0,2,1,2); gtk_widget_show_all(window); }
GtkWidget *MakeNumEntry(GtkWidget **entry,int *var,char *name,int len) { GtkWidget *widget; char buf[80]; GtkWidget *label; GtkWidget *hbox; hbox=gtk_hbox_new(FALSE,5); label=gtk_label_new(name); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); gtk_widget_show(label); widget=gtk_entry_new_with_max_length(len); gtk_widget_set_usize(widget,len*8+5,0); if(var) { sprintf(buf,"%d",*var); gtk_entry_set_text(GTK_ENTRY(widget),buf); gtk_signal_connect(GTK_OBJECT(widget),"changed", GTK_SIGNAL_FUNC(ChangeIntVal),(gpointer)var); } gtk_box_pack_end(GTK_BOX(hbox),widget,FALSE,FALSE,0); gtk_widget_show(widget); if(entry) *entry=widget; return hbox; }
gboolean input_dialog(const char *title, char *buf, int len) { GtkWidget *dialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(dialog), "MusicTracker"); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_OK, GTK_RESPONSE_ACCEPT); gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT); GtkWidget *label = gtk_label_new(title); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), label, TRUE, TRUE, 5); GtkWidget *entry = gtk_entry_new_with_max_length(len); gtk_entry_set_text(GTK_ENTRY(entry), buf); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), entry, TRUE, TRUE, 5); g_signal_connect_swapped(entry, "activate", G_CALLBACK(accept_dialog), dialog); gtk_widget_show_all(dialog); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { strncpy(buf, gtk_entry_get_text(GTK_ENTRY(entry)), len); gtk_widget_destroy(dialog); return TRUE; } gtk_widget_destroy (dialog); return FALSE; }
GtkWidget *MakeStrEntry(GtkWidget **entry,char *var,char *name, int len,gboolean editable) { GtkWidget *widget; GtkWidget *label; GtkWidget *hbox; hbox=gtk_hbox_new(FALSE,5); label=gtk_label_new(name); gtk_label_set_justify(GTK_LABEL(label),GTK_JUSTIFY_LEFT); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); gtk_widget_show(label); widget=gtk_entry_new_with_max_length(len); gtk_entry_set_editable(GTK_ENTRY(widget),editable); if(var) { gtk_entry_set_text(GTK_ENTRY(widget),var); gtk_signal_connect(GTK_OBJECT(widget),"changed", GTK_SIGNAL_FUNC(ChangeStrVal),(gpointer)var); } gtk_box_pack_start(GTK_BOX(hbox),widget,TRUE,TRUE,0); gtk_entry_set_position(GTK_ENTRY(widget),0); gtk_widget_show(widget); if(entry) *entry=widget; return hbox; }
int main(int argc,char *argv[]) { gtk_init(&argc,&argv);// 初始化图形显示环境。 // 窗口 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), g_locale_to_utf8("Add a entry to the window",-1,NULL,NULL,NULL) ); // width & height gtk_widget_set_usize(window,300,150); // x & y gtk_widget_set_uposition(window,300,300); // 最大30 entry = gtk_entry_new_with_max_length(30); gtk_container_add(GTK_CONTAINER(window),entry); // 显示窗口中的所有元件 gtk_widget_show_all(window); //直接引用g_signal_connect宏,退出 g_signal_connect(G_OBJECT(window),"delete_event" ,G_CALLBACK(gtk_main_quit),NULL); // 消息主循环 gtk_main(); return 0; }
static void CreateEnterText(int index, GtkSignalFunc func) { GtkWidget *dialog, *label, *entry; dialog = gtk_dialog_new(); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); label = gtk_label_new(UI_dialog_string(index)); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label); gtk_widget_show(label); entry = gtk_entry_new_with_max_length(20); gtk_signal_connect_object(GTK_OBJECT(entry), "activate", func, GTK_OBJECT(entry)); gtk_signal_connect_object(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(gtk_widget_hide), GTK_OBJECT(dialog)); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), entry); gtk_widget_show(entry); new_button(dialog, "OK", func, GTK_OBJECT(entry)); gtk_widget_realize(dialog); dialogs[index] = dialog; }
//Fonction de création d'un élément Label : Champ Label_derreur. struct entry_label add_new_champ_end (char* nom_du_champ, GtkWidget* conteneur, int nb_car_max) { //LOCK GTK OK GtkWidget* p_cont; GtkWidget* p_label; GtkWidget* p_entry; GtkWidget* p_erreur; struct entry_label p_champ; p_cont = gtk_hbox_new (FALSE, 10); gtk_box_pack_end (GTK_BOX (conteneur), p_cont, FALSE, FALSE, 0); p_label = gtk_label_new(nom_du_champ); gtk_box_pack_start (GTK_BOX (p_cont), p_label, FALSE, FALSE, 0); p_erreur = gtk_label_new(""); gtk_box_pack_end (GTK_BOX (p_cont), p_erreur, TRUE, TRUE, 0); p_champ.label = GTK_LABEL(p_erreur); if (nb_car_max < 1) p_entry = gtk_entry_new(); else p_entry = gtk_entry_new_with_max_length(nb_car_max); gtk_box_pack_end (GTK_BOX (p_cont), p_entry, TRUE, TRUE, 0); p_champ.entry = GTK_ENTRY(p_entry); return p_champ; }
void entrybox(char *title, int width, char *default_text, int maxch, GtkSignalFunc func) { GtkWidget *vbox, *hbox; GtkWidget *button1, *button2; cleanup=func; /* create a new modal window */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_grab_add(window); gtk_widget_set_usize( GTK_WIDGET (window), width, 60); gtk_window_set_title(GTK_WINDOW (window), title); gtk_signal_connect(GTK_OBJECT (window), "delete_event", (GtkSignalFunc) destroy_callback, NULL); gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, FALSE); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); entry = gtk_entry_new_with_max_length (maxch); gtk_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(enter_callback), entry); gtk_entry_set_text (GTK_ENTRY (entry), default_text); gtk_entry_select_region (GTK_ENTRY (entry), 0, GTK_ENTRY(entry)->text_length); gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); gtk_widget_show (entry); hbox = gtk_hbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); button1 = gtk_button_new_with_label ("OK"); gtk_widget_set_usize(button1, 100, -1); gtk_signal_connect(GTK_OBJECT (button1), "clicked", GTK_SIGNAL_FUNC(enter_callback), NULL); gtk_widget_show (button1); gtk_container_add (GTK_CONTAINER (hbox), button1); GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT); gtk_signal_connect_object (GTK_OBJECT (button1), "realize", (GtkSignalFunc) gtk_widget_grab_default, GTK_OBJECT (button1)); button2 = gtk_button_new_with_label ("Cancel"); gtk_widget_set_usize(button2, 100, -1); gtk_signal_connect(GTK_OBJECT (button2), "clicked", GTK_SIGNAL_FUNC(destroy_callback), NULL); GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT); gtk_widget_show (button2); gtk_container_add (GTK_CONTAINER (hbox), button2); gtk_widget_show(window); }
int gui_query_entry(char *message, unsigned input_max, char* input) /* input_max does not include final '\0' */ { GtkWidget *dialog; GtkWidget *label; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *img; GtkWidget *entry; gint result; if (input_max==0 || input==NULL) return 0; dialog = gtk_dialog_new_with_buttons("Question", GTK_WINDOW(MAIN_WINDOW), GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); vbox = gtk_vbox_new(FALSE,0); label = gtk_label_new(message); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 10); entry = gtk_entry_new_with_max_length(input_max); gtk_entry_set_text(GTK_ENTRY(entry),input); gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, FALSE, 10); hbox = gtk_hbox_new(FALSE,0); gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 10); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 10); gtk_widget_show_all(hbox); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); result = gtk_dialog_run (GTK_DIALOG (dialog)); if (result!=GTK_RESPONSE_ACCEPT) { input[0]=0; return 0; } strncpy(input,gtk_entry_get_text(GTK_ENTRY(input)),input_max); input[input_max]=0; /* this should not be needed */ gtk_widget_destroy(dialog); return 1; }
// Show the popup preferences dialog. void show_pref_dialog() { if (pref_dialog) { return; } pref_dialog = gtk_dialog_new_with_buttons("gatotray Settings", NULL, 0, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); //~ gtk_window_set_icon_name(GTK_WINDOW(pref_dialog), GTK_STOCK_PREFERENCES); g_signal_connect(G_OBJECT(pref_dialog), "response", G_CALLBACK(pref_response), NULL); g_signal_connect(G_OBJECT(pref_dialog), "destroy", G_CALLBACK(pref_destroyed), NULL); GtkWidget *vb = gtk_dialog_get_content_area(GTK_DIALOG(pref_dialog)); GtkWidget *hb = gtk_hbox_new(FALSE, 0); GtkWidget *wb = gtk_hbox_new(FALSE, 0); // full width text entry for command. gtk_container_add(GTK_CONTAINER(vb), hb); gtk_container_add(GTK_CONTAINER(vb), wb); // add command to main container. GtkWidget *frame = gtk_frame_new("Colors"); gtk_container_add(GTK_CONTAINER(hb), frame); vb = gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(frame), vb); // Add the color pickers to the color options frame. for (PrefColor* c = pref_colors; c < pref_colors + G_N_ELEMENTS(pref_colors); c++) { GtkWidget *hb = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vb), hb); gtk_container_add(GTK_CONTAINER(hb), gtk_label_new(c->description)); GtkWidget *cbutton = gtk_color_button_new_with_color(c->color); g_signal_connect(G_OBJECT(cbutton), "color-set", G_CALLBACK(gtk_color_button_get_color), c->color); g_signal_connect_after(G_OBJECT(cbutton), "color-set", G_CALLBACK(preferences_changed), c); gtk_box_pack_start(GTK_BOX(hb), cbutton, FALSE, FALSE, 0); } frame = gtk_frame_new("Options"); gtk_container_add(GTK_CONTAINER(hb), frame); vb = gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(frame), vb); // Add the transparent background checkbox. GtkWidget *cbutton = gtk_check_button_new_with_label("Transparent Background"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbutton), pref_transparent); g_signal_connect(G_OBJECT(cbutton), "toggled", G_CALLBACK(on_transparency_toggled), NULL); gtk_box_pack_start(GTK_BOX(vb), cbutton, FALSE, FALSE, 0); frame = gtk_frame_new("Command run when tray icon is clicked:"); // create command frame. gtk_container_add(GTK_CONTAINER(wb), frame); // add command frame to full-width container. vb = gtk_hbox_new(FALSE, 0); // create the text box for entering command. gtk_container_add(GTK_CONTAINER(frame), vb); // add the command text box to the command frame. GtkWidget *entry = gtk_entry_new_with_max_length(255); // new text entry widget. gtk_entry_set_text(GTK_ENTRY(entry), pref_command); // set text to loaded value of command. gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE); // make it user editable. gtk_entry_set_visibility(GTK_ENTRY(entry), TRUE); // make it visible. g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(on_command_changed), NULL); gtk_box_pack_start(GTK_BOX(vb), entry, TRUE, TRUE, 0); gtk_widget_show_all(GTK_WIDGET(pref_dialog)); }
/* Create and show captcha dialog */ static void vodafone_gadget_send_show_dialog_captcha (char *string) { GtkWidget *dialog; GtkWidget *label; GtkWidget *image; GtkWidget *h_box; GtkWidget *entry; char *data; int i; dialog = gtk_dialog_new_with_buttons ("Setting", NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); /* Setting dialog */ gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); gtk_window_set_default_size (GTK_WINDOW(dialog), 200, 100); gtk_window_set_title (GTK_WINDOW(dialog), " Captcha Code "); gtk_window_set_icon (GTK_WINDOW(dialog), (GdkPixbuf *) libui_gtk_image_create_pixbuf_from_file (IMAGE_LOGO)); gtk_dialog_set_has_separator (GTK_DIALOG(dialog), FALSE); gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE); /* Captcha image */ h_box = gtk_hbox_new (FALSE, 0); image = gtk_image_new_from_pixbuf ((GdkPixbuf *) libui_gtk_image_create_pixbuf_from_file (IMAGE_VERIFY)); gtk_box_pack_start (GTK_BOX(h_box), image, TRUE, FALSE, 10); gtk_widget_show (image); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), h_box, FALSE, FALSE, 5); gtk_widget_show (h_box); /* Captcha entry */ h_box = gtk_hbox_new (FALSE, 0); entry = gtk_entry_new_with_max_length (10); gtk_widget_modify_font (entry, pango_font_description_from_string ("sans 7")); gtk_widget_set_size_request (entry, 60, 20); gtk_box_pack_start (GTK_BOX(h_box), entry, TRUE, FALSE, 10); gtk_widget_show (entry); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), h_box, FALSE, FALSE, 5); gtk_widget_show (h_box); /* Dialog run */ gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_DELETE_EVENT: gtk_widget_destroy (dialog); break; case GTK_RESPONSE_OK: /* Read captcha */ data = (gchar *) gtk_entry_get_text (GTK_ENTRY(entry)); sprintf (string, "%s", data); gtk_widget_destroy (dialog); break; } return; }
int main (int argc, char **argv) { GtkWidget *window; GtkWidget *vbox; //container GtkWidget *entry1, *button1, *label1; //widgets diversos GList *dados = NULL; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 1); gtk_widget_set_size_request (window, 640, 480); gtk_window_set_icon_name (GTK_WINDOW (window), "gtk-home"); label1 = gtk_label_new ("Meu primeiro hello world em C"); button1 = gtk_button_new_with_label ("Definir titulo"); entry1 = gtk_entry_new_with_max_length (200); vbox = gtk_vbox_new (FALSE, 1); warning_label1 = gtk_label_new (""); //terminal hack terminal = vte_terminal_new (); initialize_vte (terminal); gtk_box_pack_start ((GtkBox *) vbox, label1, FALSE, FALSE, 5); gtk_box_pack_start ((GtkBox *) vbox, entry1, FALSE, FALSE, 2); gtk_box_pack_start ((GtkBox *) vbox, button1, FALSE, FALSE, 2); gtk_box_pack_start ((GtkBox *) vbox, terminal, TRUE, TRUE, 2); gtk_box_pack_start ((GtkBox *) vbox, warning_label1, FALSE, FALSE, 2); gtk_widget_hide ((GtkWidget *) warning_label1); gtk_window_set_title (GTK_WINDOW (window), "Meu Hello World com terminal"); dados = g_list_append (dados, GTK_ENTRY (entry1)); dados = g_list_append (dados, GTK_WINDOW (window)); g_signal_connect (G_OBJECT (terminal), "child-exited", G_CALLBACK (initialize_vte), NULL); g_signal_connect_swapped (G_OBJECT (button1), "clicked", G_CALLBACK (on_button1_clicked), G_OBJECT (dados)); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); gtk_widget_show (entry1); gtk_widget_show (button1); gtk_widget_show (window); gtk_widget_show_all (window); gtk_main (); return 0; }
static GtkWidget* hi_dialog_time_hbox(history_item_dlg *hidlg) { GtkWidget *hbox; GtkWidget *label; int twocharwidth; hbox = gtk_hbox_new(FALSE, 0); { /* hour */ hidlg->ehour = gtk_entry_new_with_max_length(2); twocharwidth = gdk_string_width(hidlg->ehour->style->font, "00"); gtk_box_pack_start(GTK_BOX(hbox), hidlg->ehour, FALSE, FALSE, 0); gtk_widget_set_usize(GTK_WIDGET(hidlg->ehour), twocharwidth + 5, -1); /* colon */ label = gtk_label_new(":"); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); /* min */ hidlg->emin = gtk_entry_new_with_max_length(2); gtk_box_pack_start(GTK_BOX(hbox), hidlg->emin, FALSE, FALSE, 0); gtk_widget_set_usize(GTK_WIDGET(hidlg->emin), twocharwidth + 5, -1); } return hbox; }
GtkWidget * gtkutil_entry_new (int max, GtkWidget * box, void *callback, gpointer userdata) { GtkWidget *entry = gtk_entry_new_with_max_length (max); gtk_container_add (GTK_CONTAINER (box), entry); if (callback) g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (callback), userdata); gtk_widget_show (entry); return entry; }
void InputDialog(char *prompt,char *default_str,int len,char *doit, GtkSignalFunc doitfunc, char *cancel,GtkSignalFunc cancelfunc) { GtkWidget *dialog; GtkWidget *label; GtkWidget *doitbutton; GtkWidget *cancelbutton; GtkWidget *entry; dialog=gtk_dialog_new(); gtk_container_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),5); label=gtk_label_new(prompt); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),label,TRUE,TRUE,0); gtk_widget_show(label); entry=gtk_entry_new_with_max_length(len); if(default_str) gtk_entry_set_text(GTK_ENTRY(entry),default_str); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),entry,TRUE,TRUE,0); gtk_widget_show(entry); doitbutton=gtk_button_new_with_label(doit); if(doitfunc) gtk_signal_connect(GTK_OBJECT(doitbutton),"clicked", doitfunc,(gpointer)entry); gtk_signal_connect_object(GTK_OBJECT(doitbutton),"clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(dialog)); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),doitbutton, TRUE,TRUE,0); gtk_widget_show(doitbutton); if(cancel) { cancelbutton=gtk_button_new_with_label(cancel); if(cancelfunc) gtk_signal_connect(GTK_OBJECT(cancelbutton),"clicked", cancelfunc,NULL); gtk_signal_connect_object(GTK_OBJECT(cancelbutton),"clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(dialog)); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),cancelbutton, TRUE,TRUE,0); gtk_widget_show(cancelbutton); } gtk_widget_show(dialog); gtk_grab_add(dialog); }
static void integer_build_value(node_gui_t *ng) { /* TODO: spinbox */ ng->entry = gtk_entry_new_with_max_length(16); gtk_signal_connect(GTK_OBJECT(ng->entry), "activate", GTK_SIGNAL_FUNC(on_integer_entry_activate), ng); gtk_signal_connect(GTK_OBJECT(ng->entry), "focus_out_event", GTK_SIGNAL_FUNC(on_integer_entry_focus_out_event), ng); integer_update_value(ng); node_gui_attach_widget(ng, ng->entry, VALUE); }
GtkWidget *makeTextEntry() { GtkWidget *vbox; GtkWidget *label; GtkWidget *text; vbox = gtk_vbox_new(FALSE,5); label = gtk_label_new("please enter your name:"); gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,0); gtk_widget_show(label); text = gtk_entry_new_with_max_length(15); gtk_box_pack_start(GTK_BOX(vbox),text,FALSE,FALSE,0); gtk_widget_show(text); return vbox; }
void BMACHINE_connect_peer() { GtkWidget *input_dialog = gtk_dialog_new(); GtkWidget *content_area = (GtkWidget *)gtk_dialog_get_content_area(GTK_DIALOG(input_dialog)); GtkWidget *entry = gtk_entry_new_with_max_length(300); GtkWidget *ok = gtk_button_new_from_stock(GTK_STOCK_OK); GtkWidget *cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL); gtk_box_pack_start(GTK_BOX(content_area), entry, FALSE, FALSE, 0); gtk_dialog_add_action_widget(GTK_DIALOG(input_dialog), ok, 1); gtk_dialog_add_action_widget(GTK_DIALOG(input_dialog), cancel, 2); gtk_widget_show_all(input_dialog); g_signal_connect(G_OBJECT(input_dialog),"response",G_CALLBACK(connect_to_peer),NULL); gtk_dialog_run(GTK_DIALOG(input_dialog)); }
/* * get an input from the user */ void gtkui_input(const char *title, char *input, size_t n, void (*callback)(void)) { GtkWidget *dialog, *entry, *label, *hbox, *image; dialog = gtk_dialog_new_with_buttons(EC_PROGRAM" Input", GTK_WINDOW (window), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); gtk_dialog_set_has_separator(GTK_DIALOG (dialog), FALSE); gtk_container_set_border_width(GTK_CONTAINER (dialog), 5); hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0); image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0); gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); label = gtk_label_new (title); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); entry = gtk_entry_new_with_max_length(n); g_object_set_data(G_OBJECT (entry), "dialog", dialog); g_signal_connect(G_OBJECT (entry), "activate", G_CALLBACK (gtkui_dialog_enter), NULL); if (input) gtk_entry_set_text(GTK_ENTRY (entry), input); gtk_box_pack_start(GTK_BOX (hbox), entry, FALSE, FALSE, 5); gtk_widget_show_all (hbox); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { strncpy(input, gtk_entry_get_text(GTK_ENTRY (entry)), n); if (callback != NULL) { gtk_widget_destroy(dialog); callback(); return; } } gtk_widget_destroy(dialog); }
/*-----------------------------------------------------------------------------------------------------------------------*/ void Start(GtkWidget *W,gpointer Data) { gint i; GtkWidget *Win,*VBox,*HBox,*Label,*But,*Entry; static GdkColor Black = {0,0x0000,0x0000,0x0000}; static GdkColor Magenta = {0,0xFFFF,0x0000,0xFFFF}; static GdkColor Gray = {0,0x8888,0x8888,0x8888}; static GdkColor Blue = {0,0x7777,0x7777,0xFFFF}; GtkStyle *Style1,*Style2,*Style3; if (AcqOn) { Attention(100,"Counting is already started"); return; } Style1=gtk_style_copy(gtk_widget_get_default_style()); //Copy default style to this style for (i=0;i<5;i++) { Style1->fg[i]=Style1->text[i]=Magenta; Style1->bg[i]=Black; } //Set colours for all states Style2=gtk_style_copy(gtk_widget_get_default_style()); //Copy default style to this style for (i=0;i<5;i++) { Style2->fg[i]=Style2->text[i]=Black; Style2->bg[i]=Blue; } //Set colours Style3=gtk_style_copy(gtk_widget_get_default_style()); //Copy default style for (i=0;i<5;i++) { Style3->fg[i]=Style3->text[i]=Black; Style3->bg[i]=Gray; } //Set colours Win=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_grab_add(Win); //Define a new modal window gtk_window_set_title(GTK_WINDOW(Win),"Start Counting"); gtk_widget_set_uposition(GTK_WIDGET(Win),300,300); gtk_widget_set_usize(GTK_WIDGET(Win),245,90); gtk_container_set_border_width(GTK_CONTAINER(Win),10); VBox=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(Win),VBox); //VBox for the entire window HBox=gtk_hbox_new(FALSE,10); gtk_box_pack_start(GTK_BOX(VBox),HBox,FALSE,FALSE,5); Label=gtk_label_new("Run Name:"); gtk_box_pack_start(GTK_BOX(HBox),Label,FALSE,FALSE,5); Entry=gtk_entry_new_with_max_length(35); gtk_box_pack_start(GTK_BOX(HBox),Entry,FALSE,FALSE,0); SetStyleRecursively(Entry,Style1); strcpy(RunName,"mydata"); gtk_entry_set_text(GTK_ENTRY(Entry),RunName); gtk_widget_set_usize(GTK_WIDGET(Entry),130,25); gtk_signal_connect(GTK_OBJECT(Entry),"changed",GTK_SIGNAL_FUNC(RunNameCallBack),NULL); HBox=gtk_hbox_new(FALSE,10); gtk_box_pack_start(GTK_BOX(VBox),HBox,FALSE,FALSE,5); But=gtk_button_new_with_label("Start"); SetStyleRecursively(But,Style2); gtk_widget_set_usize(GTK_WIDGET(But),100,25); gtk_box_pack_start(GTK_BOX(HBox),But,TRUE,FALSE,5); gtk_signal_connect(GTK_OBJECT(But),"clicked",GTK_SIGNAL_FUNC(StartCallBack),GTK_OBJECT(Win)); But=gtk_button_new_with_label("Cancel"); SetStyleRecursively(But,Style3); gtk_widget_set_usize(GTK_WIDGET(But),100,25); gtk_box_pack_start(GTK_BOX(HBox),But,TRUE,FALSE,5); gtk_signal_connect(GTK_OBJECT(But),"clicked",GTK_SIGNAL_FUNC(CancelCallBack),GTK_OBJECT(Win)); gtk_widget_show_all(Win); gtk_style_unref(Style1); gtk_style_unref(Style2); gtk_style_unref(Style3); }
void open_dialog(gpointer *widget,gpointer window, gpointer pVbox) { GtkWidget *dialog, *image; image = NULL; widget = NULL; dialog = gtk_file_chooser_dialog_new("Chemin d'accès", GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); gtk_widget_show_all(dialog); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), g_get_home_dir()); gint resp = gtk_dialog_run(GTK_DIALOG(dialog)); if (resp == GTK_RESPONSE_OK) { gtk_widget_destroy(pHBox); gchar* path; pHBox = gtk_hbox_new(FALSE,8); text = gtk_entry_new_with_max_length(5000); gtk_entry_set_text(GTK_ENTRY(text),"hello"); gtk_widget_show(text); gtk_widget_set_size_request(text,800,300); path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); g_print("%s ouvert\n", path); chemin = path; image = gtk_image_new_from_file(path); gtk_box_pack_start(GTK_BOX(pHBox),image,FALSE,TRUE,0); gtk_box_pack_start(GTK_BOX(pHBox),text,FALSE,TRUE,0); gtk_container_add(GTK_CONTAINER(pVbox),pHBox); gtk_widget_show_all(pVbox); gtk_widget_destroy(dialog); } else { g_print("Canceled\n"); gtk_widget_destroy(dialog); } }
void get_xmmsctrl_pref(GtkBox *box) { GtkWidget *entry, *hbox, *label; entry = gtk_entry_new_with_max_length(1); gtk_entry_set_text(GTK_ENTRY(entry), purple_prefs_get_string(PREF_XMMS_SEP)); g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(cb_xmms_sep_changed), 0); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Title Delimiter Character:")), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); gtk_box_pack_start(box, hbox, FALSE, FALSE, 0); gtk_box_pack_start(box, gtk_hseparator_new(), FALSE, FALSE, 0); label = gtk_label_new(_("Note: You must change the playlist title in XMMS/Audacious 1.3 to be formatted as '%p | %a | %t' (ARTIST | ALBUM | TITLE) in the player preferences, where '|' is the Title Delimiter Character set above, which is the only way for MusicTracker to parse all three fields from either of these players. If you change this character above, then '|' in the string '%p | %a | %t' must be replaced with the selected character.")); gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); gtk_box_pack_start(box, label, TRUE, TRUE, 0); }
static GtkWidget * entry_new (GladeXML *xml, GladeWidgetInfo *info) { GtkWidget *entry; GList *tmp; char *text = NULL; gint text_max_length = -1; gboolean editable = TRUE, text_visible = TRUE; for (tmp = info->attributes; tmp; tmp = tmp->next) { GladeAttribute *attr = tmp->data; switch (attr->name[0]) { case 'e': if (!strcmp(attr->name, "editable")) editable = attr->value[0] == 'T'; break; case 't': if (!strcmp(attr->name, "text")) text = attr->value; else if (!strcmp(attr->name, "text_visible")) text_visible = attr->value[0] == 'T'; else if (!strcmp(attr->name, "text_max_length")) text_max_length = strtol(attr->value, NULL, 0); break; case 'm': if (!strcmp(attr->name, "max_length")) text_max_length = strtol(attr->value, NULL, 0); break; } } if (text_max_length >= 0) entry = gtk_entry_new_with_max_length(text_max_length); else entry = gtk_entry_new(); if (text) gtk_entry_set_text(GTK_ENTRY(entry), _(text)); gtk_entry_set_editable(GTK_ENTRY(entry), editable); gtk_entry_set_visibility(GTK_ENTRY(entry), text_visible); return entry; }
static GtkWidget *passwd_entry (char *str, char *passwd, GtkWidget *table, int pos) { GtkWidget *label; GtkWidget *entry; label = gtk_label_new (str); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, pos, pos + 1); gtk_widget_show (label); entry = gtk_entry_new_with_max_length (32); gtk_widget_set_usize (entry, 112, -1); if (passwd) { gtk_entry_set_text (GTK_ENTRY (entry), passwd); } gtk_table_attach_defaults (GTK_TABLE (table), entry, 1, 2, pos, pos + 1); gtk_widget_show (entry); return entry; }
GtkWidget *CreateEditField (char *name, int what) { GtkWidget *hbox,*label; gchar *aux; aux=(char*)malloc(10*sizeof(char)); *aux=0; switch(what) { case 0: sprintf(aux,"%8.3f",sparams->amp); break; case 1: sprintf(aux,"%8.3f",sparams->ramp); break; case 2: sprintf(aux,"%8.3f",sparams->frec); break; case 3: sprintf(aux,"%8.2f",sparams->sr); break; } hbox = gtk_hbox_new (FALSE, 0); label = gtk_label_new (name); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, FALSE,10); gtk_widget_show (label); entry[what] = gtk_entry_new_with_max_length (10); gtk_widget_set_usize(GTK_WIDGET(entry[what]),60,20); gtk_box_pack_start (GTK_BOX (hbox), entry[what],FALSE,FALSE,0); gtk_entry_set_text(GTK_ENTRY (entry[what]),aux); gtk_widget_show (entry[what]); gtk_widget_show (hbox); free(aux); return (hbox); }
void prefs_show_username_dialog () { GtkWidget *dialog, *label, *hbox, *entry; gchar *title = "Enter your name - gtkboard"; entry = gtk_entry_new_with_max_length (31); gtk_entry_set_text (GTK_ENTRY (entry), getenv ("USER")); gtk_widget_grab_focus (entry); #if GTK_MAJOR_VERSION == 1 dialog = gtk_dialog_new(); gtk_window_set_title (GTK_WINDOW (dialog), title); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (main_window)); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_signal_connect_object (GTK_OBJECT (entry), "activate", GTK_SIGNAL_FUNC (prefs_username_cb), GTK_OBJECT (dialog)); #else dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (main_window), GTK_DIALOG_MODAL, NULL); gtk_window_set_default_size (GTK_WINDOW (dialog), 300, 100); // g_signal_connect_swapped (GTK_OBJECT (entry), // "activate", G_CALLBACK (prefs_username_cb), GTK_OBJECT (dialog)); gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_OK, GTK_RESPONSE_NONE); #endif label = gtk_label_new ("You've got a highscore!"); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); hbox = gtk_hbox_new (TRUE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); label = gtk_label_new ("Enter your name"); gtk_container_add (GTK_CONTAINER (hbox), label); gtk_container_add (GTK_CONTAINER (hbox), entry); gtk_widget_show_all (dialog); #if GTK_MAJOR_VERSION > 1 gtk_dialog_run (GTK_DIALOG (dialog)); prefs_username_cb (dialog, GTK_ENTRY (entry)); #endif }
void definir_widgets (void *data) { Janela *prog = (Janela *) data; //criando a janela prog->main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); //definindo o titulo da janela gtk_window_set_title (GTK_WINDOW (prog->main_window), "Janelinha dos Miguxos!"); //desabilitando o redimensionamento da janela gtk_window_set_resizable (GTK_WINDOW (prog->main_window), FALSE); //tamanho da janela gtk_widget_set_size_request ((GtkWidget *) prog->main_window, 400, 200); //um container para os meus widgets GtkEntry e GtkButton prog->vbox = gtk_vbox_new (FALSE, 0); //criando uma caixa de texto: prog->entry = gtk_entry_new_with_max_length (100); /*gtk_button_new_from_stock("gtk-home"); */ prog->button = gtk_button_new_with_label ("Botãozim miguxo!"); //empacotando os widgets no vbox: gtk_box_pack_start ((GtkBox *) prog->vbox, (GtkWidget *) prog->entry, TRUE, TRUE, 1); gtk_box_pack_start ((GtkBox *) prog->vbox, (GtkWidget *) prog->button, FALSE, FALSE, 1); //adicionando o vbox à janela gtk_container_add (GTK_CONTAINER (prog->main_window), prog->vbox); //mostrando todo mundo: /*gtk_widget_show (prog->); */ gtk_widget_show_all (prog->main_window); conectar_callbacks (prog); }
int l_uosopp_p(class uslop_rek *datap,GtkWidget *wpredok) { uosopp_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(uosopp_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); 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(uosopp_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(uosopp_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); 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(uosopp_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(uosopp_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(uosopp_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 l_kasopp_v(iceb_u_str *kodzap, //Код записи для корректировки ; возвращается код только что введённой записи GtkWidget *wpredok) { l_kasopp_v_data data; data.kodk.new_plus(kodzap->ravno()); iceb_u_str naim_shet(""); iceb_u_str naim_shetk(""); class iceb_u_str naim_kodcn(""); char strsql[512]; class iceb_u_str kikz; if(kodzap->getdlinna() > 1) { //читаем корректируемую запись SQL_str row; SQLCURSOR cur; sprintf(strsql,"select * from Kasop1 where kod='%s'",kodzap->ravno()); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) != 1) { iceb_menu_soob(gettext("Не найдена запись для корректировки !"),wpredok); return(1); } data.rk.kod.new_plus(row[0]); data.rk.naim.new_plus(row[1]); data.rk.shet.new_plus(row[2]); data.rk.shetk.new_plus(row[3]); data.rk.prov=atoi(row[4]); kikz.plus(iceb_kikz(row[5],row[6],wpredok)); if(atoi(row[7]) != 0) data.rk.kod_cn.new_plus(row[7]); if(data.rk.shet.getdlinna() > 1) { //Узнаём наименование счёта sprintf(strsql,"select nais from Plansh where ns='%s'",data.rk.shet.ravno()); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) == 1) naim_shet.new_plus(row[0]); } if(data.rk.shetk.getdlinna() > 1) { //Узнаём наименование счёта корреспондента sprintf(strsql,"select nais from Plansh where ns='%s'",data.rk.shetk .ravno()); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) == 1) naim_shetk.new_plus(row[0]); } if(data.rk.kod_cn.getdlinna() > 1) { //Узнаём наименование счёта корреспондента sprintf(strsql,"select naik from Kascn where kod=%d",data.rk.kod_cn.ravno_atoi()); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) == 1) naim_kodcn.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); 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_kasopp_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_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); GtkWidget *separator1=gtk_hseparator_new(); GtkWidget *separator3=gtk_hseparator_new(); gtk_box_pack_start (GTK_BOX (vbox),separator1, TRUE, TRUE, 2); //Вставляем радиокнопки data.radiobutton2[0]=gtk_radio_button_new_with_label_from_widget(NULL,gettext("Проводки не нужно делать")); data.radiobutton2[1]=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(data.radiobutton2[0]),gettext("Проводки нужно делать")); gtk_box_pack_start (GTK_BOX (vbox), data.radiobutton2[0], TRUE, TRUE, 1); gtk_box_pack_start (GTK_BOX (vbox), data.radiobutton2[1], TRUE, TRUE, 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton2[data.rk.prov]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (vbox),separator3, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (vbox),hboxknop, TRUE, TRUE, 1); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s",gettext("Код операции")); label=gtk_label_new(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), label, FALSE, FALSE, 0); data.entry[E_KOD] = gtk_entry_new_with_max_length (20); 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_kasopp_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)); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), label,FALSE, FALSE, 0); data.entry[E_NAIM] = gtk_entry_new_with_max_length (249); 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_kasopp_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); sprintf(strsql,"%s",gettext("Счёт")); data.knopka_enter[E_SHET]=gtk_button_new_with_label(iceb_u_toutf(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(kasopp_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_with_max_length (19); 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(l_kasopp_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHET]),data.rk.shet.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHET]),(gpointer)E_SHET); data.label_naishet=gtk_label_new(naim_shet.ravno_toutf(20)); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.label_naishet,TRUE, TRUE, 0); sprintf(strsql,"%s",gettext("Счёт корреспондент")); data.knopka_enter[E_SHETK]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_SHETK]), data.knopka_enter[E_SHETK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_SHETK]),"clicked",GTK_SIGNAL_FUNC(kasopp_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_SHETK]),(gpointer)E_SHETK); tooltips_enter[E_SHETK]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_SHETK],data.knopka_enter[E_SHETK],gettext("Выбор счёта в плане счетов"),NULL); data.entry[E_SHETK] = gtk_entry_new_with_max_length (19); gtk_box_pack_start (GTK_BOX (hbox[E_SHETK]), data.entry[E_SHETK],TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SHETK]), "activate",GTK_SIGNAL_FUNC(l_kasopp_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHETK]),data.rk.shetk.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHETK]),(gpointer)E_SHETK); data.label_naishetk=gtk_label_new(naim_shetk.ravno_toutf(20)); gtk_box_pack_start (GTK_BOX (hbox[E_SHETK]), data.label_naishetk,TRUE, TRUE, 0); sprintf(strsql,"%s",gettext("Код целевого назначения")); data.knopka_enter[E_KOD_CN]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_CN]), data.knopka_enter[E_KOD_CN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KOD_CN]),"clicked",GTK_SIGNAL_FUNC(kasopp_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KOD_CN]),(gpointer)E_KOD_CN); tooltips_enter[E_KOD_CN]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KOD_CN],data.knopka_enter[E_KOD_CN],gettext("Выбор кода целевого назначения"),NULL); data.entry[E_KOD_CN] = gtk_entry_new_with_max_length (19); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_CN]), data.entry[E_KOD_CN],TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD_CN]), "activate",GTK_SIGNAL_FUNC(l_kasopp_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD_CN]),data.rk.kod_cn.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD_CN]),(gpointer)E_KOD_CN); data.label_naikodcn=gtk_label_new(naim_kodcn.ravno_toutf(20)); gtk_box_pack_start (GTK_BOX (hbox[E_KOD_CN]), data.label_naikodcn,TRUE, TRUE, 0); 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_kasopp_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_kasopp_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); 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()); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); return(data.voz); }