Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

wxWindow (3erl)

Name

wxWindow - Functions for wxWindow class

Synopsis

Please see following description for synopsis

Description

wxWindow(3)                Erlang Module Definition                wxWindow(3)



NAME
       wxWindow - Functions for wxWindow class

DESCRIPTION
       wxWindow  is  the base class for all windows and represents any visible
       object on screen. All controls, top level windows and so  on  are  win-
       dows. Sizers and device contexts are not, however, as they don't appear
       on screen themselves.

       Please note that all children of the window will be  deleted  automati-
       cally by the destructor before the window itself is deleted which means
       that you don't have to worry about deleting them manually.  Please  see
       the window deletion overview for more information.

       Also  note  that  in  this,  and  many  others,  wxWidgets classes some
       GetXXX() methods may be overloaded (as, for example, getSize/1 or  get-
       ClientSize/1). In this case, the overloads are non-virtual because hav-
       ing multiple virtual functions with the same name results in a  virtual
       function name hiding at the derived class level (in English, this means
       that the derived class has to override all overloaded  variants  if  it
       overrides  any of them). To allow overriding them in the derived class,
       wxWidgets uses a unique protected virtual  DoGetXXX()  method  and  all
       GetXXX() ones are forwarded to it, so overriding the former changes the
       behaviour of the latter.

       Styles

       This class supports the following styles:

       Extra Styles

       This class supports the following extra styles:

       See: Overview events, Overview windowsizing

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

       wxWidgets docs: wxWindow

EVENTS
       Event types  emitted  from  this  class:  activate,  child_focus,  con-
       text_menu,  help,  drop_files, erase_background, set_focus, kill_focus,
       idle, joy_button_down, joy_button_up,  joy_move,  joy_zmove,  key_down,
       key_up,  char,  char_hook,  mouse_capture_lost,  mouse_capture_changed,
       left_down,  left_up,  middle_down,  middle_up,  right_down,   right_up,
       motion,   enter_window,   leave_window,   left_dclick,   middle_dclick,
       right_dclick, mousewheel, aux1_down, aux1_up,  aux1_dclick,  aux2_down,
       aux2_up,  aux2_dclick,  paint, scrollwin_top, scrollwin_bottom, scroll-
       win_lineup, scrollwin_linedown,  scrollwin_pageup,  scrollwin_pagedown,
       scrollwin_thumbtrack,    scrollwin_thumbrelease,    set_cursor,   size,
       sys_colour_changed

DATA TYPES
       wxWindow() = wx:wx_object()

EXPORTS
       new() -> wxWindow()

              Default constructor.

       new(Parent, Id) -> wxWindow()

              Types:

                 Parent = wxWindow()
                 Id = integer()

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

              Types:

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

              Constructs a window, which can be a child of a frame, dialog  or
              any other non-control window.

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

              Destructor.

              Deletes  all  sub-windows, then deletes itself. Instead of using
              the  delete  operator  explicitly,  you  should   normally   use
              'Destroy'/1  so  that wxWidgets can delete a window only when it
              is safe to do so, in idle time.

              See: Window Deletion Overview, 'Destroy'/1, wxCloseEvent

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

              Types:

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

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

              Types:

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

              Construct the  actual  window  object  after  creating  the  C++
              object.

              The  non-default  constructor of wxWindow class does two things:
              it initializes the C++ object and it  also  creates  the  window
              object  in the underlying graphical toolkit. The create/4 method
              can be used to perform the second part later, while the  default
              constructor can be used to perform the first part only.

              Please  note  that the underlying window must be created exactly
              once, i.e. if you use the default constructor, which doesn't  do
              this,  you must call create/4 before using the window and if you
              use the non-default constructor, you can not call  create/4,  as
              the underlying window is already created.

              Note  that  it  is  possible  and, in fact, useful, to call some
              methods on the object between creating the C++ object itself and
              calling  create/4  on it, e.g. a common pattern to avoid showing
              the contents of a window before it is fully initialized is:

              Also note that it is possible to create an object of  a  derived
              type and then call create/4 on it: This is notably used by over-
              view_xrc.

              The parameters of this method have exactly the same  meaning  as
              the non-default constructor parameters, please refer to them for
              their description.

              Return: true if window creation succeeded or false if it failed

       cacheBestSize(This, Size) -> ok

              Types:

                 This = wxWindow()
                 Size = {W :: integer(), H :: integer()}

              Sets the cached best size value.

              See: getBestSize/1

       captureMouse(This) -> ok

              Types:

                 This = wxWindow()

              Directs all mouse input to this window.

              Call releaseMouse/1 to release the capture.

              Note that wxWidgets maintains the stack of windows  having  cap-
              tured  the  mouse  and  when  the  mouse is released the capture
              returns to the window which had had captured it  previously  and
              it  is only really released if there were no previous window. In
              particular, this means that you must release the mouse  as  many
              times as you capture it, unless the window receives the wxMouse-
              CaptureLostEvent event.

              Any application which captures the mouse  in  the  beginning  of
              some  operation  must  handle wxMouseCaptureLostEvent and cancel
              this operation when it receives the  event.  The  event  handler
              must not recapture mouse.

              See: releaseMouse/1, wxMouseCaptureLostEvent

       center(This) -> ok

              Types:

                 This = wxWindow()

       centre(This) -> ok

              Types:

                 This = wxWindow()

       center(This, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Option = {dir, integer()}

              See: centre/2.

       centre(This, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Option = {dir, integer()}

              Centres the window.

              Remark:  If  the  window is a top level one (i.e. doesn't have a
              parent), it will be centred relative to the screen anyhow.

              See: center/2

       centerOnParent(This) -> ok

              Types:

                 This = wxWindow()

       centreOnParent(This) -> ok

              Types:

                 This = wxWindow()

       centerOnParent(This, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Option = {dir, integer()}

              See: centreOnParent/2.

       centreOnParent(This, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Option = {dir, integer()}

              Centres the window on its parent.

              This is a more readable synonym for centre/2.

              Remark: This methods provides for a way to centre top level win-
              dows  over  their parents instead of the entire screen. If there
              is no parent or if the window is not a top  level  window,  then
              behaviour is the same as centre/2.

              See: wxTopLevelWindow:centreOnScreen/2

       clearBackground(This) -> ok

              Types:

                 This = wxWindow()

              Clears  the  window  by  filling  it with the current background
              colour.

              Does not cause an erase background event to be generated.

              Notice that this uses wxClientDC to draw on the window  and  the
              results  of  doing  it  while also drawing on wxPaintDC for this
              window are undefined. Hence this method shouldn't be  used  from
              EVT_PAINT  handlers,  just use wxDC:clear/1 on the wxPaintDC you
              already use there instead.

       clientToScreen(This, Pt) -> {X :: integer(), Y :: integer()}

              Types:

                 This = wxWindow()
                 Pt = {X :: integer(), Y :: integer()}

              Converts to screen coordinates from coordinates relative to this
              window.

       clientToScreen(This, X, Y) -> {X :: integer(), Y :: integer()}

              Types:

                 This = wxWindow()
                 X = Y = integer()

              Converts to screen coordinates from coordinates relative to this
              window.

       close(This) -> boolean()

              Types:

                 This = wxWindow()

       close(This, Options :: [Option]) -> boolean()

              Types:

                 This = wxWindow()
                 Option = {force, boolean()}

              This function simply generates a wxCloseEvent whose handler usu-
              ally tries to close the window.

              It doesn't close the window itself, however.

              Return: true if the event was handled and not vetoed, false oth-
              erwise.

              Remark: Close calls the close handler for the window,  providing
              an  opportunity  for the window to choose whether to destroy the
              window. Usually it is only  used  with  the  top  level  windows
              (wxFrame and wxDialog classes) as the others are not supposed to
              have any special OnClose() logic. The close handler should check
              whether   the   window   is   being   deleted   forcibly,  using
              wxCloseEvent:canVeto/1, in which case it should destroy the win-
              dow  using 'Destroy'/1. Note that calling Close does not guaran-
              tee that the window will be destroyed; but it provides a way  to
              simulate  a  manual  close  of a window, which may or may not be
              implemented by destroying the window. The default implementation
              of  wxDialog::OnCloseWindow does not necessarily delete the dia-
              log, since it will simply simulate an wxID_CANCEL event which is
              handled  by the appropriate button event handler and may do any-
              thing at all. To guarantee that the window  will  be  destroyed,
              call 'Destroy'/1 instead

              See: Window Deletion Overview, 'Destroy'/1, wxCloseEvent

       convertDialogToPixels(This, Sz) ->
                                {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()
                 Sz = {W :: integer(), H :: integer()}

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       convertPixelsToDialog(This, Sz) ->
                                {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()
                 Sz = {W :: integer(), H :: integer()}

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       'Destroy'(This) -> boolean()

              Types:

                 This = wxWindow()

              Destroys the window safely.

              Use  this function instead of the delete operator, since differ-
              ent window classes can  be  destroyed  differently.  Frames  and
              dialogs  are  not  destroyed  immediately  when this function is
              called - they are added to a list of windows to  be  deleted  on
              idle  time,  when  all  the window's events have been processed.
              This prevents problems with events being  sent  to  non-existent
              windows.

              Return: true if the window has either been successfully deleted,
              or it has been added to the list of windows pending  real  dele-
              tion.

       destroyChildren(This) -> boolean()

              Types:

                 This = wxWindow()

              Destroys all children of a window.

              Called automatically by the destructor.

       disable(This) -> boolean()

              Types:

                 This = wxWindow()

              Disables the window.

              Same as enable/2 Enable(false).

              Return:  Returns  true if the window has been disabled, false if
              it had been already disabled before the call to this function.

       dragAcceptFiles(This, Accept) -> ok

              Types:

                 This = wxWindow()
                 Accept = boolean()

              Enables or disables eligibility for drop  file  events  (OnDrop-
              Files).

              Remark: Windows only until version 2.8.9, available on all plat-
              forms since 2.8.10. Cannot be used together with setDropTarget/2
              on non-Windows platforms.

              See: setDropTarget/2

       enable(This) -> boolean()

              Types:

                 This = wxWindow()

       enable(This, Options :: [Option]) -> boolean()

              Types:

                 This = wxWindow()
                 Option = {enable, boolean()}

              Enable or disable the window for user input.

              Note  that when a parent window is disabled, all of its children
              are disabled as well and they are re-enabled again when the par-
              ent is.

              A  window  can  be  created  initially  disabled by calling this
              method on it before calling create/4 to create the actual under-
              lying window, e.g.

              Return: Returns true if the window has been enabled or disabled,
              false if nothing was done, i.e. if the window had  already  been
              in the specified state.

              See: isEnabled/1, disable/1, wxRadioBox:enable/3

       findFocus() -> wxWindow()

              Finds  the  window  or  control which currently has the keyboard
              focus.

              Remark: Note that this is a static function, so it can be called
              without needing a wxWindow pointer.

              See: setFocus/1, HasFocus() (not implemented in wx)

       findWindow(This, Id) -> wxWindow()

       findWindow(This, Name) -> wxWindow()

              Types:

                 This = wxWindow()
                 Name = unicode:chardata()

              Find a child of this window, by name.

              May return this if it matches itself.

              Notice that only real children, not top level windows using this
              window as parent, are searched by this function.

       findWindowById(Id) -> wxWindow()

              Types:

                 Id = integer()

       findWindowById(Id, Options :: [Option]) -> wxWindow()

              Types:

                 Id = integer()
                 Option = {parent, wxWindow()}

              Find the first window with the given id.

              If parent is NULL, the search  will  start  from  all  top-level
              frames and dialog boxes; if non-NULL, the search will be limited
              to the given window hierarchy. The search is recursive  in  both
              cases.

              See: findWindow/2

              Return: Window with the given id or NULL if not found.

       findWindowByName(Name) -> wxWindow()

              Types:

                 Name = unicode:chardata()

       findWindowByName(Name, Options :: [Option]) -> wxWindow()

              Types:

                 Name = unicode:chardata()
                 Option = {parent, wxWindow()}

              Find  a  window by its name (as given in a window constructor or
              create/4 function call).

              If parent is NULL, the search  will  start  from  all  top-level
              frames and dialog boxes; if non-NULL, the search will be limited
              to the given window hierarchy.

              The search is recursive in both cases and, unlike  findWindow/2,
              recurses into top level child windows too.

              If  no  window  with  such name is found, findWindowByLabel/2 is
              called, i.e. the name is interpreted as  (internal)  name  first
              but  if  this  fails,  it's internal as (user-visible) label. As
              this behaviour may be confusing, it is  usually  better  to  use
              either  the findWindow/2 overload taking the name or findWindow-
              ByLabel/2 directly.

              Return: Window with the given name or NULL if not found.

       findWindowByLabel(Label) -> wxWindow()

              Types:

                 Label = unicode:chardata()

       findWindowByLabel(Label, Options :: [Option]) -> wxWindow()

              Types:

                 Label = unicode:chardata()
                 Option = {parent, wxWindow()}

              Find a window by its label.

              Depending on the type of window, the label may be a window title
              or  panel  item  label. If parent is NULL, the search will start
              from all top-level frames and dialog  boxes;  if  non-NULL,  the
              search will be limited to the given window hierarchy.

              The  search is recursive in both cases and, unlike with findWin-
              dow/2, recurses into top level child windows too.

              See: findWindow/2

              Return: Window with the given label or NULL if not found.

       fit(This) -> ok

              Types:

                 This = wxWindow()

              Sizes the window to fit its best size.

              Using this function is equivalent to setting window size to  the
              return value of getBestSize/1.

              Note  that,  unlike setSizerAndFit/3, this function only changes
              the current window size and doesn't change its minimal size.

              See: Overview windowsizing

       fitInside(This) -> ok

              Types:

                 This = wxWindow()

              Similar to fit/1, but sizes the interior  (virtual)  size  of  a
              window.

              Mainly  useful  with  scrolled windows to reset scrollbars after
              sizing changes that do not trigger a size event, and/or scrolled
              windows without an interior sizer. This function similarly won't
              do anything if there are no subwindows.

       freeze(This) -> ok

              Types:

                 This = wxWindow()

              Freezes the window or, in other words, prevents any updates from
              taking place on screen, the window is not redrawn at all.

              thaw/1  must  be  called to re-enable window redrawing. Calls to
              these two functions may be nested but to ensure that the  window
              is  properly  repainted  again, you must thaw it exactly as many
              times as you froze it.

              If the window has any children, they are recursively frozen too.

              This method is useful for visual  appearance  optimization  (for
              example,  it  is  a  good idea to use it before doing many large
              text insertions in a row into a wxTextCtrl under wxGTK)  but  is
              not  implemented  on all platforms nor for all controls so it is
              mostly just a hint to wxWidgets and not a mandatory directive.

              See:  wxWindowUpdateLocker  (not  implemented  in  wx),  thaw/1,
              isFrozen/1

       getAcceleratorTable(This) ->
                              wxAcceleratorTable:wxAcceleratorTable()

              Types:

                 This = wxWindow()

              Gets the accelerator table for this window.

              See wxAcceleratorTable.

       getBackgroundColour(This) -> wx:wx_colour4()

              Types:

                 This = wxWindow()

              Returns the background colour of the window.

              See:   setBackgroundColour/2,   setForegroundColour/2,  getFore-
              groundColour/1

       getBackgroundStyle(This) -> wx:wx_enum()

              Types:

                 This = wxWindow()

              Returns the background style of the window.

              See:  setBackgroundColour/2,   getForegroundColour/1,   setBack-
              groundStyle/2, setTransparent/2

       getBestSize(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              This  functions returns the best acceptable minimal size for the
              window.

              For example, for a static control, it will be the  minimal  size
              such  that  the control label is not truncated. For windows con-
              taining subwindows (typically wxPanel),  the  size  returned  by
              this function will be the same as the size the window would have
              had after calling fit/1.

              Override virtual DoGetBestSize() (not  implemented  in  wx)  or,
              better,  because  it's usually more convenient, DoGetBestClient-
              Size() (not implemented in wx) when writing your own custom win-
              dow  class  to change the value returned by this public non-vir-
              tual method.

              Notice that the best size respects the minimal and maximal  size
              explicitly  set  for  the window, if any. So even if some window
              believes that it needs 200 pixels horizontally, calling  setMax-
              Size/2  with  a  width  of  100  would ensure that getBestSize/1
              returns the width of at most 100 pixels.

              See: cacheBestSize/2, Overview windowsizing

       getCaret(This) -> wxCaret:wxCaret()

              Types:

                 This = wxWindow()

              Returns the caret() associated with the window.

       getCapture() -> wxWindow()

              Returns the currently captured window.

              See: hasCapture/1, captureMouse/1,  releaseMouse/1,  wxMouseCap-
              tureLostEvent, wxMouseCaptureChangedEvent

       getCharHeight(This) -> integer()

              Types:

                 This = wxWindow()

              Returns the character height for this window.

       getCharWidth(This) -> integer()

              Types:

                 This = wxWindow()

              Returns the average character width for this window.

       getChildren(This) -> [wxWindow()]

              Types:

                 This = wxWindow()

              Returns a const reference to the list of the window's children.

              wxWindowList is a type-safe wxList-like class whose elements are
              of type wxWindow*.

       getClientSize(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              This is an overloaded member function, provided for convenience.
              It  differs  from the above function only in what argument(s) it
              accepts.

       getContainingSizer(This) -> wxSizer:wxSizer()

              Types:

                 This = wxWindow()

              Returns the sizer of which this window is a member, if any, oth-
              erwise NULL.

       getCursor(This) -> wxCursor:wxCursor()

              Types:

                 This = wxWindow()

              Return the cursor associated with this window.

              See: setCursor/2

       getDropTarget(This) -> wx:wx_object()

              Types:

                 This = wxWindow()

              Returns the associated drop target, which may be NULL.

              See: setDropTarget/2, Overview dnd

       getDPIScaleFactor(This) -> number()

              Types:

                 This = wxWindow()

              Returns the ratio of the DPI used by this window to the standard
              DPI.

              The returned value is 1 for standard DPI screens or 2 for  "200%
              scaling"  and,  unlike  for getContentScaleFactor/1, is the same
              under all platforms.

              This factor should be used to increase the  size  of  icons  and
              similar  windows  whose  best  size is not based on text metrics
              when using DPI scaling.

              E.g. the program may load a 32px bitmap  if  the  content  scale
              factor is 1.0 or 64px version of the same bitmap if it is 2.0 or
              bigger.

              Notice that this method should not  be  used  for  window  sizes
              expressed  in  pixels, as they are already scaled by this factor
              by the underlying toolkit under some  platforms.  Use  fromDIP/2
              for anything window-related instead.

              Since: 3.1.4

       getExtraStyle(This) -> integer()

              Types:

                 This = wxWindow()

              Returns the extra style bits for the window.

       getFont(This) -> wxFont:wxFont()

              Types:

                 This = wxWindow()

              Returns the font for this window.

              See: setFont/2

       getForegroundColour(This) -> wx:wx_colour4()

              Types:

                 This = wxWindow()

              Returns the foreground colour of the window.

              Remark: The meaning of foreground colour varies according to the
              window class; it may be the text colour or other colour,  or  it
              may not be used at all.

              See:   setForegroundColour/2,   setBackgroundColour/2,  getBack-
              groundColour/1

       getGrandParent(This) -> wxWindow()

              Types:

                 This = wxWindow()

              Returns the grandparent of a window, or NULL if there isn't one.

       getHandle(This) -> integer()

              Types:

                 This = wxWindow()

              Returns the platform-specific handle of the physical window.

              Cast it to an appropriate handle, such as HWND for Windows, Wid-
              get for Motif or GtkWidget for GTK.

       getHelpText(This) -> unicode:charlist()

              Types:

                 This = wxWindow()

              Gets the help text to be used as context-sensitive help for this
              window.

              Note that the text is actually stored  by  the  current  wxHelp-
              Provider  (not implemented in wx) implementation, and not in the
              window object itself.

              See: setHelpText/2,  GetHelpTextAtPoint()  (not  implemented  in
              wx), wxHelpProvider (not implemented in wx)

       getId(This) -> integer()

              Types:

                 This = wxWindow()

              Returns the identifier of the window.

              Remark:  Each  window has an integer identifier. If the applica-
              tion has not provided one (or the  default  wxID_ANY)  a  unique
              identifier with a negative value will be generated.

              See: setId/2, Overview windowids

       getLabel(This) -> unicode:charlist()

              Types:

                 This = wxWindow()

              Generic  way of getting a label from any window, for identifica-
              tion purposes.

              Remark: The interpretation of this function differs  from  class
              to  class.  For  frames  and  dialogs, the value returned is the
              title. For buttons or static text controls,  it  is  the  button
              text.  This  function  can  be useful for meta-programs (such as
              testing tools or special-needs access programs)  which  need  to
              identify windows by name.

       getMaxSize(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              Returns the maximum size of the window.

              This is an indication to the sizer layout mechanism that this is
              the maximum possible size as well as the upper bound on window's
              size settable using setSize/6.

              See:  GetMaxClientSize()  (not implemented in wx), Overview win-
              dowsizing

       getMinSize(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              Returns the minimum size of the window,  an  indication  to  the
              sizer layout mechanism that this is the minimum required size.

              This method normally just returns the value set by setMinSize/2,
              but it can be overridden to do the calculation on demand.

              See: GetMinClientSize() (not implemented in wx),  Overview  win-
              dowsizing

       getName(This) -> unicode:charlist()

              Types:

                 This = wxWindow()

              Returns the window's name.

              Remark:  This  name  is not guaranteed to be unique; it is up to
              the programmer to supply an appropriate name in the window  con-
              structor or via setName/2.

              See: setName/2

       getParent(This) -> wxWindow()

              Types:

                 This = wxWindow()

              Returns the parent of the window, or NULL if there is no parent.

       getPosition(This) -> {X :: integer(), Y :: integer()}

              Types:

                 This = wxWindow()

              This  gets the position of the window in pixels, relative to the
              parent window for the child windows or relative to  the  display
              origin for the top level windows.

              See: getScreenPosition/1

       getRect(This) ->
                  {X :: integer(),
                   Y :: integer(),
                   W :: integer(),
                   H :: integer()}

              Types:

                 This = wxWindow()

              Returns  the  position  and  size  of  the window as a {X,Y,W,H}
              object.

              See: getScreenRect/1

       getScreenPosition(This) -> {X :: integer(), Y :: integer()}

              Types:

                 This = wxWindow()

              Returns the window position in screen coordinates,  whether  the
              window is a child window or a top level one.

              See: getPosition/1

       getScreenRect(This) ->
                        {X :: integer(),
                         Y :: integer(),
                         W :: integer(),
                         H :: integer()}

              Types:

                 This = wxWindow()

              Returns  the  position and size of the window on the screen as a
              {X,Y,W,H} object.

              See: getRect/1

       getScrollPos(This, Orientation) -> integer()

              Types:

                 This = wxWindow()
                 Orientation = integer()

              Returns the built-in scrollbar position.

              See: setScrollbar/6

       getScrollRange(This, Orientation) -> integer()

              Types:

                 This = wxWindow()
                 Orientation = integer()

              Returns the built-in scrollbar range.

              See: setScrollbar/6

       getScrollThumb(This, Orientation) -> integer()

              Types:

                 This = wxWindow()
                 Orientation = integer()

              Returns the built-in scrollbar thumb size.

              See: setScrollbar/6

       getSize(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              See the GetSize(int*,int*) overload for more info.

       getSizer(This) -> wxSizer:wxSizer()

              Types:

                 This = wxWindow()

              Returns the sizer associated with the window by a previous  call
              to setSizer/3, or NULL.

       getTextExtent(This, String) -> Result

              Types:

                 Result =
                     {W :: integer(),
                      H :: integer(),
                      Descent :: integer(),
                      ExternalLeading :: integer()}
                 This = wxWindow()
                 String = unicode:chardata()

       getTextExtent(This, String, Options :: [Option]) -> Result

              Types:

                 Result =
                     {W :: integer(),
                      H :: integer(),
                      Descent :: integer(),
                      ExternalLeading :: integer()}
                 This = wxWindow()
                 String = unicode:chardata()
                 Option = {theFont, wxFont:wxFont()}

              Gets  the  dimensions  of the string as it would be drawn on the
              window with the currently selected font.

              The text extent is returned in the w and h pointers.

       getThemeEnabled(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if the window uses the system theme for drawing its
              background.

              See: setThemeEnabled/2

       getToolTip(This) -> wxToolTip:wxToolTip()

              Types:

                 This = wxWindow()

              Get the associated tooltip or NULL if none.

       getUpdateRegion(This) -> wxRegion:wxRegion()

              Types:

                 This = wxWindow()

              Gets  the  dimensions  of the string as it would be drawn on the
              window with the currently selected font.

              Returns the region specifying which parts  of  the  window  have
              been  damaged. Should only be called within an wxPaintEvent han-
              dler.

              See: wxRegion, wxRegionIterator (not implemented in wx)

       getVirtualSize(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              This gets the virtual size of the window in pixels.

              By default it returns the client size of the window, but after a
              call  to  setVirtualSize/3 it will return the size set with that
              method.

              See: Overview windowsizing

       getWindowStyleFlag(This) -> integer()

              Types:

                 This = wxWindow()

              Gets the window style that was passed to the constructor or cre-
              ate/4 method.

              GetWindowStyle() (not implemented in wx) is another name for the
              same function.

       getWindowVariant(This) -> wx:wx_enum()

              Types:

                 This = wxWindow()

              Returns the value previously passed to setWindowVariant/2.

       hasCapture(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if this window has the current mouse capture.

              See:  captureMouse/1,  releaseMouse/1,  wxMouseCaptureLostEvent,
              wxMouseCaptureChangedEvent

       hasScrollbar(This, Orient) -> boolean()

              Types:

                 This = wxWindow()
                 Orient = integer()

              Returns  true if this window currently has a scroll bar for this
              orientation.

              This method may return false even when CanScroll()  (not  imple-
              mented in wx) for the same orientation returns true, but if Can-
              Scroll() (not implemented in wx) returns false,  i.e.  scrolling
              in  this  direction is not enabled at all, hasScrollbar/2 always
              returns false as well.

       hasTransparentBackground(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if this window background is transparent  (as,  for
              example,  for  wxStaticText)  and  should show the parent window
              background.

              This method is mostly used internally by the library itself  and
              you  normally  shouldn't have to call it. You may, however, have
              to override it in your wxWindow-derived  class  to  ensure  that
              background is painted correctly.

       hide(This) -> boolean()

              Types:

                 This = wxWindow()

              Equivalent to calling show/2(false).

       inheritAttributes(This) -> ok

              Types:

                 This = wxWindow()

              This  function  is  (or  should  be, in case of custom controls)
              called during window creation to intelligently set up the window
              visual attributes, that is the font and the foreground and back-
              ground colours.

              By "intelligently" the following is meant: by default, all  win-
              dows  use their own GetClassDefaultAttributes() (not implemented
              in wx) default  attributes.  However  if  some  of  the  parents
              attributes  are  explicitly  (that  is,  using setFont/2 and not
              setOwnFont/2) changed and if the corresponding attribute  hadn't
              been  explicitly  set  for  this window itself, then this window
              takes the same value as used by the parent. In addition, if  the
              window  overrides  shouldInheritColours/1  to  return false, the
              colours will not be changed no matter what  and  only  the  font
              might.

              This  rather complicated logic is necessary in order to accommo-
              date the different usage scenarios. The most common one is  when
              all default attributes are used and in this case, nothing should
              be inherited as in modern GUIs different controls use  different
              fonts  (and  colours)  than their siblings so they can't inherit
              the same value from the  parent.  However  it  was  also  deemed
              desirable  to allow to simply change the attributes of all chil-
              dren at once by just changing the font or colour of their common
              parent, hence in this case we do inherit the parents attributes.

       initDialog(This) -> ok

              Types:

                 This = wxWindow()

              Sends  an  wxEVT_INIT_DIALOG event, whose handler usually trans-
              fers data to the dialog via validators.

       invalidateBestSize(This) -> ok

              Types:

                 This = wxWindow()

              Resets the cached best size value so it will be recalculated the
              next time it is needed.

              See: cacheBestSize/2

       isFrozen(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns  true  if  the  window  is currently frozen by a call to
              freeze/1.

              See: freeze/1, thaw/1

       isEnabled(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if the window is enabled, i.e. if it  accepts  user
              input, false otherwise.

              Notice  that  this  method  can return false even if this window
              itself hadn't been explicitly disabled when one  of  its  parent
              windows is disabled. To get the intrinsic status of this window,
              use IsThisEnabled() (not implemented in wx)

              See: enable/2

       isExposed(This, Pt) -> boolean()

       isExposed(This, Rect) -> boolean()

              Types:

                 This = wxWindow()
                 Rect =
                     {X :: integer(),
                      Y :: integer(),
                      W :: integer(),
                      H :: integer()}

              This is an overloaded member function, provided for convenience.
              It  differs  from the above function only in what argument(s) it
              accepts.

       isExposed(This, X, Y) -> boolean()

              Types:

                 This = wxWindow()
                 X = Y = integer()

              Returns true if the given  point  or  rectangle  area  has  been
              exposed since the last repaint.

              Call  this  in  an  paint event handler to optimize redrawing by
              only redrawing those areas, which have been exposed.

       isExposed(This, X, Y, W, H) -> boolean()

              Types:

                 This = wxWindow()
                 X = Y = W = H = integer()

              This is an overloaded member function, provided for convenience.
              It  differs  from the above function only in what argument(s) it
              accepts.

       isRetained(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if the window is retained, false otherwise.

              Remark: Retained windows are only available on X platforms.

       isShown(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if the window is shown, false if it has  been  hid-
              den.

              See: isShownOnScreen/1

       isTopLevel(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if the given window is a top-level one.

              Currently  all frames and dialogs are considered to be top-level
              windows (even if they have a parent window).

       isShownOnScreen(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns true if the window is physically visible on the  screen,
              i.e.  it  is shown and all its parents up to the toplevel window
              are shown as well.

              See: isShown/1

       layout(This) -> boolean()

              Types:

                 This = wxWindow()

              Lays out the children of this window using the associated sizer.

              If a sizer hadn't been associated with  this  window  (see  set-
              Sizer/3),  this  function  doesn't do anything, unless this is a
              top level window (see layout/1).

              Note that this method is called automatically  when  the  window
              size  changes  if it has the associated sizer (or if setAutoLay-
              out/2 with true argument had been explicitly  called),  ensuring
              that it is always laid out correctly.

              See: Overview windowsizing

              Return: Always returns true, the return value is not useful.

       lineDown(This) -> boolean()

              Types:

                 This = wxWindow()

              Same as scrollLines/2 (1).

       lineUp(This) -> boolean()

              Types:

                 This = wxWindow()

              Same as scrollLines/2 (-1).

       lower(This) -> ok

              Types:

                 This = wxWindow()

              Lowers  the  window  to  the  bottom of the window hierarchy (Z-
              order).

              Remark: This function only  works  for  wxTopLevelWindow-derived
              classes.

              See: raise/1

       move(This, Pt) -> ok

              Types:

                 This = wxWindow()
                 Pt = {X :: integer(), Y :: integer()}

       move(This, X, Y) -> ok

       move(This, Pt, Y :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Pt = {X :: integer(), Y :: integer()}
                 Option = {flags, integer()}

              Moves the window to the given position.

              Remark:  Implementations of setSize/6 can also implicitly imple-
              ment the move/4 function, which is defined in the base  wxWindow
              class as the call:

              See: setSize/6

       move(This, X, Y, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 X = Y = integer()
                 Option = {flags, integer()}

              Moves the window to the given position.

              Remark: Implementations of SetSize can also implicitly implement
              the move/4 function, which is defined in the base wxWindow class
              as the call:

              See: setSize/6

       moveAfterInTabOrder(This, Win) -> ok

              Types:

                 This = Win = wxWindow()

              Moves  this  window in the tab navigation order after the speci-
              fied win.

              This means that when the user presses TAB key on that other win-
              dow, the focus switches to this window.

              Default  tab  order is the same as creation order, this function
              and moveBeforeInTabOrder/2 allow to change it after creating all
              the windows.

       moveBeforeInTabOrder(This, Win) -> ok

              Types:

                 This = Win = wxWindow()

              Same as moveAfterInTabOrder/2 except that it inserts this window
              just before win instead of putting it right after it.

       navigate(This) -> boolean()

              Types:

                 This = wxWindow()

       navigate(This, Options :: [Option]) -> boolean()

              Types:

                 This = wxWindow()
                 Option = {flags, integer()}

              Performs a keyboard navigation action starting from this window.

              This method is equivalent to calling  NavigateIn()  (not  imple-
              mented in wx) method on the parent window.

              Return: Returns true if the focus was moved to another window or
              false if nothing changed.

              Remark: You may wish to call this from  a  text  control  custom
              keypress  handler to do the default navigation behaviour for the
              tab key, since the standard default behaviour  for  a  multiline
              text  control with the wxTE_PROCESS_TAB style is to insert a tab
              and not navigate to the next  control.  See  also  wxNavigation-
              KeyEvent and HandleAsNavigationKey.

       pageDown(This) -> boolean()

              Types:

                 This = wxWindow()

              Same as scrollPages/2 (1).

       pageUp(This) -> boolean()

              Types:

                 This = wxWindow()

              Same as scrollPages/2 (-1).

       popupMenu(This, Menu) -> boolean()

              Types:

                 This = wxWindow()
                 Menu = wxMenu:wxMenu()

       popupMenu(This, Menu, Options :: [Option]) -> boolean()

              Types:

                 This = wxWindow()
                 Menu = wxMenu:wxMenu()
                 Option = {pos, {X :: integer(), Y :: integer()}}

              Pops up the given menu at the specified coordinates, relative to
              this window, and returns control when the user has dismissed the
              menu.

              If a menu item is selected, the corresponding menu event is gen-
              erated and will be processed as usual. If  coordinates  are  not
              specified, the current mouse cursor position is used.

              menu is the menu to pop up.

              The  position where the menu will appear can be specified either
              as a {X,Y} pos or by two integers (x and y).

              Note that this function switches focus  to  this  window  before
              showing the menu.

              Remark: Just before the menu is popped up, wxMenu::UpdateUI (not
              implemented in wx) is called to ensure that the menu  items  are
              in  the correct state. The menu does not get deleted by the win-
              dow. It is recommended to  not  explicitly  specify  coordinates
              when  calling PopupMenu in response to mouse click, because some
              of the ports (namely, wxGTK) can do a better job of  positioning
              the menu in that case.

              See: wxMenu

       popupMenu(This, Menu, X, Y) -> boolean()

              Types:

                 This = wxWindow()
                 Menu = wxMenu:wxMenu()
                 X = Y = integer()

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       raise(This) -> ok

              Types:

                 This = wxWindow()

              Raises the window to the top of the window hierarchy (Z-order).

              Notice  that  this  function only requests the window manager to
              raise this window to the top of Z-order. Depending on  its  con-
              figuration,  the  window manager may raise the window, not do it
              at all or indicate that a window requested to be raised in  some
              other way, e.g. by flashing its icon if it is minimized.

              Remark:  This  function  only works for wxTopLevelWindow-derived
              classes.

              See: lower/1

       refresh(This) -> ok

              Types:

                 This = wxWindow()

       refresh(This, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Option =
                     {eraseBackground, boolean()} |
                     {rect,
                      {X :: integer(),
                       Y :: integer(),
                       W :: integer(),
                       H :: integer()}}

              Causes this window, and all of its children recursively  (except
              under wxGTK1 where this is not implemented), to be repainted.

              Note  that repainting doesn't happen immediately but only during
              the next event loop iteration, if you need to update the  window
              immediately you should use update/1 instead.

              See: refreshRect/3

       refreshRect(This, Rect) -> ok

              Types:

                 This = wxWindow()
                 Rect =
                     {X :: integer(),
                      Y :: integer(),
                      W :: integer(),
                      H :: integer()}

       refreshRect(This, Rect, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Rect =
                     {X :: integer(),
                      Y :: integer(),
                      W :: integer(),
                      H :: integer()}
                 Option = {eraseBackground, boolean()}

              Redraws  the  contents  of  the  given  rectangle: only the area
              inside it will be repainted.

              This is the same as refresh/2 but has a nicer syntax as  it  can
              be  called  with  a  temporary {X,Y,W,H} object as argument like
              this RefreshRect(wxRect(x, y, w, h)).

       releaseMouse(This) -> ok

              Types:

                 This = wxWindow()

              Releases mouse input captured with captureMouse/1.

              See: captureMouse/1, hasCapture/1,  releaseMouse/1,  wxMouseCap-
              tureLostEvent, wxMouseCaptureChangedEvent

       removeChild(This, Child) -> ok

              Types:

                 This = Child = wxWindow()

              Removes a child window.

              This  is  called  automatically  by window deletion functions so
              should not be required by  the  application  programmer.  Notice
              that this function is mostly internal to wxWidgets and shouldn't
              be called by the user code.

       reparent(This, NewParent) -> boolean()

              Types:

                 This = NewParent = wxWindow()

              Reparents the window, i.e. the window will be removed  from  its
              current parent window (e.g.

              a  non-standard  toolbar in a wxFrame) and then re-inserted into
              another.

              Notice that currently you need to  explicitly  call  wxBookCtrl-
              Base:removePage/2 before reparenting a notebook page.

       screenToClient(This) -> {X :: integer(), Y :: integer()}

              Types:

                 This = wxWindow()

              Converts from screen to client window coordinates.

       screenToClient(This, Pt) -> {X :: integer(), Y :: integer()}

              Types:

                 This = wxWindow()
                 Pt = {X :: integer(), Y :: integer()}

              Converts from screen to client window coordinates.

       scrollLines(This, Lines) -> boolean()

              Types:

                 This = wxWindow()
                 Lines = integer()

              Scrolls  the  window by the given number of lines down (if lines
              is positive) or up.

              Return: Returns true if the window was scrolled, false if it was
              already on top/bottom and nothing was done.

              Remark:  This  function  is currently only implemented under MSW
              and wxTextCtrl under wxGTK (it also works  for  wxScrolled  (not
              implemented in wx) classes under all platforms).

              See: scrollPages/2

       scrollPages(This, Pages) -> boolean()

              Types:

                 This = wxWindow()
                 Pages = integer()

              Scrolls  the  window by the given number of pages down (if pages
              is positive) or up.

              Return: Returns true if the window was scrolled, false if it was
              already on top/bottom and nothing was done.

              Remark:  This  function  is currently only implemented under MSW
              and wxGTK.

              See: scrollLines/2

       scrollWindow(This, Dx, Dy) -> ok

              Types:

                 This = wxWindow()
                 Dx = Dy = integer()

       scrollWindow(This, Dx, Dy, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Dx = Dy = integer()
                 Option =
                     {rect,
                      {X :: integer(),
                       Y :: integer(),
                       W :: integer(),
                       H :: integer()}}

              Physically scrolls the pixels in the window and move child  win-
              dows accordingly.

              Remark:  Note that you can often use wxScrolled (not implemented
              in wx) instead of using this function directly.

       setAcceleratorTable(This, Accel) -> ok

              Types:

                 This = wxWindow()
                 Accel = wxAcceleratorTable:wxAcceleratorTable()

              Sets the accelerator table for this window.

              See wxAcceleratorTable.

       setAutoLayout(This, AutoLayout) -> ok

              Types:

                 This = wxWindow()
                 AutoLayout = boolean()

              Determines whether the layout/1 function will be called automat-
              ically when the window is resized.

              This  method  is  called implicitly by setSizer/3 but if you use
              SetConstraints() (not implemented in wx) you should call it man-
              ually  or otherwise the window layout won't be correctly updated
              when its size changes.

              See: setSizer/3, SetConstraints() (not implemented in wx)

       setBackgroundColour(This, Colour) -> boolean()

              Types:

                 This = wxWindow()
                 Colour = wx:wx_colour()

              Sets the background colour of the window.

              Notice that as with  setForegroundColour/2,  setting  the  back-
              ground colour of a native control may not affect the entire con-
              trol and could be not supported at all depending on the  control
              and platform.

              Please see inheritAttributes/1 for explanation of the difference
              between this method and setOwnBackgroundColour/2.

              Remark: The background colour is usually painted by the  default
              wxEraseEvent  event handler function under Windows and automati-
              cally under GTK. Note that setting the  background  colour  does
              not  cause  an immediate refresh, so you may wish to call clear-
              Background/1 or refresh/2 after  calling  this  function.  Using
              this  function will disable attempts to use themes for this win-
              dow, if the system supports them. Use with  care  since  usually
              the  themes  represent  the  appearance chosen by the user to be
              used for all applications on the system.

              Return: true if the colour was really changed, false if  it  was
              already set to this colour and nothing was done.

              See:   getBackgroundColour/1,   setForegroundColour/2,  getFore-
              groundColour/1,  clearBackground/1,   refresh/2,   wxEraseEvent,
              wxSystemSettings

       setBackgroundStyle(This, Style) -> boolean()

              Types:

                 This = wxWindow()
                 Style = wx:wx_enum()

              Sets the background style of the window.

              The default background style is wxBG_STYLE_ERASE which indicates
              that the window background may be erased in EVT_ERASE_BACKGROUND
              handler.  This is a safe, compatibility default; however you may
              want to change it to wxBG_STYLE_SYSTEM if you don't  define  any
              erase  background  event  handlers  at all, to avoid unnecessary
              generation of erase background  events  and  always  let  system
              erase the background. And you should change the background style
              to wxBG_STYLE_PAINT if you define  an  EVT_PAINT  handler  which
              completely  overwrites  the  window  background  as in this case
              erasing it previously, either in EVT_ERASE_BACKGROUND handler or
              in  the  system  default handler, would result in flicker as the
              background pixels will be repainted twice every time the  window
              is  redrawn. Do ensure that the background is entirely erased by
              your EVT_PAINT handler in this case however as otherwise garbage
              may be left on screen.

              Notice  that  in  previous versions of wxWidgets a common way to
              work around the above mentioned flickering problem was to define
              an  empty EVT_ERASE_BACKGROUND handler. Setting background style
              to wxBG_STYLE_PAINT is a simpler and more efficient solution  to
              the same problem.

              Under  wxGTK  and  wxOSX, you can use ?wxBG_STYLE_TRANSPARENT to
              obtain full transparency of the  window  background.  Note  that
              wxGTK  supports this only since GTK 2.12 with a compositing man-
              ager  enabled,  call   IsTransparentBackgroundSupported()   (not
              implemented in wx) to check whether this is the case.

              Also, in order for SetBackgroundStyle(wxBG_STYLE_TRANSPARENT) to
              work, it must be called before create/4. If  you're  using  your
              own  wxWindow-derived  class  you  should write your code in the
              following way:

              See: setBackgroundColour/2, getForegroundColour/1,  setTranspar-
              ent/2,  IsTransparentBackgroundSupported()  (not  implemented in
              wx)

       setCaret(This, Caret) -> ok

              Types:

                 This = wxWindow()
                 Caret = wxCaret:wxCaret()

              Sets the caret() associated with the window.

       setClientSize(This, Size) -> ok

       setClientSize(This, Rect) -> ok

              Types:

                 This = wxWindow()
                 Rect =
                     {X :: integer(),
                      Y :: integer(),
                      W :: integer(),
                      H :: integer()}

              This is an overloaded member function, provided for convenience.
              It  differs  from the above function only in what argument(s) it
              accepts.

       setClientSize(This, Width, Height) -> ok

              Types:

                 This = wxWindow()
                 Width = Height = integer()

              This sets the size of the window client area in pixels.

              Using this function to size a window tends to  be  more  device-
              independent than setSize/6, since the application need not worry
              about what dimensions the border or title bar have  when  trying
              to fit the window around panel items, for example.

              See: Overview windowsizing

       setContainingSizer(This, Sizer) -> ok

              Types:

                 This = wxWindow()
                 Sizer = wxSizer:wxSizer()

              Used by wxSizer internally to notify the window about being man-
              aged by the given sizer.

              This method should not  be  called  from  outside  the  library,
              unless  you're  implementing  a  custom sizer class - and in the
              latter case you must call this method with the  pointer  to  the
              sizer  itself  whenever  a  window  is added to it and with NULL
              argument when the window is removed from it.

       setCursor(This, Cursor) -> boolean()

              Types:

                 This = wxWindow()
                 Cursor = wxCursor:wxCursor()

              Sets the window's cursor.

              Notice that the window cursor also sets it for the  children  of
              the window implicitly.

              The  cursor  may be wxNullCursor in which case the window cursor
              will be reset back to default.

              See: wx_misc:setCursor/1, wxCursor

       setMaxSize(This, Size) -> ok

              Types:

                 This = wxWindow()
                 Size = {W :: integer(), H :: integer()}

              Sets the maximum size of the window, to indicate  to  the  sizer
              layout mechanism that this is the maximum possible size.

              See:  SetMaxClientSize()  (not implemented in wx), Overview win-
              dowsizing

       setMinSize(This, Size) -> ok

              Types:

                 This = wxWindow()
                 Size = {W :: integer(), H :: integer()}

              Sets the minimum size of the window, to indicate  to  the  sizer
              layout mechanism that this is the minimum required size.

              You  may  need  to call this if you change the window size after
              construction and before adding to its parent sizer.

              Notice that calling this method doesn't prevent the program from
              making  the window explicitly smaller than the specified size by
              calling setSize/6, it just ensures that it won't become  smaller
              than this size during the automatic layout.

              See:  SetMinClientSize()  (not implemented in wx), Overview win-
              dowsizing

       setOwnBackgroundColour(This, Colour) -> ok

              Types:

                 This = wxWindow()
                 Colour = wx:wx_colour()

              Sets the background colour of the window but  prevents  it  from
              being inherited by the children of this window.

              See: setBackgroundColour/2, inheritAttributes/1

       setOwnFont(This, Font) -> ok

              Types:

                 This = wxWindow()
                 Font = wxFont:wxFont()

              Sets the font of the window but prevents it from being inherited
              by the children of this window.

              See: setFont/2, inheritAttributes/1

       setOwnForegroundColour(This, Colour) -> ok

              Types:

                 This = wxWindow()
                 Colour = wx:wx_colour()

              Sets the foreground colour of the window but  prevents  it  from
              being inherited by the children of this window.

              See: setForegroundColour/2, inheritAttributes/1

       setDropTarget(This, Target) -> ok

              Types:

                 This = wxWindow()
                 Target = wx:wx_object()

              Associates a drop target with this window.

              If the window already has a drop target, it is deleted.

              See: getDropTarget/1, Overview dnd

       setExtraStyle(This, ExStyle) -> ok

              Types:

                 This = wxWindow()
                 ExStyle = integer()

              Sets the extra style bits for the window.

              The currently defined extra style bits are reported in the class
              description.

       setFocus(This) -> ok

              Types:

                 This = wxWindow()

              This sets the window to receive keyboard input.

              See: HasFocus() (not implemented in  wx),  wxFocusEvent,  setFo-
              cus/1, wxPanel:setFocusIgnoringChildren/1

       setFocusFromKbd(This) -> ok

              Types:

                 This = wxWindow()

              This  function  is  called by wxWidgets keyboard navigation code
              when the user gives the focus to this window from keyboard (e.g.
              using TAB key).

              By  default this method simply calls setFocus/1 but can be over-
              ridden to do something  in  addition  to  this  in  the  derived
              classes.

       setFont(This, Font) -> boolean()

              Types:

                 This = wxWindow()
                 Font = wxFont:wxFont()

              Sets the font for this window.

              This  function should not be called for the parent window if you
              don't want its font to be inherited by its children, use setOwn-
              Font/2 instead in this case and see inheritAttributes/1 for more
              explanations.

              Please notice that the given font is not automatically used  for
              wxPaintDC  objects associated with this window, you need to call
              wxDC:setFont/2 too. However this font is used  by  any  standard
              controls for drawing their text as well as by getTextExtent/3.

              Return:  true  if  the  font was really changed, false if it was
              already set to this font and nothing was done.

              See: getFont/1, inheritAttributes/1

       setForegroundColour(This, Colour) -> boolean()

              Types:

                 This = wxWindow()
                 Colour = wx:wx_colour()

              Sets the foreground colour of the window.

              The meaning of foreground colour varies according to the  window
              class;  it may be the text colour or other colour, or it may not
              be used at all. Additionally, not all  native  controls  support
              changing their foreground colour so this method may change their
              colour only partially or even not at all.

              Please see inheritAttributes/1 for explanation of the difference
              between this method and setOwnForegroundColour/2.

              Return:  true  if the colour was really changed, false if it was
              already set to this colour and nothing was done.

              See:  getForegroundColour/1,   setBackgroundColour/2,   getBack-
              groundColour/1, shouldInheritColours/1

       setHelpText(This, HelpText) -> ok

              Types:

                 This = wxWindow()
                 HelpText = unicode:chardata()

              Sets the help text to be used as context-sensitive help for this
              window.

              Note that the text is actually stored  by  the  current  wxHelp-
              Provider  (not implemented in wx) implementation, and not in the
              window object itself.

              See: getHelpText/1, wxHelpProvider::AddHelp()  (not  implemented
              in wx)

       setId(This, Winid) -> ok

              Types:

                 This = wxWindow()
                 Winid = integer()

              Sets the identifier of the window.

              Remark:  Each  window has an integer identifier. If the applica-
              tion has not provided one, an identifier will be generated. Nor-
              mally,  the identifier should be provided on creation and should
              not be modified subsequently.

              See: getId/1, Overview windowids

       setLabel(This, Label) -> ok

              Types:

                 This = wxWindow()
                 Label = unicode:chardata()

              Sets the window's label.

              See: getLabel/1

       setName(This, Name) -> ok

              Types:

                 This = wxWindow()
                 Name = unicode:chardata()

              Sets the window's name.

              See: getName/1

       setPalette(This, Pal) -> ok

              Types:

                 This = wxWindow()
                 Pal = wxPalette:wxPalette()

              Deprecated: use wxDC:setPalette/2 instead.

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

              Types:

                 This = wxWindow()
                 Orientation = Position = ThumbSize = Range = integer()

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

              Types:

                 This = wxWindow()
                 Orientation = Position = ThumbSize = Range = integer()
                 Option = {refresh, boolean()}

              Sets the scrollbar properties of a built-in scrollbar.

              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: 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 pix-
              els. 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  call into a function named AdjustScrollbars, which
              can be called initially and also from your  wxSizeEvent  handler
              function.

              See:  Overview  scrolling,  wxScrollBar,  wxScrolled (not imple-
              mented in wx), wxScrollWinEvent

       setScrollPos(This, Orientation, Pos) -> ok

              Types:

                 This = wxWindow()
                 Orientation = Pos = integer()

       setScrollPos(This, Orientation, Pos, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Orientation = Pos = integer()
                 Option = {refresh, boolean()}

              Sets the position of one of the built-in scrollbars.

              Remark: This function does not directly affect the  contents  of
              the  window: it is up to the application to take note of scroll-
              bar attributes and redraw contents accordingly.

              See: setScrollbar/6, getScrollPos/2, getScrollThumb/2, wxScroll-
              Bar, wxScrolled (not implemented in wx)

       setSize(This, Rect) -> ok

       setSize(This, Size) -> ok

              Types:

                 This = wxWindow()
                 Size = {W :: integer(), H :: integer()}

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       setSize(This, Width, Height) -> ok

       setSize(This, Rect, Height :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Rect =
                     {X :: integer(),
                      Y :: integer(),
                      W :: integer(),
                      H :: integer()}
                 Option = {sizeFlags, integer()}

              Sets the size of the window in pixels.

              The  size is specified using a {X,Y,W,H}, {Width,Height} or by a
              couple of int objects.

              Remark: This form must be used with non-default width and height
              values.

              See: move/4, Overview windowsizing

       setSize(This, X, Y, Width, Height) -> ok

              Types:

                 This = wxWindow()
                 X = Y = Width = Height = integer()

       setSize(This, X, Y, Width, Height, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 X = Y = Width = Height = integer()
                 Option = {sizeFlags, integer()}

              Sets the size of the window in pixels.

              Remark:  This overload sets the position and optionally size, of
              the window. Parameters may be wxDefaultCoord to indicate  either
              that a default should be supplied by wxWidgets, or that the cur-
              rent value of the dimension should be used.

              See: move/4, Overview windowsizing

       setSizeHints(This, MinSize) -> ok

              Types:

                 This = wxWindow()
                 MinSize = {W :: integer(), H :: integer()}

       setSizeHints(This, MinW, MinH) -> ok

       setSizeHints(This, MinSize, MinH :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 MinSize = {W :: integer(), H :: integer()}
                 Option =
                     {maxSize, {W :: integer(), H :: integer()}} |
                     {incSize, {W :: integer(), H :: integer()}}

              Use of this function for windows which are not toplevel  windows
              (such as wxDialog or wxFrame) is discouraged.

              Please use setMinSize/2 and setMaxSize/2 instead.

              See: setSizeHints/4, Overview windowsizing

       setSizeHints(This, MinW, MinH, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 MinW = MinH = integer()
                 Option =
                     {maxW, integer()} |
                     {maxH, integer()} |
                     {incW, integer()} |
                     {incH, integer()}

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       setSizer(This, Sizer) -> ok

              Types:

                 This = wxWindow()
                 Sizer = wxSizer:wxSizer()

       setSizer(This, Sizer, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Sizer = wxSizer:wxSizer()
                 Option = {deleteOld, boolean()}

              Sets the window to have the given layout sizer.

              The  window  will then own the object, and will take care of its
              deletion. If an existing layout constraints  object  is  already
              owned by the window, it will be deleted if the deleteOld parame-
              ter is true.

              Note that this function will also call  setAutoLayout/2  implic-
              itly with true parameter if the sizer is non-NULL and false oth-
              erwise so that the sizer will be effectively used to layout  the
              window children whenever it is resized.

              Remark: SetSizer enables and disables Layout automatically.

       setSizerAndFit(This, Sizer) -> ok

              Types:

                 This = wxWindow()
                 Sizer = wxSizer:wxSizer()

       setSizerAndFit(This, Sizer, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Sizer = wxSizer:wxSizer()
                 Option = {deleteOld, boolean()}

              Associate  the sizer with the window and set the window size and
              minimal size accordingly.

              This method calls  setSizer/3  and  then  wxSizer:setSizeHints/2
              which  sets the initial window size to the size needed to accom-
              modate all sizer elements and sets the minimal size to the  same
              size,  this  preventing the user from resizing this window to be
              less than this minimal size (if it's a  top-level  window  which
              can be directly resized by the user).

       setThemeEnabled(This, Enable) -> ok

              Types:

                 This = wxWindow()
                 Enable = boolean()

              This  function  tells  a  window  if  it should use the system's
              "theme" code to draw the windows' background instead of its  own
              background drawing code.

              This  does not always have any effect since the underlying plat-
              form obviously needs to support the notion  of  themes  in  user
              defined  windows.  One  such  platform is GTK+ where windows can
              have (very colourful) backgrounds defined by a  user's  selected
              theme.

              Dialogs, notebook pages and the status bar have this flag set to
              true by default so that the default look and feel  is  simulated
              best.

              See: getThemeEnabled/1

       setToolTip(This, TipString) -> ok

       setToolTip(This, Tip) -> ok

              Types:

                 This = wxWindow()
                 Tip = wxToolTip:wxToolTip()

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       setVirtualSize(This, Size) -> ok

              Types:

                 This = wxWindow()
                 Size = {W :: integer(), H :: integer()}

              This is an overloaded member function, provided for convenience.
              It differs from the above function only in what  argument(s)  it
              accepts.

       setVirtualSize(This, Width, Height) -> ok

              Types:

                 This = wxWindow()
                 Width = Height = integer()

              Sets the virtual size of the window in pixels.

              See: Overview windowsizing

       setWindowStyle(This, Style) -> ok

              Types:

                 This = wxWindow()
                 Style = integer()

              See setWindowStyleFlag/2 for more info.

       setWindowStyleFlag(This, Style) -> ok

              Types:

                 This = wxWindow()
                 Style = integer()

              Sets the style of the window.

              Please  note that some styles cannot be changed after the window
              creation and that refresh/2 might need to be called after chang-
              ing the others for the change to take place immediately.

              See Window styles for more information about flags.

              See: getWindowStyleFlag/1

       setWindowVariant(This, Variant) -> ok

              Types:

                 This = wxWindow()
                 Variant = wx:wx_enum()

              Chooses a different variant of the window display to use.

              Window  variants  currently  just differ in size, as can be seen
              from ?wxWindowVariant documentation.  Under  all  platforms  but
              macOS, this function does nothing more than change the font used
              by the window. However under macOS it  is  implemented  natively
              and  selects the appropriate variant of the native widget, which
              has better appearance than just scaled down or up version of the
              normal  variant,  so it should be preferred to directly tweaking
              the font size.

              By default the controls naturally use the normal variant.

       shouldInheritColours(This) -> boolean()

              Types:

                 This = wxWindow()

              Return true from here to allow the colours of this window to  be
              changed by inheritAttributes/1.

              Returning false forbids inheriting them from the parent window.

              The  base  class version returns false, but this method is over-
              ridden in wxControl where it returns true.

       show(This) -> boolean()

              Types:

                 This = wxWindow()

       show(This, Options :: [Option]) -> boolean()

              Types:

                 This = wxWindow()
                 Option = {show, boolean()}

              Shows or hides the window.

              You may need to call raise/1 for a top level window if you  want
              to  bring  it  to  top, although this is not needed if show/2 is
              called immediately after the frame creation.

              Notice that the default state of newly created top level windows
              is  hidden  (to  allow  you  to  create  their  contents without
              flicker) unlike for all the other, not derived from  wxTopLevel-
              Window, windows that are by default created in the shown state.

              Return:  true if the window has been shown or hidden or false if
              nothing was done because it already was in the requested state.

              See: isShown/1, hide/1, wxRadioBox:show/3, wxShowEvent

       thaw(This) -> ok

              Types:

                 This = wxWindow()

              Re-enables window updating after a previous call to freeze/1.

              To really thaw the control, it must be called exactly  the  same
              number of times as freeze/1.

              If the window has any children, they are recursively thawed too.

              See:  wxWindowUpdateLocker  (not  implemented  in wx), freeze/1,
              isFrozen/1

       transferDataFromWindow(This) -> boolean()

              Types:

                 This = wxWindow()

              Transfers values from child controls to data areas specified  by
              their validators.

              Returns false if a transfer failed.

              Notice  that  this  also  calls transferDataFromWindow/1 for all
              children recursively.

              See: transferDataToWindow/1,  wxValidator  (not  implemented  in
              wx), validate/1

       transferDataToWindow(This) -> boolean()

              Types:

                 This = wxWindow()

              Transfers  values to child controls from data areas specified by
              their validators.

              Notice that this also calls transferDataToWindow/1 for all chil-
              dren recursively.

              Return: Returns false if a transfer failed.

              See:  transferDataFromWindow/1,  wxValidator (not implemented in
              wx), validate/1

       update(This) -> ok

              Types:

                 This = wxWindow()

              Calling this method immediately repaints the invalidated area of
              the  window  and  all of its children recursively (this normally
              only happens when the flow  of  control  returns  to  the  event
              loop).

              Notice  that  this  function  doesn't invalidate any area of the
              window so nothing happens if nothing has been invalidated  (i.e.
              marked  as  requiring a redraw). Use refresh/2 first if you want
              to immediately redraw the window unconditionally.

       updateWindowUI(This) -> ok

              Types:

                 This = wxWindow()

       updateWindowUI(This, Options :: [Option]) -> ok

              Types:

                 This = wxWindow()
                 Option = {flags, integer()}

              This function sends one or more wxUpdateUIEvent to the window.

              The particular implementation depends on the window; for example
              a  wxToolBar  will send an update UI event for each toolbar but-
              ton, and a wxFrame will send an update UI event for each menubar
              menu item.

              You  can call this function from your application to ensure that
              your UI is up-to-date at this point  (as  far  as  your  wxUpda-
              teUIEvent  handlers are concerned). This may be necessary if you
              have called wxUpdateUIEvent:setMode/1 or  wxUpdateUIEvent:setUp-
              dateInterval/1  to  limit  the overhead that wxWidgets incurs by
              sending update UI events in idle time. flags should be a bitlist
              of one or more of the ?wxUpdateUI enumeration.

              If  you  are  calling  this  function  from an OnInternalIdle or
              OnIdle function, make sure  you  pass  the  wxUPDATE_UI_FROMIDLE
              flag, since this tells the window to only update the UI elements
              that need to be updated in idle time. Some windows update  their
              elements  only  when necessary, for example when a menu is about
              to be shown.  The  following  is  an  example  of  how  to  call
              UpdateWindowUI from an idle function.

              See:  wxUpdateUIEvent,  DoUpdateWindowUI()  (not  implemented in
              wx), OnInternalIdle() (not implemented in wx)

       validate(This) -> boolean()

              Types:

                 This = wxWindow()

              Validates the current values of the child controls  using  their
              validators.

              Notice  that  this also calls validate/1 for all children recur-
              sively.

              Return: Returns false if any of the validations failed.

              See: transferDataFromWindow/1, transferDataToWindow/1, wxValida-
              tor (not implemented in wx)

       warpPointer(This, X, Y) -> ok

              Types:

                 This = wxWindow()
                 X = Y = integer()

              Moves the pointer to the given position on the window.

              Note:  Apple  Human Interface Guidelines forbid moving the mouse
              cursor programmatically so you should avoid using this  function
              in Mac applications (and probably avoid using it under the other
              platforms without good reason as well).

       setTransparent(This, Alpha) -> boolean()

              Types:

                 This = wxWindow()
                 Alpha = integer()

              Set the transparency of the window.

              If the system supports transparent windows, returns true, other-
              wise returns false and the window remains fully opaque. See also
              canSetTransparent/1.

              The parameter alpha is in the range 0..255 where  0  corresponds
              to  a  fully transparent window and 255 to the fully opaque one.
              The constants wxIMAGE_ALPHA_TRANSPARENT and wxIMAGE_ALPHA_OPAQUE
              can be used.

       canSetTransparent(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns  true  if  the  system  supports transparent windows and
              calling setTransparent/2 may succeed.

              If this function returns false, transparent  windows  are  defi-
              nitely not supported by the current system.

       isDoubleBuffered(This) -> boolean()

              Types:

                 This = wxWindow()

              Returns  true  if  the window contents is double-buffered by the
              system, i.e. if any drawing done on the window is really done on
              a temporary backing surface and transferred to the screen all at
              once later.

              See: wxBufferedDC

       setDoubleBuffered(This, On) -> ok

              Types:

                 This = wxWindow()
                 On = boolean()

              Turn on or off double buffering of the window if the system sup-
              ports it.

       getContentScaleFactor(This) -> number()

              Types:

                 This = wxWindow()

              Returns  the  factor  mapping  logical  pixels of this window to
              physical pixels.

              This function can be used to portably determine  the  number  of
              physical  pixels  in  a window of the given size, by multiplying
              the window size by the value returned from it. I.e.  it  returns
              the factor converting window coordinates to "content view" coor-
              dinates, where the view can be just a simple window displaying a
              wxBitmap  or  wxGLCanvas  or  any other kind of window rendering
              arbitrary "content" on screen.

              For the platforms not doing any pixel mapping, i.e. where  logi-
              cal  and  physical  pixels  are  one and the same, this function
              always returns 1.0 and so using it is, in principle, unnecessary
              and   could   be   avoided   by  using  preprocessor  check  for
              wxHAVE_DPI_INDEPENDENT_PIXELS not being defined,  however  using
              this  function  unconditionally  under  all platforms is usually
              simpler and so preferable.

              Note: Current behaviour of  this  function  is  compatible  with
              wxWidgets  3.0,  but  different  from  its behaviour in versions
              3.1.0 to 3.1.3, where it returned the same value as getDPIScale-
              Factor/1.  Please  use  the  other function if you need to use a
              scaling factor greater than 1.0 even for the  platforms  without
              wxHAVE_DPI_INDEPENDENT_PIXELS, such as wxMSW.

              Since: 2.9.5

       getDPI(This) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()

              Return the DPI of the display used by this window.

              The  returned  value  can  be different for different windows on
              systems with support for per-monitor DPI values, such as  Micro-
              soft Windows 10.

              If the DPI is not available, returns {Width,Height} object.

              See:  wxDisplay:getPPI/1,  wxDPIChangedEvent (not implemented in
              wx)

              Since: 3.1.3

       fromDIP(D, W) -> integer()

       fromDIP(Sz, W) -> {W :: integer(), H :: integer()}

       fromDIP(This, D) -> integer()

       fromDIP(This, Sz) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()
                 Sz = {W :: integer(), H :: integer()}

              Convert DPI-independent pixel values  to  the  value  in  pixels
              appropriate for the current toolkit.

              A  DPI-independent  pixel is just a pixel at the standard 96 DPI
              resolution. To keep the same physical size at higher resolution,
              the  physical  pixel value must be scaled by getDPIScaleFactor/1
              but this scaling may be already done by the  underlying  toolkit
              (GTK+,  Cocoa, ...) automatically. This method performs the con-
              version only if it is not already done by the lower level  tool-
              kit  and so by using it with pixel values you can guarantee that
              the physical size of the corresponding elements will remain  the
              same  in  all  resolutions  under  all  platforms.  For example,
              instead of creating a bitmap of the hard coded size of 32 pixels
              you should use to avoid using tiny bitmaps on high DPI screens.

              Notice  that  this function is only needed when using hard coded
              pixel values. It is not necessary if the sizes are already based
              on  the DPI-independent units such as dialog units or if you are
              relying on the controls automatic best  size  determination  and
              using sizers to lay out them.

              Also  note  that if either component of sz has the special value
              of -1, it is returned unchanged  independently  of  the  current
              DPI, to preserve the special value of -1 in wxWidgets API (it is
              often used to mean "unspecified").

              Since: 3.1.0

       toDIP(D, W) -> integer()

       toDIP(Sz, W) -> {W :: integer(), H :: integer()}

       toDIP(This, D) -> integer()

       toDIP(This, Sz) -> {W :: integer(), H :: integer()}

              Types:

                 This = wxWindow()
                 Sz = {W :: integer(), H :: integer()}

              Convert pixel values of the current toolkit  to  DPI-independent
              pixel values.

              A  DPI-independent  pixel is just a pixel at the standard 96 DPI
              resolution. To keep the same physical size at higher resolution,
              the  physical  pixel value must be scaled by getDPIScaleFactor/1
              but this scaling may be already done by the  underlying  toolkit
              (GTK+,  Cocoa, ...) automatically. This method performs the con-
              version only if it is not already done by the lower level  tool-
              kit, For example, you may want to use this to store window sizes
              and positions so that they can be re-used regardless of the dis-
              play DPI:

              Also  note  that if either component of sz has the special value
              of -1, it is returned unchanged  independently  of  the  current
              DPI, to preserve the special value of -1 in wxWidgets API (it is
              often used to mean "unspecified").

              Since: 3.1.0



wxWidgets team.                    wx 2.1.1                        wxWindow(3)