Gtk2::E...::Proxy(3)
π Gtk2::Ex...::Proxy(3) π
okay bestie, gather round β this is the manual page for Gtk2::Ex::FormFactory::Proxy, straight outta the User Contributed Perl Documentation section. It's giving "quiet little class that does a LOT of heavy lifting." Let's get into it. π¦
β¨ NAME β¨
Gtk2::Ex::FormFactory::Proxy β the proxy class for application objects. That's it, that's the whole vibe. π
πΈ 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
);
π¨ bestie listen: those comments at the top are NOT a suggestion. You do not make these yourself. The Context does it for you. Respect the pipeline. π
π DESCRIPTION π
So likeβ¦ this class implements a generic proxy mechanism for accessing application objects and their attributes. It defines how attributes of the associated object are accessed. β¨
And here's the thing β you never instantiate objects of this class by yourself. They're created internally by Gtk2::Ex::FormFactory::Context when you add objects with the Context->add_object() method. It's giving "backstage crew, main character energy." π
But! You may use the proxy objects, like, for updates which affect the application object and the GUI as well. Two birds, one slay. π¦π¦
You can receive Proxy objects using the Gtk2::Ex::FormFactory::Context->get_proxy() method. Go get 'em. π«Ά
π§ OBJECT HIERARCHY π§
Gtk2::Ex::FormFactory::Proxy
Just the one. A solo act. A standalone icon. β
π ATTRIBUTES π
Attributes are handled through the common get_ATTR(), set_ATTR() style accessors. Very consistent of them, honestly. π
context=Gtk2::Ex::FormFactory::Context[mandatory] β The Context this proxy belongs to. Required, no cap. π₯object= Object instance | CODEREF β The application object itself, or a code reference which returns the object instance. Either works, it's flexible like that. π«name= SCALAR [mandatory] β The Context-wide unique name of this Proxy. Yes, Context wide unique. Don't be out here duplicating names. πset_prefix= SCALAR [optional] β This is the method prefix for write accessors. Defaults toset_. So original. So classic.get_prefix= SCALAR [optional] β This is the method prefix for read accessors. Defaults toget_. The matching set, we love a duo. π«Ά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. Custom behaviour, we stan.
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 toGtk2::Ex::FormFactory::Context->add_objectfor 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. β¨ Resetting? Groundbreaking. π
π 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. Either way you get the object. π$proxy->set_object ($object)β Changes the application object instance in this Proxy. All dependend Widgets on the GUI are updated accordingly. Everything stays in sync, as it should. π$app_object_attr_value = $proxy->get_attr ($attr)β Returns the application object's attribute$attrof 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. Sneaky little path traversal, love that for you. π¦
$proxy->set_attr ($attr => $value)β Changes the application object's attribute$attrto$valueand 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 => $valuepairs, and updates all dependend Widgets on the GUI accordingly. Bulk mode. Efficiency queen. π$activity = $proxy->get_attr_activity ($attr)β Returns the current activity state of$attr. That's the whole thing. Short and iconic. β
π AUTHORS π
JΓΆrn Reder <joern at zyn dot de>
π COPYRIGHT AND LICENSE π
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.
π bestie the ALL-CAPS warranty disclaimer is doing the most but it is FR FR serious. No promises, no guarantees, ship at your own risk.
π POD ERRORS π
Hey! The above document had some coding errors, which are explained below:
- Around line 470:
- Expected text after
=item, not a bullet
- Expected text after
- Around line 476:
- Non-ASCII character seen before
=encodingin'JΓΆrn'. Assuming UTF-8
- Non-ASCII character seen before
π not the POD parser catching strays. JΓΆrn's name said "I contain multibyte" and podchecker said "excuse me?"
okay that's the whole page, you're officially a Proxy understander now. go forth and never call ->new on it directly, I'm begging. πβ¨
this little manual lives in perl v5.42.0, dated 2025-07-25 β tysm for reading, mwah, bye bestie! π«ΆπΈπ
π¦ where this page comes from
- fedora 43: perl-Gtk2-Ex-FormFactory 0.67-39.fc43 Β· LicenseRef-Callaway-LGPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms