Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

wxScrollBar (3erl)

Name

wxScrollBar - Functions for wxScrollBar class

Synopsis

Please see following description for synopsis

Description

wxScrollBar(3)             Erlang Module Definition             wxScrollBar(3)



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  auto-
       matically,  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  when-
       ever  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 drag-
       ging the thumb using the mouse and releasing it (This  EVT_SCROLL_THUM-
       BRELEASE 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/mov-
       ing 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 char-
              acter height in pixels. When defining your own scrollbar  behav-
              iour, 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.



wxWidgets team.                    wx 2.1.1                     wxScrollBar(3)