Manual Reference Pages - PADRE::WX::ROLE::MAIN (3)
Padre::Wx::Role::Main - Convenience methods for children of the main window
This role implements the fairly common method pattern for Wx elements that
are children of Padre::Wx::Main.
It provides accessors for easy access to the most commonly needed elements,
and shortcut integration with the Padre::Current context system.
my $ide = $object->ide;
Get the Padre IDE instance that this object is a child of.
my $config = $object->config;
Get the Padre::Config for the current user. Provided mainly as a
convenience because it is needed so often.
Please note that this method does NOT integrate with the Padre::Current
context system. Any project-specific configuration of overrides of default
behaviour will not be present in this configuration object.
For a project-aware configuration, use the following instead.
my $main = $object->main;
Get the Padre::Wx::Main main window that this object is a child of.
my $aui = $object->aui;
Convenient access to the Wx Advanced User Interface (AUI) Manager object.
my $current = $object->current;
Get a new Padre::Current context object, for access to other parts of
the current context.
my $lock = $object->lock_update;
The Padre::Locker API in Padre provides a solid and extensible system for
locking of IDE resources when large-scale change of state is to occur.
Unfortunately, there are some cases in which this mechanism can cause problems.
Window update locking using this API is done on the entire main window. The
resulting Freeze/Thaw calls are recursive on Windows, and as Thaw calls
invalidate the painted state of widgets, this results in a global redraw and
on the non-double-bufferred Windows platform this causes flickering.
When a piece of code is making very targetted changes to just the graphical
state of the application and will only need an UPDATE lock (i.e. does not need
refresh or database locks) the alternative lock_update method provides a
convenience for creating a Wx::WindowUpdateLocker independant of the main
By using a localised lock and avoiding a global update lock, this should
remove global flickering on these changes, and limit flickering to just
the element being update, which should be much less noticable.
COPYRIGHT & LICENSE
Copyright 2008-2013 The Padre development team as listed in Padre.pm.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl 5 itself.
The full text of the license can be found in the
LICENSE file included with this module.
|perl v5.20.3 ||PADRE::WX::ROLE::MAIN (3) ||2013-11-09 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.