Man Linux: Main Page and Category List


       Prima::Tie - tie widget properties to scalars or arrays.


       Prima::Tie contains two abstract classes, "Prima::Tie::Array" and
       "Prima::Tie::Scalar", which tie an array or a scalar to a widget’s
       arbitrary array or scalar property.  Also, it contains classes
       "Prima::Tie::items", "Prima::Tie::text", and "Prima::Tie::value", which
       tie a variable to a widget’s items, text, and value property


               use Prima::Tie;

               tie @items, 'Prima::Tie::items', $widget;

               tie @some_property, 'Prima::Tie::Array', $widget, 'some_property';

               tie $text, 'Prima::Tie::text', $widget;

               tie $some_property, 'Prima::Tie::Scalar', $widget, 'some_property';


       These classes provide immediate access to a widget’s array and scalar
       property, in particular to popular properties as items and text. It is
       considerably simpler to say

               splice(@items,3,1,'new item');

       than to say

               my @i = @{$widget->items};
               splice(@i,3,1,'new item');

       You can work directly with the text or items rather than at a remove.
       Furthermore, if the only reason you keep an object around after
       creation is to access its text or items, you no no longer need to do

               tie @some_array, 'Prima::Tie::items', Prima::ListBox->create(@args);

       As opposed to:

               my $widget = Prima::ListBox->create(@args);
               tie @some_array, 'Prima::Tie::items', $widget;

       "Prima::Tie::items" requires "::items" property to be available on the
       widget.  Also, it takes advantage of additional "get_items",
       "add_items", and the like if available.

       The class is applicable to "Prima::ListViewer", "Prima::ListBox",
       "Prima::Header", and their descendants, and in limited fashion to
       "Prima::OutlineViewer" and its descendants "Prima::StringOutline" and

       The class is applicable to any widget.

       The class is applicable to "Prima::GroupBox", "Prima::ColorDialog",
       "Prima::SpinEdit", "Prima::Gauge", "Prima::Slider",
       "Prima::CircularSlider", and "Prima::ScrollBar".


       Copyright 2004 Teo Sankaro

       You may redistribute and/or modify this module under the same terms as
       Perl itself.  (Although a credit would be nice.)


       Teo Sankaro, <>.  Dmitry Karasik,