[Glade-users] A concept problem about lookup_widget().



Am Tue,  3 Aug 2004 01:27:49 -0400 schrieb SRTsbbg:

  What I want to ask is that if somehow there is possible way to
  lookup those entries in
this handler. Or is there any other solution such as make handler take
more arguments?...


Hi,

I should work if you connect the toplevel windows with g_object_set_data
and later get the object with gtk_widget_get_toplevel and
g_object_get_data. Here is a small example how to use this commands:

#include <gtk/gtk.h>

void run (GtkWidget *button, gpointer entry)
{
        GtkWidget *window1;
        GtkWidget *window2;

        window1 = gtk_widget_get_toplevel (
                GTK_WIDGET(button));

        window2 = g_object_get_data (G_OBJECT (
                window1),"window2");

        gtk_window_set_title (GTK_WINDOW (window2),
                "Zugriff auf Widget-Pointer");
}

int main( int   argc, char *argv[])
{
        GtkWidget *window1;
        GtkWidget *window2;
        GtkWidget *box;
        GtkWidget *button;

        gtk_init (&argc, &argv);

        window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        window2 = gtk_window_new (GTK_WINDOW_TOPLEVEL);

        g_object_set_data (G_OBJECT (window1),
             "window2", window2);

        g_object_set_data (G_OBJECT (window2),
             "window1", window1);

         /* box2 */
        box = gtk_hbox_new (FALSE, 0);
        gtk_container_add (GTK_CONTAINER (window1), box);

        /* button - run */
        button = gtk_button_new_from_stock (GTK_STOCK_EXECUTE);
        g_signal_connect (G_OBJECT (button), "clicked",
            G_CALLBACK(run), NULL);

        gtk_box_pack_start(GTK_BOX (box), button, TRUE, TRUE, 5);

        gtk_widget_show (box);
        gtk_widget_show (button);
        gtk_widget_show (window1);
        gtk_widget_show (window2);
        gtk_main ();

        return 0;
}

You can combine this with lookup_widget if you need. If you use libglade
to create the GUI there's a easier way to get the widgets.

regards
Andreas




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]