Provided by: libgtk2-ex-formfactory-perl_0.67-0ubuntu1_all
NAME
Gtk2::Ex::FormFactory::Proxy - Proxy class for application objects
SYNOPSIS
#-- Proxies are always created through #-- Gtk2::Ex::FormFactory::Context, never #-- directly by the application. Gtk2::Ex::FormFactory::Proxy->new ( context => Gtk2::Ex::FormFactory::Context, object => Object instance or CODEREF, name => Name of this proxy, set_prefix => Method prefix for write accessors, get_prefix => Method prefix for read accessors, attr_accessors_href => Hashref with accessor callbacks, attr_activity_href => Hashref with activity callbacks, aggregated_by => Fully qualified attribute of the parent, changes_attr_filter => Regex for attributes which should not trigger the object's 'changed' status );
DESCRIPTION
This class implements a generic proxy mechanism for accessing application objects and their attributes. It defines attributes of the associated object are accessed. You never instantiate objects of this class by yourself; they're created internally by Gtk2::Ex::FormFactory::Context when adding objects with the Context->add_object() method. But you may use the proxy objects e.g. for updates which affect the application object and the GUI as well. You can receive Proxy objects using the Gtk2::Ex::FormFactory::Context->get_proxy() method.
OBJECT HIERARCHY
Gtk2::Ex::FormFactory::Proxy
ATTRIBUTES
Attributes are handled through the common get_ATTR(), set_ATTR() style accessors. context = Gtk2::Ex::FormFactory::Context [mandatory] The Context this proxy belongs to. object = Object instance | CODEREF The application object itself or a code reference, which returns the object instance. name = SCALAR [mandatory] The Context wide unique name of this Proxy. set_prefix = SCALAR [optional] This is the method prefix for write accessors. Defaults to set_. get_prefix = SCALAR [optional] This is the method prefix for read accessors. Defaults to get_. attr_accessors_href = HASHREF [optional] With this hash you can override specific accessors with a code reference, which is called instead of the object's own accessor. Refer to Gtk2::Ex::FormFactory::Context->add_object for details. attr_activity_href = HASHREF [optional] This hash defines callbacks for attributes which return the activity state of the corresonding attribute. Refer to Gtk2::Ex::FormFactory::Context->add_object for details. aggregated_by = "object.attr" [optional] Fully qualified attribute of the parent aggregating this object Refer to Gtk2::Ex::FormFactory::Context->add_object for details. changes_attr_filter = REGEX [optional] Refer to Gtk2::Ex::FormFactory::Context->add_object for details. object_changed = BOOLEAN This flag indicates whether the object represented by this Proxy was changed. You may set this attribute to reset the object's changed state.
METHODS
$app_object = $proxy->get_object () This returns the actual application object of this Proxy, either the statical assigned instance or a dynamicly retrieved instance. $proxy->set_object ($object) Changes the application object instance in this Proxy. All dependend Widgets on the GUI are updated accordingly. $app_object_attr_value = $proxy->get_attr ($attr) Returns the application object's attribute $attr of this Proxy. If $attr has the form "object.attr" the attribute of the correspondent object is retreived, instead of the object associated with this proxy. $proxy->set_attr ($attr => $value) Changes the application object's attribute $attr to $value and updates all dependend Widgets on the GUI accordingly. If $attr has the form "object.attr" the correspondent object will be updated, instead of the object associated with this proxy. $proxy->set_attrs ( { $attr => $value, ... } ) Changes a bunch of application object's attributes, which is passed as a hash reference with $attr => $value pairs and updates all dependend Widgets on the GUI accordingly. $activity = $proxy->get_attr_activity ($attr) Returns the current activity state of $attr.
AUTHORS
Joern Reder <joern at zyn dot de>
COPYRIGHT AND LICENSE
Copyright 2004-2006 by Joern 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.