NAME
LibUI::Tab - Multi-Page Control Interface that Displays One Page at a Time
SYNOPSIS
use LibUI ':all';
use LibUI::Tab;
use LibUI::Window;
use LibUI::Label;
Init && die;
my $window = LibUI::Window->new( 'Hi', 320, 100, 0 );
$window->setMargined( 1 );
my $tabs = LibUI::Tab->new;
$tabs->append( $_, LibUI::Label->new($_) ) for qw[First Second Third Fourth];
$tabs->setMargined( $_ - 1, 1 ) for 1 .. $tabs->numPages;
$window->setChild($tabs);
$window->onClosing(
sub {
Quit();
return 1;
},
undef
);
$window->show;
Main();
DESCRIPTION
A LibUI::Tab object represents a control interface that displays one page at a time.
Each page/tab has an associated label that can be selected to switch between pages/tabs.
Functions
Not a lot here but... well, it's just a tab box.
new( ... )
my $tab = LibUI::Tab->new( );
Creates a new LibUI::Tab.
append( ... )
$tab->append( 'Welcome', $box );
Appends a control in form of a page/tab with label.
Expected parameters include:
delete( ... )
$tab->delete( $index );
Removes the control at $index
.
Note: The control is neither destroyed nor freed.
insertAt( ... )
$tab->insertAt( 'Settings', 5, $box );
Inserts a control in form of a page/tab with label at $index
.
Expected parameters include:
$text
- label text$index
- index at which to insert the control$child
- LibUI::Control instance to append
numPages( )
my $tally = $tab->numPages( );
Returns the number of pages contained.
margined( )
if( $tab->margined( 1 ) ) {
...;
}
Returns whether or not the page/tab at $index
has a margin.
setMargined( ... )
$tab->setMargined( 1, 1 );
Sets whether or not the page/tab at index has a margin.
The margin size is determined by the OS defaults.
Expected parameters include:
LICENSE
Copyright (C) Sanko Robinson.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Sanko Robinson <sanko@cpan.org>