Re: Passing data from a data collection window back to a main



Hi!
  The best and simplest way to get rid of global varriables would be
to define a structure that would contain all the data you need and
then you can keep passing it's pointer around in the callbacks using
the 'user_data' argument. If you want to use g_object_set/get_data()
instead, thats also possible and very easy (you don't even have to
define a new structure, since you can assign different string keys for
different kinds of data). IMHO, the g_object_set/get_data() API
reference (1) is good enough and there doesn't need to be an example
code for all possible scenerios in the tutorials/docs.

1. http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#g-object-set-data

On 11/26/06, ksadil bigpond net au <ksadil bigpond net au> wrote:
This is my global variable version:

   #include <gtk/gtk.h>

   #include "callbacks.h"
   #include "interface.h"
   #include "support.h"

   GtkWidget *window2, *window1, *label1, *entry1;

   void
   on_button1_clicked                     (GtkButton       *button,
                                        gpointer         user_data)
   {
    window1 = lookup_widget(button,"window1");
    window2=create_window2();
    gtk_widget_show(window2);
    gtk_grab_add(window2);
   }


   void
   on_button2_clicked                     (GtkButton       *button,
                                           gpointer         user_data)
   {
    label1 = lookup_widget(window1,"label1");
    entry1 = lookup_widget(window2,"entry1");
    gtk_label_set_text(label1,gtk_entry_get_text(entry1));
    gtk_grab_remove(window1);
    gtk_widget_destroy(window2);
   }

Thanks,
Kim
---- "ksadil bigpond net au" <ksadil bigpond net au> wrote:
> Hi,
>
> I am about to start a new app, and would like to improve my programming style. I have been using global variables to 
pass data from "popup" windows back to a main window. I have seen discussion about using g_object_set_data, but 
have not progressed to being able to use it confidently.
>
> Does anyone know of a simple example using g_object_set_data. The sort of thing I am thinking about is a 
main window with a label and button, that pops up a child window with an entry and a button. Clicking the child 
windows button returns the string in the entry back to the main windows label.
>
> This sort of example would be very useful in the tutorial.
>
> Thanks,
> Kim
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list



--
Regards,

Zeeshan Ali,
Software Design Engineer,
Open Source Software Operations,
Nokia,
Helsinki, Finland.



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