Provided by: erlang-manpages_24.3.4.1+dfsg-1_all bug

NAME

       wxScrollBar - Functions for wxScrollBar class

DESCRIPTION

       A wxScrollBar is a control that represents a horizontal or vertical scrollbar.

       It  is  distinct  from the two scrollbars that some windows provide automatically, but the
       two types of scrollbar share the way events are received.

       Remark: A scrollbar has the following main attributes: range, thumb size, page  size,  and
       position.  The  range is the total number of units associated with the view represented by
       the scrollbar. For a table with 15 columns, the range would be 15. The thumb size  is  the
       number  of  units  that  are currently visible. For the table example, the window might be
       sized so that only 5 columns are currently visible, in which case  the  application  would
       set  the  thumb  size  to  5.  When the thumb size becomes the same as or greater than the
       range, the scrollbar will be automatically hidden on most platforms. The page size is  the
       number  of units that the scrollbar should scroll by, when 'paging' through the data. This
       value is normally the same as the thumb size length, because it is natural to assume  that
       the  visible  window  size  defines  a  page.  The scrollbar position is the current thumb
       position. Most  applications  will  find  it  convenient  to  provide  a  function  called
       AdjustScrollbars()  which  can  be  called  initially,  from  an OnSize event handler, and
       whenever the application data changes in size. It will adjust the view,  object  and  page
       size according to the size of the window and the size of the data.

       Styles

       This class supports the following styles:

       The difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED

       The  EVT_SCROLL_THUMBRELEASE  event is only emitted when actually dragging the thumb using
       the mouse and releasing it (This EVT_SCROLL_THUMBRELEASE event  is  also  followed  by  an
       EVT_SCROLL_CHANGED event).

       The  EVT_SCROLL_CHANGED  event  also  occurs  when  using the keyboard to change the thumb
       position,  and  when  clicking   next   to   the   thumb   (In   all   these   cases   the
       EVT_SCROLL_THUMBRELEASE event does not happen).

       In  short,  the  EVT_SCROLL_CHANGED  event is triggered when scrolling/moving has finished
       independently of the way it had started. Please  see  the  page_samples_widgets  ("Slider"
       page)  to  see  the  difference  between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in
       action.

       See: Overview scrolling, Overview events, wxScrolled (not implemented in wx)

       This class is derived (and can use functions) from: wxControl wxWindow wxEvtHandler

       wxWidgets docs: wxScrollBar

EVENTS

       Event  types  emitted  from  this   class:   scroll_top,   scroll_bottom,   scroll_lineup,
       scroll_linedown,  scroll_pageup,  scroll_pagedown, scroll_thumbtrack, scroll_thumbrelease,
       scroll_changed, scroll_top, scroll_bottom, scroll_lineup, scroll_linedown,  scroll_pageup,
       scroll_pagedown, scroll_thumbtrack, scroll_thumbrelease, scroll_changed

DATA TYPES

       wxScrollBar() = wx:wx_object()

EXPORTS

       new() -> wxScrollBar()

              Default constructor.

       new(Parent, Id) -> wxScrollBar()

              Types:

                 Parent = wxWindow:wxWindow()
                 Id = integer()

       new(Parent, Id, Options :: [Option]) -> wxScrollBar()

              Types:

                 Parent = wxWindow:wxWindow()
                 Id = integer()
                 Option =
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()} |
                     {validator, wx:wx_object()}

              Constructor, creating and showing a scrollbar.

              See: create/4, wxValidator (not implemented in wx)

       destroy(This :: wxScrollBar()) -> ok

              Destructor, destroying the scrollbar.

       create(This, Parent, Id) -> boolean()

              Types:

                 This = wxScrollBar()
                 Parent = wxWindow:wxWindow()
                 Id = integer()

       create(This, Parent, Id, Options :: [Option]) -> boolean()

              Types:

                 This = wxScrollBar()
                 Parent = wxWindow:wxWindow()
                 Id = integer()
                 Option =
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()} |
                     {validator, wx:wx_object()}

              Scrollbar creation function called by the scrollbar constructor.

              See new/3 for details.

       getRange(This) -> integer()

              Types:

                 This = wxScrollBar()

              Returns the length of the scrollbar.

              See: setScrollbar/6

       getPageSize(This) -> integer()

              Types:

                 This = wxScrollBar()

              Returns the page size of the scrollbar.

              This  is the number of scroll units that will be scrolled when the user pages up or
              down. Often it is the same as the thumb size.

              See: setScrollbar/6

       getThumbPosition(This) -> integer()

              Types:

                 This = wxScrollBar()

              Returns the current position of the scrollbar thumb.

              See: setThumbPosition/2

       getThumbSize(This) -> integer()

              Types:

                 This = wxScrollBar()

              Returns the thumb or 'view' size.

              See: setScrollbar/6

       setThumbPosition(This, ViewStart) -> ok

              Types:

                 This = wxScrollBar()
                 ViewStart = integer()

              Sets the position of the scrollbar.

              See: getThumbPosition/1

       setScrollbar(This, Position, ThumbSize, Range, PageSize) -> ok

              Types:

                 This = wxScrollBar()
                 Position = ThumbSize = Range = PageSize = integer()

       setScrollbar(This, Position, ThumbSize, Range, PageSize,
                    Options :: [Option]) ->
                       ok

              Types:

                 This = wxScrollBar()
                 Position = ThumbSize = Range = PageSize = integer()
                 Option = {refresh, boolean()}

              Sets the scrollbar properties.

              Remark: Let's say you wish to display 50 lines of text, using the  same  font.  The
              window  is  sized  so  that you can only see 16 lines at a time. You would use: The
              page size is 1 less than the thumb size so that the last line of the previous  page
              will  be  visible  on  the  next  page, to help orient the user. Note that with the
              window at this size, the thumb position can never go above 50 minus 16, or 34.  You
              can  determine  how  many  lines are currently visible by dividing the current view
              size by the character height in pixels. When defining your own scrollbar behaviour,
              you  will  always  need  to recalculate the scrollbar settings when the window size
              changes. You could therefore put your  scrollbar  calculations  and  setScrollbar/6
              call into a function named AdjustScrollbars, which can be called initially and also
              from a wxSizeEvent event handler function.