Provided by: libprima-perl_1.28-1.4_amd64 bug

NAME

       Prima::ScrollBar - standard scroll bars class

DESCRIPTION

       The class "Prima::ScrollBar" implements both vertical and horizontal scrollbars in Prima. This is a
       purely Perl class without any C-implemented parts except those inherited from "Prima::Widget".

SYNOPSIS

               use Prima::ScrollBar;

               my $sb = Prima::ScrollBar-> create( owner => $group, %rest_of_profile);
               my $sb = $group-> insert( 'ScrollBar', %rest_of_profile);

               my $isAutoTrack = $sb-> autoTrack;
               $sb-> autoTrack( $yesNo);

               my $val = $sb-> value;
               $sb-> value( $value);

               my $min = $sb-> min;
               my $max = $sb-> max;
               $sb-> min( $min);
               $sb-> max( $max);
               $sb-> set_bounds( $min, $max);

               my $step = $sb-> step;
               my $pageStep = $sb-> pageStep;
               $sb-> step( $step);
               $sb-> pageStep( $pageStep);

               my $partial = $sb-> partial;
               my $whole = $sb-> whole;
               $sb-> partial( $partial);
               $sb-> whole( $whole);
               $sb-> set_proportion( $partial, $whole);

               my $size = $sb-> minThumbSize;
               $sb-> minThumbSize( $size);

               my $isVertical = $sb-> vertical;
               $sb-> vertical( $yesNo);

               my ($width,$height) = $sb-> get_default_size;

API

   Properties
       autoTrack BOOLEAN
           Tells  the widget if it should send "Change" notification during mouse tracking events.  Generally it
           should only be set to 0 on very slow computers.

           Default value is 1 (logical true).

       growMode INTEGER
           Default value is gm::GrowHiX, i.e. the scrollbar will try to maintain the constant distance from  its
           right  edge  to  its owner's right edge as the owner changes its size.  This is useful for horizontal
           scrollbars.

       height INTEGER
           Default value is $Prima::ScrollBar::stdMetrics[1], which  is  an  operating  system  dependent  value
           determined  with  a  call  to  "Prima::Application->  get_default_scrollbar_metrics".   The height is
           affected because by default the horizontal "ScrollBar" will be created.

       max INTEGER
           Sets the upper limit for "value".

           Default value: 100.

       min INTEGER
           Sets the lower limit for "value".

           Default value: 0

       minThumbSize INTEGER
           A minimal thumb breadth in pixels. The thumb cannot have main dimension lesser than this.

           Default value: 21

       pageStep INTEGER
           This determines the increment/decrement to "value"  during  "page"-related  operations,  for  example
           clicking the mouse on the strip outside the thumb, or pressing "PgDn" or "PgUp".

           Default value: 10

       partial INTEGER
           This tells the scrollbar how many of imaginary units the thumb should occupy. See "whole" below.

           Default value: 10

       selectable BOOLEAN
           Default  value  is 0 (logical false).  If set to 1 the widget receives keyboard focus; when in focus,
           the thumb is blinking.

       step INTEGER
           This determines the minimal increment/decrement to "value" during mouse/keyboard interaction.

           Default value is 1.

       value INTEGER
           A basic  scrollbar  property;  reflects  the  imaginary  position  between  "min"  and  "max",  which
           corresponds directly to the position of the thumb.

           Default value is 0.

       vertical BOOLEAN
           Determines  the  main  scrollbar  style.   Set  this  to  1 when the scrollbar style is vertical, 0 -
           horizontal. The property can be changed at run-time, so the scrollbars can morph from  horizontal  to
           vertical and vice versa.

           Default value is 0 (logical false).

       whole INTEGER
           This tells the scrollbar how many of imaginary units correspond to the whole length of the scrollbar.
           This value has nothing in common with "min" and "max".  You may think of the combination of "partial"
           and  "whole"  as  of the proportion between the visible size of something (document, for example) and
           the whole size of that "something".  Useful to struggle  against  infamous  "bird"  size  of  Windows
           scrollbar thumbs.

           Default value is 100.

   Methods
       get_default_size
           Returns  two  integers,  the default platform dependant width of a vertical scrollbar and height of a
           horizontal scrollbar.

   Events
       Change
           The "Change" notification is sent whenever the thumb position of scrollbar is changed, subject  to  a
           certain  limitations  when  "autoTrack" is 0. The notification conforms the general Prima rule: it is
           sent when appropriate, regardless to whether this was a result of user interaction, or a side  effect
           of some method programmer has called.

       Track
           If  "autoTrack"  is  0,  called  when  the  user  changes  the thumb position by the mouse instead of
           "Change".

EXAMPLE

               use Prima;
               use Prima::Application name => 'ScrollBar test';
               use Prima::ScrollBar;

               my $w = Prima::Window-> create(
                       text => 'ScrollBar test',
                       size => [300,200]);

               my $sb = $w-> insert( ScrollBar =>
                       width => 280,
                       left => 10,
                       bottom => 50,
                       onChange => sub {
                               $w-> text( $_[0]-> value);
                       });

               run Prima;

SEE ALSO

       Prima, Prima::Widget, Prima::IntUtils, examples/rtc.pl, examples/scrolbar.pl

AUTHORS

       Dmitry Karasik <dk@plab.ku.dk>, Anton Berezin <tobez@plab.ku.dk> - documentation

perl v5.22.1                                       2009-02-24                                Prima::ScrollBar(3)