Beispiel #1
0
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);
}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}
Beispiel #5
0
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;
}
Beispiel #6
0
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;
}
Beispiel #7
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;
}
Beispiel #9
0
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);
}
Beispiel #10
0
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;
}
Beispiel #11
0
// 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;
}
Beispiel #13
0
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;
}
Beispiel #14
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;
}
Beispiel #15
0
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;
}
Beispiel #16
0
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);
}
Beispiel #17
0
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);
}
Beispiel #18
0
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));
}
Beispiel #20
0
/*
 * 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);
}
Beispiel #21
0
/*-----------------------------------------------------------------------------------------------------------------------*/
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);
}
Beispiel #22
0
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);
}
Beispiel #24
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;
}
Beispiel #25
0
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;
}
Beispiel #26
0
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);
}
Beispiel #27
0
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
}
Beispiel #28
0
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);
}
Beispiel #29
0
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);
}
Beispiel #30
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);
}