oracular (3) Tickit::Widget::Frame.3pm.gz

Provided by: libtickit-widgets-perl_0.39-1_all bug

NAME

       "Tickit::Widget::Frame" - draw a frame around another widget

SYNOPSIS

          use Tickit;
          use Tickit::Widget::Frame;
          use Tickit::Widget::Static;

          my $frame = Tickit::Widget::Frame->new(
             style => { linetype => "single" },
          )
             ->set_child(
                Tickit::Widget::Static->new(
                   text   => "Hello, world",
                   align  => "centre",
                   valign => "middle",
                )
             );

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

DESCRIPTION

       This container widget draws a frame around a single child widget.

STYLE

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

       frame => PEN
           The pen used to render the frame lines

       The following style keys are used:

       linetype => STRING
           Controls the type of line characters used to draw the frame. Must be one of the following names:

              ascii single double thick solid_inside solid_outside

           The "ascii" linetype is default, and uses only the "-|+" ASCII characters.  Other linetypes use
           Unicode box-drawing characters. These may not be supported by all terminals or fonts.

       linetype_top => STRING
       linetype_bottom => STRING
       linetype_left => STRING
       linetype_right => STRING
           Overrides the "linetype" attribute for each side of the frame specifically.  If two line-drawing
           styles meet at corners they should be drawn correctly if "Tickit::RenderBuffer" can combine the line
           segments, but in other circumstances the corners are drawn as extensions of the top or bottom line,
           and the left and right lines do not meet it.

           Any edge's linetype may be set to "none" to cause that edge not to have a line at all; no extra space
           will be consumed on that side.

CONSTRUCTOR

   new
          $frame = Tickit::Widget::Frame->new( %args );

       Constructs a new "Tickit::Widget::Static" object.

       Takes the following named arguments in addition to those taken by the base Tickit::SingleChildWidget
       constructor:

       title => STRING
               Optional.

       title_align => FLOAT|STRING
               Optional. Defaults to 0.0 if unspecified.

       For more details see the accessors below.

ACCESSORS

   title
          $title = $frame->title;

   set_title
          $frame->set_title( $title );

       Accessor for the "title" property, a string written in the top of the frame.

   title_align
   set_title_align
          $title_align = $frame->title_align;

          $frame->set_title_align( $title_align );

       Accessor for the "title_align" property. Gives a vlaue in the range 0.0 to 1.0 to align the title in the
       top of the frame.

       See also Tickit::WidgetRole::Alignable.

TODO

       •   Specific pen for title. Layered on top of frame pen.

       •   Caption at the bottom of the frame as well. Identical to title.

       •   Consider if it's useful to provide accessors to apply extra padding inside the frame, surrounding the
           child window.

AUTHOR

       Paul Evans <leonerd@leonerd.org.uk>