NAME¶
Padre::Config::Apply - Implements on-the-fly configuration changes
SYNOPSIS¶
# When the view state of the directory changes we update the menu
# check status and show/hide the panel inside of an update lock.
sub main_directory {
my $main = shift;
my $new = shift;
my $item = $main->menu->view->{directory};
my $lock = $main->lock( 'UPDATE', 'AUI' );
$item->Check($new) if $new != $item->IsChecked;
$main->show_view( directory => $new );
}
DESCRIPTION¶
Padre::Config::Apply allows Padre to apply changes to configuration to
the IDE on the fly instead of requiring a restart.
Centralising the implementation of this functionality allows loading to be
delayed until dynamic config change is actually required, and allow changes to
configuration to be made by several different parts of Padre, including both
the simple and advanced Preferences dialogs, and the online configuration sync
system.
Methodology¶
Functions in this module are named after the matching configuration property,
and are called by "apply" in Padre::Config when the value being set
is different to the current value.
Because functions are
only called when the configuration value has
changed, functions where are not required to do change detection of their own.
Functions are called with three parameters. The first parameter is the
Padre::Wx::Main main window object, the second is the new value of the
configuration property, and the third is the previous value of the
configuration property.
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.