logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

"Tickit::Widget::VBox" - distribute child widgets in a vertical column

Author

       Paul Evans <leonerd@leonerd.org.uk>

perl v5.40.0                                       2024-09-16                          Tickit::Widget::VBox(3pm)

Description

       This subclass of Tickit::Widget::LinearBox distributes its children in a vertical column. Its width will
       be the width of the widest child, and its height will be the sum of the heights of all the children, plus
       the inter-child spacing.

       Optionally, if given a non-zero spacing between child widgets and a style to draw in, a horizontal
       dividing line will be drawn between each child.

Name

       "Tickit::Widget::VBox" - distribute child widgets in a vertical column

Style

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

       line => PEN
           Sinceversion0.52.

           The pen used to render a dividing line between child widgets.

       Note  that  while  the  widget  pen  is mutable and changes to it will result in immediate redrawing, any
       changes made will be lost if the widget style is changed.

       The following style keys are used:

       spacing => INT
           The number of lines of spacing between children

       line_style => INT
           Sinceversion0.52.

           If set, the style to draw a dividing line between each child widget. Must  be  one  of  the  "LINE_*"
           constants from Tickit::RenderBuffer.

Synopsis

          use Tickit;
          use Tickit::Widget::VBox;
          use Tickit::Widget::Static;

          my $vbox = Tickit::Widget::VBox->new;

          foreach my $position (qw( top middle bottom )) {
             $vbox->add(
                Tickit::Widget::Static->new(
                   text   => $position,
                   align  => "centre",
                   valign => $position,
                ),
                expand => 1
             );
          }

          Tickit->new( root => $vbox )->run;

See Also