Provided by: libtickit-widget-tabbed-perl_0.021-2_all bug

NAME

       Tickit::Widget::Tabbed - provide tabbed window support

SYNOPSIS

        use Tickit::Widget::Tabbed;
        my $tabbed = Tickit::Widget::Tabbed->new;
        $tabbed->add_tab(Tickit::Widget::Static->new(text => 'some text'), label => 'First tab');
        $tabbed->add_tab(Tickit::Widget::Static->new(text => 'some text'), label => 'Second tab');

DESCRIPTION

       Provides a container that operates as a tabbed window.

       Subclass of Tickit::ContainerWidget.

STYLE

       The default style pen is used as the widget pen. The following style pen prefixes are also
       used:

       ribbon => PEN
           The pen used for the ribbon

       active => PEN
           The pen attributes used for the active tab on the ribbon

       more => PEN
           The pen used for "more" ribbon scroll markers

       The following style keys are used:

       more_left => STRING
       more_right => STRING
           The text used to indicate that there is more content scrolled to the left or right,
           respectively, in the ribbon

METHODS

   new
       Instantiate a new tabbed window.

       Takes the following named parameters:

       ·   tab_position - (optional) location of the tabs, should be one of left, top, right,
           bottom.

   tab_position
       Accessor for the tab position (top, left, right, bottom).

   active_tab_index
       Returns the 0-based index of the currently-active tab.

   active_tab
       Returns the currently-active tab as a tab object. See below.

   active_tab_widget
       Returns the widget in the currently active tab.

   add_tab
       Add a new tab to this tabbed widget. Returns an object representing the tab; see "METHODS
       ON TAB OBJECTS" below.

       First parameter is the widget to use.

       Remaining form a hash:

       label - label to show on the new tab

   remove_tab
       Remove tab given by 0-based index or tab object.

   move_tab
       Move tab given by 0-based index or tab object forward the given number of positions.

   activate_tab
       Switch to the given tab; by 0-based index, or object.

   next_tab
       Switch to the next tab. This may be bound as a key action.

   prev_tab
       Switch to the previous tab. This may be bound as a key action.

METHODS ON TAB OBJECTS

       The following methods may be called on the objects returned by "add_tab" or "active_tab".

   index
       Returns the 0-based index of this tab

   widget
       Returns the "Tickit::Widget" contained by this tab

   label
       Returns the current label text

   set_label
       Set new label text for the tab

   is_active
       Returns true if this tab is the currently active one

   activate
       Activate this tab

   set_on_activated
       Set a callback or method name to invoke when the tab is activated

   set_on_deactivated
       Set a callback or method name to invoke when the tab is deactivated

   pen
       Returns the "Tickit::Pen" used to draw the label.

       Pen observers are no longer registered on the return value; to set a different pen on the
       tab, use the "set_pen" method instead.

CUSTOM TAB CLASS

       Rather than use the default built-in object class for tab objects, a
       "Tickit::Widget::Tabbed" or subclass thereof can return objects in another class instead.
       This is most useful for subclasses of the tabbed widget itself.

       To perform this, create a subclass of "Tickit::Widget::Tabbed::Tab" with a constructor
       having the following behaviour:

        sub new
        {
                my $class = shift;
                my ( $tabbed, %args ) = @_;

                ...

                my $self = $class->SUPER::new( $tabbed, %args );

                ...

                return $self;
        }

       Arrange for this class to be used by the tabbed widget either by passing its name as a
       constructor argument called "tab_class", or by overriding a method called "TAB_CLASS".

        my $tabbed = Tickit::Widget::Tabbed->new(
                tab_class => "Tab::Class::Name"
        );

       or

        use constant TAB_CLASS => "Tab::Class::Name";

CUSTOM RIBBON CLASS

       Rather than use the default built-in object class for the ribbon object, a
       "Tickit::Widget::Tabbed" or subclass thereof can use an object in another subclass
       instead. This is most useful for subclasses of the tabbed widget itself.

       For more detail, see the documentation in Tickit::Widget::Tabbed::Ribbon.

SEE ALSO

       ·   Tickit::Widget::Table

       ·   Tickit::Widget::HBox

       ·   Tickit::Widget::VBox

       ·   Tickit::Widget::Tree

       ·   Tickit::Window

AUTHOR

       Tom Molesworth <cpan@entitymodel.com>, Paul Evans <leonerd@leonerd.org.uk>

LICENSE

       Copyright Tom Molesworth 2011; Paul Evans 2014. Licensed under the same terms as Perl
       itself.