numerical buttons labels cont'd URGENT
- From: Pierre CHATEL <addicted2 wanadoo fr>
- To: GTK <gtk-list gnome org>
- Subject: numerical buttons labels cont'd URGENT
- Date: 28 Nov 2002 18:12:20 -0500
On Thu, 2002-11-28 at 07:28, Stephen Witkop wrote:
> On Wed, 2002-11-27 at 22:37, Pierre CHATEL wrote:
> > 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);
> > }
>
> gtk_label_set() is an alias for:
> void gtk_label_set_text(GtkLabel *label, const char *str)
>
> Since *str is declared const, you need to declare the pointer you pass
> into it as const also.
>
> This is for gtk2 BTW.
Nop, i'm using gtk1.2, and it's not working !
can someone help me ?
the str variable in the on_button_click_event2 callback can't be const
because i need to do gtk_label_get and sprintf to it...how can i
'convert' a it to a const char* befor sending it to gtk_label_set ????
Pierre
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]