On Tue, Apr 21, 2009 at 08:57:41AM +0400, Vlad Volodin wrote: > Hello, Jens > > The other way is to make your widgets global. Especially, me? I use > GOjects, and always pass "self" object. For example, I inherit main > window object from GtkWindow and later in widgets definition pass > itself to callback. Also, you can use g_object_set_data for storing > some useful pointers.
Don't use global variables, they make the code hard to read and difficult to understand the context of the variables. > > Good luck > > 2009/4/20 Jens Hansen <jensh...@gmail.com>: > > Hello All. > > > > I'm quite new to C, but have done some gtk programming in perl. > > I've been looking for answers on the web, and in various tutorials, without > > any luck. > > My question is how to pass more widgets as a gpointer, to a callback > > function. (in C ) > > > > For instance if a "OK" button, has to read the state of three other > > widgets... > > > > In perl I would make an array of the widgets, and then pass the ref as the > > data argument to the callback. I cannot grasp how to do something like that > > in C. A typical approach to this is to create a FooContext structure that will hold pointers to all the elements that you need to use in your callback. You can instanciate it with g_new0() and later free it with g_free(). Be careful to hold object references and release them when you don't need them anymore. You could also use an array for this, but I prefer the structure approach, since you don't want to rely on the order you put the elements in the array later when you use them, removing/adding more elements you may need in the future can be a little cumbersome, etc. Claudio > > > > An example snippet would be really helpfull. > > > > Thx > > > > Jens > > _______________________________________________ > > 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 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list