problems with spinbutton on windows (gtk+-2.4.13)
- From: Hubert Sokolowski <h sokolowski wsisiz edu pl>
- To: "gtk-app-devel-list gnome org" <gtk-app-devel-list gnome org>
- Subject: problems with spinbutton on windows (gtk+-2.4.13)
- Date: Mon, 8 Nov 2004 20:16:27 +0100
Hi!
there is a problem with getting spinbutton value on windows.
when I use keyboard to set the value, the value I get using
gtk_spin_button_get_value_as_int is not the one I set.
the value can only be set when you use mouse and click the arrows.
Can someone tell me how to solve this problem?
below is a code that creates a window with spinbutton.
on linux it works ok.
GtkWidget*
create_window_point (void)
{
GtkWidget *window_point;
GdkPixbuf *window_point_icon_pixbuf;
GtkWidget *vbox21;
GtkWidget *hbox107;
GtkWidget *label116;
GtkWidget *radiobutton_original;
GSList *radiobutton_original_group = NULL;
GtkWidget *radiobutton_base;
GtkWidget *radiobutton_start;
GtkWidget *hbox108;
GtkWidget *label117;
GtkObject *spinbutton_x_adj;
GtkWidget *spinbutton_x;
GtkWidget *label118;
GtkObject *spinbutton_y_adj;
GtkWidget *spinbutton_y;
GtkWidget *hbox109;
GtkWidget *hbox110;
GtkWidget *button_cancel;
GtkWidget *button_ok;
GtkWidget *alignment27;
GtkWidget *hbox111;
GtkWidget *image459;
GtkWidget *label119;
window_point = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window_point), "PrzesuĹ\204 punkt");
gtk_window_set_modal (GTK_WINDOW (window_point), TRUE);
gtk_window_set_resizable (GTK_WINDOW (window_point), FALSE);
window_point_icon_pixbuf = create_pixbuf ("4dach.png");
if (window_point_icon_pixbuf)
{
gtk_window_set_icon (GTK_WINDOW (window_point),
window_point_icon_pixbuf); gdk_pixbuf_unref
(window_point_icon_pixbuf); }
vbox21 = gtk_vbox_new (FALSE, 4);
gtk_widget_show (vbox21);
gtk_container_add (GTK_CONTAINER (window_point), vbox21);
gtk_container_set_border_width (GTK_CONTAINER (vbox21), 4);
hbox107 = gtk_hbox_new (TRUE, 0);
gtk_widget_show (hbox107);
gtk_box_pack_start (GTK_BOX (vbox21), hbox107, FALSE, FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox107), 4);
label116 = gtk_label_new ("Podaj nowe wspĂłĹ\202rzÄ\231dne punktu
wzglÄ\231dem:"); gtk_widget_show (label116);
gtk_box_pack_start (GTK_BOX (hbox107), label116, FALSE, FALSE, 0);
radiobutton_original = gtk_radio_button_new_with_mnemonic (NULL,
"oryginalnej pozycji"); gtk_widget_show (radiobutton_original);
gtk_box_pack_start (GTK_BOX (vbox21), radiobutton_original, FALSE,
FALSE, 0); GTK_WIDGET_UNSET_FLAGS (radiobutton_original,
GTK_CAN_FOCUS); gtk_button_set_focus_on_click (GTK_BUTTON
(radiobutton_original), FALSE); gtk_radio_button_set_group
(GTK_RADIO_BUTTON (radiobutton_original), radiobutton_original_group);
radiobutton_original_group = gtk_radio_button_get_group
(GTK_RADIO_BUTTON (radiobutton_original));
radiobutton_base = gtk_radio_button_new_with_mnemonic (NULL, "punktu
bazowego"); gtk_widget_show (radiobutton_base);
gtk_box_pack_start (GTK_BOX (vbox21), radiobutton_base, FALSE, FALSE,
0); GTK_WIDGET_UNSET_FLAGS (radiobutton_base, GTK_CAN_FOCUS);
gtk_button_set_focus_on_click (GTK_BUTTON (radiobutton_base), FALSE);
gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_base),
radiobutton_original_group); radiobutton_original_group =
gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_base));
radiobutton_start = gtk_radio_button_new_with_mnemonic (NULL,
"poczÄ\205tku ukĹ\202adu wspĂłĹ\202rzÄ\231dnych"); gtk_widget_show
(radiobutton_start); gtk_box_pack_start (GTK_BOX (vbox21),
radiobutton_start, FALSE, FALSE, 0); GTK_WIDGET_UNSET_FLAGS
(radiobutton_start, GTK_CAN_FOCUS); gtk_button_set_focus_on_click
(GTK_BUTTON (radiobutton_start), FALSE); gtk_radio_button_set_group
(GTK_RADIO_BUTTON (radiobutton_start), radiobutton_original_group);
radiobutton_original_group = gtk_radio_button_get_group
(GTK_RADIO_BUTTON (radiobutton_start));
hbox108 = gtk_hbox_new (FALSE, 4);
gtk_widget_show (hbox108);
gtk_box_pack_start (GTK_BOX (vbox21), hbox108, FALSE, FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox108), 4);
label117 = gtk_label_new ("X:");
gtk_widget_show (label117);
gtk_box_pack_start (GTK_BOX (hbox108), label117, FALSE, FALSE, 0);
spinbutton_x_adj = gtk_adjustment_new (0, -10000, 10000, 1, 10, 10);
spinbutton_x = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_x_adj),
1, 0); gtk_widget_show (spinbutton_x);
gtk_box_pack_start (GTK_BOX (hbox108), spinbutton_x, FALSE, FALSE, 0);
gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_x), TRUE);
label118 = gtk_label_new ("Y:");
gtk_widget_show (label118);
gtk_box_pack_start (GTK_BOX (hbox108), label118, FALSE, FALSE, 0);
spinbutton_y_adj = gtk_adjustment_new (0, -10000, 10000, 1, 10, 10);
spinbutton_y = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_y_adj),
1, 0); gtk_widget_show (spinbutton_y);
gtk_box_pack_start (GTK_BOX (hbox108), spinbutton_y, FALSE, FALSE, 0);
gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_y), TRUE);
hbox109 = gtk_hbox_new (FALSE, 0);
gtk_widget_show (hbox109);
gtk_box_pack_end (GTK_BOX (vbox21), hbox109, FALSE, FALSE, 0);
hbox110 = gtk_hbox_new (TRUE, 4);
gtk_widget_show (hbox110);
gtk_box_pack_end (GTK_BOX (hbox109), hbox110, FALSE, FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox110), 4);
button_cancel = gtk_button_new_from_stock ("gtk-cancel");
gtk_widget_show (button_cancel);
gtk_box_pack_start (GTK_BOX (hbox110), button_cancel, TRUE, TRUE, 0);
button_ok = gtk_button_new ();
gtk_widget_show (button_ok);
gtk_box_pack_start (GTK_BOX (hbox110), button_ok, TRUE, TRUE, 0);
alignment27 = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_widget_show (alignment27);
gtk_container_add (GTK_CONTAINER (button_ok), alignment27);
hbox111 = gtk_hbox_new (FALSE, 2);
gtk_widget_show (hbox111);
gtk_container_add (GTK_CONTAINER (alignment27), hbox111);
image459 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image459);
gtk_box_pack_start (GTK_BOX (hbox111), image459, FALSE, FALSE, 0);
label119 = gtk_label_new_with_mnemonic ("_OK");
gtk_widget_show (label119);
gtk_box_pack_start (GTK_BOX (hbox111), label119, FALSE, FALSE, 0);
g_signal_connect ((gpointer) window_point, "delete_event",
G_CALLBACK (on_window_point_delete_event),
NULL);
g_signal_connect ((gpointer) radiobutton_original, "toggled",
G_CALLBACK (on_radiobutton_point_original_toggled),
NULL);
g_signal_connect ((gpointer) radiobutton_base, "toggled",
G_CALLBACK (on_radiobutton_point_base_toggled),
NULL);
g_signal_connect ((gpointer) radiobutton_start, "toggled",
G_CALLBACK (on_radiobutton_point_start_toggled),
NULL);
g_signal_connect ((gpointer) button_cancel, "clicked",
G_CALLBACK (on_button_point_cancel_clicked),
NULL);
g_signal_connect_after ((gpointer) button_ok, "clicked",
G_CALLBACK (on_button_point_ok_clicked),
NULL);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (window_point, window_point,
"window_point"); GLADE_HOOKUP_OBJECT (window_point, vbox21, "vbox21");
GLADE_HOOKUP_OBJECT (window_point, hbox107, "hbox107");
GLADE_HOOKUP_OBJECT (window_point, label116, "label116");
GLADE_HOOKUP_OBJECT (window_point, radiobutton_original,
"radiobutton_original"); GLADE_HOOKUP_OBJECT (window_point,
radiobutton_base, "radiobutton_base"); GLADE_HOOKUP_OBJECT
(window_point, radiobutton_start, "radiobutton_start");
GLADE_HOOKUP_OBJECT (window_point, hbox108, "hbox108");
GLADE_HOOKUP_OBJECT (window_point, label117, "label117");
GLADE_HOOKUP_OBJECT (window_point, spinbutton_x, "spinbutton_x");
GLADE_HOOKUP_OBJECT (window_point, label118, "label118");
GLADE_HOOKUP_OBJECT (window_point, spinbutton_y, "spinbutton_y");
GLADE_HOOKUP_OBJECT (window_point, hbox109, "hbox109");
GLADE_HOOKUP_OBJECT (window_point, hbox110, "hbox110");
GLADE_HOOKUP_OBJECT (window_point, button_cancel, "button_cancel");
GLADE_HOOKUP_OBJECT (window_point, button_ok, "button_ok");
GLADE_HOOKUP_OBJECT (window_point, alignment27, "alignment27");
GLADE_HOOKUP_OBJECT (window_point, hbox111, "hbox111");
GLADE_HOOKUP_OBJECT (window_point, image459, "image459");
GLADE_HOOKUP_OBJECT (window_point, label119, "label119");
return window_point;
}
regards
--
Hubert Sokolowski
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]