<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<!-- THIS FILE IS GENERATED DO NOT EDIT -->


<erlref>
<header>
  <copyright>
    <year>2020</year>
    <holder>Ericsson AB. All Rights Reserved.</holder></copyright>
  <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

  </legalnotice>
  <title>wxTopLevelWindow</title>
</header>
<module>wxTopLevelWindow</module>
<modulesummary>Functions for wxTopLevelWindow class</modulesummary>
<description><p><seeerl marker="wxTopLevelWindow"><c>wxTopLevelWindow</c></seeerl> is a common base class for <seeerl marker="wxDialog"><c>wxDialog</c></seeerl> and <seeerl marker="wxFrame"><c>wxFrame</c></seeerl>. It is an abstract base class meaning that you never work with objects of this class directly, but all of its methods are also applicable for the two classes above.
      </p><p>Note that the instances of <seeerl marker="wxTopLevelWindow"><c>wxTopLevelWindow</c></seeerl> are managed by wxWidgets in the internal top level window list.
      </p><p>See: <seeerl marker="wxDialog"><c>wxDialog</c></seeerl>, <seeerl marker="wxFrame"><c>wxFrame</c></seeerl>
      </p>
  <p>This class is derived (and can use functions) from: 
    <seeerl marker="wxWindow"><c>wxWindow</c></seeerl> <seeerl marker="wxEvtHandler"><c>wxEvtHandler</c></seeerl></p>
  
  <p>wxWidgets docs: <url href="https://docs.wxwidgets.org/3.1/classwx_top_level_window.html">wxTopLevelWindow</url></p>
  </description><section><title>Events</title><p>Event types emitted from this class: <seeerl marker="wxMaximizeEvent"><c>maximize</c></seeerl>, <seeerl marker="wxMoveEvent"><c>move</c></seeerl>, <seeerl marker="wxShowEvent"><c>show</c></seeerl></p></section>
<datatypes><datatype><name name="wxTopLevelWindow"/></datatype></datatypes>

<funcs>
  <func>
    <name name="getIcon" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the standard icon of the window. </fsummary>
    <desc><p>Returns the standard icon of the window. 
      </p><p>The icon will be invalid if it hadn't been previously set by <seemfa marker="#setIcon/2"><c>setIcon/2</c></seemfa>.
      </p><p>See: <seemfa marker="#getIcons/1"><c>getIcons/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getIcons" arity="1" clause_i="1" since=""/>
    <fsummary>Returns all icons associated with the window, there will be none of them if neither <c>setIcon/2</c> nor <c>setIcons/2</c> had been called before. </fsummary>
    <desc><p>Returns all icons associated with the window, there will be none of them if neither <seemfa marker="#setIcon/2"><c>setIcon/2</c></seemfa> nor <seemfa marker="#setIcons/2"><c>setIcons/2</c></seemfa> had been called before. 
      </p><p>Use <seemfa marker="#getIcon/1"><c>getIcon/1</c></seemfa> to get the main icon of the window.
      </p><p>See: <seeerl marker="wxIconBundle"><c>wxIconBundle</c></seeerl>
      </p></desc>
  </func>
  
  <func>
    <name name="getTitle" arity="1" clause_i="1" since=""/>
    <fsummary>Gets a string containing the window title. </fsummary>
    <desc><p>Gets a string containing the window title. 
      </p><p>See: <seemfa marker="#setTitle/2"><c>setTitle/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="isActive" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if this window is currently active, i.e. if the user is currently working with it. </fsummary>
    <desc><p>Returns true if this window is currently active, i.e. if the user is currently working with it. 
      </p></desc>
  </func>
  
  <func>
    <name name="iconize" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>iconize/2</c></fsummary>
  </func>
  
  <func>
    <name name="iconize" arity="2" clause_i="1" since=""/>
    <fsummary>Iconizes or restores the window. </fsummary>
    <desc><p>Iconizes or restores the window. 
      </p><p>Note that in wxGTK the change to the window state is not immediate, i.e. <seemfa marker="#isIconized/1"><c>isIconized/1</c></seemfa> will typically return false right after a call to <seemfa marker="#iconize/2"><c>iconize/2</c></seemfa> and its return value will only change after the control flow returns to the event loop and the notification about the window being really iconized is received.
      </p><p>See: <seemfa marker="#isIconized/1"><c>isIconized/1</c></seemfa>, <c>Restore()</c> (not implemented in wx), (), <seeerl marker="wxIconizeEvent"><c>wxIconizeEvent</c></seeerl>
      </p></desc>
  </func>
  
  <func>
    <name name="isFullScreen" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if the window is in fullscreen mode. </fsummary>
    <desc><p>Returns true if the window is in fullscreen mode. 
      </p><p>See: <seemfa marker="#showFullScreen/3"><c>showFullScreen/3</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="isIconized" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if the window is iconized. </fsummary>
    <desc><p>Returns true if the window is iconized. 
      </p></desc>
  </func>
  
  <func>
    <name name="isMaximized" arity="1" clause_i="1" since=""/>
    <fsummary>Returns true if the window is maximized. </fsummary>
    <desc><p>Returns true if the window is maximized. 
      </p></desc>
  </func>
  
  <func>
    <name name="maximize" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>maximize/2</c></fsummary>
  </func>
  
  <func>
    <name name="maximize" arity="2" clause_i="1" since=""/>
    <fsummary>Maximizes or restores the window. </fsummary>
    <desc><p>Maximizes or restores the window. 
      </p><p>Note that, just as with <seemfa marker="#iconize/2"><c>iconize/2</c></seemfa>, the change to the window state is not immediate in at least wxGTK port.
      </p><p>See: <c>Restore()</c> (not implemented in wx), <seemfa marker="#iconize/2"><c>iconize/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="requestUserAttention" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>requestUserAttention/2</c></fsummary>
  </func>
  
  <func>
    <name name="requestUserAttention" arity="2" clause_i="1" since=""/>
    <fsummary>Use a system-dependent way to attract users attention to the window when it is in background. </fsummary>
    <desc><p>Use a system-dependent way to attract users attention to the window when it is in background. 
      </p><p><c>flags</c> may have the value of either <c>?wxUSER_ATTENTION_INFO</c> (default) or <c>?wxUSER_ATTENTION_ERROR</c> which results in a more drastic action. When in doubt, use the default value.
      </p><p>Note: This function should normally be only used when the application is not already in foreground.
      </p><p> This function is currently implemented for Win32 where it flashes the window icon in the taskbar, and for wxGTK with task bars supporting it. 
      </p></desc>
  </func>
  
  <func>
    <name name="setIcon" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the icon for this window. </fsummary>
    <desc><p>Sets the icon for this window. 
      </p><p>Remark: The window takes a 'copy' of <c>icon</c>, but since it uses reference counting, the copy is very quick. It is safe to delete <c>icon</c> after calling this function.
      </p><p>Note: In wxMSW, <c>icon</c> must be either 16x16 or 32x32 icon.
      </p><p>See: <seeerl marker="wxIcon"><c>wxIcon</c></seeerl>, <seemfa marker="#setIcons/2"><c>setIcons/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setIcons" arity="2" clause_i="1" since=""/>
    <fsummary>Sets several icons of different sizes for this window: this allows using different icons for different situations (e.g. </fsummary>
    <desc><p>Sets several icons of different sizes for this window: this allows using different icons for different situations (e.g. 
      </p><p>task switching bar, taskbar, window title bar) instead of scaling, with possibly bad looking results, the only icon set by <seemfa marker="#setIcon/2"><c>setIcon/2</c></seemfa>.
      </p><p>Note: In wxMSW, <c>icons</c> must contain a 16x16 or 32x32 icon, preferably both.
      </p><p>See: <seeerl marker="wxIconBundle"><c>wxIconBundle</c></seeerl>
      </p></desc>
  </func>
  
  <func>
    <name name="centerOnScreen" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>centerOnScreen/2</c></fsummary>
  </func>
  
  <func>
    <name name="centreOnScreen" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>centreOnScreen/2</c></fsummary>
  </func>
  
  <func>
    <name name="centerOnScreen" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>centreOnScreen/2</c></fsummary>
    <desc><p>See: <seemfa marker="#centreOnScreen/2"><c>centreOnScreen/2</c></seemfa>.</p>
    </desc>
  </func>
  
  <func>
    <name name="centreOnScreen" arity="2" clause_i="1" since=""/>
    <fsummary>Centres the window on screen. </fsummary>
    <desc><p>Centres the window on screen. 
      </p><p>See: <seemfa marker="wxWindow#centreOnParent/2"><c>wxWindow:centreOnParent/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="setShape" arity="2" clause_i="1" since=""/>
    <fsummary>If the platform supports it, sets the shape of the window to that depicted by <c>region</c>. </fsummary>
    <desc><p>If the platform supports it, sets the shape of the window to that depicted by <c>region</c>. 
      </p><p>The system will not display or respond to any mouse event for the pixels that lie outside of the region. To reset the window to the normal rectangular shape simply call <seemfa marker="#setShape/2"><c>setShape/2</c></seemfa> again with an empty <seeerl marker="wxRegion"><c>wxRegion</c></seeerl>. Returns true if the operation is successful.
      </p><p>This method is available in this class only since wxWidgets 2.9.3, previous versions only provided it in <seeerl marker="wxTopLevelWindow"><c>wxTopLevelWindow</c></seeerl>.
      </p><p>Note that windows with non default shape have a fixed size and can't be resized using <seemfa marker="wxWindow#setSize/6"><c>wxWindow:setSize/6</c></seemfa>. 
      </p></desc>
  </func>
  
  <func>
    <name name="setTitle" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the window title. </fsummary>
    <desc><p>Sets the window title. 
      </p><p>See: <seemfa marker="#getTitle/1"><c>getTitle/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="showFullScreen" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>showFullScreen/3</c></fsummary>
  </func>
  
  <func>
    <name name="showFullScreen" arity="3" clause_i="1" since=""/>
    <fsummary>Depending on the value of <c>show</c> parameter the window is either shown full screen or restored to its normal state. </fsummary>
    <desc><p>Depending on the value of <c>show</c> parameter the window is either shown full screen or restored to its normal state. 
      </p><p><c>style</c> is a bit list containing some or all of the following values, which indicate what elements of the window to hide in full-screen mode:
      </p><p>This function has not been tested with MDI frames.
      </p><p>Note: Showing a window full screen also actually <seemfa marker="wxWindow#show/2"><c>wxWindow:show/2</c></seemfa>s the window if it isn't shown.
      </p><p>See: <c>EnableFullScreenView()</c> (not implemented in wx), <seemfa marker="#isFullScreen/1"><c>isFullScreen/1</c></seemfa>
      </p></desc>
  </func>
  </funcs>
</erlref>
