Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Padre::Wx::Role::Main(User Contributed Perl DocumentatPadre::Wx::Role::Main(3)

       Padre::Wx::Role::Main - Convenience methods for children	of the main

       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

	   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

	   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

       Unfortunately, there are	some cases in which this mechanism can cause

       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 locking API.

       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 2008-2013 The Padre development team as listed	in

       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.24.1			  2013-11-09	      Padre::Wx::Role::Main(3)


Want to link to this manual page? Use this URL:

home | help