<?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><year>2021</year>
    <holder>wxWidgets team.</holder></copyright>
  <legalnotice>Licensed under the wxWindows Free Documentation Licence, Version 3
  </legalnotice>
  <title>wxMDIParentFrame</title>
</header>
<module>wxMDIParentFrame</module>
<modulesummary>Functions for wxMDIParentFrame class</modulesummary>
<description><p>An MDI (Multiple Document Interface) parent frame is a window which can contain MDI child frames in its client area which emulates the full desktop.
      </p><p>MDI is a user-interface model in which all the window reside inside the single parent window as opposed to being separate from each other. It remains popular despite dire warnings from Microsoft itself (which popularized this model in the first model) that MDI is obsolete.
      </p><p>An MDI parent frame always has a <seeerl marker="wxMDIClientWindow"><c>wxMDIClientWindow</c></seeerl> associated with it, which is the parent for MDI child frames. In the simplest case, the client window takes up the entire parent frame area but it is also possible to resize it to be smaller in order to have other windows in the frame, a typical example is using a sidebar along one of the window edges.
      </p><p>The appearance of MDI applications differs between different ports. The classic MDI model, with child windows which can be independently moved, resized etc, is only available under MSW, which provides native support for it. In Mac ports, multiple top level windows are used for the MDI children too and the MDI parent frame itself is invisible, to accommodate the native look and feel requirements. In all the other ports, a tab-based MDI implementation (sometimes called TDI) is used and so at most one MDI child is visible at any moment (child frames are always maximized).
      </p><p> Although it is possible to have multiple MDI parent frames, a typical MDI application has a single MDI parent frame window inside which multiple MDI child frames, i.e. objects of class <seeerl marker="wxMDIChildFrame"><c>wxMDIChildFrame</c></seeerl>, can be created.
      </p><p>Styles</p><p>This class supports the following styles:
      </p><p>There are no special styles for this class, all <seeerl marker="wxFrame"><c>wxFrame</c></seeerl> styles apply to it in the usual way. The only exception is that wxHSCROLL and wxVSCROLL styles apply not to the frame itself but to the client window, so that using them enables horizontal and vertical scrollbars for this window and not the frame.
      </p><p>See: <seeerl marker="wxMDIChildFrame"><c>wxMDIChildFrame</c></seeerl>, <seeerl marker="wxMDIClientWindow"><c>wxMDIClientWindow</c></seeerl>, <seeerl marker="wxFrame"><c>wxFrame</c></seeerl>, <seeerl marker="wxDialog"><c>wxDialog</c></seeerl>
      </p>
  <p>This class is derived (and can use functions) from: 
    <seeerl marker="wxFrame"><c>wxFrame</c></seeerl> <seeerl marker="wxTopLevelWindow"><c>wxTopLevelWindow</c></seeerl> <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_m_d_i_parent_frame.html">wxMDIParentFrame</url></p>
  </description>
<datatypes><datatype><name name="wxMDIParentFrame"/></datatype></datatypes>

<funcs>
  <func>
    <name name="new" arity="0" clause_i="1" since=""/>
    <fsummary>Default constructor. </fsummary>
    <desc><p>Default constructor. 
      </p><p>Use <seemfa marker="#create/5"><c>create/5</c></seemfa> for the objects created using this constructor. 
      </p></desc>
  </func>
  
  <func>
    <name name="new" arity="3" clause_i="1" since=""/>
    <fsummary>See: <c>new/4</c></fsummary>
  </func>
  
  <func>
    <name name="new" arity="4" clause_i="1" since=""/>
    <fsummary>Constructor, creating the window. </fsummary>
    <desc><p>Constructor, creating the window. 
      </p><p>Notice that if you override virtual <c>OnCreateClient()</c> (not implemented in wx) method you shouldn't be using this constructor but the default constructor and <seemfa marker="#create/5"><c>create/5</c></seemfa> as otherwise your overridden method is never going to be called because of the usual C++ virtual call resolution rules.
      </p><p> Under wxMSW, the client window will automatically have a sunken border style when the active child is not maximized, and no border style when a child is maximized.
      </p><p>See: <seemfa marker="#create/5"><c>create/5</c></seemfa>, <c>OnCreateClient()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="destroy" arity="1" clause_i="1" since=""/>
    <fsummary>Destructor. </fsummary>
    <desc><p>Destructor. 
      </p><p>Destroys all child windows and menu bar if present. 
      </p></desc>
  </func>
  
  <func>
    <name name="activateNext" arity="1" clause_i="1" since=""/>
    <fsummary>Activates the MDI child following the currently active one. </fsummary>
    <desc><p>Activates the MDI child following the currently active one. 
      </p><p>The MDI children are maintained in an ordered list and this function switches to the next element in this list, wrapping around the end of it if the currently active child is the last one.
      </p><p>See: <seemfa marker="#activatePrevious/1"><c>activatePrevious/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="activatePrevious" arity="1" clause_i="1" since=""/>
    <fsummary>Activates the MDI child preceding the currently active one. </fsummary>
    <desc><p>Activates the MDI child preceding the currently active one. 
      </p><p>See: <seemfa marker="#activateNext/1"><c>activateNext/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="arrangeIcons" arity="1" clause_i="1" since=""/>
    <fsummary>Arranges any iconized (minimized) MDI child windows. </fsummary>
    <desc><p>Arranges any iconized (minimized) MDI child windows. 
      </p><p>This method is only implemented in MSW MDI implementation and does nothing under the other platforms.
      </p><p>See: <seemfa marker="#cascade/1"><c>cascade/1</c></seemfa>, <seemfa marker="#tile/2"><c>tile/2</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="cascade" arity="1" clause_i="1" since=""/>
    <fsummary>Arranges the MDI child windows in a cascade. </fsummary>
    <desc><p>Arranges the MDI child windows in a cascade. 
      </p><p>This method is only implemented in MSW MDI implementation and does nothing under the other platforms.
      </p><p>See: <seemfa marker="#tile/2"><c>tile/2</c></seemfa>, <seemfa marker="#arrangeIcons/1"><c>arrangeIcons/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="create" arity="4" clause_i="1" since=""/>
    <fsummary>See: <c>create/5</c></fsummary>
  </func>
  
  <func>
    <name name="create" arity="5" clause_i="1" since=""/>
    <fsummary>Used in two-step frame construction. </fsummary>
    <desc><p>Used in two-step frame construction. 
      </p><p>See <seemfa marker="#new/4"><c>new/4</c></seemfa> for further details. 
      </p></desc>
  </func>
  
  <func>
    <name name="getActiveChild" arity="1" clause_i="1" since=""/>
    <fsummary>Returns a pointer to the active MDI child, if there is one. </fsummary>
    <desc><p>Returns a pointer to the active MDI child, if there is one. 
      </p><p>If there are any children at all this function returns a non-NULL pointer. 
      </p></desc>
  </func>
  
  <func>
    <name name="getClientWindow" arity="1" clause_i="1" since=""/>
    <fsummary>Returns a pointer to the client window. </fsummary>
    <desc><p>Returns a pointer to the client window. 
      </p><p>See: <c>OnCreateClient()</c> (not implemented in wx)
      </p></desc>
  </func>
  
  <func>
    <name name="tile" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>tile/2</c></fsummary>
  </func>
  
  <func>
    <name name="tile" arity="2" clause_i="1" since=""/>
    <fsummary>Tiles the MDI child windows either horizontally or vertically depending on whether <c>orient</c> is <c>wxHORIZONTAL</c> or <c>wxVERTICAL</c>. </fsummary>
    <desc><p>Tiles the MDI child windows either horizontally or vertically depending on whether <c>orient</c> is <c>wxHORIZONTAL</c> or <c>wxVERTICAL</c>. 
      </p><p>This method is only implemented in MSW MDI implementation and does nothing under the other platforms. 
      </p></desc>
  </func>
  </funcs>
</erlref>
