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

Re: Binding Variables to Widgets



On Thu, 2007-01-04 at 09:12 +0000, Emmanuele Bassi wrote:
> On Wed, 2007-01-03 at 23:12 -0600, Nik Ogura wrote:
> > Forgive my noobishness, I'm coming from a Perl/Tk background.  
> > 
> > In Perl/Tk you can easily bind a variable to a widget, so that any
> > changes to the widget text are automatically changed in the bound
> > variable.
> > 
> > Is this sort of thing possible in Gtk2-perl?  Or am I stuck doing
> > $widget->set_text and $widget->get_text calls to do the same?
> 
> you want Glib::Object::tie_preferences:
> 
>   $object->tie_properties ($all=FALSE)
> 
> 	* $all (boolean) if FALSE (or omitted) tie only properties for this
> 	object’s class, if TRUE tie the properties of this and all parent
> 	classes.
> 
> 	A special method avaiable to Glib::Object derivatives, it uses
> 	perl’s tie facilities to associate hash keys with the properties of
> 	the object. For example:
> 	
> 	  $button->tie_properties;
> 	  # equivalent to $button->set (label => ’Hello World’);
> 	  $button->{label} = ’Hello World’;
> 	  print "the label is: ".$button->{label}."\n";
> 
> 	[...]
> 		-- from Glib::Object perldoc page
> 
> obviously, you really want to be sure that you don't end up adding a key
> named 'text' to your Gtk2::Entry object, or you'd end up with a nasty
> loop.
> 
> in any case, if you want to update a variable in sync with the changes,
> just attach a callback to the Gtk2::Entry 'changed' signal and update
> the variable there: it's called 'event-driven programming' for a reason,
> you know. ;-)
> 
> ciao,
>  Emmanuele.
> 

That'll do it.  Thanks a bunch.
-- 


-Nik




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