Gtk2::Ex::FormFactory::Popup − A Popup in a FormFactory framework
This class implements a Popup in a Gtk2::Ex::FormFactory framework. The selected entry of the Popup is controlled by the value of the associated application object attribute, which is either an index in an array of possible Popup entries or a key of a hash of possible Popup entries.
Refer to the chapter REQUIREMENTS FOR ASSOCIATED APPLICATION OBJECTS for details.
handled through the common get_ATTR(),
set_ATTR() style accessors, but they are mostly
passed once to the object constructor and must not be
altered after the associated FormFactory was built.
items = ARRAYREF|HASHREF [optional]
This attribute takes a static list of popup items, if the popup shouldn’t be controlled dynamically by an associated application object. Refer to the next chapter for details of the data structure applied here.
Application objects represented by a Gtk2::Ex::FormFactory::Popup must define additional methods, unless their content is static by setting items.
The naming of
the methods listed beyond uses the standard get_
prefix for the attribute read accessor.
ATTR needs to be replaced by the
actual name of the attribute associated with the widget.
This returns the entries of the
Popup. Three data models are supported here:
If the method returns a reference to a simple array, the popup will be filled with the array values in the original array order.
The index of the actually selected popup entry is stored in the attribute of the associated application object.
Two dimensional ARRAY
The method may return a reference to a two dimensional array. Each row needs to have the attribute value in the first column and the label for the corresponding item in the second.
If the method returns a reference to a hash, the popup will be filled with the alphanumerically sorted hash values.
In turn the hash key of the actually selected popup entry is stored in the attribute of the associated application object.
JÃ¶rn Reder <joern at zyn dot de>
Copyright 2004−2006 by JÃ¶rn Reder.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place − Suite 330, Boston, MA 02111−1307 USA.
above document had some coding errors, which are explained
Around line 245:
Non-ASCII character seen before =encoding in ’JÃ¶rn’. Assuming CP1252