.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Tickit::Widget::FloatBox 3pm" .TH Tickit::Widget::FloatBox 3pm "2022-12-17" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" "Tickit::Widget::FloatBox" \- manage a collection of floating widgets .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& TODO .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This container widget maintains a collection of floating widgets that can be displayed over the top of a single base widget. The box itself is entirely occupied by the base widget, and by default when no floats are created or displayed it will behave essentially invisibly, as though the box were not there and the base widget was an immediate child of the container the floatbox is inside. .SH "CONSTRUCTOR" .IX Header "CONSTRUCTOR" .SS "new" .IX Subsection "new" .Vb 1 \& $floatbox = Tickit::Widget::FloatBox\->new( %args ) .Ve .PP Constructs a new \f(CW\*(C`Tickit::Widget::FloatBox\*(C'\fR object. .PP Takes the following named arguments in addition to those taken by the base Tickit::ContainerWidget constructor. .IP "base_child => Tickit::Widget" 8 .IX Item "base_child => Tickit::Widget" The main Tickit::Widget instance to use as the base. .Sp This argument is now discouraged as it complicates the construction of subclasses; see instead the \*(L"set_base_child\*(R" method used as a chaining mutator. .SH "ACCESSORS" .IX Header "ACCESSORS" .SS "base_child" .IX Subsection "base_child" .SS "set_base_child" .IX Subsection "set_base_child" .Vb 1 \& $base_child = $floatbox\->base_child \& \& $floatbox\->set_base_child( $base_child ) .Ve .PP Returns or sets the base widget to use. .PP The mutator method returns the container widget instance itself making it suitable to use as a chaining mutator; e.g. .PP .Vb 2 \& my $container = Tickit::Widget::FloatBox\->new( ... ) \& \->set_base_child( Tickit::Widget::Box\->new ... ); .Ve .SS "add_float" .IX Subsection "add_float" .Vb 1 \& $float = $floatbox\->add_float( %args ) .Ve .PP Adds a widget as a floating child and returns a new \f(CW\*(C`Float\*(C'\fR object. Takes the following arguments: .IP "child => Tickit::Widget" 8 .IX Item "child => Tickit::Widget" The child widget .IP "top, bottom, left, right => \s-1INT\s0" 8 .IX Item "top, bottom, left, right => INT" The initial geometry of the floating area. These follow the same behaviour as the \f(CW\*(C`move\*(C'\fR method on the Float object. .IP "hidden => \s-1BOOL\s0" 8 .IX Item "hidden => BOOL" Optional. If true, the float starts off hidden initally, and must be shown by the \f(CW\*(C`show\*(C'\fR method before it becomes visible. .SH "FLOATS" .IX Header "FLOATS" The following objects represent a floating region as returned by the \&\f(CW\*(C`add_float\*(C'\fR method. .SS "child" .IX Subsection "child" .Vb 1 \& $child = $float\->child .Ve .PP Returns the child widget in the region. .SS "move" .IX Subsection "move" .Vb 1 \& $float\->move( %args ) .Ve .PP Redefines the area geometry of the region. Takes arguments named \f(CW\*(C`top\*(C'\fR, \&\f(CW\*(C`bottom\*(C'\fR, \f(CW\*(C`left\*(C'\fR and \f(CW\*(C`right\*(C'\fR, each of which should either be a numeric value, or \f(CW\*(C`undef\*(C'\fR. .PP The region must have at least one of \f(CW\*(C`top\*(C'\fR or \f(CW\*(C`bottom\*(C'\fR and at least one of \&\f(CW\*(C`left\*(C'\fR or \f(CW\*(C`right\*(C'\fR defined, which will then fix the position of one corner of the region. If the size is not otherwise determined by the geometry, it will use the preferred size of the child widget. Any geometry argument may be negative to count backwards from the limits of the parent. .PP For example, .PP .Vb 2 \& # top\-left corner \& $float\->move( top => 0, left => 0 ) \& \& # top\-right corner \& $float\->move( top => 0, right => \-1 ) \& \& # bottom 3 lines, flush left \& $float\->move( left => 0, top => \-3, bottom => \-1 ) .Ve .PP Any arguments not passed will be left unchanged; to specifically clear the current value pass a value of \f(CW\*(C`undef\*(C'\fR. .SS "remove" .IX Subsection "remove" .Vb 1 \& $float\->remove .Ve .PP Removes the float from the FloatBox. .SS "hide" .IX Subsection "hide" .Vb 1 \& $float\->hide .Ve .PP Hide the float by hiding the window of its child widget. .SS "show" .IX Subsection "show" .Vb 1 \& $float\->show .Ve .PP Show the float by showing the window of its child widget. Undoes the effect of \f(CW\*(C`hide\*(C'\fR. .SS "is_visible" .IX Subsection "is_visible" .Vb 1 \& $visible = $float\->is_visible .Ve .PP Return true if the float is currently visible. .SH "TODO" .IX Header "TODO" .IP "\(bu" 4 Support adjusting stacking order of floats. .SH "AUTHOR" .IX Header "AUTHOR" Paul Evans