Prima::Tie

Langue: en

Autres versions - même langue

Version: 2009-02-24 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

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

DESCRIPTION

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 respectively.

SYNOPSIS

         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';
 
 

USAGE

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');
         $widget->items(\@i);
 
 

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 so:

         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.

Prima::Tie::items

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 "Prima::Outline".

Prima::Tie::text

The class is applicable to any widget.

Prima::Tie::value

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.)

AUTHORS

Teo Sankaro, <teo_sankaro@hotmail.com>. Dmitry Karasik, <dmitry@karasik.eu.org>.