oracular (3) wxScrollBar.3erl.gz

Provided by: erlang-manpages_25.3.2.12+dfsg-1ubuntu2_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.