NAME
Padre::Wx::Role::View - A role for GUI tools that live in panels
SYNOPSIS
# From the Padre::Wx::Role::View section of Padre::Wx::FunctionList
sub view_panel {
return 'right';
}
sub view_label {
Wx::gettext('Functions');
}
sub view_close {
shift->{main}->show_functions(0);
}
DESCRIPTION
This is a role that should be inherited from by GUI components that live in the left, right or bottom notebook panels of Padre.
Anything that inherits from this role is expected to implement a number of methods that allow it to play nicely with the Padre object model.
METHODS
To help compartmentalise methods that are provided by different roles, a "view_" prefix is used across methods expected by the role.
view_panel
This method describes which panel the tool lives in.
Returns the string 'right', 'left', or 'bottom'.
view_label
The method returns the string that the notebook label should be filled with. This should be internationalised properly. This method is called once when the object is constructed, and again if the user triggers a relocale
cascade to change their interface language.
view_close
This method is called on the object by the event handler for the "X" control on the notebook label, if it has one.
The method should generally initiate whatever is needed to close the tool via the highest level API. Note that while we aren't calling the equivalent menu handler directly, we are calling the high-level method on the main window that the menu itself calls.
OPTIONAL
view_icon
This method should return a valid Wx bitmap to be used as the icon for a notebook page (displayed alongside view_label
).
view_start
Called immediately after the view has been displayed, to allow the view to kick off any timers or do additional post-creation setup.
view_stop
Called immediately before the view is hidden, to allow the view to cancel any timers, cancel tasks or do pre-destruction teardown.
COPYRIGHT & LICENSE
Copyright 2008-2016 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.