numerical buttons labels cont'd
- From: Pierre CHATEL <addicted2 wanadoo fr>
- To: GTK <gtk-list gnome org>
- Subject: numerical buttons labels cont'd
- Date: 27 Nov 2002 22:37:45 -0500
Hi,
i have changed my code the way indicated in the mailing list but it's
not working...
The on_button_click_event2 callback decrements the label (numerical
value) of a button by 1, but the new value is not showing in
the button ! The line bellow is probably incriminated:
gtk_label_set(GTK_LABEL(GTK_BIN(button)->child), str);
But when i use a constant string in place of str it's working:
gtk_label_set(GTK_LABEL(GTK_BIN(button)->child), "xx");
The above line change the label of the button to xx ON THE SCREEN
How can i use a char* in order to manipulate the label ?
/* Code Segment */
button1 = gtk_button_new_with_label (_("4"));
gtk_widget_ref (button1);
gtk_object_set_data_full (GTK_OBJECT (window1), "button1",
button1,(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (button1);
gtk_fixed_put (GTK_FIXED (fixed1), button1, 48, 144);
gtk_widget_set_uposition (button1, 48, 144);
gtk_widget_set_usize (button1, 47, 22);
gtk_signal_connect (GTK_OBJECT (button1), "clicked",
GTK_SIGNAL_FUNC (on_button_click_event2),
NULL);
/* The callback: decrement the label of the button (default "4") by 1 */
void
on_button_click_event2 (GtkWidget *button, gpointer user_data)
{
char *str;
int i;
gtk_label_get(GTK_LABEL(GTK_BIN(button)->child), &str);
i = atoi(str);
i--;
sprintf(str,"%i",i);
g_print("%s",str); /* The new value is displayed for debugging */
gtk_label_set(GTK_LABEL(GTK_BIN(button)->child), str);
}
Thks,
Pierre
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]