[Glade-users] Accessing multiple objects from one callback.
   
    Damon Chaplin
     
    damon@helixcode.com
       
    Sun, 10 Dec 2000 16:23:01 +0000
    
    
  
Colin Thomas wrote:
> void
> on_ok_button1_clicked                  (GtkButton       *button,
>                                         gpointer         user_data)
> {
>  gchar *entry_text;
>  entry_text = gtk_entry_get_text(GTK_ENTRY(user_data));
>  printf("File is: %s\n", entry_text);
> 
> }
> ################################################
> 
> Now the question is, if I want my button to look at MORE than one
> widget in the window, to extract current values how do I specify
> this in glade and/or gtk++ directly. It would appear only one
> widget can be passed to a callback at a time ??
Glade provides a lookup_widget() function to get a pointer to any widget
in the same window. So you could use:
 void
 on_ok_button1_clicked                  (GtkButton       *button,
                                         gpointer         user_data)
 {
  GtkWidget *entry1, *entry2;
  entry1 = lookup_widget (GTK_WIDGET (button), "entry1");
  entry2 = lookup_widget (GTK_WIDGET (button), "entry2");
  ...
assuming your widgets are named "entry1" and "entry2".
See the FAQ at http://glade.pn.org
Damon