Provided by: libtickit-widget-tabbed-perl_0.027-1_all
NAME
"Tickit::Widget::Tabbed::Ribbon" - base class for "Tickit::Widget::Tabbed" control ribbon
DESCRIPTION
This class contains the default implementation for the control ribbon used by Tickit::Widget::Tabbed, and also acts as a base class to assist in the creation of a custom ribbon. Details of this class and its operation are useful to know when implenting a custom control ribbon. It is not necessary to consider this class if simply using the "Tickit::Widget::Tabbed" with its default control ribbon.
CUSTOM RIBBON CLASS
To perform create a custom ribbon class, create a subclass of "Tickit::Widget::Tabbed::Ribbon" with a constructor having the following behaviour: package Custom::Ribbon::Class; use base qw( Tickit::Widget::Tabbed::Ribbon ); sub new_for_orientation { my $class = shift; my ( $orientation, %args ) = @_; ... return $self; } Alternatively if this is not done, then one of two subclasses will be used for the constructor, by appending "::horizontal" or "::vertical" to the class name. In this case, the custom class should provide these as well. package Custom::Ribbon::Class; use base qw( Tickit::Widget::Tabbed::Ribbon ); package Custom::Ribbon::Class::horizontal; use base qw( Custom::Ribbon::Class ); ... package Custom::Ribbon::Class::vertical; use base qw( Custom::Ribbon::Class ); ... Arrange for this class to be used by the tabbed widget either by passing its name as a constructor argument called "ribbon_class", or by overriding a method called "RIBBON_CLASS". my $tabbed = Tickit::Widget::Tabbed->new( ribbon_class => "Ribbon::Class::Name" ); or use constant RIBBON_CLASS => "Ribbon::Class::Name";
METHODS
tabs @tabs = $ribbon->tabs $count = $ribbon->tabs Returns a list of the contained Tickit::Widget::Tabbed tab objects in list context, or the count of them in scalar context. active_tab_index $index = $ribbon->active_tab_index Returns the index of the currently-active tab active_tab $tab = $ribbon->active_tab Returns the currently-active tab as a "Tickit::Widget::Tabbed" tab object.
SUBCLASS METHODS
The subclass will need to provide implementations of the following methods. render $ribbon->render( %args ) lines $lines = $ribbon->lines cols $cols = $ribbon->cols As per the Tickit::Widget methods. on_key $handled = $ribbon->on_key( $ev ) on_mouse $handled = $ribbon->on_mouse( $ev ) As per the Tickit::Widget methods. Optional. If not supplied then the ribbon will not respond to keyboard or mouse events. scroll_to_visible $ribbon->scroll_to_visible( $index ) Requests that a scrollable control ribbon scrolls itself so that the given $index tab is visible.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>