NAME
Tickit::Widget::Frame
- draw a frame around another widget
SYNOPSIS
use Tickit;
use Tickit::Widget::Frame;
use Tickit::Widget::Static;
my $tickit = Tickit->new;
my $hello = Tickit::Widget::Static->new(
text => "Hello, world",
align => "centre",
valign => "middle",
);
my $frame = Tickit::Widget::Frame->new;
$frame->add( $hello );
$tickit->set_root_widget( $frame );
$tickit->run;
DESCRIPTION
This container widget draws a frame around a single child widget.
CONSTRUCTOR
$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::Widget::SingleChildWidget constructor:
- style => STRING
-
Optional. Defaults to
ascii
if unspecified. - title => STRING
-
Optional.
- title_align => FLOAT|STRING
-
Optional. Defaults to
0.0
if unspecified.
For more details see the accessors below.
ACCESSORS
$style = $frame->style
$frame->style( $style )
Accessor for the style
property, which controls the way the actual frame is drawn around the inner widget. Must be one of the following names:
ascii single double thick solid_inside solid_outside
The ascii
style is default, and uses only the -|+
ASCII characters. Other styles use Unicode box-drawing characters. These may not be supported by all terminals or fonts.
$frame_pen = $widget->frame_pen
Returns the current frame pen. Modifying an attribute of the returned object results in the widget being redrawn if the widget has a window associated.
$widget->set_frame_pen( $pen )
Set a new Tickit::Pen
object. This is stored by reference; changes to the pen will be reflected in the rendered look of the frame. The same pen may be shared by more than one widget; updates will affect them all.
$title = $frame->title
$frame->title( $title )
Accessor for the title
property, a string written in the top of the frame.
$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.
The symbolic values left
, centre
and right
can be supplied instead of 0.0
, 0.5
and 1.0
respectively.
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>