NAME
Devel::ebug::Wx::Service::ViewManager - manage view docking/undocking
SYNOPSIS
my $vm = ...->get_service( 'view_manager' );
my $bool = $vm->has_view( $tag );
$vm->register_view( $view );
$vm->unregister_view( $view );
# both don't call ->register_view()
$vm->create_pane( $view, { name => $tag,
caption => 'Displayed name',
float => 1,
} );
$vm->create_pane_and_update( ... ); # like ->create_pane()
my @view_classes = Devel::ebug::Wx::Service::ViewManager->views;
DESCRIPTION
The view_manager
service manages windows (views) using the wxWidgets Advanced User Interface (AUI). The service automatically manages saving/restoring the state and layout of registered views. Unregistered views are allowed but their state is not preserved between sessions.
METHODS
active_views_list
my @views = $vm->active_views_list;
has_view
get_view
my $is_active = $vm->has_view( $tag );
my $view = $vm->get_view( $tag );
has_view
returns true
if a view vith the given tag is currently shown and managed by the view manager; in this case get_view
can be used to retrieve the view.
register_view
$vm->register_view( $view );
Registers a view with the view manager. Please notice that at any given time only one view can be registered with the service with a given tag.
unregister_view
$vm->unregister_view( $view );
Unregisters the view from the view manager.
create_pane
create_pane_and_update
$vm->create_pane( $view, { name => 'view_tag',
caption => 'Pane title',
float => 1,
} );
$vm->create_pane_and_update( ... );
Both functions create a floatable pane containing $window
; create_pane_and_update
also causes the pane to be shown. Neither function calls register_view
to register the view with the view manager.
show_view
hide_view
$vm->show_view( $tag );
$vm->hide_view( $tag );
my $shown = $vm->is_shown( $tag );
views
my @view_classes = Devel::ebug::Wx::Service::ViewManager->views;
Returns a list of view classes known to the view manager.