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::WidgetRole::Alignable" - implement widgets with adjustable alignment

Author

       Paul Evans <leonerd@leonerd.org.uk>

perl v5.40.0                                       2024-09-16                 Tickit::WidgetRole::Alignable(3pm)

Description

       Mixing this parametric role into a Tickit::Widget subclass adds behaviour to implement alignment of
       content within a possibly-larger space.

Methods

       The following methods are provided parametrically on the caller package when the module is imported by

          use Tickit::WidgetRole::Alignable
             name    => NAME,
             style   => STYLE,
             reshape => RESHAPE;

       The parameters are

       name => STRING
           Optional.  The name to use for "NAME" in the following generated methods.  Defaults to 'align' if not
           provided.

       dir => "h" or "v"
           Optional. The direction, horizontal or  vertical,  that  the  alignment  represents.  Used  to  parse
           symbolic names into fractions. Defaults to 'h' if not provided.

       reshape => BOOL
           Optional.  If true, the widget will be reshaped after the value has been set by calling the "reshape"
           method. If false or absent then it will just be redrawn by calling "redraw".

   NAME
          $align = $widget->NAME;

       Return the current alignment value

   set_NAME
          $widget->set_NAME( $value );

       Set the new alignment value

       Gives a value in the range from 0.0 to 1.0 to align the content display within the window.

       For vertical direction alignments, the symbolic values "top",  "middle"  and  "bottom"  can  be  supplied
       instead of 0.0, 0.5 and 1.0 respectively.

       For  horizontal  direction  alignments,  the symbolic values "left", "centre" and "right" can be supplied
       instead of 0.0, 0.5 and 1.0 respectively.

   _NAME_allocation
          ( $before, $alloc, $after ) = $widget->_NAME_allocation( $value, $total );

       Returns a list of three integers created by aligning the $value to the given  alignment  position  within
       the $total. See also "align" in Tickit::Utils.

Name

       "Tickit::WidgetRole::Alignable" - implement widgets with adjustable alignment

See Also