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-2012 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.