<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Generated on: Sun Jul 10 23:18:47 CEST 2005 -->
<classes>
 <class name="wxAcceleratorEntry">
  <description>
   <p class="classdesc">
    An object used by an application wishing to create an
    <ref target="wxacceleratortable">accelerator table</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/accel.h"/>
  </includes>
  <seealso>
   <ref target="wxacceleratortable">wxAcceleratorTable</ref>
   <ref target="wxwindowsetacceleratortable">wxWindow::SetAcceleratorTable</ref>
  </seealso>
  <members>
   <member class="wxAcceleratorEntry" name="wxAcceleratorEntry">
    <function type="" name="wxAcceleratorEntry">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxAcceleratorEntry">
     <parameters>
      <parameter type="int " name="flags">
       One of wxACCEL\_ALT, wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL.
       Indicates which modifier key is held down.
      </parameter>
      <parameter type="int " name="keyCode">
       The keycode to be detected. See
       <ref target="keycodes">Keycodes</ref>
       for a full list of keycodes.
      </parameter>
      <parameter type="int " name="cmd">
       The menu or control command identifier.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorEntry" name="GetCommand">
    <function type="int" name="GetCommand" suffix="const">
     <description>
      <p>
       Returns the command identifier for the accelerator table entry.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorEntry" name="GetFlags">
    <function type="int" name="GetFlags" suffix="const">
     <description>
      <p>
       Returns the flags for the accelerator table entry.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorEntry" name="GetKeyCode">
    <function type="int" name="GetKeyCode" suffix="const">
     <description>
      <p>
       Returns the keycode for the accelerator table entry.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorEntry" name="Set">
    <function type="void" name="Set">
     <parameters>
      <parameter type="int " name="flags">
       One of wxACCEL\_ALT, wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL.
       Indicates which modifier key is held down.
      </parameter>
      <parameter type="int " name="keyCode">
       The keycode to be detected. See
       <ref target="keycodes">Keycodes</ref>
       for a full list of keycodes.
      </parameter>
      <parameter type="int " name="cmd">
       The menu or control command identifier.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the accelerator entry parameters.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxAcceleratorTable">
  <description>
   <p class="classdesc">
    An accelerator table allows the application to specify a table of keyboard
    shortcuts for menus or other commands. On Windows, menu or button commands
    are supported; on GTK, only menu commands are supported.
   </p>
   <p class="classdesc">
    The object
    <b> wxNullAcceleratorTable</b>
    is defined to be a table with no data, and is the initial accelerator table
    for a window.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Accelerator table</shortdesc>
  <example>
   <pre>
  wxAcceleratorEntry entries[4];
  entries[0].Set(wxACCEL\_CTRL,  (int) 'N',     ID\_NEW\_WINDOW);
  entries[1].Set(wxACCEL\_CTRL,  (int) 'X',     wxID\_EXIT);
  entries[2].Set(wxACCEL\_SHIFT, (int) 'A',     ID\_ABOUT);
  entries[3].Set(wxACCEL\_NORMAL,  WXK\_DELETE,    wxID\_CUT);
  wxAcceleratorTable accel(4, entries);
  frame-&gt;SetAcceleratorTable(accel);
</pre>
  </example>
  <remarks>
   <p>
    An accelerator takes precedence over normal processing and can be a
    convenient way to program some event handling. For example, you can use an
    accelerator table to enable a dialog with a multi-line text control to
    accept CTRL-Enter as meaning `OK' (but not in GTK+ at present).
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/accel.h"/>
  </includes>
  <seealso>
   <ref target="wxacceleratorentry">wxAcceleratorEntry</ref>
   <ref target="wxwindowsetacceleratortable">wxWindow::SetAcceleratorTable</ref>
  </seealso>
  <members>
   <member class="wxAcceleratorTable" name="wxAcceleratorTable">
    <function type="" name="wxAcceleratorTable">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxAcceleratorTable">
     <parameters>
      <parameter type="const wxAcceleratorTable&amp; " name="bitmap"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxAcceleratorTable">
     <parameters>
      <parameter type="int " name="n">
       Number of accelerator entries.
      </parameter>
      <parameter type="wxAcceleratorEntry " name="entries[]"></parameter>
     </parameters>
     <description>
      <p>
       Creates from an array of
       <ref target="wxacceleratorentry">wxAcceleratorEntry</ref>
       objects.
      </p>
     </description>
    </function>
    <function type="" name="wxAcceleratorTable" specific="msw">
     <parameters>
      <parameter type="const wxString&amp; " name="resource">
       Name of a Windows accelerator.
      </parameter>
     </parameters>
     <description>
      <p>
       Loads the accelerator table from a Windows resource (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorTable" name="~wxAcceleratorTable">
    <function type="" name="~wxAcceleratorTable">
     <description>
      <p>
       Destroys the wxAcceleratorTable object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorTable" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the accelerator table is valid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorTable" name="operator $=$">
    <function type="wxAcceleratorTable&amp; " name="operator $=$">
     <parameters>
      <parameter type="const wxAcceleratorTable&amp; " name="accel">
       Accelerator table to assign.
      </parameter>
     </parameters>
     <returnvalue>
      Returns reference to this object.
     </returnvalue>
     <description>
      <p>
       Assignment operator. This operator does not copy any data, but instead
       passes a pointer to the data in
       <i> accel</i>
       and increments a reference counter. It is a fast operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorTable" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxAcceleratorTable&amp; " name="accel">
       Accelerator table to compare with
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the accelerator tables were effectively equal, false
      otherwise.
     </returnvalue>
     <description>
      <p>
       Equality operator. This operator tests whether the internal data pointers
       are equal (a fast test).
      </p>
     </description>
    </function>
   </member>
   <member class="wxAcceleratorTable" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxAcceleratorTable&amp; " name="accel">
       Accelerator table to compare with
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the accelerator tables were unequal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Inequality operator. This operator tests whether the internal data
       pointers are unequal (a fast test).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxAccessible" needdefine="wxACCESSIBILITY">
  <description>
   <p class="classdesc">
    The wxAccessible class allows wxWidgets applications, and wxWidgets itself,
    to return extended information about user interface elements to client
    applications such as screen readers. This is the main way in which wxWidgets
    implements accessibility features.
   </p>
   <p class="classdesc">
    At present, only Microsoft Active Accessibility is supported by this class.
   </p>
   <p class="classdesc">
    To use this class, derive from wxAccessible, implement appropriate
    functions, and associate an object of the class with a window using
    <ref target="wxwindowsetaccessible">wxWindow::SetAccessible</ref>
    .
   </p>
   <p class="classdesc">
    All functions return an indication of success, failure, or not implemented
    using values of the wxAccStatus enum type.
   </p>
   <p class="classdesc">
    If you return wxACC\_NOT\_IMPLEMENTED from any function, the system will try
    to implement the appropriate functionality. However this will not work with
    all functions.
   </p>
   <p class="classdesc">
    Most functions work with an
    <i> object id</i>
    , which can be zero to refer to 'this' UI element, or greater than zero to
    refer to the nth child element. This allows you to specify elements that
    don't have a corresponding wxWindow or wxAccessible; for example, the sash
    of a splitter window.
   </p>
   <p class="classdesc">
    For details on the semantics of functions and types, please refer to the
    Microsoft Active Accessibility 1.2 documentation.
   </p>
   <p class="classdesc">
    This class is compiled into wxWidgets only if the wxUSE\_ACCESSIBILITY setup
    symbol is set to 1.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/access.h"/>
  </includes>
  <structs>
   <p>
    Functions return a wxAccStatus error code, which may be one of the
    following:
   </p>
   <pre>
typedef enum
\{
    wxACC\_FAIL,            // The function failed
    wxACC\_FALSE,           // The function returned false
    wxACC\_OK,              // The function completed successfully
    wxACC\_NOT\_IMPLEMENTED, // The function is not implemented
    wxACC\_NOT\_SUPPORTED    // The function is not supported
\} wxAccStatus
</pre>
   <p>
    Directions of navigation are represented by the following:
   </p>
   <pre>
typedef enum
\{
    wxNAVDIR\_DOWN,
    wxNAVDIR\_FIRSTCHILD,
    wxNAVDIR\_LASTCHILD,
    wxNAVDIR\_LEFT,
    wxNAVDIR\_NEXT,
    wxNAVDIR\_PREVIOUS,
    wxNAVDIR\_RIGHT,
    wxNAVDIR\_UP
\} wxNavDir
</pre>
   <p>
    The role of a user interface element is represented by the following type:
   </p>
   <pre>
typedef enum \{  
    wxROLE\_NONE,
    wxROLE\_SYSTEM\_ALERT,
    wxROLE\_SYSTEM\_ANIMATION,
    wxROLE\_SYSTEM\_APPLICATION,
    wxROLE\_SYSTEM\_BORDER,
    wxROLE\_SYSTEM\_BUTTONDROPDOWN,
    wxROLE\_SYSTEM\_BUTTONDROPDOWNGRID,
    wxROLE\_SYSTEM\_BUTTONMENU,
    wxROLE\_SYSTEM\_CARET,
    wxROLE\_SYSTEM\_CELL,
    wxROLE\_SYSTEM\_CHARACTER,
    wxROLE\_SYSTEM\_CHART,
    wxROLE\_SYSTEM\_CHECKBUTTON,
    wxROLE\_SYSTEM\_CLIENT,
    wxROLE\_SYSTEM\_CLOCK,
    wxROLE\_SYSTEM\_COLUMN,
    wxROLE\_SYSTEM\_COLUMNHEADER,
    wxROLE\_SYSTEM\_COMBOBOX,
    wxROLE\_SYSTEM\_CURSOR,
    wxROLE\_SYSTEM\_DIAGRAM,
    wxROLE\_SYSTEM\_DIAL,
    wxROLE\_SYSTEM\_DIALOG,
    wxROLE\_SYSTEM\_DOCUMENT,
    wxROLE\_SYSTEM\_DROPLIST,
    wxROLE\_SYSTEM\_EQUATION,
    wxROLE\_SYSTEM\_GRAPHIC,
    wxROLE\_SYSTEM\_GRIP,
    wxROLE\_SYSTEM\_GROUPING,
    wxROLE\_SYSTEM\_HELPBALLOON,
    wxROLE\_SYSTEM\_HOTKEYFIELD,
    wxROLE\_SYSTEM\_INDICATOR,
    wxROLE\_SYSTEM\_LINK,
    wxROLE\_SYSTEM\_LIST,
    wxROLE\_SYSTEM\_LISTITEM,
    wxROLE\_SYSTEM\_MENUBAR,
    wxROLE\_SYSTEM\_MENUITEM,
    wxROLE\_SYSTEM\_MENUPOPUP,
    wxROLE\_SYSTEM\_OUTLINE,
    wxROLE\_SYSTEM\_OUTLINEITEM,
    wxROLE\_SYSTEM\_PAGETAB,
    wxROLE\_SYSTEM\_PAGETABLIST,
    wxROLE\_SYSTEM\_PANE,
    wxROLE\_SYSTEM\_PROGRESSBAR,
    wxROLE\_SYSTEM\_PROPERTYPAGE,
    wxROLE\_SYSTEM\_PUSHBUTTON,
    wxROLE\_SYSTEM\_RADIOBUTTON,
    wxROLE\_SYSTEM\_ROW,
    wxROLE\_SYSTEM\_ROWHEADER,
    wxROLE\_SYSTEM\_SCROLLBAR,
    wxROLE\_SYSTEM\_SEPARATOR,
    wxROLE\_SYSTEM\_SLIDER,
    wxROLE\_SYSTEM\_SOUND,
    wxROLE\_SYSTEM\_SPINBUTTON,
    wxROLE\_SYSTEM\_STATICTEXT,
    wxROLE\_SYSTEM\_STATUSBAR,
    wxROLE\_SYSTEM\_TABLE,
    wxROLE\_SYSTEM\_TEXT,
    wxROLE\_SYSTEM\_TITLEBAR,
    wxROLE\_SYSTEM\_TOOLBAR,
    wxROLE\_SYSTEM\_TOOLTIP,
    wxROLE\_SYSTEM\_WHITESPACE,
    wxROLE\_SYSTEM\_WINDOW
\} wxAccRole
</pre>
   <p>
    Objects are represented by the following type:
   </p>
   <pre>
typedef enum \{
    wxOBJID\_WINDOW =    0x00000000,
    wxOBJID\_SYSMENU =   0xFFFFFFFF,
    wxOBJID\_TITLEBAR =  0xFFFFFFFE,
    wxOBJID\_MENU =      0xFFFFFFFD,
    wxOBJID\_CLIENT =    0xFFFFFFFC,
    wxOBJID\_VSCROLL =   0xFFFFFFFB,
    wxOBJID\_HSCROLL =   0xFFFFFFFA,
    wxOBJID\_SIZEGRIP =  0xFFFFFFF9,
    wxOBJID\_CARET =     0xFFFFFFF8,
    wxOBJID\_CURSOR =    0xFFFFFFF7,
    wxOBJID\_ALERT =     0xFFFFFFF6,
    wxOBJID\_SOUND =     0xFFFFFFF5
\} wxAccObject
</pre>
   <p>
    Selection actions are identified by this type:
   </p>
   <pre>
typedef enum
\{
    wxACC\_SEL\_NONE            = 0,
    wxACC\_SEL\_TAKEFOCUS       = 1,
    wxACC\_SEL\_TAKESELECTION   = 2,
    wxACC\_SEL\_EXTENDSELECTION = 4,
    wxACC\_SEL\_ADDSELECTION    = 8,
    wxACC\_SEL\_REMOVESELECTION = 16
\} wxAccSelectionFlags
</pre>
   <p>
    States are represented by the following:
   </p>
   <pre>
#define wxACC\_STATE\_SYSTEM\_ALERT\_HIGH       0x00000001
#define wxACC\_STATE\_SYSTEM\_ALERT\_MEDIUM     0x00000002
#define wxACC\_STATE\_SYSTEM\_ALERT\_LOW        0x00000004
#define wxACC\_STATE\_SYSTEM\_ANIMATED         0x00000008
#define wxACC\_STATE\_SYSTEM\_BUSY             0x00000010
#define wxACC\_STATE\_SYSTEM\_CHECKED          0x00000020
#define wxACC\_STATE\_SYSTEM\_COLLAPSED        0x00000040
#define wxACC\_STATE\_SYSTEM\_DEFAULT          0x00000080
#define wxACC\_STATE\_SYSTEM\_EXPANDED         0x00000100
#define wxACC\_STATE\_SYSTEM\_EXTSELECTABLE    0x00000200
#define wxACC\_STATE\_SYSTEM\_FLOATING         0x00000400
#define wxACC\_STATE\_SYSTEM\_FOCUSABLE        0x00000800
#define wxACC\_STATE\_SYSTEM\_FOCUSED          0x00001000
#define wxACC\_STATE\_SYSTEM\_HOTTRACKED       0x00002000
#define wxACC\_STATE\_SYSTEM\_INVISIBLE        0x00004000
#define wxACC\_STATE\_SYSTEM\_MARQUEED         0x00008000
#define wxACC\_STATE\_SYSTEM\_MIXED            0x00010000
#define wxACC\_STATE\_SYSTEM\_MULTISELECTABLE  0x00020000
#define wxACC\_STATE\_SYSTEM\_OFFSCREEN        0x00040000
#define wxACC\_STATE\_SYSTEM\_PRESSED          0x00080000
#define wxACC\_STATE\_SYSTEM\_PROTECTED        0x00100000
#define wxACC\_STATE\_SYSTEM\_READONLY         0x00200000
#define wxACC\_STATE\_SYSTEM\_SELECTABLE       0x00400000
#define wxACC\_STATE\_SYSTEM\_SELECTED         0x00800000
#define wxACC\_STATE\_SYSTEM\_SELFVOICING      0x01000000
#define wxACC\_STATE\_SYSTEM\_UNAVAILABLE      0x02000000
</pre>
   <p>
    Event identifiers that can be sent via
    <ref target="wxaccessiblenotifyevent">wxAccessible::NotifyEvent</ref>
    are as follows:
   </p>
   <pre>
#define wxACC\_EVENT\_SYSTEM\_SOUND              0x0001
#define wxACC\_EVENT\_SYSTEM\_ALERT              0x0002
#define wxACC\_EVENT\_SYSTEM\_FOREGROUND         0x0003
#define wxACC\_EVENT\_SYSTEM\_MENUSTART          0x0004
#define wxACC\_EVENT\_SYSTEM\_MENUEND            0x0005
#define wxACC\_EVENT\_SYSTEM\_MENUPOPUPSTART     0x0006
#define wxACC\_EVENT\_SYSTEM\_MENUPOPUPEND       0x0007
#define wxACC\_EVENT\_SYSTEM\_CAPTURESTART       0x0008
#define wxACC\_EVENT\_SYSTEM\_CAPTUREEND         0x0009
#define wxACC\_EVENT\_SYSTEM\_MOVESIZESTART      0x000A
#define wxACC\_EVENT\_SYSTEM\_MOVESIZEEND        0x000B
#define wxACC\_EVENT\_SYSTEM\_CONTEXTHELPSTART   0x000C
#define wxACC\_EVENT\_SYSTEM\_CONTEXTHELPEND     0x000D
#define wxACC\_EVENT\_SYSTEM\_DRAGDROPSTART      0x000E
#define wxACC\_EVENT\_SYSTEM\_DRAGDROPEND        0x000F
#define wxACC\_EVENT\_SYSTEM\_DIALOGSTART        0x0010
#define wxACC\_EVENT\_SYSTEM\_DIALOGEND          0x0011
#define wxACC\_EVENT\_SYSTEM\_SCROLLINGSTART     0x0012
#define wxACC\_EVENT\_SYSTEM\_SCROLLINGEND       0x0013
#define wxACC\_EVENT\_SYSTEM\_SWITCHSTART        0x0014
#define wxACC\_EVENT\_SYSTEM\_SWITCHEND          0x0015
#define wxACC\_EVENT\_SYSTEM\_MINIMIZESTART      0x0016
#define wxACC\_EVENT\_SYSTEM\_MINIMIZEEND        0x0017
#define wxACC\_EVENT\_OBJECT\_CREATE                 0x8000
#define wxACC\_EVENT\_OBJECT\_DESTROY                0x8001
#define wxACC\_EVENT\_OBJECT\_SHOW                   0x8002
#define wxACC\_EVENT\_OBJECT\_HIDE                   0x8003
#define wxACC\_EVENT\_OBJECT\_REORDER                0x8004
#define wxACC\_EVENT\_OBJECT\_FOCUS                  0x8005
#define wxACC\_EVENT\_OBJECT\_SELECTION              0x8006
#define wxACC\_EVENT\_OBJECT\_SELECTIONADD           0x8007
#define wxACC\_EVENT\_OBJECT\_SELECTIONREMOVE        0x8008
#define wxACC\_EVENT\_OBJECT\_SELECTIONWITHIN        0x8009
#define wxACC\_EVENT\_OBJECT\_STATECHANGE            0x800A
#define wxACC\_EVENT\_OBJECT\_LOCATIONCHANGE         0x800B
#define wxACC\_EVENT\_OBJECT\_NAMECHANGE             0x800C
#define wxACC\_EVENT\_OBJECT\_DESCRIPTIONCHANGE      0x800D
#define wxACC\_EVENT\_OBJECT\_VALUECHANGE            0x800E
#define wxACC\_EVENT\_OBJECT\_PARENTCHANGE           0x800F
#define wxACC\_EVENT\_OBJECT\_HELPCHANGE             0x8010
#define wxACC\_EVENT\_OBJECT\_DEFACTIONCHANGE        0x8011
#define wxACC\_EVENT\_OBJECT\_ACCELERATORCHANGE      0x8012
</pre>
  </structs>
  <members>
   <member class="wxAccessible" name="wxAccessible">
    <function type="" name="wxAccessible">
     <parameters>
      <parameter type="wxWindow&#42; " name="win" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor, taking an optional window. The object can be associated with
       a window later.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="~wxAccessible">
    <function type="" name="~wxAccessible">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="DoDefaultAction">
    <function type="virtual wxAccStatus" name="DoDefaultAction">
     <parameters>
      <parameter type="int " name="childId"></parameter>
     </parameters>
     <description>
      <p>
       Performs the default action for the object.
       <i> childId</i>
       is 0 (the action for this object) or greater than 0 (the action for a
       child). Return wxACC\_NOT\_SUPPORTED if there is no default action for this
       window (e.g. an edit control).
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetChild">
    <function type="virtual wxAccStatus" name="GetChild">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxAccessible&#42;&#42; " name="child"></parameter>
     </parameters>
     <description>
      <p>
       Gets the specified child (starting from 1). If
       <i> child</i>
       is NULL and the return value is wxACC\_OK, this means that the child is a
       simple element and not an accessible object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetChildCount">
    <function type="virtual wxAccStatus" name="GetChildCount">
     <parameters>
      <parameter type="int&#42; " name="childCount"></parameter>
     </parameters>
     <description>
      <p>
       Returns the number of children in
       <i> childCount</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetDefaultAction">
    <function type="virtual wxAccStatus" name="GetDefaultAction">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxString&#42; " name="actionName"></parameter>
     </parameters>
     <description>
      <p>
       Gets the default action for this object (0) or a child (greater than 0).
       Return wxACC\_OK even if there is no action.
       <i> actionName</i>
       is the action, or the empty string if there is no action. The retrieved
       string describes the action that is performed on an object, not what the
       object does as a result. For example, a toolbar button that prints a
       document has a default action of &quot;Press&quot; rather than
       &quot;Prints the current document.&quot;
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetDescription">
    <function type="virtual wxAccStatus" name="GetDescription">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxString&#42; " name="description"></parameter>
     </parameters>
     <description>
      <p>
       Returns the description for this object or a child.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetFocus">
    <function type="virtual wxAccStatus" name="GetFocus">
     <parameters>
      <parameter type="int&#42; " name="childId"></parameter>
      <parameter type="wxAccessible&#42;&#42; " name="child"></parameter>
     </parameters>
     <description>
      <p>
       Gets the window with the keyboard focus. If childId is 0 and child is
       NULL, no object in this subhierarchy has the focus. If this object has
       the focus, child should be 'this'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetHelpText">
    <function type="virtual wxAccStatus" name="GetHelpText">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxString&#42; " name="helpText"></parameter>
     </parameters>
     <description>
      <p>
       Returns help text for this object or a child, similar to tooltip text.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetKeyboardShortcut">
    <function type="virtual wxAccStatus" name="GetKeyboardShortcut">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxString&#42; " name="shortcut"></parameter>
     </parameters>
     <description>
      <p>
       Returns the keyboard shortcut for this object or child. Return e.g.
       ALT+K.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetLocation">
    <function type="virtual wxAccStatus" name="GetLocation">
     <parameters>
      <parameter type="wxRect&amp; " name="rect"></parameter>
      <parameter type="int " name="elementId"></parameter>
     </parameters>
     <description>
      <p>
       Returns the rectangle for this object (id is 0) or a child element (id is
       greater than 0).
       <i> rect</i>
       is in screen coordinates.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetName">
    <function type="virtual wxAccStatus" name="GetName">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxString&#42; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Gets the name of the specified object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetParent">
    <function type="virtual wxAccStatus" name="GetParent">
     <parameters>
      <parameter type="wxAccessible&#42;&#42; " name="parent"></parameter>
     </parameters>
     <description>
      <p>
       Returns the parent of this object, or NULL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetRole">
    <function type="virtual wxAccStatus" name="GetRole">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxAccRole&#42; " name="role"></parameter>
     </parameters>
     <description>
      <p>
       Returns a role constant describing this object. See
       <ref target="wxaccessible">wxAccessible</ref>
       for a list of these roles.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetSelections">
    <function type="virtual wxAccStatus" name="GetSelections">
     <parameters>
      <parameter type="wxVariant&#42; " name="selections"></parameter>
     </parameters>
     <description>
      <p>
       Gets a variant representing the selected children of this object.
      </p>
      <p>
       Acceptable values are:
      </p>
      <p>
       <ul>
        <li>a null variant (IsNull() returns TRUE)</li>
        <li>a list variant (GetType() == wxT(&quot;list&quot;))</li>
        <li>an integer representing the selected child element, or 0 if this object is
         selected (GetType() == wxT(&quot;long&quot;))</li>
        <li>a &quot;void&#42;&quot; pointer to a wxAccessible child object</li>
       </ul>
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetState">
    <function type="virtual wxAccStatus" name="GetState">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="long&#42; " name="state"></parameter>
     </parameters>
     <description>
      <p>
       Returns a state constant. See
       <ref target="wxaccessible">wxAccessible</ref>
       for a list of these states.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetValue">
    <function type="virtual wxAccStatus" name="GetValue">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxString&#42; " name="strValue"></parameter>
     </parameters>
     <description>
      <p>
       Returns a localized string representing the value for the object or
       child.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="GetWindow">
    <function type="wxWindow&#42;" name="GetWindow">
     <description>
      <p>
       Returns the window associated with this object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="HitTest">
    <function type="virtual wxAccStatus" name="HitTest">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
      <parameter type="int&#42; " name="childId"></parameter>
      <parameter type="wxAccessible&#42;&#42; " name="childObject"></parameter>
     </parameters>
     <description>
      <p>
       Returns a status value and object id to indicate whether the given point
       was on this or a child object. Can return either a child object, or an
       integer representing the child element, starting from 1.
      </p>
      <p>
       <i> pt</i>
       is in screen coordinates.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="Navigate">
    <function type="virtual wxAccStatus" name="Navigate">
     <parameters>
      <parameter type="wxNavDir " name="navDir"></parameter>
      <parameter type="int " name="fromId"></parameter>
      <parameter type="int&#42; " name="toId"></parameter>
      <parameter type="wxAccessible&#42;&#42; " name="toObject"></parameter>
     </parameters>
     <description>
      <p>
       Navigates from
       <i> fromId</i>
       to
       <i> toId</i>
       /
       <i> toObject</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="NotifyEvent">
    <function type="virtual static void" name="NotifyEvent">
     <parameters>
      <parameter type="int " name="eventType"></parameter>
      <parameter type="wxWindow&#42; " name="window"></parameter>
      <parameter type="wxAccObject " name="objectType"></parameter>
      <parameter type="int " name="objectType"></parameter>
     </parameters>
     <description>
      <p>
       Allows the application to send an event when something changes in an
       accessible object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="Select">
    <function type="virtual wxAccStatus" name="Select">
     <parameters>
      <parameter type="int " name="childId"></parameter>
      <parameter type="wxAccSelectionFlags " name="selectFlags"></parameter>
     </parameters>
     <description>
      <p>
       Selects the object or child. See
       <ref target="wxaccessible">wxAccessible</ref>
       for a list of the selection actions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAccessible" name="SetWindow">
    <function type="void" name="SetWindow">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
     </parameters>
     <description>
      <p>
       Sets the window associated with this object.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxActivateEvent">
  <description>
   <p class="classdesc">
    An activate event is sent when a window or application is being activated or
    deactivated.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A window or application activation event</shortdesc>
  <remarks>
   <p>
    A top-level window (a dialog or frame) receives an activate event when is
    being activated or deactivated. This is indicated visually by the title bar
    changing colour, and a subwindow gaining the keyboard focus.
   </p>
   <p>
    An application is activated or deactivated when one of its frames becomes
    activated, or a frame becomes inactivate resulting in all application frames
    being inactive. (Windows only)
   </p>
   <p>
    Please note that usually you should call
    <ref target="wxeventskip">event.Skip()</ref>
    in your handlers for these events as not doing so can result in strange
    effects.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_ACTIVATE(func)">Process a wxEVT\_ACTIVATE event.</event>
   <event name="EVT\_ACTIVATE\_APP(func)">Process a wxEVT\_ACTIVATE\_APP event.</event>
   <event name="EVT\_HIBERNATE(func)">Process a hibernate event, supplying the member function.
This event applies to wxApp only, and only on Windows SmartPhone and PocketPC. It is generated when the
system is low on memory; the application should free up as much memory as possible, and restore
full working when it receives a wxEVT\_ACTIVATE or wxEVT\_ACTIVATE\_APP event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
   ,
   <ref target="wxappisactive">wxApp::IsActive</ref>
  </seealso>
  <members>
   <member class="wxActivateEvent" name="wxActivateEvent">
    <function type="" name="wxActivateEvent">
     <parameters>
      <parameter type="WXTYPE " name="eventType" value="0"></parameter>
      <parameter type="bool " name="active" value="true"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxActivateEvent" name="GetActive">
    <function type="bool" name="GetActive" suffix="const">
     <description>
      <p>
       Returns true if the application or window is being activated, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxApp">
  <description>
   <p class="classdesc">
    The
    <b> wxApp</b>
    class represents the application itself. It is used to:
   </p>
   <p class="classdesc">
    <ul>
     <li>set and get application-wide properties;</li>
     <li>implement the windowing system message or event loop;</li>
     <li>initiate application processing via
      <ref target="wxapponinit">wxApp::OnInit</ref>
      ;</li>
     <li>allow default processing of events not handled by other objects in the
      application.</li>
    </ul>
   </p>
   <p class="classdesc">
    You should use the macro IMPLEMENT\_APP(appClass) in your application
    implementation file to tell wxWidgets how to create an instance of your
    application class.
   </p>
   <p class="classdesc">
    Use DECLARE\_APP(appClass) in a header file if you want the wxGetApp function
    (which returns a reference to your application object) to be visible to
    other files.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Application class</shortdesc>
  <parents>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/app.h"/>
  </includes>
  <seealso>
   <ref target="wxappoverview">wxApp overview</ref>
  </seealso>
  <members>
   <member class="wxApp" name="wxApp">
    <function type="" name="wxApp">
     <description>
      <p>
       Constructor. Called implicitly with a definition of a wxApp object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="~wxApp">
    <function type="" name="~wxApp">
     <description>
      <p>
       Destructor. Will be called implicitly on program exit if the wxApp object
       is created on the stack.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="argc"></member>
   <member class="wxApp" name="argv"></member>
   <member class="wxApp" name="CreateLogTarget">
    <function type="virtual wxLog&#42;" name="CreateLogTarget">
     <seealso>
      <ref target="wxlog">wxLog</ref>
     </seealso>
     <description>
      <p>
       Creates a wxLog class for the application to use for logging errors. The
       default implementation returns a new wxLogGui class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="Dispatch">
    <function type="virtual void" name="Dispatch">
     <seealso>
      <ref target="wxapppending">wxApp::Pending</ref>
     </seealso>
     <description>
      <p>
       Dispatches the next event in the windowing system event queue.
      </p>
      <p>
       This can be used for programming event loops, e.g.
      </p>
      <pre>
  while (app.Pending())
    Dispatch();
</pre>
     </description>
    </function>
   </member>
   <member class="wxApp" name="ExitMainLoop">
    <function type="virtual void" name="ExitMainLoop">
     <description>
      <p>
       Call this to explicitly exit the main message (event) loop. You should
       normally exit the main loop (and the application) by deleting the top
       window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="FilterEvent">
    <function type="int" name="FilterEvent">
     <parameters>
      <parameter type="wxEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       This function is called before processing any event and allows the
       application to preempt the processing of some events. If this method
       returns $-1$ the event is processed normally, otherwise either
       <tt> true</tt>
       or
       <tt> false</tt>
       should be returned and the event processing stops immediately considering
       that the event had been already processed (for the former return value)
       or that it is not going to be processed at all (for the latter one).
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetAppName">
    <function type="wxString" name="GetAppName" suffix="const">
     <remarks>
      <p>
       wxWidgets sets this to a reasonable default before calling
       <ref target="wxapponinit">wxApp::OnInit</ref>
       , but the application can reset it at will.
      </p>
     </remarks>
     <description>
      <p>
       Returns the application name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetClassName">
    <function type="wxString" name="GetClassName" suffix="const">
     <seealso>
      <ref target="wxappsetclassname">wxApp::SetClassName</ref>
     </seealso>
     <description>
      <p>
       Gets the class name of the application. The class name may be used in a
       platform specific manner to refer to the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetExitOnFrameDelete">
    <function type="bool" name="GetExitOnFrameDelete" suffix="const">
     <seealso>
      <ref target="wxappsetexitonframedelete">wxApp::SetExitOnFrameDelete</ref>
      ,
      <br/>
      <ref target="wxappshutdownoverview">wxApp shutdown overview</ref>
     </seealso>
     <description>
      <p>
       Returns true if the application will exit when the top-level window is
       deleted, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetInstance">
    <function type="static wxAppConsole &#42;" name="GetInstance">
     <seealso>
      <ref target="wxappsetinstance">wxApp::SetInstance</ref>
     </seealso>
     <description>
      <p>
       Returns the one and only global application object. Usually
       <tt>wxTheApp</tt>
       is usead instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetTopWindow">
    <function type="virtual wxWindow &#42;" name="GetTopWindow" suffix="const">
     <seealso>
      <ref target="wxappsettopwindow">SetTopWindow</ref>
     </seealso>
     <remarks>
      <p>
       If the top window hasn't been set using
       <ref target="wxappsettopwindow">wxApp::SetTopWindow</ref>
       , this function will find the first top-level window (frame or dialog)
       and return that.
      </p>
     </remarks>
     <description>
      <p>
       Returns a pointer to the top window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetUseBestVisual">
    <function type="bool" name="GetUseBestVisual" suffix="const">
     <seealso>
      <ref target="wxappsetusebestvisual">SetUseBestVisual</ref>
     </seealso>
     <description>
      <p>
       Returns true if the application will use the best visual on systems that
       support different visuals, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="GetVendorName">
    <function type="wxString" name="GetVendorName" suffix="const">
     <description>
      <p>
       Returns the application's vendor name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="IsActive">
    <function type="bool" name="IsActive" suffix="const">
     <description>
      <p>
       Returns true if the application is active, i.e. if one of its windows is
       currently in the foreground. If this function returns false and you need
       to attract users attention to the application, you may use
       <ref target="wxtoplevelwindowrequestuserattention">wxTopLevelWindow::RequestUserAttention</ref>
       to do it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="IsMainLoopRunning">
    <function type="static bool" name="IsMainLoopRunning">
     <description>
      <p>
       Returns true if the main event loop is currently running, i.e. if the
       application is inside
       <ref target="wxapponrun">OnRun</ref>
       .
      </p>
      <p>
       This can be useful to test whether the events can be dispatched. For
       example, if this function returns false, non-blocking sockets cannot be
       used because the events from them would never be processed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="MainLoop">
    <function type="virtual int" name="MainLoop">
     <returnvalue>
      Returns 0 under X, and the wParam of the WM\_QUIT message under Windows.
     </returnvalue>
     <description>
      <p>
       Called by wxWidgets on creation of the application. Override this if you
       wish to provide your own (environment-dependent) main loop.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnAssert" needdefine="\_\_WXDEBUG\_\_">
    <function type="void" name="OnAssert">
     <parameters>
      <parameter type="const wxChar &#42;" name="file">
       the name of the source file where the assert occurred
      </parameter>
      <parameter type="int " name="line">
       the line number in this file where the assert occurred
      </parameter>
      <parameter type="const wxChar &#42;" name="cond">
       the condition of the failed assert in string form
      </parameter>
      <parameter type="const wxChar &#42;" name="msg">
       the message specified as argument to
       <ref target="wxassertmsg">wxASSERT\_MSG</ref>
       or
       <ref target="wxfailmsg">wxFAIL\_MSG</ref>
       , will be
       <tt> NULL</tt>
       if just
       <ref target="wxassert">wxASSERT</ref>
       or
       <ref target="wxfail">wxFAIL</ref>
       was used
      </parameter>
     </parameters>
     <description>
      <p>
       This function is called when an assert failure occurs, i.e. the condition
       specified in
       <ref target="wxassert">wxASSERT</ref>
       macro evaluated to
       <tt> false</tt>
       . It is only called in debug mode (when
       <tt> \_\_WXDEBUG\_\_</tt>
       is defined) as asserts are not left in the release code at all.
      </p>
      <p>
       The base class version show the default assert failure dialog box
       proposing to the user to stop the program, continue or ignore all
       subsequent asserts.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnCmdLineError">
    <function type="bool" name="OnCmdLineError">
     <parameters>
      <parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
     </parameters>
     <seealso>
      <ref target="wxapponinitcmdline">OnInitCmdLine</ref>
     </seealso>
     <description>
      <p>
       Called when command line parsing fails (i.e. an incorrect command line
       option was specified by the user). The default behaviour is to show the
       program usage text and abort the program.
      </p>
      <p>
       Return
       <tt> true</tt>
       to continue normal execution or
       <tt> false</tt>
       to return
       <tt> false</tt>
       from
       <ref target="wxapponinit">OnInit</ref>
       thus terminating the program.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnCmdLineHelp">
    <function type="bool" name="OnCmdLineHelp">
     <parameters>
      <parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
     </parameters>
     <seealso>
      <ref target="wxapponinitcmdline">OnInitCmdLine</ref>
     </seealso>
     <description>
      <p>
       Called when the help option (
       <tt> --help</tt>
       ) was specified on the command line. The default behaviour is to show the
       program usage text and abort the program.
      </p>
      <p>
       Return
       <tt> true</tt>
       to continue normal execution or
       <tt> false</tt>
       to return
       <tt> false</tt>
       from
       <ref target="wxapponinit">OnInit</ref>
       thus terminating the program.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnCmdLineParsed">
    <function type="bool" name="OnCmdLineParsed">
     <parameters>
      <parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
     </parameters>
     <seealso>
      <ref target="wxapponinitcmdline">OnInitCmdLine</ref>
     </seealso>
     <description>
      <p>
       Called after the command line had been successfully parsed. You may
       override this method to test for the values of the various parameters
       which could be set from the command line.
      </p>
      <p>
       Don't forget to call the base class version unless you want to suppress
       processing of the standard command line options.
      </p>
      <p>
       Return
       <tt> true</tt>
       to continue normal execution or
       <tt> false</tt>
       to return
       <tt> false</tt>
       from
       <ref target="wxapponinit">OnInit</ref>
       thus terminating the program.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnExceptionInMainLoop">
    <function type="virtual bool" name="OnExceptionInMainLoop">
     <description>
      <p>
       This function is called if an unhandled exception occurs inside the main
       application event loop. It can return true to ignore the exception and to
       continue running the loop or false to exit the loop and terminate the
       program. In the latter case it can also use C++
       <tt>throw</tt>
       keyword to rethrow the current exception.
      </p>
      <p>
       The default behaviour of this function is the latter in all ports except
       under Windows where a dialog is shown to the user which allows him to
       choose between the different options. You may override this function in
       your class to do something more appropriate.
      </p>
      <p>
       Finally note that if the exception is rethrown from here, it can be
       caught in
       <ref target="wxapponunhandledexception">OnUnhandledException</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnExit">
    <function type="virtual int" name="OnExit">
     <description>
      <p>
       Override this member function for any processing which needs to be done
       as the application is about to exit. OnExit is called after destroying
       all application windows and controls, but before wxWidgets cleanup. Note
       that it is not called at all if
       <ref target="wxapponinit">OnInit</ref>
       failed.
      </p>
      <p>
       The return value of this function is currently ignored, return the same
       value as returned by the base class method if you override it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnFatalException">
    <function type="void" name="OnFatalException">
     <seealso>
      <ref target="wxhandlefatalexceptions">wxHandleFatalExceptions</ref>
     </seealso>
     <description>
      <p>
       This function may be called if something fatal happens: an unhandled
       exception under Win32 or a a fatal signal under Unix, for example.
       However, this will not happen by default: you have to explicitly call
       <ref target="wxhandlefatalexceptions">wxHandleFatalExceptions</ref>
       to enable this.
      </p>
      <p>
       Generally speaking, this function should only show a message to the user
       and return. You may attempt to save unsaved data but this is not
       guaranteed to work and, in fact, probably won't.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnInit">
    <function type="bool" name="OnInit">
     <description>
      <p>
       This must be provided by the application, and will usually create the
       application's main window, optionally calling
       <ref target="wxappsettopwindow">wxApp::SetTopWindow</ref>
       . You may use
       <ref target="wxapponexit">OnExit</ref>
       to clean up anything initialized here, provided that the function returns
       true.
      </p>
      <p>
       Notice that if you want to to use the command line processing provided by
       wxWidgets you have to call the base class version in the derived class
       OnInit().
      </p>
      <p>
       Return true to continue processing, false to exit the application
       immediately.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnInitCmdLine">
    <function type="void" name="OnInitCmdLine">
     <parameters>
      <parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
     </parameters>
     <description>
      <p>
       Called from
       <ref target="wxapponinit">OnInit</ref>
       and may be used to initialize the parser with the command line options
       for this application. The base class versions adds support for a few
       standard options only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnRun">
    <function type="virtual int" name="OnRun">
     <description>
      <p>
       This virtual function is where the execution of a program written in
       wxWidgets starts. The default implementation just enters the main loop
       and starts handling the events until it terminates, either because
       <ref target="wxappexitmainloop">ExitMainLoop</ref>
       has been explicitly called or because the last frame has been deleted and
       <ref target="wxappgetexitonframedelete">GetExitOnFrameDelete</ref>
       flag is true (this is the default).
      </p>
      <p>
       The return value of this function becomes the exit code of the program,
       so it should return 0 in case of successful termination.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="OnUnhandledException">
    <function type="virtual void" name="OnUnhandledException">
     <description>
      <p>
       This function is called when an unhandled C++ exception occurs inside
       <ref target="wxapponrun">OnRun()</ref>
       (the exceptions which occur during the program startup and shutdown might
       not be caught at all). Note that the exception type is lost by now, so if
       you want to really handle the exception you should override
       <ref target="wxapponrun">OnRun()</ref>
       and put a try/catch clause around the call to the base class version
       there.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="ProcessMessage">
    <function type="bool" name="ProcessMessage" specific="msw">
     <parameters>
      <parameter type="WXMSG &#42;" name="msg"></parameter>
     </parameters>
     <description>
      <p>
       Windows-only function for processing a message. This function is called
       from the main message loop, checking for windows that may wish to process
       it. The function returns true if the message was processed, false
       otherwise. If you use wxWidgets with another class library with its own
       message loop, you should make sure that this function is called to allow
       wxWidgets to receive messages. For example, to allow co-existence with
       the Microsoft Foundation Classes, override the PreTranslateMessage
       function:
      </p>
      <pre>
// Provide wxWidgets message loop compatibility
BOOL CTheApp::PreTranslateMessage(MSG &#42;msg)
\{
  if (wxTheApp &amp;&amp; wxTheApp-&gt;ProcessMessage((WXMSW &#42;)msg))
    return true;
  else
    return CWinApp::PreTranslateMessage(msg);
\}
</pre>
     </description>
    </function>
   </member>
   <member class="wxApp" name="Pending">
    <function type="virtual bool" name="Pending">
     <seealso>
      <ref target="wxappdispatch">wxApp::Dispatch</ref>
     </seealso>
     <description>
      <p>
       Returns true if unprocessed events are in the window system event queue.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SendIdleEvents">
    <function type="bool" name="SendIdleEvents">
     <parameters>
      <parameter type="wxWindow&#42; " name="win"></parameter>
      <parameter type="wxIdleEvent&amp; " name="event"></parameter>
     </parameters>
     <seealso>
      <ref target="wxidleevent">wxIdleEvent</ref>
     </seealso>
     <remarks>
      <p>
       These functions poll the top-level windows, and their children, for idle
       event processing. If true is returned, more OnIdle processing is
       requested by one or more window.
      </p>
     </remarks>
     <description>
      <p>
       Sends idle events to a window and its children.
      </p>
      <p>
       Please note that this function is internal to wxWidgets and shouldn't be
       used by user code.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SetAppName">
    <function type="void" name="SetAppName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wxappgetappname">wxApp::GetAppName</ref>
     </seealso>
     <description>
      <p>
       Sets the name of the application. The name may be used in dialogs (for
       example by the document/view framework). A default name is set by
       wxWidgets.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SetClassName">
    <function type="void" name="SetClassName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wxappgetclassname">wxApp::GetClassName</ref>
     </seealso>
     <description>
      <p>
       Sets the class name of the application. This may be used in a platform
       specific manner to refer to the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SetExitOnFrameDelete">
    <function type="void" name="SetExitOnFrameDelete">
     <parameters>
      <parameter type="bool " name="flag">
       If true (the default), the application will exit when the top-level frame
       is deleted. If false, the application will continue to run.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxappgetexitonframedelete">wxApp::GetExitOnFrameDelete</ref>
      ,
      <br/>
      <ref target="wxappshutdownoverview">wxApp shutdown overview</ref>
     </seealso>
     <description>
      <p>
       Allows the programmer to specify whether the application will exit when
       the top-level frame is deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SetInstance">
    <function type="static void" name="SetInstance">
     <parameters>
      <parameter type="wxAppConsole&#42; " name="app">
       Replacement for the global application object.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxappgetinstance">wxApp::GetInstance</ref>
     </seealso>
     <description>
      <p>
       Allows external code to modify global
       <tt>wxTheApp</tt>
       , but you should really know what you're doing if you call it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SetTopWindow">
    <function type="void" name="SetTopWindow">
     <parameters>
      <parameter type="wxWindow&#42; " name="window">
       The new top window.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxappgettopwindow">wxApp::GetTopWindow</ref>
      <ref target="wxapponinit">wxApp::OnInit</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxApp" name="SetVendorName">
    <function type="void" name="SetVendorName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wxappgetvendorname">wxApp::GetVendorName</ref>
     </seealso>
     <description>
      <p>
       Sets the name of application's vendor. The name will be used in registry
       access. A default name is set by wxWidgets.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="SetUseBestVisual">
    <function type="void" name="SetUseBestVisual">
     <parameters>
      <parameter type="bool " name="flag">
       If true, the app will use the best visual.
      </parameter>
     </parameters>
     <description>
      <p>
       Allows the programmer to specify whether the application will use the
       best visual on systems that support several visual on the same display.
       This is typically the case under Solaris and IRIX, where the default
       visual is only 8-bit whereas certain applications are supposed to run in
       TrueColour mode.
      </p>
      <p>
       Note that this function has to be called in the constructor of the
       <tt> wxApp</tt>
       instance and won't have any effect when called later on.
      </p>
      <p>
       This function currently only has effect under GTK.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="HandleEvent">
    <function type="virtual void" name="HandleEvent" suffix="const">
     <parameters>
      <parameter type="wxEvtHandler &#42;" name="handler"></parameter>
      <parameter type="wxEventFunction " name="func"></parameter>
      <parameter type="wxEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       This function simply invokes the given method
       <i>func</i>
       of the specified event handler
       <i>handler</i>
       with the
       <i>event</i>
       as parameter. It exists solely to allow to catch the C++ exceptions which
       could be thrown by all event handlers in the application in one place: if
       you want to do this, override this function in your wxApp-derived class
       and add try/catch clause(s) to it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxApp" name="Yield">
    <function type="bool" name="Yield">
     <parameters>
      <parameter type="bool " name="onlyIfNeeded" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Yields control to pending messages in the windowing system. This can be
       useful, for example, when a time-consuming process writes to a text
       window. Without an occasional yield, the text window will not be updated
       properly, and on systems with cooperative multitasking, such as Windows
       3.1 other processes will not respond.
      </p>
      <p>
       Caution should be exercised, however, since yielding may allow the user
       to perform actions which are not compatible with the current task.
       Disabling menu items or whole menus during processing can avoid unwanted
       reentrance of code: see
       <ref target="wxsafeyield">::wxSafeYield</ref>
       for a better function.
      </p>
      <p>
       Note that Yield() will not flush the message logs. This is intentional as
       calling Yield() is usually done to quickly update the screen and popping
       up a message box dialog may be undesirable. If you do wish to flush the
       log messages immediately (otherwise it will be done during the next idle
       loop iteration), call
       <ref target="wxlogflushactive">wxLog::FlushActive</ref>
       .
      </p>
      <p>
       Calling Yield() recursively is normally an error and an assert failure is
       raised in debug build if such situation is detected. However if the
       <i> onlyIfNeeded</i>
       parameter is
       <tt> true</tt>
       , the method will just silently return
       <tt> false</tt>
       instead.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxArchiveClassFactory" annotation="abstract">
  <description>
   <p class="classdesc">
    An abstract base class which serves as a common interface to archive class
    factories such as
    <ref target="wxzipclassfactory">wxZipClassFactory</ref>
    .
   </p>
   <p class="classdesc">
    For each supported archive type (such as zip) there is a class factory
    derived from wxArchiveClassFactory, which allows archive objects to be
    created in a generic way, without knowing the particular type of archive
    being used.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/archive.h"/>
  </includes>
  <seealso>
   <ref target="wxarc">Archive formats such as zip</ref>
   <br/>
   <ref target="wxarcgeneric">Generic archive programming</ref>
   <br/>
   <ref target="wxarchiveentry">wxArchiveEntry</ref>
   <br/>
   <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
   <br/>
   <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
  </seealso>
  <members>
   <member class="wxArchiveClassFactory" name="Get/SetConv">
    <function type="wxMBConv&amp;" name="GetConv" suffix="const">
     <description></description>
    </function>
    <function type="void" name="SetConv">
     <parameters>
      <parameter type="wxMBConv&amp; " name="conv"></parameter>
     </parameters>
     <description>
      <p>
       The
       <ref target="wxmbconv">wxMBConv</ref>
       object that the created streams will use when translating meta-data. The
       initial default, set by the constructor, is wxConvLocal.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveClassFactory" name="GetInternalName">
    <function type="wxString" name="GetInternalName" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Calls the static GetInternalName() function for the archive entry type,
       for example
       <ref target="wxzipentrygetinternalname">wxZipEntry::GetInternalName()</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveClassFactory" name="NewEntry">
    <function type="wxArchiveEntry&#42;" name="NewEntry" suffix="const">
     <description>
      <p>
       Create a new
       <ref target="wxarchiveentry">wxArchiveEntry</ref>
       object of the appropriate type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveClassFactory" name="NewStream">
    <function type="wxArchiveInputStream&#42;" name="NewStream" suffix="const">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxArchiveOutputStream&#42;" name="NewStream" suffix="const">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Create a new
       <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
       or
       <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
       of the appropriate type.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxArchiveEntry" annotation="abstract">
  <description>
   <p class="classdesc">
    An abstract base class which serves as a common interface to archive entry
    classes such as
    <ref target="wxzipentry">wxZipEntry</ref>
    . These hold the meta-data (filename, timestamp, etc.), for entries in
    archive files such as zips and tars.
   </p>
   <p class="classdesc">
    <heading>Non-seekable streams</heading>
   </p>
   <p class="classdesc">
    This information applies only when reading archives from non-seekable
    streams. When the stream is seekable
    <ref target="wxarchiveinputstreamgetnextentry">GetNextEntry()</ref>
    returns a fully populated
    <ref target="wxarchiveentry">wxArchiveEntry</ref>
    . See '
    <ref target="wxarcnoseek">Archives on non-seekable streams</ref>
    ' for more information.
   </p>
   <p class="classdesc">
    For generic programming, when the worst case must be assumed, you can rely
    on all the fields of wxArchiveEntry being fully populated when
    GetNextEntry() returns, with the the following exceptions:
   </p>
   <p class="classdesc">
    <table>
     <tr>
      <td>
       <ref target="wxarchiveentrysize">GetSize()</ref>
      </td>
      <td>Guaranteed to be
available after the entry has been read to <ref target="wxinputstreameof">Eof()</ref>,
or <ref target="wxarchiveinputstreamcloseentry">CloseEntry()</ref> has been called</td>
     </tr>
     <tr>
      <td>
       <ref target="wxarchiveentryisreadonly">IsReadOnly()</ref>
      </td>
      <td>Guaranteed to
be available after the end of the archive has been reached, i.e. after
GetNextEntry() returns NULL and Eof() is true</td>
     </tr>
    </table>
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/archive.h"/>
  </includes>
  <seealso>
   <ref target="wxarc">Archive formats such as zip</ref>
   <br/>
   <ref target="wxarcgeneric">Generic archive programming</ref>
   <br/>
   <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
   <br/>
   <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
   <br/>
   <ref target="wxarchivenotifier">wxArchiveNotifier</ref>
  </seealso>
  <members>
   <member class="wxArchiveEntry" name="Clone">
    <function type="wxArchiveEntry&#42;" name="Clone" suffix="const">
     <description>
      <p>
       Returns a copy of this entry object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="Get/SetDateTime">
    <function type="wxDateTime" name="GetDateTime" suffix="const">
     <description></description>
    </function>
    <function type="void" name="SetDateTime">
     <parameters>
      <parameter type="const wxDateTime&amp; " name="dt"></parameter>
     </parameters>
     <description>
      <p>
       The entry's timestamp.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="GetInternalFormat">
    <function type="wxPathFormat" name="GetInternalFormat" suffix="const">
     <description>
      <p>
       Returns the path format used internally within the archive to store
       filenames.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="GetInternalName">
    <function type="wxString" name="GetInternalName" suffix="const">
     <seealso>
      <ref target="wxarcbyname">Looking up an archive entry by name</ref>
     </seealso>
     <description>
      <p>
       Returns the entry's filename in the internal format used within the
       archive. The name can include directory components, i.e. it can be a full
       path.
      </p>
      <p>
       The names of directory entries are returned without any trailing path
       separator. This gives a canonical name that can be used in comparisons.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="Get/SetName">
    <function type="wxString" name="GetName" suffix="const">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       The entry's name, by default in the native format. The name can include
       directory components, i.e. it can be a full path.
      </p>
      <p>
       If this is a directory entry, (i.e. if
       <ref target="wxarchiveentryisdir">IsDir()</ref>
       is true) then GetName() returns the name with a trailing path separator.
      </p>
      <p>
       Similarly, setting a name with a trailing path separator sets IsDir().
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="GetOffset">
    <function type="off\_t" name="GetOffset" suffix="const">
     <description>
      <p>
       Returns a numeric value unique to the entry within the archive.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="Get/SetSize">
    <function type="off\_t" name="GetSize" suffix="const">
     <description></description>
    </function>
    <function type="void" name="SetSize">
     <parameters>
      <parameter type="off\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       The size of the entry's data in bytes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="IsDir/SetIsDir">
    <function type="bool" name="IsDir" suffix="const">
     <description></description>
    </function>
    <function type="void" name="SetIsDir">
     <parameters>
      <parameter type="bool " name="isDir" value="true"></parameter>
     </parameters>
     <description>
      <p>
       True if this is a directory entry.
      </p>
      <p>
       Directory entries are entries with no data, which are used to store the
       meta-data of directories. They also make it possible for completely empty
       directories to be stored.
      </p>
      <p>
       The names of entries within an archive can be complete paths, and
       unarchivers typically create whatever directories are necessary as they
       restore files, even if the archive contains no explicit directory
       entries.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="IsReadOnly/SetIsReadOnly">
    <function type="bool" name="IsReadOnly" suffix="const">
     <description></description>
    </function>
    <function type="void" name="SetIsReadOnly">
     <parameters>
      <parameter type="bool " name="isReadOnly" value="true"></parameter>
     </parameters>
     <description>
      <p>
       True if the entry is a read-only file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveEntry" name="Set/UnsetNotifier">
    <function type="void" name="SetNotifier">
     <parameters>
      <parameter type="wxArchiveNotifier&amp; " name="notifier"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="UnsetNotifier">
     <seealso>
      <ref target="wxarcnoseek">Archives on non-seekable streams</ref>
      <br/>
      <ref target="wxarchivenotifier">wxArchiveNotifier</ref>
     </seealso>
     <description>
      <p>
       Sets the
       <ref target="wxarchivenotifier">notifier</ref>
       for this entry. Whenever the
       <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
       updates this entry, it will then invoke the associated notifier's
       <ref target="wxarchivenotifieronentryupdated">OnEntryUpdated</ref>
       method.
      </p>
      <p>
       Setting a notifier is not usually necessary. It is used to handle certain
       cases when modifying an archive in a pipeline (i.e. between non-seekable
       streams).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxArchiveInputStream">
  <description>
   <p class="classdesc">
    An abstract base class which serves as a common interface to archive input
    streams such as
    <ref target="wxzipinputstream">wxZipInputStream</ref>
    .
   </p>
   <p class="classdesc">
    <ref target="wxarchiveinputstreamgetnextentry">GetNextEntry()</ref>
    returns an
    <ref target="wxarchiveentry">wxArchiveEntry</ref>
    object containing the meta-data for the next entry in the archive (and gives
    away ownership). Reading from the wxArchiveInputStream then returns the
    entry's data. Eof() becomes true after an attempt has been made to read past
    the end of the entry's data. When there are no more entries, GetNextEntry()
    returns NULL and sets Eof().
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxFilterInputStream">wxFilterInputStream</ref>
  </parents>
  <includes>
   <header name="wx/archive.h"/>
  </includes>
  <structs>
   <pre>
typedef wxArchiveEntry entry\_type
</pre>
  </structs>
  <seealso>
   <ref target="wxarc">Archive formats such as zip</ref>
   <br/>
   <ref target="wxarchiveentry">wxArchiveEntry</ref>
   <br/>
   <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
  </seealso>
  <members>
   <member class="wxArchiveInputStream" name="CloseEntry">
    <function type="bool" name="CloseEntry">
     <description>
      <p>
       Closes the current entry. On a non-seekable stream reads to the end of
       the current entry first.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveInputStream" name="GetNextEntry">
    <function type="wxArchiveEntry&#42;" name="GetNextEntry">
     <description>
      <p>
       Closes the current entry if one is open, then reads the meta-data for the
       next entry and returns it in a
       <ref target="wxarchiveentry">wxArchiveEntry</ref>
       object, giving away ownership. Reading this wxArchiveInputStream then
       returns the entry's data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveInputStream" name="OpenEntry">
    <function type="bool" name="OpenEntry">
     <parameters>
      <parameter type="wxArchiveEntry&amp; " name="entry"></parameter>
     </parameters>
     <seealso>
      <ref target="wxarcbyname">Looking up an archive entry by name</ref>
     </seealso>
     <description>
      <p>
       Closes the current entry if one is open, then opens the entry specified
       by the
       <ref target="wxarchiveentry">wxArchiveEntry</ref>
       object.
      </p>
      <p>
       <i> entry</i>
       must be from the same archive file that this wxArchiveInputStream is
       reading, and it must be reading it from a seekable stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxArchiveIterator" needdefine="wxUSE\_STL">
  <description>
   <p class="classdesc">
    An input iterator template class that can be used to transfer an archive's
    catalogue to a container. It is only available if wxUSE\_STL is set to 1 in
    setup.h, and the uses for it outlined below require a compiler which
    supports member templates.
   </p>
   <p class="classdesc">
    <pre>
template &lt;class Arc, class T = typename Arc::entry\_type&#42;&gt;
class wxArchiveIterator
\{
    // this constructor creates an 'end of sequence' object
    wxArchiveIterator();

    // template parameter 'Arc' should be the type of an archive input stream
    wxArchiveIterator(Arc&amp; arc) \{

    /&#42; ... &#42;/
\};

</pre>
   </p>
   <p class="classdesc">
    The first template parameter should be the type of archive input stream
    (e.g.
    <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
    ) and the second can either be a pointer to an entry (e.g.
    <ref target="wxarchiveentry">wxArchiveEntry</ref>
    &#42;), or a string/pointer pair (e.g. std::pair&lt;wxString,
    wxArchiveEntry&#42;&gt;).
   </p>
   <p class="classdesc">
    The
    <tt> &lt;wx/archive.h&gt;</tt>
    header defines the following typedefs:
   </p>
   <p class="classdesc">
    <pre>
    typedef wxArchiveIterator&lt;wxArchiveInputStream&gt; wxArchiveIter;

    typedef wxArchiveIterator&lt;wxArchiveInputStream,
             std::pair&lt;wxString, wxArchiveEntry&#42;&gt; &gt; wxArchivePairIter;

</pre>
   </p>
   <p class="classdesc">
    The header for any implementation of this interface should define similar
    typedefs for its types, for example in
    <tt> &lt;wx/zipstrm.h&gt;</tt>
    there is:
   </p>
   <p class="classdesc">
    <pre>
    typedef wxArchiveIterator&lt;wxZipInputStream&gt; wxZipIter;

    typedef wxArchiveIterator&lt;wxZipInputStream,
             std::pair&lt;wxString, wxZipEntry&#42;&gt; &gt; wxZipPairIter;

</pre>
   </p>
   <p class="classdesc">
    Transferring the catalogue of an archive
    <i> arc</i>
    to a vector
    <i> cat</i>
    , can then be done something like this:
   </p>
   <p class="classdesc">
    <pre>
    std::vector&lt;wxArchiveEntry&#42;&gt; cat((wxArchiveIter)arc, wxArchiveIter());

</pre>
   </p>
   <p class="classdesc">
    When the iterator is dereferenced, it gives away ownership of an entry
    object. So in the above example, when you have finished with
    <i> cat</i>
    you must delete the pointers it contains.
   </p>
   <p class="classdesc">
    If you have smart pointers with normal copy semantics (i.e. not auto\_ptr or
    <ref target="wxscopedptr">wxScopedPtr</ref>
    ), then you can create an iterator which uses them instead. For example,
    with a smart pointer class for zip entries
    <i> ZipEntryPtr</i>
    :
   </p>
   <p class="classdesc">
    <pre>
    typedef std::vector&lt;ZipEntryPtr&gt; ZipCatalog;
    typedef wxArchiveIterator&lt;wxZipInputStream, ZipEntryPtr&gt; ZipIter;
    ZipCatalog cat((ZipIter)zip, ZipIter());

</pre>
   </p>
   <p class="classdesc">
    Iterators that return std::pair objects can be used to populate a
    std::multimap, to allow entries to be looked up by name. The string is
    initialised using the wxArchiveEntry object's
    <ref target="wxarchiveentrygetinternalname">GetInternalName()</ref>
    function.
   </p>
   <p class="classdesc">
    <pre>
    typedef std::multimap&lt;wxString, wxZipEntry&#42;&gt; ZipCatalog;
    ZipCatalog cat((wxZipPairIter)zip, wxZipPairIter());

</pre>
   </p>
   <p class="classdesc">
    Note that this iterator also gives away ownership of an entry object each
    time it is dereferenced. So in the above example, when you have finished
    with
    <i> cat</i>
    you must delete the pointers it contains.
   </p>
   <p class="classdesc">
    Or if you have them, a pair containing a smart pointer can be used (again
    <i> ZipEntryPtr</i>
    ), no worries about ownership:
   </p>
   <p class="classdesc">
    <pre>
    typedef std::multimap&lt;wxString, ZipEntryPtr&gt; ZipCatalog;
    typedef wxArchiveIterator&lt;wxZipInputStream,
                std::pair&lt;wxString, ZipEntryPtr&gt; &gt; ZipPairIter;
    ZipCatalog cat((ZipPairIter)zip, ZipPairIter());

</pre>
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/archive.h"/>
  </includes>
  <structs>
   <pre>
typedef std::input\_iterator\_tag iterator\_category
typedef T value\_type
typedef ptrdiff\_t difference\_type
typedef T&#42; pointer
typedef T&amp; reference
</pre>
  </structs>
  <seealso>
   <ref target="wxarchiveentry">wxArchiveEntry</ref>
   <br/>
   <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
   <br/>
   <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
  </seealso>
  <members>
   <member class="wxArchiveIterator" name="wxArchiveIterator">
    <function type="" name="wxArchiveIterator">
     <description>
      <p>
       Construct an 'end of sequence' instance.
      </p>
     </description>
    </function>
    <function type="" name="wxArchiveIterator">
     <parameters>
      <parameter type="Arc&amp; " name="arc"></parameter>
     </parameters>
     <description>
      <p>
       Construct iterator that returns all the entries in the archive input
       stream
       <i> arc</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveIterator" name="operator&#42;">
    <function type="const T&amp;" name="operator&#42;" suffix="const">
     <description>
      <p>
       Returns an entry object from the archive input stream, giving away
       ownership.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveIterator" name="operator++">
    <function type="wxArchiveIterator&amp;" name="operator++">
     <description></description>
    </function>
    <function type="wxArchiveIterator&amp;" name="operator++">
     <parameters>
      <parameter type="int" name=""></parameter>
     </parameters>
     <description>
      <p>
       Position the input iterator at the next entry in the archive input
       stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxArchiveNotifier">
  <description>
   <p class="classdesc">
    If you need to know when a
    <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
    updates a
    <ref target="wxarchiveentry">wxArchiveEntry</ref>
    object, you can create a notifier by deriving from this abstract base class,
    overriding
    <ref target="wxarchivenotifieronentryupdated">OnEntryUpdated()</ref>
    . An instance of your notifier class can then be assigned to the
    wxArchiveEntry object using
    <ref target="wxarchiveentrynotifier">wxArchiveEntry::SetNotifier()</ref>
    . Your OnEntryUpdated() method will then be invoked whenever the input
    stream updates the entry.
   </p>
   <p class="classdesc">
    Setting a notifier is not usually necessary. It is used to handle certain
    cases when modifying an archive in a pipeline (i.e. between non-seekable
    streams). See
    <ref target="wxarcnoseek">Archives on non-seekable streams</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/archive.h"/>
  </includes>
  <seealso>
   <ref target="wxarcnoseek">Archives on non-seekable streams</ref>
   <br/>
   <ref target="wxarchiveentry">wxArchiveEntry</ref>
   <br/>
   <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
   <br/>
   <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
  </seealso>
  <members>
   <member class="wxArchiveNotifier" name="OnEntryUpdated">
    <function type="void" name="OnEntryUpdated">
     <parameters>
      <parameter type="class wxArchiveEntry&amp; " name="entry"></parameter>
     </parameters>
     <description>
      <p>
       This method must be overridden in your derived class.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxArchiveOutputStream">
  <description>
   <p class="classdesc">
    An abstract base class which serves as a common interface to archive output
    streams such as
    <ref target="wxzipoutputstream">wxZipOutputStream</ref>
    .
   </p>
   <p class="classdesc">
    <ref target="wxarchiveoutputstreamputnextentry">PutNextEntry()</ref>
    is used to create a new entry in the output archive, then the entry's data
    is written to the wxArchiveOutputStream. Another call to PutNextEntry()
    closes the current entry and begins the next.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxFilterOutputStream">wxFilterOutputStream</ref>
  </parents>
  <includes>
   <header name="wx/archive.h"/>
  </includes>
  <seealso>
   <ref target="wxarc">Archive formats such as zip</ref>
   <br/>
   <ref target="wxarchiveentry">wxArchiveEntry</ref>
   <br/>
   <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
  </seealso>
  <members>
   <member class="wxArchiveOutputStream" name="~wxArchiveOutputStream">
    <function type="" name="~wxArchiveOutputStream">
     <description>
      <p>
       Calls
       <ref target="wxarchiveoutputstreamclose">Close()</ref>
       if it has not already been called.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveOutputStream" name="Close">
    <function type="bool" name="Close">
     <description>
      <p>
       Closes the archive, returning true if it was successfully written. Called
       by the destructor if not called explicitly.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveOutputStream" name="CloseEntry">
    <function type="bool" name="CloseEntry">
     <description>
      <p>
       Close the current entry. It is called implicitly whenever another new
       entry is created with
       <ref target="wxarchiveoutputstreamcopyentry">CopyEntry()</ref>
       or
       <ref target="wxarchiveoutputstreamputnextentry">PutNextEntry()</ref>
       , or when the archive is closed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveOutputStream" name="CopyArchiveMetaData">
    <function type="bool" name="CopyArchiveMetaData">
     <parameters>
      <parameter type="wxArchiveInputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Some archive formats have additional meta-data that applies to the
       archive as a whole. For example in the case of zip there is a comment,
       which is stored at the end of the zip file. CopyArchiveMetaData() can be
       used to transfer such information when writing a modified copy of an
       archive.
      </p>
      <p>
       Since the position of the meta-data can vary between the various archive
       formats, it is best to call CopyArchiveMetaData() before transferring the
       entries. The
       <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
       will then hold on to the meta-data and write it at the correct point in
       the output file.
      </p>
      <p>
       When the input archive is being read from a non-seekable stream, the
       meta-data may not be available when CopyArchiveMetaData() is called, in
       which case the two streams set up a link and transfer the data when it
       becomes available.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveOutputStream" name="CopyEntry">
    <function type="bool" name="CopyEntry">
     <parameters>
      <parameter type="wxArchiveEntry&#42; " name="entry"></parameter>
      <parameter type="wxArchiveInputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Takes ownership of
       <i> entry</i>
       and uses it to create a new entry in the archive.
       <i> entry</i>
       is then opened in the input stream
       <i> stream</i>
       and its contents copied to this stream.
      </p>
      <p>
       For archive types which compress entry data, CopyEntry() is likely to be
       much more efficient than transferring the data using Read() and Write()
       since it will copy them without decompressing and recompressing them.
      </p>
      <p>
       <i> entry</i>
       must be from the same archive file that
       <i> stream</i>
       is accessing. For non-seekable streams,
       <i> entry</i>
       must also be the last thing read from
       <i> stream</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveOutputStream" name="PutNextDirEntry">
    <function type="bool" name="PutNextDirEntry">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxDateTime&amp; " name="dt" value="wxDateTime::Now()"></parameter>
     </parameters>
     <description>
      <p>
       Create a new directory entry (see
       <ref target="wxarchiveentryisdir">wxArchiveEntry::IsDir()</ref>
       ) with the given name and timestamp.
      </p>
      <p>
       <ref target="wxarchiveoutputstreamputnextentry">PutNextEntry()</ref>
       can also be used to create directory entries, by supplying a name with a
       trailing path separator.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArchiveOutputStream" name="PutNextEntry">
    <function type="bool" name="PutNextEntry">
     <parameters>
      <parameter type="wxArchiveEntry&#42; " name="entry"></parameter>
     </parameters>
     <description>
      <p>
       Takes ownership of
       <i> entry</i>
       and uses it to create a new entry in the archive. The entry's data can
       then be written by writing to this wxArchiveOutputStream.
      </p>
     </description>
    </function>
    <function type="bool" name="PutNextEntry">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxDateTime&amp; " name="dt" value="wxDateTime::Now()"></parameter>
      <parameter type="off\_t " name="size" value="wxInvalidOffset"></parameter>
     </parameters>
     <description>
      <p>
       Create a new entry with the given name, timestamp and size. The entry's
       data can then be written by writing to this wxArchiveOutputStream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxArray">
  <description>
   <p class="classdesc">
    This section describes the so called
    <i> dynamic arrays</i>
    . This is a C array-like data structure i.e. the member access time is
    constant (and not linear according to the number of container elements as
    for linked lists). However, these arrays are dynamic in the sense that they
    will automatically allocate more memory if there is not enough of it for
    adding a new element. They also perform range checking on the index values
    but in debug mode only, so please be sure to compile your application in
    debug mode to use it (see
    <ref target="debuggingoverview">debugging overview</ref>
    for details). So, unlike the arrays in some other languages, attempt to
    access an element beyond the arrays bound doesn't automatically expand the
    array but provokes an assertion failure instead in debug build and does
    nothing (except possibly crashing your program) in the release build.
   </p>
   <p class="classdesc">
    The array classes were designed to be reasonably efficient, both in terms of
    run-time speed and memory consumption and the executable size. The speed of
    array item access is, of course, constant (independent of the number of
    elements) making them much more efficient than linked lists (
    <ref target="wxlist">wxList</ref>
    ). Adding items to the arrays is also implemented in more or less constant
    time - but the price is preallocating the memory in advance. In the
    <ref target="wxarraymemorymanagement">memory management</ref>
    section you may find some useful hints about optimizing wxArray memory
    usage. As for executable size, all wxArray functions are inline, so they do
    not take
    <i> any space at all</i>
    .
   </p>
   <p class="classdesc">
    wxWidgets has three different kinds of array. All of them derive from
    wxBaseArray class which works with untyped data and can not be used
    directly. The standard macros WX\_DEFINE\_ARRAY(), WX\_DEFINE\_SORTED\_ARRAY()
    and WX\_DEFINE\_OBJARRAY() are used to define a new class deriving from it.
    The classes declared will be called in this documentation wxArray,
    wxSortedArray and wxObjArray but you should keep in mind that no classes
    with such names actually exist, each time you use one of WX\_DEFINE\_XXXARRAY
    macro you define a class with a new name. In fact, these names are
    &quot;template&quot; names and each usage of one of the macros mentioned
    above creates a template specialization for the given element type.
   </p>
   <p class="classdesc">
    wxArray is suitable for storing integer types and pointers which it does not
    treat as objects in any way, i.e. the element pointed to by the pointer is
    not deleted when the element is removed from the array. It should be noted
    that all of wxArray's functions are inline, so it costs strictly nothing to
    define as many array types as you want (either in terms of the executable
    size or the speed) as long as at least one of them is defined and this is
    always the case because wxArrays are used by wxWidgets internally. This
    class has one serious limitation: it can only be used for storing integral
    types (bool, char, short, int, long and their unsigned variants) or pointers
    (of any kind). An attempt to use with objects of sizeof() greater than
    sizeof(long) will provoke a runtime assertion failure, however declaring a
    wxArray of floats will not (on the machines where sizeof(float) &lt;=
    sizeof(long)), yet it will
    <b> not</b>
    work, please use wxObjArray for storing floats and doubles (NB: a more
    efficient wxArrayDouble class is scheduled for the next release of
    wxWidgets).
   </p>
   <p class="classdesc">
    wxSortedArray is a wxArray variant which should be used when searching in
    the array is a frequently used operation. It requires you to define an
    additional function for comparing two elements of the array element type and
    always stores its items in the sorted order (according to this function).
    Thus, it is
    <ref target="wxarrayindex">Index()</ref>
    function execution time is $O(log(N))$ instead of $O(N)$ for the usual
    arrays but the
    <ref target="wxarrayadd">Add()</ref>
    method is slower: it is $O(log(N))$ instead of constant time (neglecting
    time spent in memory allocation routine). However, in a usual situation
    elements are added to an array much less often than searched inside it, so
    wxSortedArray may lead to huge performance improvements compared to wxArray.
    Finally, it should be noticed that, as wxArray, wxSortedArray can be only
    used for storing integral types or pointers.
   </p>
   <p class="classdesc">
    wxObjArray class treats its elements like &quot;objects&quot;. It may delete
    them when they are removed from the array (invoking the correct destructor)
    and copies them using the objects copy constructor. In order to implement
    this behaviour the definition of the wxObjArray arrays is split in two
    parts: first, you should declare the new wxObjArray class using
    WX\_DECLARE\_OBJARRAY() macro and then you must include the file defining the
    implementation of template type: &lt;wx/arrimpl.cpp&gt; and define the array
    class with WX\_DEFINE\_OBJARRAY() macro from a point where the full (as
    opposed to `forward') declaration of the array elements class is in scope.
    As it probably sounds very complicated here is an example:
   </p>
   <p class="classdesc">
    <pre>
#include &lt;wx/dynarray.h&gt;

// we must forward declare the array because it is used inside the class
// declaration
class MyDirectory;
class MyFile;

// this defines two new types: ArrayOfDirectories and ArrayOfFiles which can be
// now used as shown below
WX\_DECLARE\_OBJARRAY(MyDirectory, ArrayOfDirectories);
WX\_DECLARE\_OBJARRAY(MyFile,      ArrayOfFiles);

class MyDirectory
\{
...
    ArrayOfDirectories m\_subdirectories; // all subdirectories
    ArrayOfFiles       m\_files;          // all files in this directory
\};

...

// now that we have MyDirectory declaration in scope we may finish the
// definition of ArrayOfDirectories -- note that this expands into some C++
// code and so should only be compiled once (i.e., don't put this in the
// header, but into a source file or you will get linking errors)
#include &lt;wx/arrimpl.cpp&gt; // this is a magic incantation which must be done!
WX\_DEFINE\_OBJARRAY(ArrayOfDirectories);

// that's all!
</pre>
   </p>
   <p class="classdesc">
    It is not as elegant as writing
   </p>
   <p class="classdesc">
    <pre> 
typedef std::vector&lt;MyDirectory&gt; ArrayOfDirectories;
</pre>
   </p>
   <p class="classdesc">
    but is not that complicated and allows the code to be compiled with any,
    however dumb, C++ compiler in the world.
   </p>
   <p class="classdesc">
    Things are much simpler for wxArray and wxSortedArray however: it is enough
    just to write
   </p>
   <p class="classdesc">
    <pre> 
WX\_DEFINE\_ARRAY(int, ArrayOfDirectories);
WX\_DEFINE\_SORTED\_ARRAY(int, ArrayOfFiles);
</pre>
   </p>
   <p class="classdesc">
    i.e. there is only one
    <tt> DEFINE</tt>
    macro and no need for separate
    <tt> DECLARE</tt>
    one.
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>A dynamic array implementation</shortdesc>
  <includes>
   <header name="wx/dynarray.h" comment="for wxArray and wxSortedArray and additionally &lt;wx/arrimpl.cpp&gt;"/>
  </includes>
  <seealso>
   <ref target="wxcontaineroverview">Container classes overview</ref>
   <ref target="wxlist">wxList</ref>
  </seealso>
  <members>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxObjArray" name=""></member>
   <member class="wxArray" name="~wxArray">
    <function type="" name="~wxArray">
     <description></description>
    </function>
    <function type="" name="~wxSortedArray">
     <description></description>
    </function>
    <function type="" name="~wxObjArray">
     <description>
      <p>
       The wxObjArray destructor deletes all the items owned by the array. This
       is not done by wxArray and wxSortedArray versions - you may use
       <ref target="wxcleararray">WX\_CLEAR\_ARRAY</ref>
       macro for this.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Add">
    <function type="void" name="Add">
     <parameters>
      <parameter type="T " name="item"></parameter>
      <parameter type="size\_t " name="copies" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Add">
     <parameters>
      <parameter type="T &#42;" name="item"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Add">
     <parameters>
      <parameter type="T &amp;" name="item"></parameter>
      <parameter type="size\_t " name="copies" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Appends the given number of
       <i> copies</i>
       of the
       <i> item</i>
       to the array consisting of the elements of type
       <i> T</i>
       .
      </p>
      <p>
       The first version is used with wxArray and wxSortedArray. The second and
       the third are used with wxObjArray. There is an important difference
       between them: if you give a pointer to the array, it will take ownership
       of it, i.e. will delete it when the item is deleted from the array. If
       you give a reference to the array, however, the array will make a copy of
       the item and will not take ownership of the original item. Once again, it
       only makes sense for wxObjArrays because the other array types never take
       ownership of their elements. Also note that you cannot append more than
       one pointer as reusing it would lead to deleting it twice (or more) and
       hence to a crash.
      </p>
      <p>
       You may also use
       <ref target="wxappendarray">WX\_APPEND\_ARRAY</ref>
       macro to append all elements of one array to another one but it is more
       efficient to use
       <i> copies</i>
       parameter and modify the elements in place later if you plan to append a
       lot of items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Alloc">
    <function type="void" name="Alloc">
     <parameters>
      <parameter type="size\_t " name="count"></parameter>
     </parameters>
     <description>
      <p>
       Preallocates memory for a given number of array elements. It is worth
       calling when the number of items which are going to be added to the array
       is known in advance because it will save unneeded memory reallocation. If
       the array already has enough memory for the given number of items,
       nothing happens.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       This function does the same as
       <ref target="wxarrayempty">Empty()</ref>
       and additionally frees the memory allocated to the array.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Count">
    <function type="size\_t" name="Count" suffix="const">
     <description>
      <p>
       Same as
       <ref target="wxarraygetcount">GetCount()</ref>
       . This function is deprecated - it exists only for compatibility.
      </p>
     </description>
    </function>
   </member>
   <member class="wxObjArray" name="Detach">
    <function type="T &#42;" name="Detach">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Removes the element from the array, but, unlike,
       <ref target="wxarrayremove">Remove()</ref>
       doesn't delete it. The function returns the pointer to the removed
       element.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Empty">
    <function type="void" name="Empty">
     <description>
      <p>
       Empties the array. For wxObjArray classes, this destroys all of the array
       elements. For wxArray and wxSortedArray this does nothing except marking
       the array of being empty - this function does not free the allocated
       memory, use
       <ref target="wxarrayclear">Clear()</ref>
       for this.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="GetCount">
    <function type="size\_t" name="GetCount" suffix="const">
     <description>
      <p>
       Return the number of items in the array.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Index">
    <function type="int" name="Index">
     <parameters>
      <parameter type="T&amp; " name="item"></parameter>
      <parameter type="bool " name="searchFromEnd" value="false"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="int" name="Index">
     <parameters>
      <parameter type="T&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       The first version of the function is for wxArray and wxObjArray, the
       second is for wxSortedArray only.
      </p>
      <p>
       Searches the element in the array, starting from either beginning or the
       end depending on the value of
       <i> searchFromEnd</i>
       parameter.
       <tt> wxNOT\_FOUND</tt>
       is returned if the element is not found, otherwise the index of the
       element is returned.
      </p>
      <p>
       Linear search is used for the wxArray and wxObjArray classes but binary
       search in the sorted array is used for wxSortedArray (this is why
       searchFromEnd parameter doesn't make sense for it).
      </p>
      <p>
       <b> NB:</b>
       even for wxObjArray classes, the operator==() of the elements in the
       array is
       <b> not</b>
       used by this function. It searches exactly the given element in the array
       and so will only succeed if this element had been previously added to the
       array, but fail even if another, identical, element is in the array.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Insert">
    <function type="void" name="Insert">
     <parameters>
      <parameter type="T " name="item"></parameter>
      <parameter type="size\_t " name="n"></parameter>
      <parameter type="size\_t " name="copies" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Insert">
     <parameters>
      <parameter type="T &#42;" name="item"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Insert">
     <parameters>
      <parameter type="T &amp;" name="item"></parameter>
      <parameter type="size\_t " name="n"></parameter>
      <parameter type="size\_t " name="copies" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Insert the given number of
       <i> copies</i>
       of the
       <i> item</i>
       into the array before the existing item
       <i> n</i>
       - thus,
       <i> Insert(something, 0u)</i>
       will insert an item in such way that it will become the first array
       element.
      </p>
      <p>
       Please see
       <ref target="wxarrayadd">Add()</ref>
       for explanation of the differences between the overloaded versions of
       this function.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="IsEmpty">
    <function type="bool" name="IsEmpty" suffix="const">
     <description>
      <p>
       Returns true if the array is empty, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Item">
    <function type="T&amp;" name="Item" suffix="const">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Returns the item at the given position in the array. If
       <i> index</i>
       is out of bounds, an assert failure is raised in the debug builds but
       nothing special is done in the release build.
      </p>
      <p>
       The returned value is of type &quot;reference to the array element
       type&quot; for all of the array classes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Last">
    <function type="T&amp;" name="Last" suffix="const">
     <description>
      <p>
       Returns the last element in the array, i.e. is the same as
       Item(GetCount() - 1). An assert failure is raised in the debug mode if
       the array is empty.
      </p>
      <p>
       The returned value is of type &quot;reference to the array element
       type&quot; for all of the array classes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Remove">
    <function type="void" name="Remove">
     <parameters>
      <parameter type="T " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Removes an element from the array by value: the first item of the array
       equal to
       <i> item</i>
       is removed, an assert failure will result from an attempt to remove an
       item which doesn't exist in the array.
      </p>
      <p>
       When an element is removed from wxObjArray it is deleted by the array -
       use
       <ref target="wxobjarraydetach">Detach()</ref>
       if you don't want this to happen. On the other hand, when an object is
       removed from a wxArray nothing happens - you should delete it manually if
       required:
      </p>
      <pre>
T &#42;item = array[n];
delete item;
array.Remove(n)
</pre>
      <p>
       See also
       <ref target="wxcleararray">WX\_CLEAR\_ARRAY</ref>
       macro which deletes all elements of a wxArray (supposed to contain
       pointers).
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="RemoveAt">
    <function type="void" name="RemoveAt">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
      <parameter type="size\_t " name="count" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Removes
       <i> count</i>
       elements starting at
       <i> index</i>
       from the array. When an element is removed from wxObjArray it is deleted
       by the array - use
       <ref target="wxobjarraydetach">Detach()</ref>
       if you don't want this to happen. On the other hand, when an object is
       removed from a wxArray nothing happens - you should delete it manually if
       required:
      </p>
      <pre>
T &#42;item = array[n];
delete item;
array.RemoveAt(n)
</pre>
      <p>
       See also
       <ref target="wxcleararray">WX\_CLEAR\_ARRAY</ref>
       macro which deletes all elements of a wxArray (supposed to contain
       pointers).
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="SetCount">
    <function type="void" name="SetCount">
     <parameters>
      <parameter type="size\_t " name="count"></parameter>
      <parameter type="T " name="defval" value="T(0)"></parameter>
     </parameters>
     <seealso>
      <ref target="wxarraygetcount">GetCount</ref>
     </seealso>
     <description>
      <p>
       This function ensures that the number of array elements is at least
       <i> count</i>
       . If the array has already
       <i> count</i>
       or more items, nothing is done. Otherwise,
       <tt> count - GetCount()</tt>
       elements are added and initialized to the value
       <i> defval</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Shrink">
    <function type="void" name="Shrink">
     <description>
      <p>
       Frees all memory unused by the array. If the program knows that no new
       items will be added to the array it may call Shrink() to reduce its
       memory usage. However, if a new item is added to the array, some extra
       memory will be allocated again.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArray" name="Sort">
    <function type="void" name="Sort">
     <parameters>
      <parameter type="CMPFUNC&lt;T&gt; " name="compareFunction"></parameter>
     </parameters>
     <description>
      <p>
       The notation CMPFUNC&lt;T&gt; should be read as if we had the following
       declaration:
      </p>
      <pre>
template int CMPFUNC(T &#42;first, T &#42;second);
</pre>
      <p>
       where
       <i> T</i>
       is the type of the array elements. I.e. it is a function returning
       <i> int</i>
       which is passed two arguments of type
       <i> T &#42;</i>
       .
      </p>
      <p>
       Sorts the array using the specified compare function: this function
       should return a negative, zero or positive value according to whether the
       first element passed to it is less than, equal to or greater than the
       second one.
      </p>
      <p>
       wxSortedArray doesn't have this function because it is always sorted.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxArrayString">
  <description>
   <p class="classdesc">
    wxArrayString is an efficient container for storing
    <ref target="wxstring">wxString</ref>
    objects. It has the same features as all
    <ref target="wxarray">wxArray</ref>
    classes, i.e. it dynamically expands when new items are added to it (so it
    is as easy to use as a linked list), but the access time to the elements is
    constant, instead of being linear in number of elements as in the case of
    linked lists. It is also very size efficient and doesn't take more space
    than a C array
    <i> wxString[]</i>
    type (wxArrayString uses its knowledge of internals of wxString class to
    achieve this).
   </p>
   <p class="classdesc">
    This class is used in the same way as other dynamic
    <ref target="wxarray">arrays</ref>
    , except that no
    <i> WX\_DEFINE\_ARRAY</i>
    declaration is needed for it. When a string is added or inserted in the
    array, a copy of the string is created, so the original string may be safely
    deleted (e.g. if it was a
    <i> char &#42;</i>
    pointer the memory it was using can be freed immediately after this). In
    general, there is no need to worry about string memory deallocation when
    using this class - it will always free the memory it uses itself.
   </p>
   <p class="classdesc">
    The references returned by
    <ref target="wxarraystringitem">Item</ref>
    ,
    <ref target="wxarraystringlast">Last</ref>
    or
    <ref target="wxarraystringoperatorindex">operator[]</ref>
    are not constant, so the array elements may be modified in place like this
   </p>
   <p class="classdesc">
    <pre>
    array.Last().MakeUpper();
</pre>
   </p>
   <p class="classdesc">
    There is also a variant of wxArrayString called wxSortedArrayString which
    has exactly the same methods as wxArrayString, but which always keeps the
    string in it in (alphabetical) order. wxSortedArrayString uses binary search
    in its
    <ref target="wxarraystringindex">Index</ref>
    function (instead of linear search for wxArrayString::Index) which makes it
    much more efficient if you add strings to the array rarely (because, of
    course, you have to pay for Index() efficiency by having Add() be slower)
    but search for them often. Several methods should not be used with sorted
    array (basically, all which break the order of items) which is mentioned in
    their description.
   </p>
   <p class="classdesc">
    Final word: none of the methods of wxArrayString is virtual including its
    destructor, so this class should not be used as a base class.
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>An efficient container for storing \\helpref\{wxString\}\{wxstring\} objects</shortdesc>
  <parents>
   <ref type="help" target="wxArray">Although this is not true strictly speaking this class may be considered as a
specialization of wxArray class for the wxString member
data: it is not implemented like this but it does have all of the wxArray
functions.</ref>
  </parents>
  <includes>
   <header name="wx/arrstr.h"/>
  </includes>
  <seealso>
   <ref target="wxarray">wxArray</ref>
   <ref target="wxstring">wxString</ref>
   <ref target="wxstringoverview">wxString overview</ref>
  </seealso>
  <members>
   <member class="wxArrayString" name="wxArrayString">
    <function type="" name="wxArrayString">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxArrayString">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="array"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor. Note that when an array is assigned to a sorted array,
       its contents is automatically sorted during construction.
      </p>
     </description>
    </function>
    <function type="" name="wxArrayString">
     <parameters>
      <parameter type="size\_t " name="sz"></parameter>
      <parameter type="const wxChar&#42;&#42; " name="arr"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from a C string array. Pass a size
       <i> sz</i>
       and array
       <i> arr</i>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxArrayString">
     <parameters>
      <parameter type="size\_t " name="sz"></parameter>
      <parameter type="const wxString&#42; " name="arr"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from a wxString array. Pass a size
       <i> sz</i>
       and array
       <i> arr</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="~wxArrayString">
    <function type="" name="~wxArrayString">
     <parameters></parameters>
     <description>
      <p>
       Destructor frees memory occupied by the array strings. For the
       performance reasons it is not virtual, so this class should not be
       derived from.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="operator=">
    <function type="wxArrayString &amp;" name="operator $=$">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="array"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="operator==">
    <function type="bool" name="operator $==$" suffix="const">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="array"></parameter>
     </parameters>
     <description>
      <p>
       Compares 2 arrays respecting the case. Returns true only if the arrays
       have the same number of elements and the same strings in the same order.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="operator!=">
    <function type="bool" name="operator $!=$" suffix="const">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="array"></parameter>
     </parameters>
     <description>
      <p>
       Compares 2 arrays respecting the case. Returns true if the arrays have
       different number of elements or if the elements don't match pairwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="operator[]">
    <function type="wxString&amp;" name="operator[]">
     <parameters>
      <parameter type="size\_t " name="nIndex"></parameter>
     </parameters>
     <description>
      <p>
       Return the array element at position
       <i> nIndex</i>
       . An assert failure will result from an attempt to access an element
       beyond the end of array in debug mode, but no check is done in release
       mode.
      </p>
      <p>
       This is the operator version of
       <ref target="wxarraystringitem">Item</ref>
       method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Add">
    <function type="size\_t" name="Add">
     <parameters>
      <parameter type="const wxString&amp; " name="str"></parameter>
      <parameter type="size\_t " name="copies" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Appends the given number of
       <i> copies</i>
       of the new item
       <i> str</i>
       to the array and returns the index of the first new item in the array.
      </p>
      <p>
       <b> Warning:</b>
       For sorted arrays, the index of the inserted item will not be, in
       general, equal to
       <ref target="wxarraystringgetcount">GetCount()</ref>
       - 1 because the item is inserted at the correct position to keep the
       array sorted and not appended.
      </p>
      <p>
       See also
       <ref target="wxarraystringinsert">Insert</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Alloc">
    <function type="void" name="Alloc">
     <parameters>
      <parameter type="size\_t " name="nCount"></parameter>
     </parameters>
     <description>
      <p>
       Preallocates enough memory to store
       <i> nCount</i>
       items. This function may be used to improve array class performance
       before adding a known number of items consecutively.
      </p>
      <p>
       See also
       <ref target="wxarraymemorymanagement">Dynamic array memory management</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Clears the array contents and frees memory.
      </p>
      <p>
       See also
       <ref target="wxarraystringempty">Empty</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Count">
    <function type="size\_t" name="Count" suffix="const">
     <description>
      <p>
       Returns the number of items in the array. This function is deprecated and
       is for backwards compatibility only, please use
       <ref target="wxarraystringgetcount">GetCount</ref>
       instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Empty">
    <function type="void" name="Empty">
     <description>
      <p>
       Empties the array: after a call to this function
       <ref target="wxarraystringgetcount">GetCount</ref>
       will return 0. However, this function does not free the memory used by
       the array and so should be used when the array is going to be reused for
       storing other strings. Otherwise, you should use
       <ref target="wxarraystringclear">Clear</ref>
       to empty the array and free memory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="GetCount">
    <function type="size\_t" name="GetCount" suffix="const">
     <description>
      <p>
       Returns the number of items in the array.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Index">
    <function type="int" name="Index">
     <parameters>
      <parameter type="const char &#42; " name="sz"></parameter>
      <parameter type="bool " name="bCase" value="true"></parameter>
      <parameter type="bool " name="bFromEnd" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Search the element in the array, starting from the beginning if
       <i> bFromEnd</i>
       is false or from end otherwise. If
       <i> bCase</i>
       , comparison is case sensitive (default), otherwise the case is ignored.
      </p>
      <p>
       This function uses linear search for wxArrayString and binary search for
       wxSortedArrayString, but it ignores the
       <i> bCase</i>
       and
       <i> bFromEnd</i>
       parameters in the latter case.
      </p>
      <p>
       Returns index of the first item matched or
       <tt> wxNOT\_FOUND</tt>
       if there is no match.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Insert">
    <function type="void" name="Insert">
     <parameters>
      <parameter type="const wxString&amp; " name="str"></parameter>
      <parameter type="size\_t " name="nIndex"></parameter>
      <parameter type="size\_t " name="copies" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Insert the given number of
       <i> copies</i>
       of the new element in the array before the position
       <i> nIndex</i>
       . Thus, for example, to insert the string in the beginning of the array
       you would write
      </p>
      <pre>
Insert(&quot;foo&quot;, 0);
</pre>
      <p>
       If
       <i> nIndex</i>
       is equal to
       <i> GetCount()</i>
       this function behaves as
       <ref target="wxarraystringadd">Add</ref>
       .
      </p>
      <p>
       <b> Warning:</b>
       this function should not be used with sorted arrays because it could
       break the order of items and, for example, subsequent calls to
       <ref target="wxarraystringindex">Index()</ref>
       would then not work!
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="IsEmpty">
    <function type="bool" name="IsEmpty">
     <parameters></parameters>
     <description>
      <p>
       Returns true if the array is empty, false otherwise. This function
       returns the same result as
       <i> GetCount() == 0</i>
       but is probably easier to read.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Item">
    <function type="wxString&amp;" name="Item" suffix="const">
     <parameters>
      <parameter type="size\_t " name="nIndex"></parameter>
     </parameters>
     <description>
      <p>
       Return the array element at position
       <i> nIndex</i>
       . An assert failure will result from an attempt to access an element
       beyond the end of array in debug mode, but no check is done in release
       mode.
      </p>
      <p>
       See also
       <ref target="wxarraystringoperatorindex">operator[]</ref>
       for the operator version.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Last">
    <function type="wxString&amp;" name="Last">
     <parameters></parameters>
     <description>
      <p>
       Returns the last element of the array. Attempt to access the last element
       of an empty array will result in assert failure in debug build, however
       no checks are done in release mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Remove">
    <function type="void" name="Remove">
     <parameters>
      <parameter type="const char &#42; " name="sz"></parameter>
     </parameters>
     <description>
      <p>
       Removes the first item matching this value. An assert failure is provoked
       by an attempt to remove an element which does not exist in debug build.
      </p>
      <p>
       See also
       <ref target="wxarraystringindex">Index</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="RemoveAt">
    <function type="void" name="RemoveAt">
     <parameters>
      <parameter type="size\_t " name="nIndex"></parameter>
      <parameter type="size\_t " name="count" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Removes
       <i> count</i>
       items starting at position
       <i> nIndex</i>
       from the array.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Shrink">
    <function type="void" name="Shrink">
     <description>
      <p>
       Releases the extra memory allocated by the array. This function is useful
       to minimize the array memory consumption.
      </p>
      <p>
       See also
       <ref target="wxarraystringalloc">Alloc</ref>
       ,
       <ref target="wxarraymemorymanagement">Dynamic array memory management</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxArrayString" name="Sort">
    <function type="void" name="Sort">
     <parameters>
      <parameter type="bool " name="reverseOrder" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Sorts the array in alphabetical order or in reverse alphabetical order if
       <i> reverseOrder</i>
       is true. The sort is case-sensitive.
      </p>
      <p>
       <b> Warning:</b>
       this function should not be used with sorted array because it could break
       the order of items and, for example, subsequent calls to
       <ref target="wxarraystringindex">Index()</ref>
       would then not work!
      </p>
     </description>
    </function>
    <function type="void" name="Sort">
     <parameters>
      <parameter type="CompareFunction " name="compareFunction"></parameter>
     </parameters>
     <example>
      <p>
       The following example sorts strings by their length.
      </p>
      <pre>
static int CompareStringLen(const wxString&amp; first, const wxString&amp; second)
\{
    return first.length() - second.length();
\}

...

wxArrayString array;

array.Add(&quot;one&quot;);
array.Add(&quot;two&quot;);
array.Add(&quot;three&quot;);
array.Add(&quot;four&quot;);

array.Sort(CompareStringLen);
</pre>
      <p>
       <b> Warning:</b>
       this function should not be used with sorted array because it could break
       the order of items and, for example, subsequent calls to
       <ref target="wxarraystringindex">Index()</ref>
       would then not work!
      </p>
     </example>
     <description>
      <p>
       Sorts the array using the specified
       <i> compareFunction</i>
       for item comparison.
       <i> CompareFunction</i>
       is defined as a function taking two
       <i> const
wxString&amp;</i>
       parameters and returning an
       <i> int</i>
       value less than, equal to or greater than 0 if the first string is less
       than, equal to or greater than the second one.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxArtProvider" annotation="abstract">
  <description>
   <p class="classdesc">
    wxArtProvider class is used to customize the look of wxWidgets application.
    When wxWidgets needs to display an icon or a bitmap (e.g. in the standard
    file dialog), it does not use a hard-coded resource but asks wxArtProvider
    for it instead. This way users can plug in their own wxArtProvider class and
    easily replace standard art with their own version. All that is needed is to
    derive a class from wxArtProvider, override its
    <ref target="wxartprovidercreatebitmap">CreateBitmap</ref>
    method and register the provider with
    <ref target="wxartproviderpushprovider">wxArtProvider::PushProvider</ref>
    :
   </p>
   <p class="classdesc">
    <pre>
  class MyProvider : public wxArtProvider
  \{
  protected:
    wxBitmap CreateBitmap(const wxArtID&amp; id, 
                          const wxArtClient&amp; client,
                          const wxSize size)
    \{ ... \}
  \};
  ...
  wxArtProvider::PushProvider(new MyProvider);
</pre>
   </p>
   <p class="classdesc">
    There's another way of taking advantage of this class: you can use it in
    your code and use platform native icons as provided by
    <ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref>
    or
    <ref target="wxartprovidergeticon">wxArtProvider::GetIcon</ref>
    (NB: this is not yet really possible as of wxWidgets 2.3.3, the set of
    wxArtProvider bitmaps is too small).
   </p>
   <p class="classdesc">
    <ref type="membersection" target="Identifying art resources">Identifying art resources</ref>
    <ref target="artprovideridentifying"/>
   </p>
   <p class="classdesc">
    Every bitmap is known to wxArtProvider under an unique ID that is used by
    when requesting a resource from it. The ID is represented by wxArtID type
    and can have one of these predefined values (you can see bitmaps represented
    by these constants in the
    <ref target="sampleartprovider">artprov</ref>
    sample):
    <ul>
     <li>wxART\_ADD\_BOOKMARK</li>
     <li>wxART\_DEL\_BOOKMARK</li>
     <li>wxART\_HELP\_SIDE\_PANEL</li>
     <li>wxART\_HELP\_SETTINGS</li>
     <li>wxART\_HELP\_BOOK</li>
     <li>wxART\_HELP\_FOLDER</li>
     <li>wxART\_HELP\_PAGE</li>
     <li>wxART\_GO\_BACK</li>
     <li>wxART\_GO\_FORWARD</li>
     <li>wxART\_GO\_UP</li>
     <li>wxART\_GO\_DOWN</li>
     <li>wxART\_GO\_TO\_PARENT</li>
     <li>wxART\_GO\_HOME</li>
     <li>wxART\_FILE\_OPEN</li>
     <li>wxART\_PRINT</li>
     <li>wxART\_HELP</li>
     <li>wxART\_TIP</li>
     <li>wxART\_REPORT\_VIEW</li>
     <li>wxART\_LIST\_VIEW</li>
     <li>wxART\_NEW\_DIR</li>
     <li>wxART\_FOLDER</li>
     <li>wxART\_GO\_DIR\_UP</li>
     <li>wxART\_EXECUTABLE\_FILE</li>
     <li>wxART\_NORMAL\_FILE</li>
     <li>wxART\_TICK\_MARK</li>
     <li>wxART\_CROSS\_MARK</li>
     <li>wxART\_ERROR</li>
     <li>wxART\_QUESTION</li>
     <li>wxART\_WARNING</li>
     <li>wxART\_INFORMATION</li>
     <li>wxART\_MISSING\_IMAGE</li>
    </ul>
   </p>
   <p class="classdesc">
    Additionally, any string recognized by custom art providers registered using
    <ref target="wxartproviderpushprovider">PushProvider</ref>
    may be used.
   </p>
   <p class="classdesc">
    <heading>GTK+ Note</heading>
   </p>
   <p class="classdesc">
    When running under GTK+ 2, GTK+ stock item IDs (e.g.
    <tt> &quot;gtk-cdrom&quot;</tt>
    ) may be used as well. Additionally, if wxGTK was compiled against GTK+
    &gt;= 2.4, then it is also possible to load icons from current icon theme by
    specifying their name (without extension and directory components). Icon
    themes recognized by GTK+ follow the
    <a href="freedesktop.org Icon Themes specification">http://freedesktop.org/Standards/icon-theme-spec</a>
    . Note that themes are not guaranteed to contain all icons, so wxArtProvider
    may return
    <tt> wxNullBitmap</tt>
    or
    <tt> wxNullIcon</tt>
    . Default theme is typically installed in
    <tt> /usr/share/icons/hicolor</tt>
    .
   </p>
   <p class="classdesc">
    <ref type="membersection" target="Clients">Clients</ref>
    <ref target="artproviderclients"/>
   </p>
   <p class="classdesc">
    Client is the entity that calls wxArtProvider's GetBitmap or GetIcon
    function. It is represented by wxClientID type and can have one of these
    values:
    <ul>
     <li>wxART\_TOOLBAR</li>
     <li>wxART\_MENU</li>
     <li>wxART\_BUTTON</li>
     <li>wxART\_FRAME\_ICON</li>
     <li>wxART\_CMN\_DIALOG</li>
     <li>wxART\_HELP\_BROWSER</li>
     <li>wxART\_MESSAGE\_BOX</li>
     <li>wxART\_OTHER (used for all requests that don't fit into any of the categories
      above)</li>
    </ul>
    Client ID servers as a hint to wxArtProvider that is supposed to help it to
    choose the best looking bitmap. For example it is often desirable to use
    slightly different icons in menus and toolbars even though they represent
    the same action (e.g.
    <tt> wx\_ART\_FILE\_OPEN</tt>
    ). Remember that this is really only a hint for wxArtProvider -- it is
    common that
    <ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref>
    returns identical bitmap for different
    <i> client</i>
    values!
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/artprov.h"/>
  </includes>
  <seealso>
   See the
   <ref target="sampleartprovider">artprov</ref>
   sample for an example of wxArtProvider usage.
  </seealso>
  <members>
   <member class="wxArtProvider" name="CreateBitmap">
    <function type="wxBitmap" name="CreateBitmap">
     <parameters>
      <parameter type="const wxArtID&amp; " name="id">
       wxArtID unique identifier of the bitmap.
      </parameter>
      <parameter type="const wxArtClient&amp; " name="client">
       wxArtClient identifier of the client (i.e. who is asking for the bitmap).
       This only servers as a hint.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Preferred size of the bitmap. The function may return a bitmap of
       different dimensions, it will be automatically rescaled to meet client's
       request.
      </parameter>
     </parameters>
     <note>

This is <b> not</b> part of wxArtProvider's public API, use
<ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref> or 
<ref target="wxartprovidergeticon">wxArtProvider::GetIcon</ref>
to query wxArtProvider for a resource.

</note>
     <description>
      <p>
       Derived art provider classes must override this method to create
       requested art resource. Note that returned bitmaps are cached by
       wxArtProvider and it is therefore not necessary to optimize CreateBitmap
       for speed (e.g. you may create wxBitmap objects from XPMs here).
      </p>
     </description>
    </function>
   </member>
   <member class="wxArtProvider" name="GetBitmap">
    <function type="static wxBitmap" name="GetBitmap">
     <parameters>
      <parameter type="const wxArtID&amp; " name="id">
       wxArtID unique identifier of the bitmap.
      </parameter>
      <parameter type="const wxArtClient&amp; " name="client" value="wxART\_OTHER">
       wxArtClient identifier of the client (i.e. who is asking for the bitmap).
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Size of the returned bitmap or
       <tt> wxDefaultSize</tt>
       if size doesn't matter.
      </parameter>
     </parameters>
     <returnvalue>
      The bitmap if one of registered providers recognizes the ID or
      wxNullBitmap otherwise.
     </returnvalue>
     <description>
      <p>
       Query registered providers for bitmap with given ID.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArtProvider" name="GetIcon">
    <function type="static wxIcon" name="GetIcon">
     <parameters>
      <parameter type="const wxArtID&amp; " name="id"></parameter>
      <parameter type="const wxArtClient&amp; " name="client" value="wxART\_OTHER"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref>
       , but return a wxIcon object (or wxNullIcon on failure).
      </p>
     </description>
    </function>
    <function type="static wxSize" name="GetSizeHint">
     <parameters>
      <parameter type="const wxArtClient&amp; " name="client"></parameter>
      <parameter type="bool " name="platform\_default" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Returns a suitable size hint for the given
       <i> wxArtClient</i>
       . If
       <i> platform\_default</i>
       is true, return a size based on the current platform, otherwise return
       the size from the topmost wxArtProvider.
       <i> wxDefaultSize</i>
       may be returned if the client doesn't have a specified size, like
       wxART\_OTHER for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArtProvider" name="PopProvider">
    <function type="static bool" name="PopProvider">
     <description>
      <p>
       Remove latest added provider and delete it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxArtProvider" name="PushProvider">
    <function type="static void" name="PushProvider">
     <parameters>
      <parameter type="wxArtProvider&#42; " name="provider"></parameter>
     </parameters>
     <description>
      <p>
       Register new art provider (add it to the top of providers stack).
      </p>
     </description>
    </function>
   </member>
   <member class="wxArtProvider" name="RemoveProvider">
    <function type="static bool" name="RemoveProvider">
     <parameters>
      <parameter type="wxArtProvider&#42; " name="provider"></parameter>
     </parameters>
     <description>
      <p>
       Remove a provider from the stack. The provider must have been added
       previously and is
       <i> not</i>
       deleted.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxAutomationObject" specific="msw">
  <description>
   <p class="classdesc">
    The
    <b> wxAutomationObject</b>
    class represents an OLE automation object containing a single data member,
    an IDispatch pointer. It contains a number of functions that make it easy to
    perform automation operations, and set and get properties. The class makes
    heavy use of the
    <ref target="wxvariant">wxVariant</ref>
    class.
   </p>
   <p class="classdesc">
    The usage of these classes is quite close to OLE automation usage in Visual
    Basic. The API is high-level, and the application can specify multiple
    properties in a single string. The following example gets the current Excel
    instance, and if it exists, makes the active cell bold.
   </p>
   <p class="classdesc">
    <pre>
  wxAutomationObject excelObject;
  if (excelObject.GetInstance(&quot;Excel.Application&quot;))
      excelObject.PutProperty(&quot;ActiveCell.Font.Bold&quot;, true);
</pre>
   </p>
   <p class="classdesc">
    Note that this class obviously works under Windows only.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>OLE automation class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/msw/ole/automtn.h"/>
  </includes>
  <seealso>
   <ref target="wxvariant">wxVariant</ref>
  </seealso>
  <members>
   <member class="wxAutomationObject" name="wxAutomationObject">
    <function type="" name="wxAutomationObject">
     <parameters>
      <parameter type="WXIDISPATCH&#42; " name="dispatchPtr" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor, taking an optional IDispatch pointer which will be released
       when the object is deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="~wxAutomationObject">
    <function type="" name="~wxAutomationObject">
     <description>
      <p>
       Destructor. If the internal IDispatch pointer is non-null, it will be
       released.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="CallMethod">
    <function type="wxVariant" name="CallMethod" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="method"></parameter>
      <parameter type="int " name="noArgs"></parameter>
      <parameter type="wxVariant " name="args[]"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxVariant" name="CallMethod" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="method"></parameter>
      <parameter type="..." name=""></parameter>
     </parameters>
     <description>
      <p>
       Calls an automation method for this object. The first form takes a method
       name, number of arguments, and an array of variants. The second form
       takes a method name and zero to six constant references to variants.
       Since the variant class has constructors for the basic data types, and
       C++ provides temporary objects automatically, both of the following lines
       are syntactically valid:
      </p>
      <pre>
  wxVariant res = obj.CallMethod(&quot;Sum&quot;, wxVariant(1.2), wxVariant(3.4));
  wxVariant res = obj.CallMethod(&quot;Sum&quot;, 1.2, 3.4);
</pre>
      <p>
       Note that
       <i> method</i>
       can contain dot-separated property names, to save the application needing
       to call GetProperty several times using several temporary objects. For
       example:
      </p>
      <pre>
  object.CallMethod(&quot;ActiveCell.Font.ShowDialog&quot;, &quot;My caption&quot;);
</pre>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="CreateInstance">
    <function type="bool" name="CreateInstance" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="classId"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new object based on the class id, returning true if the object
       was successfully created, or false if not.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="GetDispatchPtr">
    <function type="IDispatch&#42;" name="GetDispatchPtr" suffix="const">
     <description>
      <p>
       Gets the IDispatch pointer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="GetInstance">
    <function type="bool" name="GetInstance" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="classId"></parameter>
     </parameters>
     <description>
      <p>
       Retrieves the current object associated with a class id, and attaches the
       IDispatch pointer to this object. Returns true if a pointer was
       successfully retrieved, false otherwise.
      </p>
      <p>
       Note that this cannot cope with two instances of a given OLE object being
       active simultaneously, such as two copies of Excel running. Which object
       is referenced cannot currently be specified.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="GetObject">
    <function type="bool" name="GetObject" suffix="const">
     <parameters>
      <parameter type="wxAutomationObject&amp;" name="obj"></parameter>
      <parameter type="const wxString&amp; " name="property"></parameter>
      <parameter type="int " name="noArgs" value="0"></parameter>
      <parameter type="wxVariant " name="args[]" value="NULL"></parameter>
     </parameters>
     <seealso>
      <ref target="wxautomationobjectgetproperty">wxAutomationObject::GetProperty</ref>
     </seealso>
     <description>
      <p>
       Retrieves a property from this object, assumed to be a dispatch pointer,
       and initialises
       <i> obj</i>
       with it. To avoid having to deal with IDispatch pointers directly, use
       this function in preference to
       <ref target="wxautomationobjectgetproperty">wxAutomationObject::GetProperty</ref>
       when retrieving objects from other objects.
      </p>
      <p>
       Note that an IDispatch pointer is stored as a void&#42; pointer in
       wxVariant objects.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="GetProperty">
    <function type="wxVariant" name="GetProperty" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="property"></parameter>
      <parameter type="int " name="noArgs"></parameter>
      <parameter type="wxVariant " name="args[]"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxVariant" name="GetProperty" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="property"></parameter>
      <parameter type="..." name=""></parameter>
     </parameters>
     <description>
      <p>
       Gets a property value from this object. The first form takes a property
       name, number of arguments, and an array of variants. The second form
       takes a property name and zero to six constant references to variants.
       Since the variant class has constructors for the basic data types, and
       C++ provides temporary objects automatically, both of the following lines
       are syntactically valid:
      </p>
      <pre>
  wxVariant res = obj.GetProperty(&quot;Range&quot;, wxVariant(&quot;A1&quot;));
  wxVariant res = obj.GetProperty(&quot;Range&quot;, &quot;A1&quot;);
</pre>
      <p>
       Note that
       <i> property</i>
       can contain dot-separated property names, to save the application needing
       to call GetProperty several times using several temporary objects.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="Invoke">
    <function type="bool" name="Invoke" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="member">
       The member function or property name.
      </parameter>
      <parameter type="int " name="action">
       Bitlist: may contain DISPATCH\_PROPERTYPUT, DISPATCH\_PROPERTYPUTREF,
       DISPATCH\_METHOD.
      </parameter>
      <parameter type="wxVariant&amp; " name="retValue">
       Return value (ignored if there is no return value)
      </parameter>
      <parameter type="int " name="noArgs">
       Number of arguments in
       <i> args</i>
       or
       <i> ptrArgs</i>
       .
      </parameter>
      <parameter type="wxVariant " name="args[]"></parameter>
      <parameter type="const wxVariant&#42; " name="ptrArgs[]" value="0"></parameter>
     </parameters>
     <remarks>
      <p>
       Two types of argument array are provided, so that when possible pointers
       are used for efficiency.
      </p>
     </remarks>
     <returnvalue>
      true if the operation was successful, false otherwise.
     </returnvalue>
     <description>
      <p>
       This function is a low-level implementation that allows access to the
       IDispatch Invoke function. It is not meant to be called directly by the
       application, but is used by other convenience functions.
      </p>
      <p>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="PutProperty">
    <function type="bool" name="PutProperty" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="property"></parameter>
      <parameter type="int " name="noArgs"></parameter>
      <parameter type="wxVariant " name="args[]"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="PutProperty">
     <parameters>
      <parameter type="const wxString&amp; " name="property"></parameter>
      <parameter type="..." name=""></parameter>
     </parameters>
     <description>
      <p>
       Puts a property value into this object. The first form takes a property
       name, number of arguments, and an array of variants. The second form
       takes a property name and zero to six constant references to variants.
       Since the variant class has constructors for the basic data types, and
       C++ provides temporary objects automatically, both of the following lines
       are syntactically valid:
      </p>
      <pre>
  obj.PutProperty(&quot;Value&quot;, wxVariant(23));
  obj.PutProperty(&quot;Value&quot;, 23);
</pre>
      <p>
       Note that
       <i> property</i>
       can contain dot-separated property names, to save the application needing
       to call GetProperty several times using several temporary objects.
      </p>
     </description>
    </function>
   </member>
   <member class="wxAutomationObject" name="SetDispatchPtr">
    <function type="void" name="SetDispatchPtr">
     <parameters>
      <parameter type="WXIDISPATCH&#42; " name="dispatchPtr"></parameter>
     </parameters>
     <description>
      <p>
       Sets the IDispatch pointer. This function does not check if there is
       already an IDispatch pointer.
      </p>
      <p>
       You may need to cast from IDispatch&#42; to WXIDISPATCH&#42; when calling
       this function.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBitmap">
  <description>
   <p class="classdesc">
    This class encapsulates the concept of a platform-dependent bitmap, either
    monochrome or colour or colour with alpha channel support.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>Represents a bitmap</shortdesc>
  <parents>
   <ref type="help" target="wxGDIObject">wxGDIObject</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/bitmap.h"/>
  </includes>
  <predefs>

Objects:

<b> wxNullBitmap</b>
  </predefs>
  <seealso>
   <ref target="wxbitmapoverview">wxBitmap overview</ref>
   ,
   <ref target="supportedbitmapformats">supported bitmap file formats</ref>
   ,
   <ref target="wxdcblit">wxDC::Blit</ref>
   ,
   <ref target="wxicon">wxIcon</ref>
   <ref target="wxcursor">wxCursor</ref>
   <ref target="wxbitmap">wxBitmap</ref>
   ,
   <ref target="wxmemorydc">wxMemoryDC</ref>
  </seealso>
  <members>
   <member class="wxBitmap" name="wxBitmap">
    <function type="" name="wxBitmap">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor. Note that this does not take a fresh copy of the data,
       but instead makes the internal data point to
       <i> bitmap</i>
       's data. So changing one bitmap will change the other. To make a real
       copy, you can use:
      </p>
      <pre>
    wxBitmap newBitmap = oldBitmap.GetSubBitmap(
                             wxRect(0, 0, oldBitmap.GetWidth(), oldBitmap.GetHeight()));
</pre>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="void&#42; " name="data"></parameter>
      <parameter type="int " name="type"></parameter>
      <parameter type="int " name="width">
       Specifies the width of the bitmap.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the bitmap.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       Specifies the depth of the bitmap. If this is omitted, the display depth
       of the screen is used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates a bitmap from the given data which is interpreted in
       platform-dependent manner.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="const char " name="bits[]"></parameter>
      <parameter type="int " name="width">
       Specifies the width of the bitmap.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the bitmap.
      </parameter>
      <parameter type="int " name="depth" value="1">
       Specifies the depth of the bitmap. If this is omitted, the display depth
       of the screen is used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates a bitmap from an array of bits.
      </p>
      <p>
       You should only use this function for monochrome bitmaps (
       <i> depth</i>
       1) in portable programs: in this case the
       <i> bits</i>
       parameter should contain an XBM image.
      </p>
      <p>
       For other bit depths, the behaviour is platform dependent: under Windows,
       the data is passed without any changes to the underlying
       <tt> CreateBitmap()</tt>
       API. Under other platforms, only monochrome bitmaps may be created using
       this constructor and
       <ref target="wximage">wxImage</ref>
       should be used for creating colour bitmaps from static data.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="int " name="width">
       Specifies the width of the bitmap.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the bitmap.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       Specifies the depth of the bitmap. If this is omitted, the display depth
       of the screen is used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates a new bitmap. A depth of -1 indicates the depth of the current
       screen or visual. Some platforms only support 1 for monochrome and -1 for
       the current colour setting. Beginning with version 2.5.4 of wxWidgets a
       depth of 32 including an alpha channel is supported under MSW, Mac and
       GTK+.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="const char&#42;&#42; " name="bits">
       Specifies an array of pixel values.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates a bitmap from XPM data.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       This can refer to a resource name under MS Windows, or a filename under
       MS Windows and X. Its meaning is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description>
      <p>
       Loads a bitmap from a file or resource.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmap">
     <parameters>
      <parameter type="const wxImage&amp; " name="img">
       Platform-independent wxImage object.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       Specifies the depth of the bitmap. If this is omitted, the display depth
       of the screen is used.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref>
     </seealso>
     <remarks>
      <p>
       The first form constructs a bitmap object with no data; an assignment or
       another member function such as Create or LoadFile must be called
       subsequently.
      </p>
      <p>
       The second and third forms provide copy constructors. Note that these do
       not copy the bitmap data, but instead a pointer to the data, keeping a
       reference count. They are therefore very efficient operations.
      </p>
      <p>
       The fourth form constructs a bitmap from data whose type and value
       depends on the value of the
       <i> type</i>
       argument.
      </p>
      <p>
       The fifth form constructs a (usually monochrome) bitmap from an array of
       pixel values, under both X and Windows.
      </p>
      <p>
       The sixth form constructs a new bitmap.
      </p>
      <p>
       The seventh form constructs a bitmap from pixmap (XPM) data, if wxWidgets
       has been configured to incorporate this feature.
      </p>
      <p>
       To use this constructor, you must first include an XPM file. For example,
       assuming that the file
       <tt> mybitmap.xpm</tt>
       contains an XPM array of character pointers called mybitmap:
      </p>
      <pre>
#include &quot;mybitmap.xpm&quot;

...

wxBitmap &#42;bitmap = new wxBitmap(mybitmap);
</pre>
      <p>
       The eighth form constructs a bitmap from a file or resource.
       <i> name</i>
       can refer to a resource name under MS Windows, or a filename under MS
       Windows and X.
      </p>
      <p>
       Under Windows,
       <i> type</i>
       defaults to wxBITMAP\_TYPE\_BMP\_RESOURCE. Under X,
       <i> type</i>
       defaults to wxBITMAP\_TYPE\_XPM.
      </p>
     </remarks>
     <description>
      <p>
       Creates bitmap object from the image. This has to be done to actually
       display an image as you cannot draw an image directly on a window. The
       resulting bitmap will use the provided colour depth (or that of the
       current system if depth is -1) which entails that a colour reduction has
       to take place.
      </p>
      <p>
       When in 8-bit mode (PseudoColour mode), the GTK port will use a color
       cube created on program start-up to look up colors. This ensures a very
       fast conversion, but the image quality won't be perfect (and could be
       better for photo images using more sophisticated dithering algorithms).
      </p>
      <p>
       On Windows, if there is a palette present (set with SetPalette), it will
       be used when creating the wxBitmap (most useful in 8-bit display mode).
       On other platforms, the palette is currently ignored.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="~wxBitmap">
    <function type="" name="~wxBitmap">
     <description>
      <p>
       Destroys the wxBitmap object and possibly the underlying bitmap data.
       Because reference counting is used, the bitmap may not actually be
       destroyed at this point - only when the reference count is zero will the
       data be deleted.
      </p>
      <p>
       If the application omits to delete the bitmap explicitly, the bitmap will
       be destroyed automatically by wxWidgets when the application exits.
      </p>
      <p>
       Do not delete a bitmap that is selected into a memory device context.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="AddHandler">
    <function type="static void" name="AddHandler">
     <parameters>
      <parameter type="wxBitmapHandler&#42; " name="handler">
       A new bitmap format handler object. There is usually only one instance of
       a given handler class in an application session.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaphandler">wxBitmapHandler</ref>
     </seealso>
     <description>
      <p>
       Adds a handler to the end of the static list of format handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="CleanUpHandlers">
    <function type="static void" name="CleanUpHandlers">
     <description>
      <p>
       Deletes all bitmap handlers.
      </p>
      <p>
       This function is called by wxWidgets on exit.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="ConvertToImage">
    <function type="wxImage" name="ConvertToImage">
     <description>
      <p>
       Creates an image from a platform-dependent bitmap. This preserves mask
       information so that bitmaps and images can be converted back and forth
       without loss in that respect.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="CopyFromIcon">
    <function type="bool" name="CopyFromIcon">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon"></parameter>
     </parameters>
     <description>
      <p>
       Creates the bitmap from an icon.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="Create">
    <function type="virtual bool" name="Create">
     <parameters>
      <parameter type="int " name="width">
       The width of the bitmap in pixels.
      </parameter>
      <parameter type="int " name="height">
       The height of the bitmap in pixels.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       The depth of the bitmap in pixels. If this is -1, the screen depth is
       used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates a fresh bitmap. If the final argument is omitted, the display
       depth of the screen is used.
      </p>
     </description>
    </function>
    <function type="virtual bool" name="Create">
     <parameters>
      <parameter type="void&#42; " name="data">
       Data whose type depends on the value of
       <i> type</i>
       .
      </parameter>
      <parameter type="int " name="type">
       A bitmap type identifier - see
       <ref target="wxbitmapctor">wxBitmap::wxBitmap</ref>
       for a list of possible values.
      </parameter>
      <parameter type="int " name="width">
       The width of the bitmap in pixels.
      </parameter>
      <parameter type="int " name="height">
       The height of the bitmap in pixels.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       The depth of the bitmap in pixels. If this is -1, the screen depth is
       used.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapctor">wxBitmap::wxBitmap</ref>
     </seealso>
     <remarks>
      <p>
       The first form works on all platforms. The portability of the second form
       depends on the type of data.
      </p>
     </remarks>
     <returnvalue>
      true if the call succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Creates a bitmap from the given data, which can be of arbitrary type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="FindHandler">
    <function type="static wxBitmapHandler&#42;" name="FindHandler">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       The handler name.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds the handler with the given name.
      </p>
     </description>
    </function>
    <function type="static wxBitmapHandler&#42;" name="FindHandler">
     <parameters>
      <parameter type="const wxString&amp; " name="extension">
       The file extension, such as ``bmp&quot;.
      </parameter>
      <parameter type="wxBitmapType " name="bitmapType">
       The bitmap type, such as wxBITMAP\_TYPE\_BMP.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds the handler associated with the given extension and type.
      </p>
     </description>
    </function>
    <function type="static wxBitmapHandler&#42;" name="FindHandler">
     <parameters>
      <parameter type="wxBitmapType " name="bitmapType">
       The bitmap type, such as wxBITMAP\_TYPE\_BMP.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaphandler">wxBitmapHandler</ref>
     </seealso>
     <returnvalue>
      A pointer to the handler if found, NULL otherwise.
     </returnvalue>
     <description>
      <p>
       Finds the handler associated with the given bitmap type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="GetDepth">
    <function type="int" name="GetDepth" suffix="const">
     <description>
      <p>
       Gets the colour depth of the bitmap. A value of 1 indicates a monochrome
       bitmap.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="GetHandlers">
    <function type="static wxList&amp;" name="GetHandlers">
     <seealso>
      <ref target="wxbitmaphandler">wxBitmapHandler</ref>
     </seealso>
     <description>
      <p>
       Returns the static list of bitmap format handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="GetHeight">
    <function type="int" name="GetHeight" suffix="const">
     <description>
      <p>
       Gets the height of the bitmap in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="GetPalette">
    <function type="wxPalette&#42;" name="GetPalette" suffix="const">
     <seealso>
      <ref target="wxpalette">wxPalette</ref>
     </seealso>
     <description>
      <p>
       Gets the associated palette (if any) which may have been loaded from a
       file or set for the bitmap.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="GetMask">
    <function type="wxMask&#42;" name="GetMask" suffix="const">
     <seealso>
      <ref target="wxbitmapsetmask">wxBitmap::SetMask</ref>
      <ref target="wxmask">wxMask</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxBitmap" name="GetWidth">
    <function type="int" name="GetWidth" suffix="const">
     <seealso>
      <ref target="wxbitmapgetheight">wxBitmap::GetHeight</ref>
     </seealso>
     <description>
      <p>
       Gets the width of the bitmap in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="GetSubBitmap">
    <function type="wxBitmap" name="GetSubBitmap" suffix="const">
     <parameters>
      <parameter type="const wxRect&amp;" name="rect"></parameter>
     </parameters>
     <description>
      <p>
       Returns a sub bitmap of the current one as long as the rect belongs
       entirely to the bitmap. This function preserves bit depth and mask
       information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="InitStandardHandlers">
    <function type="static void" name="InitStandardHandlers">
     <seealso>
      <ref target="wxbitmaphandler">wxBitmapHandler</ref>
     </seealso>
     <description>
      <p>
       Adds the standard bitmap format handlers, which, depending on wxWidgets
       configuration, can be handlers for Windows bitmap, Windows bitmap
       resource, and XPM.
      </p>
      <p>
       This function is called by wxWidgets on startup.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="InsertHandler">
    <function type="static void" name="InsertHandler">
     <parameters>
      <parameter type="wxBitmapHandler&#42; " name="handler">
       A new bitmap format handler object. There is usually only one instance of
       a given handler class in an application session.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaphandler">wxBitmapHandler</ref>
     </seealso>
     <description>
      <p>
       Adds a handler at the start of the static list of format handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="LoadFile">
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Either a filename or a Windows resource name. The meaning of
       <i> name</i>
       is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="wxBitmapType " name="type"></parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapsavefile">wxBitmap::SaveFile</ref>
     </seealso>
     <remarks>
      <p>
       A palette may be associated with the bitmap if one exists (especially for
       colour Windows bitmaps), and if the code supports it. You can check if
       one has been created by using the
       <ref target="wxbitmapgetpalette">GetPalette</ref>
       member.
      </p>
     </remarks>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Loads a bitmap from a file or resource.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if bitmap data is present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="RemoveHandler">
    <function type="static bool" name="RemoveHandler">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       The handler name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaphandler">wxBitmapHandler</ref>
     </seealso>
     <returnvalue>
      true if the handler was found and removed, false otherwise.
     </returnvalue>
     <description>
      <p>
       Finds the handler with the given name, and removes it. The handler is not
       deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="SaveFile">
    <function type="bool" name="SaveFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       A filename. The meaning of
       <i> name</i>
       is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="wxBitmapType " name="type"></parameter>
      <parameter type="wxPalette&#42; " name="palette" value="NULL">
       An optional palette used for saving the bitmap.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref>
     </seealso>
     <remarks>
      <p>
       Depending on how wxWidgets has been configured, not all formats may be
       available.
      </p>
     </remarks>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Saves a bitmap in the named file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="SetDepth">
    <function type="void" name="SetDepth">
     <parameters>
      <parameter type="int " name="depth">
       Bitmap depth.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the depth member (does not affect the bitmap data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="SetHeight">
    <function type="void" name="SetHeight">
     <parameters>
      <parameter type="int " name="height">
       Bitmap height in pixels.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the height member (does not affect the bitmap data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="SetMask">
    <function type="void" name="SetMask">
     <parameters>
      <parameter type="wxMask&#42; " name="mask"></parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapgetmask">wxBitmap::GetMask</ref>
      <ref target="wxmask">wxMask</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxBitmap" name="SetPalette">
    <function type="void" name="SetPalette">
     <parameters>
      <parameter type="const wxPalette&amp; " name="palette">
       The palette to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxpalette">wxPalette</ref>
     </seealso>
     <description>
      <p>
       Sets the associated palette. (Not implemented under GTK+).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="SetWidth">
    <function type="void" name="SetWidth">
     <parameters>
      <parameter type="int " name="width">
       Bitmap width in pixels.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the width member (does not affect the bitmap data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="operator $=$">
    <function type="wxBitmap&amp; " name="operator $=$">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap to assign.
      </parameter>
     </parameters>
     <returnvalue>
      Returns 'this' object.
     </returnvalue>
     <description>
      <p>
       Assignment operator. This operator does not copy any data, but instead
       passes a pointer to the data in
       <i> bitmap</i>
       and increments a reference counter. It is a fast operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap to compare with 'this'
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the bitmaps were effectively equal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Equality operator. This operator tests whether the internal data pointers
       are equal (a fast test).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmap" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap to compare with 'this'
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the bitmaps were unequal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Inequality operator. This operator tests whether the internal data
       pointers are unequal (a fast test).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBitmapButton">
  <description>
   <p class="classdesc">
    A bitmap button is a control that contains a bitmap. It may be placed on a
    <ref target="wxdialog">dialog box</ref>
    or
    <ref target="wxpanel">panel</ref>
    , or indeed almost any other window.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>Push button control, displaying a bitmap</shortdesc>
  <remarks>
   <p>
    A bitmap button can be supplied with a single bitmap, and wxWidgets will
    draw all button states using this bitmap. If the application needs more
    control, additional bitmaps for the selected state, unpressed focused state,
    and greyed-out state may be supplied.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxButton">wxButton</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/bmpbuttn.h"/>
  </includes>
  <windowstyles>
   <style name="wxBU\_AUTODRAW">
    wxBU\_AUTODRAW
   </style>
   <style name="wxBU\_LEFT" platforms="WIN32">
    Left-justifies the bitmap label.
   </style>
   <style name="wxBU\_TOP" platforms="WIN32">
    Aligns the bitmap label to the top of the button.
   </style>
   <style name="wxBU\_RIGHT" platforms="WIN32">
    Right-justifies the bitmap label.
   </style>
   <style name="wxBU\_BOTTOM" platforms="WIN32">
    Aligns the bitmap label to the bottom of the button.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_BUTTON(id, func)">Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
when the button is clicked.</event>
  </events>
  <seealso>
   <ref target="wxbutton">wxButton</ref>
  </seealso>
  <members>
   <member class="wxBitmapButton" name="wxBitmapButton">
    <function type="" name="wxBitmapButton">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxBitmapButton">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Button identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap to be displayed.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Button position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Button size. If the default size (-1, -1) is specified then the button is
       sized appropriately for the bitmap.
      </parameter>
      <parameter type="long " name="style" value="wxBU\_AUTODRAW">
       Window style. See
       <ref target="wxbitmapbutton">wxBitmapButton</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``button&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapbuttoncreate">wxBitmapButton::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxBitmapButton" name="~wxBitmapButton">
    <function type="" name="~wxBitmapButton">
     <description>
      <p>
       Destructor, destroying the button.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``button&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Button creation function for two-step creation. For more details, see
       <ref target="wxbitmapbuttonctor">wxBitmapButton::wxBitmapButton</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="GetBitmapDisabled">
    <function type="wxBitmap&amp;" name="GetBitmapDisabled" suffix="const">
     <seealso>
      <ref target="wxbitmapbuttonsetbitmapdisabled">wxBitmapButton::SetBitmapDisabled</ref>
     </seealso>
     <returnvalue>
      A reference to the disabled state bitmap.
     </returnvalue>
     <description>
      <p>
       Returns the bitmap for the disabled state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="GetBitmapFocus">
    <function type="wxBitmap&amp;" name="GetBitmapFocus" suffix="const">
     <seealso>
      <ref target="wxbitmapbuttonsetbitmapfocus">wxBitmapButton::SetBitmapFocus</ref>
     </seealso>
     <returnvalue>
      A reference to the focused state bitmap.
     </returnvalue>
     <description>
      <p>
       Returns the bitmap for the focused state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="GetBitmapLabel">
    <function type="wxBitmap&amp;" name="GetBitmapLabel" suffix="const">
     <seealso>
      <ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>
     </seealso>
     <returnvalue>
      A reference to the button's label bitmap.
     </returnvalue>
     <description>
      <p>
       Returns the label bitmap (the one passed to the constructor).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="GetBitmapSelected">
    <function type="wxBitmap&amp;" name="GetBitmapSelected" suffix="const">
     <seealso>
      <ref target="wxbitmapbuttonsetbitmapselected">wxBitmapButton::SetBitmapSelected</ref>
     </seealso>
     <returnvalue>
      A reference to the selected state bitmap.
     </returnvalue>
     <description>
      <p>
       Returns the bitmap for the selected state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="SetBitmapDisabled">
    <function type="void" name="SetBitmapDisabled">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       The bitmap to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapbuttongetbitmapdisabled">wxBitmapButton::GetBitmapDisabled</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmapselected">wxBitmapButton::SetBitmapSelected</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmapfocus">wxBitmapButton::SetBitmapFocus</ref>
     </seealso>
     <description>
      <p>
       Sets the bitmap for the disabled button appearance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="SetBitmapFocus">
    <function type="void" name="SetBitmapFocus">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       The bitmap to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapbuttongetbitmapfocus">wxBitmapButton::GetBitmapFocus</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmapselected">wxBitmapButton::SetBitmapSelected</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmapdisabled">wxBitmapButton::SetBitmapDisabled</ref>
     </seealso>
     <description>
      <p>
       Sets the bitmap for the button appearance when it has the keyboard focus.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="SetBitmapLabel">
    <function type="void" name="SetBitmapLabel">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       The bitmap label to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapbuttongetbitmaplabel">wxBitmapButton::GetBitmapLabel</ref>
     </seealso>
     <remarks>
      <p>
       This is the bitmap used for the unselected state, and for all other
       states if no other bitmaps are provided.
      </p>
     </remarks>
     <description>
      <p>
       Sets the bitmap label for the button.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapButton" name="SetBitmapSelected">
    <function type="void" name="SetBitmapSelected">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       The bitmap to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmapbuttongetbitmapselected">wxBitmapButton::GetBitmapSelected</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmapfocus">wxBitmapButton::SetBitmapFocus</ref>
      ,
      <ref target="wxbitmapbuttonsetbitmapdisabled">wxBitmapButton::SetBitmapDisabled</ref>
     </seealso>
     <description>
      <p>
       Sets the bitmap for the selected (depressed) button appearance.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBitmapDataObject">
  <description>
   <p class="classdesc">
    wxBitmapDataObject is a specialization of wxDataObject for bitmap data. It
    can be used without change to paste data into the
    <ref target="wxclipboard">wxClipboard</ref>
    or a
    <ref target="wxdropsource">wxDropSource</ref>
    . A user may wish to derive a new class from this class for providing a
    bitmap on-demand in order to minimize memory consumption when offering data
    in several formats, such as a bitmap and GIF.
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Bitmap data object class</shortdesc>
  <parents>
   <ref type="help" target="wxDataObjectSimple">wxDataObjectSimple</ref>
   <ref type="help" target="wxDataObject">wxDataObject</ref>
  </parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

This class may be used as is, but 
<ref target="wxbitmapdataobjectgetbitmap">GetBitmap</ref> may be overridden to increase
efficiency.

</override>
  <members>
   <member class="wxBitmapDataObject" name="GetBitmap">
    <function type="virtual wxBitmap" name="GetBitmap" suffix="const">
     <description>
      <p>
       Returns the bitmap associated with the data object. You may wish to
       override this method when offering data on-demand, but this is not
       required by wxWidgets' internals. Use this method to get data in bitmap
       form from the
       <ref target="wxclipboard">wxClipboard</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapDataObject" name="SetBitmap">
    <function type="virtual void" name="SetBitmap">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
     </parameters>
     <description>
      <p>
       Sets the bitmap associated with the data object. This method is called
       when the data object receives data. Usually there will be no reason to
       override this function.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBitmapHandler" annotation="abstract">
  <description>
   <p class="classdesc">
    <ref type="overview" target="wxbitmapoverview">Overview</ref>
   </p>
   <p class="classdesc">
    This is the base class for implementing bitmap file loading/saving, and
    bitmap creation from data. It is used within wxBitmap and is not normally
    seen by the application.
   </p>
   <p class="classdesc">
    If you wish to extend the capabilities of wxBitmap, derive a class from
    wxBitmapHandler and add the handler using
    <ref target="wxbitmapaddhandler">wxBitmap::AddHandler</ref>
    in your application initialisation.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/bitmap.h"/>
  </includes>
  <seealso>
   <ref target="wxbitmap">wxBitmap</ref>
   <ref target="wxicon">wxIcon</ref>
   <ref target="wxcursor">wxCursor</ref>
  </seealso>
  <members>
   <member class="wxBitmapHandler" name="wxBitmapHandler">
    <function type="" name="wxBitmapHandler">
     <description>
      <p>
       Default constructor. In your own default constructor, initialise the
       members m\_name, m\_extension and m\_type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="~wxBitmapHandler">
    <function type="" name="~wxBitmapHandler">
     <description>
      <p>
       Destroys the wxBitmapHandler object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="Create">
    <function type="virtual bool" name="Create">
     <parameters>
      <parameter type="wxBitmap&#42; " name="bitmap">
       The wxBitmap object.
      </parameter>
      <parameter type="void&#42; " name="data">
       Data whose type depends on the value of
       <i> type</i>
       .
      </parameter>
      <parameter type="int " name="type">
       A bitmap type identifier - see
       <ref target="wxbitmapctor">wxBitmapHandler::wxBitmapHandler</ref>
       for a list of possible values.
      </parameter>
      <parameter type="int " name="width">
       The width of the bitmap in pixels.
      </parameter>
      <parameter type="int " name="height">
       The height of the bitmap in pixels.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       The depth of the bitmap in pixels. If this is -1, the screen depth is
       used.
      </parameter>
     </parameters>
     <returnvalue>
      true if the call succeeded, false otherwise (the default).
     </returnvalue>
     <description>
      <p>
       Creates a bitmap from the given data, which can be of arbitrary type. The
       wxBitmap object
       <i> bitmap</i>
       is manipulated by this function.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Gets the name of this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="GetExtension">
    <function type="wxString" name="GetExtension" suffix="const">
     <description>
      <p>
       Gets the file extension associated with this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="GetType">
    <function type="long" name="GetType" suffix="const">
     <description>
      <p>
       Gets the bitmap type associated with this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="LoadFile">
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="wxBitmap&#42; " name="bitmap">
       The bitmap object which is to be affected by this operation.
      </parameter>
      <parameter type="const wxString&amp; " name="name">
       Either a filename or a Windows resource name. The meaning of
       <i> name</i>
       is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="long " name="type">
       See
       <ref target="wxbitmapctor">wxBitmap::wxBitmap</ref>
       for values this can take.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref>
      <br/>
      <ref target="wxbitmapsavefile">wxBitmap::SaveFile</ref>
      <br/>
      <ref target="wxbitmaphandlersavefile">wxBitmapHandler::SaveFile</ref>
     </seealso>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Loads a bitmap from a file or resource, putting the resulting data into
       <i> bitmap</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="SaveFile">
    <function type="bool" name="SaveFile">
     <parameters>
      <parameter type="wxBitmap&#42; " name="bitmap">
       The bitmap object which is to be affected by this operation.
      </parameter>
      <parameter type="const wxString&amp; " name="name">
       A filename. The meaning of
       <i> name</i>
       is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="int " name="type">
       See
       <ref target="wxbitmapctor">wxBitmap::wxBitmap</ref>
       for values this can take.
      </parameter>
      <parameter type="wxPalette&#42; " name="palette" value="NULL">
       An optional palette used for saving the bitmap.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref>
      <br/>
      <ref target="wxbitmapsavefile">wxBitmap::SaveFile</ref>
      <br/>
      <ref target="wxbitmaphandlerloadfile">wxBitmapHandler::LoadFile</ref>
     </seealso>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Saves a bitmap in the named file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="SetName">
    <function type="void" name="SetName">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Handler name.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the handler name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="SetExtension">
    <function type="void" name="SetExtension">
     <parameters>
      <parameter type="const wxString&amp; " name="extension">
       Handler extension.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the handler extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBitmapHandler" name="SetType">
    <function type="void" name="SetType">
     <parameters>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description>
      <p>
       Sets the handler type.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBoxSizer">
  <description>
   <p class="classdesc">
    The basic idea behind a box sizer is that windows will most often be laid
    out in rather simple basic geometry, typically in a row or a column or
    several hierarchies of either.
   </p>
   <p class="classdesc">
    For more information, please see
    <ref target="boxsizerprogramming">Programming with wxBoxSizer</ref>
    .
   </p>
  </description>
  <category>Window layout</category>
  <shortdesc>A sizer for laying out windows in a row or column</shortdesc>
  <parents>
   <ref type="help" target="wxSizer">wxSizer</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/sizer.h"/>
  </includes>
  <members>
   <member class="wxBoxSizer" name="wxBoxSizer">
    <function type="" name="wxBoxSizer">
     <parameters>
      <parameter type="int " name="orient"></parameter>
     </parameters>
     <description>
      <p>
       Constructor for a wxBoxSizer.
       <i> orient</i>
       may be either of wxVERTICAL or wxHORIZONTAL for creating either a column
       sizer or a row sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBoxSizer" name="RecalcSizes">
    <function type="void" name="RecalcSizes">
     <description>
      <p>
       Implements the calculation of a box sizer's dimensions and then sets the
       size of its children (calling
       <ref target="wxwindowsetsize">wxWindow::SetSize</ref>
       if the child is a window). It is used internally only and must not be
       called by the user. Documented for information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBoxSizer" name="CalcMin">
    <function type="wxSize" name="CalcMin">
     <description>
      <p>
       Implements the calculation of a box sizer's minimal. It is used
       internally only and must not be called by the user. Documented for
       information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBoxSizer" name="GetOrientation">
    <function type="int" name="GetOrientation">
     <description>
      <p>
       Returns the orientation of the box sizer, either wxVERTICAL or
       wxHORIZONTAL.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBrush">
  <description>
   <p class="classdesc">
    A brush is a drawing tool for filling in areas. It is used for painting the
    background of rectangles, ellipses, etc. It has a colour and a style.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>Used for filling areas on a device context</shortdesc>
  <remarks>
   <p>
    On a monochrome display, wxWidgets shows all brushes as white unless the
    colour is really black.
   </p>
   <p>
    Do not initialize objects on the stack before the program commences, since
    other required structures may not have been set up yet. Instead, define
    global pointers to objects and create them in
    <ref target="wxapponinit">wxApp::OnInit</ref>
    or when required.
   </p>
   <p>
    An application may wish to create brushes with different characteristics
    dynamically, and there is the consequent danger that a large number of
    duplicate brushes will be created. Therefore an application may wish to get
    a pointer to a brush by using the global list of brushes
    <b> wxTheBrushList</b>
    , and calling the member function
    <b> FindOrCreateBrush</b>
    .
   </p>
   <p>
    wxBrush uses a reference counting system, so assignments between brushes are
    very cheap. You can therefore use actual wxBrush objects instead of pointers
    without efficiency problems. Once one wxBrush object changes its data it
    will create its own brush data internally so that other brushes, which
    previously shared the data using the reference counting, are not affected.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxGDIObject">wxGDIObject</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/brush.h"/>
  </includes>
  <predefs>

Objects:

<b> wxNullBrush</b>

Pointers:

<b> wxBLUE\_BRUSH<br/>
wxGREEN\_BRUSH<br/>
wxWHITE\_BRUSH<br/>
wxBLACK\_BRUSH<br/>
wxGREY\_BRUSH<br/>
wxMEDIUM\_GREY\_BRUSH<br/>
wxLIGHT\_GREY\_BRUSH<br/>
wxTRANSPARENT\_BRUSH<br/>
wxCYAN\_BRUSH<br/>
wxRED\_BRUSH</b>
  </predefs>
  <seealso>
   <ref target="wxbrushlist">wxBrushList</ref>
   <ref target="wxdc">wxDC</ref>
   <ref target="wxdcsetbrush">wxDC::SetBrush</ref>
  </seealso>
  <members>
   <member class="wxBrush" name="wxBrush">
    <function type="" name="wxBrush">
     <description>
      <p>
       Default constructor. The brush will be uninitialised, and
       <ref target="wxbrushok">wxBrush::Ok</ref>
       will return false.
      </p>
     </description>
    </function>
    <function type="" name="wxBrush">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour">
       Colour object.
      </parameter>
      <parameter type="int " name="style" value="wxSOLID"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a brush from a colour object and style.
      </p>
     </description>
    </function>
    <function type="" name="wxBrush">
     <parameters>
      <parameter type="const wxString&amp; " name="colourName">
       Colour name. The name will be looked up in the colour database.
      </parameter>
      <parameter type="int " name="style"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a brush from a colour name and style.
      </p>
     </description>
    </function>
    <function type="" name="wxBrush">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="stippleBitmap">
       A bitmap to use for stippling.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a stippled brush using a bitmap.
      </p>
     </description>
    </function>
    <function type="" name="wxBrush">
     <parameters>
      <parameter type="const wxBrush&amp; " name="brush">
       Pointer or reference to a brush to copy.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbrushlist">wxBrushList</ref>
      <ref target="wxcolour">wxColour</ref>
      <ref target="wxcolourdatabase">wxColourDatabase</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxBrush" name="~wxBrush">
    <function type="" name="~wxBrush">
     <remarks>
      <p>
       The destructor may not delete the underlying brush object of the native
       windowing system, since wxBrush uses a reference counting system for
       efficiency.
      </p>
      <p>
       Although all remaining brushes are deleted when the application exits,
       the application should try to clean up all brushes itself. This is
       because wxWidgets cannot know if a pointer to the brush object is stored
       in an application data structure, and there is a risk of double deletion.
      </p>
     </remarks>
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="GetColour">
    <function type="wxColour&amp;" name="GetColour" suffix="const">
     <seealso>
      <ref target="wxbrushsetcolour">wxBrush::SetColour</ref>
     </seealso>
     <description>
      <p>
       Returns a reference to the brush colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="GetStipple">
    <function type="wxBitmap &#42;" name="GetStipple" suffix="const">
     <seealso>
      <ref target="wxbrushsetstipple">wxBrush::SetStipple</ref>
     </seealso>
     <description>
      <p>
       Gets a pointer to the stipple bitmap. If the brush does not have a
       wxSTIPPLE style, this bitmap may be non-NULL but uninitialised (
       <ref target="wxbitmapok">wxBitmap::Ok</ref>
       returns false).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="GetStyle">
    <function type="int" name="GetStyle" suffix="const">
     <seealso>
      <ref target="wxbrushsetstyle">wxBrush::SetStyle</ref>
      <ref target="wxbrushsetcolour">wxBrush::SetColour</ref>
      ,
      <ref target="wxbrushsetstipple">wxBrush::SetStipple</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxBrush" name="IsHatch">
    <function type="bool" name="IsHatch" suffix="const">
     <seealso>
      <ref target="wxbrushgetstyle">wxBrush::GetStyle</ref>
     </seealso>
     <description>
      <p>
       Returns true if the style of the brush is any of hatched fills.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the brush is initialised. It will return false if the
       default constructor has been used (for example, the brush is a member of
       a class, or NULL has been assigned to it).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="SetColour">
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the brush colour using a reference to a colour object.
      </p>
     </description>
    </function>
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="const wxString&amp; " name="colourName"></parameter>
     </parameters>
     <description>
      <p>
       Sets the brush colour using a colour name from the colour database.
      </p>
     </description>
    </function>
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="const unsigned char " name="red"></parameter>
      <parameter type="const unsigned char " name="green"></parameter>
      <parameter type="const unsigned char " name="blue"></parameter>
     </parameters>
     <seealso>
      <ref target="wxbrushgetcolour">wxBrush::GetColour</ref>
     </seealso>
     <description>
      <p>
       Sets the brush colour using red, green and blue values.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="SetStipple">
    <function type="void" name="SetStipple">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       The bitmap to use for stippling.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbitmap">wxBitmap</ref>
     </seealso>
     <remarks>
      <p>
       The style will be set to wxSTIPPLE, unless the bitmap has a mask
       associated to it, in which case the style will be set to
       wxSTIPPLE\_MASK\_OPAQUE.
      </p>
      <p>
       If the wxSTIPPLE variant is used, the bitmap will be used to fill out the
       area to be drawn. If the wxSTIPPLE\_MASK\_OPAQUE is used, the current text
       foreground and text background determine what colours are used for
       displaying and the bits in the mask (which is a mono-bitmap actually)
       determine where to draw what.
      </p>
      <p>
       Note that under Windows 95, only 8x8 pixel large stipple bitmaps are
       supported, Windows 98 and NT as well as GTK support arbitrary bitmaps.
      </p>
     </remarks>
     <description>
      <p>
       Sets the stipple bitmap.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="SetStyle">
    <function type="void" name="SetStyle">
     <parameters>
      <parameter type="int " name="style"></parameter>
     </parameters>
     <seealso>
      <ref target="wxbrushgetstyle">wxBrush::GetStyle</ref>
     </seealso>
     <description>
      <p>
       Sets the brush style.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="operator $=$">
    <function type="wxBrush&amp;" name="operator $=$">
     <parameters>
      <parameter type="const wxBrush&amp; " name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator, using reference counting. Returns a reference to
       `this'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxBrush&amp; " name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Equality operator. Two brushes are equal if they contain pointers to the
       same underlying brush data. It does not compare each attribute, so two
       independently-created brushes using the same parameters will fail the
       test.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrush" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxBrush&amp; " name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Inequality operator. Two brushes are not equal if they contain pointers
       to different underlying brush data. It does not compare each attribute.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBrushList">
  <description>
   <p class="classdesc">
    A brush list is a list containing all brushes which have been created.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>The list of previously-created brushes</shortdesc>
  <remarks>
   <p>
    There is only one instance of this class:
    <b> wxTheBrushList</b>
    . Use this object to search for a previously created brush of the desired
    type and create it if not already found. In some windowing systems, the
    brush may be a scarce resource, so it can pay to reuse old resources if
    possible. When an application finishes, all brushes will be deleted and
    their resources freed, eliminating the possibility of `memory leaks'.
    However, it is best not to rely on this automatic cleanup because it can
    lead to double deletion in some circumstances.
   </p>
   <p>
    There are two mechanisms in recent versions of wxWidgets which make the
    brush list less useful than it once was. Under Windows, scarce resources are
    cleaned up internally if they are not being used. Also, a reference counting
    mechanism applied to all GDI objects means that some sharing of underlying
    resources is possible. You don't have to keep track of pointers, working out
    when it is safe delete a brush, because the reference counting does it for
    you. For example, you can set a brush in a device context, and then
    immediately delete the brush you passed, because the brush is `copied'.
   </p>
   <p>
    So you may find it easier to ignore the brush list, and instead create and
    copy brushes as you see fit. If your Windows resource meter suggests your
    application is using too many resources, you can resort to using GDI lists
    to share objects explicitly.
   </p>
   <p>
    The only compelling use for the brush list is for wxWidgets to keep track of
    brushes in order to clean them up on exit. It is also kept for backward
    compatibility with earlier versions of wxWidgets.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxList">wxList</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/gdicmn.h"/>
  </includes>
  <seealso>
   <ref target="wxbrush">wxBrush</ref>
  </seealso>
  <members>
   <member class="wxBrushList" name="wxBrushList">
    <function type="void" name="wxBrushList">
     <description>
      <p>
       Constructor. The application should not construct its own brush list: use
       the object pointer
       <b> wxTheBrushList</b>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrushList" name="AddBrush">
    <function type="void" name="AddBrush">
     <parameters>
      <parameter type="wxBrush &#42;" name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Used internally by wxWidgets to add a brush to the list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrushList" name="FindOrCreateBrush">
    <function type="wxBrush &#42;" name="FindOrCreateBrush">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour">
       Colour object.
      </parameter>
      <parameter type="int " name="style" value="wxSOLID">
       Brush style. See
       <ref target="wxbrushsetstyle">wxBrush::SetStyle</ref>
       for a list of styles.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds a brush with the specified attributes and returns it, else creates
       a new brush, adds it to the brush list, and returns it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBrushList" name="RemoveBrush">
    <function type="void" name="RemoveBrush">
     <parameters>
      <parameter type="wxBrush &#42;" name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Used by wxWidgets to remove a brush from the list.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBufferedDC">
  <description>
   <p class="classdesc">
    This simple class provides a simple way to avoid flicker: when drawing on
    it, everything is in fact first drawn on an in-memory buffer (a
    <ref target="wxbitmap">wxBitmap</ref>
    ) and then copied to the screen only once, when this object is destroyed.
   </p>
   <p class="classdesc">
    It can be used in the same way as any other device context. wxBufferedDC
    itself typically replaces
    <ref target="wxclientdc">wxClientDC</ref>
    , if you want to use it in your
    <tt>OnPaint()</tt>
    handler, you should look at
    <ref target="wxbufferedpaintdc">wxBufferedPaintDC</ref>
    .
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>A helper device context for double buffered drawing.</shortdesc>
  <parents>
   <ref type="help" target="wxMemoryDC">wxMemoryDC</ref>
   <ref type="help" target="wxDC">wxDC</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dcbuffer.h"/>
  </includes>
  <seealso>
   <ref target="wxdc">wxDC</ref>
  </seealso>
  <members>
   <member class="wxBufferedDC" name="wxBufferedDC">
    <function type="" name="wxBufferedDC">
     <description></description>
    </function>
    <function type="" name="wxBufferedDC">
     <parameters>
      <parameter type="wxDC &#42;" name="dc">
       The underlying DC: everything drawn to this object will be flushed to
       this DC when this object is destroyed. You may pass NULL in order to just
       initialize the buffer, and not flush it.
      </parameter>
      <parameter type="const wxSize&amp; " name="area">
       The size of the bitmap to be used for buffering (this bitmap is created
       internally when it is not given explicitly).
      </parameter>
      <parameter type="int " name="style" value="wxBUFFER\_CLIENT\_AREA">
       wxBUFFER\_CLIENT\_AREA to indicate that just the client area of the window
       is buffered, or wxBUFFER\_VIRTUAL\_AREA to indicate that the buffer bitmap
       covers the virtual area (in which case PrepareDC is automatically called
       for the actual window device context).
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxBufferedDC">
     <parameters>
      <parameter type="wxDC &#42;" name="dc">
       The underlying DC: everything drawn to this object will be flushed to
       this DC when this object is destroyed. You may pass NULL in order to just
       initialize the buffer, and not flush it.
      </parameter>
      <parameter type="const wxBitmap&amp; " name="buffer">
       Explicitly provided bitmap to be used for buffering: this is the most
       efficient solution as the bitmap doesn't have to be recreated each time
       but it also requires more memory as the bitmap is never freed. The bitmap
       should have appropriate size, anything drawn outside of its bounds is
       clipped.
      </parameter>
      <parameter type="int " name="style" value="wxBUFFER\_CLIENT\_AREA">
       wxBUFFER\_CLIENT\_AREA to indicate that just the client area of the window
       is buffered, or wxBUFFER\_VIRTUAL\_AREA to indicate that the buffer bitmap
       covers the virtual area (in which case PrepareDC is automatically called
       for the actual window device context).
      </parameter>
     </parameters>
     <description>
      <p>
       If you use the first, default, constructor, you must call one of the
       <ref target="wxbuffereddcinit">Init</ref>
       methods later in order to use the object.
      </p>
      <p>
       The other constructors initialize the object immediately and
       <tt>Init()</tt>
       must not be called after using them.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBufferedDC" name="Init">
    <function type="void" name="Init">
     <parameters>
      <parameter type="wxDC &#42;" name="dc"></parameter>
      <parameter type="const wxSize&amp; " name="area"></parameter>
      <parameter type="int " name="style" value="wxBUFFER\_CLIENT\_AREA"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Init">
     <parameters>
      <parameter type="wxDC &#42;" name="dc"></parameter>
      <parameter type="const wxBitmap&amp; " name="buffer"></parameter>
      <parameter type="int " name="style" value="wxBUFFER\_CLIENT\_AREA"></parameter>
     </parameters>
     <description>
      <p>
       These functions initialize the object created using the default
       constructor. Please see
       <ref target="wxbuffereddcctor">constructors documentation</ref>
       for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBufferedDC" name="~wxBufferedDC"></member>
  </members>
  <supported></supported>
 </class>
 <class name="wxBufferedInputStream">
  <description>
   <p class="classdesc">
    This stream acts as a cache. It caches the bytes read from the specified
    input stream (See
    <ref target="wxfilterinputstream">wxFilterInputStream</ref>
    ). It uses wxStreamBuffer and sets the default in-buffer size to 1024 bytes.
    This class may not be used without some other stream to read the data from
    (such as a file stream or a memory stream).
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Buffered input stream class</shortdesc>
  <parents>
   <ref type="help" target="wxFilterInputStream">wxFilterInputStream</ref>
  </parents>
  <includes>
   <header name="wx/stream.h"/>
  </includes>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBufferedOutputStream">
  <description>
   <p class="classdesc">
    This stream acts as a cache. It caches the bytes to be written to the
    specified output stream (See
    <ref target="wxfilteroutputstream">wxFilterOutputStream</ref>
    ). The data is only written when the cache is full, when the buffered stream
    is destroyed or when calling SeekO().
   </p>
   <p class="classdesc">
    This class may not be used without some other stream to write the data to
    (such as a file stream or a memory stream).
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Buffered output stream class</shortdesc>
  <parents>
   <ref type="help" target="wxFilterOutputStream">wxFilterOutputStream</ref>
  </parents>
  <includes>
   <header name="wx/stream.h"/>
  </includes>
  <seealso>
   <ref target="wxstreambuffer">wxStreamBuffer</ref>
   <ref target="wxoutputstream">wxOutputStream</ref>
  </seealso>
  <members>
   <member class="wxBufferedOutputStream" name="wxBufferedOutputStream">
    <function type="" name="wxBufferedOutputStream">
     <parameters>
      <parameter type="const wxOutputStream&amp; " name="parent"></parameter>
     </parameters>
     <description>
      <p>
       Creates a buffered stream using a buffer of a default size of 1024 bytes
       for cashing the stream
       <i> parent</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxBufferedOutputStream" name="~wxBufferedOutputStream">
    <function type="" name="~wxBufferedOutputStream">
     <description>
      <p>
       Destructor. Calls Sync() and destroys the internal buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBufferedOutputStream" name="SeekO">
    <function type="off\_t" name="SeekO">
     <parameters>
      <parameter type="off\_t " name="pos"></parameter>
      <parameter type="wxSeekMode " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       Calls Sync() and changes the stream position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBufferedOutputStream" name="Sync">
    <function type="void" name="Sync">
     <description>
      <p>
       Flushes the buffer and calls Sync() on the parent stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBufferedPaintDC">
  <description>
   <p class="classdesc">
    This is a subclass of
    <ref target="wxbuffereddc">wxBufferedDC</ref>
    which can be used inside of an
    <tt>OnPaint()</tt>
    event handler. Just create an object of this class instead of
    <ref target="wxpaintdc">wxPaintDC</ref>
    and that's all you have to do to (mostly) avoid flicker. The only thing to
    watch out for is that if you are using this class together with
    <ref target="wxscrolledwindow">wxScrolledWindow</ref>
    , you probably do
    <b>not</b>
    want to call
    <ref target="wxscrolledwindowpreparedc">PrepareDC</ref>
    on it as it already does this internally for the real underlying wxPaintDC.
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>A helper device context for double buffered drawing inside \\textbf\{OnPaint\}.</shortdesc>
  <parents>
   <ref type="help" target="wxMemoryDC">wxMemoryDC</ref>
   <ref type="help" target="wxDC">wxDC</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dcbuffer.h"/>
  </includes>
  <members>
   <member class="wxBufferedPaintDC" name="wxBufferedPaintDC">
    <function type="" name="wxBufferedPaintDC">
     <parameters>
      <parameter type="wxWindow &#42;" name="window"></parameter>
      <parameter type="const wxBitmap&amp; " name="buffer"></parameter>
      <parameter type="int " name="style" value="wxBUFFER\_CLIENT\_AREA"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxBufferedPaintDC">
     <parameters>
      <parameter type="wxWindow &#42;" name="window"></parameter>
      <parameter type="int " name="style" value="wxBUFFER\_CLIENT\_AREA"></parameter>
     </parameters>
     <description>
      <p>
       As with
       <ref target="wxbuffereddcctor">wxBufferedDC</ref>
       , you may either provide the bitmap to be used for buffering or let this
       object create one internally (in the latter case, the size of the client
       part of the window is used).
      </p>
      <p>
       Pass wxBUFFER\_CLIENT\_AREA for the
       <i> style</i>
       parameter to indicate that just the client area of the window is
       buffered, or wxBUFFER\_VIRTUAL\_AREA to indicate that the buffer bitmap
       covers the virtual area (in which case PrepareDC is automatically called
       for the actual window device context).
      </p>
     </description>
    </function>
   </member>
   <member class="wxBufferedPaintDC" name="~wxBufferedPaintDC"></member>
  </members>
  <supported></supported>
 </class>
 <class name="wxBusyCursor">
  <description>
   <p class="classdesc">
    This class makes it easy to tell your user that the program is temporarily
    busy. Just create a wxBusyCursor object on the stack, and within the current
    scope, the hourglass will be shown.
   </p>
   <p class="classdesc">
    For example:
   </p>
   <p class="classdesc">
    <pre>
  wxBusyCursor wait;

  for (int i = 0; i &lt; 100000; i++)
    DoACalculation();
</pre>
   </p>
   <p class="classdesc">
    It works by calling
    <ref target="wxbeginbusycursor">wxBeginBusyCursor</ref>
    in the constructor, and
    <ref target="wxendbusycursor">wxEndBusyCursor</ref>
    in the destructor.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/utils.h"/>
  </includes>
  <seealso>
   <ref target="wxbeginbusycursor">wxBeginBusyCursor</ref>
   ,
   <ref target="wxendbusycursor">wxEndBusyCursor</ref>
   ,
   <ref target="wxwindowdisabler">wxWindowDisabler</ref>
  </seealso>
  <members>
   <member class="wxBusyCursor" name="wxBusyCursor">
    <function type="" name="wxBusyCursor">
     <parameters>
      <parameter type="wxCursor&#42; " name="cursor" value="wxHOURGLASS\_CURSOR"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a busy cursor object, calling
       <ref target="wxbeginbusycursor">wxBeginBusyCursor</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxBusyCursor" name="~wxBusyCursor">
    <function type="" name="~wxBusyCursor">
     <description>
      <p>
       Destroys the busy cursor object, calling
       <ref target="wxendbusycursor">wxEndBusyCursor</ref>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxBusyInfo">
  <description>
   <p class="classdesc">
    This class makes it easy to tell your user that the program is temporarily
    busy. Just create a wxBusyInfo object on the stack, and within the current
    scope, a message window will be shown.
   </p>
   <p class="classdesc">
    For example:
   </p>
   <p class="classdesc">
    <pre>
    wxBusyInfo wait(&quot;Please wait, working...&quot;);

    for (int i = 0; i &lt; 100000; i++)
    \{
        DoACalculation();
    \}
</pre>
   </p>
   <p class="classdesc">
    It works by creating a window in the constructor, and deleting it in the
    destructor.
   </p>
   <p class="classdesc">
    You may also want to call wxTheApp-&gt;Yield() to refresh the window
    periodically (in case it had been obscured by other windows, for example)
    like this:
   </p>
   <p class="classdesc">
    <pre>
    wxWindowDisabler disableAll;

    wxBusyInfo wait(&quot;Please wait, working...&quot;);

    for (int i = 0; i &lt; 100000; i++)
    \{
        DoACalculation();

        if ( !(i 
            wxTheApp-&gt;Yield();
    \}
</pre>
   </p>
   <p class="classdesc">
    but take care to not cause undesirable reentrancies when doing it (see
    <ref target="wxappyield">wxApp::Yield()</ref>
    for more details). The simplest way to do it is to use
    <ref target="wxwindowdisabler">wxWindowDisabler</ref>
    class as illustrated in the above example.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/busyinfo.h"/>
  </includes>
  <members>
   <member class="wxBusyInfo" name="wxBusyInfo">
    <function type="" name="wxBusyInfo">
     <parameters>
      <parameter type="const wxString&amp; " name="msg"></parameter>
      <parameter type="wxWindow&#42; " name="parent" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a busy info window as child of
       <i> parent</i>
       and displays
       <i> msg</i>
       in it.
      </p>
      <p>
       <b> NB:</b>
       If
       <i> parent</i>
       is not
       <tt> NULL</tt>
       you must ensure that it is not closed while the busy info is shown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxBusyInfo" name="~wxBusyInfo">
    <function type="" name="~wxBusyInfo">
     <description>
      <p>
       Hides and closes the window containing the information text.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxButton">
  <description>
   <p class="classdesc">
    A button is a control that contains a text string, and is one of the most
    common elements of a GUI. It may be placed on a
    <ref target="wxdialog">dialog box</ref>
    or
    <ref target="wxpanel">panel</ref>
    , or indeed almost any other window.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>Push button control, displaying text</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/button.h"/>
  </includes>
  <windowstyles>
   <style name="wxBU\_LEFT">
    Left-justifies the label. Windows and GTK+ only.
   </style>
   <style name="wxBU\_TOP">
    Aligns the label to the top of the button. Windows and GTK+ only.
   </style>
   <style name="wxBU\_RIGHT">
    Right-justifies the bitmap label. Windows and GTK+ only.
   </style>
   <style name="wxBU\_BOTTOM">
    Aligns the label to the bottom of the button. Windows and GTK+ only.
   </style>
   <style name="wxBU\_EXACTFIT">
    Creates the button as small as possible instead of making it of the standard
    size (which is the default behaviour ).
   </style>
   <style name="wxNO\_BORDER">
    Creates a flat button. Windows and GTK+ only.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_BUTTON(id, func)">Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
when the button is clicked.</event>
  </events>
  <seealso>
   <ref target="wxbitmapbutton">wxBitmapButton</ref>
  </seealso>
  <members>
   <member class="wxButton" name="wxButton">
    <function type="" name="wxButton">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxButton">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Button identifier. A value of
       <tt>wxID\_ANY</tt>
       indicates a default value.
      </parameter>
      <parameter type="const wxString&amp; " name="label" value="wxEmptyString">
       Text to be displayed on the button.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Button position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Button size. If the default size is specified then the button is sized
       appropriately for the text.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxbutton">wxButton</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``button&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbuttoncreate">wxButton::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxButton" name="~wxButton">
    <function type="" name="~wxButton">
     <description>
      <p>
       Destructor, destroying the button.
      </p>
     </description>
    </function>
   </member>
   <member class="wxButton" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="label" value="wxEmptyString"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``button&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Button creation function for two-step creation. For more details, see
       <ref target="wxbuttonctor">wxButton::wxButton</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxButton" name="GetLabel">
    <function type="wxString" name="GetLabel" suffix="const">
     <seealso>
      <ref target="wxbuttonsetlabel">wxButton::SetLabel</ref>
     </seealso>
     <returnvalue>
      The button's label.
     </returnvalue>
     <description>
      <p>
       Returns the string label for the button.
      </p>
     </description>
    </function>
   </member>
   <member class="wxButton" name="GetDefaultSize">
    <function type="wxSize" name="GetDefaultSize">
     <description>
      <p>
       Returns the default size for the buttons. It is advised to make all the
       dialog buttons of the same size and this function allows to retrieve the
       (platform and current font dependent size) which should be the best
       suited for this.
      </p>
     </description>
    </function>
   </member>
   <member class="wxButton" name="SetDefault">
    <function type="void" name="SetDefault">
     <remarks>
      <p>
       Under Windows, only dialog box buttons respond to this function. As
       normal under Windows and Motif, pressing return causes the default button
       to be depressed when the return key is pressed. See also
       <ref target="wxwindowsetfocus">wxWindow::SetFocus</ref>
       which sets the keyboard focus for windows and text panel items, and
       <ref target="wxpanelsetdefaultitem">wxPanel::SetDefaultItem</ref>
       .
      </p>
      <p>
       Note that under Motif, calling this function immediately after creation
       of a button and before the creation of other buttons will cause
       misalignment of the row of buttons, since default buttons are larger. To
       get around this, call
       <i> SetDefault</i>
       after you have created a row of buttons: wxWidgets will then set the size
       of all buttons currently on the panel to the same size.
      </p>
     </remarks>
     <description>
      <p>
       This sets the button to be the default item for the panel or dialog box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxButton" name="SetLabel">
    <function type="void" name="SetLabel">
     <parameters>
      <parameter type="const wxString&amp; " name="label">
       The label to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxbuttongetlabel">wxButton::GetLabel</ref>
     </seealso>
     <description>
      <p>
       Sets the string label for the button.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCSConv">
  <description>
   <p class="classdesc">
    This class converts between any character sets and Unicode. It has one
    predefined instance,
    <b> wxConvLocal</b>
    , for the default user character set.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMBConv">wxMBConv</ref>
  </parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="wxmbconv">wxMBConv</ref>
   <ref target="wxencodingconverter">wxEncodingConverter</ref>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxCSConv" name="wxCSConv">
    <function type="" name="wxCSConv">
     <parameters>
      <parameter type="const wxChar&#42; " name="charset"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxCSConv">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. You may specify either the name of the character set you
       want to convert from/to or an encoding constant. If the character set
       name is not recognized, ISO 8859-1 is used as fall back.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCSConv" name="~wxCSConv">
    <function type="" name="~wxCSConv">
     <description>
      <p>
       Destructor frees any resources needed to perform the conversion.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCSConv" name="MB2WC">
    <function type="size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="buf"></parameter>
      <parameter type="const char&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from the selected character set to Unicode. Returns length of
       string written to destination buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCSConv" name="WC2MB">
    <function type="size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to the selected character set. Returns length of
       string written to destination buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCalculateLayoutEvent">
  <description>
   <p class="classdesc">
    This event is sent by
    <ref target="wxlayoutalgorithm">wxLayoutAlgorithm</ref>
    to calculate the amount of the remaining client area that the window should
    occupy.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>Used to calculate window layout</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/laywin.h"/>
  </includes>
  <events>
   <event name="EVT\_CALCULATE\_LAYOUT(func)">Process a wxEVT\_CALCULATE\_LAYOUT event,
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.</event>
  </events>
  <seealso>
   <ref target="wxquerylayoutinfoevent">wxQueryLayoutInfoEvent</ref>
   ,
   <ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>
   ,
   <ref target="wxlayoutalgorithm">wxLayoutAlgorithm</ref>
   .
  </seealso>
  <members>
   <member class="wxCalculateLayoutEvent" name="wxCalculateLayoutEvent">
    <function type="" name="wxCalculateLayoutEvent">
     <parameters>
      <parameter type="wxWindowID " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalculateLayoutEvent" name="GetFlags">
    <function type="int" name="GetFlags" suffix="const">
     <description>
      <p>
       Returns the flags associated with this event. Not currently used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalculateLayoutEvent" name="GetRect">
    <function type="wxRect" name="GetRect" suffix="const">
     <description>
      <p>
       Before the event handler is entered, returns the remaining parent client
       area that the window could occupy. When the event handler returns, this
       should contain the remaining parent client rectangle, after the event
       handler has subtracted the area that its window occupies.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalculateLayoutEvent" name="SetFlags">
    <function type="void" name="SetFlags">
     <parameters>
      <parameter type="int " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Sets the flags associated with this event. Not currently used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalculateLayoutEvent" name="SetRect">
    <function type="void" name="SetRect">
     <parameters>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
     </parameters>
     <description>
      <p>
       Call this to specify the new remaining parent client area, after the
       space occupied by the window has been subtracted.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCalendarCtrl">
  <description>
   <p class="classdesc">
    The calendar control allows the user to pick a date. For this, it displays a
    window containing several parts: a control at the top to pick the month and
    the year (either or both of them may be disabled), and a month area below
    them which shows all the days in the month. The user can move the current
    selection using the keyboard and select the date (generating
    <tt> EVT\_CALENDAR</tt>
    event) by pressing
    <tt> &lt;Return&gt;</tt>
    or double clicking it.
   </p>
   <p class="classdesc">
    It has advanced possibilities for the customization of its display. All
    global settings (such as colours and fonts used) can, of course, be changed.
    But also, the display style for each day in the month can be set
    independently using
    <ref target="wxcalendardateattr">wxCalendarDateAttr</ref>
    class.
   </p>
   <p class="classdesc">
    An item without custom attributes is drawn with the default colours and font
    and without border, but setting custom attributes with
    <ref target="wxcalendarctrlsetattr">SetAttr</ref>
    allows to modify its appearance. Just create a custom attribute object and
    set it for the day you want to be displayed specially (note that the control
    will take ownership of the pointer, i.e. it will delete it itself). A day
    may be marked as being a holiday, even if it is not recognized as one by
    <ref target="tdateholidays">wxDateTime</ref>
    using
    <ref target="wxcalendardateattrsetholiday">SetHoliday</ref>
    method.
   </p>
   <p class="classdesc">
    As the attributes are specified for each day, they may change when the month
    is changed, so you will often want to update them in
    <tt> EVT\_CALENDAR\_MONTH</tt>
    event handler.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>Control showing an entire calendar month</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/calctrl.h"/>
  </includes>
  <windowstyles>
   <style name="wxCAL\_SUNDAY\_FIRST">
    Show Sunday as the first day in the week
   </style>
   <style name="wxCAL\_MONDAY\_FIRST">
    Show Monday as the first day in the week
   </style>
   <style name="wxCAL\_SHOW\_HOLIDAYS">
    Highlight holidays in the calendar
   </style>
   <style name="wxCAL\_NO\_YEAR\_CHANGE">
    Disable the year changing
   </style>
   <style name="wxCAL\_NO\_MONTH\_CHANGE">
    Disable the month (and, implicitly, the year) changing
   </style>
   <style name="wxCAL\_SHOW\_SURROUNDING\_WEEKS">
    Show the neighbouring weeks in the previous and next months
   </style>
   <style name="wxCAL\_SEQUENTIAL\_MONTH\_SELECTION">
    Use alternative, more compact, style for the month and year selection
    controls.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_CALENDAR(id, func)">A day was double clicked in the calendar.</event>
   <event name="EVT\_CALENDAR\_SEL\_CHANGED(id, func)">The selected date changed.</event>
   <event name="EVT\_CALENDAR\_DAY(id, func)">The selected day changed.</event>
   <event name="EVT\_CALENDAR\_MONTH(id, func)">The selected month changed.</event>
   <event name="EVT\_CALENDAR\_YEAR(id, func)">The selected year changed.</event>
   <event name="EVT\_CALENDAR\_WEEKDAY\_CLICKED(id, func)">User clicked on the week day header</event>
  </events>
  <constants>

The following are the possible return values for 
<ref target="wxcalendarctrlhittest">HitTest</ref> method:

<pre>
enum wxCalendarHitTestResult
\{
    wxCAL\_HITTEST\_NOWHERE,      // outside of anything
    wxCAL\_HITTEST\_HEADER,       // on the header (weekdays)
    wxCAL\_HITTEST\_DAY           // on a day in the calendar
\}
</pre>
  </constants>
  <seealso>
   <ref target="samplecalendar">Calendar sample</ref>
   <br/>
   <ref target="wxcalendardateattr">wxCalendarDateAttr</ref>
   <br/>
   <ref target="wxcalendarevent">wxCalendarEvent</ref>
  </seealso>
  <members>
   <member class="wxCalendarCtrl" name="wxCalendarCtrl">
    <function type="" name="wxCalendarCtrl">
     <description>
      <p>
       Default constructor, use
       <ref target="wxcalendarctrlcreate">Create</ref>
       after it.
      </p>
     </description>
    </function>
    <function type="" name="wxCalendarCtrl">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxDateTime&amp; " name="date" value="wxDefaultDateTime"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxCAL\_SHOW\_HOLIDAYS"></parameter>
      <parameter type="const wxString&amp; " name="name" value="wxCalendarNameStr"></parameter>
     </parameters>
     <description>
      <p>
       Does the same as
       <ref target="wxcalendarctrlcreate">Create</ref>
       method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxDateTime&amp; " name="date" value="wxDefaultDateTime"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxCAL\_SHOW\_HOLIDAYS"></parameter>
      <parameter type="const wxString&amp; " name="name" value="wxCalendarNameStr"></parameter>
     </parameters>
     <description>
      <p>
       Creates the control. See
       <ref target="wxwindowctor">wxWindow</ref>
       for the meaning of the parameters and the control overview for the
       possible styles.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="~wxCalendarCtrl">
    <function type="" name="~wxCalendarCtrl">
     <description>
      <p>
       Destroys the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="SetDate">
    <function type="void" name="SetDate">
     <parameters>
      <parameter type="const wxDateTime&amp; " name="date"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current date.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetDate">
    <function type="const wxDateTime&amp;" name="GetDate" suffix="const">
     <description>
      <p>
       Gets the currently selected date.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="EnableYearChange">
    <function type="void" name="EnableYearChange">
     <parameters>
      <parameter type="bool " name="enable" value="true"></parameter>
     </parameters>
     <description>
      <p>
       This function should be used instead of changing
       <tt> wxCAL\_NO\_YEAR\_CHANGE</tt>
       style bit directly. It allows or disallows the user to change the year
       interactively.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="EnableMonthChange">
    <function type="void" name="EnableMonthChange">
     <parameters>
      <parameter type="bool " name="enable" value="true"></parameter>
     </parameters>
     <description>
      <p>
       This function should be used instead of changing
       <tt> wxCAL\_NO\_MONTH\_CHANGE</tt>
       style bit. It allows or disallows the user to change the month
       interactively. Note that if the month can not be changed, the year can
       not be changed neither.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="EnableHolidayDisplay">
    <function type="void" name="EnableHolidayDisplay">
     <parameters>
      <parameter type="bool " name="display" value="true"></parameter>
     </parameters>
     <description>
      <p>
       This function should be used instead of changing
       <tt> wxCAL\_SHOW\_HOLIDAYS</tt>
       style bit directly. It enables or disables the special highlighting of
       the holidays.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="SetHeaderColours">
    <function type="void" name="SetHeaderColours">
     <parameters>
      <parameter type="const wxColour&amp; " name="colFg"></parameter>
      <parameter type="const wxColour&amp; " name="colBg"></parameter>
     </parameters>
     <description>
      <p>
       Set the colours used for painting the weekdays at the top of the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetHeaderColourFg">
    <function type="const wxColour&amp;" name="GetHeaderColourFg" suffix="const">
     <seealso>
      <ref target="wxcalendarctrlsetheadercolours">SetHeaderColours</ref>
     </seealso>
     <description>
      <p>
       Gets the foreground colour of the header part of the calendar window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetHeaderColourBg">
    <function type="const wxColour&amp;" name="GetHeaderColourBg" suffix="const">
     <seealso>
      <ref target="wxcalendarctrlsetheadercolours">SetHeaderColours</ref>
     </seealso>
     <description>
      <p>
       Gets the background colour of the header part of the calendar window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="SetHighlightColours">
    <function type="void" name="SetHighlightColours">
     <parameters>
      <parameter type="const wxColour&amp; " name="colFg"></parameter>
      <parameter type="const wxColour&amp; " name="colBg"></parameter>
     </parameters>
     <description>
      <p>
       Set the colours to be used for highlighting the currently selected date.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetHighlightColourFg">
    <function type="const wxColour&amp;" name="GetHighlightColourFg" suffix="const">
     <seealso>
      <ref target="wxcalendarctrlsethighlightcolours">SetHighlightColours</ref>
     </seealso>
     <description>
      <p>
       Gets the foreground highlight colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetHighlightColourBg">
    <function type="const wxColour&amp;" name="GetHighlightColourBg" suffix="const">
     <seealso>
      <ref target="wxcalendarctrlsethighlightcolours">SetHighlightColours</ref>
     </seealso>
     <description>
      <p>
       Gets the background highlight colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="SetHolidayColours">
    <function type="void" name="SetHolidayColours">
     <parameters>
      <parameter type="const wxColour&amp; " name="colFg"></parameter>
      <parameter type="const wxColour&amp; " name="colBg"></parameter>
     </parameters>
     <description>
      <p>
       Sets the colours to be used for the holidays highlighting (only used if
       the window style includes
       <tt> wxCAL\_SHOW\_HOLIDAYS</tt>
       flag).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetHolidayColourFg">
    <function type="const wxColour&amp;" name="GetHolidayColourFg" suffix="const">
     <seealso>
      <ref target="wxcalendarctrlsetholidaycolours">SetHolidayColours</ref>
     </seealso>
     <description>
      <p>
       Return the foreground colour currently used for holiday highlighting.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetHolidayColourBg">
    <function type="const wxColour&amp;" name="GetHolidayColourBg" suffix="const">
     <seealso>
      <ref target="wxcalendarctrlsetholidaycolours">SetHolidayColours</ref>
     </seealso>
     <description>
      <p>
       Return the background colour currently used for holiday highlighting.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="GetAttr">
    <function type="wxCalendarDateAttr &#42;" name="GetAttr" suffix="const">
     <parameters>
      <parameter type="size\_t " name="day"></parameter>
     </parameters>
     <description>
      <p>
       Returns the attribute for the given date (should be in the range 1...31).
      </p>
      <p>
       The returned pointer may be
       <tt> NULL</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="SetAttr">
    <function type="void" name="SetAttr">
     <parameters>
      <parameter type="size\_t " name="day"></parameter>
      <parameter type="wxCalendarDateAttr&#42; " name="attr"></parameter>
     </parameters>
     <description>
      <p>
       Associates the attribute with the specified date (in the range 1...31).
      </p>
      <p>
       If the pointer is
       <tt> NULL</tt>
       , the items attribute is cleared.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="SetHoliday">
    <function type="void" name="SetHoliday">
     <parameters>
      <parameter type="size\_t " name="day"></parameter>
     </parameters>
     <description>
      <p>
       Marks the specified day as being a holiday in the current month.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="ResetAttr">
    <function type="void" name="ResetAttr">
     <parameters>
      <parameter type="size\_t " name="day"></parameter>
     </parameters>
     <description>
      <p>
       Clears any attributes associated with the given day (in the range
       1...31).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarCtrl" name="HitTest">
    <function type="wxCalendarHitTestResult" name="HitTest">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="wxDateTime&#42; " name="date" value="NULL"></parameter>
      <parameter type="wxDateTime::WeekDay&#42; " name="wd" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Returns one of
       <tt> wxCAL\_HITTEST\_XXX</tt>
       <ref target="wxcalendarctrl">constants</ref>
       and fills either
       <i> date</i>
       or
       <i> wd</i>
       pointer with the corresponding value depending on the hit test code.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCalendarDateAttr">
  <description>
   <p class="classdesc">
    wxCalendarDateAttr is a custom attributes for a calendar date. The objects
    of this class are used with
    <ref target="wxcalendarctrl">wxCalendarCtrl</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Used with \\helpref\{wxCalendarCtrl\}\{wxcalendarctrl\}</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/calctrl.h"/>
  </includes>
  <constants>

Here are the possible kinds of borders which may be used to decorate a date:

<pre>
enum wxCalendarDateBorder
\{
    wxCAL\_BORDER\_NONE,          // no border (default)
    wxCAL\_BORDER\_SQUARE,        // a rectangular border
    wxCAL\_BORDER\_ROUND          // a round border
\}
</pre>
  </constants>
  <seealso>
   <ref target="wxcalendarctrl">wxCalendarCtrl</ref>
  </seealso>
  <members>
   <member class="wxCalendarDateAttr" name="wxCalendarDateAttr">
    <function type="" name="wxCalendarDateAttr">
     <description></description>
    </function>
    <function type="" name="wxCalendarDateAttr">
     <parameters>
      <parameter type="const wxColour&amp; " name="colText"></parameter>
      <parameter type="const wxColour&amp; " name="colBack" value="wxNullColour"></parameter>
      <parameter type="const wxColour&amp; " name="colBorder" value="wxNullColour"></parameter>
      <parameter type="const wxFont&amp; " name="font" value="wxNullFont"></parameter>
      <parameter type="wxCalendarDateBorder " name="border" value="wxCAL\_BORDER\_NONE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxCalendarDateAttr">
     <parameters>
      <parameter type="wxCalendarDateBorder " name="border"></parameter>
      <parameter type="const wxColour&amp; " name="colBorder" value="wxNullColour"></parameter>
     </parameters>
     <description>
      <p>
       The constructors.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="SetTextColour">
    <function type="void" name="SetTextColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colText"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text (foreground) colour to use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="SetBackgroundColour">
    <function type="void" name="SetBackgroundColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colBack"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text background colour to use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="SetBorderColour">
    <function type="void" name="SetBorderColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the border colour to use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="SetFont">
    <function type="void" name="SetFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the font to use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="SetBorder">
    <function type="void" name="SetBorder">
     <parameters>
      <parameter type="wxCalendarDateBorder " name="border"></parameter>
     </parameters>
     <description>
      <p>
       Sets the
       <ref target="wxcalendardateattr">border kind</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="SetHoliday">
    <function type="void" name="SetHoliday">
     <parameters>
      <parameter type="bool " name="holiday"></parameter>
     </parameters>
     <description>
      <p>
       Display the date with this attribute as a holiday.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="HasTextColour">
    <function type="bool" name="HasTextColour" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this item has a non default text foreground colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="HasBackgroundColour">
    <function type="bool" name="HasBackgroundColour" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this attribute specifies a non default text background colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="HasBorderColour">
    <function type="bool" name="HasBorderColour" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this attribute specifies a non default border colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="HasFont">
    <function type="bool" name="HasFont" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this attribute specifies a non default font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="HasBorder">
    <function type="bool" name="HasBorder" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this attribute specifies a non default (i.e. any) border.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="IsHoliday">
    <function type="bool" name="IsHoliday" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this attribute specifies that this item should be displayed as a
       holiday.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="GetTextColour">
    <function type="const wxColour&amp;" name="GetTextColour" suffix="const">
     <description>
      <p>
       Returns the text colour to use for the item with this attribute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="GetBackgroundColour">
    <function type="const wxColour&amp;" name="GetBackgroundColour" suffix="const">
     <description>
      <p>
       Returns the background colour to use for the item with this attribute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="GetBorderColour">
    <function type="const wxColour&amp;" name="GetBorderColour" suffix="const">
     <description>
      <p>
       Returns the border colour to use for the item with this attribute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="GetFont">
    <function type="const wxFont&amp;" name="GetFont" suffix="const">
     <description>
      <p>
       Returns the font to use for the item with this attribute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarDateAttr" name="GetBorder">
    <function type="wxCalendarDateBorder" name="GetBorder" suffix="const">
     <description>
      <p>
       Returns the
       <ref target="wxcalendardateattr">border</ref>
       to use for the item with this attribute.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCalendarEvent">
  <description>
   <p class="classdesc">
    The wxCalendarEvent class is used together with
    <ref target="wxcalendarctrl">wxCalendarCtrl</ref>
    .
   </p>
  </description>
  <category>Events</category>
  <shortdesc>Used with \\helpref\{wxCalendarCtrl\}\{wxcalendarctrl\}</shortdesc>
  <parents>
   <ref type="help" target="wxDateEvent">wxDateEvent</ref>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/calctrl.h"/>
  </includes>
  <seealso>
   <ref target="wxcalendarctrl">wxCalendarCtrl</ref>
  </seealso>
  <members>
   <member class="wxCalendarEvent" name="GetWeekDay">
    <function type="wxDateTime::WeekDay" name="GetWeekDay" suffix="const">
     <description>
      <p>
       Returns the week day on which the user clicked in
       <tt> EVT\_CALENDAR\_WEEKDAY\_CLICKED</tt>
       handler. It doesn't make sense to call this function in other handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCalendarEvent" name="SetWeekDay">
    <function type="void" name="SetWeekDay">
     <parameters>
      <parameter type="wxDateTime::WeekDay " name="day"></parameter>
     </parameters>
     <description>
      <p>
       Sets the week day carried by the event, normally only used by the library
       internally.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCaret">
  <description>
   <p class="classdesc">
    A caret is a blinking cursor showing the position where the typed text will
    appear. The text controls usually have a caret but wxCaret class also allows
    to use a caret in other windows.
   </p>
   <p class="classdesc">
    Currently, the caret appears as a rectangle of the given size. In the
    future, it will be possible to specify a bitmap to be used for the caret
    shape.
   </p>
   <p class="classdesc">
    A caret is always associated with a window and the current caret can be
    retrieved using
    <ref target="wxwindowgetcaret">wxWindow::GetCaret</ref>
    . The same caret can't be reused in two different windows.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>A caret (cursor) object</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/caret.h"/>
  </includes>
  <structs></structs>
  <members>
   <member class="wxCaret" name="wxCaret">
    <function type="" name="wxCaret">
     <description>
      <p>
       Default constructor: you must use one of Create() functions later.
      </p>
     </description>
    </function>
    <function type="" name="wxCaret">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxCaret">
     <parameters>
      <parameter type="wxWindowBase&#42; " name="window"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Create the caret of given (in pixels) width and height and associates it
       with the given window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindowBase&#42; " name="window"></parameter>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindowBase&#42; " name="window"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Create the caret of given (in pixels) width and height and associates it
       with the given window (same as constructor).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="GetBlinkTime">
    <function type="static int" name="GetBlinkTime">
     <description>
      <p>
       Returns the blink time which is measured in milliseconds and is the time
       elapsed between 2 inversions of the caret (blink time of the caret is the
       same for all carets, so this functions is static).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="GetPosition">
    <function type="void" name="GetPosition" suffix="const">
     <parameters>
      <parameter type="int&#42; " name="x"></parameter>
      <parameter type="int&#42; " name="y"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description>
      <p>
       Get the caret position (in pixels).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="GetSize">
    <function type="void" name="GetSize" suffix="const">
     <parameters>
      <parameter type="int&#42; " name="width"></parameter>
      <parameter type="int&#42; " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxSize" name="GetSize" suffix="const">
     <description>
      <p>
       Get the caret size.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="GetWindow">
    <function type="wxWindow&#42;" name="GetWindow" suffix="const">
     <description>
      <p>
       Get the window the caret is associated with.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="Hide">
    <function type="void" name="Hide">
     <description>
      <p>
       Same as
       <ref target="wxcaretshow">wxCaret::Show(false)</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns true if the caret was created successfully.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="IsVisible">
    <function type="bool" name="IsVisible" suffix="const">
     <description>
      <p>
       Returns true if the caret is visible and false if it is permanently
       hidden (if it is is blinking and not shown currently but will be after
       the next blink, this method still returns true).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="Move">
    <function type="void" name="Move">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Move">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
     </parameters>
     <description>
      <p>
       Move the caret to given position (in logical coordinates).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="SetBlinkTime">
    <function type="static void" name="SetBlinkTime">
     <parameters>
      <parameter type="int " name="milliseconds"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcaretgetblinktime">GetBlinkTime</ref>
     </seealso>
     <remarks>
      <p>
       Under Windows, this function will change the blink time for
       <b> all</b>
       carets permanently (until the next time it is called), even for the
       carets in other applications.
      </p>
     </remarks>
     <description>
      <p>
       Sets the blink time for all the carets.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="SetSize">
    <function type="void" name="SetSize">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetSize">
     <parameters>
      <parameter type="const wxSize&amp; " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Changes the size of the caret.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCaret" name="Show">
    <function type="void" name="Show">
     <parameters>
      <parameter type="bool " name="show" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Shows or hides the caret. Notice that if the caret was hidden $N$ times,
       it must be shown $N$ times as well to reappear on the screen.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCheckBox">
  <description>
   <p class="classdesc">
    A checkbox is a labelled box which by default is either on (checkmark is
    visible) or off (no checkmark). Optionally (when the wxCHK\_3STATE style flag
    is set) it can have a third state, called the mixed or undetermined state.
    Often this is used as a &quot;Does Not Apply&quot; state.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>Checkbox control</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/checkbox.h"/>
  </includes>
  <windowstyles>
   <style name="wxCHK\_2STATE">
    Create a 2-state checkbox. This is the default.
   </style>
   <style name="wxCHK\_3STATE">
    wxCHK\_3STATE
   </style>
   <style name="wxCHK\_ALLOW\_3RD\_STATE\_FOR\_USER">
    wxCHK\_ALLOW\_3RD\_STATE\_FOR\_USER
   </style>
   <style name="wxALIGN\_RIGHT">
    Makes the text appear on the left of the checkbox.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_CHECKBOX(id, func)">Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED event,
when the checkbox is clicked.</event>
  </events>
  <seealso>
   <ref target="wxradiobutton">wxRadioButton</ref>
   <ref target="wxcommandevent">wxCommandEvent</ref>
  </seealso>
  <members>
   <member class="wxCheckBox" name="wxCheckBox">
    <function type="" name="wxCheckBox">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxCheckBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Checkbox identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxString&amp; " name="label">
       Text to be displayed next to the checkbox.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Checkbox position. If the position (-1, -1) is specified then a default
       position is chosen.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Checkbox size. If the default size (-1, -1) is specified then a default
       size is chosen.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxcheckbox">wxCheckBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="val"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``checkBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcheckboxcreate">wxCheckBox::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxCheckBox" name="~wxCheckBox">
    <function type="" name="~wxCheckBox">
     <description>
      <p>
       Destructor, destroying the checkbox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="label"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="val"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``checkBox&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Creates the checkbox for two-step construction. See
       <ref target="wxcheckboxctor">wxCheckBox::wxCheckBox</ref>
       for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="GetValue">
    <function type="bool" name="GetValue" suffix="const">
     <returnvalue>
      Returns true if it is checked, false otherwise.
     </returnvalue>
     <description>
      <p>
       Gets the state of a 2-state checkbox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="Get3StateValue">
    <function type="wxCheckBoxState" name="Get3StateValue" suffix="const">
     <returnvalue>
      Returns wxCHK\_UNCHECKED when the checkbox is unchecked, wxCHK\_CHECKED when
      it is checked and wxCHK\_UNDETERMINED when it's in the undetermined state.
      Asserts when the function is used with a 2-state checkbox.
     </returnvalue>
     <description>
      <p>
       Gets the state of a 3-state checkbox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="Is3rdStateAllowedForUser">
    <function type="bool" name="Is3rdStateAllowedForUser" suffix="const">
     <returnvalue>
      Returns true if the user can set the third state of this checkbox, false
      if it can only be set programmatically or if it's a 2-state checkbox.
     </returnvalue>
     <description>
      <p>
       Returns whether or not the user can set the checkbox to the third state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="Is3State">
    <function type="bool" name="Is3State" suffix="const">
     <returnvalue>
      Returns true if this checkbox is a 3-state checkbox, false if it's a
      2-state checkbox.
     </returnvalue>
     <description>
      <p>
       Returns whether or not the checkbox is a 3-state checkbox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="IsChecked">
    <function type="bool" name="IsChecked" suffix="const">
     <description>
      <p>
       This is just a maybe more readable synonym for
       <ref target="wxcheckboxgetvalue">GetValue</ref>
       : just as the latter, it returns true if the checkbox is checked and
       false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="SetValue">
    <function type="void" name="SetValue">
     <parameters>
      <parameter type="bool " name="state">
       If true, the check is on, otherwise it is off.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the checkbox to the given state. This does not cause a
       wxEVT\_COMMAND\_CHECKBOX\_CLICKED event to get emitted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckBox" name="Set3StateValue">
    <function type="void" name="Set3StateValue">
     <parameters>
      <parameter type="const wxCheckBoxState " name="state">
       Can be one of: wxCHK\_UNCHECKED (Check is off), wxCHK\_CHECKED (Check is
       on) or wxCHK\_UNDETERMINED (Check is mixed). Asserts when the checkbox is
       a 2-state checkbox and setting the state to wxCHK\_UNDETERMINED.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the checkbox to the given state. This does not cause a
       wxEVT\_COMMAND\_CHECKBOX\_CLICKED event to get emitted.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCheckListBox">
  <description>
   <p class="classdesc">
    A checklistbox is like a listbox, but allows items to be checked or
    unchecked.
   </p>
   <p class="classdesc">
    When using this class under Windows wxWidgets must be compiled with
    USE\_OWNER\_DRAWN set to 1.
   </p>
   <p class="classdesc">
    Only the new functions for this class are documented; see also
    <ref target="wxlistbox">wxListBox</ref>
    .
   </p>
   <p class="classdesc">
    Please note that wxCheckListBox uses client data in its implementation, and
    therefore this is not available to the application.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A listbox with a checkbox to the left of each item</shortdesc>
  <parents>
   <ref type="help" target="wxListBox">wxListBox</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/checklst.h"/>
  </includes>
  <windowstyles></windowstyles>
  <events>
   <event name="EVT\_CHECKLISTBOX(id, func)">Process a wxEVT\_COMMAND\_CHECKLISTBOX\_TOGGLED event,
when an item in the check list box is checked or unchecked.</event>
  </events>
  <seealso>
   <ref target="wxlistbox">wxListBox</ref>
   <ref target="wxchoice">wxChoice</ref>
   <ref target="wxcombobox">wxComboBox</ref>
   <ref target="wxlistctrl">wxListCtrl</ref>
   ,
   <ref target="wxcommandevent">wxCommandEvent</ref>
  </seealso>
  <members>
   <member class="wxCheckListBox" name="wxCheckListBox">
    <function type="" name="wxCheckListBox">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxCheckListBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="int " name="n">
       Number of strings with which to initialise the control.
      </parameter>
      <parameter type="const wxString " name="choices[]" value="NULL"></parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxchecklistbox">wxCheckListBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``listBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxCheckListBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings with which to initialise the control.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxchecklistbox">wxCheckListBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``listBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor, creating and showing a list box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckListBox" name="~wxCheckListBox">
    <function type="void" name="~wxCheckListBox">
     <description>
      <p>
       Destructor, destroying the list box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckListBox" name="Check">
    <function type="void" name="Check">
     <parameters>
      <parameter type="int " name="item">
       Index of item to check.
      </parameter>
      <parameter type="bool " name="check" value="true">
       true if the item is to be checked, false otherwise.
      </parameter>
     </parameters>
     <description>
      <p>
       Checks the given item. Note that calling this method doesn't result in
       wxEVT\_COMMAND\_CHECKLISTBOX\_TOGGLE being emitted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCheckListBox" name="IsChecked">
    <function type="bool" name="IsChecked" suffix="const">
     <parameters>
      <parameter type="int " name="item">
       Index of item whose check status is to be returned.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns true if the given item is checked, false otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxChoice">
  <description>
   <p class="classdesc">
    A choice item is used to select one of a list of strings. Unlike a listbox,
    only the selection is visible until the user pulls down the menu of choices.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>Choice control (a combobox without the editable area)</shortdesc>
  <parents>
   <ref type="help" target="wxControlWithItems">wxControlWithItems</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/choice.h"/>
  </includes>
  <windowstyles></windowstyles>
  <events>
   <event name="EVT\_CHOICE(id, func)">Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
when an item on the list is selected.</event>
  </events>
  <seealso>
   <ref target="wxlistbox">wxListBox</ref>
   <ref target="wxcombobox">wxComboBox</ref>
   ,
   <ref target="wxcommandevent">wxCommandEvent</ref>
  </seealso>
  <members>
   <member class="wxChoice" name="wxChoice">
    <function type="" name="wxChoice">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxChoice">
     <parameters>
      <parameter type="wxWindow &#42;" name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. If the default size (-1, -1) is specified then the choice is
       sized appropriately.
      </parameter>
      <parameter type="int " name="n">
       Number of strings with which to initialise the choice control.
      </parameter>
      <parameter type="const wxString " name="choices[]"></parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxchoice">wxChoice</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``choice&quot;">
       Window name.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxChoice">
     <parameters>
      <parameter type="wxWindow &#42;" name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. If the default size (-1, -1) is specified then the choice is
       sized appropriately.
      </parameter>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings with which to initialise the choice control.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxchoice">wxChoice</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``choice&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxchoicecreate">wxChoice::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxChoice" name="~wxChoice">
    <function type="" name="~wxChoice">
     <description>
      <p>
       Destructor, destroying the choice item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxChoice" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow &#42;" name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
      <parameter type="int " name="n"></parameter>
      <parameter type="const wxString " name="choices[]"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``choice&quot;"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow &#42;" name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
      <parameter type="const wxArrayString&amp; " name="choices"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``choice&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Creates the choice for two-step construction. See
       <ref target="wxchoicector">wxChoice::wxChoice</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxChoice" name="Delete">
    <function type="void" name="Delete">
     <parameters>
      <parameter type="int " name="n">
       The item to delete.
      </parameter>
     </parameters>
     <description>
      <p>
       Deletes the item with the given index from the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxChoice" name="GetColumns">
    <function type="int" name="GetColumns" suffix="const">
     <remarks>
      <p>
       This is implemented for Motif only and always returns 1 for the other
       platforms.
      </p>
     </remarks>
     <description>
      <p>
       Gets the number of columns in this choice item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxChoice" name="SetColumns">
    <function type="void" name="SetColumns">
     <parameters>
      <parameter type="int " name="n" value="1">
       Number of columns.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This is implemented for Motif only and doesn't do anything under other
       platforms.
      </p>
     </remarks>
     <description>
      <p>
       Sets the number of columns in this choice item.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxChoicebook">
  <description>
   <p class="classdesc">
    wxChoicebook is a class similar to
    <ref target="wxnotebook">wxNotebook</ref>
    but which uses a
    <ref target="wxchoice">wxChoice</ref>
    to show the labels instead of the tabs.
   </p>
   <p class="classdesc">
    There is no documentation for this class yet but its usage is identical to
    wxNotebook (except for the features clearly related to tabs only), so please
    refer to that class documentation for now. You can also use the
    <ref target="samplenotebook">notebook sample</ref>
    to see wxChoicebook in action.
   </p>
  </description>
  <category>Miscellaneous windows</category>
  <shortdesc>Similar to notebook but using choice control</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/choicebk.h"/>
  </includes>
  <windowstyles>
   <style name="wxCHB\_DEFAULT">
    wxCHB\_DEFAULT
   </style>
   <style name="wxCHB\_TOP">
    Place labels above the page area.
   </style>
   <style name="wxCHB\_LEFT">
    Place labels on the left side.
   </style>
   <style name="wxCHB\_RIGHT">
    Place labels on the right side.
   </style>
   <style name="wxCHB\_BOTTOM">
    Place labels below the page area.
   </style>
  </windowstyles>
  <members></members>
  <supported></supported>
 </class>
 <class name="wxClassInfo">
  <description>
   <p class="classdesc">
    This class stores meta-information about classes. Instances of this class
    are not generally defined directly by an application, but indirectly through
    use of macros such as
    <b> DECLARE\_DYNAMIC\_CLASS</b>
    and
    <b> IMPLEMENT\_DYNAMIC\_CLASS</b>
    .
   </p>
  </description>
  <category>Run-time class information system</category>
  <shortdesc>Holds run-time class information</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/object.h"/>
  </includes>
  <seealso>
   <ref target="wxclassinfooverview">Overview</ref>
   <ref target="wxobject">wxObject</ref>
  </seealso>
  <members>
   <member class="wxClassInfo" name="wxClassInfo">
    <function type="" name="wxClassInfo">
     <parameters>
      <parameter type="const wxChar &#42; " name="className"></parameter>
      <parameter type="const wxClassInfo &#42; " name="baseClass1"></parameter>
      <parameter type="const wxClassInfo &#42; " name="baseClass2"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxObjectConstructorFn " name="fn"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a wxClassInfo object. The supplied macros implicitly construct
       objects of this class, so there is no need to create such objects
       explicitly in an application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="CreateObject">
    <function type="wxObject&#42;" name="CreateObject">
     <description>
      <p>
       Creates an object of the appropriate kind. Returns NULL if the class has
       not been declared dynamically creatable (typically, it is an abstract
       class).
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="FindClass">
    <function type="static wxClassInfo &#42;" name="FindClass">
     <parameters>
      <parameter type="wxChar &#42; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Finds the wxClassInfo object for a class of the given string name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="GetBaseClassName1">
    <function type="const wxChar &#42;" name="GetBaseClassName1" suffix="const">
     <description>
      <p>
       Returns the name of the first base class (NULL if none).
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="GetBaseClassName2">
    <function type="const wxChar &#42;" name="GetBaseClassName2" suffix="const">
     <description>
      <p>
       Returns the name of the second base class (NULL if none).
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="GetClassName">
    <function type="const wxChar &#42;" name="GetClassName" suffix="const">
     <description>
      <p>
       Returns the string form of the class name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="GetSize">
    <function type="int" name="GetSize" suffix="const">
     <description>
      <p>
       Returns the size of the class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="InitializeClasses">
    <function type="static void" name="InitializeClasses">
     <description>
      <p>
       Initializes pointers in the wxClassInfo objects for fast execution of
       IsKindOf. Called in base wxWidgets library initialization.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClassInfo" name="IsKindOf">
    <function type="bool" name="IsKindOf">
     <parameters>
      <parameter type="wxClassInfo&#42; " name="info"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if this class is a kind of (inherits from) the given class.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxClient">
  <description>
   <p class="classdesc">
    A wxClient object represents the client part of a client-server DDE-like
    (Dynamic Data Exchange) conversation. The actual DDE-based implementation
    using wxDDEClient is available on Windows only, but a platform-independent,
    socket-based version of this API is available using wxTCPClient, which has
    the same API.
   </p>
   <p class="classdesc">
    To create a client which can communicate with a suitable server, you need to
    derive a class from wxConnection and another from wxClient. The custom
    wxConnection class will intercept communications in a `conversation' with a
    server, and the custom wxClient is required so that a user-overridden
    <ref target="wxclientonmakeconnection">wxClient::OnMakeConnection</ref>
    member can return a wxConnection of the required class, when a connection is
    made. Look at the IPC sample and the
    <ref target="ipcoverview">Interprocess communications overview</ref>
    for an example of how to do this.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxClientBase">wxClientBase</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/ipc.h"/>
  </includes>
  <seealso>
   <ref target="wxserver">wxServer</ref>
   <ref target="wxconnection">wxConnection</ref>
   <ref target="ipcoverview">Interprocess communications overview</ref>
  </seealso>
  <members>
   <member class="wxClient" name="wxClient">
    <function type="" name="wxClient">
     <description>
      <p>
       Constructs a client object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClient" name="MakeConnection">
    <function type="wxConnectionBase &#42;" name="MakeConnection">
     <parameters>
      <parameter type="const wxString&amp; " name="host"></parameter>
      <parameter type="const wxString&amp; " name="service"></parameter>
      <parameter type="const wxString&amp; " name="topic"></parameter>
     </parameters>
     <description>
      <p>
       Tries to make a connection with a server by host (machine name under UNIX
       - use 'localhost' for same machine; ignored when using native DDE in
       Windows), service name and topic string. If the server allows a
       connection, a wxConnection object will be returned. The type of
       wxConnection returned can be altered by overriding the
       <ref target="wxclientonmakeconnection">wxClient::OnMakeConnection</ref>
       member to return your own derived connection object.
      </p>
      <p>
       Under Unix, the service name may be either an integer port identifier in
       which case an Internet domain socket will be used for the communications,
       or a valid file name (which shouldn't exist and will be deleted
       afterwards) in which case a Unix domain socket is created.
      </p>
      <p>
       <b> SECURITY NOTE:</b>
       Using Internet domain sockets if extremely insecure for IPC as there is
       absolutely no access control for them, use Unix domain sockets whenever
       possible!
      </p>
     </description>
    </function>
   </member>
   <member class="wxClient" name="OnMakeConnection">
    <function type="wxConnectionBase &#42;" name="OnMakeConnection">
     <description>
      <p>
       Called by
       <ref target="wxclientmakeconnection">wxClient::MakeConnection</ref>
       , by default this simply returns a new wxConnection object. Override this
       method to return a wxConnection descendant customised for the
       application.
      </p>
      <p>
       The advantage of deriving your own connection class is that it will
       enable you to intercept messages initiated by the server, such as
       <ref target="wxconnectiononadvise">wxConnection::OnAdvise</ref>
       . You may also want to store application-specific data in instances of
       the new class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClient" name="ValidHost">
    <function type="bool" name="ValidHost">
     <parameters>
      <parameter type="const wxString&amp; " name="host"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if this is a valid host name, false otherwise. This always
       returns true under MS Windows.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxClientDC">
  <description>
   <p class="classdesc">
    A wxClientDC must be constructed if an application wishes to paint on the
    client area of a window from outside an
    <b> OnPaint</b>
    event. This should normally be constructed as a temporary stack object;
    don't store a wxClientDC object.
   </p>
   <p class="classdesc">
    To draw on a window from within
    <b> OnPaint</b>
    , construct a
    <ref target="wxpaintdc">wxPaintDC</ref>
    object.
   </p>
   <p class="classdesc">
    To draw on the whole window including decorations, construct a
    <ref target="wxwindowdc">wxWindowDC</ref>
    object (Windows only).
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>A device context to access the client area outside \{\\bf OnPaint\} events</shortdesc>
  <parents>
   <ref type="help" target="wxWindowDC">wxWindowDC</ref>
   <ref type="help" target="wxDC">wxDC</ref>
  </parents>
  <includes>
   <header name="wx/dcclient.h"/>
  </includes>
  <seealso>
   <ref target="wxdc">wxDC</ref>
   <ref target="wxmemorydc">wxMemoryDC</ref>
   <ref target="wxpaintdc">wxPaintDC</ref>
   ,
   <ref target="wxwindowdc">wxWindowDC</ref>
   <ref target="wxscreendc">wxScreenDC</ref>
  </seealso>
  <members>
   <member class="wxClientDC" name="wxClientDC">
    <function type="" name="wxClientDC">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Pass a pointer to the window on which you wish to paint.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="P"/>
   <platform name="nanox" status="P"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxClientData">
  <description>
   <p class="classdesc">
    All classes deriving from
    <ref target="wxevthandler">wxEvtHandler</ref>
    (such as all controls and
    <ref target="wxapp">wxApp</ref>
    ) can hold arbitrary data which is here referred to as &quot;client
    data&quot;. This is useful e.g. for scripting languages which need to handle
    shadow objects for most of wxWidgets' classes and which store a handle to
    such a shadow class as client data in that class. This data can either be of
    type void - in which case the data
    <i> container</i>
    does not take care of freeing the data again or it is of type wxClientData
    or its derivatives. In that case the container (e.g. a control) will free
    the memory itself later. Note that you
    <i> must not</i>
    assign both void data and data derived from the wxClientData class to a
    container.
   </p>
   <p class="classdesc">
    Some controls can hold various items and these controls can additionally
    hold client data for each item. This is the case for
    <ref target="wxchoice">wxChoice</ref>
    ,
    <ref target="wxcombobox">wxComboBox</ref>
    and
    <ref target="wxlistbox">wxListBox</ref>
    .
    <ref target="wxtreectrl">wxTreeCtrl</ref>
    has a specialized class
    <ref target="wxtreeitemdata">wxTreeItemData</ref>
    for each item in the tree.
   </p>
   <p class="classdesc">
    If you want to add client data to your own classes, you may use the mix-in
    class
    <ref target="wxclientdatacontainer">wxClientDataContainer</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <includes>
   <header name="wx/clntdata.h"/>
  </includes>
  <seealso>
   <ref target="wxevthandler">wxEvtHandler</ref>
   <ref target="wxtreeitemdata">wxTreeItemData</ref>
   ,
   <ref target="wxstringclientdata">wxStringClientData</ref>
   <ref target="wxclientdatacontainer">wxClientDataContainer</ref>
  </seealso>
  <members>
   <member class="wxClientData" name="wxClientData">
    <function type="" name="wxClientData">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClientData" name="~wxClientData">
    <function type="" name="~wxClientData">
     <description>
      <p>
       Virtual destructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxClientDataContainer">
  <description>
   <p class="classdesc">
    This class is a mixin that provides storage and management of &quot;client
    data.&quot; This data can either be of type void - in which case the data
    <i> container</i>
    does not take care of freeing the data again or it is of type wxClientData
    or its derivatives. In that case the container will free the memory itself
    later. Note that you
    <i> must not</i>
    assign both void data and data derived from the wxClientData class to a
    container.
   </p>
   <p class="classdesc">
    NOTE: This functionality is currently duplicated in wxEvtHandler in order to
    avoid having more than one vtable in that class hierarchy.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/clntdata.h"/>
  </includes>
  <structs></structs>
  <seealso>
   <ref target="wxevthandler">wxEvtHandler</ref>
   <ref target="wxclientdata">wxClientData</ref>
  </seealso>
  <members>
   <member class="wxClientDataContainer" name="wxClientDataContainer">
    <function type="" name="wxClientDataContainer">
     <description></description>
    </function>
   </member>
   <member class="wxClientDataContainer" name="~wxClientDataContainer">
    <function type="" name="~wxClientDataContainer">
     <description></description>
    </function>
   </member>
   <member class="wxClientDataContainer" name="GetClientData">
    <function type="void&#42;" name="GetClientData" suffix="const">
     <description>
      <p>
       Get the untyped client data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClientDataContainer" name="GetClientObject">
    <function type="wxClientData&#42;" name="GetClientObject" suffix="const">
     <description>
      <p>
       Get a pointer to the client data object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClientDataContainer" name="SetClientData">
    <function type="void" name="SetClientData">
     <parameters>
      <parameter type="void&#42; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Set the untyped client data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClientDataContainer" name="SetClientObject">
    <function type="void" name="SetClientObject">
     <parameters>
      <parameter type="wxClientData&#42; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Set the client data object. Any previous object will be deleted.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxClipboard">
  <description>
   <p class="classdesc">
    A class for manipulating the clipboard. Note that this is not compatible
    with the clipboard class from wxWidgets 1.xx, which has the same name but a
    different implementation.
   </p>
   <p class="classdesc">
    To use the clipboard, you call member functions of the global
    <b> wxTheClipboard</b>
    object.
   </p>
   <p class="classdesc">
    See also the
    <ref target="wxdataobjectoverview">wxDataObject overview</ref>
    for further information.
   </p>
   <p class="classdesc">
    Call
    <ref target="wxclipboardopen">wxClipboard::Open</ref>
    to get ownership of the clipboard. If this operation returns true, you now
    own the clipboard. Call
    <ref target="wxclipboardsetdata">wxClipboard::SetData</ref>
    to put data on the clipboard, or
    <ref target="wxclipboardgetdata">wxClipboard::GetData</ref>
    to retrieve data from the clipboard. Call
    <ref target="wxclipboardclose">wxClipboard::Close</ref>
    to close the clipboard and relinquish ownership. You should keep the
    clipboard open only momentarily.
   </p>
   <p class="classdesc">
    For example:
   </p>
   <p class="classdesc">
    <pre>
  // Write some text to the clipboard
  if (wxTheClipboard-&gt;Open())
  \{
    // This data objects are held by the clipboard, 
    // so do not delete them in the app.
    wxTheClipboard-&gt;SetData( new wxTextDataObject(&quot;Some text&quot;) );
    wxTheClipboard-&gt;Close();
  \}

  // Read some text
  if (wxTheClipboard-&gt;Open())
  \{
    if (wxTheClipboard-&gt;IsSupported( wxDF\_TEXT ))
    \{
      wxTextDataObject data;
      wxTheClipboard-&gt;GetData( data );
      wxMessageBox( data.GetText() );
    \}  
    wxTheClipboard-&gt;Close();
  \}
</pre>
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Clipboard class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/clipbrd.h"/>
  </includes>
  <seealso>
   <ref target="wxdndoverview">Drag and drop overview</ref>
   <ref target="wxdataobject">wxDataObject</ref>
  </seealso>
  <members>
   <member class="wxClipboard" name="wxClipboard">
    <function type="" name="wxClipboard">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="~wxClipboard">
    <function type="" name="~wxClipboard">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="AddData">
    <function type="bool" name="AddData">
     <parameters>
      <parameter type="wxDataObject&#42; " name="data"></parameter>
     </parameters>
     <seealso>
      <ref target="wxclipboardsetdata">wxClipboard::SetData</ref>
     </seealso>
     <description>
      <p>
       Call this function to add the data object to the clipboard. You may call
       this function repeatedly after having cleared the clipboard using
       <ref target="wxclipboardclear">wxClipboard::Clear</ref>
       .
      </p>
      <p>
       After this function has been called, the clipboard owns the data, so do
       not delete the data explicitly.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Clears the global clipboard object and the system's clipboard if
       possible.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="Close">
    <function type="void" name="Close">
     <description>
      <p>
       Call this function to close the clipboard, having opened it with
       <ref target="wxclipboardopen">wxClipboard::Open</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="Flush">
    <function type="bool" name="Flush">
     <description>
      <p>
       Flushes the clipboard: this means that the data which is currently on
       clipboard will stay available even after the application exits (possibly
       eating memory), otherwise the clipboard will be emptied on exit. Returns
       false if the operation is unsuccessful for any reason.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="GetData">
    <function type="bool" name="GetData">
     <parameters>
      <parameter type="wxDataObject&amp; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Call this function to fill
       <i> data</i>
       with data on the clipboard, if available in the required format. Returns
       true on success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="IsOpened">
    <function type="bool" name="IsOpened" suffix="const">
     <description>
      <p>
       Returns true if the clipboard has been opened.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="IsSupported">
    <function type="bool" name="IsSupported">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if there is data which matches the data format of the given
       data object currently
       <b> available</b>
       (IsSupported sounds like a misnomer, FIXME: better deprecate this name?)
       on the clipboard.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="Open">
    <function type="bool" name="Open">
     <description>
      <p>
       Call this function to open the clipboard before calling
       <ref target="wxclipboardsetdata">wxClipboard::SetData</ref>
       and
       <ref target="wxclipboardgetdata">wxClipboard::GetData</ref>
       .
      </p>
      <p>
       Call
       <ref target="wxclipboardclose">wxClipboard::Close</ref>
       when you have finished with the clipboard. You should keep the clipboard
       open for only a very short time.
      </p>
      <p>
       Returns true on success. This should be tested (as in the sample shown
       above).
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="SetData">
    <function type="bool" name="SetData">
     <parameters>
      <parameter type="wxDataObject&#42; " name="data"></parameter>
     </parameters>
     <seealso>
      <ref target="wxclipboardadddata">wxClipboard::AddData</ref>
     </seealso>
     <description>
      <p>
       Call this function to set the data object to the clipboard. This function
       will clear all previous contents in the clipboard, so calling it several
       times does not make any sense.
      </p>
      <p>
       After this function has been called, the clipboard owns the data, so do
       not delete the data explicitly.
      </p>
     </description>
    </function>
   </member>
   <member class="wxClipboard" name="UsePrimarySelection">
    <function type="void" name="UsePrimarySelection">
     <parameters>
      <parameter type="bool " name="primary" value="true"></parameter>
     </parameters>
     <description>
      <p>
       On platforms supporting it (currently only GTK), selects the so called
       PRIMARY SELECTION as the clipboard as opposed to the normal clipboard, if
       <i> primary</i>
       is true.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCloseEvent">
  <description>
   <p class="classdesc">
    This event class contains information about window and session close events.
   </p>
   <p class="classdesc">
    The handler function for EVT\_CLOSE is called when the user has tried to
    close a a frame or dialog box using the window manager (X) or system menu
    (Windows). It can also be invoked by the application itself
    programmatically, for example by calling the
    <ref target="wxwindowclose">wxWindow::Close</ref>
    function.
   </p>
   <p class="classdesc">
    You should check whether the application is forcing the deletion of the
    window using
    <ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref>
    . If this is
    <tt> false</tt>
    , you
    <i> must</i>
    destroy the window using
    <ref target="wxwindowdestroy">wxWindow::Destroy</ref>
    . If the return value is true, it is up to you whether you respond by
    destroying the window.
   </p>
   <p class="classdesc">
    If you don't destroy the window, you should call
    <ref target="wxcloseeventveto">wxCloseEvent::Veto</ref>
    to let the calling code know that you did not destroy the window. This
    allows the
    <ref target="wxwindowclose">wxWindow::Close</ref>
    function to return
    <tt> true</tt>
    or
    <tt> false</tt>
    depending on whether the close instruction was honoured or not.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A close window or end session event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_CLOSE(func)">Process a close event, supplying the member function. This
event applies to wxFrame and wxDialog classes.</event>
   <event name="EVT\_QUERY\_END\_SESSION(func)">Process a query end session event, supplying the member function.
This event applies to wxApp only.</event>
   <event name="EVT\_END\_SESSION(func)">Process an end session event, supplying the member function.
This event applies to wxApp only.</event>
  </events>
  <seealso>
   <ref target="wxwindowclose">wxWindow::Close</ref>
   ,
   <ref target="windowdeletionoverview">Window deletion overview</ref>
  </seealso>
  <members>
   <member class="wxCloseEvent" name="wxCloseEvent">
    <function type="" name="wxCloseEvent">
     <parameters>
      <parameter type="WXTYPE " name="commandEventType" value="0"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="CanVeto">
    <function type="bool" name="CanVeto">
     <description>
      <p>
       Returns true if you can veto a system shutdown or a window close event.
       Vetoing a window close event is not possible if the calling code wishes
       to force the application to exit, and so this function must be called to
       check this.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="GetLoggingOff">
    <function type="bool" name="GetLoggingOff" suffix="const">
     <description>
      <p>
       Returns true if the user is just logging off or false if the system is
       shutting down. This method can only be called for end session and query
       end session events, it doesn't make sense for close window event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="GetForce">
    <function type="bool" name="GetForce" suffix="const" obsolete="yes">
     <description>
      <p>
       Returns true if the application wishes to force the window to close. This
       will shortly be obsolete, replaced by CanVeto.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="SetCanVeto">
    <function type="void" name="SetCanVeto">
     <parameters>
      <parameter type="bool " name="canVeto"></parameter>
     </parameters>
     <description>
      <p>
       Sets the 'can veto' flag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="SetForce">
    <function type="void" name="SetForce" suffix="const" obsolete="yes">
     <parameters>
      <parameter type="bool " name="force"></parameter>
     </parameters>
     <description>
      <p>
       Sets the 'force' flag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="SetLoggingOff">
    <function type="void" name="SetLoggingOff" suffix="const">
     <parameters>
      <parameter type="bool " name="loggingOff"></parameter>
     </parameters>
     <description>
      <p>
       Sets the 'logging off' flag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCloseEvent" name="Veto">
    <function type="void" name="Veto">
     <parameters>
      <parameter type="bool " name="veto" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Call this from your event handler to veto a system shutdown or to signal
       to the calling application that a window close did not happen.
      </p>
      <p>
       You can only veto a shutdown if
       <ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref>
       returns true.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCmdLineParser">
  <description>
   <p class="classdesc">
    wxCmdLineParser is a class for parsing the command line.
   </p>
   <p class="classdesc">
    It has the following features:
    <ul>
     <li>distinguishes options, switches and parameters; allows option grouping</li>
     <li>allows both short and long options</li>
     <li>automatically generates the usage message from the command line description</li>
     <li>does type checks on the options values (number, date, ...).</li>
    </ul>
    To use it you should follow these steps:
    <ol>
     <li>\\helpref\{construct\}\{wxcmdlineparserconstruction\} an object of this class giving
      it the command line to parse and optionally its description or use
      <i>AddXXX()</i>
      functions later</li>
     <li>call
      <tt>Parse()</tt></li>
     <li>use
      <tt>Found()</tt>
      to retrieve the results</li>
    </ol>
    In the documentation below the following terminology is used:
    <table>
     <tr>
      <td>switch</td>
      <td>This is a boolean option which can be given or not, but
which doesn't have any value. We use the word switch to distinguish such boolean
options from more generic options like those described below. For example, 
<tt>-v</tt> might be a switch meaning "enable verbose mode".</td>
     </tr>
     <tr>
      <td>option</td>
      <td>Option for us here is something which comes with a value 0
unlike a switch. For example, <tt>-o:filename</tt> might be an option which allows
to specify the name of the output file.</td>
     </tr>
     <tr>
      <td>parameter</td>
      <td>This is a required program argument.</td>
     </tr>
    </table>
   </p>
  </description>
  <includes>
   <header name="wx/cmdline.h"/>
  </includes>
  <constants>
   <p>
    The structure wxCmdLineEntryDesc is used to describe the one command line
    switch, option or parameter. An array of such structures should be passed to
    \\helpref\{SetDesc()\}\{wxcmdlineparsersetdesc\}. Also, the meanings of
    parameters of the
    <tt>AddXXX()</tt>
    functions are the same as of the corresponding fields in this structure:
    <pre>
struct wxCmdLineEntryDesc
\{
    wxCmdLineEntryType kind;
    const wxChar *shortName;
    const wxChar *longName;
    const wxChar *description;
    wxCmdLineParamType type;
    int flags;
\};
</pre>
    The type of a command line entity is in the \{\\tt kind\} field and may be one
    of the following constants:
    <pre>
enum wxCmdLineEntryType
\{
    wxCMD\_LINE\_SWITCH,
    wxCMD\_LINE\_OPTION,
    wxCMD\_LINE\_PARAM,
    wxCMD\_LINE\_NONE         // use this to terminate the list
\}
</pre>
    The field
    <tt>shortName</tt>
    is the usual, short, name of the switch or the option.
    <tt>longName</tt>
    is the corresponding long name or NULL if the option has no long name. Both
    of these fields are unused for the parameters. Both the short and long
    option names can contain only letters, digits and the underscores.
    <tt>description</tt>
    is used by the \\helpref\{Usage()\}\{wxcmdlineparserusage\} method to construct a
    help message explaining the syntax of the program. The possible values of
    <tt>type</tt>
    which specifies the type of the value accepted by an option or parameter
    are:
    <pre>
enum wxCmdLineParamType
\{
    wxCMD\_LINE\_VAL\_STRING,  // default
    wxCMD\_LINE\_VAL\_NUMBER,
    wxCMD\_LINE\_VAL\_DATE,
    wxCMD\_LINE\_VAL\_NONE
\}
</pre>
    Finally, the
    <tt>flags</tt>
    field is a combination of the following bit masks:
    <pre>
enum
\{
    wxCMD\_LINE\_OPTION\_MANDATORY = 0x01, // this option must be given
    wxCMD\_LINE\_PARAM\_OPTIONAL   = 0x02, // the parameter may be omitted
    wxCMD\_LINE\_PARAM\_MULTIPLE   = 0x04, // the parameter may be repeated
    wxCMD\_LINE\_OPTION\_HELP      = 0x08, // this option is a help request
    wxCMD\_LINE\_NEEDS\_SEPARATOR  = 0x10, // must have sep before the value
\}
</pre>
    Notice that by default (i.e. if flags are just $0$), options are optional
    (sic) and each call to \\helpref\{AddParam()\}\{wxcmdlineparseraddparam\} allows
    one more parameter - this may be changed by giving non-default flags to it,
    i.e. use
    <tt>wxCMD\\\_LINE\\\_OPTION\\\_MANDATORY</tt>
    to require that the option is given and
    <tt>wxCMD\\\_LINE\\\_PARAM\\\_OPTIONAL</tt>
    to make a parameter optional. Also,
    <tt>wxCMD\\\_LINE\\\_PARAM\\\_MULTIPLE</tt>
    may be specified if the programs accepts a variable number of parameters -
    but it only can be given for the last parameter in the command line
    description. If you use this flag, you will probably need to use
    \\helpref\{GetParamCount\}\{wxcmdlineparsergetparamcount\} to retrieve the number
    of parameters effectively specified after calling
    \\helpref\{Parse\}\{wxcmdlineparserparse\}. The last flag
    <tt>wxCMD\\\_LINE\\\_NEEDS\\\_SEPARATOR</tt>
    can be specified to require a separator (either a colon, an equal sign or
    white space) between the option name and its value. By default, no separator
    is required.
   </p>
  </constants>
  <seealso>
   \\helpref\{wxApp::argc\}\{wxappargc\} and \\helpref\{wxApp::argv\}\{wxappargv\}\\\\ console sample
  </seealso>
  <membergroups>
   <membergroup name="Construction">
    <p>
     Before \\helpref\{Parse\}\{wxcmdlineparserparse\} can be called, the command
     line parser object must have the command line to parse and also the rules
     saying which switches, options and parameters are valid - this is called
     command line description in what follows.
    </p>
    <p>
     You have complete freedom of choice as to when specify the required
     information, the only restriction is that it must be done before calling
     \\helpref\{Parse\}\{wxcmdlineparserparse\}.
    </p>
    <p>
     To specify the command line to parse you may use either one of constructors
     accepting it (\\helpref\{wxCmdLineParser(argc,
     argv)\}\{wxcmdlineparserwxcmdlineparserargc\} or
     \\helpref\{wxCmdLineParser\}\{wxcmdlineparserwxcmdlineparserdescargc\} usually)
     or, if you use \\helpref\{the default
     constructor\}\{wxcmdlineparserwxcmdlineparserdef\}, you can do it later by
     calling \\helpref\{SetCmdLine\}\{wxcmdlineparsersetcmdlineargc\}.
    </p>
    <p>
     The same holds for command line description: it can be specified either in
     the constructor (\\helpref\{without command
     line\}\{wxcmdlineparserwxcmdlineparserdesc\} or \\helpref\{together with
     it\}\{wxcmdlineparserwxcmdlineparserdescargc\}) or constructed later using
     either \\helpref\{SetDesc\}\{wxcmdlineparsersetdesc\} or combination of
     \\helpref\{AddSwitch\}\{wxcmdlineparseraddswitch\},
     \\helpref\{AddOption\}\{wxcmdlineparseraddoption\} and
     \\helpref\{AddParam\}\{wxcmdlineparseraddparam\} methods.
    </p>
    <p>
     Using constructors or \\helpref\{SetDesc\}\{wxcmdlineparsersetdesc\} uses a
     (usually
     <tt>const static</tt>
     ) table containing the command line description. If you want to decide
     which options to accept during the run-time, using one of the
     <tt>AddXXX()</tt>
     functions above might be preferable.
    </p>
   </membergroup>
   <membergroup name="Customization">
    <p>
     wxCmdLineParser has several global options which may be changed by the
     application. All of the functions described in this section should be
     called before \\helpref\{Parse\}\{wxcmdlineparserparse\}.
    </p>
    <p>
     First global option is the support for long (also known as GNU-style)
     options. The long options are the ones which start with two dashes (\{\\tt
     "--"\}) and look like this: \{\\tt --verbose\}, i.e. they generally are
     complete words and not some abbreviations of them. As long options are used
     by more and more applications, they are enabled by default, but may be
     disabled with
     \\helpref\{DisableLongOptions\}\{wxcmdlineparserdisablelongoptions\}.
    </p>
    <p>
     Another global option is the set of characters which may be used to start
     an option (otherwise, the word on the command line is assumed to be a
     parameter). Under Unix, \{\\tt '-'\} is always used, but Windows has at least
     two common choices for this: \{\\tt '-'\} and \{\\tt '/'\}. Some programs also
     use \{\\tt '+'\}. The default is to use what suits most the current platform,
     but may be changed with
     \\helpref\{SetSwitchChars\}\{wxcmdlineparsersetswitchchars\} method.
    </p>
    <p>
     Finally, \\helpref\{SetLogo\}\{wxcmdlineparsersetlogo\} can be used to show some
     application-specific text before the explanation given by
     \\helpref\{Usage\}\{wxcmdlineparserusage\} function.
    </p>
   </membergroup>
   <membergroup name="Parsing command line">
    <p>
     After the command line description was constructed and the desired options
     were set, you can finally call \\helpref\{Parse\}\{wxcmdlineparserparse\}
     method. It returns $0$ if the command line was correct and was parsed, $-1$
     if the help option was specified (this is a separate case as, normally, the
     program will terminate after this) or a positive number if there was an
     error during the command line parsing.
    </p>
    <p>
     In the latter case, the appropriate error message and usage information are
     logged by wxCmdLineParser itself using the standard wxWidgets logging
     functions.
    </p>
   </membergroup>
   <membergroup name="Getting results">
    <p>
     After calling \\helpref\{Parse\}\{wxcmdlineparserparse\} (and if it returned
     $0$), you may access the results of parsing using one of overloaded \{\\tt
     Found()\} methods.
    </p>
    <p>
     For a simple switch, you will simply call
     \\helpref\{Found\}\{wxcmdlineparserfoundswitch\} to determine if the switch was
     given or not, for an option or a parameter, you will call a version of \{\\tt
     Found()\} which also returns the associated value in the provided variable.
     All \{\\tt Found()\} functions return true if the switch or option were found
     in the command line or false if they were not specified.
    </p>
   </membergroup>
  </membergroups>
  <members>
   <member class="wxCmdLineParser" name="wxCmdLineParser">
    <function type="" name="wxCmdLineParser">
     <description>
      <p>
       Default constructor. You must use
       <ref target="wxcmdlineparsersetcmdlineargc">SetCmdLine</ref>
       later.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="wxCmdLineParser">
    <function type="" name="wxCmdLineParser">
     <parameters>
      <parameter type="int " name="argc"></parameter>
      <parameter type="char&#42;&#42; " name="argv"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxCmdLineParser">
     <parameters>
      <parameter type="int " name="argc"></parameter>
      <parameter type="wchar\_t&#42;&#42; " name="argv"></parameter>
     </parameters>
     <description>
      <p>
       Constructor specifies the command line to parse. This is the traditional
       (Unix) command line format. The parameters
       <i> argc</i>
       and
       <i> argv</i>
       have the same meaning as for
       <tt> main()</tt>
       function.
      </p>
      <p>
       The second overloaded constructor is only available in Unicode build. The
       first one is available in both ANSI and Unicode modes because under some
       platforms the command line arguments are passed as ASCII strings even to
       Unicode programs.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="wxCmdLineParser">
    <function type="" name="wxCmdLineParser">
     <parameters>
      <parameter type="const wxString&amp; " name="cmdline"></parameter>
     </parameters>
     <description>
      <p>
       Constructor specifies the command line to parse in Windows format. The
       parameter
       <i> cmdline</i>
       has the same meaning as the corresponding parameter of
       <tt> WinMain()</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="wxCmdLineParser">
    <function type="" name="wxCmdLineParser">
     <parameters>
      <parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxcmdlineparserwxcmdlineparserdef">wxCmdLineParser</ref>
       , but also specifies the
       <ref target="wxcmdlineparsersetdesc">command line description</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="wxCmdLineParser">
    <function type="" name="wxCmdLineParser">
     <parameters>
      <parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
      <parameter type="int " name="argc"></parameter>
      <parameter type="char&#42;&#42; " name="argv"></parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxcmdlineparserwxcmdlineparserargc">wxCmdLineParser</ref>
       , but also specifies the
       <ref target="wxcmdlineparsersetdesc">command line description</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="wxCmdLineParser">
    <function type="" name="wxCmdLineParser">
     <parameters>
      <parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
      <parameter type="const wxString&amp; " name="cmdline"></parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxcmdlineparserwxcmdlineparserstr">wxCmdLineParser</ref>
       , but also specifies the
       <ref target="wxcmdlineparsersetdesc">command line description</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="ConvertStringToArgs">
    <function type="static wxArrayString" name="ConvertStringToArgs">
     <parameters>
      <parameter type="const wxChar &#42;" name="cmdline"></parameter>
     </parameters>
     <description>
      <p>
       Breaks down the string containing the full command line in words. The
       words are separated by whitespace. The quotes can be used in the input
       string to quote the white space and the back slashes can be used to quote
       the quotes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="SetCmdLine">
    <function type="void" name="SetCmdLine">
     <parameters>
      <parameter type="int " name="argc"></parameter>
      <parameter type="char&#42;&#42; " name="argv"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetCmdLine">
     <parameters>
      <parameter type="int " name="argc"></parameter>
      <parameter type="wchar\_t&#42;&#42; " name="argv"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcmdlineparserwxcmdlineparserargc">wxCmdLineParser</ref>
     </seealso>
     <description>
      <p>
       Set command line to parse after using one of the constructors which don't
       do it. The second overload of this function is only available in Unicode
       build.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="SetCmdLine">
    <function type="void" name="SetCmdLine">
     <parameters>
      <parameter type="const wxString&amp; " name="cmdline"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcmdlineparserwxcmdlineparserstr">wxCmdLineParser</ref>
     </seealso>
     <description>
      <p>
       Set command line to parse after using one of the constructors which don't
       do it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="~wxCmdLineParser">
    <function type="" name="~wxCmdLineParser">
     <description>
      <p>
       Frees resources allocated by the object.
      </p>
      <p>
       <b> NB:</b>
       destructor is not virtual, don't use this class polymorphically.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="SetSwitchChars">
    <function type="void" name="SetSwitchChars">
     <parameters>
      <parameter type="const wxString&amp; " name="switchChars"></parameter>
     </parameters>
     <description>
      <p>
       <i> switchChars</i>
       contains all characters with which an option or switch may start. Default
       is
       <tt> &quot;-&quot;</tt>
       for Unix,
       <tt> &quot;-/&quot;</tt>
       for Windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="EnableLongOptions">
    <function type="void" name="EnableLongOptions">
     <parameters>
      <parameter type="bool " name="enable" value="true"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcmdlineparsercustomization">Customization</ref>
      and
      <ref target="wxcmdlineparserarelongoptionsenabled">AreLongOptionsEnabled</ref>
     </seealso>
     <description>
      <p>
       Enable or disable support for the long options.
      </p>
      <p>
       As long options are not (yet) POSIX-compliant, this option allows to
       disable them.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="DisableLongOptions">
    <function type="void" name="DisableLongOptions">
     <description>
      <p>
       Identical to
       <ref target="wxcmdlineparserenablelongoptions">EnableLongOptions(false)</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="AreLongOptionsEnabled">
    <function type="bool" name="AreLongOptionsEnabled">
     <seealso>
      <ref target="wxcmdlineparserenablelongoptions">EnableLongOptions</ref>
     </seealso>
     <description>
      <p>
       Returns true if long options are enabled, otherwise false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="SetLogo">
    <function type="void" name="SetLogo">
     <parameters>
      <parameter type="const wxString&amp; " name="logo"></parameter>
     </parameters>
     <description>
      <p>
       <i> logo</i>
       is some extra text which will be shown by
       <ref target="wxcmdlineparserusage">Usage</ref>
       method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="SetDesc">
    <function type="void" name="SetDesc">
     <parameters>
      <parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
     </parameters>
     <description>
      <p>
       Construct the command line description
      </p>
      <p>
       Take the command line description from the wxCMD\_LINE\_NONE terminated
       table.
      </p>
      <p>
       Example of usage:
      </p>
      <pre>
static const wxCmdLineEntryDesc cmdLineDesc[] =
\{
    \{ wxCMD\_LINE\_SWITCH, &quot;v&quot;, &quot;verbose&quot;, &quot;be verbose&quot; \},
    \{ wxCMD\_LINE\_SWITCH, &quot;q&quot;, &quot;quiet&quot;,   &quot;be quiet&quot; \},

    \{ wxCMD\_LINE\_OPTION, &quot;o&quot;, &quot;output&quot;,  &quot;output file&quot; \},
    \{ wxCMD\_LINE\_OPTION, &quot;i&quot;, &quot;input&quot;,   &quot;input dir&quot; \},
    \{ wxCMD\_LINE\_OPTION, &quot;s&quot;, &quot;size&quot;,    &quot;output block size&quot;, wxCMD\_LINE\_VAL\_NUMBER \},
    \{ wxCMD\_LINE\_OPTION, &quot;d&quot;, &quot;date&quot;,    &quot;output file date&quot;, wxCMD\_LINE\_VAL\_DATE \},

    \{ wxCMD\_LINE\_PARAM,  NULL, NULL, &quot;input file&quot;, wxCMD\_LINE\_VAL\_STRING, wxCMD\_LINE\_PARAM\_MULTIPLE \},

    \{ wxCMD\_LINE\_NONE \}
\};

wxCmdLineParser parser;

parser.SetDesc(cmdLineDesc);
</pre>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="AddSwitch">
    <function type="void" name="AddSwitch">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="lng" value="wxEmptyString"></parameter>
      <parameter type="const wxString&amp; " name="desc" value="wxEmptyString"></parameter>
      <parameter type="int " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Add a switch
       <i> name</i>
       with an optional long name
       <i> lng</i>
       (no long name if it is empty, which is default), description
       <i> desc</i>
       and flags
       <i> flags</i>
       to the command line description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="AddOption">
    <function type="void" name="AddOption">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="lng" value="wxEmptyString"></parameter>
      <parameter type="const wxString&amp; " name="desc" value="wxEmptyString"></parameter>
      <parameter type="wxCmdLineParamType " name="type" value="wxCMD\_LINE\_VAL\_STRING"></parameter>
      <parameter type="int " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Add an option
       <i> name</i>
       with an optional long name
       <i> lng</i>
       (no long name if it is empty, which is default) taking a value of the
       given type (string by default) to the command line description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="AddParam">
    <function type="void" name="AddParam">
     <parameters>
      <parameter type="const wxString&amp; " name="desc" value="wxEmptyString"></parameter>
      <parameter type="wxCmdLineParamType " name="type" value="wxCMD\_LINE\_VAL\_STRING"></parameter>
      <parameter type="int " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Add a parameter of the given
       <i> type</i>
       to the command line description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="Parse">
    <function type="int" name="Parse">
     <parameters>
      <parameter type="bool " name="giveUsage" value="true">
       If
       <tt> true</tt>
       (default), the usage message is given if a syntax error was encountered
       while parsing the command line or if help was requested. If
       <tt> false</tt>
       , only error messages about possible syntax errors are given, use
       <ref target="wxcmdlineparserusage">Usage</ref>
       to show the usage message from the caller if needed.
      </parameter>
     </parameters>
     <description>
      <p>
       Parse the command line, return 0 if ok, $-1$ if
       <tt> &quot;-h&quot;</tt>
       or
       <tt> &quot;--help&quot;</tt>
       option was encountered and the help message was given or a positive value
       if a syntax error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="Usage">
    <function type="void" name="Usage">
     <seealso>
      <ref target="wxcmdlineparsersetlogo">SetLogo</ref>
     </seealso>
     <description>
      <p>
       Give the standard usage message describing all program options. It will
       use the options and parameters descriptions specified earlier, so the
       resulting message will not be helpful to the user unless the descriptions
       were indeed specified.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="Found">
    <function type="bool" name="Found" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the given switch was found, false otherwise.
      </p>
     </description>
    </function>
    <function type="bool" name="Found" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxString&#42; " name="value"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if an option taking a string value was found and stores the
       value in the provided pointer (which should not be NULL).
      </p>
     </description>
    </function>
    <function type="bool" name="Found" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="long&#42; " name="value"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if an option taking an integer value was found and stores
       the value in the provided pointer (which should not be NULL).
      </p>
     </description>
    </function>
    <function type="bool" name="Found" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxDateTime&#42; " name="value"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if an option taking a date value was found and stores the
       value in the provided pointer (which should not be NULL).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="GetParamCount">
    <function type="size\_t" name="GetParamCount" suffix="const">
     <description>
      <p>
       Returns the number of parameters found. This function makes sense mostly
       if you had used
       <tt> wxCMD\_LINE\_PARAM\_MULTIPLE</tt>
       flag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCmdLineParser" name="GetParam">
    <function type="wxString" name="GetParam" suffix="const">
     <parameters>
      <parameter type="size\_t " name="n" value="0u"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcmdlineparsergetparamcount">GetParamCount</ref>
     </seealso>
     <description>
      <p>
       Returns the value of Nth parameter (as string only for now).
      </p>
     </description>
    </function>
   </member>
  </members>
 </class>
 <class name="wxColour">
  <description>
   <p class="classdesc">
    A colour is an object representing a combination of Red, Green, and Blue
    (RGB) intensity values, and is used to determine drawing colours. See the
    entry for
    <ref target="wxcolourdatabase">wxColourDatabase</ref>
    for how a pointer to a predefined, named colour may be returned instead of
    creating a new colour.
   </p>
   <p class="classdesc">
    Valid RGB values are in the range 0 to 255.
   </p>
   <p class="classdesc">
    You can retrieve the current system colour settings with
    <ref target="wxsystemsettings">wxSystemSettings</ref>
    .
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>Represents the red, blue and green elements of a colour</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/colour.h"/>
  </includes>
  <predefs>

Objects:

<b> wxNullColour</b>

Pointers:

<b> wxBLACK<br/>
wxWHITE<br/>
wxRED<br/>
wxBLUE<br/>
wxGREEN<br/>
wxCYAN<br/>
wxLIGHT\_GREY</b>
  </predefs>
  <seealso>
   <ref target="wxcolourdatabase">wxColourDatabase</ref>
   <ref target="wxpen">wxPen</ref>
   <ref target="wxbrush">wxBrush</ref>
   ,
   <ref target="wxcolourdialog">wxColourDialog</ref>
   <ref target="wxsystemsettings">wxSystemSettings</ref>
  </seealso>
  <members>
   <member class="wxColour" name="wxColour">
    <function type="" name="wxColour">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxColour">
     <parameters>
      <parameter type="const unsigned char " name="red">
       The red value.
      </parameter>
      <parameter type="const unsigned char " name="green">
       The green value.
      </parameter>
      <parameter type="const unsigned char " name="blue">
       The blue value.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a colour from red, green and blue values.
      </p>
     </description>
    </function>
    <function type="" name="wxColour">
     <parameters>
      <parameter type="const wxString&amp; " name="colourNname"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a colour object using a colour name listed in
       <b> wxTheColourDatabase</b>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour">
       The colour to copy.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcolourdatabase">wxColourDatabase</ref>
     </seealso>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="Blue">
    <function type="unsigned char" name="Blue" suffix="const">
     <description>
      <p>
       Returns the blue intensity.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="GetPixel">
    <function type="long" name="GetPixel" suffix="const">
     <description>
      <p>
       Returns a pixel value which is platform-dependent. On Windows, a COLORREF
       is returned. On X, an allocated pixel value is returned.
      </p>
      <p>
       -1 is returned if the pixel is invalid (on X, unallocated).
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="Green">
    <function type="unsigned char" name="Green" suffix="const">
     <description>
      <p>
       Returns the green intensity.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the colour object is valid (the colour has been
       initialised with RGB values).
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="Red">
    <function type="unsigned char" name="Red" suffix="const">
     <description>
      <p>
       Returns the red intensity.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="Set">
    <function type="void" name="Set">
     <parameters>
      <parameter type="const unsigned char " name="red"></parameter>
      <parameter type="const unsigned char " name="green"></parameter>
      <parameter type="const unsigned char " name="blue"></parameter>
     </parameters>
     <description>
      <p>
       Sets the RGB intensity values.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="operator $=$">
    <function type="wxColour&amp;" name="operator $=$">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator, taking another colour object.
      </p>
     </description>
    </function>
    <function type="wxColour&amp;" name="operator $=$">
     <parameters>
      <parameter type="const wxString&amp; " name="colourName"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcolourdatabase">wxColourDatabase</ref>
     </seealso>
     <description>
      <p>
       Assignment operator, using a colour name to be found in the colour
       database.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Tests the equality of two colours by comparing individual red, green blue
       colours.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColour" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Tests the inequality of two colours by comparing individual red, green
       blue colours.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxColourData">
  <description>
   <p class="classdesc">
    This class holds a variety of information related to colour dialogs.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cmndata.h"/>
  </includes>
  <seealso>
   <ref target="wxcolour">wxColour</ref>
   <ref target="wxcolourdialog">wxColourDialog</ref>
   <ref target="wxcolourdialogoverview">wxColourDialog overview</ref>
  </seealso>
  <members>
   <member class="wxColourData" name="wxColourData">
    <function type="" name="wxColourData">
     <description>
      <p>
       Constructor. Initializes the custom colours to
       <tt> wxNullColour</tt>
       , the
       <i> data colour</i>
       setting to black, and the
       <i> choose full</i>
       setting to true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="~wxColourData">
    <function type="" name="~wxColourData">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="GetChooseFull">
    <function type="bool" name="GetChooseFull" suffix="const">
     <description>
      <p>
       Under Windows, determines whether the Windows colour dialog will display
       the full dialog with custom colour selection controls. Under PalmOS,
       determines whether colour dialog will display full rgb colour picker or
       only available palette indexer. Has no meaning under other platforms.
      </p>
      <p>
       The default value is true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="GetColour">
    <function type="wxColour&amp;" name="GetColour" suffix="const">
     <description>
      <p>
       Gets the current colour associated with the colour dialog.
      </p>
      <p>
       The default colour is black.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="GetCustomColour">
    <function type="wxColour&amp;" name="GetCustomColour" suffix="const">
     <parameters>
      <parameter type="int " name="i"></parameter>
     </parameters>
     <description>
      <p>
       Gets the
       <i> i</i>
       th custom colour associated with the colour dialog.
       <i> i</i>
       should be an integer between 0 and 15.
      </p>
      <p>
       The default custom colours are invalid colours.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="SetChooseFull">
    <function type="void" name="SetChooseFull">
     <parameters>
      <parameter type="const bool " name="flag"></parameter>
     </parameters>
     <description>
      <p>
       Under Windows, tells the Windows colour dialog to display the full dialog
       with custom colour selection controls. Under other platforms, has no
       effect.
      </p>
      <p>
       The default value is true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="SetColour">
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default colour for the colour dialog.
      </p>
      <p>
       The default colour is black.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="SetCustomColour">
    <function type="void" name="SetCustomColour">
     <parameters>
      <parameter type="int " name="i"></parameter>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the
       <i> i</i>
       th custom colour for the colour dialog.
       <i> i</i>
       should be an integer between 0 and 15.
      </p>
      <p>
       The default custom colours are invalid colours.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourData" name="operator $=$">
    <function type="void" name="operator $=$">
     <parameters>
      <parameter type="const wxColourData&amp; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator for the colour data.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxColourDatabase">
  <description>
   <p class="classdesc">
    wxWidgets maintains a database of standard RGB colours for a predefined set
    of named colours (such as ``BLACK'', ``LIGHT GREY''). The application may
    add to this set if desired by using
    <ref target="wxcolourdatabaseaddcolour">AddColour</ref>
    and may use it to look up colours by names using
    <ref target="wxcolourdatabasefind">Find</ref>
    or find the names for the standard colour suing
    <ref target="wxcolourdatabasefindname">FindName</ref>
    .
   </p>
   <p class="classdesc">
    There is one predefined instance of this class called
    <b> wxTheColourDatabase</b>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <remarks>
   <p>
    The standard database contains at least the following colours:
   </p>
   <p>
    AQUAMARINE, BLACK, BLUE, BLUE VIOLET, BROWN, CADET BLUE, CORAL, CORNFLOWER
    BLUE, CYAN, DARK GREY, DARK GREEN, DARK OLIVE GREEN, DARK ORCHID, DARK SLATE
    BLUE, DARK SLATE GREY DARK TURQUOISE, DIM GREY, FIREBRICK, FOREST GREEN,
    GOLD, GOLDENROD, GREY, GREEN, GREEN YELLOW, INDIAN RED, KHAKI, LIGHT BLUE,
    LIGHT GREY, LIGHT STEEL BLUE, LIME GREEN, MAGENTA, MAROON, MEDIUM
    AQUAMARINE, MEDIUM BLUE, MEDIUM FOREST GREEN, MEDIUM GOLDENROD, MEDIUM
    ORCHID, MEDIUM SEA GREEN, MEDIUM SLATE BLUE, MEDIUM SPRING GREEN, MEDIUM
    TURQUOISE, MEDIUM VIOLET RED, MIDNIGHT BLUE, NAVY, ORANGE, ORANGE RED,
    ORCHID, PALE GREEN, PINK, PLUM, PURPLE, RED, SALMON, SEA GREEN, SIENNA, SKY
    BLUE, SLATE BLUE, SPRING GREEN, STEEL BLUE, TAN, THISTLE, TURQUOISE, VIOLET,
    VIOLET RED, WHEAT, WHITE, YELLOW, YELLOW GREEN.
   </p>
  </remarks>
  <parents></parents>
  <includes>
   <header name="wx/gdicmn.h"/>
  </includes>
  <seealso>
   <ref target="wxcolour">wxColour</ref>
  </seealso>
  <members>
   <member class="wxColourDatabase" name="wxColourDatabase">
    <function type="" name="wxColourDatabase">
     <description>
      <p>
       Constructs the colour database. It will be initialized at the first use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDatabase" name="AddColour">
    <function type="void" name="AddColour">
     <parameters>
      <parameter type="const wxString&amp; " name="colourName"></parameter>
      <parameter type="const wxColour&amp;" name="colour"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="AddColour" obsolete="yes">
     <parameters>
      <parameter type="const wxString&amp; " name="colourName"></parameter>
      <parameter type="wxColour&#42; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Adds a colour to the database. If a colour with the same name already
       exists, it is replaced.
      </p>
      <p>
       Please note that the overload taking a pointer is deprecated and will be
       removed in the next wxWidgets version, please don't use it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDatabase" name="Find">
    <function type="wxColour" name="Find">
     <parameters>
      <parameter type="const wxString&amp; " name="colourName"></parameter>
     </parameters>
     <description>
      <p>
       Finds a colour given the name. Returns an invalid colour object (that is,
       such that its
       <ref target="wxcolourok">Ok()</ref>
       method returns false) if the colour wasn't found in the database.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDatabase" name="FindName">
    <function type="wxString" name="FindName" suffix="const">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Finds a colour name given the colour. Returns an empty string if the
       colour is not found in the database.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxColourDialog">
  <description>
   <p class="classdesc">
    This class represents the colour chooser dialog.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Colour chooser dialog</shortdesc>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/colordlg.h"/>
  </includes>
  <seealso>
   <ref target="wxcolourdialogoverview">wxColourDialog Overview</ref>
   ,
   <br/>
   <ref target="wxcolour">wxColour</ref>
   ,
   <br/>
   <ref target="wxcolourdata">wxColourData</ref>
   ,
   <br/>
   <ref target="wxgetcolourfromuser">wxGetColourFromUser</ref>
  </seealso>
  <members>
   <member class="wxColourDialog" name="wxColourDialog">
    <function type="" name="wxColourDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxColourData&#42; " name="data" value="NULL"></parameter>
     </parameters>
     <seealso>
      <ref target="wxcolourdata">wxColourData</ref>
     </seealso>
     <description>
      <p>
       Constructor. Pass a parent window, and optionally a pointer to a block of
       colour data, which will be copied to the colour dialog's colour data.
       Custom colours from colour data object will be be used in dialog's colour
       palette. Invalid entries in custom colours list will be ignored on some
       platforms (GTK) or replaced with white colour on platforms where custom
       colours palette has fixed size (MSW).
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDialog" name="~wxColourDialog">
    <function type="" name="~wxColourDialog">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDialog" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxColourData&#42; " name="data" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxcolourdialogctor">constructor</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDialog" name="GetColourData">
    <function type="wxColourData&amp;" name="GetColourData">
     <description>
      <p>
       Returns the
       <ref target="wxcolourdata">colour data</ref>
       associated with the colour dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxColourDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <description>
      <p>
       Shows the dialog, returning wxID\_OK if the user pressed OK, and
       wxID\_CANCEL otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxComboBox">
  <description>
   <p class="classdesc">
    A combobox is like a combination of an edit control and a listbox. It can be
    displayed as static list with editable or read-only text field; or a
    drop-down list with text field; or a drop-down list without a text field.
   </p>
   <p class="classdesc">
    A combobox permits a single selection only. Combobox items are numbered from
    zero.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A choice with an editable area</shortdesc>
  <parents>
   <ref type="help" target="wxControlWithItems">wxControlWithItems</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/combobox.h"/>
  </includes>
  <windowstyles>
   <style name="wxCB\_SIMPLE">
    Creates a combobox with a permanently displayed list. Windows only.
   </style>
   <style name="wxCB\_DROPDOWN">
    Creates a combobox with a drop-down list.
   </style>
   <style name="wxCB\_READONLY">
    wxCB\_READONLY
   </style>
   <style name="wxCB\_SORT">
    Sorts the entries in the list alphabetically.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_COMBOBOX(id, func)">Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
when an item on the list is selected. Note that calling
<ref target="wxcomboboxgetvalue">GetValue</ref> returns the new value of selection.</event>
   <event name="EVT\_TEXT(id, func)">Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
when the combobox text changes.</event>
   <event name="EVT\_TEXT\_ENTER(id, func)">Process a wxEVT\_COMMAND\_TEXT\_ENTER event,
when &lt;RETURN&gt; is pressed in the combobox.</event>
  </events>
  <seealso>
   <ref target="wxlistbox">wxListBox</ref>
   <ref target="wxtextctrl">wxTextCtrl</ref>
   <ref target="wxchoice">wxChoice</ref>
   ,
   <ref target="wxcommandevent">wxCommandEvent</ref>
  </seealso>
  <members>
   <member class="wxComboBox" name="wxComboBox">
    <function type="" name="wxComboBox">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxComboBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxString&amp; " name="value" value="``&quot;">
       Initial selection string. An empty string indicates no selection.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="int " name="n">
       Number of strings with which to initialise the control.
      </parameter>
      <parameter type="const wxString " name="choices[]"></parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxcombobox">wxComboBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``comboBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxComboBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxString&amp; " name="value">
       Initial selection string. An empty string indicates no selection.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings with which to initialise the control.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxcombobox">wxComboBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``comboBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcomboboxcreate">wxComboBox::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxComboBox" name="~wxComboBox">
    <function type="" name="~wxComboBox">
     <description>
      <p>
       Destructor, destroying the combobox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="value" value="``&quot;"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="int " name="n"></parameter>
      <parameter type="const wxString " name="choices[]"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``comboBox&quot;"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="value"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
      <parameter type="const wxArrayString&amp; " name="choices"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``comboBox&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Creates the combobox for two-step construction. Derived classes should
       call or replace this function. See
       <ref target="wxcomboboxctor">wxComboBox::wxComboBox</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="CanCopy">
    <function type="bool" name="CanCopy" suffix="const">
     <description>
      <p>
       Returns true if the combobox is editable and there is a text selection to
       copy to the clipboard. Only available on Windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="CanCut">
    <function type="bool" name="CanCut" suffix="const">
     <description>
      <p>
       Returns true if the combobox is editable and there is a text selection to
       copy to the clipboard. Only available on Windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="CanPaste">
    <function type="bool" name="CanPaste" suffix="const">
     <description>
      <p>
       Returns true if the combobox is editable and there is text on the
       clipboard that can be pasted into the text field. Only available on
       Windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="CanRedo">
    <function type="bool" name="CanRedo" suffix="const">
     <description>
      <p>
       Returns true if the combobox is editable and the last undo can be redone.
       Only available on Windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="CanUndo">
    <function type="bool" name="CanUndo" suffix="const">
     <description>
      <p>
       Returns true if the combobox is editable and the last edit can be undone.
       Only available on Windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Copy">
    <function type="void" name="Copy">
     <description>
      <p>
       Copies the selected text to the clipboard.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Cut">
    <function type="void" name="Cut">
     <description>
      <p>
       Copies the selected text to the clipboard and removes the selection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="GetInsertionPoint">
    <function type="long" name="GetInsertionPoint" suffix="const">
     <description>
      <p>
       Returns the insertion point for the combobox's text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="GetLastPosition">
    <function type="virtual wxTextPos" name="GetLastPosition" suffix="const">
     <description>
      <p>
       Returns the last position in the combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="GetValue">
    <function type="wxString" name="GetValue" suffix="const">
     <description>
      <p>
       Returns the current value in the combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Paste">
    <function type="void" name="Paste">
     <description>
      <p>
       Pastes text from the clipboard to the text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Redo">
    <function type="void" name="Redo">
     <description>
      <p>
       Redoes the last undo in the text field. Windows only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Replace">
    <function type="void" name="Replace">
     <parameters>
      <parameter type="long " name="from">
       The first position.
      </parameter>
      <parameter type="long " name="to">
       The second position.
      </parameter>
      <parameter type="const wxString&amp; " name="text">
       The text to insert.
      </parameter>
     </parameters>
     <description>
      <p>
       Replaces the text between two positions with the given text, in the
       combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Remove">
    <function type="void" name="Remove">
     <parameters>
      <parameter type="long " name="from">
       The first position.
      </parameter>
      <parameter type="long " name="to">
       The last position.
      </parameter>
     </parameters>
     <description>
      <p>
       Removes the text between the two positions in the combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="SetInsertionPoint">
    <function type="void" name="SetInsertionPoint">
     <parameters>
      <parameter type="long " name="pos">
       The new insertion point.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the insertion point in the combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="SetInsertionPointEnd">
    <function type="void" name="SetInsertionPointEnd">
     <description>
      <p>
       Sets the insertion point at the end of the combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="SetSelection">
    <function type="void" name="SetSelection">
     <parameters>
      <parameter type="long " name="from">
       The first position.
      </parameter>
      <parameter type="long " name="to">
       The second position.
      </parameter>
     </parameters>
     <description>
      <p>
       Selects the text between the two positions, in the combobox text field.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="SetValue">
    <function type="void" name="SetValue">
     <parameters>
      <parameter type="const wxString&amp; " name="text">
       The text to set.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the text for the combobox text field.
      </p>
      <p>
       <b> NB:</b>
       For a combobox with
       <tt> wxCB\_READONLY</tt>
       style the string must be in the combobox choices list, otherwise the call
       to SetValue() is ignored.
      </p>
     </description>
    </function>
   </member>
   <member class="wxComboBox" name="Undo">
    <function type="void" name="Undo">
     <description>
      <p>
       Undoes the last edit in the text field. Windows only.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCommand" annotation="abstract">
  <description>
   <p class="classdesc">
    wxCommand is a base class for modelling an application command, which is an
    action usually performed by selecting a menu item, pressing a toolbar button
    or any other means provided by the application to change the data or view.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cmdproc.h"/>
  </includes>
  <seealso>
   <ref type="overview" target="wxcommandoverview">Overview</ref>
  </seealso>
  <members>
   <member class="wxCommand" name="wxCommand">
    <function type="" name="wxCommand">
     <parameters>
      <parameter type="bool " name="canUndo" value="false"></parameter>
      <parameter type="const wxString&amp; " name="name" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. wxCommand is an abstract class, so you will need to derive a
       new class and call this constructor from your own constructor.
      </p>
      <p>
       <i> canUndo</i>
       tells the command processor whether this command is undo-able. You can
       achieve the same functionality by overriding the CanUndo member function
       (if for example the criteria for undoability is context-dependent).
      </p>
      <p>
       <i> name</i>
       must be supplied for the command processor to display the command name in
       the application's edit menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommand" name="~wxCommand">
    <function type="" name="~wxCommand">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommand" name="CanUndo">
    <function type="bool" name="CanUndo">
     <description>
      <p>
       Returns true if the command can be undone, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommand" name="Do">
    <function type="bool" name="Do">
     <description>
      <p>
       Override this member function to execute the appropriate action when
       called. Return true to indicate that the action has taken place, false
       otherwise. Returning false will indicate to the command processor that
       the action is not undoable and should not be added to the command
       history.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommand" name="GetName">
    <function type="wxString" name="GetName">
     <description>
      <p>
       Returns the command name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommand" name="Undo">
    <function type="bool" name="Undo">
     <description>
      <p>
       Override this member function to un-execute a previous Do. Return true to
       indicate that the action has taken place, false otherwise. Returning
       false will indicate to the command processor that the action is not
       redoable and no change should be made to the command history.
      </p>
      <p>
       How you implement this command is totally application dependent, but
       typical strategies include:
      </p>
      <p>
       <ul>
        <li>Perform an inverse operation on the last modified piece of data in the document.
         When redone, a copy of data stored in command is pasted back or some
         operation reapplied. This relies on the fact that you know the ordering
         of Undos; the user can never Undo at an arbitrary position in the
         command history.</li>
        <li>Restore the entire document state (perhaps using document transactioning).
         Potentially very inefficient, but possibly easier to code if the user
         interface and data are complex, and an `inverse execute' operation is
         hard to write.</li>
       </ul>
      </p>
      <p>
       The docview sample uses the first method, to remove or restore segments
       in the drawing.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCommandEvent">
  <description>
   <p class="classdesc">
    This event class contains information about command events, which originate
    from a variety of simple controls. More complex controls, such as
    <ref target="wxtreectrl">wxTreeCtrl</ref>
    , have separate command event classes.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>An event from a variety of standard controls</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_COMMAND(id, event, func)">Process a command, supplying the window identifier,
command event identifier, and member function.</event>
   <event name="EVT\_COMMAND\_RANGE(id1, id2, event, func)">Process a command for a range
of window identifiers, supplying the minimum and maximum window identifiers,
command event identifier, and member function.</event>
   <event name="EVT\_BUTTON(id, func)">Process a wxEVT\_COMMAND\_BUTTON\_CLICKED command,
which is generated by a wxButton control.</event>
   <event name="EVT\_CHECKBOX(id, func)">Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED command,
which is generated by a wxCheckBox control.</event>
   <event name="EVT\_CHOICE(id, func)">Process a wxEVT\_COMMAND\_CHOICE\_SELECTED command,
which is generated by a wxChoice control.</event>
   <event name="EVT\_COMBOBOX(id, func)">Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED command,
which is generated by a wxComboBox control.</event>
   <event name="EVT\_LISTBOX(id, func)">Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
which is generated by a wxListBox control.</event>
   <event name="EVT\_LISTBOX\_DCLICK(id, func)">Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
which is generated by a wxListBox control.</event>
   <event name="EVT\_MENU(id, func)">Process a wxEVT\_COMMAND\_MENU\_SELECTED command,
which is generated by a menu item.</event>
   <event name="EVT\_MENU\_RANGE(id1, id2, func)">Process a wxEVT\_COMMAND\_MENU\_RANGE command,
which is generated by a range of menu items.</event>
   <event name="EVT\_CONTEXT\_MENU(func)">Process the event generated
when the user has requested a popup menu to appear by pressing a special
keyboard key (under Windows) or by right clicking the mouse.</event>
   <event name="EVT\_RADIOBOX(id, func)">Process a wxEVT\_COMMAND\_RADIOBOX\_SELECTED command,
which is generated by a wxRadioBox control.</event>
   <event name="EVT\_RADIOBUTTON(id, func)">Process a wxEVT\_COMMAND\_RADIOBUTTON\_SELECTED command,
which is generated by a wxRadioButton control.</event>
   <event name="EVT\_SCROLLBAR(id, func)">Process a wxEVT\_COMMAND\_SCROLLBAR\_UPDATED command,
which is generated by a wxScrollBar control. This is provided for compatibility only;
more specific scrollbar event macros should be used instead (see <ref target="wxscrollevent">wxScrollEvent</ref>).</event>
   <event name="EVT\_SLIDER(id, func)">Process a wxEVT\_COMMAND\_SLIDER\_UPDATED command,
which is generated by a wxSlider control.</event>
   <event name="EVT\_TEXT(id, func)">Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
which is generated by a wxTextCtrl control.</event>
   <event name="EVT\_TEXT\_ENTER(id, func)">Process a wxEVT\_COMMAND\_TEXT\_ENTER command,
which is generated by a wxTextCtrl control. Note that you must use
wxTE\_PROCESS\_ENTER flag when creating the control if you want it to generate
such events.</event>
   <event name="EVT\_TEXT\_MAXLEN(id, func)">Process a wxEVT\_COMMAND\_TEXT\_MAXLEN command,
which is generated by a wxTextCtrl control when the user tries to enter more
characters into it than the limit previously set with 
<ref target="wxtextctrlsetmaxlength">SetMaxLength</ref>.</event>
   <event name="EVT\_TOOL(id, func)">Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.</event>
   <event name="EVT\_TOOL\_RANGE(id1, id2, func)">Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
for a range of identifiers. Pass the ids of the tools.</event>
   <event name="EVT\_TOOL\_RCLICKED(id, func)">Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
Pass the id of the tool.</event>
   <event name="EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)">Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
for a range of ids. Pass the ids of the tools.</event>
   <event name="EVT\_TOOL\_ENTER(id, func)">Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.</event>
   <event name="EVT\_COMMAND\_LEFT\_CLICK(id, func)">Process a wxEVT\_COMMAND\_LEFT\_CLICK command,
which is generated by a control (Windows 95 and NT only).</event>
   <event name="EVT\_COMMAND\_LEFT\_DCLICK(id, func)">Process a wxEVT\_COMMAND\_LEFT\_DCLICK command,
which is generated by a control (Windows 95 and NT only).</event>
   <event name="EVT\_COMMAND\_RIGHT\_CLICK(id, func)">Process a wxEVT\_COMMAND\_RIGHT\_CLICK command,
which is generated by a control (Windows 95 and NT only).</event>
   <event name="EVT\_COMMAND\_SET\_FOCUS(id, func)">Process a wxEVT\_COMMAND\_SET\_FOCUS command,
which is generated by a control (Windows 95 and NT only).</event>
   <event name="EVT\_COMMAND\_KILL\_FOCUS(id, func)">Process a wxEVT\_COMMAND\_KILL\_FOCUS command,
which is generated by a control (Windows 95 and NT only).</event>
   <event name="EVT\_COMMAND\_ENTER(id, func)">Process a wxEVT\_COMMAND\_ENTER command,
which is generated by a control.</event>
  </events>
  <members>
   <member class="wxCommandEvent" name="wxCommandEvent">
    <function type="" name="wxCommandEvent">
     <parameters>
      <parameter type="WXTYPE " name="commandEventType" value="0"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="Checked">
    <function type="bool" name="Checked" suffix="const" obsolete="yes">
     <description>
      <p>
       Deprecated, use
       <ref target="wxcommandeventischecked">IsChecked</ref>
       instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="GetClientData">
    <function type="void&#42;" name="GetClientData">
     <description>
      <p>
       Returns client data pointer for a listbox or choice selection event (not
       valid for a deselection).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="GetClientObject">
    <function type="wxClientData &#42;" name="GetClientObject">
     <description>
      <p>
       Returns client object pointer for a listbox or choice selection event
       (not valid for a deselection).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="GetExtraLong">
    <function type="long" name="GetExtraLong">
     <description>
      <p>
       Returns extra information dependant on the event objects type. If the
       event comes from a listbox selection, it is a boolean determining whether
       the event was a selection (true) or a deselection (false). A listbox
       deselection only occurs for multiple-selection boxes, and in this case
       the index and string values are indeterminate and the listbox must be
       examined by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="GetInt">
    <function type="int" name="GetInt">
     <description>
      <p>
       Returns the integer identifier corresponding to a listbox, choice or
       radiobox selection (only if the event was a selection, not a
       deselection), or a boolean value representing the value of a checkbox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="GetSelection">
    <function type="int" name="GetSelection">
     <description>
      <p>
       Returns item index for a listbox or choice selection event (not valid for
       a deselection).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="GetString">
    <function type="wxString" name="GetString">
     <description>
      <p>
       Returns item string for a listbox or choice selection event (not valid
       for a deselection).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="IsChecked">
    <function type="bool" name="IsChecked" suffix="const">
     <description>
      <p>
       This method can be used with checkbox and menu events: for the
       checkboxes, the method returns
       <tt> true</tt>
       for a selection event and
       <tt> false</tt>
       for a deselection one. For the menu events, this method indicates if the
       menu item just has become checked or unchecked (and thus only makes sense
       for checkable menu items).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="IsSelection">
    <function type="bool" name="IsSelection">
     <description>
      <p>
       For a listbox or similar event, returns true if it is a selection, false
       if it is a deselection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="SetClientData">
    <function type="void" name="SetClientData">
     <parameters>
      <parameter type="void&#42; " name="clientData"></parameter>
     </parameters>
     <description>
      <p>
       Sets the client data for this event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="SetClientObject">
    <function type="void" name="SetClientObject">
     <parameters>
      <parameter type="wxClientData&#42; " name="clientObject"></parameter>
     </parameters>
     <description>
      <p>
       Sets the client object for this event. The client object is
       <i>not</i>
       owned by the event object and the event object will not delete the client
       object in its destructor. The client object must be owned and deleted by
       another object (e.g. a control) that has longer life time than the event
       object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="SetExtraLong">
    <function type="void" name="SetExtraLong">
     <parameters>
      <parameter type="int " name="extraLong"></parameter>
     </parameters>
     <description>
      <p>
       Sets the
       <b> m\_extraLong</b>
       member.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="SetInt">
    <function type="void" name="SetInt">
     <parameters>
      <parameter type="int " name="intCommand"></parameter>
     </parameters>
     <description>
      <p>
       Sets the
       <b> m\_commandInt</b>
       member.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandEvent" name="SetString">
    <function type="void" name="SetString">
     <parameters>
      <parameter type="const wxString&amp; " name="string"></parameter>
     </parameters>
     <description>
      <p>
       Sets the
       <b> m\_commandString</b>
       member.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCommandProcessor">
  <description>
   <p class="classdesc">
    wxCommandProcessor is a class that maintains a history of wxCommands, with
    undo/redo functionality built-in. Derive a new class from this if you want
    different behaviour.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cmdproc.h"/>
  </includes>
  <seealso>
   <ref target="wxcommandprocessoroverview">wxCommandProcessor overview</ref>
   <ref target="wxcommand">wxCommand</ref>
  </seealso>
  <members>
   <member class="wxCommandProcessor" name="wxCommandProcessor">
    <function type="" name="wxCommandProcessor">
     <parameters>
      <parameter type="int " name="maxCommands" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
      <p>
       <i> maxCommands</i>
       may be set to a positive integer to limit the number of commands stored
       to it, otherwise (and by default) the list of commands can grow
       arbitrarily.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="~wxCommandProcessor">
    <function type="" name="~wxCommandProcessor">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="CanUndo">
    <function type="virtual bool" name="CanUndo">
     <description>
      <p>
       Returns true if the currently-active command can be undone, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="ClearCommands">
    <function type="virtual void" name="ClearCommands">
     <description>
      <p>
       Deletes all the commands in the list and sets the current command pointer
       to NULL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="Redo">
    <function type="virtual bool" name="Redo">
     <description>
      <p>
       Executes (redoes) the current command (the command that has just been
       undone if any).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetCommands">
    <function type="wxList&amp;" name="GetCommands" suffix="const">
     <description>
      <p>
       Returns the list of commands.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetMaxCommands">
    <function type="int" name="GetMaxCommands" suffix="const">
     <description>
      <p>
       Returns the maximum number of commands that the command processor stores.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetEditMenu">
    <function type="wxMenu&#42;" name="GetEditMenu" suffix="const">
     <description>
      <p>
       Returns the edit menu associated with the command processor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetRedoAccelerator">
    <function type="const wxString&amp;" name="GetRedoAccelerator" suffix="const">
     <description>
      <p>
       Returns the string that will be appended to the Redo menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetRedoMenuLabel">
    <function type="wxString" name="GetRedoMenuLabel" suffix="const">
     <description>
      <p>
       Returns the string that will be shown for the redo menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetUndoAccelerator">
    <function type="const wxString&amp;" name="GetUndoAccelerator" suffix="const">
     <description>
      <p>
       Returns the string that will be appended to the Undo menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="GetUndoMenuLabel">
    <function type="wxString" name="GetUndoMenuLabel" suffix="const">
     <description>
      <p>
       Returns the string that will be shown for the undo menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="Initialize">
    <function type="virtual void" name="Initialize">
     <description>
      <p>
       Initializes the command processor, setting the current command to the
       last in the list (if any), and updating the edit menu (if one has been
       specified).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="IsDirty">
    <function type="virtual bool" name="IsDirty">
     <description>
      <p>
       Returns a boolean value that indicates if changes have been made since
       the last save operation. This only works if
       <ref target="wxcommandprocessormarkassaved">wxCommandProcessor::MarkAsSaved</ref>
       is called whenever the project is saved.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="MarkAsSaved">
    <function type="virtual void" name="MarkAsSaved">
     <description>
      <p>
       You must call this method whenever the project is saved if you plan to
       use
       <ref target="wxcommandprocessorisdirty">wxCommandProcessor::IsDirty</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="SetEditMenu">
    <function type="void" name="SetEditMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Tells the command processor to update the Undo and Redo items on this
       menu as appropriate. Set this to NULL if the menu is about to be
       destroyed and command operations may still be performed, or the command
       processor may try to access an invalid pointer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="SetMenuStrings">
    <function type="void" name="SetMenuStrings">
     <description>
      <p>
       Sets the menu labels according to the currently set menu and the current
       command state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="SetRedoAccelerator">
    <function type="void" name="SetRedoAccelerator">
     <parameters>
      <parameter type="const wxString&amp;" name="accel"></parameter>
     </parameters>
     <description>
      <p>
       Sets the string that will be appended to the Redo menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="SetUndoAccelerator">
    <function type="void" name="SetUndoAccelerator">
     <parameters>
      <parameter type="const wxString&amp;" name="accel"></parameter>
     </parameters>
     <description>
      <p>
       Sets the string that will be appended to the Undo menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="Submit">
    <function type="virtual bool" name="Submit">
     <parameters>
      <parameter type="wxCommand &#42;" name="command"></parameter>
      <parameter type="bool " name="storeIt" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Submits a new command to the command processor. The command processor
       calls wxCommand::Do to execute the command; if it succeeds, the command
       is stored in the history list, and the associated edit menu (if any)
       updated appropriately. If it fails, the command is deleted immediately.
       Once Submit has been called, the passed command should not be deleted
       directly by the application.
      </p>
      <p>
       <i> storeIt</i>
       indicates whether the successful command should be stored in the history
       list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCommandProcessor" name="Undo">
    <function type="virtual bool" name="Undo">
     <description>
      <p>
       Undoes the command just executed.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCondition">
  <description>
   <p class="classdesc">
    wxCondition variables correspond to pthread conditions or to Win32 event
    objects. They may be used in a multithreaded application to wait until the
    given condition becomes true which happens when the condition becomes
    signaled.
   </p>
   <p class="classdesc">
    For example, if a worker thread is doing some long task and another thread
    has to wait until it is finished, the latter thread will wait on the
    condition object and the worker thread will signal it on exit (this example
    is not perfect because in this particular case it would be much better to
    just
    <ref target="wxthreadwait">Wait()</ref>
    for the worker thread, but if there are several worker threads it already
    makes much more sense).
   </p>
   <p class="classdesc">
    Note that a call to
    <ref target="wxconditionsignal">Signal()</ref>
    may happen before the other thread calls
    <ref target="wxconditionwait">Wait()</ref>
    and, just as with the pthread conditions, the signal is then lost and so if
    you want to be sure that you don't miss it you must keep the mutex
    associated with the condition initially locked and lock it again before
    calling
    <ref target="wxconditionsignal">Signal()</ref>
    . Of course, this means that this call is going to block until
    <ref target="wxconditionwait">Wait()</ref>
    is called by another thread.
   </p>
  </description>
  <category>Threading classes</category>
  <shortdesc>Condition class</shortdesc>
  <example>
   <p>
    This example shows how a main thread may launch a worker thread which starts
    running and then waits until the main thread signals it to continue:
   </p>
   <pre>
class MySignallingThread : public wxThread
\{
public:
    MySignallingThread(wxMutex &#42;mutex, wxCondition &#42;condition)
    \{
        m\_mutex = mutex;
        m\_condition = condition;

        Create();
    \}

    virtual ExitCode Entry()
    \{
        ... do our job ...

        // tell the other(s) thread(s) that we're about to terminate: we must
        // lock the mutex first or we might signal the condition before the
        // waiting threads start waiting on it!
        wxMutexLocker lock(m\_mutex);
        m\_condition.Broadcast(); // same as Signal() here -- one waiter only

        return 0;
    \}

private:
    wxCondition &#42;m\_condition;
    wxMutex &#42;m\_mutex;
\};

int main()
\{
    wxMutex mutex;
    wxCondition condition(mutex);

    // the mutex should be initially locked
    mutex.Lock();

    // create and run the thread but notice that it won't be able to
    // exit (and signal its exit) before we unlock the mutex below
    MySignallingThread &#42;thread = new MySignallingThread(&amp;mutex, &amp;condition);

    thread-&gt;Run();

    // wait for the thread termination: Wait() atomically unlocks the mutex
    // which allows the thread to continue and starts waiting
    condition.Wait();

    // now we can exit
    return 0;
\}
</pre>
   <p>
    Of course, here it would be much better to simply use a joinable thread and
    call
    <ref target="wxthreadwait">wxThread::Wait</ref>
    on it, but this example does illustrate the importance of properly locking
    the mutex when using wxCondition.
   </p>
  </example>
  <parents></parents>
  <includes>
   <header name="wx/thread.h"/>
  </includes>
  <constants>

The following return codes are returned by wxCondition member functions:

<pre>
enum wxCondError
\{
    wxCOND\_NO\_ERROR = 0,    // successful completion
    wxCOND\_INVALID,         // object hasn't been initialized successfully
    wxCOND\_TIMEOUT,         // WaitTimeout() has timed out
    wxCOND\_MISC\_ERROR       // some other error
\};
</pre>
  </constants>
  <seealso>
   <ref target="wxthread">wxThread</ref>
   <ref target="wxmutex">wxMutex</ref>
  </seealso>
  <members>
   <member class="wxCondition" name="wxCondition">
    <function type="" name="wxCondition">
     <parameters>
      <parameter type="wxMutex&amp; " name="mutex"></parameter>
     </parameters>
     <description>
      <p>
       Default and only constructor. The
       <i> mutex</i>
       must be locked by the caller before calling
       <ref target="wxconditionwait">Wait</ref>
       function.
      </p>
      <p>
       Use
       <ref target="wxconditionisok">IsOk</ref>
       to check if the object was successfully initialized.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCondition" name="~wxCondition">
    <function type="" name="~wxCondition">
     <description>
      <p>
       Destroys the wxCondition object. The destructor is not virtual so this
       class should not be used polymorphically.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCondition" name="Broadcast">
    <function type="void" name="Broadcast">
     <seealso>
      <ref target="wxconditionsignal">wxCondition::Signal</ref>
     </seealso>
     <description>
      <p>
       Broadcasts to all waiting threads, waking all of them up. Note that this
       method may be called whether the mutex associated with this condition is
       locked or not.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCondition" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the object had been initialized successfully,
       <tt> false</tt>
       if an error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCondition" name="Signal">
    <function type="void" name="Signal">
     <seealso>
      <ref target="wxconditionbroadcast">wxCondition::Broadcast</ref>
     </seealso>
     <description>
      <p>
       Signals the object waking up at most one thread. If several threads are
       waiting on the same condition, the exact thread which is woken up is
       undefined. If no threads are waiting, the signal is lost and the
       condition would have to be signalled again to wake up any thread which
       may start waiting on it later.
      </p>
      <p>
       Note that this method may be called whether the mutex associated with
       this condition is locked or not.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCondition" name="Wait">
    <function type="wxCondError" name="Wait">
     <seealso>
      <ref target="wxconditionwaittimeout">WaitTimeout</ref>
     </seealso>
     <returnvalue>
      Returns
      <tt> wxCOND\_NO\_ERROR</tt>
      on success, another value if an error occurred.
     </returnvalue>
     <description>
      <p>
       Waits until the condition is signalled.
      </p>
      <p>
       This method atomically releases the lock on the mutex associated with
       this condition (this is why it must be locked prior to calling Wait) and
       puts the thread to sleep until
       <ref target="wxconditionsignal">Signal</ref>
       or
       <ref target="wxconditionbroadcast">Broadcast</ref>
       is called.
      </p>
      <p>
       Note that even if
       <ref target="wxconditionsignal">Signal</ref>
       had been called before Wait without waking up any thread, the thread
       would still wait for another one and so it is important to ensure that
       the condition will be signalled after Wait or the thread may sleep
       forever.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCondition" name="WaitTimeout">
    <function type="wxCondError" name="WaitTimeout">
     <parameters>
      <parameter type="unsigned long " name="milliseconds">
       Timeout in milliseconds
      </parameter>
     </parameters>
     <returnvalue>
      Returns
      <tt> wxCOND\_NO\_ERROR</tt>
      if the condition was signalled,
      <tt> wxCOND\_TIMEOUT</tt>
      if the timeout elapsed before this happened or another error code from
      wxCondError enum.
     </returnvalue>
     <description>
      <p>
       Waits until the condition is signalled or the timeout has elapsed.
      </p>
      <p>
       This method is identical to
       <ref target="wxconditionwait">Wait</ref>
       except that it returns, with the return code of
       <tt> wxCOND\_TIMEOUT</tt>
       as soon as the given timeout expires.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxConnection">
  <description>
   <p class="classdesc">
    A wxConnection object represents the connection between a client and a
    server. It is created by making a connection using a
    <ref target="wxclient">wxClient</ref>
    object, or by the acceptance of a connection by a
    <ref target="wxserver">wxServer</ref>
    object. The bulk of a DDE-like (Dynamic Data Exchange) conversation is
    controlled by calling members in a
    <b> wxConnection</b>
    object or by overriding its members. The actual DDE-based implementation
    using wxDDEConnection is available on Windows only, but a
    platform-independent, socket-based version of this API is available using
    wxTCPConnection, which has the same API.
   </p>
   <p class="classdesc">
    An application should normally derive a new connection class from
    wxConnection, in order to override the communication event handlers to do
    something interesting.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxConnectionBase">wxConnectionBase</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/ipc.h"/>
  </includes>
  <types>
   <ref target="wxIPCFormat"/>wxIPCFormat is defined as follows:

<pre>
enum wxIPCFormat
\{
  wxIPC\_INVALID =          0,
  wxIPC\_TEXT =             1,  /&#42; CF\_TEXT &#42;/
  wxIPC\_BITMAP =           2,  /&#42; CF\_BITMAP &#42;/
  wxIPC\_METAFILE =         3,  /&#42; CF\_METAFILEPICT &#42;/
  wxIPC\_SYLK =             4,
  wxIPC\_DIF =              5,
  wxIPC\_TIFF =             6,
  wxIPC\_OEMTEXT =          7,  /&#42; CF\_OEMTEXT &#42;/
  wxIPC\_DIB =              8,  /&#42; CF\_DIB &#42;/
  wxIPC\_PALETTE =          9,
  wxIPC\_PENDATA =          10,
  wxIPC\_RIFF =             11,
  wxIPC\_WAVE =             12,
  wxIPC\_UNICODETEXT =      13,
  wxIPC\_ENHMETAFILE =      14,
  wxIPC\_FILENAME =         15, /&#42; CF\_HDROP &#42;/
  wxIPC\_LOCALE =           16,
  wxIPC\_PRIVATE =          20
\};
</pre>
  </types>
  <seealso>
   <ref target="wxclient">wxClient</ref>
   <ref target="wxserver">wxServer</ref>
   ,
   <ref target="ipcoverview">Interprocess communications overview</ref>
  </seealso>
  <members>
   <member class="wxConnection" name="wxConnection">
    <function type="" name="wxConnection">
     <description></description>
    </function>
    <function type="" name="wxConnection">
     <parameters>
      <parameter type="char&#42; " name="buffer"></parameter>
      <parameter type="int " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a connection object. If no user-defined connection object is
       to be derived from wxConnection, then the constructor should not be
       called directly, since the default connection object will be provided on
       requesting (or accepting) a connection. However, if the user defines his
       or her own derived connection object, the
       <ref target="wxserveronacceptconnection">wxServer::OnAcceptConnection</ref>
       and/or
       <ref target="wxclientonmakeconnection">wxClient::OnMakeConnection</ref>
       members should be replaced by functions which construct the new
       connection object.
      </p>
      <p>
       If the arguments of the wxConnection constructor are void then the
       wxConnection object manages its own connection buffer, allocating memory
       as needed. A programmer-supplied buffer cannot be increased if necessary,
       and the program will assert if it is not large enough. The
       programmer-supplied buffer is included mainly for backwards
       compatibility.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="Advise">
    <function type="bool" name="Advise">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size" value="-1"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxCF\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the server application to advise the client of a change in the
       data associated with the given item. Causes the client connection's
       <ref target="wxconnectiononadvise">wxConnection::OnAdvise</ref>
       member to be called. Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="Execute">
    <function type="bool" name="Execute">
     <parameters>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size" value="-1"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxCF\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to execute a command on the server. Can
       also be used to transfer arbitrary data to the server (similar to
       <ref target="wxconnectionpoke">wxConnection::Poke</ref>
       in that respect). Causes the server connection's
       <ref target="wxconnectiononexecute">wxConnection::OnExecute</ref>
       member to be called. Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="Disconnect">
    <function type="bool" name="Disconnect">
     <description>
      <p>
       Called by the client or server application to disconnect from the other
       program; it causes the
       <ref target="wxconnectionondisconnect">wxConnection::OnDisconnect</ref>
       message to be sent to the corresponding connection object in the other
       program. Returns true if successful or already disconnected. The
       application that calls
       <b> Disconnect</b>
       must explicitly delete its side of the connection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnAdvise">
    <function type="virtual bool" name="OnAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the client application when the server notifies it of a
       change in the data associated with the given item, using
       <ref target="wxconnectionadvise">Advise</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnDisconnect">
    <function type="virtual bool" name="OnDisconnect">
     <description>
      <p>
       Message sent to the client or server application when the other
       application notifies it to end the connection. The default behaviour is
       to delete the connection object and return true, so applications should
       generally override
       <b> OnDisconnect</b>
       (finally calling the inherited method as well) so that they know the
       connection object is no longer available.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnExecute">
    <function type="virtual bool" name="OnExecute">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application when the client notifies it to
       execute the given data, using
       <ref target="wxconnectionexecute">Execute</ref>
       . Note that there is no item associated with this message.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnPoke">
    <function type="virtual bool" name="OnPoke">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application when the client notifies it to
       accept the given data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnRequest">
    <function type="virtual char&#42;" name="OnRequest">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="int &#42;" name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application when the client calls
       <ref target="wxconnectionrequest">wxConnection::Request</ref>
       . The server's
       <ref target="wxconnectiononrequest">OnRequest</ref>
       method should respond by returning a character string, or NULL to
       indicate no data, and setting &#42;size. The character string must of
       course persist after the call returns.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnStartAdvise">
    <function type="virtual bool" name="OnStartAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application by the client, when the client
       wishes to start an `advise loop' for the given topic and item. The server
       can refuse to participate by returning false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="OnStopAdvise">
    <function type="virtual bool" name="OnStopAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application by the client, when the client
       wishes to stop an `advise loop' for the given topic and item. The server
       can refuse to stop the advise loop by returning false, although this
       doesn't have much meaning in practice.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="Poke">
    <function type="bool" name="Poke">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size" value="-1"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxCF\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to poke data into the server. Can be
       used to transfer arbitrary data to the server. Causes the server
       connection's
       <ref target="wxconnectiononpoke">wxConnection::OnPoke</ref>
       member to be called. If size is -1 the size is computed from the string
       length of data.
      </p>
      <p>
       Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="Request">
    <function type="char&#42;" name="Request">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="int &#42;" name="size"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxIPC\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to request data from the server. Causes
       the server connection's
       <ref target="wxconnectiononrequest">wxConnection::OnRequest</ref>
       member to be called. Size may be NULL or a pointer to a variable to
       receive the size of the requested item.
      </p>
      <p>
       Returns a character string (actually a pointer to the connection's
       buffer) if successful, NULL otherwise. This buffer does not need to be
       deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="StartAdvise">
    <function type="bool" name="StartAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to ask if an advise loop can be started
       with the server. Causes the server connection's
       <ref target="wxconnectiononstartadvise">wxConnection::OnStartAdvise</ref>
       member to be called. Returns true if the server okays it, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxConnection" name="StopAdvise">
    <function type="bool" name="StopAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to ask if an advise loop can be stopped.
       Causes the server connection's
       <ref target="wxconnectiononstopadvise">wxConnection::OnStopAdvise</ref>
       member to be called. Returns true if the server okays it, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxContextHelp">
  <description>
   <p class="classdesc">
    This class changes the cursor to a query and puts the application into a
    'context-sensitive help mode'. When the user left-clicks on a window within
    the specified window, a wxEVT\_HELP event is sent to that control, and the
    application may respond to it by popping up some help.
   </p>
   <p class="classdesc">
    For example:
   </p>
   <p class="classdesc">
    <pre>
  wxContextHelp contextHelp(myWindow);
</pre>
   </p>
   <p class="classdesc">
    There are a couple of ways to invoke this behaviour implicitly:
   </p>
   <p class="classdesc">
    <ul>
     <li>Use the wxDIALOG\_EX\_CONTEXTHELP style for a dialog (Windows only). This will put
      a question mark in the titlebar, and Windows will put the application into
      context-sensitive help mode automatically, with further programming.</li>
     <li>Create a
      <ref target="wxcontexthelpbutton">wxContextHelpButton</ref>
      , whose predefined behaviour is to create a context help object. Normally
      you will write your application so that this button is only added to a
      dialog for non-Windows platforms (use wxDIALOG\_EX\_CONTEXTHELP on Windows).</li>
    </ul>
   </p>
   <p class="classdesc">
    Note that on Mac OS X, the cursor does not change when in context-sensitive
    help mode.
   </p>
  </description>
  <category>Online help</category>
  <shortdesc>Class to put application into context-sensitive help mode</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cshelp.h"/>
  </includes>
  <seealso>
   <ref target="wxhelpevent">wxHelpEvent</ref>
   <ref target="wxhelpcontroller">wxHelpController</ref>
   <ref target="wxcontexthelpbutton">wxContextHelpButton</ref>
  </seealso>
  <members>
   <member class="wxContextHelp" name="wxContextHelp">
    <function type="" name="wxContextHelp">
     <parameters>
      <parameter type="wxWindow&#42; " name="window" value="NULL"></parameter>
      <parameter type="bool " name="doNow" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a context help object, calling
       <ref target="wxcontexthelpbegincontexthelp">BeginContextHelp</ref>
       if
       <i> doNow</i>
       is true (the default).
      </p>
      <p>
       If
       <i> window</i>
       is NULL, the top window is used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxContextHelp" name="~wxContextHelp">
    <function type="" name="~wxContextHelp">
     <description>
      <p>
       Destroys the context help object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxContextHelp" name="BeginContextHelp">
    <function type="bool" name="BeginContextHelp">
     <parameters>
      <parameter type="wxWindow&#42; " name="window" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Puts the application into context-sensitive help mode.
       <i> window</i>
       is the window which will be used to catch events; if NULL, the top window
       will be used.
      </p>
      <p>
       Returns true if the application was successfully put into
       context-sensitive help mode. This function only returns when the event
       loop has finished.
      </p>
     </description>
    </function>
   </member>
   <member class="wxContextHelp" name="EndContextHelp">
    <function type="bool" name="EndContextHelp">
     <description>
      <p>
       Ends context-sensitive help mode. Not normally called by the application.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxContextHelpButton" annotation="abstract">
  <description>
   <p class="classdesc">
    Instances of this class may be used to add a question mark button that when
    pressed, puts the application into context-help mode. It does this by
    creating a
    <ref target="wxcontexthelp">wxContextHelp</ref>
    object which itself generates a wxEVT\_HELP event when the user clicks on a
    window.
   </p>
   <p class="classdesc">
    On Windows, you may add a question-mark icon to a dialog by use of the
    wxDIALOG\_EX\_CONTEXTHELP extra style, but on other platforms you will have to
    add a button explicitly, usually next to OK, Cancel or similar buttons.
   </p>
  </description>
  <category>Online help</category>
  <shortdesc>Button class for putting application into context-sensitive help mode</shortdesc>
  <parents>
   <ref type="help" target="wxBitmapButton">wxBitmapButton</ref>
   <ref type="help" target="wxButton">wxButton</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cshelp.h"/>
  </includes>
  <seealso>
   <ref target="wxbitmapbutton">wxBitmapButton</ref>
   <ref target="wxcontexthelp">wxContextHelp</ref>
  </seealso>
  <members>
   <member class="wxContextHelpButton" name="wxContextHelpButton">
    <function type="" name="wxContextHelpButton">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxContextHelpButton">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id" value="wxID\_CONTEXT\_HELP">
       Button identifier. Defaults to wxID\_CONTEXT\_HELP.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Button position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Button size. If the default size (-1, -1) is specified then the button is
       sized appropriately for the question mark bitmap.
      </parameter>
      <parameter type="long " name="style" value="wxBU\_AUTODRAW">
       Window style.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Normally you need pass only the parent window to the constructor, and use
       the defaults for the remaining parameters.
      </p>
     </remarks>
     <description>
      <p>
       Constructor, creating and showing a context help button.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxContextMenuEvent">
  <description>
   <p class="classdesc">
    This class is used for context menu events, sent to give the application a
    chance to show a context (popup) menu.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>An event generated when the user issues a context menu command</shortdesc>
  <parents>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_CONTEXT\_MENU(func)">A right click (or other context menu command depending on platform) has been detected.</event>
  </events>
  <seealso>
   <ref target="wxcommandevent">Command events</ref>
   ,
   <br/>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxContextMenuEvent" name="wxContextMenuEvent">
    <function type="" name="wxContextMenuEvent">
     <parameters>
      <parameter type="WXTYPE " name="id" value="0"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxContextMenuEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description>
      <p>
       Returns the position at which the menu should be shown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxContextMenuEvent" name="SetPosition">
    <function type="void" name="SetPosition">
     <parameters>
      <parameter type="const wxPoint&amp; " name="point"></parameter>
     </parameters>
     <description>
      <p>
       Sets the position at which the menu should be shown.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxControl">
  <description>
   <p class="classdesc">
    This is the base class for a control or ``widget''.
   </p>
   <p class="classdesc">
    A control is generally a small window which processes user input and/or
    displays one or more item of data.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>The base class for controls</shortdesc>
  <parents>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/control.h"/>
  </includes>
  <seealso>
   <ref target="wxvalidator">wxValidator</ref>
  </seealso>
  <members>
   <member class="wxControl" name="Command">
    <function type="void" name="Command">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Simulates the effect of the user issuing a command to the item. See
       <ref target="wxcommandevent">wxCommandEvent</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxControl" name="GetLabel">
    <function type="wxString&amp;" name="GetLabel">
     <description>
      <p>
       Returns the control's text.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControl" name="SetLabel">
    <function type="void" name="SetLabel">
     <parameters>
      <parameter type="const wxString&amp; " name="label"></parameter>
     </parameters>
     <description>
      <p>
       Sets the item's text.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxControlWithItems">
  <description>
   <p class="classdesc">
    This class is an abstract base class for some wxWidgets controls which
    contain several items, such as
    <ref target="wxlistbox">wxListBox</ref>
    and
    <ref target="wxchecklistbox">wxCheckListBox</ref>
    derived from it,
    <ref target="wxchoice">wxChoice</ref>
    and
    <ref target="wxcombobox">wxComboBox</ref>
    .
   </p>
   <p class="classdesc">
    It defines the methods for accessing the controls items and although each of
    the derived classes implements them differently, they still all conform to
    the same interface.
   </p>
   <p class="classdesc">
    The items in a wxControlWithItems have (non empty) string labels and,
    optionally, client data associated with them. Client data may be of two
    different kinds: either simple untyped (
    <tt> void &#42;</tt>
    ) pointers which are simply stored by the control but not used in any way by
    it, or typed pointers (
    <tt> wxClientData &#42;</tt>
    ) which are owned by the control meaning that the typed client data (and
    only it) will be deleted when an item is
    <ref target="wxcontrolwithitemsdelete">deleted</ref>
    or the entire control is
    <ref target="wxcontrolwithitemsclear">cleared</ref>
    (which also happens when it is destroyed). Finally note that in the same
    control all items must have client data of the same type (typed or untyped),
    if any. This type is determined by the first call to
    <ref target="wxcontrolwithitemsappend">Append</ref>
    (the version with client data pointer) or
    <ref target="wxcontrolwithitemssetclientdata">SetClientData</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/ctrlsub.h" comment="but usually never included directly"/>
  </includes>
  <members>
   <member class="wxControlWithItems" name="Append">
    <function type="int" name="Append">
     <parameters>
      <parameter type="const wxString&amp;  " name="item">
       String to add.
      </parameter>
     </parameters>
     <description>
      <p>
       Adds the item to the end of the list box.
      </p>
     </description>
    </function>
    <function type="int" name="Append">
     <parameters>
      <parameter type="const wxString&amp;  " name="item">
       String to add.
      </parameter>
      <parameter type="void &#42;" name="clientData">
       Client data to associate with the item.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="int" name="Append">
     <parameters>
      <parameter type="const wxString&amp;  " name="item">
       String to add.
      </parameter>
      <parameter type="wxClientData &#42;" name="clientData">
       Client data to associate with the item.
      </parameter>
     </parameters>
     <description>
      <p>
       Adds the item to the end of the list box, associating the given, typed or
       untyped, client data pointer with the item.
      </p>
     </description>
    </function>
    <function type="void" name="Append">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="strings"></parameter>
     </parameters>
     <returnvalue>
      When appending a single item, the return value is the index of the newly
      added item which may be different from the last one if the control is
      sorted (e.g. has
      <tt> wxLB\_SORT</tt>
      or
      <tt> wxCB\_SORT</tt>
      style).
     </returnvalue>
     <description>
      <p>
       Appends several items at once to the control. Notice that calling this
       method may be much faster than appending the items one by one if you need
       to add a lot of items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Removes all items from the control.
      </p>
      <p>
       <i> Clear()</i>
       also deletes the client data of the existing items if it is owned by the
       control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="Delete">
    <function type="void" name="Delete">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item index.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcontrolwithitemsclear">Clear</ref>
     </seealso>
     <description>
      <p>
       Deletes an item from the control. The client data associated with the
       item will be also deleted if it is owned by the control.
      </p>
      <p>
       Note that it is an error (signalled by an assert failure in debug builds)
       to remove an item with the index negative or greater or equal than the
       number of items in the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="FindString">
    <function type="int" name="FindString">
     <parameters>
      <parameter type="const wxString&amp; " name="string">
       String to find.
      </parameter>
     </parameters>
     <returnvalue>
      The zero-based position of the item, or
      <tt> wxNOT\_FOUND</tt>
      if the string was not found.
     </returnvalue>
     <description>
      <p>
       Finds an item whose label matches the given string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="GetClientData">
    <function type="void &#42;" name="GetClientData" suffix="const">
     <parameters>
      <parameter type="int " name="n">
       The zero-based position of the item.
      </parameter>
     </parameters>
     <returnvalue>
      A pointer to the client data, or
      <tt> NULL</tt>
      if not present.
     </returnvalue>
     <description>
      <p>
       Returns a pointer to the client data associated with the given item (if
       any). It is an error to call this function for a control which doesn't
       have untyped client data at all although it is ok to call it even if the
       given item doesn't have any client data associated with it (but other
       items do).
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="GetClientObject">
    <function type="wxClientData &#42;" name="GetClientObject" suffix="const">
     <parameters>
      <parameter type="int " name="n">
       The zero-based position of the item.
      </parameter>
     </parameters>
     <returnvalue>
      A pointer to the client data, or
      <tt> NULL</tt>
      if not present.
     </returnvalue>
     <description>
      <p>
       Returns a pointer to the client data associated with the given item (if
       any). It is an error to call this function for a control which doesn't
       have typed client data at all although it is ok to call it even if the
       given item doesn't have any client data associated with it (but other
       items do).
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="GetCount">
    <function type="int" name="GetCount" suffix="const">
     <seealso>
      <ref target="wxcontrolwithitemsisempty">IsEmpty</ref>
     </seealso>
     <description>
      <p>
       Returns the number of items in the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="GetSelection">
    <function type="int" name="GetSelection" suffix="const">
     <seealso>
      <ref target="wxcontrolwithitemssetselection">SetSelection</ref>
      ,
      <ref target="wxcontrolwithitemsgetstringselection">GetStringSelection</ref>
     </seealso>
     <remarks>
      <p>
       This method can be used with single selection list boxes only, you should
       use
       <ref target="wxlistboxgetselections">wxListBox::GetSelections</ref>
       for the list boxes with
       <tt> wxLB\_MULTIPLE</tt>
       style.
      </p>
     </remarks>
     <returnvalue>
      The position of the current selection.
     </returnvalue>
     <description>
      <p>
       Returns the index of the selected item or
       <tt> wxNOT\_FOUND</tt>
       if no item is selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="GetString">
    <function type="wxString" name="GetString" suffix="const">
     <parameters>
      <parameter type="int " name="n">
       The zero-based index.
      </parameter>
     </parameters>
     <returnvalue>
      The label of the item or an empty string if the position was invalid.
     </returnvalue>
     <description>
      <p>
       Returns the label of the item with the given index.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="GetStringSelection">
    <function type="wxString" name="GetStringSelection" suffix="const">
     <seealso>
      <ref target="wxcontrolwithitemsgetselection">GetSelection</ref>
     </seealso>
     <description>
      <p>
       Returns the label of the selected item or an empty string if no item is
       selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="Insert">
    <function type="int" name="Insert">
     <parameters>
      <parameter type="const wxString&amp;  " name="item">
       String to add.
      </parameter>
      <parameter type="int " name="pos">
       Position to insert item before, zero based.
      </parameter>
     </parameters>
     <description>
      <p>
       Inserts the item into the list before pos. Not valid for
       <tt> wxLB\_SORT</tt>
       or
       <tt> wxCB\_SORT</tt>
       styles, use Append instead.
      </p>
     </description>
    </function>
    <function type="int" name="Insert">
     <parameters>
      <parameter type="const wxString&amp;  " name="item">
       String to add.
      </parameter>
      <parameter type="int " name="pos">
       Position to insert item before, zero based.
      </parameter>
      <parameter type="void &#42;" name="clientData">
       Client data to associate with the item.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="int" name="Insert">
     <parameters>
      <parameter type="const wxString&amp;  " name="item">
       String to add.
      </parameter>
      <parameter type="int " name="pos">
       Position to insert item before, zero based.
      </parameter>
      <parameter type="wxClientData &#42;" name="clientData">
       Client data to associate with the item.
      </parameter>
     </parameters>
     <returnvalue>
      The return value is the index of the newly inserted item. If the insertion
      failed for some reason, -1 is returned.
     </returnvalue>
     <description>
      <p>
       Inserts the item into the list before pos, associating the given, typed
       or untyped, client data pointer with the item. Not valid for
       <tt> wxLB\_SORT</tt>
       or
       <tt> wxCB\_SORT</tt>
       styles, use Append instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="IsEmpty">
    <function type="bool" name="IsEmpty" suffix="const">
     <seealso>
      <ref target="wxcontrolwithitemsgetcount">GetCount</ref>
     </seealso>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the control is empty or
       <tt> false</tt>
       if it has some items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="Number">
    <function type="int" name="Number" suffix="const" obsolete="yes">
     <description>
      <p>
       <b> Obsolescence note:</b>
       This method is obsolete and was replaced with
       <ref target="wxcontrolwithitemsgetcount">GetCount</ref>
       , please use the new method in the new code. This method is only
       available if wxWidgets was compiled with
       <tt> WXWIN\_COMPATIBILITY\_2\_2</tt>
       defined and will disappear completely in future versions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="Select">
    <function type="void" name="Select">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       This is the same as
       <ref target="wxcontrolwithitemssetselection">SetSelection</ref>
       and exists only because it is slightly more natural for controls which
       support multiple selection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="SetClientData">
    <function type="void" name="SetClientData">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item index.
      </parameter>
      <parameter type="void &#42;" name="data">
       The client data to associate with the item.
      </parameter>
     </parameters>
     <description>
      <p>
       Associates the given untyped client data pointer with the given item.
       Note that it is an error to call this function if any typed client data
       pointers had been associated with the control items before.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="SetClientObject">
    <function type="void" name="SetClientObject">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item index.
      </parameter>
      <parameter type="wxClientData &#42;" name="data">
       The client data to associate with the item.
      </parameter>
     </parameters>
     <description>
      <p>
       Associates the given typed client data pointer with the given item: the
       <i> data</i>
       object will be deleted when the item is deleted (either explicitly by
       using
       <ref target="wxcontrolwithitemsdelete">Deletes</ref>
       or implicitly when the control itself is destroyed).
      </p>
      <p>
       Note that it is an error to call this function if any untyped client data
       pointers had been associated with the control items before.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="SetSelection">
    <function type="void" name="SetSelection">
     <parameters>
      <parameter type="int " name="n">
       The string position to select, starting from zero.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcontrolwithitemssetstring">SetString</ref>
      ,
      <ref target="wxcontrolwithitemssetstringselection">SetStringSelection</ref>
     </seealso>
     <description>
      <p>
       Sets the selection to the given item
       <i>n</i>
       or removes the selection entirely if
       <i>n</i>
       $==$
       <tt> wxNOT\_FOUND</tt>
       .
      </p>
      <p>
       Note that this does not cause any command events to be emitted nor does
       it deselect any other items in the controls which support multiple
       selections.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="SetString">
    <function type="void" name="SetString">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item index.
      </parameter>
      <parameter type="const wxString&amp;  " name="string">
       The label to set.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the label for the given item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxControlWithItems" name="SetStringSelection">
    <function type="bool" name="SetStringSelection">
     <parameters>
      <parameter type="const wxString&amp;  " name="string">
       The string to select.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcontrolwithitemssetselection">SetSelection</ref>
     </seealso>
     <returnvalue>
      true if the specified string has been selected, false if it wasn't found
      in the control.
     </returnvalue>
     <description>
      <p>
       Selects the item with the specified string in the control. This doesn't
       cause any command events being emitted.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxCountingOutputStream">
  <description>
   <p class="classdesc">
    wxCountingOutputStream is a specialized output stream which does not write
    any data anyway, instead it counts how many bytes would get written if this
    were a normal stream. This can sometimes be useful or required if some data
    gets serialized to a stream or compressed by using stream compression and
    thus the final size of the stream cannot be known other than pretending to
    write the stream. One case where the resulting size would have to be known
    is if the data has to be written to a piece of memory and the memory has to
    be allocated before writing to it (which is probably always the case when
    writing to a memory stream).
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Stream class for querying what size a stream would have.</shortdesc>
  <parents>
   <ref type="help" target="wxOutputStream">wxOutputStream</ref>
   <ref type="help" target="wxStreamBase">wxStreamBase</ref>
  </parents>
  <includes>
   <header name="wx/stream.h"/>
  </includes>
  <members>
   <member class="wxCountingOutputStream" name="wxCountingOutputStream">
    <function type="" name="wxCountingOutputStream">
     <description>
      <p>
       Creates a wxCountingOutputStream object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCountingOutputStream" name="~wxCountingOutputStream">
    <function type="" name="~wxCountingOutputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCountingOutputStream" name="GetSize">
    <function type="size\_t" name="GetSize" suffix="const">
     <description>
      <p>
       Returns the current size of the stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCriticalSection">
  <description>
   <p class="classdesc">
    A critical section object is used for exactly the same purpose as
    <ref target="wxmutex">mutexes</ref>
    . The only difference is that under Windows platform critical sections are
    only visible inside one process, while mutexes may be shared between
    processes, so using critical sections is slightly more efficient. The
    terminology is also slightly different: mutex may be locked (or acquired)
    and unlocked (or released) while critical section is entered and left by the
    program.
   </p>
   <p class="classdesc">
    Finally, you should try to use
    <ref target="wxcriticalsectionlocker">wxCriticalSectionLocker</ref>
    class whenever possible instead of directly using wxCriticalSection for the
    same reasons
    <ref target="wxmutexlocker">wxMutexLocker</ref>
    is preferrable to
    <ref target="wxmutex">wxMutex</ref>
    - please see wxMutex for an example.
   </p>
  </description>
  <category>Threading classes</category>
  <shortdesc>Critical section class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/thread.h"/>
  </includes>
  <seealso>
   <ref target="wxthread">wxThread</ref>
   <ref target="wxcondition">wxCondition</ref>
   <ref target="wxcriticalsectionlocker">wxCriticalSectionLocker</ref>
  </seealso>
  <members>
   <member class="wxCriticalSection" name="wxCriticalSection">
    <function type="" name="wxCriticalSection">
     <description>
      <p>
       Default constructor initializes critical section object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCriticalSection" name="~wxCriticalSection">
    <function type="" name="~wxCriticalSection">
     <description>
      <p>
       Destructor frees the resources.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCriticalSection" name="Enter">
    <function type="void " name="Enter">
     <description>
      <p>
       Enter the critical section (same as locking a mutex). There is no error
       return for this function. After entering the critical section protecting
       some global data the thread running in critical section may safely
       use/modify it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCriticalSection" name="Leave">
    <function type="void " name="Leave">
     <description>
      <p>
       Leave the critical section allowing other threads use the global data
       protected by it. There is no error return for this function.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCriticalSectionLocker">
  <description>
   <p class="classdesc">
    This is a small helper class to be used with
    <ref target="wxcriticalsection">wxCriticalSection</ref>
    objects. A wxCriticalSectionLocker enters the critical section in the
    constructor and leaves it in the destructor making it much more difficult to
    forget to leave a critical section (which, in general, will lead to serious
    and difficult to debug problems).
   </p>
   <p class="classdesc">
    Example of using it:
   </p>
   <p class="classdesc">
    <pre>
void Set Foo()
\{
    // gs\_critSect is some (global) critical section guarding access to the
    // object &quot;foo&quot;
    wxCriticalSectionLocker locker(gs\_critSect);

    if ( ... )
    \{
        // do something
        ...

        return;
    \}

    // do something else
    ...

    return;
\}
</pre>
   </p>
   <p class="classdesc">
    Without wxCriticalSectionLocker, you would need to remember to manually
    leave the critical section before each
    <tt> return</tt>
    .
   </p>
  </description>
  <category>Threading classes</category>
  <shortdesc>Critical section locker utility class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/thread.h"/>
  </includes>
  <seealso>
   <ref target="wxcriticalsection">wxCriticalSection</ref>
   <ref target="wxmutexlocker">wxMutexLocker</ref>
  </seealso>
  <members>
   <member class="wxCriticalSectionLocker" name="wxCriticalSectionLocker">
    <function type="" name="wxCriticalSectionLocker">
     <parameters>
      <parameter type="wxCriticalSection&amp; " name="criticalsection"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a wxCriticalSectionLocker object associated with given
       <i> criticalsection</i>
       and enters it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCriticalSectionLocker" name="~wxCriticalSectionLocker">
    <function type="" name="~wxCriticalSectionLocker">
     <description>
      <p>
       Destructor leaves the critical section.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCursor">
  <description>
   <p class="classdesc">
    A cursor is a small bitmap usually used for denoting where the mouse pointer
    is, with a picture that might indicate the interpretation of a mouse click.
    As with icons, cursors in X and MS Windows are created in a different
    manner. Therefore, separate cursors will be created for the different
    environments. Platform-specific methods for creating a
    <b>
wxCursor</b>
    object are catered for, and this is an occasion where conditional
    compilation will probably be required (see
    <ref target="wxicon">wxIcon</ref>
    for an example).
   </p>
   <p class="classdesc">
    A single cursor object may be used in many windows (any subwindow type). The
    wxWidgets convention is to set the cursor for a window, as in X, rather than
    to set it globally as in MS Windows, although a global
    <ref target="wxsetcursor">::wxSetCursor</ref>
    is also available for MS Windows use.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>A small, transparent bitmap representing the cursor</shortdesc>
  <parents>
   <ref type="help" target="wxBitmap">wxBitmap</ref>
   <ref type="help" target="wxGDIObject">wxGDIObject</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cursor.h"/>
  </includes>
  <predefs>

Objects:

<b> wxNullCursor</b>

Pointers:

<b> wxSTANDARD\_CURSOR<br/>
wxHOURGLASS\_CURSOR<br/>
wxCROSS\_CURSOR</b>
  </predefs>
  <seealso>
   <ref target="wxbitmap">wxBitmap</ref>
   <ref target="wxicon">wxIcon</ref>
   <ref target="wxwindowsetcursor">wxWindow::SetCursor</ref>
   ,
   <ref target="wxsetcursor">::wxSetCursor</ref>
  </seealso>
  <members>
   <member class="wxCursor" name="wxCursor">
    <function type="" name="wxCursor">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxCursor">
     <parameters>
      <parameter type="const char " name="bits[]"></parameter>
      <parameter type="int " name="width">
       Cursor width.
      </parameter>
      <parameter type="int  " name="height">
       Cursor height.
      </parameter>
      <parameter type="int " name="hotSpotX" value="-1">
       Hotspot x coordinate.
      </parameter>
      <parameter type="int " name="hotSpotY" value="-1">
       Hotspot y coordinate.
      </parameter>
      <parameter type="const char " name="maskBits[]" value="NULL"></parameter>
      <parameter type="wxColour&#42; " name="fg" value="NULL"></parameter>
      <parameter type="wxColour&#42; " name="bg" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a cursor by passing an array of bits (Motif and GTK+ only).
       <i> maskBits</i>
       is used only under Motif and GTK+. The parameters
       <i> fg</i>
       and
       <i> bg</i>
       are only present on GTK+, and force the cursor to use particular
       background and foreground colours.
      </p>
      <p>
       If either
       <i> hotSpotX</i>
       or
       <i> hotSpotY</i>
       is -1, the hotspot will be the centre of the cursor image (Motif only).
      </p>
     </description>
    </function>
    <function type="" name="wxCursor">
     <parameters>
      <parameter type="const wxString&amp; " name="cursorName"></parameter>
      <parameter type="long " name="type"></parameter>
      <parameter type="int " name="hotSpotX" value="0">
       Hotspot x coordinate.
      </parameter>
      <parameter type="int " name="hotSpotY" value="0">
       Hotspot y coordinate.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a cursor by passing a string resource name or filename.
      </p>
      <p>
       On MacOS when specifying a string resource name, first the color cursors
       'crsr' and then the black/white cursors 'CURS' in the resource chain are
       scanned through.
      </p>
      <p>
       <i> hotSpotX</i>
       and
       <i> hotSpotY</i>
       are currently only used under Windows when loading from an icon file, to
       specify the cursor hotspot relative to the top left of the image.
      </p>
     </description>
    </function>
    <function type="" name="wxCursor">
     <parameters>
      <parameter type="int " name="cursorId"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a cursor using a cursor identifier.
      </p>
     </description>
    </function>
    <function type="" name="wxCursor">
     <parameters>
      <parameter type="const wxImage&amp; " name="image"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a cursor from a wxImage. The cursor is monochrome, colors with
       the RGB elements all greater than 127 will be foreground, colors less
       than this background. The mask (if any) will be used as transparent.
      </p>
      <p>
       In MSW the foreground will be white and the background black. If the
       cursor is larger than 32x32 it is resized. In GTK, the two most frequent
       colors will be used for foreground and background. The cursor will be
       displayed at the size of the image. On MacOS if the cursor is larger than
       16x16 it is resized and currently only shown as black/white (mask
       respected).
      </p>
     </description>
    </function>
    <function type="" name="wxCursor">
     <parameters>
      <parameter type="const wxCursor&amp; " name="cursor">
       Pointer or reference to a cursor to copy.
      </parameter>
     </parameters>
     <example>
      <p>
       The following is an example of creating a cursor from 32x32 bitmap data (
       <tt> down\_bits</tt>
       ) and a mask (
       <tt> down\_mask</tt>
       ) where 1 is black and 0 is white for the bits, and 1 is opaque and 0 is
       transparent for the mask. It works on Windows and GTK+.
      </p>
      <pre>
static char down\_bits[] = \{ 255, 255, 255, 255, 31,
  255, 255, 255, 31, 255, 255, 255, 31, 255, 255, 255,
  31, 255, 255, 255, 31, 255, 255, 255, 31, 255, 255,
  255, 31, 255, 255, 255, 31, 255, 255, 255, 25, 243,
  255, 255, 19, 249, 255, 255, 7, 252, 255, 255, 15, 254,
  255, 255, 31, 255, 255, 255, 191, 255, 255, 255, 255,
  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  255 \};

static char down\_mask[] = \{ 240, 1, 0, 0, 240, 1,
  0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 240, 1,
  0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 255, 31, 0, 0, 255,
  31, 0, 0, 254, 15, 0, 0, 252, 7, 0, 0, 248, 3, 0, 0,
  240, 1, 0, 0, 224, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0 \};

#ifdef \_\_WXMSW\_\_
wxBitmap down\_bitmap(down\_bits, 32, 32);
wxBitmap down\_mask\_bitmap(down\_mask, 32, 32);

down\_bitmap.SetMask(new wxMask(down\_mask\_bitmap));
wxImage down\_image = down\_bitmap.ConvertToImage();
down\_image.SetOption(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_X, 6);
down\_image.SetOption(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_Y, 14);
wxCursor down\_cursor = wxCursor(down\_image);
#else
wxCursor down\_cursor = wxCursor(down\_bits, 32, 32,
  6, 14, down\_mask, wxWHITE, wxBLACK);
#endif
</pre>
     </example>
     <description>
      <p>
       Copy constructor. This uses reference counting so is a cheap operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCursor" name="~wxCursor">
    <function type="" name="~wxCursor">
     <description>
      <p>
       Destroys the cursor. A cursor can be reused for more than one window, and
       does not get destroyed when the window is destroyed. wxWidgets destroys
       all cursors on application exit, although it is best to clean them up
       explicitly.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCursor" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if cursor data is present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCursor" name="operator $=$">
    <function type="wxCursor&amp;" name="operator $=$">
     <parameters>
      <parameter type="const wxCursor&amp; " name="cursor"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator, using reference counting. Returns a reference to
       `this'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCursor" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxCursor&amp; " name="cursor"></parameter>
     </parameters>
     <description>
      <p>
       Equality operator. Two cursors are equal if they contain pointers to the
       same underlying cursor data. It does not compare each attribute, so two
       independently-created cursors using the same parameters will fail the
       test.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCursor" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxCursor&amp; " name="cursor"></parameter>
     </parameters>
     <description>
      <p>
       Inequality operator. Two cursors are not equal if they contain pointers
       to different underlying cursor data. It does not compare each attribute.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxCustomDataObject">
  <description>
   <p class="classdesc">
    wxCustomDataObject is a specialization of
    <ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
    for some application-specific data in arbitrary (either custom or one of the
    standard ones). The only restriction is that it is supposed that this data
    can be copied bitwise (i.e. with
    <tt> memcpy()</tt>
    ), so it would be a bad idea to make it contain a C++ object (though C
    struct is fine).
   </p>
   <p class="classdesc">
    By default, wxCustomDataObject stores the data inside in a buffer. To put
    the data into the buffer you may use either
    <ref target="wxcustomdataobjectsetdata">SetData</ref>
    or
    <ref target="wxcustomdataobjecttakedata">TakeData</ref>
    depending on whether you want the object to make a copy of data or not.
   </p>
   <p class="classdesc">
    If you already store the data in another place, it may be more convenient
    and efficient to provide the data on-demand which is possible too if you
    override the virtual functions mentioned below.
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Custom data object class</shortdesc>
  <parents>
   <ref type="help" target="wxDataObjectSimple">wxDataObjectSimple</ref>
   <ref type="help" target="wxDataObject">wxDataObject</ref>
  </parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

This class may be used as is, but if you don't want store the data inside the
object but provide it on demand instead, you should override 
<ref target="wxcustomdataobjectgetsize">GetSize</ref>, 
<ref target="wxcustomdataobjectgetdata">GetData</ref> and 
<ref target="wxcustomdataobjectsetdata">SetData</ref> (or may be only the first two or
only the last one if you only allow reading/writing the data)

</override>
  <seealso>
   <ref target="wxdataobject">wxDataObject</ref>
  </seealso>
  <members>
   <member class="wxCustomDataObject" name="wxCustomDataObject">
    <function type="" name="wxCustomDataObject">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format" value="wxFormatInvalid"></parameter>
     </parameters>
     <description>
      <p>
       The constructor accepts a
       <i> format</i>
       argument which specifies the (single) format supported by this object. If
       it isn't set here,
       <ref target="wxdataobjectsimplesetformat">SetFormat</ref>
       should be used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="~wxCustomDataObject">
    <function type="" name="~wxCustomDataObject">
     <description>
      <p>
       The destructor will free the data hold by the object. Notice that
       although it calls a virtual
       <ref target="wxcustomdataobjectfree">Free()</ref>
       function, the base class version will always be called (C++ doesn't allow
       calling virtual functions from constructors or destructors), so if you
       override
       <tt> Free()</tt>
       , you should override the destructor in your class as well (which would
       probably just call the derived class' version of
       <tt> Free()</tt>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="Alloc">
    <function type="virtual void &#42;" name="Alloc">
     <parameters>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       This function is called to allocate
       <i> size</i>
       bytes of memory from SetData(). The default version just uses the
       operator new.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="Free">
    <function type="virtual void" name="Free">
     <description>
      <p>
       This function is called when the data is freed, you may override it to
       anything you want (or may be nothing at all). The default version calls
       operator delete$[]$ on the data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="GetSize">
    <function type="virtual size\_t" name="GetSize" suffix="const">
     <description>
      <p>
       Returns the data size in bytes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="GetData">
    <function type="virtual void &#42;" name="GetData" suffix="const">
     <description>
      <p>
       Returns a pointer to the data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="SetData">
    <function type="virtual void" name="SetData">
     <parameters>
      <parameter type="size\_t " name="size"></parameter>
      <parameter type="const void &#42;" name="data"></parameter>
     </parameters>
     <description>
      <p>
       Set the data. The data object will make an internal copy.
      </p>
     </description>
    </function>
   </member>
   <member class="wxCustomDataObject" name="TakeData">
    <function type="virtual void" name="TakeData">
     <parameters>
      <parameter type="size\_t " name="size"></parameter>
      <parameter type="const void &#42;" name="data"></parameter>
     </parameters>
     <description>
      <p>
       Like
       <ref target="wxcustomdataobjectsetdata">SetData</ref>
       , but doesn't copy the data - instead the object takes ownership of the
       pointer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDC" annotation="abstract">
  <description>
   <p class="classdesc">
    A wxDC is a
    <i> device context</i>
    onto which graphics and text can be drawn. It is intended to represent a
    number of output devices in a generic way, so a window can have a device
    context associated with it, and a printer also has a device context. In this
    way, the same piece of code may write to a number of different devices, if
    the device context is used as a parameter.
   </p>
   <p class="classdesc">
    Derived types of wxDC have documentation for specific features only, so
    refer to this section for most device context information.
   </p>
   <p class="classdesc">
    Please note that in addition to the versions of the methods documented here,
    there are also versions which accept single
    <tt> wxPoint</tt>
    parameter instead of two
    <tt> wxCoord</tt>
    ones or
    <tt> wxPoint</tt>
    and
    <tt> wxSize</tt>
    instead of four of them.
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>The device context base class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dc.h"/>
  </includes>
  <seealso>
   <ref target="dcoverview">Overview</ref>
  </seealso>
  <members>
   <member class="wxDC" name="wxDC">
    <function type="" name="wxDC">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="~wxDC">
    <function type="" name="~wxDC">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="BeginDrawing">
    <function type="void" name="BeginDrawing">
     <description>
      <p>
       Allows optimization of drawing code under MS Windows. Enclose drawing
       primitives between
       <b> BeginDrawing</b>
       and
       <b> EndDrawing</b>
       calls.
      </p>
      <p>
       Drawing to a wxDialog panel device context outside of a system-generated
       OnPaint event
       <i> requires</i>
       this pair of calls to enclose drawing code. This is because a Windows
       dialog box does not have a retained device context associated with it,
       and selections such as pen and brush settings would be lost if the device
       context were obtained and released for each drawing operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="Blit">
    <function type="bool" name="Blit">
     <parameters>
      <parameter type="wxCoord " name="xdest">
       Destination device context x position.
      </parameter>
      <parameter type="wxCoord " name="ydest">
       Destination device context y position.
      </parameter>
      <parameter type="wxCoord " name="width">
       Width of source area to be copied.
      </parameter>
      <parameter type="wxCoord " name="height">
       Height of source area to be copied.
      </parameter>
      <parameter type="wxDC&#42; " name="source">
       Source device context.
      </parameter>
      <parameter type="wxCoord " name="xsrc">
       Source device context x position.
      </parameter>
      <parameter type="wxCoord " name="ysrc">
       Source device context y position.
      </parameter>
      <parameter type="int " name="logicalFunc" value="wxCOPY">
       Logical function to use: see
       <ref target="wxdcsetlogicalfunction">wxDC::SetLogicalFunction</ref>
       .
      </parameter>
      <parameter type="bool " name="useMask" value="false">
       If true, Blit does a transparent blit using the mask that is associated
       with the bitmap selected into the source device context. The Windows
       implementation does the following if MaskBlt cannot be used:
       <ol>
        <li>Creates a temporary bitmap and copies the destination area into it.</li>
        <li>Copies the source area into the temporary bitmap using the specified logical
         function.</li>
        <li>Sets the masked area in the temporary bitmap to BLACK by ANDing the mask bitmap
         with the temp bitmap with the foreground colour set to WHITE and the bg
         colour set to BLACK.</li>
        <li>Sets the unmasked area in the destination area to BLACK by ANDing the mask
         bitmap with the destination area with the foreground colour set to
         BLACK and the background colour set to WHITE.</li>
        <li>ORs the temporary bitmap with the destination area.</li>
        <li>Deletes the temporary bitmap.</li>
       </ol>
       This sequence of operations ensures that the source's transparent area
       need not be black, and logical functions are supported.
       <b> Note:</b>
       on Windows, blitting with masks can be speeded up considerably by
       compiling wxWidgets with the wxUSE\_DC\_CACHE option enabled. You can also
       influence whether MaskBlt or the explicit mask blitting code above is
       used, by using
       <ref target="wxsystemoptions">wxSystemOptions</ref>
       and setting the
       <b> no-maskblt</b>
       option to 1.
      </parameter>
      <parameter type="wxCoord " name="xsrcMask" value="-1">
       Source x position on the mask. If both xsrcMask and ysrcMask are -1, xsrc
       and ysrc will be assumed for the mask source position. Currently only
       implemented on Windows.
      </parameter>
      <parameter type="wxCoord " name="ysrcMask" value="-1">
       Source y position on the mask. If both xsrcMask and ysrcMask are -1, xsrc
       and ysrc will be assumed for the mask source position. Currently only
       implemented on Windows.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmemorydc">wxMemoryDC</ref>
      <ref target="wxbitmap">wxBitmap</ref>
      <ref target="wxmask">wxMask</ref>
      \\begin\{comment\}
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDC" name="CacheEnabled">
    <function type="static bool" name="CacheEnabled">
     <seealso>
      <ref target="wxdcenablecache">wxDC::EnableCache</ref>
      <ref target="wxDC::ClearCache">wxDC::ClearCache</ref>
      \\end\{comment\}
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDC" name="CalcBoundingBox">
    <function type="void" name="CalcBoundingBox">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdcresetboundingbox">ResetBoundingBox</ref>
     </seealso>
     <description>
      <p>
       Adds the specified point to the bounding box which can be retrieved with
       <ref target="wxdcminx">MinX</ref>
       ,
       <ref target="wxdcmaxx">MaxX</ref>
       and
       <ref target="wxdcminy">MinY</ref>
       ,
       <ref target="wxdcmaxy">MaxY</ref>
       functions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Clears the device context using the current background brush.
      </p>
      <p>
       \\begin\{comment\}
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="ClearCache">
    <function type="static void" name="ClearCache">
     <seealso>
      <ref target="wxdcenablecache">wxDC::EnableCache</ref>
      <ref target="wxDC::CacheEnabled">wxDC::CacheEnabled</ref>
      \\end\{comment\}
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDC" name="ComputeScaleAndOrigin">
    <function type="virtual void" name="ComputeScaleAndOrigin">
     <description>
      <p>
       Performs all necessary computations for given platform and context type
       after each change of scale and origin parameters. Usually called
       automatically internally after such changes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="CrossHair">
    <function type="void" name="CrossHair">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Displays a cross hair using the current pen. This is a vertical and
       horizontal line the height and width of the window, centred on the given
       point.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DestroyClippingRegion">
    <function type="void" name="DestroyClippingRegion">
     <description>
      <p>
       Destroys the current clipping region so that none of the DC is clipped.
       See also
       <ref target="wxdcsetclippingregion">wxDC::SetClippingRegion</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DeviceToLogicalX">
    <function type="wxCoord" name="DeviceToLogicalX">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Convert device X coordinate to logical coordinate, using the current
       mapping mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DeviceToLogicalXRel">
    <function type="wxCoord" name="DeviceToLogicalXRel">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Convert device X coordinate to relative logical coordinate, using the
       current mapping mode but ignoring the x axis orientation. Use this
       function for converting a width, for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DeviceToLogicalY">
    <function type="wxCoord" name="DeviceToLogicalY">
     <parameters>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Converts device Y coordinate to logical coordinate, using the current
       mapping mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DeviceToLogicalYRel">
    <function type="wxCoord" name="DeviceToLogicalYRel">
     <parameters>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Convert device Y coordinate to relative logical coordinate, using the
       current mapping mode but ignoring the y axis orientation. Use this
       function for converting a height, for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawArc">
    <function type="void" name="DrawArc">
     <parameters>
      <parameter type="wxCoord " name="x1"></parameter>
      <parameter type="wxCoord " name="y1"></parameter>
      <parameter type="wxCoord " name="x2"></parameter>
      <parameter type="wxCoord " name="y2"></parameter>
      <parameter type="wxCoord " name="xc"></parameter>
      <parameter type="wxCoord " name="yc"></parameter>
     </parameters>
     <description>
      <p>
       Draws an arc of a circle, centred on (
       <i> xc, yc</i>
       ), with starting point (
       <i> x1, y1</i>
       ) and ending at (
       <i> x2, y2</i>
       ). The current pen is used for the outline and the current brush for
       filling the shape.
      </p>
      <p>
       The arc is drawn in an anticlockwise direction from the start point to
       the end point.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawBitmap">
    <function type="void" name="DrawBitmap">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="bool " name="transparent"></parameter>
     </parameters>
     <description>
      <p>
       Draw a bitmap on the device context at the specified point. If
       <i> transparent</i>
       is true and the bitmap has a transparency mask, the bitmap will be drawn
       transparently.
      </p>
      <p>
       When drawing a mono-bitmap, the current text foreground colour will be
       used to draw the foreground of the bitmap (all bits set to 1), and the
       current text background colour to draw the background (all bits set to
       0). See also
       <ref target="wxdcsettextforeground">SetTextForeground</ref>
       ,
       <ref target="wxdcsettextbackground">SetTextBackground</ref>
       and
       <ref target="wxmemorydc">wxMemoryDC</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawCheckMark">
    <function type="void" name="DrawCheckMark">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="width"></parameter>
      <parameter type="wxCoord " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawCheckMark">
     <parameters>
      <parameter type="const wxRect &amp;" name="rect"></parameter>
     </parameters>
     <description>
      <p>
       Draws a check mark inside the given rectangle.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawCircle">
    <function type="void" name="DrawCircle">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="radius"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawCircle">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
      <parameter type="wxCoord " name="radius"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdcdrawellipse">DrawEllipse</ref>
     </seealso>
     <description>
      <p>
       Draws a circle with the given centre and radius.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawEllipse">
    <function type="void" name="DrawEllipse">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="width"></parameter>
      <parameter type="wxCoord " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawEllipse">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawEllipse">
     <parameters>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdcdrawcircle">DrawCircle</ref>
     </seealso>
     <description>
      <p>
       Draws an ellipse contained in the rectangle specified either with the
       given top left corner and the given size or directly. The current pen is
       used for the outline and the current brush for filling the shape.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawEllipticArc">
    <function type="void" name="DrawEllipticArc">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="width"></parameter>
      <parameter type="wxCoord " name="height"></parameter>
      <parameter type="double " name="start"></parameter>
      <parameter type="double " name="end"></parameter>
     </parameters>
     <description>
      <p>
       Draws an arc of an ellipse. The current pen is used for drawing the arc
       and the current brush is used for drawing the pie.
      </p>
      <p>
       <i> x</i>
       and
       <i> y</i>
       specify the x and y coordinates of the upper-left corner of the rectangle
       that contains the ellipse.
      </p>
      <p>
       <i> width</i>
       and
       <i> height</i>
       specify the width and height of the rectangle that contains the ellipse.
      </p>
      <p>
       <i> start</i>
       and
       <i> end</i>
       specify the start and end of the arc relative to the three-o'clock
       position from the center of the rectangle. Angles are specified in
       degrees (360 is a complete circle). Positive values mean
       counter-clockwise motion. If
       <i> start</i>
       is equal to
       <i> end</i>
       , a complete ellipse will be drawn.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawIcon">
    <function type="void" name="DrawIcon">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon"></parameter>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Draw an icon on the display (does nothing if the device context is
       PostScript). This can be the simplest way of drawing bitmaps on a window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawLabel">
    <function type="virtual void" name="DrawLabel">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
      <parameter type="const wxBitmap&amp; " name="image"></parameter>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
      <parameter type="int " name="alignment" value="wxALIGN\_LEFT"></parameter>
      <parameter type="int " name="indexAccel" value="-1"></parameter>
      <parameter type="wxRect &#42;" name="rectBounding" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawLabel">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
      <parameter type="int " name="alignment" value="wxALIGN\_LEFT"></parameter>
      <parameter type="int " name="indexAccel" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       Draw optional bitmap and the text into the given rectangle and aligns it
       as specified by alignment parameter; it also will emphasize the character
       with the given index if it is != -1 and return the bounding rectangle if
       required.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawLine">
    <function type="void" name="DrawLine">
     <parameters>
      <parameter type="wxCoord " name="x1"></parameter>
      <parameter type="wxCoord " name="y1"></parameter>
      <parameter type="wxCoord " name="x2"></parameter>
      <parameter type="wxCoord " name="y2"></parameter>
     </parameters>
     <description>
      <p>
       Draws a line from the first point to the second. The current pen is used
       for drawing the line. Note that the point $(x2, y2)$ is
       <i> not</i>
       part of the line and is not drawn by this function (this is consistent
       with the behaviour of many other toolkits).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawLines">
    <function type="void" name="DrawLines">
     <parameters>
      <parameter type="int " name="n"></parameter>
      <parameter type="wxPoint " name="points[]"></parameter>
      <parameter type="wxCoord " name="xoffset" value="0"></parameter>
      <parameter type="wxCoord " name="yoffset" value="0"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawLines">
     <parameters>
      <parameter type="wxList &#42;" name="points"></parameter>
      <parameter type="wxCoord " name="xoffset" value="0"></parameter>
      <parameter type="wxCoord " name="yoffset" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Draws lines using an array of
       <i> points</i>
       of size
       <i> n</i>
       , or list of pointers to points, adding the optional offset coordinate.
       The current pen is used for drawing the lines. The programmer is
       responsible for deleting the list of points.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawPolygon">
    <function type="void" name="DrawPolygon">
     <parameters>
      <parameter type="int " name="n"></parameter>
      <parameter type="wxPoint " name="points[]"></parameter>
      <parameter type="wxCoord " name="xoffset" value="0"></parameter>
      <parameter type="wxCoord " name="yoffset" value="0"></parameter>
      <parameter type="int " name="fill\_style" value="wxODDEVEN\_RULE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DrawPolygon">
     <parameters>
      <parameter type="wxList &#42;" name="points"></parameter>
      <parameter type="wxCoord " name="xoffset" value="0"></parameter>
      <parameter type="wxCoord " name="yoffset" value="0"></parameter>
      <parameter type="int " name="fill\_style" value="wxODDEVEN\_RULE"></parameter>
     </parameters>
     <description>
      <p>
       Draws a filled polygon using an array of
       <i> points</i>
       of size
       <i> n</i>
       , or list of pointers to points, adding the optional offset coordinate.
      </p>
      <p>
       The last argument specifies the fill rule:
       <b> wxODDEVEN\_RULE</b>
       (the default) or
       <b> wxWINDING\_RULE</b>
       .
      </p>
      <p>
       The current pen is used for drawing the outline, and the current brush
       for filling the shape. Using a transparent brush suppresses filling. The
       programmer is responsible for deleting the list of points.
      </p>
      <p>
       Note that wxWidgets automatically closes the first and last points.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawPolyPolygon">
    <function type="void" name="DrawPolyPolygon">
     <parameters>
      <parameter type="int " name="n"></parameter>
      <parameter type="int " name="count[]"></parameter>
      <parameter type="wxPoint " name="points[]"></parameter>
      <parameter type="wxCoord " name="xoffset" value="0"></parameter>
      <parameter type="wxCoord " name="yoffset" value="0"></parameter>
      <parameter type="int " name="fill\_style" value="wxODDEVEN\_RULE"></parameter>
     </parameters>
     <description>
      <p>
       Draws two or more filled polygons using an array of
       <i> points</i>
       , adding the optional offset coordinates.
      </p>
      <p>
       Notice that for the platforms providing a native implementation of this
       function (Windows and PostScript-based wxDC currently), this is more
       efficient than using
       <ref target="wxdcdrawpolygon">DrawPolygon</ref>
       in a loop.
      </p>
      <p>
       <i> n</i>
       specifies the number of polygons to draw, the array
       <i> count</i>
       of size
       <i> n</i>
       specifies the number of points in each of the polygons in the
       <i> points</i>
       array.
      </p>
      <p>
       The last argument specifies the fill rule:
       <b> wxODDEVEN\_RULE</b>
       (the default) or
       <b> wxWINDING\_RULE</b>
       .
      </p>
      <p>
       The current pen is used for drawing the outline, and the current brush
       for filling the shape. Using a transparent brush suppresses filling.
      </p>
      <p>
       The polygons maybe disjoint or overlapping. Each polygon specified in a
       call to
       <b> DrawPolyPolygon</b>
       must be closed. Unlike polygons created by the
       <ref target="wxdcdrawpolygon">DrawPolygon</ref>
       member function, the polygons created by
       <b> DrawPolyPolygon</b>
       are not closed automatically.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawPoint">
    <function type="void" name="DrawPoint">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Draws a point using the color of the current pen. Note that the other
       properties of the pen are not used, such as width etc..
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawRectangle">
    <function type="void" name="DrawRectangle">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="width"></parameter>
      <parameter type="wxCoord " name="height"></parameter>
     </parameters>
     <description>
      <p>
       Draws a rectangle with the given top left corner, and with the given
       size. The current pen is used for the outline and the current brush for
       filling the shape.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawRotatedText">
    <function type="void" name="DrawRotatedText">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="double " name="angle"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdcdrawtext">DrawText</ref>
     </seealso>
     <description>
      <p>
       Draws the text rotated by
       <i> angle</i>
       degrees.
      </p>
      <p>
       <b> NB:</b>
       Under Win9x only TrueType fonts can be drawn by this function. In
       particular, a font different from
       <tt> wxNORMAL\_FONT</tt>
       should be used as the latter is not a TrueType font.
       <tt> wxSWISS\_FONT</tt>
       is an example of a font which is.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawRoundedRectangle">
    <function type="void" name="DrawRoundedRectangle">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="width"></parameter>
      <parameter type="wxCoord " name="height"></parameter>
      <parameter type="double " name="radius" value="20"></parameter>
     </parameters>
     <description>
      <p>
       Draws a rectangle with the given top left corner, and with the given
       size. The corners are quarter-circles using the given radius. The current
       pen is used for the outline and the current brush for filling the shape.
      </p>
      <p>
       If
       <i> radius</i>
       is positive, the value is assumed to be the radius of the rounded corner.
       If
       <i> radius</i>
       is negative, the absolute value is assumed to be the
       <i> proportion</i>
       of the smallest dimension of the rectangle. This means that the corner
       can be a sensible size relative to the size of the rectangle, and also
       avoids the strange effects X produces when the corners are too big for
       the rectangle.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawSpline">
    <function type="void" name="DrawSpline">
     <parameters>
      <parameter type="int " name="n"></parameter>
      <parameter type="wxPoint " name="points[]"></parameter>
     </parameters>
     <description>
      <p>
       Draws a spline between all given control points, using the current pen.
      </p>
     </description>
    </function>
    <function type="void" name="DrawSpline">
     <parameters>
      <parameter type="wxList &#42;" name="points"></parameter>
     </parameters>
     <description>
      <p>
       Draws a spline between all given control points, using the current pen.
       Doesn't delete the wxList and contents.
      </p>
     </description>
    </function>
    <function type="void" name="DrawSpline">
     <parameters>
      <parameter type="wxCoord " name="x1"></parameter>
      <parameter type="wxCoord " name="y1"></parameter>
      <parameter type="wxCoord " name="x2"></parameter>
      <parameter type="wxCoord " name="y2"></parameter>
      <parameter type="wxCoord " name="x3"></parameter>
      <parameter type="wxCoord " name="y3"></parameter>
     </parameters>
     <description>
      <p>
       Draws a three-point spline using the current pen.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="DrawText">
    <function type="void" name="DrawText">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Draws a text string at the specified point, using the current text font,
       and the current text foreground and background colours.
      </p>
      <p>
       The coordinates refer to the top-left corner of the rectangle bounding
       the string. See
       <ref target="wxdcgettextextent">wxDC::GetTextExtent</ref>
       for how to get the dimensions of a text string, which can be used to
       position the text more precisely.
      </p>
      <p>
       <b> NB:</b>
       under wxGTK the current
       <ref target="wxdcgetlogicalfunction">logical function</ref>
       is used by this function but it is ignored by wxMSW. Thus, you should
       avoid using logical functions with this function in portable programs.
      </p>
      <p>
       \\begin\{comment\}
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="EnableCache">
    <function type="static void" name="EnableCache">
     <parameters>
      <parameter type="bool " name="enableCache"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdccacheenabled">wxDC::CacheEnabled</ref>
      <ref target="wxDC::ClearCache">wxDC::ClearCache</ref>
      \\end\{comment\}
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDC" name="EndDoc">
    <function type="void" name="EndDoc">
     <description>
      <p>
       Ends a document (only relevant when outputting to a printer).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="EndDrawing">
    <function type="void" name="EndDrawing">
     <description>
      <p>
       Allows optimization of drawing code under MS Windows. Enclose drawing
       primitives between
       <b> BeginDrawing</b>
       and
       <b> EndDrawing</b>
       calls.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="EndPage">
    <function type="void" name="EndPage">
     <description>
      <p>
       Ends a document page (only relevant when outputting to a printer).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="FloodFill">
    <function type="bool" name="FloodFill">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
      <parameter type="int " name="style" value="wxFLOOD\_SURFACE"></parameter>
     </parameters>
     <description>
      <p>
       Flood fills the device context starting from the given point, using the
       <i> current brush colour</i>
       , and using a style:
      </p>
      <p>
       <ul>
        <li>wxFLOOD\_SURFACE: the flooding occurs until a colour other than the given colour
         is encountered.</li>
        <li>wxFLOOD\_BORDER: the area to be flooded is bounded by the given colour.</li>
       </ul>
      </p>
      <p>
       Returns false if the operation failed.
      </p>
      <p>
       <i> Note:</i>
       The present implementation for non-Windows platforms may fail to find
       colour borders if the pixels do not match the colour exactly. However the
       function will still return true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetBackground">
    <function type="const wxBrush&amp;" name="GetBackground" suffix="const">
     <description>
      <p>
       Gets the brush used for painting the background (see
       <ref target="wxdcsetbackground">wxDC::SetBackground</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetBackgroundMode">
    <function type="int" name="GetBackgroundMode" suffix="const">
     <seealso>
      <ref target="wxdcsetbackgroundmode">SetBackgroundMode</ref>
     </seealso>
     <description>
      <p>
       Returns the current background mode:
       <tt> wxSOLID</tt>
       or
       <tt> wxTRANSPARENT</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetBrush">
    <function type="const wxBrush&amp;" name="GetBrush" suffix="const">
     <description>
      <p>
       Gets the current brush (see
       <ref target="wxdcsetbrush">wxDC::SetBrush</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetCharHeight">
    <function type="wxCoord" name="GetCharHeight">
     <description>
      <p>
       Gets the character height of the currently set font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetCharWidth">
    <function type="wxCoord" name="GetCharWidth">
     <description>
      <p>
       Gets the average character width of the currently set font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetClippingBox">
    <function type="void" name="GetClippingBox">
     <parameters>
      <parameter type="wxCoord &#42;" name="x"></parameter>
      <parameter type="wxCoord &#42;" name="y"></parameter>
      <parameter type="wxCoord &#42;" name="width"></parameter>
      <parameter type="wxCoord &#42;" name="height"></parameter>
     </parameters>
     <description>
      <p>
       Gets the rectangle surrounding the current clipping region.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetFont">
    <function type="const wxFont&amp;" name="GetFont" suffix="const">
     <description>
      <p>
       Gets the current font (see
       <ref target="wxdcsetfont">wxDC::SetFont</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetLogicalFunction">
    <function type="int" name="GetLogicalFunction">
     <description>
      <p>
       Gets the current logical function (see
       <ref target="wxdcsetlogicalfunction">wxDC::SetLogicalFunction</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetMapMode">
    <function type="int" name="GetMapMode">
     <description>
      <p>
       Gets the
       <i> mapping mode</i>
       for the device context (see
       <ref target="wxdcsetmapmode">wxDC::SetMapMode</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetPartialTextExtents">
    <function type="bool" name="GetPartialTextExtents" suffix="const">
     <parameters>
      <parameter type="const wxString&amp;  " name="text"></parameter>
      <parameter type="wxArrayInt&amp; " name="widths"></parameter>
     </parameters>
     <description>
      <p>
       Fills the
       <i> widths</i>
       array with the widths from the beginning of
       <i> text</i>
       to the corresponding character of
       <i> text</i>
       . The generic version simply builds a running total of the widths of each
       character using
       <ref target="wxdcgettextextent">GetTextExtent</ref>
       , however if the various platforms have a native API function that is
       faster or more accurate than the generic implementation then it should be
       used instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetPen">
    <function type="const wxPen&amp;" name="GetPen" suffix="const">
     <description>
      <p>
       Gets the current pen (see
       <ref target="wxdcsetpen">wxDC::SetPen</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetPixel">
    <function type="bool" name="GetPixel">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxColour &#42;" name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Gets in
       <i> colour</i>
       the colour at the specified location. Not available for wxPostScriptDC or
       wxMetafileDC.
      </p>
      <p>
       Note that setting a pixel can be done using
       <ref target="wxdcdrawpoint">DrawPoint</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetPPI">
    <function type="wxSize" name="GetPPI" suffix="const">
     <description>
      <p>
       Returns the resolution of the device in pixels per inch.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetSize">
    <function type="void" name="GetSize" suffix="const">
     <parameters>
      <parameter type="wxCoord &#42;" name="width"></parameter>
      <parameter type="wxCoord &#42;" name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxSize" name="GetSize" suffix="const">
     <description>
      <p>
       This gets the horizontal and vertical resolution in device units. It can
       be used to scale graphics to fit the page. For example, if
       <i> maxX</i>
       and
       <i> maxY</i>
       represent the maximum horizontal and vertical `pixel' values used in your
       application, the following code will scale the graphic to fit on the
       printer page:
      </p>
      <pre>
  wxCoord w, h;
  dc.GetSize(&amp;w, &amp;h);
  double scaleX=(double)(maxX/w);
  double scaleY=(double)(maxY/h);
  dc.SetUserScale(min(scaleX,scaleY),min(scaleX,scaleY));
</pre>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetSizeMM">
    <function type="void" name="GetSizeMM" suffix="const">
     <parameters>
      <parameter type="wxCoord &#42;" name="width"></parameter>
      <parameter type="wxCoord &#42;" name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxSize" name="GetSizeMM" suffix="const">
     <description>
      <p>
       Returns the horizontal and vertical resolution in millimetres.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetTextBackground">
    <function type="const wxColour&amp;" name="GetTextBackground" suffix="const">
     <description>
      <p>
       Gets the current text background colour (see
       <ref target="wxdcsettextbackground">wxDC::SetTextBackground</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetTextExtent">
    <function type="void" name="GetTextExtent">
     <parameters>
      <parameter type="const wxString&amp; " name="string"></parameter>
      <parameter type="wxCoord &#42;" name="w"></parameter>
      <parameter type="wxCoord &#42;" name="h"></parameter>
      <parameter type="wxCoord &#42;" name="descent" value="NULL"></parameter>
      <parameter type="wxCoord &#42;" name="externalLeading" value="NULL"></parameter>
      <parameter type="wxFont &#42;" name="font" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Gets the dimensions of the string using the currently selected font.
       <i> string</i>
       is the text string to measure,
       <i> w</i>
       and
       <i> h</i>
       are the total width and height respectively,
       <i> descent</i>
       is the dimension from the baseline of the font to the bottom of the
       descender, and
       <i> externalLeading</i>
       is any extra vertical space added to the font by the font designer
       (usually is zero).
      </p>
      <p>
       The optional parameter
       <i> font</i>
       specifies an alternative to the currently selected font: but note that
       this does not yet work under Windows, so you need to set a font for the
       device context first.
      </p>
      <p>
       See also
       <ref target="wxfont">wxFont</ref>
       ,
       <ref target="wxdcsetfont">wxDC::SetFont</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetTextForeground">
    <function type="const wxColour&amp;" name="GetTextForeground" suffix="const">
     <description>
      <p>
       Gets the current text foreground colour (see
       <ref target="wxdcsettextforeground">wxDC::SetTextForeground</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="GetUserScale">
    <function type="void" name="GetUserScale">
     <parameters>
      <parameter type="double &#42;" name="x"></parameter>
      <parameter type="double &#42;" name="y"></parameter>
     </parameters>
     <description>
      <p>
       Gets the current user scale factor (set by
       <ref target="wxdcsetuserscale">SetUserScale</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="LogicalToDeviceX">
    <function type="wxCoord" name="LogicalToDeviceX">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Converts logical X coordinate to device coordinate, using the current
       mapping mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="LogicalToDeviceXRel">
    <function type="wxCoord" name="LogicalToDeviceXRel">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Converts logical X coordinate to relative device coordinate, using the
       current mapping mode but ignoring the x axis orientation. Use this for
       converting a width, for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="LogicalToDeviceY">
    <function type="wxCoord" name="LogicalToDeviceY">
     <parameters>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Converts logical Y coordinate to device coordinate, using the current
       mapping mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="LogicalToDeviceYRel">
    <function type="wxCoord" name="LogicalToDeviceYRel">
     <parameters>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Converts logical Y coordinate to relative device coordinate, using the
       current mapping mode but ignoring the y axis orientation. Use this for
       converting a height, for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="MaxX">
    <function type="wxCoord" name="MaxX">
     <description>
      <p>
       Gets the maximum horizontal extent used in drawing commands so far.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="MaxY">
    <function type="wxCoord" name="MaxY">
     <description>
      <p>
       Gets the maximum vertical extent used in drawing commands so far.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="MinX">
    <function type="wxCoord" name="MinX">
     <description>
      <p>
       Gets the minimum horizontal extent used in drawing commands so far.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="MinY">
    <function type="wxCoord" name="MinY">
     <description>
      <p>
       Gets the minimum vertical extent used in drawing commands so far.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="Ok">
    <function type="bool" name="Ok">
     <description>
      <p>
       Returns true if the DC is ok to use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="ResetBoundingBox">
    <function type="void" name="ResetBoundingBox">
     <seealso>
      <ref target="wxdccalcboundingbox">CalcBoundingBox</ref>
     </seealso>
     <description>
      <p>
       Resets the bounding box: after a call to this function, the bounding box
       doesn't contain anything.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetAxisOrientation">
    <function type="void" name="SetAxisOrientation">
     <parameters>
      <parameter type="bool " name="xLeftRight">
       True to set the x axis orientation to the natural left to right
       orientation, false to invert it.
      </parameter>
      <parameter type="bool " name="yBottomUp">
       True to set the y axis orientation to the natural bottom up orientation,
       false to invert it.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the x and y axis orientation (i.e., the direction from lowest to
       highest values on the axis). The default orientation is x axis from left
       to right and y axis from top down.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetBackground">
    <function type="void" name="SetBackground">
     <parameters>
      <parameter type="const wxBrush&amp; " name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current background brush for the DC.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetBackgroundMode">
    <function type="void" name="SetBackgroundMode">
     <parameters>
      <parameter type="int " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       <i> mode</i>
       may be one of wxSOLID and wxTRANSPARENT. This setting determines whether
       text will be drawn with a background colour or not.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetBrush">
    <function type="void" name="SetBrush">
     <parameters>
      <parameter type="const wxBrush&amp; " name="brush"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current brush for the DC.
      </p>
      <p>
       If the argument is wxNullBrush, the current brush is selected out of the
       device context, and the original brush restored, allowing the current
       brush to be destroyed safely.
      </p>
      <p>
       See also
       <ref target="wxbrush">wxBrush</ref>
       .
      </p>
      <p>
       See also
       <ref target="wxmemorydc">wxMemoryDC</ref>
       for the interpretation of colours when drawing into a monochrome bitmap.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetClippingRegion">
    <function type="void" name="SetClippingRegion">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="width"></parameter>
      <parameter type="wxCoord " name="height"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetClippingRegion">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
      <parameter type="const wxSize&amp; " name="sz"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetClippingRegion">
     <parameters>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetClippingRegion">
     <parameters>
      <parameter type="const wxRegion&amp; " name="region"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdcdestroyclippingregion">wxDC::DestroyClippingRegion</ref>
      <ref target="wxregion">wxRegion</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDC" name="SetDeviceOrigin">
    <function type="void" name="SetDeviceOrigin">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Sets the device origin (i.e., the origin in pixels after scaling has been
       applied).
      </p>
      <p>
       This function may be useful in Windows printing operations for placing a
       graphic on a page.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetFont">
    <function type="void" name="SetFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current font for the DC. It must be a valid font, in particular
       you should not pass
       <tt> wxNullFont</tt>
       to this method.
      </p>
      <p>
       See also
       <ref target="wxfont">wxFont</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetLogicalFunction">
    <function type="void" name="SetLogicalFunction">
     <parameters>
      <parameter type="int " name="function"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current logical function for the device context. This determines
       how a source pixel (from a pen or brush colour, or source device context
       if using
       <ref target="wxdcblit">wxDC::Blit</ref>
       ) combines with a destination pixel in the current device context.
      </p>
      <p>
       The possible values and their meaning in terms of source and destination
       pixel values are as follows:
      </p>
      <pre>
wxAND                 src AND dst
wxAND\_INVERT          (NOT src) AND dst
wxAND\_REVERSE         src AND (NOT dst)
wxCLEAR               0
wxCOPY                src
wxEQUIV               (NOT src) XOR dst
wxINVERT              NOT dst
wxNAND                (NOT src) OR (NOT dst)
wxNOR                 (NOT src) AND (NOT dst)
wxNO\_OP               dst
wxOR                  src OR dst
wxOR\_INVERT           (NOT src) OR dst
wxOR\_REVERSE          src OR (NOT dst)
wxSET                 1
wxSRC\_INVERT          NOT src
wxXOR                 src XOR dst
</pre>
      <p>
       The default is wxCOPY, which simply draws with the current colour. The
       others combine the current colour and the background using a logical
       operation. wxINVERT is commonly used for drawing rubber bands or moving
       outlines, since drawing twice reverts to the original colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetMapMode">
    <function type="void" name="SetMapMode">
     <parameters>
      <parameter type="int " name="int"></parameter>
     </parameters>
     <description>
      <p>
       The
       <i> mapping mode</i>
       of the device context defines the unit of measurement used to convert
       logical units to device units. Note that in X, text drawing isn't handled
       consistently with the mapping mode; a font is always specified in point
       size. However, setting the
       <i>
user scale</i>
       (see
       <ref target="wxdcsetuserscale">wxDC::SetUserScale</ref>
       ) scales the text appropriately. In Windows, scalable TrueType fonts are
       always used; in X, results depend on availability of fonts, but usually a
       reasonable match is found.
      </p>
      <p>
       The coordinate origin is always at the top left of the screen/printer.
      </p>
      <p>
       Drawing to a Windows printer device context uses the current mapping
       mode, but mapping mode is currently ignored for PostScript output.
      </p>
      <p>
       The mapping mode can be one of the following:
      </p>
      <table>
       <tr>
        <td>wxMM\_TWIPS</td>
        <td>Each logical unit is 1/20 of a point, or 1/1440 of
  an inch.</td>
       </tr>
       <tr>
        <td>wxMM\_POINTS</td>
        <td>Each logical unit is a point, or 1/72 of an inch.</td>
       </tr>
       <tr>
        <td>wxMM\_METRIC</td>
        <td>Each logical unit is 1 mm.</td>
       </tr>
       <tr>
        <td>wxMM\_LOMETRIC</td>
        <td>Each logical unit is 1/10 of a mm.</td>
       </tr>
       <tr>
        <td>wxMM\_TEXT</td>
        <td>Each logical unit is 1 pixel.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetPalette">
    <function type="void" name="SetPalette">
     <parameters>
      <parameter type="const wxPalette&amp; " name="palette"></parameter>
     </parameters>
     <description>
      <p>
       If this is a window DC or memory DC, assigns the given palette to the
       window or bitmap associated with the DC. If the argument is
       wxNullPalette, the current palette is selected out of the device context,
       and the original palette restored.
      </p>
      <p>
       See
       <ref target="wxpalette">wxPalette</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetPen">
    <function type="void" name="SetPen">
     <parameters>
      <parameter type="const wxPen&amp; " name="pen"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current pen for the DC.
      </p>
      <p>
       If the argument is wxNullPen, the current pen is selected out of the
       device context, and the original pen restored.
      </p>
      <p>
       See also
       <ref target="wxmemorydc">wxMemoryDC</ref>
       for the interpretation of colours when drawing into a monochrome bitmap.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetTextBackground">
    <function type="void" name="SetTextBackground">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current text background colour for the DC.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetTextForeground">
    <function type="void" name="SetTextForeground">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current text foreground colour for the DC.
      </p>
      <p>
       See also
       <ref target="wxmemorydc">wxMemoryDC</ref>
       for the interpretation of colours when drawing into a monochrome bitmap.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="SetUserScale">
    <function type="void" name="SetUserScale">
     <parameters>
      <parameter type="double " name="xScale"></parameter>
      <parameter type="double " name="yScale"></parameter>
     </parameters>
     <description>
      <p>
       Sets the user scaling factor, useful for applications which require
       `zooming'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="StartDoc">
    <function type="bool" name="StartDoc">
     <parameters>
      <parameter type="const wxString&amp; " name="message"></parameter>
     </parameters>
     <description>
      <p>
       Starts a document (only relevant when outputting to a printer). Message
       is a message to show while printing.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDC" name="StartPage">
    <function type="bool" name="StartPage">
     <description>
      <p>
       Starts a document page (only relevant when outputting to a printer).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDCClipper">
  <description>
   <p class="classdesc">
    This is a small helper class which sets the specified DC to its constructor
    clipping region and then automatically destroys it in its destructor. Using
    it ensures that an unwanted clipping region is not left set on the DC.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>Wraps the operations of setting and destroying the clipping region</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dc.h"/>
  </includes>
  <seealso>
   <ref target="wxdc">wxDC</ref>
  </seealso>
  <members>
   <member class="wxDCClipper" name="wxDCClipper">
    <function type="" name="wxDCClipper">
     <parameters>
      <parameter type="wxDC&amp; " name="dc"></parameter>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxCoord " name="w"></parameter>
      <parameter type="wxCoord " name="h"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxDCClipper">
     <parameters>
      <parameter type="wxDC&amp; " name="dc"></parameter>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
     </parameters>
     <description>
      <p>
       Constructor: sets the clipping region for the given device context to the
       specified rectangle.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDCClipper" name="~wxDCClipper">
    <function type="" name="~wxDCClipper">
     <description>
      <p>
       Destructor: destroys the clipping region set in the constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDDEClient" specific="msw">
  <description>
   <p class="classdesc">
    A wxDDEClient object represents the client part of a client-server DDE
    (Dynamic Data Exchange) conversation.
   </p>
   <p class="classdesc">
    To create a client which can communicate with a suitable server, you need to
    derive a class from wxDDEConnection and another from wxDDEClient. The custom
    wxDDEConnection class will intercept communications in a `conversation' with
    a server, and the custom wxDDEServer is required so that a user-overridden
    <ref target="wxddeclientonmakeconnection">wxDDEClient::OnMakeConnection</ref>
    member can return a wxDDEConnection of the required class, when a connection
    is made.
   </p>
   <p class="classdesc">
    This DDE-based implementation is available on Windows only, but a
    platform-independent, socket-based version of this API is available using
    <ref target="wxtcpclient">wxTCPClient</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxClientBase">wxClientBase</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dde.h"/>
  </includes>
  <seealso>
   <ref target="wxddeserver">wxDDEServer</ref>
   <ref target="wxddeconnection">wxDDEConnection</ref>
   <ref target="ipcoverview">Interprocess communications overview</ref>
  </seealso>
  <members>
   <member class="wxDDEClient" name="wxDDEClient">
    <function type="" name="wxDDEClient">
     <description>
      <p>
       Constructs a client object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEClient" name="MakeConnection">
    <function type="wxConnectionBase &#42;" name="MakeConnection">
     <parameters>
      <parameter type="const wxString&amp; " name="host"></parameter>
      <parameter type="const wxString&amp; " name="service"></parameter>
      <parameter type="const wxString&amp; " name="topic"></parameter>
     </parameters>
     <description>
      <p>
       Tries to make a connection with a server specified by the host (machine
       name under UNIX, ignored under Windows), service name (must contain an
       integer port number under UNIX), and topic string. If the server allows a
       connection, a wxDDEConnection object will be returned. The type of
       wxDDEConnection returned can be altered by overriding the
       <ref target="wxddeclientonmakeconnection">wxDDEClient::OnMakeConnection</ref>
       member to return your own derived connection object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEClient" name="OnMakeConnection">
    <function type="wxConnectionBase &#42;" name="OnMakeConnection">
     <description>
      <p>
       The type of
       <ref target="wxddeconnection">wxDDEConnection</ref>
       returned from a
       <ref target="wxddeclientmakeconnection">wxDDEClient::MakeConnection</ref>
       call can be altered by deriving the
       <b> OnMakeConnection</b>
       member to return your own derived connection object. By default, a
       wxDDEConnection object is returned.
      </p>
      <p>
       The advantage of deriving your own connection class is that it will
       enable you to intercept messages initiated by the server, such as
       <ref target="wxconnectiononadvise">wxDDEConnection::OnAdvise</ref>
       . You may also want to store application-specific data in instances of
       the new class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEClient" name="ValidHost">
    <function type="bool" name="ValidHost">
     <parameters>
      <parameter type="const wxString&amp; " name="host"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if this is a valid host name, false otherwise. This always
       returns true under MS Windows.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDDEConnection" specific="msw">
  <description>
   <p class="classdesc">
    A wxDDEConnection object represents the connection between a client and a
    server. It can be created by making a connection using a
    <ref target="wxddeclient">wxDDEClient</ref>
    object, or by the acceptance of a connection by a
    <ref target="wxddeserver">wxDDEServer</ref>
    object. The bulk of a DDE (Dynamic Data Exchange) conversation is controlled
    by calling members in a
    <b> wxDDEConnection</b>
    object or by overriding its members.
   </p>
   <p class="classdesc">
    An application should normally derive a new connection class from
    wxDDEConnection, in order to override the communication event handlers to do
    something interesting.
   </p>
   <p class="classdesc">
    This DDE-based implementation is available on Windows only, but a
    platform-independent, socket-based version of this API is available using
    <ref target="wxtcpconnection">wxTCPConnection</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxConnectionBase">wxConnectionBase</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dde.h"/>
  </includes>
  <types>
   <ref target="wxIPCFormat"/>wxIPCFormat is defined as follows:

<pre>
enum wxIPCFormat
\{
  wxIPC\_INVALID =          0,
  wxIPC\_TEXT =             1,  /&#42; CF\_TEXT &#42;/
  wxIPC\_BITMAP =           2,  /&#42; CF\_BITMAP &#42;/
  wxIPC\_METAFILE =         3,  /&#42; CF\_METAFILEPICT &#42;/
  wxIPC\_SYLK =             4,
  wxIPC\_DIF =              5,
  wxIPC\_TIFF =             6,
  wxIPC\_OEMTEXT =          7,  /&#42; CF\_OEMTEXT &#42;/
  wxIPC\_DIB =              8,  /&#42; CF\_DIB &#42;/
  wxIPC\_PALETTE =          9,
  wxIPC\_PENDATA =          10,
  wxIPC\_RIFF =             11,
  wxIPC\_WAVE =             12,
  wxIPC\_UNICODETEXT =      13,
  wxIPC\_ENHMETAFILE =      14,
  wxIPC\_FILENAME =         15, /&#42; CF\_HDROP &#42;/
  wxIPC\_LOCALE =           16,
  wxIPC\_PRIVATE =          20
\};
</pre>
  </types>
  <seealso>
   <ref target="wxddeclient">wxDDEClient</ref>
   <ref target="wxddeserver">wxDDEServer</ref>
   <ref target="ipcoverview">Interprocess communications overview</ref>
  </seealso>
  <members>
   <member class="wxDDEConnection" name="wxDDEConnection">
    <function type="" name="wxDDEConnection">
     <description></description>
    </function>
    <function type="" name="wxDDEConnection">
     <parameters>
      <parameter type="char&#42; " name="buffer"></parameter>
      <parameter type="int " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a connection object. If no user-defined connection object is
       to be derived from wxDDEConnection, then the constructor should not be
       called directly, since the default connection object will be provided on
       requesting (or accepting) a connection. However, if the user defines his
       or her own derived connection object, the
       <ref target="wxddeserveronacceptconnection">wxDDEServer::OnAcceptConnection</ref>
       and/or
       <ref target="wxddeclientonmakeconnection">wxDDEClient::OnMakeConnection</ref>
       members should be replaced by functions which construct the new
       connection object. If the arguments of the wxDDEConnection constructor
       are void, then a default buffer is associated with the connection.
       Otherwise, the programmer must provide a a buffer and size of the buffer
       for the connection object to use in transactions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="Advise">
    <function type="bool" name="Advise">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size" value="-1"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxCF\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the server application to advise the client of a change in the
       data associated with the given item. Causes the client connection's
       <ref target="wxddeconnectiononadvise">wxDDEConnection::OnAdvise</ref>
       member to be called. Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="Execute">
    <function type="bool" name="Execute">
     <parameters>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size" value="-1"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxCF\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to execute a command on the server. Can
       also be used to transfer arbitrary data to the server (similar to
       <ref target="wxddeconnectionpoke">wxDDEConnection::Poke</ref>
       in that respect). Causes the server connection's
       <ref target="wxddeconnectiononexecute">wxDDEConnection::OnExecute</ref>
       member to be called. Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="Disconnect">
    <function type="bool" name="Disconnect">
     <description>
      <p>
       Called by the client or server application to disconnect from the other
       program; it causes the
       <ref target="wxddeconnectionondisconnect">wxDDEConnection::OnDisconnect</ref>
       message to be sent to the corresponding connection object in the other
       program. The default behaviour of
       <b> OnDisconnect</b>
       is to delete the connection, but the calling application must explicitly
       delete its side of the connection having called
       <b> Disconnect</b>
       . Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnAdvise">
    <function type="virtual bool" name="OnAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the client application when the server notifies it of a
       change in the data associated with the given item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnDisconnect">
    <function type="virtual bool" name="OnDisconnect">
     <description>
      <p>
       Message sent to the client or server application when the other
       application notifies it to delete the connection. Default behaviour is to
       delete the connection object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnExecute">
    <function type="virtual bool" name="OnExecute">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application when the client notifies it to
       execute the given data. Note that there is no item associated with this
       message.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnPoke">
    <function type="virtual bool" name="OnPoke">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application when the client notifies it to
       accept the given data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnRequest">
    <function type="virtual char&#42;" name="OnRequest">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="int &#42;" name="size"></parameter>
      <parameter type="wxIPCFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application when the client calls
       <ref target="wxddeconnectionrequest">wxDDEConnection::Request</ref>
       . The server should respond by returning a character string from
       <b> OnRequest</b>
       , or NULL to indicate no data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnStartAdvise">
    <function type="virtual bool" name="OnStartAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application by the client, when the client
       wishes to start an `advise loop' for the given topic and item. The server
       can refuse to participate by returning false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="OnStopAdvise">
    <function type="virtual bool" name="OnStopAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Message sent to the server application by the client, when the client
       wishes to stop an `advise loop' for the given topic and item. The server
       can refuse to stop the advise loop by returning false, although this
       doesn't have much meaning in practice.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="Poke">
    <function type="bool" name="Poke">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="char&#42; " name="data"></parameter>
      <parameter type="int " name="size" value="-1"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxCF\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to poke data into the server. Can be
       used to transfer arbitrary data to the server. Causes the server
       connection's
       <ref target="wxddeconnectiononpoke">wxDDEConnection::OnPoke</ref>
       member to be called. Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="Request">
    <function type="char&#42;" name="Request">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
      <parameter type="int &#42;" name="size"></parameter>
      <parameter type="wxIPCFormat " name="format" value="wxIPC\_TEXT"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to request data from the server. Causes
       the server connection's
       <ref target="wxddeconnectiononrequest">wxDDEConnection::OnRequest</ref>
       member to be called. Returns a character string (actually a pointer to
       the connection's buffer) if successful, NULL otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="StartAdvise">
    <function type="bool" name="StartAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to ask if an advise loop can be started
       with the server. Causes the server connection's
       <ref target="wxddeconnectiononstartadvise">wxDDEConnection::OnStartAdvise</ref>
       member to be called. Returns true if the server okays it, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEConnection" name="StopAdvise">
    <function type="bool" name="StopAdvise">
     <parameters>
      <parameter type="const wxString&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Called by the client application to ask if an advise loop can be stopped.
       Causes the server connection's
       <ref target="wxddeconnectiononstopadvise">wxDDEConnection::OnStopAdvise</ref>
       member to be called. Returns true if the server okays it, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDDEServer" specific="msw">
  <description>
   <p class="classdesc">
    A wxDDEServer object represents the server part of a client-server DDE
    (Dynamic Data Exchange) conversation.
   </p>
   <p class="classdesc">
    This DDE-based implementation is available on Windows only, but a
    platform-independent, socket-based version of this API is available using
    <ref target="wxtcpserver">wxTCPServer</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxServerBase">wxServerBase</ref>
  </parents>
  <includes>
   <header name="wx/dde.h"/>
  </includes>
  <seealso>
   <ref target="wxddeclient">wxDDEClient</ref>
   <ref target="wxddeconnection">wxDDEConnection</ref>
   <ref target="ipcoverview">IPC overview</ref>
  </seealso>
  <members>
   <member class="wxDDEServer" name="wxDDEServer">
    <function type="" name="wxDDEServer">
     <description>
      <p>
       Constructs a server object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEServer" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="const wxString&amp; " name="service"></parameter>
     </parameters>
     <description>
      <p>
       Registers the server using the given service name. Under UNIX, the string
       must contain an integer id which is used as an Internet port number.
       false is returned if the call failed (for example, the port number is
       already in use).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDDEServer" name="OnAcceptConnection">
    <function type="virtual wxConnectionBase &#42;" name="OnAcceptConnection">
     <parameters>
      <parameter type="const wxString&amp; " name="topic"></parameter>
     </parameters>
     <description>
      <p>
       When a client calls
       <b> MakeConnection</b>
       , the server receives the message and this member is called. The
       application should derive a member to intercept this message and return a
       connection object of either the standard wxDDEConnection type, or of a
       user-derived type. If the topic is ``STDIO'', the application may wish to
       refuse the connection. Under UNIX, when a server is created the
       OnAcceptConnection message is always sent for standard input and output,
       but in the context of DDE messages it doesn't make a lot of sense.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDataFormat">
  <description>
   <p class="classdesc">
    A wxDataFormat is an encapsulation of a platform-specific format handle
    which is used by the system for the clipboard and drag and drop operations.
    The applications are usually only interested in, for example, pasting data
    from the clipboard only if the data is in a format the program understands
    and a data format is something which uniquely identifies this format.
   </p>
   <p class="classdesc">
    On the system level, a data format is usually just a number (
    <tt> CLIPFORMAT</tt>
    under Windows or
    <tt> Atom</tt>
    under X11, for example) and the standard formats are, indeed, just numbers
    which can be implicitly converted to wxDataFormat. The standard formats are:
   </p>
   <p class="classdesc">
    <table>
     <tr>
      <td>wxDF\_INVALID</td>
      <td>An invalid format - used as default argument for
functions taking a wxDataFormat argument sometimes</td>
     </tr>
     <tr>
      <td>wxDF\_TEXT</td>
      <td>Text format (wxString)</td>
     </tr>
     <tr>
      <td>wxDF\_BITMAP</td>
      <td>A bitmap (wxBitmap)</td>
     </tr>
     <tr>
      <td>wxDF\_METAFILE</td>
      <td>A metafile (wxMetafile, Windows only)</td>
     </tr>
     <tr>
      <td>wxDF\_FILENAME</td>
      <td>A list of filenames</td>
     </tr>
     <tr>
      <td>wxDF\_HTML</td>
      <td>An HTML string. This is only valid when passed to wxSetClipboardData
when compiled with Visual C++ in non-Unicode mode</td>
     </tr>
    </table>
   </p>
   <p class="classdesc">
    As mentioned above, these standard formats may be passed to any function
    taking wxDataFormat argument because wxDataFormat has an implicit conversion
    from them (or, to be precise from the type
    <tt> wxDataFormat::NativeFormat</tt>
    which is the type used by the underlying platform for data formats).
   </p>
   <p class="classdesc">
    Aside the standard formats, the application may also use custom formats
    which are identified by their names (strings) and not numeric identifiers.
    Although internally custom format must be created (or
    <i> registered</i>
    ) first, you shouldn't care about it because it is done automatically the
    first time the wxDataFormat object corresponding to a given format name is
    created. The only implication of this is that you should avoid having global
    wxDataFormat objects with non-default constructor because their constructors
    are executed before the program has time to perform all necessary
    initialisations and so an attempt to do clipboard format registration at
    this time will usually lead to a crash!
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Represents a data format</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

None

</override>
  <seealso>
   <ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
   <ref target="samplednd">DnD sample</ref>
   <ref target="wxdataobject">wxDataObject</ref>
  </seealso>
  <members>
   <member class="wxDataFormat" name="wxDataFormat">
    <function type="" name="wxDataFormat">
     <parameters>
      <parameter type="NativeFormat " name="format" value="wxDF\_INVALID"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a data format object for one of the standard data formats or
       an empty data object (use
       <ref target="wxdataformatsettype">SetType</ref>
       or
       <ref target="wxdataformatsetid">SetId</ref>
       later in this case)
      </p>
     </description>
    </function>
    <function type="" name="wxDataFormat">
     <parameters>
      <parameter type="const wxChar &#42;" name="format"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a data format object for a custom format identified by its
       name
       <i> format</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataFormat" name="operator $==$">
    <function type="bool" name="operator $==$" suffix="const">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the formats are equal.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataFormat" name="operator $!=$">
    <function type="bool" name="operator $!=$" suffix="const">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the formats are different.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataFormat" name="GetId">
    <function type="wxString" name="GetId" suffix="const">
     <description>
      <p>
       Returns the name of a custom format (this function will fail for a
       standard format).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataFormat" name="GetType">
    <function type="NativeFormat" name="GetType" suffix="const">
     <description>
      <p>
       Returns the platform-specific number identifying the format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataFormat" name="SetId">
    <function type="void" name="SetId">
     <parameters>
      <parameter type="const wxChar &#42;" name="format"></parameter>
     </parameters>
     <description>
      <p>
       Sets the format to be the custom format identified by the given name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataFormat" name="SetType">
    <function type="void" name="SetType">
     <parameters>
      <parameter type="NativeFormat " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Sets the format to the given value, which should be one of wxDF\_XXX
       constants.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDataInputStream">
  <description>
   <p class="classdesc">
    This class provides functions that read binary data types in a portable way.
    Data can be read in either big-endian or little-endian format, little-endian
    being the default on all architectures.
   </p>
   <p class="classdesc">
    If you want to read data from text files (or streams) use
    <ref target="wxtextinputstream">wxTextInputStream</ref>
    instead.
   </p>
   <p class="classdesc">
    The &gt;&gt; operator is overloaded and you can use this class like a
    standard C++ iostream. Note, however, that the arguments are the fixed size
    types wxUint32, wxInt32 etc and on a typical 32-bit computer, none of these
    match to the &quot;long&quot; type (wxInt32 is defined as signed int on
    32-bit architectures) so that you cannot use long. To avoid problems (here
    and elsewhere), make use of the wxInt32, wxUint32, etc types.
   </p>
   <p class="classdesc">
    For example:
   </p>
   <p class="classdesc">
    <pre>
  wxFileInputStream input( &quot;mytext.dat&quot; );
  wxDataInputStream store( input );
  wxUint8 i1;
  float f2;
  wxString line;

  store &gt;&gt; i1;       // read a 8 bit integer.
  store &gt;&gt; i1 &gt;&gt; f2; // read a 8 bit integer followed by float.
  store &gt;&gt; line;     // read a text line
</pre>
   </p>
   <p class="classdesc">
    See also
    <ref target="wxdataoutputstream">wxDataOutputStream</ref>
    .
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Platform-independent binary data input stream class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/datstrm.h"/>
  </includes>
  <members>
   <member class="wxDataInputStream" name="wxDataInputStream">
    <function type="" name="wxDataInputStream">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       The input stream.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxDataInputStream" needdefine="wxUSE\_UNICODE">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       The input stream.
      </parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxMBConvUTF8">
       Charset conversion object object used to decode strings in Unicode mode
       (see
       <ref target="wxdatainputstreamreadstring">wxDataInputStream::ReadString</ref>
       documentation for detailed description). Note that you must not destroy
       <i> conv</i>
       before you destroy this wxDataInputStream instance!
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a datastream object from an input stream. Only read methods
       will be available. The second form is only available in Unicode build of
       wxWidgets.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="~wxDataInputStream">
    <function type="" name="~wxDataInputStream">
     <description>
      <p>
       Destroys the wxDataInputStream object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="BigEndianOrdered">
    <function type="void" name="BigEndianOrdered">
     <parameters>
      <parameter type="bool " name="be\_order"></parameter>
     </parameters>
     <description>
      <p>
       If
       <i> be\_order</i>
       is true, all data will be read in big-endian order, such as written by
       programs on a big endian architecture (e.g. Sparc) or written by
       Java-Streams (which always use big-endian order).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="Read8">
    <function type="wxUint8" name="Read8">
     <description>
      <p>
       Reads a single byte from the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Read8">
     <parameters>
      <parameter type="wxUint8 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Reads bytes from the stream in a specified buffer. The amount of bytes to
       read is specified by the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="Read16">
    <function type="wxUint16" name="Read16">
     <description>
      <p>
       Reads a 16 bit unsigned integer from the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Read16">
     <parameters>
      <parameter type="wxUint16 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Reads 16 bit unsigned integers from the stream in a specified buffer. the
       amount of 16 bit unsigned integer to read is specified by the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="Read32">
    <function type="wxUint32" name="Read32">
     <description>
      <p>
       Reads a 32 bit unsigned integer from the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Read32">
     <parameters>
      <parameter type="wxUint32 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Reads 32 bit unsigned integers from the stream in a specified buffer. the
       amount of 32 bit unsigned integer to read is specified by the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="Read64">
    <function type="wxUint64" name="Read64">
     <description>
      <p>
       Reads a 64 bit unsigned integer from the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Read64">
     <parameters>
      <parameter type="wxUint64 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Reads 64 bit unsigned integers from the stream in a specified buffer. the
       amount of 64 bit unsigned integer to read is specified by the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="ReadDouble">
    <function type="double" name="ReadDouble">
     <description>
      <p>
       Reads a double (IEEE encoded) from the stream.
      </p>
     </description>
    </function>
    <function type="void" name="ReadDouble">
     <parameters>
      <parameter type="double &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Reads double data (IEEE encoded) from the stream in a specified buffer.
       the amount of double to read is specified by the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataInputStream" name="ReadString">
    <function type="wxString" name="ReadString">
     <description>
      <p>
       Reads a string from a stream. Actually, this function first reads a long
       integer specifying the length of the string (without the last null
       character) and then reads the string.
      </p>
      <p>
       In Unicode build of wxWidgets, the fuction first reads multibyte
       (char&#42;) string from the stream and then converts it to Unicode using
       the
       <i> conv</i>
       object passed to constructor and returns the result as wxString. You are
       responsible for using the same convertor as when writing the stream.
      </p>
      <p>
       See also
       <ref target="wxdataoutputstreamwritestring">wxDataOutputStream::WriteString</ref>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDataObject" annotation="abstract">
  <description>
   <p class="classdesc">
    A wxDataObject represents data that can be copied to or from the clipboard,
    or dragged and dropped. The important thing about wxDataObject is that this
    is a 'smart' piece of data unlike 'dumb' data containers such as memory
    buffers or files. Being 'smart' here means that the data object itself
    should know what data formats it supports and how to render itself in each
    of its supported formats.
   </p>
   <p class="classdesc">
    A supported format, incidentally, is exactly the format in which the data
    can be requested from a data object or from which the data object may be
    set. In the general case, an object may support different formats on 'input'
    and 'output', i.e. it may be able to render itself in a given format but not
    be created from data on this format or vice versa. wxDataObject defines an
    enumeration type
   </p>
   <p class="classdesc">
    <pre>
enum Direction
\{
    Get  = 0x01,    // format is supported by GetDataHere()
    Set  = 0x02     // format is supported by SetData()
\};
</pre>
   </p>
   <p class="classdesc">
    which distinguishes between them. See
    <ref target="wxdataformat">wxDataFormat</ref>
    documentation for more about formats.
   </p>
   <p class="classdesc">
    Not surprisingly, being 'smart' comes at a price of added complexity. This
    is reasonable for the situations when you really need to support multiple
    formats, but may be annoying if you only want to do something simple like
    cut and paste text.
   </p>
   <p class="classdesc">
    To provide a solution for both cases, wxWidgets has two predefined classes
    which derive from wxDataObject:
    <ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
    and
    <ref target="wxdataobjectcomposite">wxDataObjectComposite</ref>
    .
    <ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
    is the simplest wxDataObject possible and only holds data in a single format
    (such as HTML or text) and
    <ref target="wxdataobjectcomposite">wxDataObjectComposite</ref>
    is the simplest way to implement a wxDataObject that does support multiple
    formats because it achieves this by simply holding several
    wxDataObjectSimple objects.
   </p>
   <p class="classdesc">
    So, you have several solutions when you need a wxDataObject class (and you
    need one as soon as you want to transfer data via the clipboard or drag and
    drop):
   </p>
   <p class="classdesc">
    <table>
     <tr>
      <td>
       <b> 1. Use one of the built-in classes</b>
      </td>
      <td>You may use wxTextDataObject,
wxBitmapDataObject or wxFileDataObject in the simplest cases when you only need
to support one format and your data is either text, bitmap or list of files.</td>
     </tr>
     <tr>
      <td>
       <b> 2. Use wxDataObjectSimple</b>
      </td>
      <td>Deriving from wxDataObjectSimple is the simplest
solution for custom data - you will only support one format and so probably
won't be able to communicate with other programs, but data transfer will work
in your program (or between different copies of it).</td>
     </tr>
     <tr>
      <td>
       <b> 3. Use wxDataObjectComposite</b>
      </td>
      <td>This is a simple but powerful
solution which allows you to support any number of formats (either
standard or custom if you combine it with the previous solution).</td>
     </tr>
     <tr>
      <td>
       <b> 4. Use wxDataObject directly</b>
      </td>
      <td>This is the solution for
maximal flexibility and efficiency, but it is also the most difficult to
implement.</td>
     </tr>
    </table>
   </p>
   <p class="classdesc">
    Please note that the easiest way to use drag and drop and the clipboard with
    multiple formats is by using wxDataObjectComposite, but it is not the most
    efficient one as each wxDataObjectSimple would contain the whole data in its
    respective formats. Now imagine that you want to paste 200 pages of text in
    your proprietary format, as well as Word, RTF, HTML, Unicode and plain text
    to the clipboard and even today's computers are in trouble. For this case,
    you will have to derive from wxDataObject directly and make it enumerate its
    formats and provide the data in the requested format on demand.
   </p>
   <p class="classdesc">
    Note that neither the GTK+ data transfer mechanisms for clipboard and drag
    and drop, nor OLE data transfer, copy any data until another application
    actually requests the data. This is in contrast to the 'feel' offered to the
    user of a program who would normally think that the data resides in the
    clipboard after having pressed 'Copy' - in reality it is only declared to be
    available.
   </p>
   <p class="classdesc">
    There are several predefined data object classes derived from
    wxDataObjectSimple:
    <ref target="wxfiledataobject">wxFileDataObject</ref>
    ,
    <ref target="wxtextdataobject">wxTextDataObject</ref>
    and
    <ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
    which can be used without change.
   </p>
   <p class="classdesc">
    You may also derive your own data object classes from
    <ref target="wxcustomdataobject">wxCustomDataObject</ref>
    for user-defined types. The format of user-defined data is given as a
    mime-type string literal, such as &quot;application/word&quot; or
    &quot;image/png&quot;. These strings are used as they are under Unix (so far
    only GTK+) to identify a format and are translated into their Windows
    equivalent under Win32 (using the OLE IDataObject for data exchange to and
    from the clipboard and for drag and drop). Note that the format string
    translation under Windows is not yet finished.
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Data object class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

Each class derived directly from wxDataObject must override and implement all
of its functions which are pure virtual in the base class.

The data objects which only render their data or only set it (i.e. work in
only one direction), should return 0 from 
<ref target="wxdataobjectgetformatcount">GetFormatCount</ref>.

</override>
  <seealso>
   <ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
   <ref target="samplednd">DnD sample</ref>
   <ref target="wxfiledataobject">wxFileDataObject</ref>
   <ref target="wxtextdataobject">wxTextDataObject</ref>
   <ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
   <ref target="wxcustomdataobject">wxCustomDataObject</ref>
   <ref target="wxdroptarget">wxDropTarget</ref>
   <ref target="wxdropsource">wxDropSource</ref>
   <ref target="wxtextdroptarget">wxTextDropTarget</ref>
   <ref target="wxfiledroptarget">wxFileDropTarget</ref>
  </seealso>
  <members>
   <member class="wxDataObject" name="wxDataObject">
    <function type="" name="wxDataObject">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="~wxDataObject">
    <function type="" name="~wxDataObject">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="GetAllFormats">
    <function type="virtual void" name="GetAllFormats" suffix="const">
     <parameters>
      <parameter type="wxDataFormat &#42;" name="formats"></parameter>
      <parameter type="Direction " name="dir" value="Get"></parameter>
     </parameters>
     <description>
      <p>
       Copy all supported formats in the given direction to the array pointed to
       by
       <i> formats</i>
       . There is enough space for GetFormatCount(dir) formats in it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="GetDataHere">
    <function type="virtual bool" name="GetDataHere" suffix="const">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
      <parameter type="void &#42;" name="buf"></parameter>
     </parameters>
     <description>
      <p>
       The method will write the data of the format
       <i> format</i>
       in the buffer
       <i>
buf</i>
       and return true on success, false on failure.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="GetDataSize">
    <function type="virtual size\_t" name="GetDataSize" suffix="const">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Returns the data size of the given format
       <i> format</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="GetFormatCount">
    <function type="virtual size\_t" name="GetFormatCount" suffix="const">
     <parameters>
      <parameter type="Direction " name="dir" value="Get"></parameter>
     </parameters>
     <description>
      <p>
       Returns the number of available formats for rendering or setting the
       data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="GetPreferredFormat">
    <function type="virtual wxDataFormat" name="GetPreferredFormat" suffix="const">
     <parameters>
      <parameter type="Direction " name="dir" value="Get"></parameter>
     </parameters>
     <description>
      <p>
       Returns the preferred format for either rendering the data (if
       <i> dir</i>
       is
       <tt> Get</tt>
       , its default value) or for setting it. Usually this will be the native
       format of the wxDataObject.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObject" name="SetData">
    <function type="virtual bool" name="SetData">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
      <parameter type="size\_t " name="len"></parameter>
      <parameter type="const void &#42;" name="buf"></parameter>
     </parameters>
     <description>
      <p>
       Set the data in the format
       <i> format</i>
       of the length
       <i> len</i>
       provided in the buffer
       <i> buf</i>
       .
      </p>
      <p>
       Returns true on success, false on failure.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDataObjectComposite">
  <description>
   <p class="classdesc">
    wxDataObjectComposite is the simplest
    <ref target="wxdataobject">wxDataObject</ref>
    derivation which may be used to support multiple formats. It contains
    several
    <ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
    objects and supports any format supported by at least one of them. Only one
    of these data objects is
    <i> preferred</i>
    (the first one if not explicitly changed by using the second parameter of
    <ref target="wxdataobjectcompositeadd">Add</ref>
    ) and its format determines the preferred format of the composite data
    object as well.
   </p>
   <p class="classdesc">
    See
    <ref target="wxdataobject">wxDataObject</ref>
    documentation for the reasons why you might prefer to use wxDataObject
    directly instead of wxDataObjectComposite for efficiency reasons.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxDataObject">wxDataObject</ref>
  </parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

None, this class should be used directly.

</override>
  <seealso>
   <ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
   <ref target="wxdataobject">wxDataObject</ref>
   <ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
   <ref target="wxfiledataobject">wxFileDataObject</ref>
   <ref target="wxtextdataobject">wxTextDataObject</ref>
   <ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
  </seealso>
  <members>
   <member class="wxDataObjectComposite" name="wxDataObjectComposite">
    <function type="" name="wxDataObjectComposite">
     <description>
      <p>
       The default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObjectComposite" name="Add">
    <function type="void" name="Add">
     <parameters>
      <parameter type="wxDataObjectSimple &#42;" name="dataObject"></parameter>
      <parameter type="bool " name="preferred" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Adds the
       <i> dataObject</i>
       to the list of supported objects and it becomes the preferred object if
       <i> preferred</i>
       is true.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDataObjectSimple">
  <description>
   <p class="classdesc">
    This is the simplest possible implementation of the
    <ref target="wxdataobject">wxDataObject</ref>
    class. The data object of (a class derived from) this class only supports
    one format, so the number of virtual functions to be implemented is reduced.
   </p>
   <p class="classdesc">
    Notice that this is still an abstract base class and cannot be used but
    should be derived from.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxDataObject">wxDataObject</ref>
  </parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

The objects supporting rendering the data must override 
<ref target="wxdataobjectsimplegetdatasize">GetDataSize</ref> and 
<ref target="wxdataobjectsimplegetdatahere">GetDataHere</ref> while the objects which
may be set must override <ref target="wxdataobjectsimplesetdata">SetData</ref>. Of
course, the objects supporting both operations must override all three
methods.

</override>
  <seealso>
   <ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
   <ref target="samplednd">DnD sample</ref>
   <ref target="wxfiledataobject">wxFileDataObject</ref>
   <ref target="wxtextdataobject">wxTextDataObject</ref>
   <ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
  </seealso>
  <members>
   <member class="wxDataObjectSimple" name="wxDataObjectSimple">
    <function type="" name="wxDataObjectSimple">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format" value="wxFormatInvalid"></parameter>
     </parameters>
     <description>
      <p>
       Constructor accepts the supported format (none by default) which may also
       be set later with
       <ref target="wxdataobjectsimplesetformat">SetFormat</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObjectSimple" name="GetFormat">
    <function type="const wxDataFormat&amp;" name="GetFormat" suffix="const">
     <description>
      <p>
       Returns the (one and only one) format supported by this object. It is
       supposed that the format is supported in both directions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObjectSimple" name="SetFormat">
    <function type="void" name="SetFormat">
     <parameters>
      <parameter type="const wxDataFormat&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Sets the supported format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObjectSimple" name="GetDataSize">
    <function type="virtual size\_t" name="GetDataSize" suffix="const">
     <description>
      <p>
       Gets the size of our data. Must be implemented in the derived class if
       the object supports rendering its data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObjectSimple" name="GetDataHere">
    <function type="virtual bool" name="GetDataHere" suffix="const">
     <parameters>
      <parameter type="void &#42;" name="buf"></parameter>
     </parameters>
     <description>
      <p>
       Copy the data to the buffer, return true on success. Must be implemented
       in the derived class if the object supports rendering its data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataObjectSimple" name="SetData">
    <function type="virtual bool" name="SetData">
     <parameters>
      <parameter type="size\_t " name="len"></parameter>
      <parameter type="const void &#42;" name="buf"></parameter>
     </parameters>
     <description>
      <p>
       Copy the data from the buffer, return true on success. Must be
       implemented in the derived class if the object supports setting its data.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDataOutputStream">
  <description>
   <p class="classdesc">
    This class provides functions that write binary data types in a portable
    way. Data can be written in either big-endian or little-endian format,
    little-endian being the default on all architectures.
   </p>
   <p class="classdesc">
    If you want to write data to text files (or streams) use
    <ref target="wxtextoutputstream">wxTextOutputStream</ref>
    instead.
   </p>
   <p class="classdesc">
    The &lt;&lt; operator is overloaded and you can use this class like a
    standard C++ iostream. See
    <ref target="wxdatainputstream">wxDataInputStream</ref>
    for its usage and caveats.
   </p>
   <p class="classdesc">
    See also
    <ref target="wxdatainputstream">wxDataInputStream</ref>
    .
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Platform-independent binary data output stream class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/datstrm.h"/>
  </includes>
  <members>
   <member class="wxDataOutputStream" name="wxDataOutputStream">
    <function type="" name="wxDataOutputStream">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream">
       The output stream.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxDataOutputStream">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream">
       The output stream.
      </parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxMBConvUTF8">
       Charset conversion object object used to encoding Unicode strings before
       writing them to the stream in Unicode mode (see
       <ref target="wxdataoutputstreamwritestring">wxDataOutputStream::WriteString</ref>
       documentation for detailed description). Note that you must not destroy
       <i> conv</i>
       before you destroy this wxDataOutputStream instance! It is recommended to
       use default value (UTF-8).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a datastream object from an output stream. Only write methods
       will be available. The second form is only available in Unicode build of
       wxWidgets.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="~wxDataOutputStream">
    <function type="" name="~wxDataOutputStream">
     <description>
      <p>
       Destroys the wxDataOutputStream object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="BigEndianOrdered">
    <function type="void" name="BigEndianOrdered">
     <parameters>
      <parameter type="bool " name="be\_order"></parameter>
     </parameters>
     <description>
      <p>
       If
       <i> be\_order</i>
       is true, all data will be written in big-endian order, e.g. for reading
       on a Sparc or from Java-Streams (which always use big-endian order),
       otherwise data will be written in little-endian order.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="Write8">
    <function type="void" name="Write8">
     <parameters>
      <parameter type="wxUint8 " name="i8"></parameter>
     </parameters>
     <description>
      <p>
       Writes the single byte
       <i> i8</i>
       to the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Write8">
     <parameters>
      <parameter type="const wxUint8 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Writes an array of bytes to the stream. The amount of bytes to write is
       specified with the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="Write16">
    <function type="void" name="Write16">
     <parameters>
      <parameter type="wxUint16 " name="i16"></parameter>
     </parameters>
     <description>
      <p>
       Writes the 16 bit unsigned integer
       <i> i16</i>
       to the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Write16">
     <parameters>
      <parameter type="const wxUint16 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Writes an array of 16 bit unsigned integer to the stream. The amount of
       16 bit unsigned integer to write is specified with the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="Write32">
    <function type="void" name="Write32">
     <parameters>
      <parameter type="wxUint32 " name="i32"></parameter>
     </parameters>
     <description>
      <p>
       Writes the 32 bit unsigned integer
       <i> i32</i>
       to the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Write32">
     <parameters>
      <parameter type="const wxUint32 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Writes an array of 32 bit unsigned integer to the stream. The amount of
       32 bit unsigned integer to write is specified with the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="Write64">
    <function type="void" name="Write64">
     <parameters>
      <parameter type="wxUint64 " name="i64"></parameter>
     </parameters>
     <description>
      <p>
       Writes the 64 bit unsigned integer
       <i> i64</i>
       to the stream.
      </p>
     </description>
    </function>
    <function type="void" name="Write64">
     <parameters>
      <parameter type="const wxUint64 &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Writes an array of 64 bit unsigned integer to the stream. The amount of
       64 bit unsigned integer to write is specified with the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="WriteDouble">
    <function type="void" name="WriteDouble">
     <parameters>
      <parameter type="double " name="f"></parameter>
     </parameters>
     <description>
      <p>
       Writes the double
       <i> f</i>
       to the stream using the IEEE format.
      </p>
     </description>
    </function>
    <function type="void" name="WriteDouble">
     <parameters>
      <parameter type="const double &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Writes an array of double to the stream. The amount of double to write is
       specified with the
       <i> size</i>
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDataOutputStream" name="WriteString">
    <function type="void" name="WriteString">
     <parameters>
      <parameter type="const wxString&amp;" name="string"></parameter>
     </parameters>
     <description>
      <p>
       Writes
       <i> string</i>
       to the stream. Actually, this method writes the size of the string before
       writing
       <i> string</i>
       itself.
      </p>
      <p>
       In ANSI build of wxWidgets, the string is written to the stream in
       exactly same way it is represented in memory. In Unicode build, however,
       the string is first converted to multibyte representation with
       <i> conv</i>
       object passed to stream's constructor (consequently, ANSI application can
       read data written by Unicode application, as long as they agree on
       encoding) and this representation is written to the stream. UTF-8 is used
       by default.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDateEvent">
  <description>
   <p class="classdesc">
    This event class holds information about a date change and is used together
    with
    <ref target="wxdatepickerctrl">wxDatePickerCtrl</ref>
    . It also serves as a base class for
    <ref target="wxcalendarevent">wxCalendarEvent</ref>
    .
   </p>
  </description>
  <category>Events</category>
  <shortdesc>Used with \\helpref\{wxDatePickerCtrl\}\{wxdatepickerctrl\}</shortdesc>
  <parents>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dateevt.h"/>
  </includes>
  <members>
   <member class="wxDateEvent" name="GetDate">
    <function type="const wxDateTime&amp;" name="GetDate" suffix="const">
     <description>
      <p>
       Returns the date.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateEvent" name="SetDate">
    <function type="void" name="SetDate">
     <parameters>
      <parameter type="const wxDateTime&amp; " name="date"></parameter>
     </parameters>
     <description>
      <p>
       Sets the date carried by the event, normally only used by the library
       internally.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDatePickerCtrl" needdefine="wxUSE\_DATEPICKCTRL">
  <description>
   <p class="classdesc">
    This control allows the user to select a date. Unlike
    <ref target="wxcalendarctrl">wxCalendarCtrl</ref>
    , which is a relatively big control, wxDatePickerCtrl is implemented as a
    small window showing the currently selected date. The control can be edited
    using the keyboard, and can also display a popup window for more
    user-friendly date selection, depending on the styles used and the platform,
    except PalmOS where date is selected using native dialog.
   </p>
   <p class="classdesc">
    It is only available if
    <tt>wxUSE\_DATEPICKCTRL</tt>
    is set to 1.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>Small date picker control</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/datectrl.h" comment="only available if \\texttt\{wxUSE\_DATEPICKCTRL\} is set to 1"/>
  </includes>
  <windowstyles>
   <style name="wxDP\_SPIN">
    wxDP\_SPIN
   </style>
   <style name="wxDP\_DROPDOWN">
    wxDP\_DROPDOWN
   </style>
   <style name="wxDP\_DEFAULT">
    wxDP\_DEFAULT
   </style>
   <style name="wxDP\_ALLOWNONE">
    wxDP\_ALLOWNONE
   </style>
   <style name="wxDP\_SHOWCENTURY">
    wxDP\_SHOWCENTURY
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_DATE\_CHANGED(id, func)">This event fires when the user
changes the current selection in the control.</event>
  </events>
  <seealso>
   <ref target="wxcalendarctrl">wxCalendarCtrl</ref>
   ,
   <br/>
   <ref target="wxdateevent">wxDateEvent</ref>
  </seealso>
  <members>
   <member class="wxDatePickerCtrl" name="wxDatePickerCtrl">
    <function type="" name="wxDatePickerCtrl">
     <parameters>
      <parameter type="wxWindow &#42;" name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxDateTime&amp; " name="dt" value="wxDefaultDateTime"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDP\_DEFAULT"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``datectrl&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Initializes the object and calls
       <ref target="wxdatepickerctrlcreate">Create</ref>
       with all the parameters.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDatePickerCtrl" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow &#42;" name="parent">
       Parent window, must not be non-
       <tt>NULL</tt>
       .
      </parameter>
      <parameter type="wxWindowID " name="id">
       The identifier for the control.
      </parameter>
      <parameter type="const wxDateTime&amp; " name="dt" value="wxDefaultDateTime">
       The initial value of the control, if an invalid date (such as the default
       value) is used, the control is set to today.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Initial position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Initial size. If left at default value, the control chooses its own best
       size by using the height approximately equal to a text control and width
       large enough to show the date string fully.
      </parameter>
      <parameter type="long " name="style" value="wxDP\_DEFAULT">
       The window style, should be left at 0 as there are no special styles for
       this control in this version.
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Validator which can be used for additional date checks.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``datectrl&quot;">
       Control name.
      </parameter>
     </parameters>
     <returnvalue>
      true if the control was successfully created or false if creation failed.
     </returnvalue>
     <description></description>
    </function>
   </member>
   <member class="wxDatePickerCtrl" name="GetRange">
    <function type="bool" name="GetRange" suffix="const">
     <parameters>
      <parameter type="wxDateTime &#42;" name="dt1">
       Pointer to the object which receives the lower range limit or becomes
       invalid if it is not set. May be
       <tt>NULL</tt>
       if the caller is not interested in lower limit
      </parameter>
      <parameter type="wxDateTime &#42;" name="dt2">
       Same as above but for the upper limit
      </parameter>
     </parameters>
     <returnvalue>
      false if no range limits are currently set, true if at least one bound is
      set.
     </returnvalue>
     <description>
      <p>
       If the control had been previously limited to a range of dates using
       <ref target="wxdatepickerctrlsetrange">SetRange()</ref>
       , returns the lower and upper bounds of this range. If no range is set
       (or only one of the bounds is set),
       <i>dt1</i>
       and/or
       <i>dt2</i>
       are set to be invalid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDatePickerCtrl" name="GetValue">
    <function type="wxDateTime" name="GetValue" suffix="const">
     <description>
      <p>
       Returns the currently selected. If there is no selection or the selection
       is outside of the current range, an invalid object is returned.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDatePickerCtrl" name="SetRange">
    <function type="void" name="SetRange">
     <parameters>
      <parameter type="const wxDateTime&amp; " name="dt1"></parameter>
      <parameter type="const wxDateTime&amp; " name="dt2"></parameter>
     </parameters>
     <remarks>
      <p>
       If the current value of the control is outside of the newly set range
       bounds, the behaviour is undefined.
      </p>
     </remarks>
     <description>
      <p>
       Sets the valid range for the date selection. If
       <i>dt1</i>
       is valid, it becomes the earliest date (inclusive) accepted by the
       control. If
       <i>dt2</i>
       is valid, it becomes the latest possible date.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDatePickerCtrl" name="SetValue">
    <function type="void" name="SetValue">
     <parameters>
      <parameter type="const wxDateTime&amp; " name="dt"></parameter>
     </parameters>
     <description>
      <p>
       Changes the current value of the control. The date should be valid and
       included in the currently selected range, if any.
      </p>
      <p>
       Calling this method does not result in a date change event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDateSpan">
  <description>
   <p class="classdesc">
    This class is a &quot;logical time span&quot; and is useful for implementing
    program logic for such things as &quot;add one month to the date&quot;
    which, in general, doesn't mean to add $60&#42;60&#42;24&#42;31$ seconds to
    it, but to take the same date the next month (to understand that this is
    indeed different consider adding one month to Feb, 15 -- we want to get Mar,
    15, of course).
   </p>
   <p class="classdesc">
    When adding a month to the date, all lesser components (days, hours, ...)
    won't be changed unless the resulting date would be invalid: for example,
    Jan 31 + 1 month will be Feb 28, not (non existing) Feb 31.
   </p>
   <p class="classdesc">
    Because of this feature, adding and subtracting back again the same
    wxDateSpan will
    <b> not</b>
    , in general give back the original date: Feb 28 - 1 month will be Jan 28,
    not Jan 31!
   </p>
   <p class="classdesc">
    wxDateSpan objects can be either positive or negative. They may be
    multiplied by scalars which multiply all deltas by the scalar: i.e.
    $2&#42;(1 month and 1 day)$ is 2 months and 2 days. They can be added
    together and with
    <ref target="wxdatetime">wxDateTime</ref>
    or
    <ref target="wxtimespan">wxTimeSpan</ref>
    , but the type of result is different for each case.
   </p>
   <p class="classdesc">
    Beware about weeks: if you specify both weeks and days, the total number of
    days added will be $7&#42;weeks + days$! See also GetTotalDays() function.
   </p>
   <p class="classdesc">
    Equality operators are defined for wxDateSpans. Two datespans are equal if
    and only if they both give the same target date when added to
    <b> every</b>
    source date. Thus wxDateSpan::Months(1) is not equal to
    wxDateSpan::Days(30), because they don't give the same date when added to 1
    Feb. But wxDateSpan::Days(14) is equal to wxDateSpan::Weeks(2)
   </p>
   <p class="classdesc">
    Finally, notice that for adding hours, minutes and so on you don't need this
    class at all:
    <ref target="wxtimespan">wxTimeSpan</ref>
    will do the job because there are no subtleties associated with those (we
    don't support leap seconds).
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>A logical time interval.</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/datetime.h"/>
  </includes>
  <seealso>
   <ref target="wxdatetimeoverview">Date classes overview</ref>
   ,
   <ref target="wxdatetime">wxDateTime</ref>
  </seealso>
  <members>
   <member class="wxDateSpan" name="wxDateSpan">
    <function type="" name="wxDateSpan">
     <parameters>
      <parameter type="int " name="years" value="0"></parameter>
      <parameter type="int " name="months" value="0"></parameter>
      <parameter type="int " name="weeks" value="0"></parameter>
      <parameter type="int " name="days" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructs the date span object for the given number of years, months,
       weeks and days. Note that the weeks and days add together if both are
       given.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Add">
    <function type="wxDateSpan" name="Add" suffix="const">
     <parameters>
      <parameter type="const wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="Add">
     <parameters>
      <parameter type="const wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="operator$+=$">
     <parameters>
      <parameter type="const wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description>
      <p>
       Returns the sum of two date spans. The first version returns a new
       object, the second and third ones modify this object in place.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Day">
    <function type="static wxDateSpan" name="Day">
     <seealso>
      <ref target="wxdatespandays">Days</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to one day.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Days">
    <function type="static wxDateSpan" name="Days">
     <parameters>
      <parameter type="int " name="days"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdatespanday">Day</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to the given number of days.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="GetDays">
    <function type="int" name="GetDays" suffix="const">
     <seealso>
      <ref target="wxdatespangettotaldays">GetTotalDays</ref>
     </seealso>
     <description>
      <p>
       Returns the number of days (only, that it not counting the weeks
       component!) in this date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="GetMonths">
    <function type="int" name="GetMonths" suffix="const">
     <description>
      <p>
       Returns the number of the months (not counting the years) in this date
       span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="GetTotalDays">
    <function type="int" name="GetTotalDays" suffix="const">
     <seealso>
      <ref target="wxdatespangetweeks">GetWeeks</ref>
      <ref target="wxdatespangetdays">GetDays</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDateSpan" name="GetWeeks">
    <function type="int" name="GetWeeks" suffix="const">
     <seealso>
      <ref target="wxdatespangettotaldays">GetTotalDays</ref>
     </seealso>
     <description>
      <p>
       Returns the number of weeks in this date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="GetYears">
    <function type="int" name="GetYears" suffix="const">
     <description>
      <p>
       Returns the number of years in this date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Month">
    <function type="static wxDateSpan" name="Month">
     <seealso>
      <ref target="wxdatespanmonths">Months</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to one month.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Months">
    <function type="static wxDateSpan" name="Months">
     <parameters>
      <parameter type="int " name="mon"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdatespanmonth">Month</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to the given number of months.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Multiply">
    <function type="wxDateSpan" name="Multiply" suffix="const">
     <parameters>
      <parameter type="int " name="factor"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="Multiply">
     <parameters>
      <parameter type="int " name="factor"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="operator$&#42;=$">
     <parameters>
      <parameter type="int " name="factor"></parameter>
     </parameters>
     <description>
      <p>
       Returns the product of the date span by the specified
       <i> factor</i>
       . The product is computed by multiplying each of the components by the
       factor.
      </p>
      <p>
       The first version returns a new object, the second and third ones modify
       this object in place.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Negate">
    <function type="wxDateSpan" name="Negate" suffix="const">
     <seealso>
      <ref target="wxdatespanneg">Neg</ref>
     </seealso>
     <description>
      <p>
       Returns the date span with the opposite sign.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Neg">
    <function type="wxDateSpan&amp;" name="Neg">
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="operator$-$">
     <seealso>
      <ref target="wxdatespannegate">Negate</ref>
     </seealso>
     <description>
      <p>
       Changes the sign of this date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="SetDays">
    <function type="wxDateSpan&amp;" name="SetDays">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Sets the number of days (without modifying any other components) in this
       date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="SetYears">
    <function type="wxDateSpan&amp;" name="SetYears">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Sets the number of years (without modifying any other components) in this
       date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="SetMonths">
    <function type="wxDateSpan&amp;" name="SetMonths">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Sets the number of months (without modifying any other components) in
       this date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="SetWeeks">
    <function type="wxDateSpan&amp;" name="SetWeeks">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Sets the number of weeks (without modifying any other components) in this
       date span.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Subtract">
    <function type="wxDateSpan" name="Subtract" suffix="const">
     <parameters>
      <parameter type="const wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="Subtract">
     <parameters>
      <parameter type="const wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDateSpan&amp;" name="operator$+=$">
     <parameters>
      <parameter type="const wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description>
      <p>
       Returns the difference of two date spans. The first version returns a new
       object, the second and third ones modify this object in place.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Week">
    <function type="static wxDateSpan" name="Week">
     <seealso>
      <ref target="wxdatespanweeks">Weeks</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to one week.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Weeks">
    <function type="static wxDateSpan" name="Weeks">
     <parameters>
      <parameter type="int " name="weeks"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdatespanweek">Week</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to the given number of weeks.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Year">
    <function type="static wxDateSpan" name="Year">
     <seealso>
      <ref target="wxdatespanyears">Years</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to one year.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="Years">
    <function type="static wxDateSpan" name="Years">
     <parameters>
      <parameter type="int " name="years"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdatespanyear">Year</ref>
     </seealso>
     <description>
      <p>
       Returns a date span object corresponding to the given number of years.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="operator$==$">
    <function type="bool" name="operator$==$" suffix="const">
     <parameters>
      <parameter type="wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this date span is equal to the other one. Two date spans are
       considered equal if and only if they have the same number of years and
       months and the same total number of days (counting both days and weeks).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDateSpan" name="operator$!=$">
    <function type="bool" name="operator$!=$" suffix="const">
     <parameters>
      <parameter type="wxDateSpan&amp; " name="other"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdatespanoperatorequal">operator==</ref>
     </seealso>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this date span is different from the other one.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDateTimeHolidayAuthority">
  <description>
   <p>
    (TODO: description)
   </p>
  </description>
  <category>Miscellaneous</category>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDateTimeWorkDays">
  <description>
   <p>
    (TODO: description)
   </p>
  </description>
  <category>Miscellaneous</category>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbColDataPtr" needdefine="wxUSE\_ODBC">
  <description>
   <p>
    (TODO: description)
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbColDef" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    This class is used to hold information about the columns bound to an
    instance of a wxDbTable object.
   </p>
   <p class="classdesc">
    Each instance of this class describes one column in the wxDbTable object.
    When calling the
    <ref target="wxdbctor">wxDb constructor</ref>
    , a parameter passed in indicates the number of columns that will be defined
    for the wxDbTable object. The constructor uses this information to allocate
    adequate memory for all of the column descriptions in your wxDbTable object.
    Private member wxDbTable::colDefs is a pointer to this chunk of memory
    maintained by the wxDbTable class (and can be retrieved using the
    <ref target="wxdbtablegetcoldefs">wxDbTable::GetColDefs</ref>
    function). To access the nth column definition of your wxDbTable object,
    just reference wxDbColDefs element [n - 1].
   </p>
   <p class="classdesc">
    Typically,
    <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
    is used to populate an array of these data structures for the wxDbTable
    instance.
   </p>
   <p class="classdesc">
    Currently there are no accessor functions for this class, so all members are
    public.
   </p>
   <p class="classdesc">
    <pre>
    wxChar  ColName[DB\_MAX\_COLUMN\_NAME\_LEN+1];  // Column Name
    int     DbDataType;    - Logical Data Type;
                             e.g. DB\_DATA\_TYPE\_INTEGER
    SWORD   SqlCtype;      - C data type; e.g. SQL\_C\_LONG
    void   &#42;PtrDataObj;    - Address of the data object
    int     SzDataObj;     - Size, in bytes, of the data object
    bool    KeyField;      - Is column part of the PRIMARY KEY for the
                             table? -- Date fields should NOT be
                             KeyFields
    bool    Updateable;    - Column is updateable?
    bool    InsertAllowed; - Column included in INSERT statements?
    bool    DerivedCol;    - Column is a derived value?
    SDWORD  CbValue;       - !!!Internal use only!!!
    bool    Null;          - NOT FULLY IMPLEMENTED
                             Allows NULL values in Inserts and Updates
</pre>
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <includes>
   <header name="wx/db.h"/>
  </includes>
  <seealso>
   <ref target="odbcoverview">database classes overview</ref>
   ,
   <ref target="wxdbtablegetcoldefs">wxDbTable::GetColDefs</ref>
   <ref target="wxdbctor">wxDb constructor</ref>
  </seealso>
  <members>
   <member class="wxDbColDef" name="Initialize"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbColFor" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    Beginning support for handling international formatting specifically on
    dates and floats.
   </p>
   <p class="classdesc">
    <pre>
    wxString       s\_Field;       // Formated String for Output
    wxString       s\_Format[7];   // Formated Objects - TIMESTAMP has
                                     the biggest (7)
    wxString       s\_Amount[7];   // Formated Objects - amount of
                                     things that can be formatted
    int            i\_Amount[7];   // Formated Objects -
                                        TT MM YYYY HH MM SS m
    int            i\_Nation;      // 0 = timestamp
                                     1 = EU
                                     2 = UK
                                     3 = International
                                     4 = US
    int            i\_dbDataType;  // conversion of the 'sqlDataType'
                                     to the generic data type used by
                                     these classes
    SWORD          i\_sqlDataType;
</pre>
   </p>
   <p class="classdesc">
    The constructor for this class initializes all the values to zero or NULL.
   </p>
   <p class="classdesc">
    The destructor does nothing at this time.
   </p>
   <p class="classdesc">
    Only one function is provided with this class currently.
   </p>
   <p class="classdesc">
    See the
    <ref target="odbcoverview">database classes overview</ref>
    for an introduction to using the ODBC classes.
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <includes>
   <header name="wx/db.h"/>
  </includes>
  <members>
   <member class="wxDbColFor" name="Format">
    <function type="int " name="Format">
     <parameters>
      <parameter type="int " name="Nation"></parameter>
      <parameter type="int " name="dbDataType"></parameter>
      <parameter type="SWORD " name="sqlDataType"></parameter>
      <parameter type="short " name="columnSize"></parameter>
      <parameter type="short " name="decimalDigits"></parameter>
     </parameters>
     <description>
      <p>
       <ref target="wxdbcolforformat"/>
      </p>
      <p>
       Work in progress, and should be inter-related with wxLocale eventually.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbColFor" name="Initialize"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbColInf" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    Used with the
    <ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
    functions for obtaining all retrievable information about a column's
    definition.
   </p>
   <p class="classdesc">
    <pre>
    wxChar       catalog[128+1];
    wxChar       schema[128+1];
    wxChar       tableName[DB\_MAX\_TABLE\_NAME\_LEN+1];
    wxChar       colName[DB\_MAX\_COLUMN\_NAME\_LEN+1];
    SWORD        sqlDataType;
    wxChar       typeName[128+1];
    SWORD        columnSize;
    SWORD        bufferLength;
    short        decimalDigits;
    short        numPrecRadix;
    short        nullable;
    wxChar       remarks[254+1];
    int          dbDataType;  // conversion of the 'sqlDataType'
                              // to the generic data type used by
                              // these classes
    int          PkCol;       // Primary key column
                                    0 = No
                                    1 = First Key
                                    2 = Second Key, etc...
    wxChar       PkTableName[DB\_MAX\_TABLE\_NAME\_LEN+1];
                              // Tables that use this PKey as a FKey
    int          FkCol;       // Foreign key column
                                    0 = No
                                    1 = First Key
                                    2 = Second Key, etc...
    wxChar       FkTableName[DB\_MAX\_TABLE\_NAME\_LEN+1];
                              // Foreign key table name
    wxDbColFor  &#42;pColFor;     // How should this column be formatted
</pre>
   </p>
   <p class="classdesc">
    The constructor for this class initializes all the values to zero,
    &quot;&quot;, or NULL.
   </p>
   <p class="classdesc">
    The destructor for this class takes care of deleting the pColFor member if
    it is non-NULL.
   </p>
   <p class="classdesc">
    See the
    <ref target="odbcoverview">database classes overview</ref>
    for an introduction to using the ODBC classes.
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <includes>
   <header name="wx/db.h"/>
  </includes>
  <members>
   <member class="wxDbColInf" name="Initialize"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbGridColInfo" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    This class is used to define columns to be shown, names of the columns,
    order and type of data, when using
    <ref target="wxdbgridtablebase">wxdbGridTableBase</ref>
    to display a Table or query in a
    <ref target="wxgrid">wxGrid</ref>
   </p>
   <p class="classdesc">
    See the database grid example in
    <ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
    for an introduction to using the wxDbGrid classes.
   </p>
  </description>
  <category>Miscellaneous</category>
  <includes>
   <header name="wx/dbgrid.h"/>
  </includes>
  <members>
   <member class="wxDbGridColInfo" name="wxDbGridColInfo">
    <function type="" name="wxDbGridColInfo">
     <parameters>
      <parameter type="int " name="colNumber">
       Column number in the
       <ref target="wxdbtable">wxDbTable</ref>
       instance to be used (first column is 0).
      </parameter>
      <parameter type="wxString " name="type">
       Column type ,wxString specifying the grid name for the datatype in this
       column, or use wxGRID\_VALUE\_DBAUTO to determine the type automatically
       from the
       <ref target="wxdbcoldef">wxDbColDef</ref>
       definition
      </parameter>
      <parameter type="wxString " name="title">
       The column label to be used in the grid display
      </parameter>
      <parameter type="wxDbGridColInfo &#42;" name="next">
       A pointer to the next wxDbGridColInfo structure if using one-step
       construction, NULL terminates the list. Use Null also if using two step
       construction.
      </parameter>
     </parameters>
     <description>
      <p>
       Default constructor. See the database grid example in
       <ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
       to see two different ways for adding columns.
      </p>
      <p>
       See the database grid example in
       <ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
       to see two different ways for adding columns.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbGridColInfo" name="~wxDbGridColInfo">
    <function type="" name="~wxDbGridColInfo">
     <parameters></parameters>
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbGridColInfo" name="AddColInfo">
    <function type="void" name="AddColInfo">
     <parameters>
      <parameter type="int " name="colNumber">
       Column number in the
       <ref target="wxdbtable">wxDbTable</ref>
       instance to be used (first column is 0).
      </parameter>
      <parameter type="wxString " name="type">
       Column type ,wxString specifying the grid name for the datatype in this
       column, or use wxGRID\_VALUE\_DBAUTO to determine the type automatically
       from the
       <ref target="wxdbcoldef">wxDbColDef</ref>
       definition
      </parameter>
      <parameter type="wxString " name="title">
       The column label to be used in the grid display
      </parameter>
     </parameters>
     <remarks>
      <p>
       As wxDbTable must be defined with to have columns which match those to by
       a wxDbGridColInfo info structure as this is the structure which informs
       the grid of how you want to display your
       <ref target="wxdbtable">wxDbTable</ref>
       . If no datatype conversion or the referenced column number does not
       exist the the behavior is undefined.
      </p>
      <p>
       See the example at
       <ref target="wxdbgridcolinfoctor">wxDbGridColInfo::wxDbGridColInfo</ref>
       .
      </p>
     </remarks>
     <description>
      <p>
       Use this member function for adding columns. See the database grid
       example in
       <ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
       to see two different ways for adding columns.
      </p>
      <p>
       It is important to note that this class is merely a specifier to the
       <ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
       constructor. Changes made to this datatype after the
       <ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
       is called will not have any effect.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDbIdxDef" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    Used in creation of non-primary indexes. Currently there are no member
    functions for this class.
   </p>
   <p class="classdesc">
    <pre>
        wxChar  ColName[DB\_MAX\_COLUMN\_NAME\_LEN+1]
                                  // Name of column
        bool    Ascending         // Is index maintained in
                                     ASCENDING sequence?
</pre>
   </p>
   <p class="classdesc">
    There are no constructors/destructors as of this time, and no member
    functions.
   </p>
   <p class="classdesc">
    See the
    <ref target="odbcoverview">database classes overview</ref>
    for an introduction to using the ODBC classes.
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbInf" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    Contains information regarding the database connection (datasource name,
    number of tables, etc). A pointer to a wxDbTableInf is included in this
    class so a program can create a wxDbTableInf array instance to maintain all
    information about all tables in the datasource to have all the datasource's
    information in one memory structure.
   </p>
   <p class="classdesc">
    Primarily, this class is used internally by the wxWidgets ODBC classes.
   </p>
   <p class="classdesc">
    <pre>
    wxChar        catalog[128+1];
    wxChar        schema[128+1];  // typically means owner of table(s)
    int           numTables;      // How many tables does this
                                     datasource have
    wxDbTableInf &#42;pTableInf;      // Equals a new
                                     wxDbTableInf[numTables];
</pre>
   </p>
   <p class="classdesc">
    The constructor for this class initializes all the values to zero,
    &quot;&quot;, or NULL.
   </p>
   <p class="classdesc">
    The destructor for this class takes care of deleting the pTableInf member if
    it is non-NULL.
   </p>
   <p class="classdesc">
    See the
    <ref target="odbcoverview">database classes overview</ref>
    for an introduction to using the ODBC classes.
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <includes>
   <header name="wx/db.h"/>
  </includes>
  <members>
   <member class="wxDbInf" name="Initialize"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbTable" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    A wxDbTable instance provides re-usable access to rows of data in a table
    contained within the associated ODBC datasource
   </p>
   <p class="classdesc">
    See the
    <ref target="odbcoverview">database classes overview</ref>
    for an introduction to using the ODBC classes.
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc>Provides access to a database table</shortdesc>
  <includes>
   <header name="wx/dbtable.h" comment="&lt;wx/db.h&gt;"/>
  </includes>
  <members>
   <member class="wxDbTable" name="wxDbTable">
    <function type="" name="wxDbTable">
     <parameters>
      <parameter type="wxDb &#42;" name="pwxDb">
       Pointer to the wxDb instance to be used by this wxDbTable instance.
      </parameter>
      <parameter type="const wxString &amp;" name="tblName">
       The name of the table in the RDBMS.
      </parameter>
      <parameter type="const UWORD " name="numColumns">
       The number of columns in the table. (Do NOT include the ROWID column in
       the count if using Oracle).
      </parameter>
      <parameter type="const wxString &amp;" name="qryTblName" value="&quot;&quot;">
       <i> OPTIONAL</i>
       . The name of the table or view to base your queries on. This argument
       allows you to specify a table/view other than the base table for this
       object to base your queries on. This allows you to query on a view for
       example, but all of the INSERT, UPDATE and DELETES will still be
       performed on the base table for this wxDbTable object. Basing your
       queries on a view can provide a substantial performance increase in cases
       where your queries involve many tables with multiple joins. Default is
       &quot;&quot;.
      </parameter>
      <parameter type="bool " name="qryOnly" value="!wxDB\_QUERY\_ONLY">
       <i> OPTIONAL</i>
       . Indicates whether the table will be accessible for query purposes only,
       or should the table create the necessary cursors to be able to insert,
       update, and delete data from the table. Default is !wxDB\_QUERY\_ONLY.
      </parameter>
      <parameter type="const wxString &amp;" name="tblPath" value="&quot;&quot;">
       <i> OPTIONAL</i>
       . Some datasources (such as dBase) require a path to where the table is
       stored on the system. Default is &quot;&quot;.
      </parameter>
     </parameters>
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="wxDbTable">
    <function type="virtual" name="~wxDbTable">
     <parameters></parameters>
     <description>
      <p>
       Virtual default destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="BuildDeleteStmt">
    <function type="void" name="BuildDeleteStmt">
     <parameters>
      <parameter type="wxString &amp;" name="pSqlStmt">
       Pointer to buffer for the SQL statement retrieved. To be sure you have
       adequate space allocated for the SQL statement, allocate
       DB\_MAX\_STATEMENT\_LEN bytes.
      </parameter>
      <parameter type="int " name="typeOfDel">
       The type of delete statement being performed. Can be one of three values:
       DB\_DEL\_KEYFIELDS, DB\_DEL\_WHERE or DB\_DEL\_MATCHING
      </parameter>
      <parameter type="const wxString &amp;" name="pWhereClause" value="&quot;&quot;">
       <i> OPTIONAL</i>
       . If the typeOfDel is DB\_DEL\_WHERE, then you must also pass in a SQL
       WHERE clause in this argument. Default is &quot;&quot;.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This member function constructs a SQL DELETE statement. This can be used
       for debugging purposes if you are having problems executing your SQL
       statement.
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       are ignored by this function.
      </p>
     </remarks>
     <description>
      <p>
       Constructs the full SQL statement that can be used to delete all rows
       matching the criteria in the pWhereClause.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="BuildSelectStmt">
    <function type="void" name="BuildSelectStmt">
     <parameters>
      <parameter type="wxString &amp;" name="pSqlStmt">
       Pointer to storage for the SQL statement retrieved. To be sure you have
       adequate space allocated for the SQL statement, allocate
       DB\_MAX\_STATEMENT\_LEN bytes.
      </parameter>
      <parameter type="int " name="typeOfSelect">
       The type of select statement being performed. Can be one of four values:
       DB\_SELECT\_KEYFIELDS, DB\_SELECT\_WHERE, DB\_SELECT\_MATCHING or
       DB\_SELECT\_STATEMENT.
      </parameter>
      <parameter type="bool " name="distinct">
       Whether to select distinct records only.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This member function constructs a SQL SELECT statement. This can be used
       for debugging purposes if you are having problems executing your SQL
       statement.
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       are ignored by this function.
      </p>
     </remarks>
     <description>
      <p>
       Constructs the full SQL statement that can be used to select all rows
       matching the criteria in the pWhereClause. This function is called
       internally in the wxDbTable class whenever the function
       <ref target="wxdbtablequery">wxDbTable::Query</ref>
       is called.
      </p>
      <p>
       NOTE: Only the columns specified in
       <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
       statements are included in the list of columns returned by the SQL
       statement created by a call to this function.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="BuildUpdateStmt">
    <function type="void" name="BuildUpdateStmt">
     <parameters>
      <parameter type="wxString &amp;" name="pSqlStmt">
       Pointer to storage for the SQL statement retrieved. To be sure you have
       adequate space allocated for the SQL statement, allocate
       DB\_MAX\_STATEMENT\_LEN bytes.
      </parameter>
      <parameter type="int " name="typeOfUpd"></parameter>
      <parameter type="const wxString &amp;" name="pWhereClause" value="&quot;&quot;">
       <i> OPTIONAL</i>
       . If the typeOfUpdate is DB\_UPD\_WHERE, then you must also pass in a SQL
       WHERE clause in this argument. Default is &quot;&quot;.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This member function allows you to see what the SQL UPDATE statement
       looks like that the ODBC class library builds. This can be used for
       debugging purposes if you are having problems executing your SQL
       statement.
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       are ignored by this function.
      </p>
     </remarks>
     <description>
      <p>
       Constructs the full SQL statement that can be used to update all rows
       matching the criteria in the pWhereClause.
      </p>
      <p>
       If typeOfUpdate is DB\_UPD\_KEYFIELDS, then the current values in the bound
       columns are used to determine which row(s) in the table are to be
       updated. The exception to this is when a datasource supports ROW IDs
       (Oracle). The ROW ID column is used for efficiency purposes when
       available.
      </p>
      <p>
       NOTE: Only the columns specified in
       <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
       statements are included in the list of columns updated by the SQL
       statement created by a call to this function. Any column definitions that
       were defined as being non-updateable will be excluded from the SQL UPDATE
       statement created by this function.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="BuildWhereClause">
    <function type="void" name="BuildWhereClause">
     <parameters>
      <parameter type="wxString &amp;" name="pWhereClause">
       Pointer to storage for the SQL statement retrieved. To be sure you have
       adequate space allocated for the SQL statement, allocate
       DB\_MAX\_STATEMENT\_LEN bytes.
      </parameter>
      <parameter type="int " name="typeOfWhere">
       The type of where clause to generate. Can be one of two values:
       DB\_WHERE\_KEYFIELDS or DB\_WHERE\_MATCHING.
      </parameter>
      <parameter type="const wxString &amp;" name="qualTableName" value="&quot;&quot;">
       <i> OPTIONAL</i>
       . Prepended to all base table column names. For use when a FROM clause
       has been specified with the
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       , to clarify which table a column name reference belongs to. Default is
       &quot;&quot;.
      </parameter>
      <parameter type="bool " name="useLikeComparison" value="false">
       <i> OPTIONAL</i>
       . Should the constructed WHERE clause utilize the LIKE comparison
       operator. If false, then the '=' operator is used. Default is false.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This member function allows you to see what the SQL WHERE clause looks
       like that the ODBC class library builds. This can be used for debugging
       purposes if you are having problems executing your own SQL statements.
      </p>
      <p>
       If using 'typeOfWhere' set to DB\_WHERE\_MATCHING, any bound columns
       currently containing a NULL value are not included in the WHERE clause's
       list of columns to use in the comparison.
      </p>
     </remarks>
     <description>
      <p>
       Constructs the portion of a SQL statement which would follow the word
       'WHERE' in a SQL statement to be passed to the datasource. The returned
       string does NOT include the word 'WHERE'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="CanSelectForUpdate">
    <function type="bool" name="CanSelectForUpdate">
     <remarks>
      <p>
       Not all datasources support the &quot;FOR UPDATE&quot; clause, so you
       must use this member function to determine if the datasource currently
       connected to supports this behavior or not before trying to select using
       &quot;FOR UPDATE&quot;.
      </p>
      <p>
       If the wxDbTable instance was created with the parameter wxDB\_QUERY\_ONLY,
       then this function will return false. For all known databases which do
       not support the FOR UPDATE clause, this function will return false also.
      </p>
     </remarks>
     <description>
      <p>
       Use this function to determine if the datasource supports SELECT ... FOR
       UPDATE. When the keywords &quot;FOR UPDATE&quot; are included as part of
       your SQL SELECT statement, all records
       <i> retrieved</i>
       (not just queried, but actually retrieved using
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       , etc) from the result set are locked.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="CanUpdateByROWID">
    <function type="bool" name="CanUpdateByROWID">
     <example>
      <pre>
    // Incomplete code sample
    wxDbTable parts;
    .....
    if (parts.CanUpdateByROWID())
    \{
        // Note that the ROWID column must always be the last column selected
        sqlStmt = &quot;SELECT PART\_NUM, PART\_DESC, ROWID&quot; FROM PARTS&quot;;
    \}
    else
        sqlStmt = &quot;SELECT PART\_NUM, PART\_DESC FROM PARTS&quot;;
</pre>
     </example>
     <remarks>
      <p>
       The decision to include the ROWID in your SQL SELECT statement must be
       deferred until runtime since it depends on whether you are connected to
       an Oracle datasource or not.
      </p>
     </remarks>
     <description>
      <p>
       CURRENTLY ONLY POSSIBLE IF USING ORACLE.
      </p>
      <p>
       --- CURRENTLY DISABLED FOR &#42;ALL&#42; DATASOURCES --- NOV 1 2000 - gt
      </p>
      <p>
       Every Oracle table has a hidden column named ROWID. This is a pointer to
       the physical location of the record in the datasource and allows for very
       fast updates and deletes. The key is to retrieve this ROWID during your
       query so it is available during an update or delete operation.
      </p>
      <p>
       Use of the ROWID feature is always handled by the class library except in
       the case of
       <ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>
       . Since you are passing in the SQL SELECT statement, it is up to you to
       include the ROWID column in your query. If you do not, the application
       will still work, but may not be as optimized. The ROWID is always the
       last column in the column list in your SQL SELECT statement. The ROWID is
       not a column in the normal sense and should not be considered part of the
       column definitions for the wxDbTable object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="ClearMemberVar">
    <function type="void" name="ClearMemberVar">
     <parameters>
      <parameter type="UWORD " name="colNumber">
       Column number that is to be cleared. This number (between 0 and
       (numColumns-1)) is the index of the column definition created using the
       <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
       function.
      </parameter>
      <parameter type="bool " name="setToNull" value="false">
       <i> OPTIONAL</i>
       . Indicates whether the column should be flagged as being a NULL value
       stored in the bound memory variable. If true, then any value stored in
       the bound member variable is cleared. Default is false.
      </parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxdbtableclearmembervars">wxDbTable::ClearMemberVars</ref>
       except that this function clears only the specified column of its values,
       and optionally sets the column to be a NULL column.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="ClearMemberVars">
    <function type="void" name="ClearMemberVars">
     <parameters>
      <parameter type="bool " name="setToNull" value="false">
       <i> OPTIONAL</i>
       . Indicates whether all columns should be flagged as having a NULL value
       stored in the bound memory variable. If true, then any value stored in
       the bound member variable is cleared. Default is false.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This is useful before calling functions such as
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       or
       <ref target="wxdbtabledeletematching">wxDbTable::DeleteMatching</ref>
       since these functions build their WHERE clauses from non-zero columns. To
       call either
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       or
       <ref target="wxdbtabledeletematching">wxDbTable::DeleteMatching</ref>
       use this sequence:
      </p>
      <pre>
1)  ClearMemberVars()
2)  Assign columns values you wish to match on
3)  Call wxDbTable::QueryMatching() or wxDbTable::DeleteMatching()
</pre>
     </remarks>
     <description>
      <p>
       Initializes all bound columns of the wxDbTable instance to zero. In the
       case of a string, zero is copied to the first byte of the string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="CloseCursor">
    <function type="bool" name="CloseCursor">
     <parameters>
      <parameter type="HSTMT" name="cursor">
       The cursor to be closed.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Typically handled internally by the ODBC class library, but may be used
       by the programmer if desired.
      </p>
      <p>
       DO NOT CLOSE THE wxDB\_DEFAULT\_CURSOR!
      </p>
     </remarks>
     <description>
      <p>
       Closes the specified cursor associated with the wxDbTable object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Count">
    <function type="ULONG " name="Count">
     <parameters>
      <parameter type="const wxString &amp;" name="args" value="&quot;*&quot;">
       <i> OPTIONAL</i>
       . This argument allows the use of the DISTINCT keyword against a column
       name to cause the returned count to only indicate the number of rows in
       the result set that have a unique value in the specified column. An
       example is shown below. Default is &quot;&#42;&quot;, meaning a count of
       the total number of rows matching is returned, regardless of uniqueness.
      </parameter>
     </parameters>
     <example>
      <pre>

    USERS TABLE

    FIRST\_NAME      LAST\_NAME
    -----------     ----------
    John            Doe
    Richard         Smith
    Michael         Jones
    John            Carpenter

    // Incomplete code sample
    wxDbTable users;
    .....
    users.SetWhereClause(&quot;&quot;);

    // This Count() will return 4, as there are four users listed above
    // that match the query parameters
    totalNumberOfUsers = users.Count();

    // This Count() will return 3, as there are only 3 unique first names
    // in the table above - John, Richard, Michael.
    totalNumberOfUniqueFirstNames = users.Count(&quot;DISTINCT FIRST\_NAME&quot;);
</pre>
     </example>
     <remarks>
      <p>
       This function can be called before or after an actual query to obtain the
       count of records in the result set. Count() uses its own cursor, so
       result set cursor positioning is not affected by calls to Count().
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       ARE used by this function.
      </p>
     </remarks>
     <description>
      <p>
       Returns the number of records which would be in the result set using the
       current query parameters specified in the WHERE and FROM clauses.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="CreateIndex">
    <function type="bool" name="CreateIndex">
     <parameters>
      <parameter type="const wxString &amp;" name="IndexName">
       Name of the Index. Name must be unique within the table space of the
       datasource.
      </parameter>
      <parameter type="bool " name="unique">
       Indicates if this index is unique.
      </parameter>
      <parameter type="UWORD " name="numIndexColumns">
       Number of columns in the index.
      </parameter>
      <parameter type="wxDbIdxDef &#42;" name="pIndexDefs">
       A pointer to an array
       <ref target="wxdbidxdef">wxDbIdxDef</ref>
       structures.
      </parameter>
      <parameter type="bool " name="attemptDrop" value="true">
       <i> OPTIONAL</i>
       . Indicates if the function should try to execute a
       <ref target="wxdbtabledropindex">wxDbTable::DropIndex</ref>
       on the index name provided before trying to create the index name.
       Default is true.
      </parameter>
     </parameters>
     <example>
      <pre>
    // Create a secondary index on the PARTS table
    wxDbIdxDef  IndexDef[2];  // 2 columns make up the index

    wxStrcpy(IndexDef[0].ColName, &quot;PART\_DESC&quot;);  // Column 1
    IndexDef[0].Ascending = true;

    wxStrcpy(IndexDef[1].ColName, &quot;SERIAL\_NO&quot;);  // Column 2
    IndexDef[1].Ascending = false;

    // Create a name for the index based on the table's name
    wxString indexName;
    indexName.Printf(&quot;
    parts-&gt;CreateIndex(indexName, true, 2, IndexDef);
</pre>
     </example>
     <remarks>
      <p>
       The first parameter, index name, must be unique and should be given a
       meaningful name. Common practice is to include the table name as a prefix
       in the index name (e.g. For table PARTS, you might want to call your
       index PARTS\_Index1). This will allow you to easily view all of the
       indexes defined for a given table grouped together alphabetically.
      </p>
      <p>
       The second parameter indicates if the index is unique or not. Uniqueness
       is enforced at the RDBMS level preventing rows which would have duplicate
       indexes from being inserted into the table when violating a unique
       index's uniqueness.
      </p>
      <p>
       In the third parameter, specify how many columns are in your index. This
       number must match the number of columns defined in the 'pIndexDefs'
       parameter.
      </p>
      <p>
       The fourth parameter specifies which columns make up the index using the
       <ref target="wxdbidxdef">wxDbIdxDef</ref>
       structure. For each column in the index, you must specify two things, the
       column name and the sort order (ascending / descending). See the example
       below to see how to build and pass in the
       <ref target="wxdbidxdef">wxDbIdxDef</ref>
       structure.
      </p>
      <p>
       The fifth parameter is provided to handle the differences in datasources
       as to whether they will automatically overwrite existing indexes with the
       same name or not. Some datasources require that the existing index must
       be dropped first, so this is the default behavior.
      </p>
      <p>
       Some datasources (MySQL, and possibly others) require columns which are
       to be part of an index to be defined as NOT NULL. When this function is
       called, if a column is not defined to be NOT NULL, a call to this
       function will modify the column definition to change any columns included
       in the index to be NOT NULL. In this situation, if a NULL value already
       exists in one of the columns that is being modified, creation of the
       index will fail.
      </p>
      <p>
       PostGres is unable to handle index definitions which specify whether the
       index is ascending or descending, and defaults to the system default when
       the index is created.
      </p>
      <p>
       It is not necessary to call
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       after executing this function.
      </p>
     </remarks>
     <description>
      <p>
       This member function allows you to create secondary (non primary) indexes
       on your tables. You first create your table, normally specifying a
       primary index, and then create any secondary indexes on the table.
       Indexes in relational model are not required. You do not need indexes to
       look up records in a table or to join two tables together. In the
       relational model, indexes, if available, provide a quicker means to look
       up data in a table. To enjoy the performance benefits of indexes, the
       indexes must be defined on the appropriate columns and your SQL code must
       be written in such a way as to take advantage of those indexes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="CreateTable">
    <function type="bool" name="CreateTable">
     <parameters>
      <parameter type="bool " name="attemptDrop" value="true">
       <i> OPTIONAL</i>
       . Indicates whether the driver should attempt to drop the table before
       trying to create it. Some datasources will not allow creation of a table
       if the table already exists in the table space being used. Default is
       true.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This function creates the table and primary index (if any) in the table
       space associated with the connected datasource. The owner of these
       objects will be the user id that was given when
       <ref target="wxdbopen">wxDb::Open</ref>
       was called. The objects will be created in the default schema/table space
       for that user.
      </p>
      <p>
       In your derived wxDbTable object constructor, the columns and primary
       index of the table are described through the
       <ref target="wxdbcoldef">wxDbColDef</ref>
       structure.
       <ref target="wxdbtablecreatetable">wxDbTable::CreateTable</ref>
       uses this information to create the table and to add the primary index.
       See
       <ref target="wxdbtable">wxDbTable</ref>
       ctor and wxDbColDef description for additional information on describing
       the columns of the table.
      </p>
      <p>
       It is not necessary to call
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       after executing this function.
      </p>
     </remarks>
     <description>
      <p>
       Creates a table based on the definitions previously defined for this
       wxDbTable instance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="DB\_STATUS">
    <function type="bool" name="DB\_STATUS">
     <description>
      <p>
       Accessor function that returns the wxDb private member variable DB\_STATUS
       for the database connection used by this instance of wxDbTable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Delete">
    <function type="bool" name="Delete">
     <remarks>
      <p>
       Use
       <ref target="wxdbtablegetfirst">wxDbTable::GetFirst</ref>
       ,
       <ref target="wxdbtablegetlast">wxDbTable::GetLast</ref>
       ,
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       or
       <ref target="wxdbtablegetprev">wxDbTable::GetPrev</ref>
       to position the cursor to a valid record. Once positioned on a record,
       call this function to delete the row from the table.
      </p>
      <p>
       A
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       must be called after use of this function to commit or rollback the
       deletion.
      </p>
      <p>
       NOTE: Most datasources have a limited size &quot;rollback&quot; segment.
       This means that it is only possible to insert/update/delete a finite
       number of rows without performing a
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       . Size of the rollback segment varies from database to database, and is
       user configurable in most databases. Therefore it is usually best to try
       to perform a commit or rollback at relatively small intervals when
       processing a larger number of actions that insert/update/delete rows in a
       table.
      </p>
     </remarks>
     <description>
      <p>
       Deletes the row from the table indicated by the current cursor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="DeleteCursor">
    <function type="bool" name="DeleteCursor">
     <parameters>
      <parameter type="HSTMT &#42;" name="hstmtDel">
       Handle of the cursor to delete.
      </parameter>
     </parameters>
     <remarks>
      <p>
       For default cursors associated with the instance of wxDbTable, it is not
       necessary to specifically delete the cursors. This is automatically done
       in the wxDbTable destructor.
      </p>
      <p>
       NOTE: If the cursor could not be deleted for some reason, an error is
       logged indicating the reason. Even if the cursor could not be deleted,
       the HSTMT that is passed in is deleted, and the pointer is set to NULL.
      </p>
      <p>
       DO NOT DELETE THE wxDB\_DEFAULT\_CURSOR!
      </p>
     </remarks>
     <description>
      <p>
       Allows a program to delete a cursor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="DeleteMatching">
    <function type="bool" name="DeleteMatching">
     <example>
      <pre>
    // Incomplete code sample to delete all users with a first name
    // of &quot;JOHN&quot;
    users.ClearMemberVars();
    wxStrcpy(users.FirstName,&quot;JOHN&quot;);
    users.DeleteMatching();
</pre>
     </example>
     <remarks>
      <p>
       To delete all users with a first name of &quot;JOHN&quot;, do the
       following:
      </p>
      <p>
       <ol>
        <li>Clear all &quot;columns&quot; using wxDbTable::ClearMemberVars().</li>
        <li>Set the FIRST\_NAME column equal to &quot;JOHN&quot;.</li>
        <li>Call wxDbTable::DeleteMatching().</li>
       </ol>
      </p>
      <p>
       The WHERE clause is built by the ODBC class library based on all non-NULL
       columns. This allows deletion of records by matching on any column(s) in
       your wxDbTable instance, without having to write the SQL WHERE clause.
      </p>
      <p>
       A
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       must be called after use of this function to commit or rollback the
       deletion.
      </p>
      <p>
       NOTE: Row(s) should be locked before deleting them to make sure they are
       not already in use. This can be achieved by calling
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       , and then retrieving the records, locking each as you go (assuming FOR
       UPDATE is allowed on the datasource). After the row(s) have been
       successfully locked, call this function.
      </p>
      <p>
       NOTE: Most datasources have a limited &quot;rollback&quot; segment. This
       means that it is only possible to insert/update/delete a finite number of
       rows without performing a
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       . Size of the rollback segment varies from database to database, and is
       user configurable in most databases. Therefore it is usually best to try
       to perform a commit or rollback at relatively small intervals when
       processing a larger number of actions that insert/update/delete rows in a
       table.
      </p>
     </remarks>
     <description>
      <p>
       This member function allows you to delete records from your wxDbTable
       object by specifying the data in the columns to match on.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="DeleteWhere">
    <function type="bool" name="DeleteWhere">
     <parameters>
      <parameter type="const wxString &amp;" name="pWhereClause">
       SQL WHERE clause. This WHERE clause determines which records will be
       deleted from the table interfaced through the wxDbTable instance. The
       WHERE clause passed in must be compliant with the SQL 92 grammar. Do not
       include the keyword 'WHERE'
      </parameter>
     </parameters>
     <example>
      <pre>
    // Delete parts 1 thru 10 from containers 'X', 'Y' and 'Z' that
    // are magenta in color
    parts.DeleteWhere(&quot;(PART\_NUMBER BETWEEN 1 AND 10) AND \\
                        CONTAINER IN ('X', 'Y', 'Z') AND \\
                        UPPER(COLOR) = 'MAGENTA'&quot;);
</pre>
     </example>
     <remarks>
      <p>
       This is the most powerful form of the wxDbTable delete functions. This
       function gives access to the full power of SQL. This function can be used
       to delete records by passing a valid SQL WHERE clause. Sophisticated
       deletions can be performed based on multiple criteria using the full
       functionality of the SQL language.
      </p>
      <p>
       A
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       must be called after use of this function to commit the deletions.
      </p>
      <p>
       Note: This function is limited to deleting records from the table
       associated with this wxDbTable object only. Deletions on joined tables is
       not possible.
      </p>
      <p>
       NOTE: Most datasources have a limited size &quot;rollback&quot; segment.
       This means that it is only possible to insert/update/delete a finite
       number of rows without performing a
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       . Size of the rollback segment varies from database to database, and is
       user configurable in most databases. Therefore it is usually best to try
       to perform a commit or rollback at relatively small intervals when
       processing a larger number of actions that insert/update/delete rows in a
       table.
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       are ignored by this function.
      </p>
     </remarks>
     <description>
      <p>
       Deletes all rows from the table which match the criteria specified in the
       WHERE clause that is passed in.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="DropIndex">
    <function type="bool" name="DropIndex">
     <parameters>
      <parameter type="const wxString &amp;" name="IndexName">
       Name of the index to be dropped.
      </parameter>
     </parameters>
     <remarks>
      <p>
       If the index specified in the 'IndexName' parameter does not exist, an
       error will be logged, and the function will return a result of false.
      </p>
      <p>
       It is not necessary to call
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       after executing this function.
      </p>
     </remarks>
     <description>
      <p>
       Allows an index on the associated table to be dropped (deleted) if the
       user login has sufficient privileges to do so.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="DropTable">
    <function type="bool" name="DropTable">
     <remarks>
      <p>
       This function returns true if the table does not exist, but only for
       supported databases (see
       <ref target="wxdbdbms">wxDb::Dbms</ref>
       ). If a datasource is not specifically supported, and this function is
       called, the function will return false.
      </p>
      <p>
       Most datasources/ODBC drivers will delete any indexes associated with the
       table automatically, and others may not. Check the documentation for your
       database to determine the behavior.
      </p>
      <p>
       It is not necessary to call
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       after executing this function.
      </p>
     </remarks>
     <description>
      <p>
       Deletes the associated table if the user has sufficient privileges to do
       so.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="From">
    <function type="const wxString &amp;" name="From">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="void" name="From">
     <parameters>
      <parameter type="const wxString &amp;" name="From">
       A comma separated list of table names that are to be outer joined with
       the base table's columns so that the joined table's columns may be
       returned in the result set or used as a portion of a comparison with the
       base table's columns. NOTE that the base tables name must NOT be included
       in the FROM clause, as it is automatically included by the wxDbTable
       class in constructing query statements.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdbtablegetfromclause">wxDbTable::GetFromClause</ref>
      ,
      <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
     </seealso>
     <returnvalue>
      The first form of this function returns the current value of the wxDbTable
      member variable ::from. The second form of the function has no return
      value, as it will always set the from clause successfully.
     </returnvalue>
     <description>
      <p>
       Accessor function for the private class member wxDbTable::from. Can be
       used as a synonym for
       <ref target="wxdbtablegetfromclause">wxDbTable::GetFromClause</ref>
       (the first form of this function) or
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       (the second form of this function).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetColDefs">
    <function type="wxDbColDef &#42;" name="GetColDefs">
     <parameters></parameters>
     <remarks>
      <p>
       These column definitions must not be manually redefined after they have
       been set.
      </p>
     </remarks>
     <description>
      <p>
       Accessor function that returns a pointer to the array of column
       definitions that are bound to the columns that this wxDbTable instance is
       associated with.
      </p>
      <p>
       To determine the number of elements pointed to by the returned
       <ref target="wxdbcoldef">wxDbColDef</ref>
       pointer, use the
       <ref target="wxdbtablegetnumberofcolumns">wxDbTable::GetNumberOfColumns</ref>
       function.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetCursor">
    <function type="HSTMT" name="GetCursor">
     <seealso>
      <ref target="wxdbtablesetcursor">wxDbTable::SetCursor</ref>
      <ref target="wxdbtablegetnewcursor">wxDbTable::GetNewCursor</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDbTable" name="GetDb">
    <function type="wxDb &#42;" name="GetDb">
     <parameters></parameters>
     <description>
      <p>
       Accessor function for the private member variable pDb which is a pointer
       to the datasource connection that this wxDbTable instance uses.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetFirst">
    <function type="bool" name="GetFirst">
     <seealso>
      <ref target="wxdbisfwdonlycursors">wxDb::IsFwdOnlyCursors</ref>
     </seealso>
     <remarks>
      <p>
       This function can only be used if the datasource connection used by the
       wxDbTable instance was created with FwdOnlyCursors set to false. If the
       connection does not allow backward scrolling cursors, this function will
       return false, and the data contained in the bound columns will be
       undefined.
      </p>
     </remarks>
     <description>
      <p>
       Retrieves the FIRST row in the record set as defined by the current
       query. Before retrieving records, a query must be performed using
       <ref target="wxdbtablequery">wxDbTable::Query</ref>
       ,
       <ref target="wxdbtablequeryonkeyfields">wxDbTable::QueryOnKeyFields</ref>
       ,
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       or
       <ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetFromClause">
    <function type="const wxString &amp;" name="GetFromClause">
     <parameters></parameters>
     <seealso>
      <ref target="wxdbtablefrom">wxDbTable::From</ref>
     </seealso>
     <description>
      <p>
       Accessor function that returns the current FROM setting assigned with the
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetLast">
    <function type="bool" name="GetLast">
     <seealso>
      <ref target="wxdbisfwdonlycursors">wxDb::IsFwdOnlyCursors</ref>
     </seealso>
     <remarks>
      <p>
       This function can only be used if the datasource connection used by the
       wxDbTable instance was created with FwdOnlyCursors set to false. If the
       connection does not allow backward scrolling cursors, this function will
       return false, and the data contained in the bound columns will be
       undefined.
      </p>
     </remarks>
     <description>
      <p>
       Retrieves the LAST row in the record set as defined by the current query.
       Before retrieving records, a query must be performed using
       <ref target="wxdbtablequery">wxDbTable::Query</ref>
       ,
       <ref target="wxdbtablequeryonkeyfields">wxDbTable::QueryOnKeyFields</ref>
       ,
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       or
       <ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetNewCursor">
    <function type="HSTMT &#42;" name="GetNewCursor">
     <parameters>
      <parameter type="bool " name="setCursor" value="false">
       <i> OPTIONAL</i>
       . Should this new cursor be set to be the current cursor after
       successfully creating the new cursor. Default is false.
      </parameter>
      <parameter type="bool " name="bindColumns" value="true">
       <i> OPTIONAL</i>
       . Should this new cursor be bound to all the memory variables that the
       default cursor is bound to. Default is true.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This new cursor must be closed using
       <ref target="wxdbtabledeletecursor">wxDbTable::DeleteCursor</ref>
       by the calling program before the wxDbTable instance is deleted, or both
       memory and resource leaks will occur.
      </p>
     </remarks>
     <description>
      <p>
       This function will create a new cursor that can be used to access the
       table being referenced by this wxDbTable instance, or to execute direct
       SQL commands on without affecting the cursors that are already defined
       and possibly positioned.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetNext">
    <function type="bool" name="GetNext">
     <seealso>
      <ref target="wxdbtableplusplus">wxDbTable::++</ref>
     </seealso>
     <remarks>
      <p>
       This function works with both forward and backward scrolling cursors.
      </p>
     </remarks>
     <returnvalue>
      This function returns false when the current cursor has reached the end of
      the result set. When false is returned, data in the bound columns is
      undefined.
     </returnvalue>
     <description>
      <p>
       Retrieves the NEXT row in the record set after the current cursor
       position as defined by the current query. Before retrieving records, a
       query must be performed using
       <ref target="wxdbtablequery">wxDbTable::Query</ref>
       ,
       <ref target="wxdbtablequeryonkeyfields">wxDbTable::QueryOnKeyFields</ref>
       ,
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       or
       <ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetNumberOfColumns">
    <function type="UWORD " name="GetNumberOfColumns">
     <parameters></parameters>
     <description>
      <p>
       Accessor function that returns the number of columns that are statically
       bound for access by the wxDbTable instance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetOrderByClause">
    <function type="const wxString &amp;" name="GetOrderByClause">
     <parameters></parameters>
     <seealso>
      <ref target="wxdbtableorderby">wxDbTable::OrderBy</ref>
     </seealso>
     <description>
      <p>
       Accessor function that returns the current ORDER BY setting assigned with
       the
       <ref target="wxdbtablesetorderbyclause">wxDbTable::SetOrderByClause</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetPrev">
    <function type="bool" name="GetPrev">
     <seealso>
      <ref target="wxdbisfwdonlycursors">wxDb::IsFwdOnlyCursors</ref>
      ,
      <ref target="wxdbtableminusminus">wxDbTable::--</ref>
     </seealso>
     <remarks>
      <p>
       This function can only be used if the datasource connection used by the
       wxDbTable instance was created with FwdOnlyCursors set to false. If the
       connection does not allow backward scrolling cursors, this function will
       return false, and the data contained in the bound columns will be
       undefined.
      </p>
     </remarks>
     <returnvalue>
      This function returns false when the current cursor has reached the
      beginning of the result set and there are now other rows prior to the
      cursors current position. When false is returned, data in the bound
      columns is undefined.
     </returnvalue>
     <description>
      <p>
       Retrieves the PREVIOUS row in the record set before the current cursor
       position as defined by the current query. Before retrieving records, a
       query must be performed using
       <ref target="wxdbtablequery">wxDbTable::Query</ref>
       ,
       <ref target="wxdbtablequeryonkeyfields">wxDbTable::QueryOnKeyFields</ref>
       ,
       <ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
       or
       <ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetQueryTableName">
    <function type="const wxString &amp;" name="GetQueryTableName">
     <parameters></parameters>
     <seealso>
      <ref target="wxdbtableconstr">wxDbTable constructor</ref>
     </seealso>
     <description>
      <p>
       Accessor function that returns the name of the table/view that was
       indicated as being the table/view to query against when this wxDbTable
       instance was created.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetRowNum">
    <function type="UWORD" name="GetRowNum">
     <remarks>
      <p>
       This function is not being used within the ODBC class library and may be
       a candidate for removal if no use is found for it.
      </p>
      <p>
       Row number with some datasources/ODBC drivers is the position in the
       result set, while in others it may be a physical position in the
       database. Check your database documentation to find out which behavior is
       supported.
      </p>
     </remarks>
     <description>
      <p>
       Returns the ODBC row number for performing positioned updates and
       deletes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetTableName">
    <function type="const wxString &amp;" name="GetTableName">
     <parameters></parameters>
     <description>
      <p>
       Accessor function that returns the name of the table that was indicated
       as being the table that this wxDbTable instance was associated with.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetTablePath">
    <function type="const wxString &amp;" name="GetTablePath">
     <parameters></parameters>
     <remarks>
      <p>
       Currently only applicable to dBase and MS-Access datasources.
      </p>
     </remarks>
     <description>
      <p>
       Accessor function that returns the path to the data table that was
       indicated during creation of this wxDbTable instance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="GetWhereClause">
    <function type="const wxString &amp;" name="GetWhereClause">
     <parameters></parameters>
     <seealso>
      <ref target="wxdbtablewhere">wxDbTable::Where</ref>
     </seealso>
     <description>
      <p>
       Accessor function that returns the current WHERE setting assigned with
       the
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Insert">
    <function type="int " name="Insert">
     <example>
      <pre>
    // Incomplete code snippet
    wxStrcpy(parts-&gt;PartName, &quot;10&quot;);
    wxStrcpy(parts-&gt;PartDesc, &quot;Part #10&quot;);
    parts-&gt;Qty = 1000;
    RETCODE retcode = parts-&gt;Insert();
    switch(retcode)
    \{
        case DB\_SUCCESS:
            parts-&gt;GetDb()-&gt;CommitTrans();
            return(true);
        case DB\_ERR\_INTEGRITY\_CONSTRAINT\_VIOL:
            // Current data would result in a duplicate key
            // on one or more indexes that do not allow duplicates
            parts-&gt;GetDb()-&gt;RollbackTrans();
            return(false);
        default:
            // Insert failed for some unexpected reason
            parts-&gt;GetDb()-&gt;RollbackTrans();
            return(false);
    \}
</pre>
     </example>
     <remarks>
      <p>
       A
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       must be called after use of this function to commit or rollback the
       insertion.
      </p>
     </remarks>
     <returnvalue>
      <pre>
    DB\_SUCCESS              Record inserted successfully (value = 1)

    DB\_FAILURE              Insert failed (value = 0)

    DB\_ERR\_INTEGRITY\_CONSTRAINT\_VIOL
                            The insert failed due to an integrity
                            constraint violation (duplicate non-unique
                            index entry) is attempted.
</pre>
     </returnvalue>
     <description>
      <p>
       Inserts a new record into the table being referenced by this wxDbTable
       instance. The values in the member variables of the wxDbTable instance
       are inserted into the columns of the new row in the database.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="IsColNull">
    <function type="bool " name="IsColNull">
     <parameters>
      <parameter type="UWORD " name="colNumber">
       The column number of the bound column as defined by the
       <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
       calls which defined the columns accessible to this wxDbTable instance.
      </parameter>
     </parameters>
     <remarks>
      <p>
       NULL column support is currently not fully implemented as of wxWidgets
       2.4.
      </p>
     </remarks>
     <description>
      <p>
       const
      </p>
      <p>
       Used primarily in the ODBC class library to determine if a column value
       is set to &quot;NULL&quot;. Works for all data types supported by the
       ODBC class library.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="IsCursorClosedOnCommit">
    <function type="bool " name="IsCursorClosedOnCommit">
     <remarks>
      <p>
       If more than one wxDbTable instance used the same database connection,
       all cursors which use the database connection are closed on the commit if
       this function indicates true.
      </p>
     </remarks>
     <returnvalue>
      Returns true if the cursor associated with this wxDbTable object is closed
      after a commit or rollback operation. Returns false otherwise.
     </returnvalue>
     <description>
      <p>
       Accessor function to return information collected during the opening of
       the datasource connection that is used by this wxDbTable instance. The
       result returned by this function indicates whether an implicit closing of
       the cursor is done after a commit on the database connection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="IsQueryOnly">
    <function type="bool " name="IsQueryOnly">
     <parameters></parameters>
     <description>
      <p>
       Accessor function that returns a value indicating if this wxDbTable
       instance was created to allow only queries to be performed on the bound
       columns. If this function returns true, then no actions may be performed
       using this wxDbTable instance that would modify (insert/delete/update)
       the table's data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Open">
    <function type="bool " name="Open">
     <parameters>
      <parameter type="bool " name="checkPrivileges" value="false">
       Indicates whether the Open() function should check whether the current
       connected user has at least SELECT privileges to access the table to
       which they are trying to open. Default is false.
      </parameter>
      <parameter type="bool " name="checkTableExists" value="true">
       Indicates whether the Open() function should check whether the table
       exists in the database or not before opening it. Default is true.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdbtableexists">wxDb::TableExists</ref>
      ,
      <ref target="wxdbtableprivileges">wxDb::TablePrivileges</ref>
      <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
     </seealso>
     <remarks>
      <p>
       If the function returns a false value due to the table not existing, a
       log entry is recorded for the datasource connection indicating the
       problem that was detected when checking for table existence. Note that it
       is usually best for the calling routine to check for the existence of the
       table and for sufficient user privileges to access the table in the mode
       (wxDB\_QUERY\_ONLY or !wxDB\_QUERY\_ONLY) before trying to open the table for
       the best possible explanation as to why a table cannot be opened.
      </p>
      <p>
       Checking the user's privileges on a table can be quite time consuming
       during the open phase. With most applications, the programmer already
       knows that the user has sufficient privileges to access the table, so
       this check is normally not required.
      </p>
      <p>
       For best performance, open the table, and then use the
       <ref target="wxdbtableprivileges">wxDb::TablePrivileges</ref>
       function to check the users privileges. Passing a schema to the
       TablePrivileges() function can significantly speed up the privileges
       checks.
      </p>
     </remarks>
     <description>
      <p>
       Every wxDbTable instance must be opened before it can be used. This
       function checks for the existence of the requested table, binds columns,
       creates required cursors, (insert/select and update if connection is not
       wxDB\_QUERY\_ONLY) and constructs the insert statement that is to be used
       for inserting data as a new row in the datasource.
      </p>
      <p>
       NOTE: To retrieve data into an opened table, the of the table must be
       bound to the variables in the program via call(s) to
       <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
       before calling Open().
      </p>
      <p>
       See the
       <ref target="odbcoverview">database classes overview</ref>
       for an introduction to using the ODBC classes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="OrderBy">
    <function type="const wxString &amp;" name="OrderBy">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="void" name="OrderBy">
     <parameters>
      <parameter type="const wxString &amp;" name="OrderBy">
       A comma separated list of column names that indicate the
       alphabetized/numeric sorting sequence that the result set is to be
       returned in. If a FROM clause has also been specified, each column name
       specified in the ORDER BY clause should be prefaced with the table name
       to which the column belongs using DOT notation (TABLE\_NAME.COLUMN\_NAME).
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdbtablegetorderbyclause">wxDbTable::GetOrderByClause</ref>
      ,
      <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
     </seealso>
     <returnvalue>
      The first form of this function returns the current value of the wxDbTable
      member variable ::orderBy. The second form of the function has no return
      value.
     </returnvalue>
     <description>
      <p>
       Accessor function for the private class member wxDbTable::orderBy. Can be
       used as a synonym for
       <ref target="wxdbtablegetorderbyclause">wxDbTable::GetOrderByClause</ref>
       (the first form of this function) or
       <ref target="wxdbtablesetorderbyclause">wxDbTable::SetOrderByClause</ref>
       (the second form of this function).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Query">
    <function type="virtual bool " name="Query">
     <parameters>
      <parameter type="bool " name="forUpdate" value="false">
       <i> OPTIONAL</i>
       . Gives you the option of locking records as they are retrieved. If the
       RDBMS is not capable of the FOR UPDATE clause, this argument is ignored.
       See
       <ref target="wxdbtablecanselectforupdate">wxDbTable::CanSelectForUpdate</ref>
       for additional information regarding this argument. Default is false.
      </parameter>
      <parameter type="bool " name="distinct" value="false">
       <i> OPTIONAL</i>
       . Allows selection of only distinct values from the query (SELECT
       DISTINCT ... FROM ...). The notion of DISTINCT applies to all columns
       returned in the result set, not individual columns. Default is false.
      </parameter>
     </parameters>
     <example>
      <pre>
    // Incomplete code sample
    parts-&gt;SetWhereClause(&quot;DESCRIPTION = 'FOOD'&quot;);
    parts-&gt;SetOrderByClause(&quot;EXPIRATION\_DATE&quot;);
    parts-&gt;SetFromClause(&quot;&quot;);
    // Query the records based on the where, orderBy and from clauses
    // specified above
    parts-&gt;Query();
    // Display all records queried
    while(parts-&gt;GetNext())
        dispPart(parts);  // user defined function
</pre>
     </example>
     <remarks>
      <p>
       This function queries records from the datasource based on the three
       wxDbTable members: &quot;where&quot;, &quot;orderBy&quot;, and
       &quot;from&quot;. Use
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       to filter on records to be retrieved (e.g. All users with a first name of
       &quot;JOHN&quot;). Use
       <ref target="wxdbtablesetorderbyclause">wxDbTable::SetOrderByClause</ref>
       to change the sequence in which records are returned in the result set
       from the datasource (e.g. Ordered by LAST\_NAME). Use
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       to allow outer joining of the base table (the one being associated with
       this instance of wxDbTable) with other tables which share a related
       field.
      </p>
      <p>
       After each of these clauses are set/cleared, call wxDbTable::Query() to
       fetch the result set from the datasource.
      </p>
      <p>
       This scheme has an advantage if you have to requery your record set
       frequently in that you only have to set your WHERE, ORDER BY, and FROM
       clauses once. Then to refresh the record set, simply call
       wxDbTable::Query() as frequently as needed.
      </p>
      <p>
       Note that repeated calls to wxDbTable::Query() may tax the database
       server and make your application sluggish if done too frequently or
       unnecessarily.
      </p>
      <p>
       The base table name is automatically prepended to the base column names
       in the event that the FROM clause has been set (is non-null) using
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       .
      </p>
      <p>
       The cursor for the result set is positioned
       <i> before</i>
       the first record in the result set after the query. To retrieve the first
       record, call either
       <ref target="wxdbtablegetfirst">wxDbTable::GetFirst</ref>
       (only if backward scrolling cursors are available) or
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       . Typically, no data from the result set is returned to the client driver
       until a request such as
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       is performed, so network traffic and database load are not overwhelmed
       transmitting data until the data is actually requested by the client.
       This behavior is solely dependent on the ODBC driver though, so refer to
       the ODBC driver's reference material for information on its behaviors.
      </p>
      <p>
       Values in the bound columns' memory variables are undefined after
       executing a call to this function and remain that way until a row in the
       result set is requested to be returned.
      </p>
      <p>
       The wxDbTable::Query() function is defined as &quot;virtual&quot; so that
       it may be overridden for application specific purposes.
      </p>
      <p>
       Be sure to set the wxDbTable's &quot;where&quot;, &quot;orderBy&quot;,
       and &quot;from&quot; member variables to &quot;&quot; if they are not to
       be used in the query. Otherwise, the results returned may have unexpected
       results (or no results) due to improper or incorrect query parameters
       constructed from the uninitialized clauses.
      </p>
     </remarks>
     <description></description>
    </function>
   </member>
   <member class="wxDbTable" name="QueryBySqlStmt">
    <function type="bool" name="QueryBySqlStmt">
     <parameters>
      <parameter type="const wxString &amp;" name="pSqlStmt">
       Pointer to the SQL SELECT statement to be executed.
      </parameter>
     </parameters>
     <example>
      <pre>
    // Incomplete code samples
	 wxString sqlStmt;
    sqlStmt = &quot;SELECT &#42; FROM PARTS WHERE STORAGE\_DEVICE = 'SD98' \\
               AND CONTAINER = 12&quot;;
    // Query the records using the SQL SELECT statement above
    parts-&gt;QueryBySqlStmt(sqlStmt);
    // Display all records queried
    while(parts-&gt;GetNext())
        dispPart(&amp;parts);

    Example SQL statements
    ----------------------

    // Table Join returning 3 columns
    SELECT PART\_NUM, part\_desc, sd\_name
        from parts, storage\_devices
        where parts.storage\_device\_id =
              storage\_devices.storage\_device\_id

    // Aggregate function returning total number of
    // parts in container 99
    SELECT count(&#42;) from PARTS where container = 99

    // Order by clause; ROWID, scalar function
    SELECT PART\_NUM, substring(part\_desc, 1, 10), qty\_on\_hand + 1, ROWID
        from parts
        where warehouse = 10
        order by PART\_NUM desc           // descending order

    // Subquery
    SELECT &#42; from parts
        where container in (select container
        from storage\_devices
            where device\_id = 12)
</pre>
     </example>
     <remarks>
      <p>
       This is the most powerful form of the query functions available. This
       member function allows a programmer to write their own custom SQL SELECT
       statement for requesting data from the datasource. This gives the
       programmer access to the full power of SQL for performing operations such
       as scalar functions, aggregate functions, table joins, and sub-queries,
       as well as datasource specific function calls.
      </p>
      <p>
       The requirements of the SELECT statement are the following:
      </p>
      <p>
       <ol>
        <li>Must return the correct number of columns. In the derived wxDbTable constructor,
         it is specified how many columns are in the wxDbTable object. The
         SELECT statement must return exactly that many columns.</li>
        <li>The columns must be returned in the same sequence as specified when defining the
         bounds columns
         <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
         , and the columns returned must be of the proper data type. For
         example, if column 3 is defined in the wxDbTable bound column
         definitions to be a float, the SELECT statement must return a float for
         column 3 (e.g. PRICE &#42; 1.10 to increase the price by 10</li>
        <li>The ROWID can be included in your SELECT statement as the
         <b> last</b>
         column selected, if the datasource supports it. Use
         wxDbTable::CanUpdateByROWID() to determine if the ROWID can be selected
         from the datasource. If it can, much better performance can be achieved
         on updates and deletes by including the ROWID in the SELECT statement.</li>
       </ol>
      </p>
      <p>
       Even though data can be selected from multiple tables (joins) in your
       select statement, only the base table associated with this wxDbTable
       object is automatically updated through the ODBC class library. Data from
       multiple tables can be selected for display purposes however. Include
       columns in the wxDbTable object and mark them as non-updateable (See
       <ref target="wxdbcoldef">wxDbColDef</ref>
       for details). This way columns can be selected and displayed from other
       tables, but only the base table will be updated automatically when
       performed through the
       <ref target="wxdbtableupdate">wxDbTable::Update</ref>
       function after using this type of query. To update tables other than the
       base table, use the
       <ref target="wxdbtableupdate">wxDbTable::Update</ref>
       function passing a SQL statement.
      </p>
      <p>
       After this function has been called, the cursor is positioned before the
       first record in the record set. To retrieve the first record, call either
       <ref target="wxdbtablegetfirst">wxDbTable::GetFirst</ref>
       or
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       .
      </p>
     </remarks>
     <description>
      <p>
       Performs a query against the datasource by accepting and passing verbatim
       the SQL SELECT statement passed to the function.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="QueryMatching">
    <function type="virtual bool " name="QueryMatching">
     <parameters>
      <parameter type="bool " name="forUpdate" value="false">
       <i> OPTIONAL</i>
       . Gives you the option of locking records as they are queried (SELECT ...
       FOR UPDATE). If the RDBMS is not capable of the FOR UPDATE clause, this
       argument is ignored. See
       <ref target="wxdbtablecanselectforupdate">wxDbTable::CanSelectForUpdate</ref>
       for additional information regarding this argument. Default is false.
      </parameter>
      <parameter type="bool " name="distinct" value="false">
       <i> OPTIONAL</i>
       . Allows selection of only distinct values from the query (SELECT
       DISTINCT ... FROM ...). The notion of DISTINCT applies to all columns
       returned in the result set, not individual columns. Default is false.
      </parameter>
     </parameters>
     <example>
      <pre>
    // Incomplete code sample
    parts-&gt;ClearMemberVars();           // Set all columns to zero
    wxStrcpy(parts-&gt;PartNumber,&quot;32&quot;);   // Set columns to query on
    parts-&gt;OnHold = true;
    parts-&gt;QueryMatching();             // Query
    // Display all records queried
    while(parts-&gt;GetNext())
        dispPart(parts);  // Some application defined function
</pre>
     </example>
     <remarks>
      <p>
       The SQL WHERE clause is built by the ODBC class library based on all
       non-zero/non-NULL columns in your wxDbTable object. Matches can be on
       one, many or all of the wxDbTable's columns. The base table name is
       prepended to the column names in the event that the wxDbTable's FROM
       clause is non-null.
      </p>
      <p>
       This function cannot be used to perform queries which will check for
       columns that are 0 or NULL, as the automatically constructed WHERE clause
       only will contain comparisons on column member variables that are
       non-zero/non-NULL.
      </p>
      <p>
       The primary difference between this function and
       <ref target="wxdbtablequeryonkeyfields">wxDbTable::QueryOnKeyFields</ref>
       is that this function can query on any column(s) in the wxDbTable object.
       Note however that this may not always be very efficient. Searching on
       non-indexed columns will always require a full table scan.
      </p>
      <p>
       The cursor is positioned before the first record in the record set after
       the query is performed. To retrieve the first record, the program must
       call either
       <ref target="wxdbtablegetfirst">wxDbTable::GetFirst</ref>
       or
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       .
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       are ignored by this function.
      </p>
     </remarks>
     <description>
      <p>
       QueryMatching allows querying of records from the table associated with
       the wxDbTable object by matching &quot;columns&quot; to values.
      </p>
      <p>
       For example: To query the datasource for the row with a PART\_NUMBER
       column value of &quot;32&quot;, clear all column variables of the
       wxDbTable object, set the PartNumber variable that is bound to the
       PART\_NUMBER column in the wxDbTable object to &quot;32&quot;, and then
       call wxDbTable::QueryMatching().
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="QueryOnKeyFields">
    <function type="bool " name="QueryOnKeyFields">
     <parameters>
      <parameter type="bool " name="forUpdate" value="false">
       <i> OPTIONAL</i>
       . Gives you the option of locking records as they are queried (SELECT ...
       FOR UPDATE). If the RDBMS is not capable of the FOR UPDATE clause, this
       argument is ignored. See
       <ref target="wxdbtablecanselectforupdate">wxDbTable::CanSelectForUpdate</ref>
       for additional information regarding this argument. Default is false.
      </parameter>
      <parameter type="bool " name="distinct" value="false">
       <i> OPTIONAL</i>
       . Allows selection of only distinct values from the query (SELECT
       DISTINCT ... FROM ...). The notion of DISTINCT applies to all columns
       returned in the result set, not individual columns. Default is false.
      </parameter>
     </parameters>
     <example>
      <pre>
    // Incomplete code sample
    wxStrcpy(parts-&gt;PartNumber, &quot;32&quot;);
    parts-&gt;QueryOnKeyFields();
    // Display all records queried
    while(parts-&gt;GetNext())
        dispPart(parts);  // Some application defined function
</pre>
     </example>
     <remarks>
      <p>
       The cursor is positioned before the first record in the record set after
       the query is performed. To retrieve the first record, the program must
       call either
       <ref target="wxdbtablegetfirst">wxDbTable::GetFirst</ref>
       or
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
       .
      </p>
      <p>
       WHERE and FROM clauses specified using
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       and
       <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
       are ignored by this function.
      </p>
     </remarks>
     <description>
      <p>
       QueryOnKeyFields provides an easy mechanism to query records in the table
       associated with the wxDbTable object by the primary index column(s).
       Simply assign the primary index column(s) values and then call this
       member function to retrieve the record.
      </p>
      <p>
       Note that since primary indexes are always unique, this function
       implicitly always returns a single record from the database. The base
       table name is prepended to the column names in the event that the
       wxDbTable's FROM clause is non-null.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Refresh">
    <function type="bool" name="Refresh">
     <remarks>
      <p>
       This routine is only guaranteed to work if the table has a unique primary
       index defined for it. Otherwise, more than one record may be fetched and
       there is no guarantee that the correct record will be refreshed. The
       table's columns are refreshed to reflect the current data in the
       database.
      </p>
     </remarks>
     <description>
      <p>
       This function re-reads the bound columns into the memory variables,
       setting them to the current values stored on the disk.
      </p>
      <p>
       The cursor position and result set are unaffected by calls to this
       function. (The one exception is in the case where the record to be
       refreshed has been deleted by some other user or transaction since it was
       originally retrieved as part of the result set. For most datasources, the
       default behavior in this situation is to return the value that was
       originally queried for the result set, even though it has been deleted
       from the database. But this is datasource dependent, and should be tested
       before relying on this behavior.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="SetColDefs">
    <function type="bool" name="SetColDefs">
     <parameters>
      <parameter type="UWORD " name="index">
       Column number (0 to n-1, where n is the number of columns specified as
       being defined for this wxDbTable instance when the wxDbTable constructor
       was called.
      </parameter>
      <parameter type="const wxString &amp;" name="fieldName">
       Column name from the associated data table.
      </parameter>
      <parameter type="int " name="dataType">
       Logical data type. Valid logical types include:
      </parameter>
      <parameter type="void &#42;" name="pData">
       Pointer to the data object that will hold the column's value when a row
       of data is returned from the datasource.
      </parameter>
      <parameter type="SWORD " name="cType">
       SQL C Type. This defines the data type that the SQL representation of the
       data is converted to to be stored in
       <i> pData</i>
       . Other valid types are available also, but these are the most common
       ones:
      </parameter>
      <parameter type="int " name="size">
       Maximum size in bytes of the
       <i> pData</i>
       object.
      </parameter>
      <parameter type="bool " name="keyField" value="false">
       <i> OPTIONAL</i>
       . Indicates if this column is part of the primary index. Default is
       false.
      </parameter>
      <parameter type="bool " name="updateable" value="true">
       <i> OPTIONAL</i>
       . Are updates allowed on this column? Default is true.
      </parameter>
      <parameter type="bool " name="insertAllowed" value="true">
       <i> OPTIONAL</i>
       . Inserts allowed on this column? Default is true.
      </parameter>
      <parameter type="bool " name="derivedColumn" value="false">
       <i> OPTIONAL</i>
       . Is this a derived column (non-base table column for query only)?
       Default is false.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxDbColDataPtr &#42;" name="SetColDefs">
     <parameters>
      <parameter type="wxDbColInf &#42;" name="colInfs">
       Pointer to an array of wxDbColInf instances which contains all the
       information necessary to create
       <i> numCols</i>
       column definitions.
      </parameter>
      <parameter type="UWORD " name="numCols">
       Number of elements of wxDbColInf type that are pointed to by
       <i> colInfs</i>
       , which are to have column definitions created from them.
      </parameter>
     </parameters>
     <example>
      <pre>
    // Long way not using this function
    wxStrcpy(colDefs[0].ColName, &quot;PART\_NUM&quot;);
    colDefs[0].DbDataType   = DB\_DATA\_TYPE\_VARCHAR;
    colDefs[0].PtrDataObj   = PartNumber;
    colDefs[0].SqlCtype     = SQL\_C\_WXCHAR;
    colDefs[0].SzDataObj    = PART\_NUMBER\_LEN;
    colDefs[0].KeyField     = true;
    colDefs[0].Updateable   = false;
    colDefs[0].InsertAllowed= true;
    colDefs[0].DerivedCol   = false;

    // Shortcut using this function
    SetColDefs(0, &quot;PART\_NUM&quot;, DB\_DATA\_TYPE\_VARCHAR, PartNumber,
               SQL\_C\_WXCHAR, PART\_NUMBER\_LEN, true, false, true, false);
</pre>
     </example>
     <remarks>
      <p>
       If
       <i> pData</i>
       is to hold a string of characters, be sure to include enough space for
       the NULL terminator in pData and in the byte count of
       <i> size</i>
       .
      </p>
      <p>
       Using the first form of this function, if the column definition is not
       able to be created, a value of false is returned. If the specified index
       of the column exceeds the number of columns defined in the wxDbTable
       instance, an assert is thrown and logged (in debug builds) and a false is
       returned.
      </p>
      <p>
       A failure to create the column definition in the second form results in a
       value of NULL being returned.
      </p>
      <p>
       Both forms of this function provide a shortcut for defining the columns
       in your wxDbTable object. Use this function in any derived wxDbTable
       constructor when describing the column/columns in the wxDbTable object.
      </p>
      <p>
       The second form of this function is primarily used when the
       <ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
       function was used to query the datasource for the column definitions, so
       that the column definitions are already stored in wxDbColInf form. One
       example use of using
       <ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
       then using this function is if a data table existed in one datasource,
       and the table's column definitions were to be copied over to another
       datasource or table.
      </p>
     </remarks>
     <description>
      <pre>
    DB\_DATA\_TYPE\_VARCHAR        : strings
    DB\_DATA\_TYPE\_INTEGER        : non-floating point numbers
    DB\_DATA\_TYPE\_FLOAT          : floating point numbers
    DB\_DATA\_TYPE\_DATE           : dates
</pre>
      <pre>
    SQL\_C\_CHAR      // string - deprecated: use SQL\_C\_WXCHAR
    SQL\_C\_WXCHAR    // string - Used transparently in unicode or non-unicode builds
    SQL\_C\_LONG
    SQL\_C\_ULONG
    SQL\_C\_SHORT
    SQL\_C\_USHORT
    SQL\_C\_FLOAT
    SQL\_C\_DOUBLE
    SQL\_C\_NUMERIC
    SQL\_C\_TIMESTAMP

    SQL\_C\_BOOLEAN   // defined in db.h
    SQL\_C\_ENUM      // defined in db.h
</pre>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="SetCursor">
    <function type="void" name="SetCursor">
     <parameters>
      <parameter type="HSTMT &#42;" name="hstmtActivate" value="(void">
       <i> OPTIONAL</i>
       . Pointer to the cursor that is to become the current cursor. Passing no
       cursor handle will reset the cursor back to the wxDbTable's default
       (original) cursor that was created when the wxDbTable instance was first
       created. Default is wxDB\_DEFAULT\_CURSOR.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdbtablegetnewcursor">wxDbTable::GetNewCursor</ref>
      ,
      <ref target="wxdbtablegetcursor">wxDbTable::GetCursor</ref>
      ,
      <ref target="wxdbtablesetcursor">wxDbTable::SetCursor</ref>
     </seealso>
     <remarks>
      <p>
       When swapping between cursors, the member variables of the wxDbTable
       object are automatically refreshed with the column values of the row that
       the current cursor is positioned at (if any). If the cursor is not
       positioned, then the data in member variables is undefined.
      </p>
      <p>
       The only way to return back to the cursor that was in use before this
       function was called is to programmatically determine the current cursor's
       HSTMT
       <b> BEFORE</b>
       calling this function using
       <ref target="wxdbtablegetcursor">wxDbTable::GetCursor</ref>
       and saving a pointer to that cursor.
      </p>
     </remarks>
     <description></description>
    </function>
   </member>
   <member class="wxDbTable" name="SetFromClause">
    <function type="void" name="SetFromClause">
     <parameters>
      <parameter type="const wxString &amp;" name="From">
       A comma separated list of table names that are to be outer joined with
       the base table's columns so that the joined table's columns may be
       returned in the result set or used as a portion of a comparison with the
       base table's columns. NOTE that the base tables name must NOT be included
       in the FROM clause, as it is automatically included by the wxDbTable
       class in constructing query statements.
      </parameter>
     </parameters>
     <example>
      <pre>
    ...
    // Base table is the &quot;LOCATION&quot; table, and it is being
    // outer joined to the &quot;PART&quot; table via the field &quot;PART\_NUMBER&quot;
    // that can be related between the two tables.
    location-&gt;SetWhereClause(&quot;LOCATION.PART\_NUMBER = PART.PART\_NUMBER&quot;)
    location-&gt;SetFromClause(&quot;PART&quot;);
    ...
</pre>
      <p>
       \\wxheading\{See also\}
      </p>
      <p>
       <ref target="wxdbtablefrom">wxDbTable::From</ref>
       ,
       <ref target="wxdbtablegetfromclause">wxDbTable::GetFromClause</ref>
      </p>
     </example>
     <remarks>
      <p>
       Used by the
       <ref target="wxdbtablequery">wxDbTable::Query</ref>
       and
       <ref target="wxdbtablecount">wxDbTable::Count</ref>
       member functions to allow outer joining of records from multiple tables.
      </p>
      <p>
       Do
       <b> not</b>
       include the keyword &quot;FROM&quot; when setting the FROM clause.
      </p>
      <p>
       If using the FROM clause when performing a query, be certain to include
       in the corresponding WHERE clause a comparison of a column from either
       the base table or one of the other joined tables to each other joined
       table to ensure the datasource knows on which column values the tables
       should be joined on.
      </p>
     </remarks>
     <description>
      <p>
       Accessor function for setting the private class member wxDbTable::from
       that indicates what other tables should be outer joined with the
       wxDbTable's base table for access to the columns in those other tables.
      </p>
      <p>
       Synonym to this function is one form of
       <ref target="wxdbtablefrom">wxDbTable::From</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="SetColNull">
    <function type="bool" name="SetColNull">
     <parameters>
      <parameter type="UWORD " name="colNumber">
       Index into the column definitions used when first defining this wxDbTable
       object.
      </parameter>
      <parameter type="bool " name="set" value="true">
       Whether the column is set to NULL or not. Passing true sets the column to
       NULL, passing false sets the column to be non-NULL. Default is true.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SetColNull">
     <parameters>
      <parameter type="const wxString &amp;" name="colName">
       Actual data table column name that is to be set to NULL.
      </parameter>
      <parameter type="bool " name="set" value="true">
       Whether the column is set to NULL or not. Passing true sets the column to
       NULL, passing false sets the column to be non-NULL. Default is true.
      </parameter>
     </parameters>
     <remarks>
      <p>
       No database updates are done by this function. It only operates on the
       member variables in memory. Use and insert or update function to store
       this value to disk.
      </p>
     </remarks>
     <description>
      <p>
       Both forms of this function allow a member variable representing a column
       in the table associated with this wxDbTable object to be set to NULL.
      </p>
      <p>
       The first form allows the column to be set by the index into the column
       definitions used to create the wxDbTable instance, while the second
       allows the actual column name to be specified.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="SetOrderByClause">
    <function type="void" name="SetOrderByClause">
     <parameters>
      <parameter type="const wxString &amp;" name="OrderBy">
       A comma separated list of column names that indicate the alphabetized
       sorting sequence that the result set is to be returned in. If a FROM
       clause has also been specified, each column name specified in the ORDER
       BY clause should be prefaced with the table name to which the column
       belongs using DOT notation (TABLE\_NAME.COLUMN\_NAME).
      </parameter>
     </parameters>
     <example>
      <pre>
    ...
    parts-&gt;SetOrderByClause(&quot;PART\_DESCRIP, QUANTITY&quot;);
    ...

    ...
    location-&gt;SetOrderByClause(&quot;LOCATION.POSITION, PART.PART\_NUMBER);
    ...
</pre>
      <p>
       \\wxheading\{See also\}
      </p>
      <p>
       <ref target="wxdbtableorderby">wxDbTable::OrderBy</ref>
       ,
       <ref target="wxdbtablegetorderbyclause">wxDbTable::GetOrderByClause</ref>
      </p>
     </example>
     <remarks>
      <p>
       Do
       <b> not</b>
       include the keywords &quot;ORDER BY&quot; when setting the ORDER BY
       clause.
      </p>
     </remarks>
     <description>
      <p>
       Accessor function for setting the private class member wxDbTable::orderBy
       which determines sequence/ordering of the rows returned in the result set
       of a query.
      </p>
      <p>
       A synonym to this function is one form of the function
       <ref target="wxdbtableorderby">wxDbTable::OrderBy</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="SetQueryTimeout">
    <function type="bool" name="SetQueryTimeout">
     <parameters>
      <parameter type="UDWORD " name="nSeconds">
       The number of seconds to wait for the query to complete before timing
       out.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Neither Oracle or Access support this function as of yet. Other databases
       should be evaluated for support before depending on this function working
       correctly.
      </p>
     </remarks>
     <description>
      <p>
       Allows a time period to be set as the timeout period for queries.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="SetWhereClause">
    <function type="void" name="SetWhereClause">
     <parameters>
      <parameter type="const wxString &amp;" name="Where">
       SQL &quot;where&quot; clause. This clause can contain any SQL language
       that is legal in standard where clauses. If a FROM clause has also been
       specified, each column name specified in the ORDER BY clause should be
       prefaced with the table name to which the column belongs using DOT
       notation (TABLE\_NAME.COLUMN\_NAME).
      </parameter>
     </parameters>
     <example>
      <pre>
    ...
    // Simple where clause
    parts-&gt;SetWhereClause(&quot;PART\_NUMBER = '32'&quot;);
    ...
    // Any comparison operators
    parts-&gt;SetWhereClause(&quot;PART\_DESCRIP LIKE 'HAMMER
    ...
    // Multiple comparisons, including a function call
    parts-&gt;Where(&quot;QTY &gt; 0 AND \{fn UCASE(PART\_DESCRIP)\} LIKE '
    ...
    // Using parameters and multiple logical combinations
    parts-&gt;Where(&quot;((QTY &gt; 10) OR (ON\_ORDER &gt; 0)) AND ON\_HOLD = 0&quot;);
    ...
    // This query uses an outer join (requiring a FROM clause also)
    // that joins the PART and LOCATION table on he common field
    // PART\_NUMBER.
    parts-&gt;Where(&quot;PART.ON\_HOLD = 0 AND \\
                  PART.PART\_NUMBER = LOCATION.PART\_NUMBER AND \\
                  LOCATION.PART\_NUMBER &gt; 0&quot;);
</pre>
      <p>
       \\wxheading\{See also\}
      </p>
      <p>
       <ref target="wxdbtablewhere">wxDbTable::Where</ref>
       ,
       <ref target="wxdbtablegetwhereclause">wxDbTable::GetWhereClause</ref>
      </p>
     </example>
     <remarks>
      <p>
       Do
       <b> not</b>
       include the keywords &quot;WHERE&quot; when setting the WHERE clause.
      </p>
     </remarks>
     <description>
      <p>
       Accessor function for setting the private class member wxDbTable::where
       that determines which rows are returned in the result set by the
       datasource.
      </p>
      <p>
       A synonym to this function is one form of the function
       <ref target="wxdbtablewhere">wxDbTable::Where</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Update">
    <function type="bool " name="Update">
     <description></description>
    </function>
    <function type="bool " name="Update">
     <parameters>
      <parameter type="const wxString &amp;" name="pSqlStmt">
       Pointer to SQL UPDATE statement to be executed.
      </parameter>
     </parameters>
     <example>
      <pre>
	 wxString sqlStmt;
    sqlStmt = &quot;update PART set QTY = 0 where PART\_NUMBER = '32'&quot;;
</pre>
     </example>
     <remarks>
      <p>
       A
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       must be called after use of this function to commit or rollback the
       update.
      </p>
     </remarks>
     <description>
      <p>
       The first form of this function will update the row that the current
       cursor is currently positioned at with the values in the memory variables
       that are bound to the columns. The actual SQL statement to perform the
       update is automatically created by the ODBC class, and then executed.
      </p>
      <p>
       The second form of the function allows full access through SQL statements
       for updating records in the database. Write any valid SQL UPDATE
       statement and submit it to this function for execution. Sophisticated
       updates can be performed using the full power of the SQL dialect. The
       full SQL statement must have the exact syntax required by the
       driver/datasource for performing the update. This usually is in the form
       of:
      </p>
      <pre>
    UPDATE tablename SET col1=X, col2=Y, ... where ...
</pre>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="UpdateWhere">
    <function type="bool" name="UpdateWhere">
     <parameters>
      <parameter type="const wxString &amp;" name="pWhereClause">
       Pointer to a valid SQL WHERE clause. Do not include the keyword 'WHERE'.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Care should be used when updating columns that are part of indexes with
       this function so as not to violate an unique key constraints.
      </p>
      <p>
       A
       <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
       or
       <ref target="wxdbrollbacktrans">wxDb::RollbackTrans</ref>
       must be called after use of this function to commit or rollback the
       update(s).
      </p>
     </remarks>
     <description>
      <p>
       Performs updates to the base table of the wxDbTable object, updating only
       the rows which match the criteria specified in the
       <i> pWhereClause</i>
       .
      </p>
      <p>
       All columns that are bound to member variables for this wxDbTable
       instance that were defined with the &quot;updateable&quot; parameter set
       to true will be updated with the information currently held in the memory
       variable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="Where">
    <function type="const wxString &amp;" name="Where">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="void" name="Where">
     <parameters>
      <parameter type="const wxString&amp; " name="Where">
       A valid SQL WHERE clause. Do not include the keyword 'WHERE'.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdbtablegetwhereclause">wxDbTable::GetWhereClause</ref>
      ,
      <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
     </seealso>
     <returnvalue>
      The first form of this function returns the current value of the wxDbTable
      member variable ::where. The second form of the function has no return
      value, as it will always set the where clause successfully.
     </returnvalue>
     <description>
      <p>
       Accessor function for the private class member wxDbTable::where. Can be
       used as a synonym for
       <ref target="wxdbtablegetwhereclause">wxDbTable::GetWhereClause</ref>
       (the first form of this function) to return the current where clause or
       <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
       (the second form of this function) to set the where clause for this table
       instance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="operator $++$">
    <function type="bool" name="operator $++$">
     <seealso>
      <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
     </seealso>
     <description>
      <p>
       Synonym for
       <ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDbTable" name="operator $--$">
    <function type="bool" name="operator $--$">
     <seealso>
      <ref target="wxdbtablegetprev">wxDbTable::GetPrev</ref>
     </seealso>
     <description>
      <p>
       Synonym for
       <ref target="wxdbtablegetprev">wxDbTable::GetPrev</ref>
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDbTableInf" needdefine="wxUSE\_ODBC">
  <description>
   <p class="classdesc">
    <pre>
    tableName[0]    = 0;
    tableType[0]    = 0;
    tableRemarks[0] = 0;
    numCols         = 0;
    pColInf         = NULL;
</pre>
   </p>
   <p class="classdesc">
    Currently only used by
    <ref target="wxdbgetcatalog">wxDb::GetCatalog</ref>
    internally and
    <ref target="wxdbinf">wxDbInf</ref>
    class, but may be used in future releases for user functions. Contains
    information describing the table (Name, type, etc). A pointer to a
    wxDbColInf array instance is included so a program can create a
    <ref target="wxdbcolinf">wxDbColInf</ref>
    array instance (using
    <ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
    ) to maintain all information about the columns of a table in one memory
    structure.
   </p>
   <p class="classdesc">
    Eventually, accessor functions will be added for this class
   </p>
   <p class="classdesc">
    See the
    <ref target="odbcoverview">database classes overview</ref>
    for an introduction to using the ODBC classes.
   </p>
  </description>
  <category>Database classes</category>
  <shortdesc></shortdesc>
  <includes>
   <header name="wx/db.h"/>
  </includes>
  <members>
   <member class="wxDbTableInf" name="Initialize"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDebugContext" needdefine="\_\_WXDEBUG\_\_">
  <description>
   <p class="classdesc">
    A class for performing various debugging and memory tracing operations. Full
    functionality (such as printing out objects currently allocated) is only
    present in a debugging build of wxWidgets, i.e. if the \_\_WXDEBUG\_\_ symbol is
    defined. wxDebugContext and related functions and macros can be compiled out
    by setting wxUSE\_DEBUG\_CONTEXT to 0 is setup.h
   </p>
  </description>
  <category>Debugging features</category>
  <shortdesc>Provides memory-checking facilities</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/memory.h"/>
  </includes>
  <seealso>
   <ref type="overview" target="wxdebugcontextoverview">Overview</ref>
  </seealso>
  <members>
   <member class="wxDebugContext" name="Check">
    <function type="int" name="Check">
     <returnvalue>
      Returns the number of errors, so a value of zero represents success.
      Returns -1 if an error was detected that prevents further checking.
     </returnvalue>
     <description>
      <p>
       Checks the memory blocks for errors, starting from the currently set
       checkpoint.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="Dump">
    <function type="bool" name="Dump">
     <returnvalue>
      true if the function succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Performs a memory dump from the currently set checkpoint, writing to the
       current debug stream. Calls the
       <b> Dump</b>
       member function for each wxObject derived instance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="GetCheckPrevious">
    <function type="bool" name="GetCheckPrevious">
     <seealso>
      <ref target="wxdebugcontextsetcheckprevious">wxDebugContext::SetCheckPrevious</ref>
     </seealso>
     <description>
      <p>
       Returns true if the memory allocator checks all previous memory blocks
       for errors. By default, this is false since it slows down execution
       considerably.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="GetDebugMode">
    <function type="bool" name="GetDebugMode">
     <seealso>
      <ref target="wxdebugcontextsetdebugmode">wxDebugContext::SetDebugMode</ref>
     </seealso>
     <description>
      <p>
       Returns true if debug mode is on. If debug mode is on, the wxObject new
       and delete operators store or use information about memory allocation.
       Otherwise, a straight malloc and free will be performed by these
       operators.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="GetLevel">
    <function type="int" name="GetLevel">
     <seealso>
      <ref target="wxdebugcontextsetlevel">wxDebugContext::SetLevel</ref>
     </seealso>
     <description>
      <p>
       Gets the debug level (default 1). The debug level is used by the
       wxTraceLevel function and the WXTRACELEVEL macro to specify how detailed
       the trace information is; setting a different level will only have an
       effect if trace statements in the application specify a value other than
       one.
      </p>
      <p>
       This is obsolete, replaced by
       <ref target="wxlog">wxLog</ref>
       functionality.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="GetStream">
    <function type="ostream&amp;" name="GetStream">
     <seealso>
      <ref target="wxdebugcontextsetstream">wxDebugContext::SetStream</ref>
     </seealso>
     <description>
      <p>
       Returns the output stream associated with the debug context.
      </p>
      <p>
       This is obsolete, replaced by
       <ref target="wxlog">wxLog</ref>
       functionality.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="GetStreamBuf">
    <function type="streambuf&#42;" name="GetStreamBuf">
     <description>
      <p>
       Returns a pointer to the output stream buffer associated with the debug
       context. There may not necessarily be a stream buffer if the stream has
       been set by the user.
      </p>
      <p>
       This is obsolete, replaced by
       <ref target="wxlog">wxLog</ref>
       functionality.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="HasStream">
    <function type="bool" name="HasStream">
     <seealso>
      <ref target="wxdebugcontextsetstream">wxDebugContext::SetStream</ref>
      <ref target="wxdebugcontextgetstream">wxDebugContext::GetStream</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDebugContext" name="PrintClasses">
    <function type="bool" name="PrintClasses">
     <seealso>
      <ref target="wxdebugcontextprintstatistics">wxDebugContext::PrintStatistics</ref>
     </seealso>
     <description>
      <p>
       Prints a list of the classes declared in this application, giving
       derivation and whether instances of this class can be dynamically
       created.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="PrintStatistics">
    <function type="bool" name="PrintStatistics">
     <parameters>
      <parameter type="bool " name="detailed" value="true">
       If true, the function will also print how many objects of each class have
       been allocated, and the space taken by these class instances.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdebugcontextprintstatistics">wxDebugContext::PrintStatistics</ref>
     </seealso>
     <description>
      <p>
       Performs a statistics analysis from the currently set checkpoint, writing
       to the current debug stream. The number of object and non-object
       allocations is printed, together with the total size.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetCheckpoint">
    <function type="void" name="SetCheckpoint">
     <parameters>
      <parameter type="bool " name="all" value="false">
       If true, the checkpoint is reset to include all memory allocations since
       the program started.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the current checkpoint: Dump and PrintStatistics operations will be
       performed from this point on. This allows you to ignore allocations that
       have been performed up to this point.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetCheckPrevious">
    <function type="void" name="SetCheckPrevious">
     <parameters>
      <parameter type="bool " name="check"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdebugcontextgetcheckprevious">wxDebugContext::GetCheckPrevious</ref>
     </seealso>
     <description>
      <p>
       Tells the memory allocator to check all previous memory blocks for
       errors. By default, this is false since it slows down execution
       considerably.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetDebugMode">
    <function type="void" name="SetDebugMode">
     <parameters>
      <parameter type="bool " name="debug"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdebugcontextgetdebugmode">wxDebugContext::GetDebugMode</ref>
     </seealso>
     <description>
      <p>
       Sets the debug mode on or off. If debug mode is on, the wxObject new and
       delete operators store or use information about memory allocation.
       Otherwise, a straight malloc and free will be performed by these
       operators.
      </p>
      <p>
       By default, debug mode is on if \_\_WXDEBUG\_\_ is defined. If the
       application uses this function, it should make sure that all object
       memory allocated is deallocated with the same value of debug mode.
       Otherwise, the delete operator might try to look for memory information
       that does not exist.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetFile">
    <function type="bool" name="SetFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current debug file and creates a stream. This will delete any
       existing stream and stream buffer. By default, the debug context stream
       outputs to the debugger (Windows) or standard error (other platforms).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetLevel">
    <function type="void" name="SetLevel">
     <parameters>
      <parameter type="int " name="level"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdebugcontextgetlevel">wxDebugContext::GetLevel</ref>
     </seealso>
     <description>
      <p>
       Sets the debug level (default 1). The debug level is used by the
       wxTraceLevel function and the WXTRACELEVEL macro to specify how detailed
       the trace information is; setting a different level will only have an
       effect if trace statements in the application specify a value other than
       one.
      </p>
      <p>
       This is obsolete, replaced by
       <ref target="wxlog">wxLog</ref>
       functionality.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetStandardError">
    <function type="bool" name="SetStandardError">
     <description>
      <p>
       Sets the debugging stream to be the debugger (Windows) or standard error
       (other platforms). This is the default setting. The existing stream will
       be flushed and deleted.
      </p>
      <p>
       This is obsolete, replaced by
       <ref target="wxlog">wxLog</ref>
       functionality.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugContext" name="SetStream">
    <function type="void" name="SetStream">
     <parameters>
      <parameter type="ostream&#42; " name="stream">
       Stream to associate with the debug context. Do not set this to NULL.
      </parameter>
      <parameter type="streambuf&#42; " name="streamBuf" value="NULL">
       Stream buffer to associate with the debug context.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdebugcontextgetstream">wxDebugContext::GetStream</ref>
      <ref target="wxdebugcontexthasstream">wxDebugContext::HasStream</ref>
     </seealso>
     <description></description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDebugReport">
  <description>
   <p class="classdesc">
    wxDebugReport is used to generate a debug report, containing information
    about the program current state. It is usually used from
    <ref target="wxapponfatalexception">wxApp::OnFatalException()</ref>
    as shown in the
    <ref target="sampledebugrpt">sample</ref>
    .
   </p>
   <p class="classdesc">
    A wxDebugReport object contains one or more files. A few of them can be
    created by the class itself but more can be created from the outside and
    then added to the report. Also note that several virtual functions may be
    overridden to further customize the class behaviour.
   </p>
   <p class="classdesc">
    Once a report is fully assembled, it can simply be left in the temporary
    directory so that the user can email it to the developers (in which case you
    should still use
    <ref target="wxdebugreportcompress">wxDebugReportCompress</ref>
    to compress it in a single file) or uploaded to a Web server using
    <ref target="wxdebugreportupload">wxDebugReportUpload</ref>
    (setting up the Web server to accept uploads is your responsibility, of
    course). Other handlers, for example for automatically emailing the report,
    can be defined as well but are not currently included in wxWidgets.
   </p>
  </description>
  <category>Debugging features</category>
  <shortdesc>Base class for creating debug reports in case of a program crash.</shortdesc>
  <example>
   <pre>
    wxDebugReport report;
    wxDebugReportPreviewStd preview;

    report.AddCurrentContext();  // could also use AddAll()
    report.AddCurrentDump();     // to do both at once

    if ( preview.Show(report) )
        report.Process();
</pre>
  </example>
  <parents></parents>
  <includes>
   <header name="wx/debugrpt.h"/>
  </includes>
  <structs>
   <p>
    This enum is used for functions that report either the current state or the
    state during the last (fatal) exception:
   </p>
   <pre>
enum wxDebugReport::Context
\{
    Context\_Current,
    Context\_Exception
\};
</pre>
  </structs>
  <members>
   <member class="wxDebugReport" name="wxDebugReport">
    <function type="" name="wxDebugReport">
     <description>
      <p>
       The constructor creates a temporary directory where the files that will
       be included in the report are created. Use
       <ref target="wxdebugreportisok">IsOk()</ref>
       to check for errors.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="~wxDebugReport">
    <function type="" name="~wxDebugReport">
     <description>
      <p>
       The destructor normally destroys the temporary directory created in the
       constructor with all the files it contains. Call
       <ref target="wxdebugreportreset">Reset()</ref>
       to prevent this from happening.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddAll">
    <function type="void" name="AddAll">
     <parameters>
      <parameter type="Context " name="context" value="Context\_Exception"></parameter>
     </parameters>
     <description>
      <p>
       Adds all available information to the report. Currently this includes a
       text (XML) file describing the process context and, under Win32, a
       minidump file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddContext">
    <function type="bool" name="AddContext">
     <parameters>
      <parameter type="Context " name="ctx"></parameter>
     </parameters>
     <description>
      <p>
       Add an XML file containing the current or exception context and the stack
       trace.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddCurrentContext">
    <function type="bool" name="AddCurrentContext">
     <description>
      <p>
       The same as
       <ref target="wxdebugreportaddcontext">AddContext(Context\_Current)</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddCurrentDump">
    <function type="bool" name="AddCurrentDump">
     <description>
      <p>
       The same as
       <ref target="wxdebugreportadddump">AddDump(Context\_Current)</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddDump">
    <function type="bool" name="AddDump">
     <parameters>
      <parameter type="Context " name="ctx"></parameter>
     </parameters>
     <description>
      <p>
       Adds the minidump file to the debug report.
      </p>
      <p>
       Minidumps are only available under recent Win32 versions (
       <tt>dbghlp32.dll</tt>
       can be installed under older systems to make minidumps available).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddExceptionContext">
    <function type="bool" name="AddExceptionContext">
     <description>
      <p>
       The same as
       <ref target="wxdebugreportaddcontext">AddContext(Context\_Exception)</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddExceptionDump">
    <function type="bool" name="AddExceptionDump">
     <description>
      <p>
       The same as
       <ref target="wxdebugreportadddump">AddDump(Context\_Exception)</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddFile">
    <function type="void" name="AddFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const wxString&amp; " name="description"></parameter>
     </parameters>
     <description>
      <p>
       Add another file to the report. If
       <i>filename</i>
       is an absolute path, it is copied to a file in the debug report directory
       with the same name. Otherwise the file should already exist in this
       directory
      </p>
      <p>
       <i>description</i>
       only exists to be displayed to the user in the report summary shown by
       <ref target="wxdebugreportpreview">wxDebugReportPreview</ref>
       .
      </p>
      <p>
       \\wxheading\{See also \}
      </p>
      <p>
       <ref target="wxdebugreportgetdirectory">GetDirectory()</ref>
       ,
       <br/>
       <ref target="wxdebugreportaddtext">AddText()</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="AddText">
    <function type="bool" name="AddText">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const wxString&amp; " name="text"></parameter>
      <parameter type="const wxString&amp; " name="description"></parameter>
     </parameters>
     <description>
      <p>
       This is a convenient wrapper around
       <ref target="wxdebugreportaddfile">AddFile</ref>
       . It creates the file with the given
       <i>name</i>
       and writes
       <i>text</i>
       to it, then adds the file to the report. The
       <i>filename</i>
       shouldn't contain the path.
      </p>
      <p>
       Returns true if file could be added successfully, false if an IO error
       occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="DoAddCustomContext">
    <function type="void" name="DoAddCustomContext">
     <parameters>
      <parameter type="wxXmlNode &#42; " name="nodeRoot"></parameter>
     </parameters>
     <description>
      <p>
       This function may be overridden to add arbitrary custom context to the
       XML context file created by
       <ref target="wxdebugreportaddcontext">AddContext</ref>
       . By default, it does nothing.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="DoAddExceptionInfo">
    <function type="bool" name="DoAddExceptionInfo">
     <parameters>
      <parameter type="wxXmlNode&#42; " name="nodeContext"></parameter>
     </parameters>
     <description>
      <p>
       This function may be overridden to modify the contents of the exception
       tag in the XML context file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="DoAddLoadedModules">
    <function type="bool" name="DoAddLoadedModules">
     <parameters>
      <parameter type="wxXmlNode&#42; " name="nodeModules"></parameter>
     </parameters>
     <description>
      <p>
       This function may be overridden to modify the contents of the modules tag
       in the XML context file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="DoAddSystemInfo">
    <function type="bool" name="DoAddSystemInfo">
     <parameters>
      <parameter type="wxXmlNode&#42; " name="nodeSystemInfo"></parameter>
     </parameters>
     <description>
      <p>
       This function may be overridden to modify the contents of the system tag
       in the XML context file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="GetDirectory">
    <function type="const wxString&amp;" name="GetDirectory" suffix="const">
     <description>
      <p>
       Returns the name of the temporary directory used for the files in this
       report.
      </p>
      <p>
       This method should be used to construct the full name of the files which
       you wish to add to the report using
       <ref target="wxdebugreportaddfile">AddFile</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="GetFile">
    <function type="bool" name="GetFile" suffix="const">
     <parameters>
      <parameter type="size\_t " name="n"></parameter>
      <parameter type="wxString&#42; " name="name"></parameter>
      <parameter type="wxString&#42; " name="desc"></parameter>
     </parameters>
     <description>
      <p>
       Retrieves the name (relative to
       <ref target="wxdebugreportgetdirectory">GetDirectory()</ref>
       ) and the description of the file with the given index. If
       <i>n</i>
       is greater than or equal to the number of filse, false is returned.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="GetFilesCount">
    <function type="size\_t" name="GetFilesCount" suffix="const">
     <description>
      <p>
       Gets the current number files in this report.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="GetReportName">
    <function type="wxString" name="GetReportName" suffix="const">
     <description>
      <p>
       Gets the name used as a base name for various files, by default
       <ref target="wxappgetappname">wxApp::GetAppName()</ref>
       is used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns true if the object was successfully initialized. If this method
       returns false the report can't be used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="Process">
    <function type="bool" name="Process">
     <description>
      <p>
       Processes this report: the base class simply notifies the user that the
       report has been generated. This is usually not enough -- instead you
       should override this method to do something more useful to you.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="RemoveFile">
    <function type="void" name="RemoveFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Removes the file from report: this is used by
       <ref target="wxdebugreportpreview">wxDebugReportPreview</ref>
       to allow the user to remove files potentially containing private
       information from the report.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReport" name="Reset">
    <function type="void" name="Reset">
     <description>
      <p>
       Resets the directory name we use. The object can't be used any more after
       this as it becomes uninitialized and invalid.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDebugReportCompress">
  <description>
   <p class="classdesc">
    wxDebugReportCompress is a
    <ref target="wxdebugreport">wxDebugReport</ref>
    which compresses all the files in this debug report into a single .ZIP file
    in its
    <tt>\\textit\{Process()</tt>
    \} function.
   </p>
  </description>
  <category>Debugging features</category>
  <shortdesc>Class for creating compressed debug reports.</shortdesc>
  <parents>
   <ref type="help" target="wxDebugReport">wxDebugReport</ref>
  </parents>
  <includes>
   <header name="wx/debugrpt.h"/>
  </includes>
  <members>
   <member class="wxDebugReportCompress" name="wxDebugReportCompress">
    <function type="" name="wxDebugReportCompress">
     <description>
      <p>
       Default constructor does nothing special.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReportCompress" name="GetCompressedFileName">
    <function type="const wxString&amp;" name="GetCompressedFileName" suffix="const">
     <description>
      <p>
       Returns the full path of the compressed file (empty if creation failed).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDebugReportPreview">
  <description>
   <p class="classdesc">
    This class presents the debug report to the user and allows him to veto
    report entirely or remove some parts of it. Although not mandatory, using
    this class is strongly recommended as data included in the debug report
    might contain sensitive private information and the user should be notified
    about it as well as having a possibility to examine the data which had been
    gathered to check whether this is effectively the case and discard the debug
    report if it is.
   </p>
   <p class="classdesc">
    wxDebugReportPreview is an abstract base class, currently the only concrete
    class deriving from it is
    <ref target="wxdebugreportpreviewstd">wxDebugReportPreviewStd</ref>
    .
   </p>
  </description>
  <category>Debugging features</category>
  <shortdesc>Abstract base class for previewing the contents of a debug report.</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/debugrpt.h"/>
  </includes>
  <members>
   <member class="wxDebugReportPreview" name="wxDebugReportPreview">
    <function type="" name="wxDebugReportPreview">
     <description>
      <p>
       Trivial default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReportPreview" name="~wxDebugReportPreview">
    <function type="" name="~wxDebugReportPreview">
     <description>
      <p>
       dtor is trivial as well but should be virtual for a base class
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReportPreview" name="Show">
    <function type="bool" name="Show" suffix="const">
     <parameters>
      <parameter type="wxDebugReport&amp; " name="dbgrpt"></parameter>
     </parameters>
     <description>
      <p>
       Present the report to the user and allow him to modify it by removing
       some or all of the files and, potentially, adding some notes. Return true
       if the report should be processed or false if the user chose to cancel
       report generation or removed all files from it.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDebugReportPreviewStd">
  <description>
   <p class="classdesc">
    wxDebugReportPreviewStd is a standard debug report preview window. It
    displays a GUIdialog allowing the user to examine the contents of a debug
    report, remove files from and add notes to it.
   </p>
  </description>
  <category>Debugging features</category>
  <shortdesc>Standard implementation of wxDebugReportPreview.</shortdesc>
  <parents>
   <ref type="help" target="wxDebugReportPreview">wxDebugReportPreview</ref>
  </parents>
  <includes>
   <header name="wx/debugrpt.h"/>
  </includes>
  <members>
   <member class="wxDebugReportPreviewStd" name="wxDebugReportPreviewStd">
    <function type="" name="wxDebugReportPreviewStd">
     <description>
      <p>
       Trivial default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReportPreviewStd" name="Show">
    <function type="bool" name="Show" suffix="const">
     <parameters>
      <parameter type="wxDebugReport&amp; " name="dbgrpt"></parameter>
     </parameters>
     <description>
      <p>
       Show the dialog, see
       <ref target="wxdebugreportpreviewshow">wxDebugReportPreview::Show()</ref>
       for more information.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDebugReportUpload">
  <description>
   <p class="classdesc">
    This class is used to upload a compressed file using HTTP POST request. As
    this class derives from wxDebugReportCompress, before upload the report is
    compressed in a single .ZIP file.
   </p>
  </description>
  <category>Debugging features</category>
  <shortdesc>Class for uploading compressed debug reports via HTTP.</shortdesc>
  <parents>
   <ref type="help" target="wxDebugReportCompress">wxDebugReportCompress</ref>
  </parents>
  <includes>
   <header name="wx/debugrpt.h"/>
  </includes>
  <members>
   <member class="wxDebugReportUpload" name="wxDebugReportUpload">
    <function type="" name="wxDebugReportUpload">
     <parameters>
      <parameter type="const wxString&amp; " name="url"></parameter>
      <parameter type="const wxString&amp; " name="input"></parameter>
      <parameter type="const wxString&amp; " name="action"></parameter>
      <parameter type="const wxString&amp; " name="curl" value="\_T(&quot;curl&quot;)"></parameter>
     </parameters>
     <description>
      <p>
       This class will upload the compressed file created by its base class to
       an HTML multipart/form-data form at the specified address. The
       <i>url</i>
       is the upload page address,
       <i>input</i>
       is the name of the
       <tt>&quot;type=file&quot;</tt>
       control on the form used for the file name and
       <i>action</i>
       is the value of the form action field. The report is uploaded using
       <tt>\\textit\{curl</tt>
       \} program which should be available, the
       <i>curl</i>
       parameter may be used to specify the full path to it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDebugReportUpload" name="OnServerReply">
    <function type="bool" name="OnServerReply">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="WXUNUSED(reply)"></parameter>
     </parameters>
     <description>
      <p>
       This function may be overridden in a derived class to show the output
       from curl: this may be an HTML page or anything else that the server
       returned. Value returned by this function becomes the return value of
       <ref target="wxdebugreportprocess">wxDebugReport::Process()</ref>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDebugStreamBuf" obsolete="yes">
  <description>
   <p class="classdesc">
    This class allows you to treat debugging output in a similar (stream-based)
    fashion on different platforms. Under Windows, an ostream constructed with
    this buffer outputs to the debugger, or other program that intercepts
    debugging output. On other platforms, the output goes to standard error
    (cerr).
   </p>
   <p class="classdesc">
    This is soon to be obsolete, replaced by
    <ref target="wxlog">wxLog</ref>
    functionality.
   </p>
  </description>
  <category>Miscellaneous</category>
  <example>
   <pre>
  wxDebugStreamBuf streamBuf;
  ostream stream(&amp;streamBuf);

  stream &lt;&lt; &quot;Hello world!&quot; &lt;&lt; endl;
</pre>
  </example>
  <parents>
   <classref name="streambuf"/>
  </parents>
  <includes>
   <header name="wx/memory.h"/>
  </includes>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDelegateRendererNative">
  <description>
   <p class="classdesc">
    wxDelegateRendererNative allows reuse of renderers code by forwarding all
    the
    <ref target="wxrenderernative">wxRendererNative</ref>
    methods to the given object and thus allowing you to only modify some of its
    methods -- without having to reimplement all of them.
   </p>
   <p class="classdesc">
    Note that the ``normal'', inheritance-based approach, doesn't work with the
    renderers as it is impossible to derive from a class unknown at compile-time
    and the renderer is only chosen at run-time. So suppose that you want to
    only add something to the drawing of the tree control buttons but leave all
    the other methods unchanged -- the only way to do it, considering that the
    renderer class which you want to customize might not even be written yet
    when you write your code (it could be written later and loaded from a DLL
    during run-time), is by using this class.
   </p>
   <p class="classdesc">
    Except for the constructor, it has exactly the same methods as
    <ref target="wxrenderernative">wxRendererNative</ref>
    and their implementation is trivial: they are simply forwarded to the real
    renderer. Note that the ``real'' renderer may, in turn, be a
    wxDelegateRendererNative as well and that there may be arbitrarily many
    levels like this -- but at the end of the chain there must be a real
    renderer which does the drawing.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxRendererNative">wxRendererNative</ref>
  </parents>
  <includes>
   <header name="wx/renderer.h"/>
  </includes>
  <members>
   <member class="wxDelegateRendererNative" name="wxDelegateRendererNative">
    <function type="" name="wxDelegateRendererNative">
     <description></description>
    </function>
    <function type="" name="wxDelegateRendererNative">
     <parameters>
      <parameter type="wxRendererNative&amp; " name="rendererNative"></parameter>
     </parameters>
     <description>
      <p>
       The default constructor does the same thing as the other one except that
       it uses the
       <ref target="wxrenderernativegetgeneric">generic renderer</ref>
       instead of the user-specified
       <i>rendererNative</i>
       .
      </p>
      <p>
       In any case, this sets up the delegate renderer object to follow all
       calls to the specified real renderer.
      </p>
      <p>
       Note that this object does
       <i>not</i>
       take ownership of (i.e. won't delete)
       <i>rendererNative</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDelegateRendererNative" name="DrawXXX">
    <function type="" name="DrawXXX">
     <parameters>
      <parameter type="" name="..."></parameter>
     </parameters>
     <description>
      <p>
       This class also provides all the virtual methods of
       <ref target="wxrenderernative">wxRendererNative</ref>
       , please refer to that class documentation for the details.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDialUpEvent">
  <description>
   <p class="classdesc">
    This is the event class for the dialup events sent by
    <ref target="wxdialupmanager">wxDialUpManager</ref>
    .
   </p>
  </description>
  <category>Events</category>
  <shortdesc>Event send by \\helpref\{wxDialUpManager\}\{wxdialupmanager\}</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dialup.h"/>
  </includes>
  <members>
   <member class="wxDialUpEvent" name="wxDialUpEvent">
    <function type="" name="wxDialUpEvent">
     <parameters>
      <parameter type="bool " name="isConnected"></parameter>
      <parameter type="bool " name="isOwnEvent"></parameter>
     </parameters>
     <description>
      <p>
       Constructor is only used by
       <ref target="wxdialupmanager">wxDialUpManager</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpEvent" name="IsConnectedEvent">
    <function type="bool" name="IsConnectedEvent" suffix="const">
     <description>
      <p>
       Is this a
       <tt> CONNECTED</tt>
       or
       <tt> DISCONNECTED</tt>
       event? In other words, does it notify about transition from offline to
       online state or vice versa?
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpEvent" name="IsOwnEvent">
    <function type="bool" name="IsOwnEvent" suffix="const">
     <description>
      <p>
       Does this event come from wxDialUpManager::Dial() or from some extrenal
       process (i.e. does it result from our own attempt to establish the
       connection)?
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDialUpManager">
  <description>
   <p class="classdesc">
    This class encapsulates functions dealing with verifying the connection
    status of the workstation (connected to the Internet via a direct
    connection, connected through a modem or not connected at all) and to
    establish this connection if possible/required (i.e. in the case of the
    modem).
   </p>
   <p class="classdesc">
    The program may also wish to be notified about the change in the connection
    status (for example, to perform some action when the user connects to the
    network the next time or, on the contrary, to stop receiving data from the
    net when the user hangs up the modem). For this, you need to use one of the
    event macros described below.
   </p>
   <p class="classdesc">
    This class is different from other wxWidgets classes in that there is at
    most one instance of this class in the program accessed via
    <ref target="wxdialupmanagercreate">wxDialUpManager::Create()</ref>
    and you can't create the objects of this class directly.
   </p>
  </description>
  <category>Networking classes</category>
  <shortdesc>Provides functions to check the status of network connection and to establish one</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dialup.h"/>
  </includes>
  <events>
   <event name="EVT\_DIALUP\_CONNECTED(func)">A connection with the network was established.</event>
   <event name="EVT\_DIALUP\_DISCONNECTED(func)">The connection with the network was lost.</event>
  </events>
  <seealso>
   <ref target="sampledialup">dialup sample</ref>
   <br/>
   <ref target="wxdialupevent">wxDialUpEvent</ref>
  </seealso>
  <members>
   <member class="wxDialUpManager" name="Create">
    <function type="wxDialUpManager&#42;" name="Create">
     <description>
      <p>
       This function should create and return the object of the
       platform-specific class derived from wxDialUpManager. You should delete
       the pointer when you are done with it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the dialup manager was initialized correctly. If this function returns
       <tt> false</tt>
       , no other functions will work neither, so it is a good idea to call this
       function and check its result before calling any other wxDialUpManager
       methods
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="~wxDialUpManager">
    <function type="" name="~wxDialUpManager">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="GetISPNames">
    <function type="size\_t" name="GetISPNames" suffix="const">
     <parameters>
      <parameter type="wxArrayString&amp; " name="names"></parameter>
     </parameters>
     <description>
      <p>
       This function is only implemented under Windows.
      </p>
      <p>
       Fills the array with the names of all possible values for the first
       parameter to
       <ref target="wxdialupmanagerdial">Dial()</ref>
       on this machine and returns their number (may be 0).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="Dial">
    <function type="bool" name="Dial">
     <parameters>
      <parameter type="const wxString&amp; " name="nameOfISP" value="wxEmptyString"></parameter>
      <parameter type="const wxString&amp; " name="username" value="wxEmptyString"></parameter>
      <parameter type="const wxString&amp; " name="password" value="wxEmptyString"></parameter>
      <parameter type="bool " name="async" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Dial the given ISP, use
       <i> username</i>
       and
       <i> password</i>
       to authenticate.
      </p>
      <p>
       The parameters are only used under Windows currently, for Unix you should
       use
       <ref target="wxdialupmanagersetconnectcommand">SetConnectCommand</ref>
       to customize this functions behaviour.
      </p>
      <p>
       If no
       <i> nameOfISP</i>
       is given, the function will select the default one (proposing the user to
       choose among all connections defined on this machine) and if no username
       and/or password are given, the function will try to do without them, but
       will ask the user if really needed.
      </p>
      <p>
       If
       <i> async</i>
       parameter is
       <tt> false</tt>
       , the function waits until the end of dialing and returns
       <tt> true</tt>
       upon successful completion.
      </p>
      <p>
       If
       <i> async</i>
       is
       <tt> true</tt>
       , the function only initiates the connection and returns immediately -
       the result is reported via events (an event is sent anyhow, but if
       dialing failed it will be a DISCONNECTED one).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="IsDialing">
    <function type="bool" name="IsDialing" suffix="const">
     <seealso>
      <ref target="wxdialupmanagerdial">Dial</ref>
     </seealso>
     <description>
      <p>
       Returns true if (async) dialing is in progress.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="CancelDialing">
    <function type="bool" name="CancelDialing">
     <seealso>
      <ref target="wxdialupmanagerisdialing">IsDialing</ref>
     </seealso>
     <description>
      <p>
       Cancel dialing the number initiated with
       <ref target="wxdialupmanagerdial">Dial</ref>
       with async parameter equal to
       <tt> true</tt>
       .
      </p>
      <p>
       Note that this won't result in DISCONNECTED event being sent.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="HangUp">
    <function type="bool" name="HangUp">
     <description>
      <p>
       Hang up the currently active dial up connection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="IsAlwaysOnline">
    <function type="bool" name="IsAlwaysOnline" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the computer has a permanent network connection (i.e. is on a LAN) and
       so there is no need to use Dial() function to go online.
      </p>
      <p>
       <b> NB:</b>
       this functions tries to guess the result and it is not always guaranteed
       to be correct, so it is better to ask user for confirmation or give him a
       possibility to override it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="IsOnline">
    <function type="bool" name="IsOnline" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the computer is connected to the network: under Windows, this just
       means that a RAS connection exists, under Unix we check that the
       &quot;well-known host&quot; (as specified by
       <ref target="wxdialupmanagersetwellknownhost">SetWellKnownHost</ref>
       ) is reachable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="SetOnlineStatus">
    <function type="void" name="SetOnlineStatus">
     <parameters>
      <parameter type="bool " name="isOnline" value="true"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdialupmanagerisonline">IsOnline</ref>
     </seealso>
     <description>
      <p>
       Sometimes the built-in logic for determining the online status may fail,
       so, in general, the user should be allowed to override it. This function
       allows to forcefully set the online status - whatever our internal
       algorithm may think about it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="EnableAutoCheckOnlineStatus">
    <function type="bool" name="EnableAutoCheckOnlineStatus">
     <parameters>
      <parameter type="size\_t " name="nSeconds" value="60"></parameter>
     </parameters>
     <description>
      <p>
       Enable automatic checks for the connection status and sending of
       <tt> wxEVT\_DIALUP\_CONNECTED/wxEVT\_DIALUP\_DISCONNECTED</tt>
       events. The interval parameter is only for Unix where we do the check
       manually and specifies how often should we repeat the check (each minute
       by default). Under Windows, the notification about the change of
       connection status is sent by the system and so we don't do any polling
       and this parameter is ignored.
      </p>
      <p>
       Returns
       <tt> false</tt>
       if couldn't set up automatic check for online status.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="DisableAutoCheckOnlineStatus">
    <function type="void" name="DisableAutoCheckOnlineStatus">
     <description>
      <p>
       Disable automatic check for connection status change - notice that the
       <tt> wxEVT\_DIALUP\_XXX</tt>
       events won't be sent any more neither.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="SetWellKnownHost">
    <function type="void" name="SetWellKnownHost">
     <parameters>
      <parameter type="const wxString&amp; " name="hostname"></parameter>
      <parameter type="int " name="portno" value="80"></parameter>
     </parameters>
     <description>
      <p>
       This method is for Unix only.
      </p>
      <p>
       Under Unix, the value of well-known host is used to check whether we're
       connected to the internet. It is unused under Windows, but this function
       is always safe to call. The default value is
       <tt> www.yahoo.com:80</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialUpManager" name="SetConnectCommand">
    <function type="void" name="SetConnectCommand">
     <parameters>
      <parameter type="const wxString&amp; " name="commandDial" value="wxT(&quot;/usr/bin/pon&quot;)"></parameter>
      <parameter type="const wxString&amp; " name="commandHangup" value="wxT(&quot;/usr/bin/poff&quot;)"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdialupmanagerdial">Dial</ref>
     </seealso>
     <description>
      <p>
       This method is for Unix only.
      </p>
      <p>
       Sets the commands to start up the network and to hang up again.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDialog">
  <description>
   <p class="classdesc">
    A dialog box is a window with a title bar and sometimes a system menu, which
    can be moved around the screen. It can contain controls and other windows
    and is usually used to allow the user to make some choice or to answer a
    question.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Base class for common dialogs</shortdesc>
  <remarks>
   <p>
    There are two kinds of dialog --
    <i> modal</i>
    and
    <i> modeless</i>
    . A modal dialog blocks program flow and user input on other windows until
    it is dismissed, whereas a modeless dialog behaves more like a frame in that
    program flow continues, and input in other windows is still possible. To
    show a modal dialog you should use the
    <ref target="wxdialogshowmodal">ShowModal</ref>
    method while to show a dialog modelessly you simply use
    <ref target="wxdialogshow">Show</ref>
    , just as with frames.
   </p>
   <p>
    Note that the modal dialog is one of the very few examples of
    wxWindow-derived objects which may be created on the stack and not on the
    heap. In other words, although this code snippet:
   </p>
   <pre>
    void AskUser()
    \{
        MyAskDialog &#42;dlg = new MyAskDialog(...);
        if ( dlg-&gt;ShowModal() == wxID\_OK )
            ...
        //else: dialog was cancelled or some another button pressed

        dlg-&gt;Destroy();
    \}
</pre>
   <p>
    works, you can also achieve the same result by using a simpler code fragment
    below:
   </p>
   <pre>
    void AskUser()
    \{
        MyAskDialog dlg(...);
        if ( dlg.ShowModal() == wxID\_OK )
            ...

        // no need to call Destroy() here
    \}
</pre>
   <p>
    An application can define a
    <ref target="wxcloseevent">wxCloseEvent</ref>
    handler for the dialog to respond to system close events.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxTopLevelWindow">wxTopLevelWindow</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dialog.h"/>
  </includes>
  <windowstyles>
   <style name="wxCAPTION">
    Puts a caption on the dialog box.
   </style>
   <style name="wxDEFAULT\_DIALOG\_STYLE">
    Equivalent to a combination of wxCAPTION, wxCLOSE\_BOX and wxSYSTEM\_MENU (the
    last one is not used under Unix)
   </style>
   <style name="wxRESIZE\_BORDER">
    Display a resizeable frame around the window.
   </style>
   <style name="wxSYSTEM\_MENU">
    Display a system menu.
   </style>
   <style name="wxCLOSE\_BOX">
    Displays a close box on the frame.
   </style>
   <style name="wxMAXIMIZE\_BOX">
    Displays a maximize box on the dialog.
   </style>
   <style name="wxMINIMIZE\_BOX">
    Displays a minimize box on the dialog.
   </style>
   <style name="wxTHICK\_FRAME">
    Display a thick frame around the window.
   </style>
   <style name="wxSTAY\_ON\_TOP">
    The dialog stays on top of all other windows.
   </style>
   <style name="wxNO\_3D">
    wxNO\_3D
   </style>
   <style name="wxDIALOG\_NO\_PARENT">
    wxDIALOG\_NO\_PARENT
   </style>
   <style name="wxDIALOG\_EX\_CONTEXTHELP">
    wxDIALOG\_EX\_CONTEXTHELP
   </style>
   <style name="wxDIALOG\_EX\_METAL">
    On Mac OS X, frames with this style will be shown with a metallic look. This
    is an
    <i> extra</i>
    style.
   </style>
  </windowstyles>
  <seealso>
   <ref target="wxdialogoverview">wxDialog overview</ref>
   <ref target="wxframe">wxFrame</ref>
   ,
   <ref target="validatoroverview">Validator overview</ref>
  </seealso>
  <members>
   <member class="wxDialog" name="wxDialog">
    <function type="" name="wxDialog">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Can be NULL, a frame or another dialog box.
      </parameter>
      <parameter type="wxWindowID " name="id">
       An identifier for the dialog. A value of -1 is taken to mean a default.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The title of the dialog.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       The dialog position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxWidgets, depending on
       platform.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       The dialog size. A value of (-1, -1) indicates a default size, chosen by
       either the windowing system or wxWidgets, depending on platform.
      </parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_DIALOG\_STYLE">
       The window style. See
       <ref target="wxdialog">wxDialog</ref>
       .
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``dialogBox&quot;">
       Used to associate a name with the window, allowing the application user
       to set Motif resource values for individual dialog boxes.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdialogcreate">wxDialog::Create</ref>
     </seealso>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="~wxDialog">
    <function type="" name="~wxDialog">
     <description>
      <p>
       Destructor. Deletes any child windows before deleting the physical
       window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="Centre">
    <function type="void" name="Centre">
     <parameters>
      <parameter type="int " name="direction" value="wxBOTH">
       May be
       <tt> wxHORIZONTAL</tt>
       ,
       <tt> wxVERTICAL</tt>
       or
       <tt> wxBOTH</tt>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       Centres the dialog box on the display.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_DIALOG\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``dialogBox&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Used for two-step dialog box construction. See
       <ref target="wxdialogctor">wxDialog::wxDialog</ref>
       for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="CreateButtonSizer">
    <function type="wxSizer&#42;" name="CreateButtonSizer">
     <parameters>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Creates a sizer with standard buttons.
       <i> flags</i>
       is a bit list of the following flags: wxOK, wxCANCEL, wxYES, wxNO,
       wxHELP, wxNO\_DEFAULT.
      </p>
      <p>
       The sizer lays out the buttons in a manner appropriate to the platform.
      </p>
      <p>
       This function simply calls
       <ref target="wxdialogcreatestddialogbuttonsizer">CreateStdDialogButtonSizer</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="CreateStdDialogButtonSizer">
    <function type="wxStdDialogButtonSizer&#42;" name="CreateStdDialogButtonSizer">
     <parameters>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Creates a
       <ref target="wxstddialogbuttonsizer">wxStdDialogButtonSizer</ref>
       with standard buttons.
       <i> flags</i>
       is a bit list of the following flags: wxOK, wxCANCEL, wxYES, wxNO,
       wxHELP, wxNO\_DEFAULT.
      </p>
      <p>
       The sizer lays out the buttons in a manner appropriate to the platform.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="DoOK">
    <function type="virtual bool" name="DoOK">
     <description>
      <p>
       This function is called when the titlebar OK button is pressed (PocketPC
       only). A command event for the identifier returned by GetAffirmativeId is
       sent by default. You can override this function. If the function returns
       false, wxWidgets will call Close() for the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="EndModal">
    <function type="void" name="EndModal">
     <parameters>
      <parameter type="int " name="retCode">
       The value that should be returned by
       <b> ShowModal</b>
       .
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdialogshowmodal">wxDialog::ShowModal</ref>
      ,
      <ref target="wxdialoggetreturncode">wxDialog::GetReturnCode</ref>
      ,
      <ref target="wxdialogsetreturncode">wxDialog::SetReturnCode</ref>
     </seealso>
     <description>
      <p>
       Ends a modal dialog, passing a value to be returned from the
       <ref target="wxdialogshowmodal">wxDialog::ShowModal</ref>
       invocation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="GetAffirmativeId">
    <function type="int" name="GetAffirmativeId" suffix="const">
     <seealso>
      <ref target="wxdialogsetaffirmativeid">wxDialog::SetAffirmativeId</ref>
     </seealso>
     <description>
      <p>
       Gets the identifier to be used when the user presses an OK button in a
       PocketPC titlebar.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="GetReturnCode">
    <function type="int" name="GetReturnCode">
     <seealso>
      <ref target="wxdialogsetreturncode">wxDialog::SetReturnCode</ref>
      <ref target="wxdialogshowmodal">wxDialog::ShowModal</ref>
      ,
      <ref target="wxdialogendmodal">wxDialog::EndModal</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDialog" name="GetTitle">
    <function type="wxString" name="GetTitle" suffix="const">
     <description>
      <p>
       Returns the title of the dialog box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="GetToolBar">
    <function type="wxToolBar&#42;" name="GetToolBar" suffix="const">
     <description>
      <p>
       On PocketPC, a dialog is automatically provided with an empty toolbar.
       GetToolBar allows you to access the toolbar and add tools to it. Removing
       tools and adding arbitrary controls are not currently supported.
      </p>
      <p>
       This function is not available on any other platform.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="Iconize">
    <function type="void" name="Iconize">
     <parameters>
      <parameter type="const bool " name="iconize">
       If true, iconizes the dialog box; if false, shows and restores it.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Note that in Windows, iconization has no effect since dialog boxes cannot
       be iconized. However, applications may need to explicitly restore dialog
       boxes under Motif which have user-iconizable frames, and under Windows
       calling
       <tt> Iconize(false)</tt>
       will bring the window to the front, as does
       <tt> Show(true)</tt>
       .
      </p>
     </remarks>
     <description>
      <p>
       Iconizes or restores the dialog. Windows only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="IsIconized">
    <function type="bool" name="IsIconized" suffix="const">
     <remarks>
      <p>
       Always returns false under Windows since dialogs cannot be iconized.
      </p>
     </remarks>
     <description>
      <p>
       Returns true if the dialog box is iconized. Windows only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="IsModal">
    <function type="bool" name="IsModal" suffix="const">
     <description>
      <p>
       Returns true if the dialog box is modal, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="OnApply">
    <function type="void" name="OnApply">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdialogonok">wxDialog::OnOK</ref>
      <ref target="wxdialogoncancel">wxDialog::OnCancel</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDialog" name="OnCancel">
    <function type="void" name="OnCancel">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdialogonok">wxDialog::OnOK</ref>
      <ref target="wxdialogonapply">wxDialog::OnApply</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDialog" name="OnOK">
    <function type="void" name="OnOK">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdialogoncancel">wxDialog::OnCancel</ref>
      <ref target="wxdialogonapply">wxDialog::OnApply</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDialog" name="OnSysColourChanged">
    <function type="void" name="OnSysColourChanged">
     <parameters>
      <parameter type="wxSysColourChangedEvent&amp; " name="event">
       The colour change event.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxsyscolourchangedevent">wxSysColourChangedEvent</ref>
     </seealso>
     <remarks>
      <p>
       Changes the dialog's colour to conform to the current settings (Windows
       only). Add an event table entry for your dialog class if you wish the
       behaviour to be different (such as keeping a user-defined background
       colour). If you do override this function, call wxEvent::Skip to
       propagate the notification to child windows and controls.
      </p>
     </remarks>
     <description>
      <p>
       The default handler for wxEVT\_SYS\_COLOUR\_CHANGED.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="SetAffirmativeId">
    <function type="void" name="SetAffirmativeId">
     <parameters>
      <parameter type="int " name="id"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdialoggetaffirmativeid">wxDialog::GetAffirmativeId</ref>
     </seealso>
     <description>
      <p>
       Sets the identifier to be used when the user presses an OK button in a
       PocketPC titlebar. By default, this is wxID\_OK.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="SetIcon">
    <function type="void" name="SetIcon">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon">
       The icon to associate with this dialog.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the icon for this dialog.
      </p>
      <p>
       See also
       <ref target="wxicon">wxIcon</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="SetIcons">
    <function type="void" name="SetIcons">
     <parameters>
      <parameter type="const wxIconBundle&amp; " name="icons">
       The icons to associate with this dialog.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the icons for this dialog.
      </p>
      <p>
       See also
       <ref target="wxiconbundle">wxIconBundle</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="SetModal">
    <function type="void" name="SetModal">
     <parameters>
      <parameter type="const bool " name="flag">
       If true, the dialog will be modal, otherwise it will be modeless.
      </parameter>
     </parameters>
     <description>
      <p>
       <b> NB:</b>
       This function is deprecated and doesn't work for all ports, just use
       <ref target="wxdialogshowmodal">ShowModal</ref>
       to show a modal dialog instead.
      </p>
      <p>
       Allows the programmer to specify whether the dialog box is modal
       (wxDialog::Show blocks control until the dialog is hidden) or modeless
       (control returns immediately).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="SetReturnCode">
    <function type="void" name="SetReturnCode">
     <parameters>
      <parameter type="int " name="retCode">
       The integer return code, usually a control identifier.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxdialoggetreturncode">wxDialog::GetReturnCode</ref>
      <ref target="wxdialogshowmodal">wxDialog::ShowModal</ref>
      ,
      <ref target="wxdialogendmodal">wxDialog::EndModal</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxDialog" name="SetTitle">
    <function type="void" name="SetTitle">
     <parameters>
      <parameter type="const wxString&amp;  " name="title">
       The dialog box title.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the title of the dialog box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="Show">
    <function type="bool" name="Show">
     <parameters>
      <parameter type="const bool " name="show">
       If true, the dialog box is shown and brought to the front; otherwise the
       box is hidden. If false and the dialog is modal, control is returned to
       the calling program.
      </parameter>
     </parameters>
     <remarks>
      <p>
       The preferred way of dismissing a modal dialog is to use
       <ref target="wxdialogendmodal">wxDialog::EndModal</ref>
       .
      </p>
     </remarks>
     <description>
      <p>
       Hides or shows the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <seealso>
      <ref target="wxdialogendmodal">wxDialog::EndModal</ref>
      ,
      <ref target="wxdialoggetreturncode">wxDialog:GetReturnCode</ref>
      ,
      <ref target="wxdialogsetreturncode">wxDialog::SetReturnCode</ref>
     </seealso>
     <returnvalue>
      The return value is the value set with
      <ref target="wxdialogsetreturncode">wxDialog::SetReturnCode</ref>
      .
     </returnvalue>
     <description>
      <p>
       Shows a modal dialog. Program flow does not return until the dialog has
       been dismissed with
       <ref target="wxdialogendmodal">wxDialog::EndModal</ref>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDir">
  <description>
   <p class="classdesc">
    wxDir is a portable equivalent of Unix \{open/read/close\}dir functions which
    allow enumerating of the files in a directory. wxDir allows enumerate files
    as well as directories.
   </p>
   <p class="classdesc">
    wxDir also provides a flexible way to enumerate files recursively using
    <ref target="wxdirtraverse">Traverse</ref>
    or a simpler
    <ref target="wxdirgetallfiles">GetAllFiles</ref>
    function.
   </p>
   <p class="classdesc">
    Example of use:
   </p>
   <p class="classdesc">
    <pre>
    wxDir dir(wxGetCwd());

    if ( !dir.IsOpened() )
    \{
        // deal with the error here - wxDir would already log an error message
        // explaining the exact reason of the failure
        return;
    \}

    puts(&quot;Enumerating object files in current directory:&quot;);

    wxString filename;

    bool cont = dir.GetFirst(&amp;filename, filespec, flags);
    while ( cont )
    \{
        printf(&quot;

        cont = dir.GetNext(&amp;filename);
    \}
</pre>
   </p>
  </description>
  <category>File related classes</category>
  <shortdesc>Class for enumerating files/subdirectories.</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dir.h"/>
  </includes>
  <constants>

These flags define what kind of filename is included in the list of files
enumerated by GetFirst/GetNext.

<pre>
enum
\{
    wxDIR\_FILES     = 0x0001,       // include files
    wxDIR\_DIRS      = 0x0002,       // include directories
    wxDIR\_HIDDEN    = 0x0004,       // include hidden files
    wxDIR\_DOTDOT    = 0x0008,       // include '.' and '..'

    // by default, enumerate everything except '.' and '..'
    wxDIR\_DEFAULT   = wxDIR\_FILES | wxDIR\_DIRS | wxDIR\_HIDDEN
\}
</pre>
  </constants>
  <members>
   <member class="wxDir" name="wxDir">
    <function type="" name="wxDir">
     <description>
      <p>
       Default constructor, use
       <ref target="wxdiropen">Open()</ref>
       afterwards.
      </p>
     </description>
    </function>
    <function type="" name="wxDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Opens the directory for enumeration, use
       <ref target="wxdirisopened">IsOpened()</ref>
       to test for errors.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="~wxDir">
    <function type="" name="~wxDir">
     <description>
      <p>
       Destructor cleans up the associated resources. It is not virtual and so
       this class is not meant to be used polymorphically.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="Exists">
    <function type="static bool" name="Exists">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Test for existence of a directory with the given name
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="GetAllFiles">
    <function type="static size\_t" name="GetAllFiles">
     <parameters>
      <parameter type="const wxString&amp; " name="dirname"></parameter>
      <parameter type="wxArrayString &#42;" name="files"></parameter>
      <parameter type="const wxString&amp; " name="filespec" value="wxEmptyString"></parameter>
      <parameter type="int " name="flags" value="wxDIR\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       The function appends the names of all the files under directory
       <i> dirname</i>
       to the array
       <i> files</i>
       (note that its old content is preserved). Only files matching the
       <i> filespec</i>
       are taken, with empty spec matching all the files.
      </p>
      <p>
       The
       <i> flags</i>
       parameter should always include
       <tt> wxDIR\_FILES</tt>
       or the array would be unchanged and should include
       <tt> wxDIR\_DIRS</tt>
       flag to recurse into subdirectories (both flags are included in the value
       by default).
      </p>
      <p>
       See also
       <ref target="wxdirtraverse">Traverse</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="GetFirst">
    <function type="bool" name="GetFirst" suffix="const">
     <parameters>
      <parameter type="wxString&#42; " name="filename"></parameter>
      <parameter type="const wxString&amp; " name="filespec" value="wxEmptyString"></parameter>
      <parameter type="int " name="flags" value="wxDIR\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Start enumerating all files matching
       <i> filespec</i>
       (or all files if it is empty) and flags, return true on success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Returns the name of the directory itself. The returned string does not
       have the trailing path separator (slash or backslash).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="GetNext">
    <function type="bool" name="GetNext" suffix="const">
     <parameters>
      <parameter type="wxString&#42; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Continue enumerating files satisfying the criteria specified by the last
       call to
       <ref target="wxdirgetfirst">GetFirst</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="HasFiles">
    <function type="bool" name="HasFiles">
     <parameters>
      <parameter type="const wxString&amp; " name="filespec" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the directory contains any files matching the given
       <i> filespec</i>
       . If
       <i> filespec</i>
       is empty, look for any files at all. In any case, even hidden files are
       taken into account.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="HasSubDirs">
    <function type="bool" name="HasSubDirs">
     <parameters>
      <parameter type="const wxString&amp; " name="dirspec" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the directory contains any subdirectories (if a non empty
       <i> filespec</i>
       is given, only check for directories matching it). The hidden
       subdirectories are taken into account as well.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="IsOpened">
    <function type="bool" name="IsOpened" suffix="const">
     <description>
      <p>
       Returns true if the directory was successfully opened by a previous call
       to
       <ref target="wxdiropen">Open</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="Open">
    <function type="bool" name="Open">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Open the directory for enumerating, returns true on success or false if
       an error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDir" name="Traverse">
    <function type="size\_t" name="Traverse">
     <parameters>
      <parameter type="wxDirTraverser&amp; " name="sink"></parameter>
      <parameter type="const wxString&amp; " name="filespec" value="wxEmptyString"></parameter>
      <parameter type="int " name="flags" value="wxDIR\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Enumerate all files and directories under the given directory recursively
       calling the element of the provided
       <ref target="wxdirtraverser">wxDirTraverser</ref>
       object for each of them.
      </p>
      <p>
       More precisely, the function will really recurse into subdirectories if
       <i> flags</i>
       contains
       <tt> wxDIR\_DIRS</tt>
       flag. It will ignore the files (but still possibly recurse into
       subdirectories) if
       <tt> wxDIR\_FILES</tt>
       flag is given.
      </p>
      <p>
       For each found directory,
       <ref target="wxdirtraverserondir">sink.OnDir()</ref>
       is called and
       <ref target="wxdirtraverseronfile">sink.OnFile()</ref>
       is called for every file. Depending on the return value, the enumeration
       may continue or stop.
      </p>
      <p>
       The function returns the total number of files found or
       <tt> (size\_t)-1</tt>
       on error.
      </p>
      <p>
       See also
       <ref target="wxdirgetallfiles">GetAllFiles</ref>
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDirDialog">
  <description>
   <p class="classdesc">
    This class represents the directory chooser dialog.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Directory selector dialog</shortdesc>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dirdlg.h" comment="&lt;wx/generic/dirdlgg.h&gt;"/>
  </includes>
  <windowstyles></windowstyles>
  <seealso>
   <ref target="wxdirdialogoverview">wxDirDialog overview</ref>
   <ref target="wxfiledialog">wxFileDialog</ref>
  </seealso>
  <members>
   <member class="wxDirDialog" name="wxDirDialog">
    <function type="" name="wxDirDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window.
      </parameter>
      <parameter type="const wxString&amp; " name="message" value="&quot;Choose">
       Message to show on the dialog.
      </parameter>
      <parameter type="const wxString&amp; " name="defaultPath" value="&quot;&quot;">
       The default path, or the empty string.
      </parameter>
      <parameter type="long " name="style" value="0">
       A dialog style, currently unused.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Dialog position. Ignored under Windows.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Dialog size. Ignored under Windows.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;wxDirCtrl&quot;">
       The dialog name, not used.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor. Use
       <ref target="wxdirdialogshowmodal">wxDirDialog::ShowModal</ref>
       to show the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="~wxDirDialog">
    <function type="" name="~wxDirDialog">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="GetPath">
    <function type="wxString" name="GetPath" suffix="const">
     <description>
      <p>
       Returns the default or user-selected path.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="GetMessage">
    <function type="wxString" name="GetMessage" suffix="const">
     <description>
      <p>
       Returns the message that will be displayed on the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="GetStyle">
    <function type="long" name="GetStyle" suffix="const">
     <description>
      <p>
       Returns the dialog style.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="SetMessage">
    <function type="void" name="SetMessage">
     <parameters>
      <parameter type="const wxString&amp; " name="message"></parameter>
     </parameters>
     <description>
      <p>
       Sets the message that will be displayed on the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="SetPath">
    <function type="void" name="SetPath">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default path.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="SetStyle">
    <function type="void" name="SetStyle">
     <parameters>
      <parameter type="long " name="style"></parameter>
     </parameters>
     <description>
      <p>
       Sets the dialog style. This is currently unused.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <description>
      <p>
       Shows the dialog, returning wxID\_OK if the user pressed OK, and
       wxID\_CANCEL otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDirTraverser">
  <description>
   <p class="classdesc">
    wxDirTraverser is an abstract interface which must be implemented by objects
    passed to
    <ref target="wxdirtraverse">Traverse</ref>
    function.
   </p>
   <p class="classdesc">
    Example of use (this works almost like
    <ref target="wxdirgetallfiles">GetAllFiles</ref>
    ):
   </p>
   <p class="classdesc">
    <pre>
    class wxDirTraverserSimple : public wxDirTraverser
    \{
    public:
        wxDirTraverserSimple(wxArrayString&amp; files) : m\_files(files) \{ \}

        virtual wxDirTraverseResult OnFile(const wxString&amp; filename)
        \{
            m\_files.Add(filename);
            return wxDIR\_CONTINUE;
        \}

        virtual wxDirTraverseResult OnDir(const wxString&amp; WXUNUSED(dirname))
        \{
            return wxDIR\_CONTINUE;
        \}

    private:
        wxArrayString&amp; m\_files;
    \};

    // get the names of all files in the array
    wxArrayString files;
    wxDirTraverserSimple traverser(files);

    wxDir dir(dirname);
    dir.Traverse(traverser);
</pre>
   </p>
  </description>
  <category>File related classes</category>
  <shortdesc>Class used together with wxDir for recursively enumerating the files/subdirectories</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dir.h"/>
  </includes>
  <constants>

The elements of <tt> wxDirTraverseResult</tt> are the possible return values of the
callback functions:

<pre>
enum wxDirTraverseResult
\{
    wxDIR\_IGNORE = -1,      // ignore this directory but continue with others
    wxDIR\_STOP,             // stop traversing
    wxDIR\_CONTINUE          // continue into this directory
\};
</pre>
  </constants>
  <members>
   <member class="wxDirTraverser" name="OnDir">
    <function type="virtual wxDirTraverseResult" name="OnDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dirname"></parameter>
     </parameters>
     <description>
      <p>
       This function is called for each directory. It may return
       <tt> wxSIR\_STOP</tt>
       to abort traversing completely,
       <tt> wxDIR\_IGNORE</tt>
       to skip this directory but continue with others or
       <tt> wxDIR\_CONTINUE</tt>
       to enumerate all files and subdirectories in this directory.
      </p>
      <p>
       This is a pure virtual function and must be implemented in the derived
       class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDirTraverser" name="OnFile">
    <function type="virtual wxDirTraverseResult" name="OnFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       This function is called for each file. It may return
       <tt> wxDIR\_STOP</tt>
       to abort traversing (for example, if the file being searched is found) or
       <tt> wxDIR\_CONTINUE</tt>
       to proceed.
      </p>
      <p>
       This is a pure virtual function and must be implemented in the derived
       class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxOpenErrorTraverser" name="OnOpenError">
    <function type="virtual wxOpenErrorTraverseResult" name="OnOpenError">
     <parameters>
      <parameter type="const wxString&amp; " name="openerrorname"></parameter>
     </parameters>
     <description>
      <p>
       This function is called for each directory which we failed to open for
       enumerating. It may return
       <tt> wxSIR\_STOP</tt>
       to abort traversing completely,
       <tt> wxDIR\_IGNORE</tt>
       to skip this directory but continue with others or
       <tt> wxDIR\_CONTINUE</tt>
       to retry opening this directory once again.
      </p>
      <p>
       The base class version always returns
       <tt> wxDIR\_IGNORE</tt>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDisplay">
  <description>
   <p class="classdesc">
    Determines the sizes and locations of displays connected to the system.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/display.h"/>
  </includes>
  <seealso>
   <ref target="wxclientdisplayrect">wxClientDisplayRect</ref>
   <ref target="wxdisplaysize">wxDisplaySize</ref>
   <ref target="wxdisplaysizemm">wxDisplaySizeMM</ref>
  </seealso>
  <members>
   <member class="wxDisplay" name="wxDisplay">
    <function type="" name="wxDisplay">
     <parameters>
      <parameter type="size\_t " name="index" value="0">
       The index of the display to use. This must be non-negative and lower than
       the value returned by
       <ref target="wxdisplaygetcount">GetCount()</ref>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor, setting up a wxDisplay instance with the specified display.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="~wxDisplay">
    <function type="void" name="~wxDisplay">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="ChangeMode">
    <function type="bool " name="ChangeMode">
     <parameters>
      <parameter type="const wxVideoMode&amp; " name="mode" value="wxDefaultVideoMode"></parameter>
     </parameters>
     <description>
      <p>
       Changes the video mode of this display to the mode specified in the mode
       parameter.
      </p>
      <p>
       If wxDefaultVideoMode is passed in as the mode parameter, the defined
       behaviour is that wxDisplay will reset the video mode to the default mode
       used by the display. On Windows, the behavior is normal. However, there
       are differences on other platforms. On Unix variations using X11
       extensions it should behave as defined, but some irregularities may
       occur.
      </p>
      <p>
       On wxMac passing in wxDefaultVideoMode as the mode parameter does
       nothing. This happens because carbon no longer has access to
       DMUseScreenPrefs, an undocumented function that changed the video mode to
       the system default by using the system's 'scrn' resource.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetCount">
    <function type="static size\_t" name="GetCount">
     <description>
      <p>
       Returns the number of connected displays.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetCurrentMode">
    <function type="wxVideoMode " name="GetCurrentMode" suffix="const">
     <description>
      <p>
       Returns the current video mode that this display is in.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetDepth">
    <function type="int " name="GetDepth" suffix="const">
     <description>
      <p>
       Returns the bit depth of the display whose index was passed to the
       constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetFromPoint">
    <function type="static int" name="GetFromPoint">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt">
       The point to locate.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns the index of the display on which the given point lies. Returns
       -1 if the point is not on any connected display.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetFromWindow">
    <function type="static int" name="GetFromWindow">
     <parameters>
      <parameter type="wxWindow&#42; " name="win">
       The window to locate.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns the index of the display on which the given window lies.
      </p>
      <p>
       If the window is on more than one display it gets the display that
       overlaps the window the most.
      </p>
      <p>
       Returns -1 if the window is not on any connected display.
      </p>
      <p>
       Currently wxMSW only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetGeometry">
    <function type="wxRect " name="GetGeometry" suffix="const">
     <description>
      <p>
       Returns the bounding rectangle of the display whose index was passed to
       the constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetModes">
    <function type="wxArrayVideoModes " name="GetModes" suffix="const">
     <parameters>
      <parameter type="const wxVideoMode&amp; " name="mode" value="wxDefaultVideoMode"></parameter>
     </parameters>
     <description>
      <p>
       Fills and returns an array with all the video modes that are supported by
       this display, or video modes that are supported by this display and match
       the mode parameter (if mode is not wxDefaultVideoMode).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="GetName">
    <function type="wxString " name="GetName" suffix="const">
     <description>
      <p>
       Returns the display's name. A name is not available on all platforms.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDisplay" name="IsPrimary">
    <function type="bool " name="IsPrimary">
     <description>
      <p>
       Returns true if the display is the primary display. The primary display
       is the one whose index is 0.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxDllLoader" needdefine="wxUSE\_DYNAMIC\_LOADER" obsolete="yes">
  <description>
   <p class="classdesc">
    <b>Deprecation note: </b>
    This class is deprecated since version 2.4 and is not compiled in by default
    in version 2.6 and will be removed in 2.8. Please use
    <ref target="wxdynamiclibrary">wxDynamicLibrary</ref>
    instead.
   </p>
   <p class="classdesc">
    wxDllLoader is a class providing an interface similar to Unix's
    <tt>
dlopen()</tt>
    . It is used by the wxLibrary framework and manages the actual loading of
    shared libraries and the resolving of symbols in them. There are no
    instances of this class, it simply serves as a namespace for its static
    member functions.
   </p>
   <p class="classdesc">
    Please note that class
    <ref target="wxdynamiclibrary">wxDynamicLibrary</ref>
    provides alternative, friendlier interface to wxDllLoader.
   </p>
   <p class="classdesc">
    The terms
    <i> DLL</i>
    and
    <i> shared library/object</i>
    will both be used in the documentation to refer to the same thing: a
    <tt> .dll</tt>
    file under Windows or
    <tt> .so</tt>
    or
    <tt> .sl</tt>
    one under Unix.
   </p>
   <p class="classdesc">
    Example of using this class to dynamically load the
    <tt> strlen()</tt>
    function:
   </p>
   <p class="classdesc">
    <pre>
#if defined(\_\_WXMSW\_\_)
    static const wxChar &#42;LIB\_NAME = \_T(&quot;kernel32&quot;);
    static const wxChar &#42;FUNC\_NAME = \_T(&quot;lstrlenA&quot;);
#elif defined(\_\_UNIX\_\_)
    static const wxChar &#42;LIB\_NAME = \_T(&quot;/lib/libc-2.0.7.so&quot;);
    static const wxChar &#42;FUNC\_NAME = \_T(&quot;strlen&quot;);
#endif

    wxDllType dllHandle = wxDllLoader::LoadLibrary(LIB\_NAME);
    if ( !dllHandle )
    \{
        ... error ...
    \}
    else
    \{
        typedef int (&#42;strlenType)(char &#42;);
        strlenType pfnStrlen = (strlenType)wxDllLoader::GetSymbol(dllHandle, FUNC\_NAME);
        if ( !pfnStrlen )
        \{
            ... error ...
        \}
        else
        \{
            if ( pfnStrlen(&quot;foo&quot;) != 3 )
            \{
                ... error ...
            \}
            else
            \{
                ... ok! ...
            \}
        \}

        wxDllLoader::UnloadLibrary(dllHandle);
    \}
</pre>
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Class to work with shared libraries.</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dynlib.h"/>
  </includes>
  <structs>
   <p>
    This header defines a platform-dependent
    <tt> wxDllType</tt>
    typedef which stores a handle to a loaded DLLs on the given platform.
   </p>
  </structs>
  <members>
   <member class="wxDllLoader" name="GetDllExt">
    <function type="static wxString" name="GetDllExt">
     <description>
      <p>
       Returns the string containing the usual extension for shared libraries
       for the given systems (including the leading dot if not empty).
      </p>
      <p>
       For example, this function will return
       <tt> &quot;.dll&quot;</tt>
       under Windows or (usually)
       <tt> &quot;.so&quot;</tt>
       under Unix.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDllLoader" name="GetProgramHandle">
    <function type="wxDllType" name="GetProgramHandle">
     <description>
      <p>
       This function returns a valid handle for the main program itself. Notice
       that the
       <tt> NULL</tt>
       return value is valid for some systems (i.e. doesn't mean that the
       function failed).
      </p>
      <p>
       <b> NB:</b>
       This function is Unix specific. It will always fail under Windows or
       OS/2.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDllLoader" name="GetSymbol">
    <function type="void &#42;" name="GetSymbol">
     <parameters>
      <parameter type="wxDllType " name="dllHandle">
       Valid handle previously returned by
       <ref target="wxdllloaderloadlibrary">LoadLibrary</ref>
      </parameter>
      <parameter type="const wxString&amp; " name="name">
       Name of the symbol.
      </parameter>
     </parameters>
     <description>
      <p>
       This function resolves a symbol in a loaded DLL, such as a variable or
       function name.
      </p>
      <p>
       Returned value will be
       <tt> NULL</tt>
       if the symbol was not found in the DLL or if an error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDllLoader" name="LoadLibrary">
    <function type="wxDllType" name="LoadLibrary">
     <parameters>
      <parameter type="const wxString &amp; " name="libname">
       Name of the shared object to load.
      </parameter>
      <parameter type="bool&#42; " name="success" value="NULL">
       May point to a bool variable which will be set to true or false; may also
       be
       <tt> NULL</tt>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       This function loads a shared library into memory, with
       <i> libname</i>
       being the name of the library: it may be either the full name including
       path and (platform-dependent) extension, just the basename (no path and
       no extension) or a basename with extension. In the last two cases, the
       library will be searched in all standard locations.
      </p>
      <p>
       Returns a handle to the loaded DLL. Use
       <i> success</i>
       parameter to test if it is valid. If the handle is valid, the library
       must be unloaded later with
       <ref target="wxdllloaderunloadlibrary">UnloadLibrary</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDllLoader" name="UnloadLibrary">
    <function type="void" name="UnloadLibrary">
     <parameters>
      <parameter type="wxDllType " name="dllhandle"></parameter>
     </parameters>
     <description>
      <p>
       This function unloads the shared library. The handle
       <i> dllhandle</i>
       must have been returned by
       <ref target="wxdllloaderloadlibrary">LoadLibrary</ref>
       previously.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDocChildFrame">
  <description>
   <p class="classdesc">
    The wxDocChildFrame class provides a default frame for displaying documents
    on separate windows. This class can only be used for SDI (not MDI) child
    frames.
   </p>
   <p class="classdesc">
    The class is part of the document/view framework supported by wxWidgets, and
    cooperates with the
    <ref target="wxview">wxView</ref>
    ,
    <ref target="wxdocument">wxDocument</ref>
    ,
    <ref target="wxdocmanager">wxDocManager</ref>
    and
    <ref target="wxdoctemplate">wxDocTemplate</ref>
    classes.
   </p>
   <p class="classdesc">
    See the example application in
    <tt> samples/docview</tt>
    .
   </p>
  </description>
  <category>Document/view framework</category>
  <shortdesc>A child frame for showing a document view</shortdesc>
  <parents>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docview.h"/>
  </includes>
  <members>
   <member class="wxDocChildFrame" name="m\_childDocument"></member>
   <member class="wxDocChildFrame" name="m\_childView"></member>
   <member class="wxDocChildFrame" name="wxDocChildFrame">
    <function type="" name="wxDocChildFrame">
     <parameters>
      <parameter type="wxDocument&#42; " name="doc"></parameter>
      <parameter type="wxView&#42; " name="view"></parameter>
      <parameter type="wxFrame&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="~wxDocChildFrame">
    <function type="" name="~wxDocChildFrame">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="GetDocument">
    <function type="wxDocument&#42;" name="GetDocument" suffix="const">
     <description>
      <p>
       Returns the document associated with this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="GetView">
    <function type="wxView&#42;" name="GetView" suffix="const">
     <description>
      <p>
       Returns the view associated with this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="OnActivate">
    <function type="void" name="OnActivate">
     <parameters>
      <parameter type="wxActivateEvent " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Sets the currently active view to be the frame's view. You may need to
       override (but still call) this function in order to set the keyboard
       focus for your subwindow.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="OnCloseWindow">
    <function type="void" name="OnCloseWindow">
     <parameters>
      <parameter type="wxCloseEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Closes and deletes the current view and document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="SetDocument">
    <function type="void" name="SetDocument">
     <parameters>
      <parameter type="wxDocument &#42;" name="doc"></parameter>
     </parameters>
     <description>
      <p>
       Sets the document for this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocChildFrame" name="SetView">
    <function type="void" name="SetView">
     <parameters>
      <parameter type="wxView &#42;" name="view"></parameter>
     </parameters>
     <description>
      <p>
       Sets the view for this frame.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDocMDIChildFrame">
  <description>
   <p class="classdesc">
    The wxDocMDIChildFrame class provides a default frame for displaying
    documents on separate windows. This class can only be used for MDI child
    frames.
   </p>
   <p class="classdesc">
    The class is part of the document/view framework supported by wxWidgets, and
    cooperates with the
    <ref target="wxview">wxView</ref>
    ,
    <ref target="wxdocument">wxDocument</ref>
    ,
    <ref target="wxdocmanager">wxDocManager</ref>
    and
    <ref target="wxdoctemplate">wxDocTemplate</ref>
    classes.
   </p>
   <p class="classdesc">
    See the example application in
    <tt> samples/docview</tt>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMDIChildFrame">wxMDIChildFrame</ref>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docmdi.h"/>
  </includes>
  <members>
   <member class="wxDocMDIChildFrame" name="m\_childDocument"></member>
   <member class="wxDocMDIChildFrame" name="m\_childView"></member>
   <member class="wxDocMDIChildFrame" name="wxDocMDIChildFrame">
    <function type="" name="wxDocMDIChildFrame">
     <parameters>
      <parameter type="wxDocument&#42; " name="doc"></parameter>
      <parameter type="wxView&#42; " name="view"></parameter>
      <parameter type="wxFrame&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="~wxDocMDIChildFrame">
    <function type="" name="~wxDocMDIChildFrame">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="GetDocument">
    <function type="wxDocument&#42;" name="GetDocument" suffix="const">
     <description>
      <p>
       Returns the document associated with this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="GetView">
    <function type="wxView&#42;" name="GetView" suffix="const">
     <description>
      <p>
       Returns the view associated with this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="OnActivate">
    <function type="void" name="OnActivate">
     <parameters>
      <parameter type="wxActivateEvent " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Sets the currently active view to be the frame's view. You may need to
       override (but still call) this function in order to set the keyboard
       focus for your subwindow.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="OnCloseWindow">
    <function type="void" name="OnCloseWindow">
     <parameters>
      <parameter type="wxCloseEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Closes and deletes the current view and document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="SetDocument">
    <function type="void" name="SetDocument">
     <parameters>
      <parameter type="wxDocument &#42;" name="doc"></parameter>
     </parameters>
     <description>
      <p>
       Sets the document for this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIChildFrame" name="SetView">
    <function type="void" name="SetView">
     <parameters>
      <parameter type="wxView &#42;" name="view"></parameter>
     </parameters>
     <description>
      <p>
       Sets the view for this frame.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDocMDIParentFrame">
  <description>
   <p class="classdesc">
    The wxDocMDIParentFrame class provides a default top-level frame for
    applications using the document/view framework. This class can only be used
    for MDI parent frames.
   </p>
   <p class="classdesc">
    It cooperates with the
    <ref target="wxview">wxView</ref>
    ,
    <ref target="wxdocument">wxDocument</ref>
    ,
    <ref target="wxdocmanager">wxDocManager</ref>
    and
    <ref target="wxdoctemplate">wxDocTemplates</ref>
    classes.
   </p>
   <p class="classdesc">
    See the example application in
    <tt> samples/docview</tt>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMDIParentFrame">wxMDIParentFrame</ref>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docmdi.h"/>
  </includes>
  <seealso>
   <ref target="docviewoverview">Document/view overview</ref>
   <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
  </seealso>
  <members>
   <member class="wxDocMDIParentFrame" name="wxDocMDIParentFrame">
    <function type="" name="wxDocMDIParentFrame">
     <parameters>
      <parameter type="wxDocManager&#42; " name="manager"></parameter>
      <parameter type="wxFrame &#42;" name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIParentFrame" name="~wxDocMDIParentFrame">
    <function type="" name="~wxDocMDIParentFrame">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocMDIParentFrame" name="OnCloseWindow">
    <function type="void" name="OnCloseWindow">
     <parameters>
      <parameter type="wxCloseEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Deletes all views and documents. If no user input cancelled the
       operation, the frame will be destroyed and the application will exit.
      </p>
      <p>
       Since understanding how document/view clean-up takes place can be
       difficult, the implementation of this function is shown below.
      </p>
      <pre>
void wxDocParentFrame::OnCloseWindow(wxCloseEvent&amp; event)
\{
  if (m\_docManager-&gt;Clear(!event.CanVeto()))
  \{
    this-&gt;Destroy();
  \}
  else
    event.Veto();
\}
</pre>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxDocManager">
  <description>
   <p class="classdesc">
    The wxDocManager class is part of the document/view framework supported by
    wxWidgets, and cooperates with the
    <ref target="wxview">wxView</ref>
    ,
    <ref target="wxdocument">wxDocument</ref>
    and
    <ref target="wxdoctemplate">wxDocTemplate</ref>
    classes.
   </p>
  </description>
  <category>Document/view framework</category>
  <shortdesc>Manages the documents and views in an application</shortdesc>
  <parents>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docview.h"/>
  </includes>
  <seealso>
   <ref target="wxdocmanageroverview">wxDocManager overview</ref>
   <ref target="wxdocument">wxDocument</ref>
   ,
   <ref target="wxview">wxView</ref>
   <ref target="wxdoctemplate">wxDocTemplate</ref>
   <ref target="wxfilehistory">wxFileHistory</ref>
  </seealso>
  <members>
   <member class="wxDocManager" name="m\_currentView"></member>
   <member class="wxDocManager" name="m\_defaultDocumentNameCounter"></member>
   <member class="wxDocManager" name="m\_fileHistory"></member>
   <member class="wxDocManager" name="m\_maxDocsOpen"></member>
   <member class="wxDocManager" name="m\_docs"></member>
   <member class="wxDocManager" name="m\_flags"></member>
   <member class="wxDocManager" name="m\_lastDirectory"></member>
   <member class="wxDocManager" name="m\_templates"></member>
   <member class="wxDocManager" name="wxDocManager">
    <function type="" name="wxDocManager">
     <parameters>
      <parameter type="long " name="flags" value="wxDEFAULT\_DOCMAN\_FLAGS"></parameter>
      <parameter type="bool " name="initialize" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Create a document manager instance dynamically near the
       start of your application before doing any document or view operations.
      </p>
      <p>
       <i> flags</i>
       is currently unused.
      </p>
      <p>
       If
       <i> initialize</i>
       is true, the
       <ref target="wxdocmanagerinitialize">Initialize</ref>
       function will be called to create a default history list object. If you
       derive from wxDocManager, you may wish to call the base constructor with
       false, and then call Initialize in your own constructor, to allow your
       own Initialize or OnCreateFileHistory functions to be called.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="~wxDocManager">
    <function type="void" name="~wxDocManager">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="ActivateView">
    <function type="void" name="ActivateView">
     <parameters>
      <parameter type="wxView&#42; " name="doc"></parameter>
      <parameter type="bool " name="activate" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current view.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="AddDocument">
    <function type="void" name="AddDocument">
     <parameters>
      <parameter type="wxDocument &#42;" name="doc"></parameter>
     </parameters>
     <description>
      <p>
       Adds the document to the list of documents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="AddFileToHistory">
    <function type="void" name="AddFileToHistory">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Adds a file to the file history list, if we have a pointer to an
       appropriate file menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="AssociateTemplate">
    <function type="void" name="AssociateTemplate">
     <parameters>
      <parameter type="wxDocTemplate &#42;" name="temp"></parameter>
     </parameters>
     <description>
      <p>
       Adds the template to the document manager's template list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="CloseDocuments">
    <function type="bool" name="CloseDocuments">
     <parameters>
      <parameter type="bool " name="force" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Closes all currently opened documents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="CreateDocument">
    <function type="wxDocument&#42;" name="CreateDocument">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new document in a manner determined by the
       <i> flags</i>
       parameter, which can be:
      </p>
      <p>
       <ul>
        <li>wxDOC\_NEW Creates a fresh document.</li>
        <li>wxDOC\_SILENT Silently loads the given document file.</li>
       </ul>
      </p>
      <p>
       If wxDOC\_NEW is present, a new document will be created and returned,
       possibly after asking the user for a template to use if there is more
       than one document template. If wxDOC\_SILENT is present, a new document
       will be created and the given file loaded into it. If neither of these
       flags is present, the user will be presented with a file selector for the
       file to load, and the template to use will be determined by the extension
       (Windows) or by popping up a template choice list (other platforms).
      </p>
      <p>
       If the maximum number of documents has been reached, this function will
       delete the oldest currently loaded document before creating a new one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="CreateView">
    <function type="wxView&#42;" name="CreateView">
     <parameters>
      <parameter type="wxDocument&#42;" name="doc"></parameter>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new view for the given document. If more than one view is
       allowed for the document (by virtue of multiple templates mentioning the
       same document type), a choice of view is presented to the user.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="DisassociateTemplate">
    <function type="void" name="DisassociateTemplate">
     <parameters>
      <parameter type="wxDocTemplate &#42;" name="temp"></parameter>
     </parameters>
     <description>
      <p>
       Removes the template from the list of templates.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="FileHistoryAddFilesToMenu">
    <function type="void" name="FileHistoryAddFilesToMenu">
     <description>
      <p>
       Appends the files in the history list, to all menus managed by the file
       history object.
      </p>
     </description>
    </function>
    <function type="void" name="FileHistoryAddFilesToMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Appends the files in the history list, to the given menu only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="FileHistoryLoad">
    <function type="void" name="FileHistoryLoad">
     <parameters>
      <parameter type="wxConfigBase&amp; " name="config"></parameter>
     </parameters>
     <seealso>
      <ref target="wxconfigbase">wxConfig</ref>
     </seealso>
     <description>
      <p>
       Loads the file history from a config object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="FileHistoryRemoveMenu">
    <function type="void" name="FileHistoryRemoveMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Removes the given menu from the list of menus managed by the file history
       object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="FileHistorySave">
    <function type="void" name="FileHistorySave">
     <parameters>
      <parameter type="wxConfigBase&amp; " name="resourceFile"></parameter>
     </parameters>
     <seealso>
      <ref target="wxconfigbase">wxConfig</ref>
     </seealso>
     <description>
      <p>
       Saves the file history into a config object. This must be called
       explicitly by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="FileHistoryUseMenu">
    <function type="void" name="FileHistoryUseMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Use this menu for appending recently-visited document filenames, for
       convenient access. Calling this function with a valid menu pointer
       enables the history list functionality.
      </p>
      <p>
       Note that you can add multiple menus using this function, to be managed
       by the file history object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="FindTemplateForPath">
    <function type="wxDocTemplate &#42;" name="FindTemplateForPath">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Given a path, try to find template that matches the extension. This is
       only an approximate method of finding a template for creating a document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetCurrentDocument">
    <function type="wxDocument &#42;" name="GetCurrentDocument">
     <description>
      <p>
       Returns the document associated with the currently active view (if any).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetCurrentView">
    <function type="wxView &#42;" name="GetCurrentView">
     <description>
      <p>
       Returns the currently active view
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetDocuments">
    <function type="wxList&amp;" name="GetDocuments">
     <description>
      <p>
       Returns a reference to the list of documents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetFileHistory">
    <function type="wxFileHistory &#42;" name="GetFileHistory">
     <description>
      <p>
       Returns a pointer to file history.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetLastDirectory">
    <function type="wxString" name="GetLastDirectory" suffix="const">
     <description>
      <p>
       Returns the directory last selected by the user when opening a file.
       Initially empty.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetMaxDocsOpen">
    <function type="int" name="GetMaxDocsOpen">
     <description>
      <p>
       Returns the number of documents that can be open simultaneously.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetHistoryFilesCount">
    <function type="size\_t" name="GetHistoryFilesCount">
     <description>
      <p>
       Returns the number of files currently stored in the file history.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="GetTemplates">
    <function type="wxList&amp;" name="GetTemplates">
     <description>
      <p>
       Returns a reference to the list of associated templates.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="Initialize">
    <function type="bool" name="Initialize">
     <description>
      <p>
       Initializes data; currently just calls OnCreateFileHistory. Some data
       cannot always be initialized in the constructor because the programmer
       must be given the opportunity to override functionality. If
       OnCreateFileHistory was called from the constructor, an overridden
       virtual OnCreateFileHistory would not be called due to C++'s
       `interesting' constructor semantics. In fact Initialize
       <i> is</i>
       called from the wxDocManager constructor, but this can be vetoed by
       passing false to the second argument, allowing the derived class's
       constructor to call Initialize, possibly calling a different
       OnCreateFileHistory from the default.
      </p>
      <p>
       The bottom line: if you're not deriving from Initialize, forget it and
       construct wxDocManager with no arguments.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="MakeDefaultName">
    <function type="bool" name="MakeDefaultName">
     <parameters>
      <parameter type="const wxString&amp; " name="buf"></parameter>
     </parameters>
     <description>
      <p>
       Copies a suitable default name into
       <i> buf</i>
       . This is implemented by appending an integer counter to the string
       <b> unnamed</b>
       and incrementing the counter.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnCreateFileHistory">
    <function type="wxFileHistory &#42;" name="OnCreateFileHistory">
     <description>
      <p>
       A hook to allow a derived class to create a different type of file
       history. Called from
       <ref target="wxdocmanagerinitialize">Initialize</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileClose">
    <function type="void" name="OnFileClose">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Closes and deletes the currently active document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileCloseAll">
    <function type="void" name="OnFileCloseAll">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Closes and deletes all the currently opened documents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileNew">
    <function type="void" name="OnFileNew">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Creates a document from a list of templates (if more than one template).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileOpen">
    <function type="void" name="OnFileOpen">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new document and reads in the selected file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileRevert">
    <function type="void" name="OnFileRevert">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Reverts the current document by calling wxDocument::Revert for the
       current document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileSave">
    <function type="void" name="OnFileSave">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Saves the current document by calling wxDocument::Save for the current
       document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="OnFileSaveAs">
    <function type="void" name="OnFileSaveAs">
     <parameters>
      <parameter type="wxCommandEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Calls wxDocument::SaveAs for the current document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="RemoveDocument">
    <function type="void" name="RemoveDocument">
     <parameters>
      <parameter type="wxDocument &#42;" name="doc"></parameter>
     </parameters>
     <description>
      <p>
       Removes the document from the list of documents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="SelectDocumentPath">
    <function type="wxDocTemplate &#42;" name="SelectDocumentPath">
     <parameters>
      <parameter type="wxDocTemplate &#42;&#42;" name="templates"></parameter>
      <parameter type="int " name="noTemplates"></parameter>
      <parameter type="wxString&amp; " name="path"></parameter>
      <parameter type="long " name="flags"></parameter>
      <parameter type="bool " name="save"></parameter>
     </parameters>
     <description>
      <p>
       Under Windows, pops up a file selector with a list of filters
       corresponding to document templates. The wxDocTemplate corresponding to
       the selected file's extension is returned.
      </p>
      <p>
       On other platforms, if there is more than one document template a choice
       list is popped up, followed by a file selector.
      </p>
      <p>
       This function is used in wxDocManager::CreateDocument.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="SelectDocumentType">
    <function type="wxDocTemplate &#42;" name="SelectDocumentType">
     <parameters>
      <parameter type="wxDocTemplate &#42;&#42;" name="templates">
       Pointer to an array of templates from which to choose a desired template.
      </parameter>
      <parameter type="int " name="noTemplates">
       Number of templates being pointed to by the
       <i> templates</i>
       pointer.
      </parameter>
      <parameter type="bool " name="sort" value="false">
       If more than one template is passed in in
       <i> templates</i>
       , then this parameter indicates whether the list of templates that the
       user will have to choose from is sorted or not when shown the choice box
       dialog. Default is false.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns a document template by asking the user (if there is more than one
       template). This function is used in wxDocManager::CreateDocument.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="SelectViewType">
    <function type="wxDocTemplate &#42;" name="SelectViewType">
     <parameters>
      <parameter type="wxDocTemplate &#42;&#42;" name="templates">
       Pointer to an array of templates from which to choose a desired template.
      </parameter>
      <parameter type="int " name="noTemplates">
       Number of templates being pointed to by the
       <i> templates</i>
       pointer.
      </parameter>
      <parameter type="bool " name="sort" value="false">
       If more than one template is passed in in
       <i> templates</i>
       , then this parameter indicates whether the list of templates that the
       user will have to choose from is sorted or not when shown the choice box
       dialog. Default is false.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns a document template by asking the user (if there is more than one
       template), displaying a list of valid views. This function is used in
       wxDocManager::CreateView. The dialog normally will not appear because the
       array of templates only contains those relevant to the document in
       question, and often there will only be one such.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="SetLastDirectory">
    <function type="void" name="SetLastDirectory">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Sets the directory to be displayed to the user when opening a file.
       Initially this is empty.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocManager" name="SetMaxDocsOpen">
    <function type="void" name="SetMaxDocsOpen">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Sets the maximum number of documents that can be open at a time. By
       default, this is 10,000. If you set it to 1, existing documents will be
       saved and deleted when the user tries to open or create a new one
       (similar to the behaviour of Windows Write, for example). Allowing
       multiple documents gives behaviour more akin to MS Word and other
       Multiple Document Interface applications.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDocParentFrame">
  <description>
   <p class="classdesc">
    The wxDocParentFrame class provides a default top-level frame for
    applications using the document/view framework. This class can only be used
    for SDI (not MDI) parent frames.
   </p>
   <p class="classdesc">
    It cooperates with the
    <ref target="wxview">wxView</ref>
    ,
    <ref target="wxdocument">wxDocument</ref>
    ,
    <ref target="wxdocmanager">wxDocManager</ref>
    and
    <ref target="wxdoctemplate">wxDocTemplates</ref>
    classes.
   </p>
   <p class="classdesc">
    See the example application in
    <tt> samples/docview</tt>
    .
   </p>
  </description>
  <category>Document/view framework</category>
  <shortdesc>A parent frame to contain views</shortdesc>
  <parents>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docview.h"/>
  </includes>
  <seealso>
   <ref target="docviewoverview">Document/view overview</ref>
   <ref target="wxframe">wxFrame</ref>
  </seealso>
  <members>
   <member class="wxDocParentFrame" name="wxDocParentFrame">
    <function type="" name="wxDocParentFrame">
     <parameters>
      <parameter type="wxDocManager&#42; " name="manager"></parameter>
      <parameter type="wxFrame &#42;" name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocParentFrame" name="~wxDocParentFrame">
    <function type="" name="~wxDocParentFrame">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocParentFrame" name="OnCloseWindow">
    <function type="void" name="OnCloseWindow">
     <parameters>
      <parameter type="wxCloseEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Deletes all views and documents. If no user input cancelled the
       operation, the frame will be destroyed and the application will exit.
      </p>
      <p>
       Since understanding how document/view clean-up takes place can be
       difficult, the implementation of this function is shown below.
      </p>
      <pre>
void wxDocParentFrame::OnCloseWindow(wxCloseEvent&amp; event)
\{
  if (m\_docManager-&gt;Clear(!event.CanVeto()))
  \{
    this-&gt;Destroy();
  \}
  else
    event.Veto();
\}
</pre>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDocTemplate">
  <description>
   <p class="classdesc">
    The wxDocTemplate class is used to model the relationship between a document
    class and a view class.
   </p>
  </description>
  <category>Document/view framework</category>
  <shortdesc>Manages the relationship between a document class and a view class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docview.h"/>
  </includes>
  <seealso>
   <ref target="wxdoctemplateoverview">wxDocTemplate overview</ref>
   <ref target="wxdocument">wxDocument</ref>
   <ref target="wxview">wxView</ref>
  </seealso>
  <members>
   <member class="wxDocTemplate" name="m\_defaultExt"></member>
   <member class="wxDocTemplate" name="m\_description"></member>
   <member class="wxDocTemplate" name="m\_directory"></member>
   <member class="wxDocTemplate" name="m\_docClassInfo"></member>
   <member class="wxDocTemplate" name="m\_docTypeName"></member>
   <member class="wxDocTemplate" name="m\_documentManager"></member>
   <member class="wxDocTemplate" name="m\_fileFilter"></member>
   <member class="wxDocTemplate" name="m\_flags"></member>
   <member class="wxDocTemplate" name="m\_viewClassInfo"></member>
   <member class="wxDocTemplate" name="m\_viewTypeName"></member>
   <member class="wxDocTemplate" name="wxDocTemplate">
    <function type="" name="wxDocTemplate">
     <parameters>
      <parameter type="wxDocManager&#42; " name="manager"></parameter>
      <parameter type="const wxString&amp; " name="descr"></parameter>
      <parameter type="const wxString&amp; " name="filter"></parameter>
      <parameter type="const wxString&amp; " name="dir"></parameter>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="const wxString&amp; " name="docTypeName"></parameter>
      <parameter type="const wxString&amp; " name="viewTypeName"></parameter>
      <parameter type="wxClassInfo&#42; " name="docClassInfo" value="NULL"></parameter>
      <parameter type="wxClassInfo&#42; " name="viewClassInfo" value="NULL"></parameter>
      <parameter type="long " name="flags" value="wxDEFAULT\_TEMPLATE\_FLAGS"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Create instances dynamically near the start of your
       application after creating a wxDocManager instance, and before doing any
       document or view operations.
      </p>
      <p>
       <i> manager</i>
       is the document manager object which manages this template.
      </p>
      <p>
       <i> descr</i>
       is a short description of what the template is for. This string will be
       displayed in the file filter list of Windows file selectors.
      </p>
      <p>
       <i> filter</i>
       is an appropriate file filter such as
       <tt> &#42;.txt</tt>
       .
      </p>
      <p>
       <i> dir</i>
       is the default directory to use for file selectors.
      </p>
      <p>
       <i> ext</i>
       is the default file extension (such as txt).
      </p>
      <p>
       <i> docTypeName</i>
       is a name that should be unique for a given type of document, used for
       gathering a list of views relevant to a particular document.
      </p>
      <p>
       <i> viewTypeName</i>
       is a name that should be unique for a given view.
      </p>
      <p>
       <i> docClassInfo</i>
       is a pointer to the run-time document class information as returned by
       the CLASSINFO macro, e.g. CLASSINFO(MyDocumentClass). If this is not
       supplied, you will need to derive a new wxDocTemplate class and override
       the CreateDocument member to return a new document instance on demand.
      </p>
      <p>
       <i> viewClassInfo</i>
       is a pointer to the run-time view class information as returned by the
       CLASSINFO macro, e.g. CLASSINFO(MyViewClass). If this is not supplied,
       you will need to derive a new wxDocTemplate class and override the
       CreateView member to return a new view instance on demand.
      </p>
      <p>
       <i> flags</i>
       is a bit list of the following:
      </p>
      <p>
       <ul>
        <li>wxTEMPLATE\_VISIBLE The template may be displayed to the user in dialogs.</li>
        <li>wxTEMPLATE\_INVISIBLE The template may not be displayed to the user in dialogs.</li>
        <li>wxDEFAULT\_TEMPLATE\_FLAGS Defined as wxTEMPLATE\_VISIBLE.</li>
       </ul>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="~wxDocTemplate">
    <function type="void" name="~wxDocTemplate">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="CreateDocument">
    <function type="wxDocument &#42;" name="CreateDocument">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="long " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new instance of the associated document class. If you have not
       supplied a wxClassInfo parameter to the template constructor, you will
       need to override this function to return an appropriate document
       instance.
      </p>
      <p>
       This function calls wxDocTemplate::InitDocument which in turns calls
       wxDocument::OnCreate.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="CreateView">
    <function type="wxView &#42;" name="CreateView">
     <parameters>
      <parameter type="wxDocument &#42;" name="doc"></parameter>
      <parameter type="long " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new instance of the associated view class. If you have not
       supplied a wxClassInfo parameter to the template constructor, you will
       need to override this function to return an appropriate view instance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetDefaultExtension">
    <function type="wxString" name="GetDefaultExtension">
     <description>
      <p>
       Returns the default file extension for the document data, as passed to
       the document template constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetDescription">
    <function type="wxString" name="GetDescription">
     <description>
      <p>
       Returns the text description of this template, as passed to the document
       template constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetDirectory">
    <function type="wxString" name="GetDirectory">
     <description>
      <p>
       Returns the default directory, as passed to the document template
       constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetDocumentManager">
    <function type="wxDocManager &#42;" name="GetDocumentManager">
     <description>
      <p>
       Returns a pointer to the document manager instance for which this
       template was created.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetDocumentName">
    <function type="wxString" name="GetDocumentName">
     <description>
      <p>
       Returns the document type name, as passed to the document template
       constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetFileFilter">
    <function type="wxString" name="GetFileFilter">
     <description>
      <p>
       Returns the file filter, as passed to the document template constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetFlags">
    <function type="long" name="GetFlags">
     <description>
      <p>
       Returns the flags, as passed to the document template constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="GetViewName">
    <function type="wxString" name="GetViewName">
     <description>
      <p>
       Returns the view type name, as passed to the document template
       constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="InitDocument">
    <function type="bool" name="InitDocument">
     <parameters>
      <parameter type="wxDocument&#42; " name="doc"></parameter>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="long " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Initialises the document, calling wxDocument::OnCreate. This is called
       from wxDocTemplate::CreateDocument.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="IsVisible">
    <function type="bool" name="IsVisible">
     <description>
      <p>
       Returns true if the document template can be shown in user dialogs, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="SetDefaultExtension">
    <function type="void" name="SetDefaultExtension">
     <parameters>
      <parameter type="const wxString&amp; " name="ext"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default file extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="SetDescription">
    <function type="void" name="SetDescription">
     <parameters>
      <parameter type="const wxString&amp; " name="descr"></parameter>
     </parameters>
     <description>
      <p>
       Sets the template description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="SetDirectory">
    <function type="void" name="SetDirectory">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="SetDocumentManager">
    <function type="void" name="SetDocumentManager">
     <parameters>
      <parameter type="wxDocManager &#42;" name="manager"></parameter>
     </parameters>
     <description>
      <p>
       Sets the pointer to the document manager instance for which this template
       was created. Should not be called by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="SetFileFilter">
    <function type="void" name="SetFileFilter">
     <parameters>
      <parameter type="const wxString&amp; " name="filter"></parameter>
     </parameters>
     <description>
      <p>
       Sets the file filter.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocTemplate" name="SetFlags">
    <function type="void" name="SetFlags">
     <parameters>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Sets the internal document template flags (see the constructor
       description for more details).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDocument">
  <description>
   <p class="classdesc">
    The document class can be used to model an application's file-based data. It
    is part of the document/view framework supported by wxWidgets, and
    cooperates with the
    <ref target="wxview">wxView</ref>
    ,
    <ref target="wxdoctemplate">wxDocTemplate</ref>
    and
    <ref target="wxdocmanager">wxDocManager</ref>
    classes.
   </p>
  </description>
  <category>Document/view framework</category>
  <shortdesc>Represents a document</shortdesc>
  <parents>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docview.h"/>
  </includes>
  <seealso>
   <ref target="wxdocumentoverview">wxDocument overview</ref>
   <ref target="wxview">wxView</ref>
   ,
   <ref target="wxdoctemplate">wxDocTemplate</ref>
   <ref target="wxdocmanager">wxDocManager</ref>
  </seealso>
  <members>
   <member class="wxDocument" name="m\_commandProcessor"></member>
   <member class="wxDocument" name="m\_documentFile"></member>
   <member class="wxDocument" name="m\_documentModified"></member>
   <member class="wxDocument" name="m\_documentTemplate"></member>
   <member class="wxDocument" name="m\_documentTitle"></member>
   <member class="wxDocument" name="m\_documentTypeName"></member>
   <member class="wxDocument" name="m\_documentViews"></member>
   <member class="wxDocument" name="wxDocument">
    <function type="" name="wxDocument">
     <description>
      <p>
       Constructor. Define your own default constructor to initialize
       application-specific data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="~wxDocument">
    <function type="" name="~wxDocument">
     <description>
      <p>
       Destructor. Removes itself from the document manager.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="AddView">
    <function type="virtual bool" name="AddView">
     <parameters>
      <parameter type="wxView &#42;" name="view"></parameter>
     </parameters>
     <description>
      <p>
       If the view is not already in the list of views, adds the view and calls
       OnChangedViewList.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="Close">
    <function type="virtual bool" name="Close">
     <description>
      <p>
       Closes the document, by calling OnSaveModified and then (if this returned
       true) OnCloseDocument. This does not normally delete the document object:
       use DeleteAllViews to do this implicitly.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="DeleteAllViews">
    <function type="virtual bool" name="DeleteAllViews">
     <description>
      <p>
       Calls wxView::Close and deletes each view. Deleting the final view will
       implicitly delete the document itself, because the wxView destructor
       calls RemoveView. This in turns calls wxDocument::OnChangedViewList,
       whose default implemention is to save and delete the document if no views
       exist.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetCommandProcessor">
    <function type="wxCommandProcessor&#42;" name="GetCommandProcessor" suffix="const">
     <description>
      <p>
       Returns a pointer to the command processor associated with this document.
      </p>
      <p>
       See
       <ref target="wxcommandprocessor">wxCommandProcessor</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetDocumentTemplate">
    <function type="wxDocTemplate&#42;" name="GetDocumentTemplate" suffix="const">
     <description>
      <p>
       Gets a pointer to the template that created the document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetDocumentManager">
    <function type="wxDocManager&#42;" name="GetDocumentManager" suffix="const">
     <description>
      <p>
       Gets a pointer to the associated document manager.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetDocumentName">
    <function type="wxString" name="GetDocumentName" suffix="const">
     <description>
      <p>
       Gets the document type name for this document. See the comment for
       <ref target="documenttypename">documentTypeName</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetDocumentWindow">
    <function type="wxWindow&#42;" name="GetDocumentWindow" suffix="const">
     <description>
      <p>
       Intended to return a suitable window for using as a parent for
       document-related dialog boxes. By default, uses the frame associated with
       the first view.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetFilename">
    <function type="wxString" name="GetFilename" suffix="const">
     <description>
      <p>
       Gets the filename associated with this document, or &quot;&quot; if none
       is associated.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetFirstView">
    <function type="wxView &#42;" name="GetFirstView" suffix="const">
     <description>
      <p>
       A convenience function to get the first view for a document, because in
       many cases a document will only have a single view.
      </p>
      <p>
       See also
       <ref target="wxdocumentgetviews">GetViews</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetPrintableName">
    <function type="virtual void" name="GetPrintableName" suffix="const">
     <parameters>
      <parameter type="wxString&amp; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Copies a suitable document name into the supplied
       <i> name</i>
       buffer. The default function uses the title, or if there is no title,
       uses the filename; or if no filename, the string
       <b> unnamed</b>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetTitle">
    <function type="wxString" name="GetTitle" suffix="const">
     <description>
      <p>
       Gets the title for this document. The document title is used for an
       associated frame (if any), and is usually constructed by the framework
       from the filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="GetViews">
    <function type="wxList &amp;" name="GetViews" suffix="const">
     <description>
      <p>
       Returns the list whose elements are the views on the document.
      </p>
      <p>
       See also
       <ref target="wxdocumentgetfirstview">GetFirstView</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="IsModified">
    <function type="virtual bool" name="IsModified" suffix="const">
     <description>
      <p>
       Returns true if the document has been modified since the last save, false
       otherwise. You may need to override this if your document view maintains
       its own record of being modified (for example if using wxTextWindow to
       view and edit the document).
      </p>
      <p>
       See also
       <ref target="wxdocumentmodify">Modify</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="LoadObject">
    <function type="virtual istream&amp;" name="LoadObject">
     <parameters>
      <parameter type="istream&amp; " name="stream"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="virtual wxInputStream&amp;" name="LoadObject">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Override this function and call it from your own LoadObject before
       streaming your own data. LoadObject is called by the framework
       automatically when the document contents need to be loaded.
      </p>
      <p>
       Note that only one of these forms exists, depending on how wxWidgets was
       configured.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="Modify">
    <function type="virtual void" name="Modify">
     <parameters>
      <parameter type="bool " name="modify"></parameter>
     </parameters>
     <description>
      <p>
       Call with true to mark the document as modified since the last save,
       false otherwise. You may need to override this if your document view
       maintains its own record of being modified (for example if using
       wxTextWindow to view and edit the document).
      </p>
      <p>
       See also
       <ref target="wxdocumentismodified">IsModified</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnChangedViewList">
    <function type="virtual void" name="OnChangedViewList">
     <description>
      <p>
       Called when a view is added to or deleted from this document. The default
       implementation saves and deletes the document if no views exist (the last
       one has just been removed).
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnCloseDocument">
    <function type="virtual bool" name="OnCloseDocument">
     <description>
      <p>
       The default implementation calls DeleteContents (an empty implementation)
       sets the modified flag to false. Override this to supply additional
       behaviour when the document is closed with Close.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnCreate">
    <function type="virtual bool" name="OnCreate">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Called just after the document object is created to give it a chance to
       initialize itself. The default implementation uses the template
       associated with the document to create an initial view. If this function
       returns false, the document is deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnCreateCommandProcessor">
    <function type="virtual wxCommandProcessor&#42;" name="OnCreateCommandProcessor">
     <description>
      <p>
       Override this function if you want a different (or no) command processor
       to be created when the document is created. By default, it returns an
       instance of wxCommandProcessor.
      </p>
      <p>
       See
       <ref target="wxcommandprocessor">wxCommandProcessor</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnNewDocument">
    <function type="virtual bool" name="OnNewDocument">
     <description>
      <p>
       The default implementation calls OnSaveModified and DeleteContents, makes
       a default title for the document, and notifies the views that the
       filename (in fact, the title) has changed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnOpenDocument">
    <function type="virtual bool" name="OnOpenDocument">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Constructs an input file stream for the given filename (which must not be
       empty), and calls LoadObject. If LoadObject returns true, the document is
       set to unmodified; otherwise, an error message box is displayed. The
       document's views are notified that the filename has changed, to give
       windows an opportunity to update their titles. All of the document's
       views are then updated.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnSaveDocument">
    <function type="virtual bool" name="OnSaveDocument">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Constructs an output file stream for the given filename (which must not
       be empty), and calls SaveObject. If SaveObject returns true, the document
       is set to unmodified; otherwise, an error message box is displayed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="OnSaveModified">
    <function type="virtual bool" name="OnSaveModified">
     <description>
      <p>
       If the document has been modified, prompts the user to ask if the changes
       should be changed. If the user replies Yes, the Save function is called.
       If No, the document is marked as unmodified and the function succeeds. If
       Cancel, the function fails.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="RemoveView">
    <function type="virtual bool" name="RemoveView">
     <parameters>
      <parameter type="wxView&#42; " name="view"></parameter>
     </parameters>
     <description>
      <p>
       Removes the view from the document's list of views, and calls
       OnChangedViewList.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="Save">
    <function type="virtual bool" name="Save">
     <description>
      <p>
       Saves the document by calling OnSaveDocument if there is an associated
       filename, or SaveAs if there is no filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SaveAs">
    <function type="virtual bool" name="SaveAs">
     <description>
      <p>
       Prompts the user for a file to save to, and then calls OnSaveDocument.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SaveObject">
    <function type="virtual ostream&amp;" name="SaveObject">
     <parameters>
      <parameter type="ostream&amp; " name="stream"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="virtual wxOutputStream&amp;" name="SaveObject">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Override this function and call it from your own SaveObject before
       streaming your own data. SaveObject is called by the framework
       automatically when the document contents need to be saved.
      </p>
      <p>
       Note that only one of these forms exists, depending on how wxWidgets was
       configured.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SetCommandProcessor">
    <function type="virtual void" name="SetCommandProcessor">
     <parameters>
      <parameter type="wxCommandProcessor &#42;" name="processor"></parameter>
     </parameters>
     <description>
      <p>
       Sets the command processor to be used for this document. The document
       will then be responsible for its deletion. Normally you should not call
       this; override OnCreateCommandProcessor instead.
      </p>
      <p>
       See
       <ref target="wxcommandprocessor">wxCommandProcessor</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SetDocumentName">
    <function type="void" name="SetDocumentName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Sets the document type name for this document. See the comment for
       <ref target="documenttypename">documentTypeName</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SetDocumentTemplate">
    <function type="void" name="SetDocumentTemplate">
     <parameters>
      <parameter type="wxDocTemplate&#42; " name="templ"></parameter>
     </parameters>
     <description>
      <p>
       Sets the pointer to the template that created the document. Should only
       be called by the framework.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SetFilename">
    <function type="void" name="SetFilename">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="bool " name="notifyViews" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Sets the filename for this document. Usually called by the framework.
      </p>
      <p>
       If
       <i> notifyViews</i>
       is true, wxView::OnChangeFilename is called for all views.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="SetTitle">
    <function type="void" name="SetTitle">
     <parameters>
      <parameter type="const wxString&amp; " name="title"></parameter>
     </parameters>
     <description>
      <p>
       Sets the title for this document. The document title is used for an
       associated frame (if any), and is usually constructed by the framework
       from the filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDocument" name="UpdateAllViews">
    <function type="void" name="UpdateAllViews">
     <parameters>
      <parameter type="wxView&#42; " name="sender" value="NULL"></parameter>
      <parameter type="wxObject&#42; " name="hint" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Updates all views. If
       <i> sender</i>
       is non-NULL, does not update this view.
      </p>
      <p>
       <i> hint</i>
       represents optional information to allow a view to optimize its update.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDragImage">
  <description>
   <p class="classdesc">
    This class is used when you wish to drag an object on the screen, and a
    simple cursor is not enough.
   </p>
   <p class="classdesc">
    On Windows, the WIN32 API is used to do achieve smooth dragging. On other
    platforms, wxGenericDragImage is used. Applications may also prefer to use
    wxGenericDragImage on Windows, too.
   </p>
   <p class="classdesc">
    To use this class, when you wish to start dragging an image, create a
    wxDragImage object and store it somewhere you can access it as the drag
    progresses. Call BeginDrag to start, and EndDrag to stop the drag. To move
    the image, initially call Show and then Move. If you wish to update the
    screen contents during the drag (for example, highlight an item as in the
    dragimag sample), first call Hide, update the screen, call Move, and then
    call Show.
   </p>
   <p class="classdesc">
    You can drag within one window, or you can use full-screen dragging either
    across the whole screen, or just restricted to one area of the screen to
    save resources. If you want the user to drag between two windows, then you
    will need to use full-screen dragging.
   </p>
   <p class="classdesc">
    If you wish to draw the image yourself, use wxGenericDragImage and override
    <ref target="wxdragimagedodrawimage">wxDragImage::DoDrawImage</ref>
    and
    <ref target="wxdragimagegetimagerect">wxDragImage::GetImageRect</ref>
    .
   </p>
   <p class="classdesc">
    Please see
    <tt> samples/dragimag</tt>
    for an example.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dragimag.h" comment="&lt;wx/generic/dragimgg.h&gt;"/>
  </includes>
  <members>
   <member class="wxDragImage" name="wxDragImage">
    <function type="" name="wxDragImage">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxDragImage">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="image">
       Icon or bitmap to be used as the drag image. The bitmap can have a mask.
      </parameter>
      <parameter type="const wxCursor&amp; " name="cursor" value="wxNullCursor">
       Optional cursor to combine with the image.
      </parameter>
      <parameter type="const wxPoint&amp; " name="cursorHotspot" value="wxPoint(0,"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a drag image from a bitmap and optional cursor.
      </p>
     </description>
    </function>
    <function type="" name="wxDragImage">
     <parameters>
      <parameter type="const wxIcon&amp; " name="image">
       Icon or bitmap to be used as the drag image. The bitmap can have a mask.
      </parameter>
      <parameter type="const wxCursor&amp; " name="cursor" value="wxNullCursor">
       Optional cursor to combine with the image.
      </parameter>
      <parameter type="const wxPoint&amp; " name="cursorHotspot" value="wxPoint(0,"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a drag image from an icon and optional cursor.
      </p>
     </description>
    </function>
    <function type="" name="wxDragImage">
     <parameters>
      <parameter type="const wxString&amp; " name="text">
       Text used to construct a drag image.
      </parameter>
      <parameter type="const wxCursor&amp; " name="cursor" value="wxNullCursor">
       Optional cursor to combine with the image.
      </parameter>
      <parameter type="const wxPoint&amp; " name="cursorHotspot" value="wxPoint(0,"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a drag image from a text string and optional cursor.
      </p>
     </description>
    </function>
    <function type="" name="wxDragImage">
     <parameters>
      <parameter type="const wxTreeCtrl&amp; " name="treeCtrl">
       Tree control for constructing a tree drag image.
      </parameter>
      <parameter type="wxTreeItemId&amp; " name="id">
       Tree or list control item id.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a drag image from the text in the given tree control item, and
       optional cursor.
      </p>
     </description>
    </function>
    <function type="" name="wxDragImage">
     <parameters>
      <parameter type="const wxListCtrl&amp; " name="treeCtrl">
       Tree control for constructing a tree drag image.
      </parameter>
      <parameter type="long " name="id">
       Tree or list control item id.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a drag image from the text in the given tree control item, and
       optional cursor.
      </p>
     </description>
    </function>
    <function type="" name="wxDragImage">
     <parameters>
      <parameter type="const wxCursor&amp; " name="cursor" value="wxNullCursor">
       Optional cursor to combine with the image.
      </parameter>
      <parameter type="const wxPoint&amp; " name="cursorHotspot" value="wxPoint(0,"></parameter>
     </parameters>
     <description>
      <p>
       Constructs a drag image an optional cursor. This constructor is only
       available for wxGenericDragImage, and can be used when the application
       supplies
       <ref target="wxdragimagedodrawimage">wxDragImage::DoDrawImage</ref>
       and
       <ref target="wxdragimagegetimagerect">wxDragImage::GetImageRect</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="BeginDrag">
    <function type="bool" name="BeginDrag">
     <parameters>
      <parameter type="const wxPoint&amp; " name="hotspot">
       The location of the drag position relative to the upper-left corner of
       the image.
      </parameter>
      <parameter type="wxWindow&#42; " name="window">
       The window that captures the mouse, and within which the dragging is
       limited unless
       <i> fullScreen</i>
       is true.
      </parameter>
      <parameter type="bool " name="fullScreen" value="false">
       If true, specifies that the drag will be visible over the full screen, or
       over as much of the screen as is specified by
       <i> rect</i>
       . Note that the mouse will still be captured in
       <i> window</i>
       .
      </parameter>
      <parameter type="wxRect&#42; " name="rect" value="NULL">
       If non-NULL, specifies the rectangle (in screen coordinates) that bounds
       the dragging operation. Specifying this can make the operation more
       efficient by cutting down on the area under consideration, and it can
       also make a visual difference since the drag is clipped to this area.
      </parameter>
     </parameters>
     <description>
      <p>
       Start dragging the image, in a window or full screen.
      </p>
     </description>
    </function>
    <function type="bool" name="BeginDrag">
     <parameters>
      <parameter type="const wxPoint&amp; " name="hotspot">
       The location of the drag position relative to the upper-left corner of
       the image.
      </parameter>
      <parameter type="wxWindow&#42; " name="window">
       The window that captures the mouse, and within which the dragging is
       limited unless
       <i> fullScreen</i>
       is true.
      </parameter>
      <parameter type="wxWindow&#42; " name="boundingWindow">
       In the second form of the function, specifies the area within which the
       drag occurs.
      </parameter>
     </parameters>
     <description>
      <p>
       Start dragging the image, using the first window to capture the mouse and
       the second to specify the bounding area. This form is equivalent to using
       the first form, but more convenient than working out the bounding
       rectangle explicitly.
      </p>
      <p>
       You need to then call
       <ref target="wxdragimageshow">wxDragImage::Show</ref>
       and
       <ref target="wxdragimagemove">wxDragImage::Move</ref>
       to show the image on the screen.
      </p>
      <p>
       Call
       <ref target="wxdragimageenddrag">wxDragImage::EndDrag</ref>
       when the drag has finished.
      </p>
      <p>
       Note that this call automatically calls CaptureMouse.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="DoDrawImage">
    <function type="virtual bool" name="DoDrawImage">
     <parameters>
      <parameter type="wxDC&amp; " name="dc"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Draws the image on the device context with top-left corner at the given
       position.
      </p>
      <p>
       This function is only available with wxGenericDragImage, to allow
       applications to draw their own image instead of using an actual bitmap.
       If you override this function, you must also override
       <ref target="wxdragimagegetimagerect">wxDragImage::GetImageRect</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="EndDrag">
    <function type="bool" name="EndDrag">
     <description>
      <p>
       Call this when the drag has finished.
      </p>
      <p>
       Note that this call automatically calls ReleaseMouse.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="GetImageRect">
    <function type="virtual wxRect" name="GetImageRect" suffix="const">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Returns the rectangle enclosing the image, assuming that the image is
       drawn with its top-left corner at the given point.
      </p>
      <p>
       This function is available in wxGenericDragImage only, and may be
       overridden (together with
       <ref target="wxdragimagedodrawimage">wxDragImage::DoDrawImage</ref>
       ) to provide a virtual drawing capability.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="Hide">
    <function type="bool" name="Hide">
     <description>
      <p>
       Hides the image. You may wish to call this before updating the window
       contents (perhaps highlighting an item). Then call
       <ref target="wxdragimagemove">wxDragImage::Move</ref>
       and
       <ref target="wxdragimageshow">wxDragImage::Show</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="Move">
    <function type="bool" name="Move">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
     </parameters>
     <description>
      <p>
       Call this to move the image to a new position. The image will only be
       shown if
       <ref target="wxdragimageshow">wxDragImage::Show</ref>
       has been called previously (for example at the start of the drag).
      </p>
      <p>
       <i> pt</i>
       is the position in client coordinates (relative to the window specified
       in BeginDrag).
      </p>
      <p>
       You can move the image either when the image is hidden or shown, but in
       general dragging will be smoother if you move the image when it is shown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="Show">
    <function type="bool" name="Show">
     <description>
      <p>
       Shows the image. Call this at least once when dragging.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDragImage" name="UpdateBackingFromWindow">
    <function type="bool" name="UpdateBackingFromWindow" suffix="const">
     <parameters>
      <parameter type="wxDC&amp; " name="windowDC"></parameter>
      <parameter type="wxMemoryDC&amp; " name="destDC"></parameter>
      <parameter type="const wxRect&amp; " name="sourceRect"></parameter>
      <parameter type="const wxRect&amp; " name="destRect"></parameter>
     </parameters>
     <description>
      <p>
       Override this if you wish to draw the window contents to the backing
       bitmap yourself. This can be desirable if you wish to avoid flicker by
       not having to redraw the updated window itself just before dragging,
       which can cause a flicker just as the drag starts. Instead, paint the
       drag image's backing bitmap to show the appropriate graphic
       <i> minus the objects to be dragged</i>
       , and leave the window itself to be updated by the drag image. This can
       provide eerily smooth, flicker-free drag behaviour.
      </p>
      <p>
       The default implementation copies the window contents to the backing
       bitmap. A new implementation will normally copy information from another
       source, such as from its own backing bitmap if it has one, or directly
       from internal data structures.
      </p>
      <p>
       This function is available in wxGenericDragImage only.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDropFilesEvent">
  <description>
   <p class="classdesc">
    This class is used for drop files events, that is, when files have been
    dropped onto the window. This functionality is currently only available
    under Windows. The window must have previously been enabled for dropping by
    calling
    <ref target="wxwindowdragacceptfiles">wxWindow::DragAcceptFiles</ref>
    .
   </p>
   <p class="classdesc">
    Important note: this is a separate implementation to the more general drag
    and drop implementation documented
    <ref target="wxdndoverview">here</ref>
    . It uses the older, Windows message-based approach of dropping files.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A drop files event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_DROP\_FILES(func)">Process a wxEVT\_DROP\_FILES event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxDropFilesEvent" name="wxDropFilesEvent">
    <function type="" name="wxDropFilesEvent">
     <parameters>
      <parameter type="WXTYPE " name="id" value="0"></parameter>
      <parameter type="int " name="noFiles" value="0"></parameter>
      <parameter type="wxString&#42; " name="files" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropFilesEvent" name="m\_files"></member>
   <member class="wxDropFilesEvent" name="m\_noFiles"></member>
   <member class="wxDropFilesEvent" name="m\_pos"></member>
   <member class="wxDropFilesEvent" name="GetFiles">
    <function type="wxString&#42;" name="GetFiles" suffix="const">
     <description>
      <p>
       Returns an array of filenames.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropFilesEvent" name="GetNumberOfFiles">
    <function type="int" name="GetNumberOfFiles" suffix="const">
     <description>
      <p>
       Returns the number of files dropped.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropFilesEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description>
      <p>
       Returns the position at which the files were dropped.
      </p>
      <p>
       Returns an array of filenames.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDropSource">
  <description>
   <p class="classdesc">
    This class represents a source for a drag and drop operation.
   </p>
   <p class="classdesc">
    See
    <ref target="wxdndoverview">Drag and drop overview</ref>
    and
    <ref target="wxdataobjectoverview">wxDataObject overview</ref>
    for more information.
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Drop source class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dnd.h"/>
  </includes>
  <types>
   <ref target="wxDragResult"/>wxDragResult is defined as follows:

<pre>
enum wxDragResult
\{
    wxDragError,    // error prevented the d&amp;d operation from completing
    wxDragNone,     // drag target didn't accept the data
    wxDragCopy,     // the data was successfully copied
    wxDragMove,     // the data was successfully moved (MSW only)
    wxDragLink,     // operation is a drag-link
    wxDragCancel    // the operation was cancelled by user (not an error)
\};
</pre>
  </types>
  <seealso>
   <ref target="wxdroptarget">wxDropTarget</ref>
   <ref target="wxtextdroptarget">wxTextDropTarget</ref>
   <ref target="wxfiledroptarget">wxFileDropTarget</ref>
  </seealso>
  <members>
   <member class="wxDropSource" name="wxDropSource">
    <function type="" name="wxDropSource">
     <parameters>
      <parameter type="wxWindow&#42; " name="win" value="NULL">
       The window which initiates the drag and drop operation.
      </parameter>
      <parameter type="const wxIconOrCursor&amp; " name="iconCopy" value="wxNullIconOrCursor">
       The icon or cursor used for feedback for copy operation.
      </parameter>
      <parameter type="const wxIconOrCursor&amp; " name="iconMove" value="wxNullIconOrCursor">
       The icon or cursor used for feedback for move operation.
      </parameter>
      <parameter type="const wxIconOrCursor&amp; " name="iconNone" value="wxNullIconOrCursor">
       The icon or cursor used for feedback when operation can't be done.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxDropSource">
     <parameters>
      <parameter type="wxDataObject&amp; " name="data"></parameter>
      <parameter type="wxWindow&#42; " name="win" value="NULL">
       The window which initiates the drag and drop operation.
      </parameter>
      <parameter type="const wxIconOrCursor&amp; " name="iconCopy" value="wxNullIconOrCursor">
       The icon or cursor used for feedback for copy operation.
      </parameter>
      <parameter type="const wxIconOrCursor&amp; " name="iconMove" value="wxNullIconOrCursor">
       The icon or cursor used for feedback for move operation.
      </parameter>
      <parameter type="const wxIconOrCursor&amp; " name="iconNone" value="wxNullIconOrCursor">
       The icon or cursor used for feedback when operation can't be done.
      </parameter>
     </parameters>
     <description>
      <p>
       The constructors for wxDataObject.
      </p>
      <p>
       If you use the constructor without
       <i> data</i>
       parameter you must call
       <ref target="wxdropsourcesetdata">SetData</ref>
       later.
      </p>
      <p>
       Note that the exact type of
       <i> iconCopy</i>
       and subsequent parameters differs between wxMSW and wxGTK: these are
       cursors under Windows but icons for GTK. You should use the macro
       <ref target="wxdropicon">wxDROP\_ICON</ref>
       in portable programs instead of directly using either of these types.
      </p>
      <p>
       <i> win</i>
       is the window which initiates the drag and drop operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropSource" name="~wxDropSource">
    <function type="virtual " name="~wxDropSource">
     <description></description>
    </function>
   </member>
   <member class="wxDropSource" name="SetData">
    <function type="void" name="SetData">
     <parameters>
      <parameter type="wxDataObject&amp; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Sets the data
       <ref target="wxdataobject">wxDataObject</ref>
       associated with the drop source. This will not delete any previously
       associated data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropSource" name="DoDragDrop">
    <function type="virtual wxDragResult" name="DoDragDrop">
     <parameters>
      <parameter type="int " name="flags" value="wxDrag\_CopyOnly">
       If
       <tt> wxDrag\_AllowMove</tt>
       is included in the flags, data may be moved and not only copied
       (default). If
       <tt> wxDrag\_DefaultMove</tt>
       is specified (which includes the previous flag), this is even the default
       operation
      </parameter>
     </parameters>
     <returnvalue>
      Returns the operation requested by the user, may be
      <tt> wxDragCopy</tt>
      ,
      <tt>
wxDragMove</tt>
      ,
      <tt> wxDragLink</tt>
      ,
      <tt> wxDragCancel</tt>
      or
      <tt> wxDragNone</tt>
      if an error occurred.
     </returnvalue>
     <description>
      <p>
       Do it (call this in response to a mouse button press, for example). This
       starts the drag-and-drop operation which will terminate when the user
       releases the mouse.
      </p>
      <p>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropSource" name="GetDataObject">
    <function type="wxDataObject &#42;" name="GetDataObject">
     <description>
      <p>
       Returns the wxDataObject object that has been assigned previously.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropSource" name="GiveFeedback">
    <function type="virtual bool" name="GiveFeedback">
     <parameters>
      <parameter type="wxDragResult " name="effect">
       The effect to implement. One of
       <tt> wxDragCopy</tt>
       ,
       <tt> wxDragMove</tt>
       ,
       <tt> wxDragLink</tt>
       and
       <tt> wxDragNone</tt>
       .
      </parameter>
     </parameters>
     <returnvalue>
      Return false if you want default feedback, or true if you implement your
      own feedback. The return values is ignored under GTK.
     </returnvalue>
     <description>
      <p>
       Overridable: you may give some custom UI feedback during the drag and
       drop operation in this function. It is called on each mouse move, so your
       implementation must not be too slow.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropSource" name="SetCursor">
    <function type="void" name="SetCursor">
     <parameters>
      <parameter type="wxDragResult " name="res">
       The drag result to set the icon for.
      </parameter>
      <parameter type="const wxCursor&amp; " name="cursor">
       The ion to show when this drag result occurs.
      </parameter>
     </parameters>
     <description>
      <p>
       Set the icon to use for a certain drag result.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDropTarget">
  <description>
   <p class="classdesc">
    This class represents a target for a drag and drop operation. A
    <ref target="wxdataobject">wxDataObject</ref>
    can be associated with it and by default, this object will be filled with
    the data from the drag source, if the data formats supported by the data
    object match the drag source data format.
   </p>
   <p class="classdesc">
    There are various virtual handler functions defined in this class which may
    be overridden to give visual feedback or react in a more fine-tuned way,
    e.g. by not accepting data on the whole window area, but only a small
    portion of it. The normal sequence of calls is
    <ref target="wxdroptargetonenter">OnEnter</ref>
    , possibly many times
    <ref target="wxdroptargetondragover">OnDragOver</ref>
    ,
    <ref target="wxdroptargetondrop">OnDrop</ref>
    and finally
    <ref target="wxdroptargetondata">OnData</ref>
    .
   </p>
   <p class="classdesc">
    See
    <ref target="wxdndoverview">Drag and drop overview</ref>
    and
    <ref target="wxdataobjectoverview">wxDataObject overview</ref>
    for more information.
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>Drop target class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/dnd.h"/>
  </includes>
  <types>
   <ref target="wxDragResult"/>wxDragResult is defined as follows:

<pre>
enum wxDragResult
\{
    wxDragError,    // error prevented the d&amp;d operation from completing
    wxDragNone,     // drag target didn't accept the data
    wxDragCopy,     // the data was successfully copied
    wxDragMove,     // the data was successfully moved (MSW only)
    wxDragLink,     // operation is a drag-link
    wxDragCancel    // the operation was cancelled by user (not an error)
\};
</pre>
  </types>
  <seealso>
   <ref target="wxdropsource">wxDropSource</ref>
   <ref target="wxtextdroptarget">wxTextDropTarget</ref>
   <ref target="wxfiledroptarget">wxFileDropTarget</ref>
   ,
   <ref target="wxdataformat">wxDataFormat</ref>
   <ref target="wxdataobject">wxDataObject</ref>
  </seealso>
  <members>
   <member class="wxDropTarget" name="wxDropTarget">
    <function type="" name="wxDropTarget">
     <parameters>
      <parameter type="wxDataObject&#42; " name="data" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
       <i> data</i>
       is the data to be associated with the drop target.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="~wxDropTarget">
    <function type="" name="~wxDropTarget">
     <description>
      <p>
       Destructor. Deletes the associated data object, if any.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="GetData">
    <function type="virtual void" name="GetData">
     <description>
      <p>
       This method may only be called from within
       <ref target="wxdroptargetondata">OnData</ref>
       . By default, this method copies the data from the drop source to the
       <ref target="wxdataobject">wxDataObject</ref>
       associated with this drop target, calling its
       <ref target="wxdataobjectsetdata">wxDataObject::SetData</ref>
       method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="OnData">
    <function type="virtual wxDragResult" name="OnData">
     <parameters>
      <parameter type="wxCoord " name="x"></parameter>
      <parameter type="wxCoord " name="y"></parameter>
      <parameter type="wxDragResult " name="def"></parameter>
     </parameters>
     <description>
      <p>
       Called after
       <ref target="wxdroptargetondrop">OnDrop</ref>
       returns true. By default this will usually
       <ref target="wxdroptargetgetdata">GetData</ref>
       and will return the suggested default value
       <i> def</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="OnDrop">
    <function type="virtual bool" name="OnDrop">
     <parameters>
      <parameter type="wxCoord " name="x">
       The x coordinate of the mouse.
      </parameter>
      <parameter type="wxCoord " name="y">
       The y coordinate of the mouse.
      </parameter>
     </parameters>
     <returnvalue>
      Return true to accept the data, false to veto the operation.
     </returnvalue>
     <description>
      <p>
       Called when the user drops a data object on the target. Return false to
       veto the operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="OnEnter">
    <function type="virtual wxDragResult" name="OnEnter">
     <parameters>
      <parameter type="wxCoord " name="x">
       The x coordinate of the mouse.
      </parameter>
      <parameter type="wxCoord " name="y">
       The y coordinate of the mouse.
      </parameter>
      <parameter type="wxDragResult " name="def">
       Suggested default for return value. Determined by SHIFT or CONTROL key
       states.
      </parameter>
     </parameters>
     <returnvalue>
      Returns the desired operation or
      <tt> wxDragNone</tt>
      . This is used for optical feedback from the side of the drop source,
      typically in form of changing the icon.
     </returnvalue>
     <description>
      <p>
       Called when the mouse enters the drop target. By default, this calls
       <ref target="wxdroptargetondragover">OnDragOver</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="OnDragOver">
    <function type="virtual wxDragResult" name="OnDragOver">
     <parameters>
      <parameter type="wxCoord " name="x">
       The x coordinate of the mouse.
      </parameter>
      <parameter type="wxCoord " name="y">
       The y coordinate of the mouse.
      </parameter>
      <parameter type="wxDragResult " name="def">
       Suggested value for return value. Determined by SHIFT or CONTROL key
       states.
      </parameter>
     </parameters>
     <returnvalue>
      Returns the desired operation or
      <tt> wxDragNone</tt>
      . This is used for optical feedback from the side of the drop source,
      typically in form of changing the icon.
     </returnvalue>
     <description>
      <p>
       Called when the mouse is being dragged over the drop target. By default,
       this calls functions return the suggested return value
       <i> def</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="OnLeave">
    <function type="virtual void" name="OnLeave">
     <description>
      <p>
       Called when the mouse leaves the drop target.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDropTarget" name="SetDataObject">
    <function type="void" name="SetDataObject">
     <parameters>
      <parameter type="wxDataObject&#42; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Sets the data
       <ref target="wxdataobject">wxDataObject</ref>
       associated with the drop target and deletes any previously associated
       data object.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDynamicLibrary">
  <description>
   <p class="classdesc">
    wxDynamicLibrary is a class representing dynamically loadable library
    (Windows DLL, shared library under Unix etc.). Just create an object of this
    class to load a library and don't worry about unloading it -- it will be
    done in the objects destructor automatically.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/dynlib.h" comment="only available if \\texttt\{wxUSE\_DYNLIB\_CLASS\} is set to 1"/>
  </includes>
  <members>
   <member class="wxDynamicLibrary" name="wxDynamicLibrary">
    <function type="" name="wxDynamicLibrary">
     <description></description>
    </function>
    <function type="" name="wxDynamicLibrary">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="int " name="flags" value="wxDL\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Second form calls
       <ref target="wxdynamiclibraryload">Load</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="CanonicalizeName">
    <function type="wxString" name="CanonicalizeName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxDynamicLibraryCategory " name="cat" value="wxDL\_LIBRARY"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdynamiclibrarycanonicalizepluginname">CanonicalizePluginName</ref>
     </seealso>
     <description>
      <p>
       Returns the platform-specific full name for the library called
       <i>name</i>
       . E.g. it adds a
       <tt> &quot;.dll&quot;</tt>
       extension under Windows and
       <tt> &quot;lib&quot;</tt>
       prefix and
       <tt> &quot;.so&quot;</tt>
       ,
       <tt> &quot;.sl&quot;</tt>
       or maybe
       <tt> &quot;.dylib&quot;</tt>
       extension under Unix.
      </p>
      <p>
       The possible values for
       <i>cat</i>
       are:
      </p>
      <table>
       <tr>
        <td>wxDL\_LIBRARY</td>
        <td>normal library</td>
       </tr>
       <tr>
        <td>wxDL\_MODULE</td>
        <td>a loadable module or plugin</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="CanonicalizePluginName">
    <function type="wxString" name="CanonicalizePluginName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxPluginCategory " name="cat" value="wxDL\_PLUGIN\_GUI"></parameter>
     </parameters>
     <description>
      <p>
       This function does the same thing as
       <ref target="wxdynamiclibrarycanonicalizename">CanonicalizeName</ref>
       but for wxWidgets plugins. The only difference is that compiler and
       version information are added to the name to ensure that the plugin which
       is going to be loaded will be compatible with the main program.
      </p>
      <p>
       The possible values for
       <i>cat</i>
       are:
      </p>
      <table>
       <tr>
        <td>wxDL\_PLUGIN\_GUI</td>
        <td>plugin which uses GUI classes (default)</td>
       </tr>
       <tr>
        <td>wxDL\_PLUGIN\_BASE</td>
        <td>plugin which only uses wxBase</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="Detach">
    <function type="wxDllType" name="Detach">
     <description>
      <p>
       Detaches this object from its library handle, i.e. the object will not
       unload the library any longer in its destructor but it is now the callers
       responsibility to do this using
       <ref target="wxdynamiclibraryunload">Unload</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="GetSymbol">
    <function type="void &#42;" name="GetSymbol" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wxdynlibfunction">wxDYNLIB\_FUNCTION</ref>
     </seealso>
     <description>
      <p>
       Returns pointer to symbol
       <i> name</i>
       in the library or NULL if the library contains no such symbol.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="GetProgramHandle">
    <function type="static wxDllType" name="GetProgramHandle">
     <description>
      <p>
       Return a valid handle for the main program itself or
       <tt>NULL</tt>
       if symbols from the main program can't be loaded on this platform.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="HasSymbol">
    <function type="bool" name="HasSymbol" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the symbol with the given
       <i>name</i>
       is present in the dynamic library, false otherwise. Unlike
       <ref target="wxdynamiclibrarygetsymbol">GetSymbol</ref>
       , this function doesn't log an error message if the symbol is not found.
      </p>
      <p>
       \\newsince\{2.5.4\}
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="IsLoaded">
    <function type="bool" name="IsLoaded" suffix="const">
     <description>
      <p>
       Returns true if the library was successfully loaded, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="ListLoaded">
    <function type="static wxDynamicLibraryDetailsArray" name="ListLoaded">
     <description>
      <p>
       This static method returns an
       <ref target="wxarray">array</ref>
       containing the details of all modules loaded into the address space of
       the current project, the array elements are object of
       <tt>wxDynamicLibraryDetails</tt>
       class. The array will be empty if an error occurred.
      </p>
      <p>
       This method is currently implemented only under Win32 and Linux and is
       useful mostly for diagnostics purposes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="Load">
    <function type="bool" name="Load">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="int " name="flags" value="wxDL\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Loads DLL with the given
       <i>name</i>
       into memory. The
       <i>flags</i>
       argument can be a combination of the following bits:
      </p>
      <table>
       <tr>
        <td>wxDL\_LAZY</td>
        <td>equivalent of RTLD\_LAZY under Unix, ignored elsewhere</td>
       </tr>
       <tr>
        <td>wxDL\_NOW</td>
        <td>equivalent of RTLD\_NOW under Unix, ignored elsewhere</td>
       </tr>
       <tr>
        <td>wxDL\_GLOBAL</td>
        <td>equivalent of RTLD\_GLOBAL under Unix, ignored elsewhere</td>
       </tr>
       <tr>
        <td>wxDL\_VERBATIM</td>
        <td>don't try to append the appropriate extension to
the library name (this is done by default).</td>
       </tr>
       <tr>
        <td>wxDL\_DEFAULT</td>
        <td>default flags, same as wxDL\_NOW currently</td>
       </tr>
      </table>
      <p>
       Returns true if the library was successfully loaded, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibrary" name="Unload">
    <function type="void" name="Unload">
     <description></description>
    </function>
    <function type="static void" name="Unload">
     <parameters>
      <parameter type="wxDllType " name="handle"></parameter>
     </parameters>
     <description>
      <p>
       Unloads the library from memory. wxDynamicLibrary object automatically
       calls this method from its destructor if it had been successfully loaded.
      </p>
      <p>
       The second version is only used if you need to keep the library in memory
       during a longer period of time than the scope of the wxDynamicLibrary
       object. In this case you may call
       <ref target="wxdynamiclibrarydetach">Detach</ref>
       and store the handle somewhere and call this static method later to
       unload it.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxDynamicLibraryDetails">
  <description>
   <p class="classdesc">
    This class is used for the objects returned by
    <ref target="wxdynamiclibrarylistloaded">wxDynamicLibrary::ListLoaded</ref>
    method and contains the information about a single module loaded into the
    address space of the current process. A module in this context may be either
    a dynamic library or the main program itself.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/dynlib.h" comment="only available if \\texttt\{wxUSE\_DYNLIB\_CLASS\} is set to 1"/>
  </includes>
  <members>
   <member class="wxDynamicLibraryDetails" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Returns the base name of this module, e.g.
       <tt>kernel32.dll</tt>
       or
       <tt>libc-2.3.2.so</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibraryDetails" name="GetPath">
    <function type="wxString" name="GetPath" suffix="const">
     <description>
      <p>
       Returns the full path of this module if available, e.g.
       <tt>c:\\windows\\system32\\kernel32.dll</tt>
       or
       <tt>/lib/libc-2.3.2.so</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibraryDetails" name="GetAddress">
    <function type="bool" name="GetAddress" suffix="const">
     <parameters>
      <parameter type="void &#42;&#42;" name="addr">
       the pointer to the location to return load address in, may be
       <tt>NULL</tt>
      </parameter>
      <parameter type="size\_t &#42;" name="len">
       pointer to the location to return the size of this module in memory in,
       may be
       <tt>NULL</tt>
      </parameter>
     </parameters>
     <returnvalue>
      true if the load address and module size were retrieved, false if this
      information is not available.
     </returnvalue>
     <description>
      <p>
       Retrieves the load address and the size of this module.
      </p>
     </description>
    </function>
   </member>
   <member class="wxDynamicLibraryDetails" name="GetVersion">
    <function type="wxString" name="GetVersion" suffix="const">
     <description>
      <p>
       Returns the version of this module, e.g.
       <tt>5.2.3790.0</tt>
       or
       <tt>2.3.2</tt>
       . The returned string is empty if the version information is not
       available.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxEncodingConverter">
  <description>
   <p class="classdesc">
    This class is capable of converting strings between two 8-bit
    encodings/charsets. It can also convert from/to Unicode (but only if you
    compiled wxWidgets with wxUSE\_WCHAR\_T set to 1). Only limited subset of
    encodings in supported by wxEncodingConverter:
    <tt> wxFONTENCODING\_ISO8859\_1..15</tt>
    ,
    <tt> wxFONTENCODING\_CP1250..1257</tt>
    and
    <tt> wxFONTENCODING\_KOI8</tt>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Encoding conversions</shortdesc>
  <note>

Please use <ref target="mbconvclasses">wxMBConv classes</ref> instead
if possible. <ref target="wxcsconv">wxCSConv</ref> has much better support for various
encodings than wxEncodingConverter. wxEncodingConverter is useful only
if you rely on <tt> wxCONVERT\_SUBSTITUTE</tt> mode of operation (see 
<ref target="wxencodingconverterinit">Init</ref>).

</note>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/encconv.h"/>
  </includes>
  <seealso>
   <ref target="wxfontmapper">wxFontMapper</ref>
   <ref target="wxmbconv">wxMBConv</ref>
   <ref target="nonenglishoverview">Writing non-English applications</ref>
  </seealso>
  <members>
   <member class="wxEncodingConverter" name="wxEncodingConverter">
    <function type="" name="wxEncodingConverter">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEncodingConverter" name="Init">
    <function type="bool" name="Init">
     <parameters>
      <parameter type="wxFontEncoding " name="input\_enc"></parameter>
      <parameter type="wxFontEncoding " name="output\_enc"></parameter>
      <parameter type="int " name="method" value="wxCONVERT\_STRICT"></parameter>
     </parameters>
     <returnvalue>
      false if given conversion is impossible, true otherwise (conversion may be
      impossible either if you try to convert to Unicode with non-Unicode build
      of wxWidgets or if input or output encoding is not supported.)
     </returnvalue>
     <description>
      <p>
       Initialize conversion. Both output or input encoding may be
       wxFONTENCODING\_UNICODE, but only if wxUSE\_ENCODING is set to 1. All
       subsequent calls to
       <ref target="wxencodingconverterconvert">Convert()</ref>
       will interpret its argument as a string in
       <i> input\_enc</i>
       encoding and will output string in
       <i> output\_enc</i>
       encoding. You must call this method before calling Convert. You may call
       it more than once in order to switch to another conversion.
       <i> Method</i>
       affects behaviour of Convert() in case input character cannot be
       converted because it does not exist in output encoding:
      </p>
      <table>
       <tr>
        <td>
         <b> wxCONVERT\_STRICT</b>
        </td>
        <td>follow behaviour of GNU Recode -
just copy unconvertible  characters to output and don't change them 
(its integer value will stay the same)</td>
       </tr>
       <tr>
        <td>
         <b> wxCONVERT\_SUBSTITUTE</b>
        </td>
        <td>try some (lossy) substitutions 
- e.g. replace unconvertible latin capitals with acute by ordinary
capitals, replace en-dash or em-dash by '-' etc.</td>
       </tr>
      </table>
      <p>
       Both modes guarantee that output string will have same length as input
       string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEncodingConverter" name="CanConvert">
    <function type="static bool" name="CanConvert">
     <parameters>
      <parameter type="wxFontEncoding" name="encIn"></parameter>
      <parameter type="wxFontEncoding " name="encOut"></parameter>
     </parameters>
     <description>
      <p>
       Return true if (any text in) multibyte encoding
       <i>encIn</i>
       can be converted to another one (
       <i> encOut</i>
       ) losslessly.
      </p>
      <p>
       Do not call this method with
       <tt>wxFONTENCODING\_UNICODE</tt>
       as either parameter, it doesn't make sense (always works in one sense and
       always depends on the text to convert in the other).
      </p>
     </description>
    </function>
   </member>
   <member class="wxEncodingConverter" name="Convert">
    <function type="bool" name="Convert" suffix="const">
     <parameters>
      <parameter type="const char&#42; " name="input"></parameter>
      <parameter type="char&#42; " name="output"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Convert" suffix="const">
     <parameters>
      <parameter type="const wchar\_t&#42; " name="input"></parameter>
      <parameter type="wchar\_t&#42; " name="output"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Convert" suffix="const">
     <parameters>
      <parameter type="const char&#42; " name="input"></parameter>
      <parameter type="wchar\_t&#42; " name="output"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Convert" suffix="const">
     <parameters>
      <parameter type="const wchar\_t&#42; " name="input"></parameter>
      <parameter type="char&#42; " name="output"></parameter>
     </parameters>
     <description>
      <p>
       Convert input string according to settings passed to
       <ref target="wxencodingconverterinit">Init</ref>
       and writes the result to
       <i> output</i>
       .
      </p>
     </description>
    </function>
    <function type="bool" name="Convert" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="str"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Convert" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="str"></parameter>
     </parameters>
     <description>
      <p>
       Convert input string according to settings passed to
       <ref target="wxencodingconverterinit">Init</ref>
       in-place, i.e. write the result to the same memory area.
      </p>
      <p>
       All of the versions above return true if the conversion was lossless and
       false if at least one of the characters couldn't be converted and was
       replaced with
       <tt> '?'</tt>
       in the output. Note that if
       <tt> wxCONVERT\_SUBSTITUTE</tt>
       was passed to
       <ref target="wxencodingconverterinit">Init</ref>
       , substitution is considered lossless operation.
      </p>
     </description>
    </function>
    <function type="wxString" name="Convert" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="input"></parameter>
     </parameters>
     <note>

You must call <ref target="wxencodingconverterinit">Init</ref> before using this method!

<tt> wchar\_t</tt> versions of the method are not available if wxWidgets was compiled
with <tt> wxUSE\_WCHAR\_T</tt> set to 0.


</note>
     <description>
      <p>
       Convert wxString and return new wxString object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEncodingConverter" name="GetPlatformEquivalents">
    <function type="static wxFontEncodingArray" name="GetPlatformEquivalents">
     <parameters>
      <parameter type="wxFontEncoding " name="enc"></parameter>
      <parameter type="int " name="platform" value="wxPLATFORM\_CURRENT"></parameter>
     </parameters>
     <note>
      <ul>
       <li>Note that argument
        <i> enc</i>
        itself may be present in the returned array, so that you can, as a
        side-effect, detect whether the encoding is native for this platform or
        not.</li>
       <li><ref target="wxencodingconverterconvert">Convert</ref>
        is not limited to converting between equivalent encodings, it can
        convert between two arbitrary encodings.</li>
       <li>If
        <i> enc</i>
        is present in the returned array, then it is
        <b> always</b>
        the first item of it.</li>
       <li>Please note that the returned array may contain no items at all.</li>
      </ul>
     </note>
     <description>
      <p>
       Return equivalents for given font that are used under given platform.
       Supported platforms:
      </p>
      <p>
       <ul>
        <li>wxPLATFORM\_UNIX</li>
        <li>wxPLATFORM\_WINDOWS</li>
        <li>wxPLATFORM\_OS2</li>
        <li>wxPLATFORM\_MAC</li>
        <li>wxPLATFORM\_CURRENT</li>
       </ul>
      </p>
      <p>
       wxPLATFORM\_CURRENT means the platform this binary was compiled for.
      </p>
      <p>
       Examples:
      </p>
      <pre>
current platform   enc          returned value
----------------------------------------------
unix            CP1250             \{ISO8859\_2\}
unix         ISO8859\_2             \{ISO8859\_2\}
windows      ISO8859\_2                \{CP1250\}
unix            CP1252  \{ISO8859\_1,ISO8859\_15\}
</pre>
      <p>
       Equivalence is defined in terms of convertibility: two encodings are
       equivalent if you can convert text between then without losing
       information (it may - and will - happen that you lose special chars like
       quotation marks or em-dashes but you shouldn't lose any diacritics and
       language-specific characters when converting between equivalent
       encodings).
      </p>
      <p>
       Remember that this function does
       <b> NOT</b>
       check for presence of fonts in system. It only tells you what are most
       suitable encodings. (It usually returns only one encoding.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxEncodingConverter" name="GetAllEquivalents">
    <function type="static wxFontEncodingArray" name="GetAllEquivalents">
     <parameters>
      <parameter type="wxFontEncoding " name="enc"></parameter>
     </parameters>
     <description>
      <p>
       Similar to
       <ref target="wxencodingconvertergetplatformequivalents">GetPlatformEquivalents</ref>
       , but this one will return ALL equivalent encodings, regardless of the
       platform, and including itself.
      </p>
      <p>
       This platform's encodings are before others in the array. And again, if
       <i> enc</i>
       is in the array, it is the very first item in it.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxEraseEvent">
  <description>
   <p class="classdesc">
    An erase event is sent when a window's background needs to be repainted.
   </p>
   <p class="classdesc">
    On some platforms, such as GTK+, this event is simulated (simply generated
    just before the paint event) and may cause flicker. It is therefore
    recommended that you set the text background colour explicitly in order to
    prevent flicker. The default background colour under GTK+ is grey.
   </p>
   <p class="classdesc">
    To intercept this event, use the EVT\_ERASE\_BACKGROUND macro in an event
    table definition.
   </p>
   <p class="classdesc">
    You must call wxEraseEvent::GetDC and use the returned device context if it
    is non-NULL. If it is NULL, create your own temporary wxClientDC object.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>An erase background event</shortdesc>
  <remarks>
   <p>
    Use the device context returned by
    <ref target="wxeraseeventgetdc">GetDC</ref>
    to draw on, don't create a wxPaintDC in the event handler.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_ERASE\_BACKGROUND(func)">Process a wxEVT\_ERASE\_BACKGROUND event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxEraseEvent" name="wxEraseEvent">
    <function type="" name="wxEraseEvent">
     <parameters>
      <parameter type="int " name="id" value="0"></parameter>
      <parameter type="wxDC&#42; " name="dc" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEraseEvent" name="GetDC">
    <function type="wxDC&#42;" name="GetDC" suffix="const">
     <description>
      <p>
       Returns the device context associated with the erase event to draw on.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxEvent" annotation="abstract">
  <description>
   <p class="classdesc">
    An event is a structure holding information about an event passed to a
    callback or member function.
    <b> wxEvent</b>
    used to be a multipurpose event object, and is an abstract base class for
    other event classes (see below).
   </p>
   <p class="classdesc">
    For more information about events, see the
    <ref target="eventhandlingoverview">Event handling overview</ref>
    .
   </p>
  </description>
  <category>Events</category>
  <shortdesc>The event base class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <seealso>
   <ref target="wxcommandevent">wxCommandEvent</ref>
   ,
   <ref target="wxmouseevent">wxMouseEvent</ref>
  </seealso>
  <members>
   <member class="wxEvent" name="wxEvent">
    <function type="" name="wxEvent">
     <parameters>
      <parameter type="int " name="id" value="0"></parameter>
      <parameter type="wxEventType " name="eventType" value="wxEVT\_NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Should not need to be used directly by an application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="m\_propagationLevel"></member>
   <member class="wxEvent" name="Clone">
    <function type="virtual wxEvent&#42;" name="Clone" suffix="const">
     <description>
      <p>
       Returns a copy of the event.
      </p>
      <p>
       Any event that is posted to the wxWidgets event system for later action
       (via
       <ref target="wxevthandleraddpendingevent">wxEvtHandler::AddPendingEvent</ref>
       or
       <ref target="wxpostevent">wxPostEvent</ref>
       ) must implement this method. All wxWidgets events fully implement this
       method, but any derived events implemented by the user should also
       implement this method just in case they (or some event derived from them)
       are ever posted.
      </p>
      <p>
       All wxWidgets events implement a copy constructor, so the easiest way of
       implementing the Clone function is to implement a copy constructor for a
       new event (call it MyEvent) and then define the Clone function like this:
      </p>
      <pre>
    wxEvent &#42;Clone(void) const \{ return new MyEvent(&#42;this); \}
</pre>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="GetEventObject">
    <function type="wxObject&#42;" name="GetEventObject">
     <description>
      <p>
       Returns the object (usually a window) associated with the event, if any.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="GetEventType">
    <function type="WXTYPE" name="GetEventType">
     <description>
      <p>
       Returns the identifier of the given event type, such as
       wxEVENT\_TYPE\_BUTTON\_COMMAND.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="GetId">
    <function type="int" name="GetId" suffix="const">
     <description>
      <p>
       Returns the identifier associated with this event, such as a button
       command id.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="GetSkipped">
    <function type="bool" name="GetSkipped" suffix="const">
     <description>
      <p>
       Returns true if the event handler should be skipped, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="GetTimestamp">
    <function type="long" name="GetTimestamp">
     <description>
      <p>
       Gets the timestamp for the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="IsCommandEvent">
    <function type="bool" name="IsCommandEvent" suffix="const">
     <description>
      <p>
       Returns true if the event is or is derived from
       <ref target="wxcommandevent">wxCommandEvent</ref>
       else it returns false. Note: Exists only for optimization purposes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="ResumePropagation">
    <function type="void" name="ResumePropagation">
     <parameters>
      <parameter type="int " name="propagationLevel"></parameter>
     </parameters>
     <description>
      <p>
       Sets the propagation level to the given value (for example returned from
       an earlier call to
       <ref target="wxeventstoppropagation">StopPropagation</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="SetEventObject">
    <function type="void" name="SetEventObject">
     <parameters>
      <parameter type="wxObject&#42; " name="object"></parameter>
     </parameters>
     <description>
      <p>
       Sets the originating object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="SetEventType">
    <function type="void" name="SetEventType">
     <parameters>
      <parameter type="WXTYPE " name="typ"></parameter>
     </parameters>
     <description>
      <p>
       Sets the event type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="SetId">
    <function type="void" name="SetId">
     <parameters>
      <parameter type="int " name="id"></parameter>
     </parameters>
     <description>
      <p>
       Sets the identifier associated with this event, such as a button command
       id.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="SetTimestamp">
    <function type="void" name="SetTimestamp">
     <parameters>
      <parameter type="long " name="timeStamp"></parameter>
     </parameters>
     <description>
      <p>
       Sets the timestamp for the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="ShouldPropagate">
    <function type="bool" name="ShouldPropagate" suffix="const">
     <description>
      <p>
       Test if this event should be propagated or not, i.e. if the propagation
       level is currently greater than 0.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="Skip">
    <function type="void" name="Skip">
     <parameters>
      <parameter type="bool " name="skip" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Called by an event handler, it controls whether additional event handlers
       bound to this event will be called after the current event handler
       returns. Skip(false) (the default setting) will prevent additional event
       handlers from being called and control will be returned to the sender of
       the event immediately after the current handler has finished. Skip(True)
       will cause the event processing system to continue searching for a
       handler function for this event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvent" name="StopPropagation">
    <function type="int" name="StopPropagation">
     <description>
      <p>
       Stop the event from propagating to its parent window.
      </p>
      <p>
       Returns the old propagation level value which may be later passed to
       <ref target="wxeventresumepropagation">ResumePropagation</ref>
       to allow propagating the event again.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxEvtHandler">
  <description>
   <p class="classdesc">
    A class that can handle events from the windowing system. wxWindow (and
    therefore all window classes) are derived from this class.
   </p>
   <p class="classdesc">
    When events are received, wxEvtHandler invokes the method listed in the
    event table using itself as the object. When using multiple inheritance it
    is imperative that the wxEvtHandler(-derived) class be the first class
    inherited such that the &quot;this&quot; pointer for the overall object will
    be identical to the &quot;this&quot; pointer for the wxEvtHandler portion.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <seealso>
   <ref type="overview" target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxEvtHandler" name="wxEvtHandler">
    <function type="" name="wxEvtHandler">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="~wxEvtHandler">
    <function type="" name="~wxEvtHandler">
     <description>
      <p>
       Destructor. If the handler is part of a chain, the destructor will unlink
       itself and restore the previous and next handlers so that they point to
       each other.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="AddPendingEvent">
    <function type="void" name="AddPendingEvent">
     <parameters>
      <parameter type="wxEvent&amp; " name="event">
       Event to add to process queue.
      </parameter>
     </parameters>
     <remarks>
      <p>
       The difference between sending an event (using the
       <ref target="wxevthandlerprocessevent">ProcessEvent</ref>
       method) and posting it is that in the first case the event is processed
       before the function returns, while in the second case, the function
       returns immediately and the event will be processed sometime later
       (usually during the next event loop iteration).
      </p>
      <p>
       A copy of
       <i> event</i>
       is made by the function, so the original can be deleted as soon as
       function returns (it is common that the original is created on the
       stack). This requires that the
       <ref target="wxeventclone">wxEvent::Clone</ref>
       method be implemented by
       <i> event</i>
       so that it can be duplicated and stored until it gets processed.
      </p>
      <p>
       This is also the method to call for inter-thread communication---it will
       post events safely between different threads which means that this method
       is thread-safe by using critical sections where needed. In a
       multi-threaded program, you often need to inform the main GUI thread
       about the status of other working threads and such notification should be
       done using this method.
      </p>
      <p>
       This method automatically wakes up idle handling if the underlying window
       system is currently idle and thus would not send any idle events. (Waking
       up idle handling is done calling
       <ref target="wxwakeupidle">::wxWakeUpIdle</ref>
       .)
      </p>
     </remarks>
     <description>
      <p>
       This function posts an event to be processed later.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="Connect">
    <function type="void" name="Connect">
     <parameters>
      <parameter type="int " name="id">
       The identifier (or first of the identifier range) to be associated with
       the event handler function. For the version not taking this argument, it
       defaults to
       <tt>wxID\_ANY</tt>
       .
      </parameter>
      <parameter type="int " name="lastId">
       The second part of the identifier range to be associated with the event
       handler function.
      </parameter>
      <parameter type="wxEventType " name="eventType">
       The event type to be associated with this event handler.
      </parameter>
      <parameter type="wxObjectEventFunction " name="function">
       The event handler function. Note that this function should be explicitly
       converted to the correct type which can be done using a macro called
       <tt>wxFooHandler</tt>
       for the handler for any
       <tt>wxFooEvent</tt>
       .
      </parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL">
       Data to be associated with the event table entry.
      </parameter>
      <parameter type="wxEvtHandler&#42; " name="eventSink" value="NULL">
       Object whose member function should be called. If this is NULL,
       \\textit\{this\} will be used.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Connect">
     <parameters>
      <parameter type="int " name="id">
       The identifier (or first of the identifier range) to be associated with
       the event handler function. For the version not taking this argument, it
       defaults to
       <tt>wxID\_ANY</tt>
       .
      </parameter>
      <parameter type="wxEventType " name="eventType">
       The event type to be associated with this event handler.
      </parameter>
      <parameter type="wxObjectEventFunction " name="function">
       The event handler function. Note that this function should be explicitly
       converted to the correct type which can be done using a macro called
       <tt>wxFooHandler</tt>
       for the handler for any
       <tt>wxFooEvent</tt>
       .
      </parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL">
       Data to be associated with the event table entry.
      </parameter>
      <parameter type="wxEvtHandler&#42; " name="eventSink" value="NULL">
       Object whose member function should be called. If this is NULL,
       \\textit\{this\} will be used.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Connect">
     <parameters>
      <parameter type="wxEventType " name="eventType">
       The event type to be associated with this event handler.
      </parameter>
      <parameter type="wxObjectEventFunction " name="function">
       The event handler function. Note that this function should be explicitly
       converted to the correct type which can be done using a macro called
       <tt>wxFooHandler</tt>
       for the handler for any
       <tt>wxFooEvent</tt>
       .
      </parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL">
       Data to be associated with the event table entry.
      </parameter>
      <parameter type="wxEvtHandler&#42; " name="eventSink" value="NULL">
       Object whose member function should be called. If this is NULL,
       \\textit\{this\} will be used.
      </parameter>
     </parameters>
     <example>
      <pre>
  frame-&gt;Connect( wxID\_EXIT,
    wxEVT\_COMMAND\_MENU\_SELECTED,
    wxCommandEventHandler(MyFrame::OnQuit) );
</pre>
     </example>
     <description>
      <p>
       Connects the given function dynamically with the event handler, id and
       event type. This is an alternative to the use of static event tables. See
       the 'event' or the old 'dynamic' sample for usage.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="Disconnect">
    <function type="bool" name="Disconnect">
     <parameters>
      <parameter type="wxEventType " name="eventType" value="wxEVT\_NULL">
       The event type associated with this event handler.
      </parameter>
      <parameter type="wxObjectEventFunction " name="function" value="NULL">
       The event handler function.
      </parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL">
       Data associated with the event table entry.
      </parameter>
      <parameter type="wxEvtHandler&#42; " name="eventSink" value="NULL">
       Object whose member function should be called.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Disconnect">
     <parameters>
      <parameter type="int " name="id" value="\\texttt\{wxID\_ANY\}">
       The identifier (or first of the identifier range) associated with the
       event handler function.
      </parameter>
      <parameter type="wxEventType " name="eventType" value="wxEVT\_NULL">
       The event type associated with this event handler.
      </parameter>
      <parameter type="wxObjectEventFunction " name="function" value="NULL">
       The event handler function.
      </parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL">
       Data associated with the event table entry.
      </parameter>
      <parameter type="wxEvtHandler&#42; " name="eventSink" value="NULL">
       Object whose member function should be called.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Disconnect">
     <parameters>
      <parameter type="int " name="id">
       The identifier (or first of the identifier range) associated with the
       event handler function.
      </parameter>
      <parameter type="int " name="lastId" value="\\texttt\{wxID\_ANY\}">
       The second part of the identifier range associated with the event handler
       function.
      </parameter>
      <parameter type="wxEventType " name="eventType" value="wxEVT\_NULL">
       The event type associated with this event handler.
      </parameter>
      <parameter type="wxObjectEventFunction " name="function" value="NULL">
       The event handler function.
      </parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL">
       Data associated with the event table entry.
      </parameter>
      <parameter type="wxEvtHandler&#42; " name="eventSink" value="NULL">
       Object whose member function should be called.
      </parameter>
     </parameters>
     <description>
      <p>
       Disconnects the given function dynamically from the event handler, using
       the specified parameters as search criteria and returning true if a
       matching function has been found and removed. This method can only
       disconnect functions which have been added using the
       <ref target="wxevthandlerconnect">wxEvtHandler::Connect</ref>
       method. There is no way to disconnect functions connected using the
       (static) event tables.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="GetClientData">
    <function type="void&#42; " name="GetClientData">
     <seealso>
      <ref target="wxevthandlersetclientdata">wxEvtHandler::SetClientData</ref>
     </seealso>
     <remarks>
      <p>
       Normally, any extra data the programmer wishes to associate with the
       object should be made available by deriving a new class with new data
       members.
      </p>
     </remarks>
     <description>
      <p>
       Gets user-supplied client data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="GetClientObject">
    <function type="wxClientData&#42;" name="GetClientObject" suffix="const">
     <seealso>
      <ref target="wxevthandlersetclientobject">wxEvtHandler::SetClientObject</ref>
      ,
      <ref target="wxclientdata">wxClientData</ref>
     </seealso>
     <description>
      <p>
       Get a pointer to the user-supplied client data object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="GetEvtHandlerEnabled">
    <function type="bool" name="GetEvtHandlerEnabled">
     <seealso>
      <ref target="wxevthandlersetevthandlerenabled">wxEvtHandler::SetEvtHandlerEnabled</ref>
     </seealso>
     <description>
      <p>
       Returns true if the event handler is enabled, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="GetNextHandler">
    <function type="wxEvtHandler&#42;" name="GetNextHandler">
     <seealso>
      <ref target="wxevthandlersetnexthandler">wxEvtHandler::SetNextHandler</ref>
      ,
      <ref target="wxevthandlergetprevioushandler">wxEvtHandler::GetPreviousHandler</ref>
      ,
      <ref target="wxevthandlersetprevioushandler">wxEvtHandler::SetPreviousHandler</ref>
      ,
      <ref target="wxwindowpusheventhandler">wxWindow::PushEventHandler</ref>
      ,
      <ref target="wxwindowpopeventhandler">wxWindow::PopEventHandler</ref>
     </seealso>
     <description>
      <p>
       Gets the pointer to the next handler in the chain.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="GetPreviousHandler">
    <function type="wxEvtHandler&#42;" name="GetPreviousHandler">
     <seealso>
      <ref target="wxevthandlersetprevioushandler">wxEvtHandler::SetPreviousHandler</ref>
      ,
      <ref target="wxevthandlergetnexthandler">wxEvtHandler::GetNextHandler</ref>
      ,
      <ref target="wxevthandlersetnexthandler">wxEvtHandler::SetNextHandler</ref>
      ,
      <ref target="wxwindowpusheventhandler">wxWindow::PushEventHandler</ref>
      ,
      <ref target="wxwindowpopeventhandler">wxWindow::PopEventHandler</ref>
     </seealso>
     <description>
      <p>
       Gets the pointer to the previous handler in the chain.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="ProcessEvent">
    <function type="virtual bool" name="ProcessEvent">
     <parameters>
      <parameter type="wxEvent&amp; " name="event">
       Event to process.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlersearcheventtable">wxEvtHandler::SearchEventTable</ref>
     </seealso>
     <remarks>
      <p>
       Normally, your application would not call this function: it is called in
       the wxWidgets implementation to dispatch incoming user interface events
       to the framework (and application).
      </p>
      <p>
       However, you might need to call it if implementing new functionality
       (such as a new control) where you define new event types, as opposed to
       allowing the user to override virtual functions.
      </p>
      <p>
       An instance where you might actually override the
       <b> ProcessEvent</b>
       function is where you want to direct event processing to event handlers
       not normally noticed by wxWidgets. For example, in the document/view
       architecture, documents and views are potential event handlers. When an
       event reaches a frame,
       <b> ProcessEvent</b>
       will need to be called on the associated document and view in case event
       handler functions are associated with these objects. The property classes
       library (wxProperty) also overrides
       <b> ProcessEvent</b>
       for similar reasons.
      </p>
      <p>
       The normal order of event table searching is as follows:
      </p>
      <p>
       <ol>
        <li>If the object is disabled (via a call to
         <ref target="wxevthandlersetevthandlerenabled">wxEvtHandler::SetEvtHandlerEnabled</ref>
         ) the function skips to step (6).</li>
        <li>If the object is a wxWindow,
         <b> ProcessEvent</b>
         is recursively called on the window's
         <ref target="wxvalidator">wxValidator</ref>
         . If this returns true, the function exits.</li>
        <li><b> SearchEventTable</b>
         is called for this event handler. If this fails, the base class table
         is tried, and so on until no more tables exist or an appropriate
         function was found, in which case the function exits.</li>
        <li>The search is applied down the entire chain of event handlers (usually the chain
         has a length of one). If this succeeds, the function exits.</li>
        <li>If the object is a wxWindow and the event is a wxCommandEvent,
         <b> ProcessEvent</b>
         is recursively applied to the parent window's event handler. If this
         returns true, the function exits.</li>
        <li>Finally,
         <b> ProcessEvent</b>
         is called on the wxApp object.</li>
       </ol>
      </p>
     </remarks>
     <returnvalue>
      true if a suitable event handler function was found and executed, and the
      function did not call
      <ref target="wxeventskip">wxEvent::Skip</ref>
      .
     </returnvalue>
     <description>
      <p>
       Processes an event, searching event tables and calling zero or more
       suitable event handler function(s).
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="SearchEventTable">
    <function type="virtual bool" name="SearchEventTable">
     <parameters>
      <parameter type="wxEventTable&amp; " name="table">
       Event table to be searched.
      </parameter>
      <parameter type="wxEvent&amp; " name="event">
       Event to be matched against an event table entry.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlerprocessevent">wxEvtHandler::ProcessEvent</ref>
     </seealso>
     <remarks>
      <p>
       This function looks through the object's event table and tries to find an
       entry that will match the event.
      </p>
      <p>
       An entry will match if:
      </p>
      <p>
       <ol>
        <li>The event type matches, and</li>
        <li>the identifier or identifier range matches, or the event table entry's
         identifier is zero.</li>
       </ol>
      </p>
      <p>
       If a suitable function is called but calls
       <ref target="wxeventskip">wxEvent::Skip</ref>
       , this function will fail, and searching will continue.
      </p>
     </remarks>
     <returnvalue>
      true if a suitable event handler function was found and executed, and the
      function did not call
      <ref target="wxeventskip">wxEvent::Skip</ref>
      .
     </returnvalue>
     <description>
      <p>
       Searches the event table, executing an event handler function if an
       appropriate one is found.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="SetClientData">
    <function type="void" name="SetClientData">
     <parameters>
      <parameter type="void&#42; " name="data">
       Data to be associated with the event handler.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlergetclientdata">wxEvtHandler::GetClientData</ref>
     </seealso>
     <remarks>
      <p>
       Normally, any extra data the programmer wishes to associate with the
       object should be made available by deriving a new class with new data
       members. You must not call this method and
       <ref target="wxevthandlersetclientobject">SetClientObject</ref>
       on the same class - only one of them.
      </p>
     </remarks>
     <description>
      <p>
       Sets user-supplied client data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="SetClientObject">
    <function type="void" name="SetClientObject">
     <parameters>
      <parameter type="wxClientData&#42; " name="data"></parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlergetclientobject">wxEvtHandler::GetClientObject</ref>
      ,
      <ref target="wxclientdata">wxClientData</ref>
     </seealso>
     <description>
      <p>
       Set the client data object. Any previous object will be deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="SetEvtHandlerEnabled">
    <function type="void" name="SetEvtHandlerEnabled">
     <parameters>
      <parameter type="bool " name="enabled">
       true if the event handler is to be enabled, false if it is to be
       disabled.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlergetevthandlerenabled">wxEvtHandler::GetEvtHandlerEnabled</ref>
     </seealso>
     <remarks>
      <p>
       You can use this function to avoid having to remove the event handler
       from the chain, for example when implementing a dialog editor and
       changing from edit to test mode.
      </p>
     </remarks>
     <description>
      <p>
       Enables or disables the event handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="SetNextHandler">
    <function type="void" name="SetNextHandler">
     <parameters>
      <parameter type="wxEvtHandler&#42; " name="handler">
       Event handler to be set as the next handler.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlergetnexthandler">wxEvtHandler::GetNextHandler</ref>
      ,
      <ref target="wxevthandlersetprevioushandler">wxEvtHandler::SetPreviousHandler</ref>
      ,
      <ref target="wxevthandlergetprevioushandler">wxEvtHandler::GetPreviousHandler</ref>
      ,
      <ref target="wxwindowpusheventhandler">wxWindow::PushEventHandler</ref>
      ,
      <ref target="wxwindowpopeventhandler">wxWindow::PopEventHandler</ref>
     </seealso>
     <description>
      <p>
       Sets the pointer to the next handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxEvtHandler" name="SetPreviousHandler">
    <function type="void" name="SetPreviousHandler">
     <parameters>
      <parameter type="wxEvtHandler&#42; " name="handler">
       Event handler to be set as the previous handler.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxevthandlergetprevioushandler">wxEvtHandler::GetPreviousHandler</ref>
      ,
      <ref target="wxevthandlersetnexthandler">wxEvtHandler::SetNextHandler</ref>
      ,
      <ref target="wxevthandlergetnexthandler">wxEvtHandler::GetNextHandler</ref>
      ,
      <ref target="wxwindowpusheventhandler">wxWindow::PushEventHandler</ref>
      ,
      <ref target="wxwindowpopeventhandler">wxWindow::PopEventHandler</ref>
     </seealso>
     <description>
      <p>
       Sets the pointer to the previous handler.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFFile">
  <description>
   <p class="classdesc">
    wxFFile implements buffered file I/O. This is a very small class designed to
    minimize the overhead of using it - in fact, there is hardly any overhead at
    all, but using it brings you automatic error checking and hides differences
    between platforms and compilers. It wraps inside it a
    <tt> FILE &#42;</tt>
    handle used by standard C IO library (also known as
    <tt> stdio</tt>
    ).
   </p>
  </description>
  <category>File related classes</category>
  <shortdesc>Another low-level file input/output class.</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/ffile.h"/>
  </includes>
  <types>
   <table>
    <tr>
     <td>
      <b> wxFromStart</b>
     </td>
     <td>Count offset from the start of the file</td>
    </tr>
    <tr>
     <td>
      <b> wxFromCurrent</b>
     </td>
     <td>Count offset from the current position of the file pointer</td>
    </tr>
    <tr>
     <td>
      <b> wxFromEnd</b>
     </td>
     <td>Count offset from the end of the file (backwards)</td>
    </tr>
   </table>
  </types>
  <members>
   <member class="wxFFile" name="wxFFile">
    <function type="" name="wxFFile">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxFFile">
     <parameters>
      <parameter type="const char&#42; " name="filename">
       The filename.
      </parameter>
      <parameter type="const char&#42; " name="mode" value="&quot;r&quot;">
       The mode in which to open the file using standard C strings. Note that
       you should use
       <tt> &quot;b&quot;</tt>
       flag if you use binary files under Windows or the results might be
       unexpected due to automatic newline conversion done for the text files.
      </parameter>
     </parameters>
     <description>
      <p>
       Opens a file with the given mode. As there is no way to return whether
       the operation was successful or not from the constructor you should test
       the return value of
       <ref target="wxffileisopened">IsOpened</ref>
       to check that it didn't fail.
      </p>
     </description>
    </function>
    <function type="" name="wxFFile">
     <parameters>
      <parameter type="FILE&#42; " name="fp">
       An existing file descriptor, such as stderr.
      </parameter>
     </parameters>
     <description>
      <p>
       Opens a file with the given file pointer, which has already been opened.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="~wxFFile">
    <function type="" name="~wxFFile">
     <description>
      <p>
       Destructor will close the file.
      </p>
      <p>
       NB: it is not virtual so you should
       <i> not</i>
       derive from wxFFile!
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Attach">
    <function type="void" name="Attach">
     <parameters>
      <parameter type="FILE&#42; " name="fp"></parameter>
     </parameters>
     <description>
      <p>
       Attaches an existing file pointer to the wxFFile object.
      </p>
      <p>
       The descriptor should be already opened and it will be closed by wxFFile
       object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Close">
    <function type="bool" name="Close">
     <description>
      <p>
       Closes the file and returns true on success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Detach">
    <function type="void" name="Detach">
     <description>
      <p>
       Get back a file pointer from wxFFile object -- the caller is responsible
       for closing the file if this descriptor is opened.
       <ref target="wxffileisopened">IsOpened()</ref>
       will return false after call to Detach().
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="fp">
    <function type="FILE &#42;" name="fp" suffix="const">
     <description>
      <p>
       Returns the file pointer associated with the file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Eof">
    <function type="bool" name="Eof" suffix="const">
     <seealso>
      <ref target="wxffileisopened">IsOpened</ref>
     </seealso>
     <description>
      <p>
       Returns true if the an attempt has been made to read
       <i> past</i>
       the end of the file.
      </p>
      <p>
       Note that the behaviour of the file descriptor based class
       <ref target="wxfile">wxFile</ref>
       is different as
       <ref target="wxfileeof">wxFile::Eof</ref>
       will return true here as soon as the last byte of the file has been read.
      </p>
      <p>
       Also note that this method may only be called for opened files and may
       crash if the file is not opened.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Error"></member>
   <member class="wxFFile" name="Flush">
    <function type="bool" name="Flush">
     <description>
      <p>
       Flushes the file and returns true on success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="GetKind">
    <function type="wxFileKind" name="GetKind" suffix="const">
     <description>
      <p>
       Returns the type of the file. Possible return values are:
      </p>
      <pre>
enum wxFileKind
\{
  wxFILE\_KIND\_UNKNOWN,
  wxFILE\_KIND\_DISK,     // a file supporting seeking to arbitrary offsets
  wxFILE\_KIND\_TERMINAL, // a tty
  wxFILE\_KIND\_PIPE      // a pipe
\};

</pre>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="IsOpened">
    <function type="bool" name="IsOpened" suffix="const">
     <description>
      <p>
       Returns true if the file is opened. Most of the methods of this class may
       only be used for an opened file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Length">
    <function type="wxFileOffset" name="Length" suffix="const">
     <description>
      <p>
       Returns the length of the file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Open">
    <function type="bool" name="Open">
     <parameters>
      <parameter type="const char&#42; " name="filename">
       The filename.
      </parameter>
      <parameter type="const char&#42; " name="mode" value="&quot;r&quot;">
       The mode in which to open the file.
      </parameter>
     </parameters>
     <description>
      <p>
       Opens the file, returning true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Read">
    <function type="size\_t" name="Read">
     <parameters>
      <parameter type="void&#42; " name="buffer">
       A buffer to receive the data.
      </parameter>
      <parameter type="size\_t " name="count">
       The number of bytes to read.
      </parameter>
     </parameters>
     <returnvalue>
      The number of bytes read.
     </returnvalue>
     <description>
      <p>
       Reads the specified number of bytes into a buffer, returning the actual
       number read.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="ReadAll">
    <function type="bool" name="ReadAll">
     <parameters>
      <parameter type="wxString &#42; " name="str">
       String to read data into.
      </parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8">
       Conversion object to use in Unicode build; by default supposes that file
       contents is encoded in UTF-8.
      </parameter>
     </parameters>
     <returnvalue>
      true if file was read successfully, false otherwise.
     </returnvalue>
     <description>
      <p>
       Reads the entire contents of the file into a string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Seek">
    <function type="bool" name="Seek">
     <parameters>
      <parameter type="wxFileOffset " name="ofs">
       Offset to seek to.
      </parameter>
      <parameter type="wxSeekMode " name="mode" value="wxFromStart">
       One of
       <b> wxFromStart</b>
       ,
       <b> wxFromEnd</b>
       ,
       <b> wxFromCurrent</b>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       Seeks to the specified position and returns true on success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="SeekEnd">
    <function type="bool" name="SeekEnd">
     <parameters>
      <parameter type="wxFileOffset " name="ofs" value="0">
       Number of bytes before the end of the file.
      </parameter>
     </parameters>
     <description>
      <p>
       Moves the file pointer to the specified number of bytes before the end of
       the file and returns true on success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Tell">
    <function type="wxFileOffset" name="Tell" suffix="const">
     <description>
      <p>
       Returns the current position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFile" name="Write">
    <function type="size\_t" name="Write">
     <parameters>
      <parameter type="const void&#42; " name="buffer">
       A buffer containing the data.
      </parameter>
      <parameter type="size\_t " name="count">
       The number of bytes to write.
      </parameter>
     </parameters>
     <description>
      <p>
       Writes the specified number of bytes from a buffer.
      </p>
     </description>
    </function>
    <function type="bool" name="Write">
     <parameters>
      <parameter type="const wxString&amp; " name="s"></parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8">
       Only meaningful in the Unicode build of wxWidgets when
       <i> conv</i>
       is used to convert
       <i> s</i>
       to multibyte representation.
      </parameter>
     </parameters>
     <returnvalue>
      Number of bytes written, or true on success.
     </returnvalue>
     <description>
      <p>
       Writes the contents of the string to the file
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFFileInputStream">
  <description>
   <p class="classdesc">
    This class represents data read in from a file. There are actually two such
    groups of classes: this one is based on
    <ref target="wxffile">wxFFile</ref>
    whereas
    <ref target="wxfileinputstream">wxFileInputStream</ref>
    is based in the
    <ref target="wxfile">wxFile</ref>
    class.
   </p>
   <p class="classdesc">
    Note that
    <ref target="wxfile">wxFile</ref>
    and
    <ref target="wxffile">wxFFile</ref>
    differ in one aspect, namely when to report that the end of the file has
    been reached. This is documented in
    <ref target="wxfileeof">wxFile::Eof</ref>
    and
    <ref target="wxffileeof">wxFFile::Eof</ref>
    and the behaviour of the stream classes reflects this difference, i.e.
    wxFileInputStream will report wxSTREAM\_EOF after having read the last byte
    whereas wxFFileInputStream will report wxSTREAM\_EOF after trying to read
    <i> past</i>
    the last byte. Related to EOF behavior, note that
    <ref target="wxinputstreamseeki">SeekI()</ref>
    can seek beyond the end of the stream (file) and will thus not return
    <i> wxInvalidOffset</i>
    for that.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Another file input stream class</shortdesc>
  <parents>
   <ref type="help" target="wxInputStream">wxInputStream</ref>
  </parents>
  <includes>
   <header name="wx/wfstream.h"/>
  </includes>
  <seealso>
   <ref target="wxbufferedinputstream">wxBufferedInputStream</ref>
   <ref target="wxffileoutputstream">wxFFileOutputStream</ref>
   <ref target="wxfileoutputstream">wxFileOutputStream</ref>
  </seealso>
  <members>
   <member class="wxFFileInputStream" name="wxFFileInputStream">
    <function type="" name="wxFFileInputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const wxChar &#42; " name="mode" value="&quot;rb&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Opens the specified file using its
       <i> filename</i>
       name using the specified mode.
      </p>
     </description>
    </function>
    <function type="" name="wxFFileInputStream">
     <parameters>
      <parameter type="wxFFile&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in read-only mode using the file I/O object
       <i> file</i>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxFFileInputStream">
     <parameters>
      <parameter type="FILE &#42; " name="fp"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in read-only mode using the specified file
       pointer
       <i> fp</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFileInputStream" name="~wxFFileInputStream">
    <function type="" name="~wxFFileInputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFileInputStream" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the stream is initialized and ready.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFFileOutputStream">
  <description>
   <p class="classdesc">
    This class represents data written to a file. There are actually two such
    groups of classes: this one is based on
    <ref target="wxffile">wxFFile</ref>
    whereas
    <ref target="wxffileinputstream">wxFileInputStream</ref>
    is based in the
    <ref target="wxfile">wxFile</ref>
    class.
   </p>
   <p class="classdesc">
    Note that
    <ref target="wxfile">wxFile</ref>
    and
    <ref target="wxffile">wxFFile</ref>
    differ in one aspect, namely when to report that the end of the file has
    been reached. This is documented in
    <ref target="wxfileeof">wxFile::Eof</ref>
    and
    <ref target="wxffileeof">wxFFile::Eof</ref>
    and the behaviour of the stream classes reflects this difference, i.e.
    wxFileInputStream will report wxSTREAM\_EOF after having read the last byte
    whereas wxFFileInputStream will report wxSTREAM\_EOF after trying to read
    <i> past</i>
    the last byte. Related to EOF behavior, note that
    <ref target="wxoutputstreamseeko">SeekO()</ref>
    can seek beyond the end of the stream (file) and will thus not return
    <i> wxInvalidOffset</i>
    for that.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Another file output stream class</shortdesc>
  <parents>
   <ref type="help" target="wxOutputStream">wxOutputStream</ref>
  </parents>
  <includes>
   <header name="wx/wfstream.h"/>
  </includes>
  <seealso>
   <ref target="wxbufferedoutputstream">wxBufferedOutputStream</ref>
   <ref target="wxffileinputstream">wxFFileInputStream</ref>
   <ref target="wxfileinputstream">wxFileInputStream</ref>
  </seealso>
  <members>
   <member class="wxFFileOutputStream" name="wxFFileOutputStream">
    <function type="" name="wxFFileOutputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const wxChar &#42; " name="mode" value="&quot;w+b&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Opens the file with the given
       <i> filename</i>
       name in the specified mode.
      </p>
     </description>
    </function>
    <function type="" name="wxFFileOutputStream">
     <parameters>
      <parameter type="wxFFile&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in write-only mode using the file I/O object
       <i> file</i>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxFFileOutputStream">
     <parameters>
      <parameter type="FILE &#42; " name="fp"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in write-only mode using the file descriptor
       <i> fp</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFileOutputStream" name="~wxFFileOutputStream">
    <function type="" name="~wxFFileOutputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFFileOutputStream" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the stream is initialized and ready.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFFileStream">
  <description></description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxFFileOutputStream">wxFFileOutputStream</ref>
   <ref type="help" target="wxFFileInputStream">wxFFileInputStream</ref>
  </parents>
  <includes>
   <header name="wx/wfstream.h"/>
  </includes>
  <seealso>
   <ref target="wxstreambuffer">wxStreamBuffer</ref>
  </seealso>
  <members>
   <member class="wxFFileStream" name="wxFFileStream">
    <function type="" name="wxFFileStream">
     <parameters>
      <parameter type="const wxString&amp; " name="iofileName"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a new file stream in read-write mode using the specified
       <i> iofilename</i>
       name.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFSFile">
  <description>
   <p class="classdesc">
    This class represents a single file opened by
    <ref target="wxfilesystem">wxFileSystem</ref>
    . It provides more information than wxWindow's input stream (stream,
    filename, mime type, anchor).
   </p>
   <p class="classdesc">
    <b> Note:</b>
    Any pointer returned by a method of wxFSFile is valid only as long as the
    wxFSFile object exists. For example a call to GetStream() doesn't
    <i> create</i>
    the stream but only returns the pointer to it. In other words after 10 calls
    to GetStream() you will obtain ten identical pointers.
   </p>
  </description>
  <category>Virtual file system classes</category>
  <shortdesc>Represents a file in the virtual file system</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/filesys.h"/>
  </includes>
  <seealso>
   <ref target="wxfilesystemhandler">wxFileSystemHandler</ref>
   <ref target="wxfilesystem">wxFileSystem</ref>
   <ref target="fs">Overview</ref>
  </seealso>
  <members>
   <member class="wxFSFile" name="wxFSFile">
    <function type="" name="wxFSFile">
     <parameters>
      <parameter type="wxInputStream &#42;" name="stream">
       The input stream that will be used to access data
      </parameter>
      <parameter type="const wxString&amp; " name="loc"></parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type of this file. Mime type is either extension-based or HTTP
       Content-Type
      </parameter>
      <parameter type="const wxString&amp; " name="anchor">
       Anchor. See
       <ref target="wxfsfilegetanchor">GetAnchor()</ref>
       for details.
      </parameter>
      <parameter type="wxDateTime " name="modif"></parameter>
     </parameters>
     <note>

It is seldom used by the application programmer but you will need it if
you are writing your own virtual FS. For example you may need something
similar to wxMemoryInputStream, but because wxMemoryInputStream
doesn't free the memory when destroyed and thus passing a memory stream
pointer into wxFSFile constructor would lead to memory leaks, you
can write your own class derived from wxFSFile:

<pre>
class wxMyFSFile : public wxFSFile
\{
    private:
        void &#42;m\_Mem;
    public:
        wxMyFSFile(.....)
	~wxMyFSFile() \{free(m\_Mem);\}
	    // of course dtor is virtual ;-)
\};
</pre>
     </note>
     <description>
      <p>
       Constructor. You probably won't use it. See Notes for details.
      </p>
      <p>
       If you are not sure of the meaning of these params, see the description
       of the GetXXXX() functions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFSFile" name="GetAnchor">
    <function type="const wxString&amp;" name="GetAnchor" suffix="const">
     <description>
      <p>
       Returns anchor (if present). The term of
       <b> anchor</b>
       can be easily explained using few examples:
      </p>
      <pre>
index.htm#anchor                      /&#42; 'anchor' is anchor &#42;/
index/wx001.htm                       /&#42; NO anchor here!    &#42;/
archive/main.zip#zip:index.htm#global /&#42; 'global'           &#42;/
archive/main.zip#zip:index.htm        /&#42; NO anchor here!    &#42;/
</pre>
      <p>
       Usually an anchor is presented only if the MIME type is 'text/html'. But
       it may have some meaning with other files; for example myanim.avi#200 may
       refer to position in animation or reality.wrl#MyView may refer to a
       predefined view in VRML.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFSFile" name="GetLocation">
    <function type="const wxString&amp;" name="GetLocation" suffix="const">
     <description>
      <p>
       Returns full location of the file, including path and protocol. Examples
       :
      </p>
      <pre>
http://www.wxwidgets.org
http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/archive.zip#zip:info.txt
file:/home/vasek/index.htm
relative-file.htm
</pre>
     </description>
    </function>
   </member>
   <member class="wxFSFile" name="GetMimeType">
    <function type="const wxString&amp;" name="GetMimeType" suffix="const">
     <description>
      <p>
       Returns the MIME type of the content of this file. It is either
       extension-based (see wxMimeTypesManager) or extracted from HTTP protocol
       Content-Type header.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFSFile" name="GetModificationTime">
    <function type="wxDateTime" name="GetModificationTime" suffix="const">
     <description>
      <p>
       Returns time when this file was modified.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFSFile" name="GetStream">
    <function type="wxInputStream&#42;" name="GetStream" suffix="const">
     <description>
      <p>
       Returns pointer to the stream. You can use the returned stream to
       directly access data. You may suppose that the stream provide Seek and
       GetSize functionality (even in the case of the HTTP protocol which
       doesn't provide this by default. wxHtml uses local cache to work around
       this and to speed up the connection).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFTP">
  <description>
   <p class="classdesc">
    wxFTP can be used to establish a connection to an FTP server and perform all
    the usual operations. Please consult the RFC 959 for more details about the
    FTP protocol.
   </p>
   <p class="classdesc">
    To use a commands which doesn't involve file transfer (i.e. directory
    oriented commands) you just need to call a corresponding member function or
    use the generic
    <ref target="wxftpsendcommand">SendCommand</ref>
    method. However to actually transfer files you just get or give a stream to
    or from this class and the actual data are read or written using the usual
    stream methods.
   </p>
  </description>
  <category>Networking classes</category>
  <shortdesc>FTP protocol class</shortdesc>
  <example>
   <p>
    using wxFTP for file downloading:
   </p>
   <pre>
    wxFTP ftp;

    // if you don't use these lines anonymous login will be used
    ftp.SetUser(&quot;user&quot;);
    ftp.SetPassword(&quot;password&quot;);

    if ( !ftp.Connect(&quot;ftp.wxwindows.org&quot;) )
    \{
        wxLogError(&quot;Couldn't connect&quot;);
        return;
    \}

    ftp.ChDir(&quot;/pub&quot;);
    wxInputStream &#42;in = ftp.GetInputStream(&quot;wxWidgets-4.2.0.tar.gz&quot;);
    if ( !in )
    \{
        wxLogError(&quot;Coudln't get file&quot;);
    \}
    else
    \{
        size\_t size = in-&gt;GetSize();
        char &#42;data = new char[size];
        if ( !in-&gt;Read(data, size) )
        \{
            wxLogError(&quot;Read error&quot;);
        \}
        else
        \{
            // file data is in the buffer
            ...
        \}

        delete [] data;
        delete in;
    \}
</pre>
   <p>
    To upload a file you would do (assuming the connection to the server was
    opened successfully):
   </p>
   <pre>
        wxOutputStream &#42;out = ftp.GetOutputStream(&quot;filename&quot;);
        if ( out )
        \{
            out-&gt;Write(...); // your data
            delete out;
        \}
</pre>
  </example>
  <parents>
   <ref type="help" target="wxProtocol">wxProtocol</ref>
  </parents>
  <includes>
   <header name="wx/protocol/ftp.h"/>
  </includes>
  <constants>

wxFTP defines constants corresponding to the two supported transfer modes:

<pre>
enum TransferMode
\{
    ASCII,
    BINARY
\};
</pre>
  </constants>
  <seealso>
   <ref target="wxsocketbase">wxSocketBase</ref>
  </seealso>
  <members>
   <member class="wxFTP" name="wxFTP">
    <function type="" name="wxFTP">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="~wxFTP">
    <function type="" name="~wxFTP">
     <description>
      <p>
       Destructor will close the connection if connected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="Abort">
    <function type="bool" name="Abort">
     <description>
      <p>
       Aborts the download currently in process, returns true if ok, false if an
       error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="CheckCommand">
    <function type="bool" name="CheckCommand">
     <parameters>
      <parameter type="const wxString&amp; " name="command"></parameter>
      <parameter type="char " name="ret"></parameter>
     </parameters>
     <returnvalue>
      true if the command has been sent successfully, else false.
     </returnvalue>
     <description>
      <p>
       Send the specified
       <i> command</i>
       to the FTP server.
       <i> ret</i>
       specifies the expected result.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SendCommand">
    <function type="char" name="SendCommand">
     <parameters>
      <parameter type="const wxString&amp; " name="command"></parameter>
     </parameters>
     <description>
      <p>
       Send the specified
       <i> command</i>
       to the FTP server and return the first character of the return code.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="GetLastResult">
    <function type="const wxString&amp;" name="GetLastResult">
     <description>
      <p>
       Returns the last command result, i.e. the full server reply for the last
       command.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="ChDir">
    <function type="bool" name="ChDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Change the current FTP working directory. Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="MkDir">
    <function type="bool" name="MkDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Create the specified directory in the current FTP working directory.
       Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="RmDir">
    <function type="bool" name="RmDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Remove the specified directory from the current FTP working directory.
       Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="Pwd">
    <function type="wxString" name="Pwd">
     <description>
      <p>
       Returns the current FTP working directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="Rename">
    <function type="bool" name="Rename">
     <parameters>
      <parameter type="const wxString&amp; " name="src"></parameter>
      <parameter type="const wxString&amp; " name="dst"></parameter>
     </parameters>
     <description>
      <p>
       Rename the specified
       <i> src</i>
       element to
       <i> dst</i>
       . Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="RmFile">
    <function type="bool" name="RmFile">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Delete the file specified by
       <i> path</i>
       . Returns true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SetAscii">
    <function type="bool" name="SetAscii">
     <description>
      <p>
       Sets the transfer mode to ASCII. It will be used for the next transfer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SetBinary">
    <function type="bool" name="SetBinary">
     <description>
      <p>
       Sets the transfer mode to binary (IMAGE). It will be used for the next
       transfer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SetPassive">
    <function type="void" name="SetPassive">
     <parameters>
      <parameter type="bool " name="pasv"></parameter>
     </parameters>
     <description>
      <p>
       If
       <i>pasv</i>
       is true, passive connection to the FTP server is used. This is the
       default as it works with practically all firewalls. If the server doesn't
       support passive move, you may call this function with false argument to
       use active connection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SetTransferMode">
    <function type="bool" name="SetTransferMode">
     <parameters>
      <parameter type="TransferMode " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       Sets the transfer mode to the specified one. It will be used for the next
       transfer.
      </p>
      <p>
       If this function is never called, binary transfer mode is used by
       default.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SetUser">
    <function type="void" name="SetUser">
     <parameters>
      <parameter type="const wxString&amp; " name="user"></parameter>
     </parameters>
     <remarks>
      <p>
       This parameter can be included in a URL if you want to use the URL
       manager. For example, you can use:
       &quot;ftp://a\_user:a\_password@a.host:service/a\_directory/a\_file&quot; to
       specify a user and a password.
      </p>
     </remarks>
     <default>

The default value of the user name is &quot;anonymous&quot;.

</default>
     <description>
      <p>
       Sets the user name to be sent to the FTP server to be allowed to log in.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="SetPassword">
    <function type="void" name="SetPassword">
     <parameters>
      <parameter type="const wxString&amp; " name="passwd"></parameter>
     </parameters>
     <remarks>
      <p>
       This parameter can be included in a URL if you want to use the URL
       manager. For example, you can use:
       &quot;ftp://a\_user:a\_password@a.host:service/a\_directory/a\_file&quot; to
       specify a user and a password.
      </p>
     </remarks>
     <default>

The default value of the user name is your email address. For example, it could
be &quot;username@userhost.domain&quot;. This password is built by getting the current
user name and the host name of the local machine from the system.

</default>
     <description>
      <p>
       Sets the password to be sent to the FTP server to be allowed to log in.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="FileExists">
    <function type="bool" name="FileExists">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the given remote file exists, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="GetFileSize">
    <function type="int" name="GetFileSize">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Returns the file size in bytes or $-1$ if the file doesn't exist or the
       size couldn't be determined. Notice that this size can be approximative
       size only and shouldn't be used for allocating the buffer in which the
       remote file is copied, for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="GetDirList">
    <function type="bool" name="GetDirList">
     <parameters>
      <parameter type="wxArrayString&amp; " name="files"></parameter>
      <parameter type="const wxString&amp; " name="wildcard" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxftpgetfileslist">GetFilesList</ref>
     </seealso>
     <description>
      <p>
       The GetList function is quite low-level. It returns the list of the files
       in the current directory. The list can be filtered using the
       <i> wildcard</i>
       string. If
       <i> wildcard</i>
       is empty (default), it will return all files in directory.
      </p>
      <p>
       The form of the list can change from one peer system to another. For
       example, for a UNIX peer system, it will look like this:
      </p>
      <pre>
-r--r--r--   1 guilhem  lavaux      12738 Jan 16 20:17 cmndata.cpp
-r--r--r--   1 guilhem  lavaux      10866 Jan 24 16:41 config.cpp
-rw-rw-rw-   1 guilhem  lavaux      29967 Dec 21 19:17 cwlex\_yy.c
-rw-rw-rw-   1 guilhem  lavaux      14342 Jan 22 19:51 cwy\_tab.c
-r--r--r--   1 guilhem  lavaux      13890 Jan 29 19:18 date.cpp
-r--r--r--   1 guilhem  lavaux       3989 Feb  8 19:18 datstrm.cpp
</pre>
      <p>
       But on Windows system, it will look like this:
      </p>
      <pre>
winamp~1 exe    520196 02-25-1999  19:28  winamp204.exe
        1 file(s)           520 196 bytes
</pre>
      <p>
       Return value: true if the file list was successfully retrieved, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="GetFilesList">
    <function type="bool" name="GetFilesList">
     <parameters>
      <parameter type="wxArrayString&amp; " name="files"></parameter>
      <parameter type="const wxString&amp; " name="wildcard" value="&quot;&quot;"></parameter>
     </parameters>
     <description>
      <p>
       This function returns the computer-parsable list of the files in the
       current directory (optionally only of the files matching the
       <i> wildcard</i>
       , all files by default). This list always has the same format and
       contains one full (including the directory path) file name per line.
      </p>
      <p>
       Return value: true if the file list was successfully retrieved, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="GetOutputStream">
    <function type="wxOutputStream &#42;" name="GetOutputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
     </parameters>
     <seealso>
      <ref target="wxoutputstream">wxOutputStream</ref>
     </seealso>
     <returnvalue>
      An initialized write-only stream.
     </returnvalue>
     <description>
      <p>
       Initializes an output stream to the specified
       <i> file</i>
       . The returned stream has all but the seek functionality of wxStreams.
       When the user finishes writing data, he has to delete the stream to close
       it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFTP" name="GetInputStream">
    <function type="wxInputStream &#42;" name="GetInputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <example>
      <p>
       a standalone connection (without wxURL)\}
      </p>
      <pre>
  wxFTP ftp;
  wxInputStream &#42;in\_stream;
  char &#42;data;

  ftp.Connect(&quot;a.host.domain&quot;);
  ftp.ChDir(&quot;a\_directory&quot;);
  in\_stream = ftp.GetInputStream(&quot;a\_file\_to\_get&quot;);

  data = new char[in\_stream-&gt;GetSize()];

  in\_stream-&gt;Read(data, in\_stream-&gt;GetSize());
  if (in\_stream-&gt;LastError() != wxStream\_NOERROR) \{
    // Do something.
  \}

  delete in\_stream; /&#42; Close the DATA connection &#42;/

  ftp.Close(); /&#42; Close the COMMAND connection &#42;/
</pre>
     </example>
     <seealso>
      <ref target="wxinputstream">wxInputStream</ref>
     </seealso>
     <returnvalue>
      Returns NULL if an error occurred (it could be a network failure or the
      fact that the file doesn't exist). Returns the initialized stream. You
      will have to delete it yourself when you don't need it anymore. The
      destructor closes the DATA stream connection but will leave the COMMAND
      stream connection opened. It means that you can still send new commands
      without reconnecting.
     </returnvalue>
     <description>
      <p>
       Creates a new input stream on the specified path. You can use all but the
       seek functionality of wxStream. Seek isn't available on all streams. For
       example, HTTP or FTP streams do not deal with it. Other functions like
       Tell are not available for this sort of stream, at present. You will be
       notified when the EOF is reached by an error.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFile">
  <description>
   <p class="classdesc">
    A wxFile performs raw file I/O. This is a very small class designed to
    minimize the overhead of using it - in fact, there is hardly any overhead at
    all, but using it brings you automatic error checking and hides differences
    between platforms and compilers. wxFile also automatically closes the file
    in its destructor making it unnecessary to worry about forgetting to do it.
    wxFile is a wrapper around
    <tt> file descriptor.</tt>
    - see also
    <ref target="wxffile">wxFFile</ref>
    for a wrapper around
    <tt> FILE</tt>
    structure.
   </p>
   <p class="classdesc">
    <tt> wxFileOffset</tt>
    is used by the wxFile functions which require offsets as parameter or return
    them. If the platform supports it, wxFileOffset if a typedef for a native 64
    bit integer, else a 32 bit integer is used for wxFileOffset.
   </p>
  </description>
  <category>File related classes</category>
  <shortdesc>Low-level file input/output class.</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/file.h"/>
  </includes>
  <constants>

wx/file.h defines the following constants:

<pre>
#define wxS\_IRUSR 00400
#define wxS\_IWUSR 00200
#define wxS\_IXUSR 00100

#define wxS\_IRGRP 00040
#define wxS\_IWGRP 00020
#define wxS\_IXGRP 00010

#define wxS\_IROTH 00004
#define wxS\_IWOTH 00002
#define wxS\_IXOTH 00001

// default mode for the new files: corresponds to umask 022
#define wxS\_DEFAULT  (wxS\_IRUSR | wxS\_IWUSR | wxS\_IRGRP | wxS\_IWGRP | wxS\_IROTH | wxS\_IWOTH)
</pre>

These constants define the file access rights and are used with 
<ref target="wxfilecreate">wxFile::Create</ref> and <ref target="wxfileopen">wxFile::Open</ref>.

The <i> OpenMode</i> enumeration defines the different modes for opening a file,
it is defined inside wxFile class so its members should be specified with <i> wxFile::</i> scope
resolution prefix. It is also used with <ref target="wxfileaccess">wxFile::Access</ref> function.


<table>
    <tr>
     <td>
      <b> wxFile::read</b>
     </td>
     <td>Open file for reading or test if it can be opened for reading with Access()</td>
    </tr>
    <tr>
     <td>
      <b> wxFile::write</b>
     </td>
     <td>Open file for writing deleting the contents of the file if it already exists
or test if it can be opened for writing with Access()</td>
    </tr>
    <tr>
     <td>
      <b> wxFile::read\_write</b>
     </td>
     <td>Open file for reading and writing; can not be used with Access()</td>
    </tr>
    <tr>
     <td>
      <b> wxFile::write\_append</b>
     </td>
     <td>Open file for appending: the file is opened for writing, but the old
contents of the file is not erased and the file pointer is initially placed at the end of the file;
can not be used with Access(). This is the same as <b> wxFile::write</b> if the
file doesn't exist.</td>
    </tr>
    <tr>
     <td>
      <b> wxFile::write\_excl</b>
     </td>
     <td>Open the file securely for writing (Uses O\_EXCL | O\_CREAT).
Will fail if the file already exists, else create and open it atomically.  Useful for opening temporary files without being vulnerable to race exploits.</td>
    </tr>
   </table>

Other constants defined elsewhere but used by wxFile functions are wxInvalidOffset which represents an
invalid value of type <i> wxFileOffset</i> and is returned by functions returning <i> wxFileOffset</i> on error and the seek
mode constants used with <ref target="wxfileseek">Seek()</ref>:


<table>
    <tr>
     <td>
      <b> wxFromStart</b>
     </td>
     <td>Count offset from the start of the file</td>
    </tr>
    <tr>
     <td>
      <b> wxFromCurrent</b>
     </td>
     <td>Count offset from the current position of the file pointer</td>
    </tr>
    <tr>
     <td>
      <b> wxFromEnd</b>
     </td>
     <td>Count offset from the end of the file (backwards)</td>
    </tr>
   </table>
  </constants>
  <members>
   <member class="wxFile" name="wxFile">
    <function type="" name="wxFile">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxFile">
     <parameters>
      <parameter type="const char&#42; " name="filename">
       The filename.
      </parameter>
      <parameter type="wxFile::OpenMode " name="mode" value="wxFile::read">
       The mode in which to open the file. May be one of
       <b> wxFile::read</b>
       ,
       <b> wxFile::write</b>
       and
       <b> wxFile::read\_write</b>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       Opens a file with the given mode. As there is no way to return whether
       the operation was successful or not from the constructor you should test
       the return value of
       <ref target="wxfileisopened">IsOpened</ref>
       to check that it didn't fail.
      </p>
     </description>
    </function>
    <function type="" name="wxFile">
     <parameters>
      <parameter type="int " name="fd">
       An existing file descriptor (see
       <ref target="wxfileattach">Attach()</ref>
       for the list of predefined descriptors)
      </parameter>
     </parameters>
     <description>
      <p>
       Associates the file with the given file descriptor, which has already
       been opened.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="~wxFile">
    <function type="" name="~wxFile">
     <description>
      <p>
       Destructor will close the file.
      </p>
      <p>
       <b> NB:</b>
       it is not virtual so you should not use wxFile polymorphically.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Access">
    <function type="static bool" name="Access">
     <parameters>
      <parameter type="const char &#42; " name="name"></parameter>
      <parameter type="OpenMode " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       This function verifies if we may access the given file in specified mode.
       Only values of wxFile::read or wxFile::write really make sense here.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Attach">
    <function type="void" name="Attach">
     <parameters>
      <parameter type="int " name="fd"></parameter>
     </parameters>
     <description>
      <p>
       Attaches an existing file descriptor to the wxFile object. Example of
       predefined file descriptors are 0, 1 and 2 which correspond to stdin,
       stdout and stderr (and have symbolic names of
       <b> wxFile::fd\_stdin</b>
       ,
       <b> wxFile::fd\_stdout</b>
       and
       <b> wxFile::fd\_stderr</b>
       ).
      </p>
      <p>
       The descriptor should be already opened and it will be closed by wxFile
       object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Close">
    <function type="void" name="Close">
     <description>
      <p>
       Closes the file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="const char&#42; " name="filename"></parameter>
      <parameter type="bool " name="overwrite" value="false"></parameter>
      <parameter type="int " name="access" value="wxS\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Creates a file for writing. If the file already exists, setting
       <b> overwrite</b>
       to true will ensure it is overwritten.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Detach">
    <function type="void" name="Detach">
     <description>
      <p>
       Get back a file descriptor from wxFile object - the caller is responsible
       for closing the file if this descriptor is opened.
       <ref target="wxfileisopened">IsOpened()</ref>
       will return false after call to Detach().
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="fd">
    <function type="int" name="fd" suffix="const">
     <description>
      <p>
       Returns the file descriptor associated with the file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Eof">
    <function type="bool" name="Eof" suffix="const">
     <description>
      <p>
       Returns true if the end of the file has been reached.
      </p>
      <p>
       Note that the behaviour of the file pointer based class
       <ref target="wxffile">wxFFile</ref>
       is different as
       <ref target="wxffileeof">wxFFile::Eof</ref>
       will return true here only if an attempt has been made to read
       <i> past</i>
       the last byte of the file, while wxFile::Eof() will return true even
       before such attempt is made if the file pointer is at the last position
       in the file.
      </p>
      <p>
       Note also that this function doesn't work on unseekable file descriptors
       (examples include pipes, terminals and sockets under Unix) and an attempt
       to use it will result in an error message in such case. So, to read the
       entire file into memory, you should write a loop which uses
       <ref target="wxfileread">Read</ref>
       repeatedly and tests its return condition instead of using Eof() as this
       will not work for special files under Unix.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Exists">
    <function type="static bool" name="Exists">
     <parameters>
      <parameter type="const char&#42; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the given name specifies an existing regular file (not a
       directory or a link)
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Flush">
    <function type="bool" name="Flush">
     <description>
      <p>
       Flushes the file descriptor.
      </p>
      <p>
       Note that wxFile::Flush is not implemented on some Windows compilers due
       to a missing fsync function, which reduces the usefulness of this
       function (it can still be called but it will do nothing on unsupported
       compilers).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="GetKind">
    <function type="wxFileKind" name="GetKind" suffix="const">
     <description>
      <p>
       Returns the type of the file. Possible return values are:
      </p>
      <pre>
enum wxFileKind
\{
  wxFILE\_KIND\_UNKNOWN,
  wxFILE\_KIND\_DISK,     // a file supporting seeking to arbitrary offsets
  wxFILE\_KIND\_TERMINAL, // a tty
  wxFILE\_KIND\_PIPE      // a pipe
\};

</pre>
     </description>
    </function>
   </member>
   <member class="wxFile" name="IsOpened">
    <function type="bool" name="IsOpened" suffix="const">
     <description>
      <p>
       Returns true if the file has been opened.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Length">
    <function type="wxFileOffset" name="Length" suffix="const">
     <description>
      <p>
       Returns the length of the file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Open">
    <function type="bool" name="Open">
     <parameters>
      <parameter type="const char&#42; " name="filename">
       The filename.
      </parameter>
      <parameter type="wxFile::OpenMode " name="mode" value="wxFile::read">
       The mode in which to open the file. May be one of
       <b> wxFile::read</b>
       ,
       <b> wxFile::write</b>
       and
       <b> wxFile::read\_write</b>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       Opens the file, returning true if successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Read">
    <function type="size\_t" name="Read">
     <parameters>
      <parameter type="void&#42; " name="buffer">
       A buffer to receive the data.
      </parameter>
      <parameter type="size\_t " name="count">
       The number of bytes to read.
      </parameter>
     </parameters>
     <returnvalue>
      The number of bytes read, or the symbol
      <b> wxInvalidOffset</b>
      (-1) if there was an error.
     </returnvalue>
     <description>
      <p>
       Reads the specified number of bytes into a buffer, returning the actual
       number read.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Seek">
    <function type="wxFileOffset" name="Seek">
     <parameters>
      <parameter type="wxFileOffset " name="ofs">
       Offset to seek to.
      </parameter>
      <parameter type="wxSeekMode " name="mode" value="wxFromStart">
       One of
       <b> wxFromStart</b>
       ,
       <b> wxFromEnd</b>
       ,
       <b> wxFromCurrent</b>
       .
      </parameter>
     </parameters>
     <returnvalue>
      The actual offset position achieved, or wxInvalidOffset on failure.
     </returnvalue>
     <description>
      <p>
       Seeks to the specified position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="SeekEnd">
    <function type="wxFileOffset" name="SeekEnd">
     <parameters>
      <parameter type="wxFileOffset " name="ofs" value="0">
       Number of bytes before the end of the file.
      </parameter>
     </parameters>
     <returnvalue>
      The actual offset position achieved, or wxInvalidOffset on failure.
     </returnvalue>
     <description>
      <p>
       Moves the file pointer to the specified number of bytes before the end of
       the file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Tell">
    <function type="wxFileOffset" name="Tell" suffix="const">
     <description>
      <p>
       Returns the current position or wxInvalidOffset if file is not opened or
       if another error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFile" name="Write">
    <function type="size\_t" name="Write">
     <parameters>
      <parameter type="const void&#42; " name="buffer">
       A buffer containing the data.
      </parameter>
      <parameter type="wxFileOffset " name="count">
       The number of bytes to write.
      </parameter>
     </parameters>
     <description>
      <p>
       Writes the specified number of bytes from a buffer.
      </p>
     </description>
    </function>
    <function type="bool" name="Write">
     <parameters>
      <parameter type="const wxString&amp; " name="s"></parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8">
       Only meaningful in the Unicode build of wxWidgets when
       <i> conv</i>
       is used to convert
       <i> s</i>
       to multibyte representation.
      </parameter>
     </parameters>
     <returnvalue>
      the number of bytes actually written, or true on success.
     </returnvalue>
     <description>
      <p>
       Writes the contents of the string to the file.
      </p>
      <p>
       Note that this method only works with
       <tt> NUL</tt>
       -terminated strings, if you want to write data with embedded
       <tt> NUL</tt>
       s to the file you should use the other
       <ref target="wxfilewrite">Write() overload</ref>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileConfig">
  <description>
   <p class="classdesc">
    wxFileConfig implements
    <ref target="wxconfigbase">wxConfigBase</ref>
    interface for storing and retrieving configuration information using plain
    text files. The files have a simple format reminiscent of Windows INI files
    with lines of the form
    <tt>key = value</tt>
    defining the keys and lines of special form
    <tt>$[$group$]$</tt>
    indicating the start of each group.
   </p>
   <p class="classdesc">
    This class is used by default for wxConfig on Unix platforms but may also be
    used explicitly if you want to use files and not the registry even under
    Windows.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxConfigBase">wxConfigBase</ref>
  </parents>
  <includes>
   <header name="wx/fileconf.h"/>
  </includes>
  <members>
   <member class="wxFileConfig" name="wxFileConfig">
    <function type="" name="wxFileConfig">
     <parameters>
      <parameter type="wxInputStream&amp; " name="is"></parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfileconfigsave">Save</ref>
     </seealso>
     <description>
      <p>
       Read the config data from the specified stream instead of the associated
       file, as usual.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileConfig" name="Save">
    <function type="bool" name="Save">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="os"></parameter>
      <parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8"></parameter>
     </parameters>
     <seealso>
      <ref target="wxconfigbaseflush">Flush</ref>
     </seealso>
     <description>
      <p>
       Saves all config data to the given stream, returns true if data was saved
       successfully or false on error.
      </p>
      <p>
       Note the interaction of this function with the internal ``dirty flag'':
       the data is saved unconditionally, i.e. even if the object is not dirty.
       However after saving it successfully, the dirty flag is reset so no
       changes will be written back to the file this object is associated with
       until you change its contents again.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileConfig" name="SetUmask">
    <function type="void" name="SetUmask">
     <parameters>
      <parameter type="int " name="mode"></parameter>
     </parameters>
     <seealso>
      <ref target="wxchangeumask">wxCHANGE\_UMASK</ref>
     </seealso>
     <description>
      <p>
       Allows to set the mode to be used for the config file creation. For
       example, to create a config file which is not readable by other users
       (useful if it stores some sensitive information, such as passwords), you
       could use
       <tt> SetUmask(0077)</tt>
       .
      </p>
      <p>
       This function doesn't do anything on non-Unix platforms.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxFileDataObject">
  <description>
   <p class="classdesc">
    wxFileDataObject is a specialization of
    <ref target="wxdataobject">wxDataObject</ref>
    for file names. The program works with it just as if it were a list of
    absolute file names, but internally it uses the same format as Explorer and
    other compatible programs under Windows or GNOME/KDE filemanager under Unix
    which makes it possible to receive files from them using this class.
   </p>
   <p class="classdesc">
    <b> Warning:</b>
    Under all non-Windows platforms this class is currently
    &quot;input-only&quot;, i.e. you can receive the files from another
    application, but copying (or dragging) file(s) from a wxWidgets application
    is not currently supported. PS: GTK2 should work as well.
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>File data object class</shortdesc>
  <parents>
   <ref type="help" target="wxDataObjectSimple">wxDataObjectSimple</ref>
   <ref type="help" target="wxDataObject">wxDataObject</ref>
  </parents>
  <includes>
   <header name="wx/dataobj.h"/>
  </includes>
  <override>

None.

</override>
  <seealso>
   <ref target="wxdataobject">wxDataObject</ref>
   <ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
   <ref target="wxtextdataobject">wxTextDataObject</ref>
   <ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
   <ref target="wxdataobject">wxDataObject</ref>
  </seealso>
  <members>
   <member class="" name=""></member>
   <member class="wxFileDataObject" name="AddFile">
    <function type="virtual void" name="AddFile">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       <b> MSW only:</b>
       adds a file to the file list represented by this data object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDataObject" name="GetFilenames">
    <function type="const wxArrayString&amp; " name="GetFilenames" suffix="const">
     <description>
      <p>
       Returns the
       <ref target="wxarraystring">array</ref>
       of file names.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileDialog">
  <description>
   <p class="classdesc">
    This class represents the file chooser dialog.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>File selector dialog</shortdesc>
  <remarks>
   <p>
    Pops up a file selector box. In Windows and GTK2.4+, this is the common file
    selector dialog. In X, this is a file selector box with somewhat less
    functionality. The path and filename are distinct elements of a full file
    pathname. If path is ``&quot;, the current directory will be used. If
    filename is ``&quot;, no default filename will be supplied. The wildcard
    determines what files are displayed in the file selector, and file extension
    supplies a type extension for the required filename. Flags may be a
    combination of wxOPEN, wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY,
    wxFILE\_MUST\_EXIST, wxMULTIPLE, wxCHANGE\_DIR or 0.
   </p>
   <p>
    Both the X and Windows versions implement a wildcard filter. Typing a
    filename containing wildcards (&#42;, ?) in the filename text item, and
    clicking on Ok, will result in only those files matching the pattern being
    displayed. The wildcard may be a specification for multiple types of file
    with a description for each, such as:
   </p>
   <pre>
 &quot;BMP and GIF files (&#42;.bmp;&#42;.gif)|&#42;.bmp;&#42;.gif|PNG files (&#42;.png)|&#42;.png&quot;
</pre>
   <p>
    It must be noted that wildcard support in the native Motif file dialog is
    quite limited: only one alternative is supported, and it is displayed
    without the descriptive test; ``BMP files (&#42;.bmp)|&#42;.bmp'' is
    displayed as ``&#42;.bmp'', and both ``BMP files (&#42;.bmp)|&#42;.bmp|GIF
    files (&#42;.gif)|&#42;.gif'' and ``Image files|&#42;.bmp;&#42;.gif'' are
    errors.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/filedlg.h"/>
  </includes>
  <seealso>
   <ref target="wxfiledialogoverview">wxFileDialog overview</ref>
   <ref target="wxfileselector">wxFileSelector</ref>
  </seealso>
  <members>
   <member class="wxFileDialog" name="wxFileDialog">
    <function type="" name="wxFileDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window.
      </parameter>
      <parameter type="const wxString&amp; " name="message" value="&quot;Choose">
       Message to show on the dialog.
      </parameter>
      <parameter type="const wxString&amp; " name="defaultDir" value="&quot;&quot;">
       The default directory, or the empty string.
      </parameter>
      <parameter type="const wxString&amp; " name="defaultFile" value="``&quot;">
       The default filename, or the empty string.
      </parameter>
      <parameter type="const wxString&amp; " name="wildcard" value="``*.*&quot;">
       A wildcard, such as ``&#42;.&#42;&quot; or ``BMP files
       (&#42;.bmp)|&#42;.bmp|GIF files (&#42;.gif)|&#42;.gif&quot;. Note that
       the native Motif dialog has some limitations with respect to wildcards;
       see the Remarks section above.
      </parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Dialog position. Not implemented.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor. Use
       <ref target="wxfiledialogshowmodal">wxFileDialog::ShowModal</ref>
       to show the dialog.
      </p>
      <p>
       <b> NB:</b>
       Previous versions of wxWidgets used
       <tt> wxCHANGE\_DIR</tt>
       by default under MS Windows which allowed the program to simply remember
       the last directory where user selected the files to open/save. This
       (desired) functionality must be implemented in the program itself now
       (manually remember the last path used and pass it to the dialog the next
       time it is called) or by using this flag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="~wxFileDialog">
    <function type="" name="~wxFileDialog">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetDirectory">
    <function type="wxString" name="GetDirectory" suffix="const">
     <description>
      <p>
       Returns the default directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetFilename">
    <function type="wxString" name="GetFilename" suffix="const">
     <description>
      <p>
       Returns the default filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetFilenames">
    <function type="void" name="GetFilenames" suffix="const">
     <parameters>
      <parameter type="wxArrayString&amp; " name="filenames"></parameter>
     </parameters>
     <description>
      <p>
       Fills the array
       <i> filenames</i>
       with the names of the files chosen. This function should only be used
       with the dialogs which have
       <tt> wxMULTIPLE</tt>
       style, use
       <ref target="wxfiledialoggetfilename">GetFilename</ref>
       for the others.
      </p>
      <p>
       Note that under Windows, if the user selects shortcuts, the filenames
       include paths, since the application cannot determine the full path of
       each referenced file by appending the directory containing the shortcuts
       to the filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetFilterIndex">
    <function type="int" name="GetFilterIndex" suffix="const">
     <description>
      <p>
       Returns the index into the list of filters supplied, optionally, in the
       wildcard parameter. Before the dialog is shown, this is the index which
       will be used when the dialog is first displayed. After the dialog is
       shown, this is the index selected by the user.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetMessage">
    <function type="wxString" name="GetMessage" suffix="const">
     <description>
      <p>
       Returns the message that will be displayed on the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetPath">
    <function type="wxString" name="GetPath" suffix="const">
     <description>
      <p>
       Returns the full path (directory and filename) of the selected file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetPaths">
    <function type="void" name="GetPaths" suffix="const">
     <parameters>
      <parameter type="wxArrayString&amp; " name="paths"></parameter>
     </parameters>
     <description>
      <p>
       Fills the array
       <i> paths</i>
       with the full paths of the files chosen. This function should only be
       used with the dialogs which have
       <tt> wxMULTIPLE</tt>
       style, use
       <ref target="wxfiledialoggetpath">GetPath</ref>
       for the others.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetStyle">
    <function type="long" name="GetStyle" suffix="const">
     <description>
      <p>
       Returns the dialog style.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="GetWildcard">
    <function type="wxString" name="GetWildcard" suffix="const">
     <description>
      <p>
       Returns the file dialog wildcard.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetDirectory">
    <function type="void" name="SetDirectory">
     <parameters>
      <parameter type="const wxString&amp; " name="directory"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetFilename">
    <function type="void" name="SetFilename">
     <parameters>
      <parameter type="const wxString&amp; " name="setfilename"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetFilterIndex">
    <function type="void" name="SetFilterIndex">
     <parameters>
      <parameter type="int " name="filterIndex"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default filter index, starting from zero.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetMessage">
    <function type="void" name="SetMessage">
     <parameters>
      <parameter type="const wxString&amp; " name="message"></parameter>
     </parameters>
     <description>
      <p>
       Sets the message that will be displayed on the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetPath">
    <function type="void" name="SetPath">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Sets the path (the combined directory and filename that will be returned
       when the dialog is dismissed).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetStyle">
    <function type="void" name="SetStyle">
     <parameters>
      <parameter type="long " name="style"></parameter>
     </parameters>
     <description>
      <p>
       Sets the dialog style. See
       <ref target="wxfiledialogctor">wxFileDialog::wxFileDialog</ref>
       for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="SetWildcard">
    <function type="void" name="SetWildcard">
     <parameters>
      <parameter type="const wxString&amp; " name="wildCard"></parameter>
     </parameters>
     <description>
      <p>
       Sets the wildcard, which can contain multiple file types, for example:
      </p>
      <p>
       ``BMP files (&#42;.bmp)|&#42;.bmp|GIF files (&#42;.gif)|&#42;.gif&quot;
      </p>
      <p>
       Note that the native Motif dialog has some limitations with respect to
       wildcards; see the Remarks section above.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <description>
      <p>
       Shows the dialog, returning wxID\_OK if the user pressed OK, and
       wxID\_CANCEL otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileDropTarget" annotation="abstract">
  <description>
   <p class="classdesc">
    This is a
    <ref target="wxdroptarget">drop target</ref>
    which accepts files (dragged from File Manager or Explorer).
   </p>
  </description>
  <category>Drag and drop and clipboard classes</category>
  <shortdesc>File drop target class</shortdesc>
  <parents>
   <ref type="help" target="wxDropTarget">wxDropTarget</ref>
  </parents>
  <includes>
   <header name="wx/dnd.h"/>
  </includes>
  <seealso>
   <ref target="wxdndoverview">Drag and drop overview</ref>
   <ref target="wxdropsource">wxDropSource</ref>
   <ref target="wxdroptarget">wxDropTarget</ref>
   <ref target="wxtextdroptarget">wxTextDropTarget</ref>
  </seealso>
  <members>
   <member class="wxFileDropTarget" name="wxFileDropTarget">
    <function type="" name="wxFileDropTarget">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDropTarget" name="OnDrop">
    <function type="virtual bool" name="OnDrop">
     <parameters>
      <parameter type="long " name="x"></parameter>
      <parameter type="long " name="y"></parameter>
      <parameter type="const void &#42;" name="data"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       See
       <ref target="wxdroptargetondrop">wxDropTarget::OnDrop</ref>
       . This function is implemented appropriately for files, and calls
       <ref target="wxfiledroptargetondropfiles">wxFileDropTarget::OnDropFiles</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileDropTarget" name="OnDropFiles">
    <function type="virtual bool" name="OnDropFiles">
     <parameters>
      <parameter type="wxCoord " name="x">
       The x coordinate of the mouse.
      </parameter>
      <parameter type="wxCoord " name="y">
       The y coordinate of the mouse.
      </parameter>
      <parameter type="const wxArrayString&amp; " name="filenames">
       An array of filenames.
      </parameter>
     </parameters>
     <returnvalue>
      Return true to accept the data, false to veto the operation.
     </returnvalue>
     <description>
      <p>
       Override this function to receive dropped files.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileHistory">
  <description>
   <p class="classdesc">
    The wxFileHistory encapsulates a user interface convenience, the list of
    most recently visited files as shown on a menu (usually the File menu).
   </p>
   <p class="classdesc">
    wxFileHistory can manage one or more file menus. More than one menu may be
    required in an MDI application, where the file history should appear on each
    MDI child menu as well as the MDI parent frame.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/docview.h"/>
  </includes>
  <seealso>
   <ref target="wxfilehistoryoverview">wxFileHistory overview</ref>
   <ref target="wxdocmanager">wxDocManager</ref>
  </seealso>
  <members>
   <member class="wxFileHistory" name="m\_fileHistory"></member>
   <member class="wxFileHistory" name="m\_fileHistoryN"></member>
   <member class="wxFileHistory" name="m\_fileMaxFiles"></member>
   <member class="wxFileHistory" name="m\_fileMenu"></member>
   <member class="wxFileHistory" name="wxFileHistory">
    <function type="" name="wxFileHistory">
     <parameters>
      <parameter type="size\_t " name="maxFiles" value="9"></parameter>
      <parameter type="wxWindowID " name="idBase" value="wxID\_FILE1"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Pass the maximum number of files that should be stored and
       displayed.
      </p>
      <p>
       <i> idBase</i>
       defaults to wxID\_FILE1 and represents the id given to the first history
       menu item. Since menu items can't share the same ID you should change
       idBase (To one of your own defined IDs) when using more than one
       wxFileHistory in your application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="~wxFileHistory">
    <function type="" name="~wxFileHistory">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="AddFileToHistory">
    <function type="void" name="AddFileToHistory">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Adds a file to the file history list, if the object has a pointer to an
       appropriate file menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="AddFilesToMenu">
    <function type="void" name="AddFilesToMenu">
     <description>
      <p>
       Appends the files in the history list, to all menus managed by the file
       history object.
      </p>
     </description>
    </function>
    <function type="void" name="AddFilesToMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Appends the files in the history list, to the given menu only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="GetHistoryFile">
    <function type="wxString" name="GetHistoryFile" suffix="const">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Returns the file at this index (zero-based).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="GetMaxFiles">
    <function type="size\_t" name="GetMaxFiles" suffix="const">
     <description>
      <p>
       Returns the maximum number of files that can be stored.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="GetCount">
    <function type="size\_t" name="GetCount" suffix="const">
     <description>
      <p>
       Returns the number of files currently stored in the file history.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="Load">
    <function type="void" name="Load">
     <parameters>
      <parameter type="wxConfigBase&amp; " name="config"></parameter>
     </parameters>
     <seealso>
      <ref target="wxconfigbase">wxConfig</ref>
     </seealso>
     <description>
      <p>
       Loads the file history from the given config object. This function should
       be called explicitly by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="RemoveMenu">
    <function type="void" name="RemoveMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Removes this menu from the list of those managed by this object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="Save">
    <function type="void" name="Save">
     <parameters>
      <parameter type="wxConfigBase&amp; " name="config"></parameter>
     </parameters>
     <seealso>
      <ref target="wxconfigbase">wxConfig</ref>
     </seealso>
     <description>
      <p>
       Saves the file history into the given config object. This must be called
       explicitly by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileHistory" name="UseMenu">
    <function type="void" name="UseMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Adds this menu to the list of those managed by this object.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileInputStream">
  <description>
   <p class="classdesc">
    This class represents data read in from a file. There are actually two such
    groups of classes: this one is based on
    <ref target="wxfile">wxFile</ref>
    whereas
    <ref target="wxffileinputstream">wxFFileInputStream</ref>
    is based in the
    <ref target="wxffile">wxFFile</ref>
    class.
   </p>
   <p class="classdesc">
    Note that
    <ref target="wxfile">wxFile</ref>
    and
    <ref target="wxffile">wxFFile</ref>
    differ in one aspect, namely when to report that the end of the file has
    been reached. This is documented in
    <ref target="wxfileeof">wxFile::Eof</ref>
    and
    <ref target="wxffileeof">wxFFile::Eof</ref>
    and the behaviour of the stream classes reflects this difference, i.e.
    wxFileInputStream will report wxSTREAM\_EOF after having read the last byte
    whereas wxFFileInputStream will report wxSTREAM\_EOF after trying to read
    <i> past</i>
    the last byte. Related to EOF behavior, note that
    <ref target="wxinputstreamseeki">SeekI()</ref>
    can seek beyond the end of the stream (file) and will thus not return
    <i> wxInvalidOffset</i>
    for that.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>File input stream class</shortdesc>
  <parents>
   <ref type="help" target="wxInputStream">wxInputStream</ref>
  </parents>
  <includes>
   <header name="wx/wfstream.h"/>
  </includes>
  <seealso>
   <ref target="wxbufferedinputstream">wxBufferedInputStream</ref>
   <ref target="wxfileoutputstream">wxFileOutputStream</ref>
   <ref target="wxffileoutputstream">wxFFileOutputStream</ref>
  </seealso>
  <members>
   <member class="wxFileInputStream" name="wxFileInputStream">
    <function type="" name="wxFileInputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="ifileName"></parameter>
     </parameters>
     <description>
      <p>
       Opens the specified file using its
       <i> ifilename</i>
       name in read-only mode.
      </p>
     </description>
    </function>
    <function type="" name="wxFileInputStream">
     <parameters>
      <parameter type="wxFile&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in read-only mode using the file I/O object
       <i> file</i>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxFileInputStream">
     <parameters>
      <parameter type="int " name="fd"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in read-only mode using the specified file
       descriptor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileInputStream" name="~wxFileInputStream">
    <function type="" name="~wxFileInputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileInputStream" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the stream is initialized and ready.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileName">
  <description>
   <p class="classdesc">
    wxFileName encapsulates a file name. This class serves two purposes: first,
    it provides the functions to split the file names into components and to
    recombine these components in the full file name which can then be passed to
    the OS file functions (and
    <ref target="filefunctions">wxWidgets functions</ref>
    wrapping them). Second, it includes the functions for working with the files
    itself. Note that to change the file data you should use
    <ref target="wxfile">wxFile</ref>
    class instead. wxFileName provides functions for working with the file
    attributes.
   </p>
  </description>
  <category>File related classes</category>
  <shortdesc>Operations with the file name and attributes</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/filename.h"/>
  </includes>
  <structs>
   <p>
    Many wxFileName methods accept the path format argument which is by
    <tt> wxPATH\_NATIVE</tt>
    by default meaning to use the path format native for the current platform.
   </p>
   <p>
    The path format affects the operation of wxFileName functions in several
    ways: first and foremost, it defines the path separator character to use,
    but it also affects other things such as whether the path has the drive part
    or not.
   </p>
   <pre>
enum wxPathFormat
\{
    wxPATH\_NATIVE = 0,      // the path format for the current platform
    wxPATH\_UNIX,
    wxPATH\_BEOS = wxPATH\_UNIX,
    wxPATH\_MAC,
    wxPATH\_DOS,
    wxPATH\_WIN = wxPATH\_DOS,
    wxPATH\_OS2 = wxPATH\_DOS,
    wxPATH\_VMS,

    wxPATH\_MAX // Not a valid value for specifying path format
\}
</pre>
  </structs>
  <members>
   <member class="" name=""></member>
   <member class="" name=""></member>
   <member class="" name=""></member>
   <member class="" name=""></member>
   <member class="" name=""></member>
   <member class="wxFileName" name="wxFileName">
    <function type="" name="wxFileName">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxFileName">
     <parameters>
      <parameter type="const wxFileName&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="fullpath"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Constructor taking a full filename. If it terminates with a '/', a
       directory path is constructed (the name will be empty), otherwise a file
       name and extension are extracted from it.
      </p>
     </description>
    </function>
    <function type="" name="wxFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from a directory name and a file name.
      </p>
     </description>
    </function>
    <function type="" name="wxFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from a directory name, base file name and extension.
      </p>
     </description>
    </function>
    <function type="" name="wxFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="volume"></parameter>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from a volume name, a directory name, base file name and
       extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="AppendDir">
    <function type="void" name="AppendDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Appends a directory component to the path. This component should contain
       a single directory name level, i.e. not contain any path or volume
       separators nor should it be empty, otherwise the function does nothing
       (and generates an assert failure in debug build).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="Assign">
    <function type="void" name="Assign">
     <parameters>
      <parameter type="const wxFileName&amp; " name="filepath"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Assign">
     <parameters>
      <parameter type="const wxString&amp; " name="fullpath"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Assign">
     <parameters>
      <parameter type="const wxString&amp; " name="volume"></parameter>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="bool " name="hasExt"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Assign">
     <parameters>
      <parameter type="const wxString&amp; " name="volume"></parameter>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Assign">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Assign">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Creates the file name from various combinations of data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="AssignCwd">
    <function type="static void" name="AssignCwd">
     <parameters>
      <parameter type="const wxString&amp; " name="volume" value="wxEmptyString"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamegetcwd">GetCwd</ref>
     </seealso>
     <description>
      <p>
       Makes this object refer to the current working directory on the specified
       volume (or current volume if
       <i> volume</i>
       is empty).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="AssignDir">
    <function type="void" name="AssignDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Sets this file name object to the given directory name. The name and
       extension will be empty.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="AssignHomeDir">
    <function type="void" name="AssignHomeDir">
     <description>
      <p>
       Sets this file name object to the home directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="AssignTempFileName">
    <function type="void" name="AssignTempFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="prefix"></parameter>
      <parameter type="wxFile &#42;" name="fileTemp" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       The function calls
       <ref target="wxfilenamecreatetempfilename">CreateTempFileName</ref>
       to create a temporary file and sets this object to the name of the file.
       If a temporary file couldn't be created, the object is put into the
       <ref target="wxfilenameisok">invalid</ref>
       state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Reset all components to default, uninitialized state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="ClearExt">
    <function type="void" name="SetClearExt">
     <seealso>
      <ref target="wxfilenamesetext">SetExt</ref>
      <ref target="wxfilenamesetemptyext">SetEmptyExt</ref>
     </seealso>
     <description>
      <p>
       Removes the extension from the file name resulting in a file name with no
       trailing dot.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="CreateTempFileName">
    <function type="static wxString" name="CreateTempFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="prefix">
       Prefix to use for the temporary file name construction
      </parameter>
      <parameter type="wxFile &#42;" name="fileTemp" value="NULL">
       The file to open or
       <tt> NULL</tt>
       to just get the name
      </parameter>
     </parameters>
     <returnvalue>
      The full temporary file name or an empty string on error.
     </returnvalue>
     <description>
      <p>
       Returns a temporary file name starting with the given
       <i> prefix</i>
       . If the
       <i> prefix</i>
       is an absolute path, the temporary file is created in this directory,
       otherwise it is created in the default system directory for the temporary
       files or in the current directory.
      </p>
      <p>
       If the function succeeds, the temporary file is actually created. If
       <i> fileTemp</i>
       is not
       <tt> NULL</tt>
       , this file will be opened using the name of the temporary file. When
       possible, this is done in an atomic way ensuring that no race condition
       occurs between the temporary file name generation and opening it which
       could often lead to security compromise on the multiuser systems. If
       <i> fileTemp</i>
       is
       <tt> NULL</tt>
       , the file is only created, but not opened.
      </p>
      <p>
       Under Unix, the temporary file will have read and write permissions for
       the owner only to minimize the security problems.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="DirExists">
    <function type="bool" name="DirExists" suffix="const">
     <description></description>
    </function>
    <function type="static bool" name="DirExists">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the directory with this name exists.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="DirName">
    <function type="static wxFileName" name="DirName">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the object corresponding to the directory with the given name.
       The
       <i> dir</i>
       parameter may have trailing path separator or not.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="FileExists">
    <function type="bool" name="FileExists" suffix="const">
     <description></description>
    </function>
    <function type="static bool" name="FileExists">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamedirexists">DirExists</ref>
     </seealso>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the file with this name exists.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="FileName">
    <function type="static wxFileName" name="FileName">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the file name object corresponding to the given
       <i> file</i>
       . This function exists mainly for symmetry with
       <ref target="wxfilenamedirname">DirName</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetCwd">
    <function type="static wxString" name="GetCwd">
     <parameters>
      <parameter type="const wxString&amp; " name="volume" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenameassigncwd">AssignCwd</ref>
     </seealso>
     <returnvalue>
      The string containing the current working directory or an empty string on
      error.
     </returnvalue>
     <description>
      <p>
       Retrieves the value of the current working directory on the specified
       volume. If the volume is empty, the program's current working directory
       is returned for the current volume.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetDirCount">
    <function type="size\_t" name="GetDirCount" suffix="const">
     <description>
      <p>
       Returns the number of directories in the file name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetDirs">
    <function type="const wxArrayString&amp;" name="GetDirs" suffix="const">
     <description>
      <p>
       Returns the directories in string array form.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetExt">
    <function type="wxString" name="GetExt" suffix="const">
     <description>
      <p>
       Returns the file name extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetForbiddenChars">
    <function type="static wxString" name="GetForbiddenChars">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the characters that can't be used in filenames and directory
       names for the specified format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetFormat">
    <function type="static wxPathFormat" name="GetFormat">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the canonical path format for this platform.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetFullName">
    <function type="wxString" name="GetFullName" suffix="const">
     <description>
      <p>
       Returns the full name (including extension but excluding directories).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetFullPath">
    <function type="wxString" name="GetFullPath" suffix="const">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the full path with name and extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetHomeDir">
    <function type="static wxString" name="GetHomeDir">
     <description>
      <p>
       Returns the home directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetLongPath">
    <function type="wxString" name="GetLongPath" suffix="const">
     <description>
      <p>
       Return the long form of the path (returns identity on non-Windows
       platforms)
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetModificationTime">
    <function type="wxDateTime" name="GetModificationTime" suffix="const">
     <description>
      <p>
       Returns the last time the file was last modified.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Returns the name part of the filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetPath">
    <function type="wxString" name="GetPath" suffix="const">
     <parameters>
      <parameter type="int " name="flags" value="wxPATH\_GET\_VOLUME"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the path part of the filename (without the name or extension).
       The possible flags values are:
      </p>
      <table>
       <tr>
        <td>
         <b> wxPATH\_GET\_VOLUME</b>
        </td>
        <td>Return the path with the volume (does
nothing for the filename formats without volumes), otherwise the path without
volume part is returned.</td>
       </tr>
       <tr>
        <td>
         <b> wxPATH\_GET\_SEPARATOR</b>
        </td>
        <td>Return the path with the trailing
separator, if this flag is not given there will be no separator at the end of
the path.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetPathSeparator">
    <function type="static wxChar" name="GetPathSeparator">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamegetpathseparators">GetPathSeparators</ref>
     </seealso>
     <description>
      <p>
       Returns the usually used path separator for this format. For all formats
       but
       <tt> wxPATH\_DOS</tt>
       there is only one path separator anyhow, but for DOS there are two of
       them and the native one, i.e. the backslash is returned by this method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetPathSeparators">
    <function type="static wxString" name="GetPathSeparators">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamegetpathseparator">GetPathSeparator</ref>
     </seealso>
     <description>
      <p>
       Returns the string containing all the path separators for this format.
       For all formats but
       <tt> wxPATH\_DOS</tt>
       this string contains only one character but for DOS and Windows both
       <tt> '/'</tt>
       and
       <tt> '\\'</tt>
       may be used as separators.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetPathTerminators">
    <function type="static wxString" name="GetPathTerminators">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the string of characters which may terminate the path part. This
       is the same as
       <ref target="wxfilenamegetpathseparators">GetPathSeparators</ref>
       except for VMS path format where $]$ is used at the end of the path part.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetShortPath">
    <function type="wxString" name="GetShortPath" suffix="const">
     <description>
      <p>
       Return the short form of the path (returns identity on non-Windows
       platforms).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetTimes">
    <function type="bool" name="GetTimes" suffix="const">
     <parameters>
      <parameter type="wxDateTime&#42; " name="dtAccess"></parameter>
      <parameter type="wxDateTime&#42; " name="dtMod"></parameter>
      <parameter type="wxDateTime&#42; " name="dtCreate"></parameter>
     </parameters>
     <returnvalue>
      <tt> true</tt>
      on success,
      <tt> false</tt>
      if we failed to retrieve the times.
     </returnvalue>
     <description>
      <p>
       Returns the last access, last modification and creation times. The last
       access time is updated whenever the file is read or written (or executed
       in the case of Windows), last modification time is only changed when the
       file is written to. Finally, the creation time is indeed the time when
       the file was created under Windows and the inode change time under Unix
       (as it is impossible to retrieve the real file creation time there
       anyhow) which can also be changed by many operations after the file
       creation.
      </p>
      <p>
       Any of the pointers may be
       <tt> NULL</tt>
       if the corresponding time is not needed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetVolume">
    <function type="wxString" name="GetVolume" suffix="const">
     <description>
      <p>
       Returns the string containing the volume for this file name, empty if it
       doesn't have one or if the file system doesn't support volumes at all
       (for example, Unix).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="GetVolumeSeparator">
    <function type="static wxString" name="GetVolumeSeparator">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns the string separating the volume from the path for this format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="HasExt">
    <function type="bool" name="HasExt" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if an extension is present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="HasName">
    <function type="bool" name="HasName" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if a name is present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="HasVolume">
    <function type="bool" name="HasVolume" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if a volume specifier is present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="InsertDir">
    <function type="void" name="InsertDir">
     <parameters>
      <parameter type="size\_t " name="before"></parameter>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Inserts a directory component before the zero-based position in the
       directory list. Please see
       <ref target="wxfilenameappenddir">AppendDir</ref>
       for important notes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="IsAbsolute">
    <function type="bool" name="IsAbsolute">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this filename is absolute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="IsCaseSensitive">
    <function type="static bool" name="IsCaseSensitive">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the file names of this type are case-sensitive.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the filename is valid,
       <tt> false</tt>
       if it is not initialized yet. The assignment functions and
       <ref target="wxfilenameclear">Clear</ref>
       may reset the object to the uninitialized, invalid state (the former only
       do it on failure).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="IsPathSeparator">
    <function type="static bool" name="IsPathSeparator">
     <parameters>
      <parameter type="wxChar " name="ch"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the char is a path separator for this format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="IsRelative">
    <function type="bool" name="IsRelative">
     <parameters>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this filename is not absolute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="IsDir">
    <function type="bool" name="IsDir" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this object represents a directory,
       <tt> false</tt>
       otherwise (i.e. if it is a file). Note that this method doesn't test
       whether the directory or file really exists, you should use
       <ref target="wxfilenamedirexists">DirExists</ref>
       or
       <ref target="wxfilenamefileexists">FileExists</ref>
       for this.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="MacFindDefaultTypeAndCreator" specific="mac">
    <function type="static bool" name="MacFindDefaultTypeAndCreator">
     <parameters>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="wxUint32&#42; " name="type"></parameter>
      <parameter type="wxUint32&#42; " name="creator"></parameter>
     </parameters>
     <description>
      <p>
       On Mac OS, gets the common type and creator for the given extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="MacRegisterDefaultTypeAndCreator" specific="mac">
    <function type="static void" name="MacRegisterDefaultTypeAndCreator">
     <parameters>
      <parameter type="const wxString&amp; " name="ext"></parameter>
      <parameter type="wxUint32 " name="type"></parameter>
      <parameter type="wxUint32 " name="creator"></parameter>
     </parameters>
     <description>
      <p>
       On Mac OS, registers application defined extensions and their default
       type and creator.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="MacSetDefaultTypeAndCreator" specific="mac">
    <function type="bool" name="MacSetDefaultTypeAndCreator">
     <description>
      <p>
       On Mac OS, looks up the appropriate type and creator from the
       registration and then sets it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="MakeAbsolute">
    <function type="bool" name="MakeAbsolute">
     <parameters>
      <parameter type="const wxString&amp; " name="cwd" value="wxEmptyString"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamemakerelativeto">MakeRelativeTo</ref>
      ,
      <ref target="wxfilenamenormalize">Normalize</ref>
      ,
      <ref target="wxfilenameisabsolute">IsAbsolute</ref>
     </seealso>
     <description>
      <p>
       Make the file name absolute. This is a shortcut for
       <tt>
        <ref target="wxfilenamenormalize">Normalize</ref>(wxPATH\_NORM\_DOTS | wxPATH\_NORM\_ABSOLUTE | wxPATH\_NORM\_TILDE, cwd, format)</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="MakeRelativeTo">
    <function type="bool" name="MakeRelativeTo">
     <parameters>
      <parameter type="const wxString&amp; " name="pathBase" value="wxEmptyString">
       the directory to use as root, current directory is used by default
      </parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE">
       the file name format, native by default
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamenormalize">Normalize</ref>
     </seealso>
     <returnvalue>
      <tt> true</tt>
      if the file name has been changed,
      <tt> false</tt>
      if we failed to do anything with it (currently this only happens if the
      file name is on a volume different from the volume specified by
      <i> pathBase</i>
      ).
     </returnvalue>
     <description>
      <p>
       This function tries to put this file name in a form relative to
       <i> pathBase</i>
       . In other words, it returns the file name which should be used to access
       this file if the current directory were
       <i> pathBase</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="Mkdir">
    <function type="bool" name="Mkdir">
     <parameters>
      <parameter type="int " name="perm" value="0777"></parameter>
      <parameter type="int " name="flags" value="0">
       if the flags contain
       <tt> wxPATH\_MKDIR\_FULL</tt>
       flag, try to create each directory in the path and also don't return an
       error if the target directory already exists.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static bool" name="Mkdir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir">
       the directory to create
      </parameter>
      <parameter type="int " name="perm" value="0777"></parameter>
      <parameter type="int " name="flags" value="0">
       if the flags contain
       <tt> wxPATH\_MKDIR\_FULL</tt>
       flag, try to create each directory in the path and also don't return an
       error if the target directory already exists.
      </parameter>
     </parameters>
     <returnvalue>
      Returns
      <tt> true</tt>
      if the directory was successfully created,
      <tt> false</tt>
      otherwise.
     </returnvalue>
     <description></description>
    </function>
   </member>
   <member class="wxFileName" name="Normalize">
    <function type="bool" name="Normalize">
     <parameters>
      <parameter type="int " name="flags" value="wxPATH\_NORM\_ALL"></parameter>
      <parameter type="const wxString&amp; " name="cwd" value="wxEmptyString">
       If not empty, this directory will be used instead of current working
       directory in normalization.
      </parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE">
       The file name format, native by default.
      </parameter>
     </parameters>
     <description>
      <p>
       Normalize the path. With the default flags value, the path will be made
       absolute, without any &quot;..&quot; and &quot;.&quot; and all
       environment variables will be expanded in it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="PrependDir">
    <function type="void" name="PrependDir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Prepends a directory to the file path. Please see
       <ref target="wxfilenameappenddir">AppendDir</ref>
       for important notes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="RemoveDir">
    <function type="void" name="RemoveDir">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamegetdircount">GetDirCount</ref>
     </seealso>
     <description>
      <p>
       Removes the specified directory component from the path.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="RemoveLastDir">
    <function type="void" name="RemoveLastDir">
     <description>
      <p>
       Removes last directory component from the path.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="Rmdir">
    <function type="bool" name="Rmdir">
     <description></description>
    </function>
    <function type="static bool" name="Rmdir">
     <parameters>
      <parameter type="const wxString&amp; " name="dir"></parameter>
     </parameters>
     <description>
      <p>
       Deletes the specified directory from the file system.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SameAs">
    <function type="bool" name="SameAs" suffix="const">
     <parameters>
      <parameter type="const wxFileName&amp; " name="filepath"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       Compares the filename using the rules of this platform.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetCwd">
    <function type="bool" name="SetCwd">
     <description></description>
    </function>
    <function type="static bool" name="SetCwd">
     <parameters>
      <parameter type="const wxString&amp; " name="cwd"></parameter>
     </parameters>
     <description>
      <p>
       Changes the current working directory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetExt">
    <function type="void" name="SetExt">
     <parameters>
      <parameter type="const wxString&amp; " name="ext"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamesetemptyext">SetEmptyExt</ref>
      <ref target="wxfilenameclearext">ClearExt</ref>
     </seealso>
     <description>
      <p>
       Sets the extension of the file name. Setting an empty string as the
       extension will remove the extension resulting in a file name without a
       trailing dot, unlike a call to
       <ref target="wxfilenamesetemptyext">SetEmptyExt</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetEmptyExt">
    <function type="void" name="SetEmptyExt">
     <seealso>
      <ref target="wxfilenamesetext">SetExt</ref>
      <ref target="wxfilenameclearext">ClearExt</ref>
     </seealso>
     <description>
      <p>
       Sets the extension of the file name to be an empty extension. This is
       different from having no extension at all as the file name will have a
       trailing dot after a call to this method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetFullName">
    <function type="void" name="SetFullName">
     <parameters>
      <parameter type="const wxString&amp; " name="fullname"></parameter>
     </parameters>
     <description>
      <p>
       The full name is the file name and extension (but without the path).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetName">
    <function type="void" name="SetName">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <description>
      <p>
       Sets the name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetTimes">
    <function type="bool" name="SetTimes">
     <parameters>
      <parameter type="const wxDateTime&#42; " name="dtAccess"></parameter>
      <parameter type="const wxDateTime&#42; " name="dtMod"></parameter>
      <parameter type="const wxDateTime&#42; " name="dtCreate"></parameter>
     </parameters>
     <description>
      <p>
       Sets the file creation and last access/modification times (any of the
       pointers may be NULL).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SetVolume">
    <function type="void" name="SetVolume">
     <parameters>
      <parameter type="const wxString&amp; " name="volume"></parameter>
     </parameters>
     <description>
      <p>
       Sets the volume specifier.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SplitPath">
    <function type="static void" name="SplitPath">
     <parameters>
      <parameter type="const wxString&amp; " name="fullpath"></parameter>
      <parameter type="wxString&#42; " name="volume"></parameter>
      <parameter type="wxString&#42; " name="path"></parameter>
      <parameter type="wxString&#42; " name="name"></parameter>
      <parameter type="wxString&#42; " name="ext"></parameter>
      <parameter type="bool &#42;" name="hasExt" value="\\texttt\{NULL\}"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static void" name="SplitPath">
     <parameters>
      <parameter type="const wxString&amp; " name="fullpath"></parameter>
      <parameter type="wxString&#42; " name="volume"></parameter>
      <parameter type="wxString&#42; " name="path"></parameter>
      <parameter type="wxString&#42; " name="name"></parameter>
      <parameter type="wxString&#42; " name="ext"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static void" name="SplitPath">
     <parameters>
      <parameter type="const wxString&amp; " name="fullpath"></parameter>
      <parameter type="wxString&#42; " name="path"></parameter>
      <parameter type="wxString&#42; " name="name"></parameter>
      <parameter type="wxString&#42; " name="ext"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <description>
      <p>
       This function splits a full file name into components: the volume (with
       the first version) path (including the volume in the second version), the
       base name and the extension. Any of the output parameters (
       <i> volume</i>
       ,
       <i> path</i>
       ,
       <i> name</i>
       or
       <i> ext</i>
       ) may be
       <tt> NULL</tt>
       if you are not interested in the value of a particular component. Also,
       <i> fullpath</i>
       may be empty on entry.
      </p>
      <p>
       On return,
       <i> path</i>
       contains the file path (without the trailing separator),
       <i> name</i>
       contains the file name and
       <i> ext</i>
       contains the file extension without leading dot. All three of them may be
       empty if the corresponding component is. The old contents of the strings
       pointed to by these parameters will be overwritten in any case (if the
       pointers are not
       <tt> NULL</tt>
       ).
      </p>
      <p>
       Note that for a filename ``foo.'' the extension is present, as indicated
       by the trailing dot, but empty. If you need to cope with such cases, you
       should use
       <i>hasExt</i>
       instead of relying on testing whether
       <i>ext</i>
       is empty or not.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="SplitVolume">
    <function type="static void" name="SplitVolume">
     <parameters>
      <parameter type="const wxString&amp; " name="fullpath"></parameter>
      <parameter type="wxString&#42; " name="volume"></parameter>
      <parameter type="wxString&#42; " name="path"></parameter>
      <parameter type="wxPathFormat " name="format" value="wxPATH\_NATIVE"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilenamesplitpath">SplitPath</ref>
     </seealso>
     <description>
      <p>
       Splits the given
       <i>fullpath</i>
       into the volume part (which may be empty) and the pure path part, not
       containing any volume.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="Touch">
    <function type="bool" name="Touch">
     <description>
      <p>
       Sets the access and modification times to the current moment.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="operator=">
    <function type="wxFileName&amp; operator" name="operator=">
     <parameters>
      <parameter type="const wxFileName&amp; " name="filename"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxFileName&amp; operator" name="operator=">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Assigns the new value to this filename object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="operator==">
    <function type="bool operator" name="operator==" suffix="const">
     <parameters>
      <parameter type="const wxFileName&amp; " name="filename"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool operator" name="operator==" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the filenames are equal. The string
       <i> filenames</i>
       is interpreted as a path in the native filename format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileName" name="operator!=">
    <function type="bool operator" name="operator!=" suffix="const">
     <parameters>
      <parameter type="const wxFileName&amp; " name="filename"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool operator" name="operator!=" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the filenames are different. The string
       <i> filenames</i>
       is interpreted as a path in the native filename format.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileOutputStream">
  <description>
   <p class="classdesc">
    This class represents data written to a file. There are actually two such
    groups of classes: this one is based on
    <ref target="wxfile">wxFile</ref>
    whereas
    <ref target="wxffileinputstream">wxFFileInputStream</ref>
    is based in the
    <ref target="wxffile">wxFFile</ref>
    class.
   </p>
   <p class="classdesc">
    Note that
    <ref target="wxfile">wxFile</ref>
    and
    <ref target="wxffile">wxFFile</ref>
    differ in one aspect, namely when to report that the end of the file has
    been reached. This is documented in
    <ref target="wxfileeof">wxFile::Eof</ref>
    and
    <ref target="wxffileeof">wxFFile::Eof</ref>
    and the behaviour of the stream classes reflects this difference, i.e.
    wxFileInputStream will report wxSTREAM\_EOF after having read the last byte
    whereas wxFFileInputStream will report wxSTREAM\_EOF after trying to read
    <i> past</i>
    the last byte. Related to EOF behavior, note that
    <ref target="wxoutputstreamseeko">SeekO()</ref>
    can seek beyond the end of the stream (file) and will thus not return
    <i> wxInvalidOffset</i>
    for that.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>File output stream class</shortdesc>
  <parents>
   <ref type="help" target="wxOutputStream">wxOutputStream</ref>
  </parents>
  <includes>
   <header name="wx/wfstream.h"/>
  </includes>
  <seealso>
   <ref target="wxbufferedoutputstream">wxBufferedOutputStream</ref>
   <ref target="wxfileinputstream">wxFileInputStream</ref>
   <ref target="wxffileinputstream">wxFFileInputStream</ref>
  </seealso>
  <members>
   <member class="wxFileOutputStream" name="wxFileOutputStream">
    <function type="" name="wxFileOutputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="ofileName"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new file with
       <i> ofilename</i>
       name and initializes the stream in write-only mode.
      </p>
     </description>
    </function>
    <function type="" name="wxFileOutputStream">
     <parameters>
      <parameter type="wxFile&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in write-only mode using the file I/O object
       <i> file</i>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxFileOutputStream">
     <parameters>
      <parameter type="int " name="fd"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a file stream in write-only mode using the file descriptor
       <i> fd</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileOutputStream" name="~wxFileOutputStream">
    <function type="" name="~wxFileOutputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileOutputStream" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if the stream is initialized and ready.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileStream">
  <description></description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxFileOutputStream">wxFileOutputStream</ref>
   <ref type="help" target="wxFileInputStream">wxFileInputStream</ref>
  </parents>
  <includes>
   <header name="wx/wfstream.h"/>
  </includes>
  <seealso>
   <ref target="wxstreambuffer">wxStreamBuffer</ref>
  </seealso>
  <members>
   <member class="wxFileStream" name="wxFileStream">
    <function type="" name="wxFileStream">
     <parameters>
      <parameter type="const wxString&amp; " name="iofileName"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a new file stream in read-write mode using the specified
       <i> iofilename</i>
       name.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileSystem">
  <description>
   <p class="classdesc">
    This class provides an interface for opening files on different file
    systems. It can handle absolute and/or local filenames. It uses a system of
    <ref target="wxfilesystemhandler">handlers</ref>
    to provide access to user-defined virtual file systems.
   </p>
  </description>
  <category>Virtual file system classes</category>
  <shortdesc>Main interface for the virtual file system</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/filesys.h"/>
  </includes>
  <seealso>
   <ref target="wxfilesystemhandler">wxFileSystemHandler</ref>
   <ref target="wxfsfile">wxFSFile</ref>
   <ref target="fs">Overview</ref>
  </seealso>
  <members>
   <member class="wxFileSystem" name="wxFileSystem">
    <function type="" name="wxFileSystem">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="AddHandler">
    <function type="static void" name="AddHandler">
     <parameters>
      <parameter type="wxFileSystemHandler &#42;" name="handler"></parameter>
     </parameters>
     <note>

You can call:

<pre>
wxFileSystem::AddHandler(new My\_FS\_Handler);
</pre>

This is because (a) AddHandler is a static method, and (b) the handlers
are deleted in wxFileSystem's destructor so that you don't have to
care about it.

</note>
     <description>
      <p>
       This static function adds new handler into the list of handlers. The
       <ref target="wxfilesystemhandler">handlers</ref>
       provide access to virtual FS.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="ChangePathTo">
    <function type="void" name="ChangePathTo">
     <parameters>
      <parameter type="const wxString&amp; " name="location">
       the new location. Its meaning depends on the value of
       <i> is\_dir</i>
      </parameter>
      <parameter type="bool " name="is\_dir" value="false">
       if true
       <i> location</i>
       is new directory. If false (default)
       <i> location</i>
       is
       <b> file in</b>
       the new directory.
      </parameter>
     </parameters>
     <example>
      <pre>
  f = fs -&gt; OpenFile(&quot;hello.htm&quot;); // opens file 'hello.htm'
  fs -&gt; ChangePathTo(&quot;subdir/folder&quot;, true);
  f = fs -&gt; OpenFile(&quot;hello.htm&quot;); // opens file 'subdir/folder/hello.htm' !!
</pre>
     </example>
     <description>
      <p>
       Sets the current location.
       <i> location</i>
       parameter passed to
       <ref target="wxfilesystemopenfile">OpenFile</ref>
       is relative to this path.
      </p>
      <p>
       <b> Caution! </b>
       Unless
       <i> is\_dir</i>
       is true the
       <i> location</i>
       parameter is not the directory name but the name of the file in this
       directory. All these commands change the path to &quot;dir/subdir/&quot;:
      </p>
      <pre>
  ChangePathTo(&quot;dir/subdir/xh.htm&quot;);
  ChangePathTo(&quot;dir/subdir&quot;, true);
  ChangePathTo(&quot;dir/subdir/&quot;, true);
</pre>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="GetPath">
    <function type="wxString" name="GetPath">
     <description>
      <p>
       Returns actual path (set by
       <ref target="wxfilesystemchangepathto">ChangePathTo</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="FileNameToURL">
    <function type="static wxString" name="FileNameToURL">
     <parameters>
      <parameter type="wxFileName " name="filename"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilesystemurltofilename">wxFileSystem::URLToFileName</ref>
      ,
      <ref target="wxfilename">wxFileName</ref>
     </seealso>
     <description>
      <p>
       Converts filename into URL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="FindFirst">
    <function type="wxString" name="FindFirst">
     <parameters>
      <parameter type="const wxString&amp; " name="wildcard"></parameter>
      <parameter type="int " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Works like
       <ref target="wxfindfirstfile">wxFindFirstFile</ref>
       . Returns name of the first filename (within filesystem's current path)
       that matches
       <i> wildcard</i>
       .
       <i> flags</i>
       may be one of wxFILE (only files), wxDIR (only directories) or 0 (both).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="FindNext">
    <function type="wxString" name="FindNext">
     <description>
      <p>
       Returns the next filename that matches parameters passed to
       <ref target="wxfilesystemfindfirst">FindFirst</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="OpenFile">
    <function type="wxFSFile&#42;" name="OpenFile">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Opens the file and returns a pointer to a
       <ref target="wxfsfile">wxFSFile</ref>
       object or NULL if failed. It first tries to open the file in relative
       scope (based on value passed to ChangePathTo() method) and then as an
       absolute path. Note that the user is responsible for deleting the
       returned wxFSFile.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystem" name="URLToFileName">
    <function type="static wxFileName" name="URLToFileName">
     <parameters>
      <parameter type="const wxString&amp; " name="url"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfilesystemfilenametourl">wxFileSystem::FileNameToURL</ref>
      <ref target="wxfilename">wxFileName</ref>
     </seealso>
     <description></description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileSystemHandler" annotation="abstract">
  <description>
   <p class="classdesc">
    Classes derived from wxFileSystemHandler are used to access virtual file
    systems. Its public interface consists of two methods:
    <ref target="wxfilesystemhandlercanopen">CanOpen</ref>
    and
    <ref target="wxfilesystemhandleropenfile">OpenFile</ref>
    . It provides additional protected methods to simplify the process of
    opening the file: GetProtocol, GetLeftLocation, GetRightLocation, GetAnchor,
    GetMimeTypeFromExt.
   </p>
   <p class="classdesc">
    Please have a look at
    <ref target="fs">overview</ref>
    if you don't know how locations are constructed.
   </p>
   <p class="classdesc">
    Also consult
    <ref target="fs">list of available handlers</ref>
    .
   </p>
  </description>
  <category>Virtual file system classes</category>
  <shortdesc>Class used to announce file system type</shortdesc>
  <note>
   <ul>
    <li>The handlers are shared by all instances of wxFileSystem.</li>
    <li>wxHTML library provides handlers for local files and HTTP or FTP protocol</li>
    <li>The
     <i> location</i>
     parameter passed to OpenFile or CanOpen methods is always an
     <b> absolute</b>
     path. You don't need to check the FS's current path.</li>
   </ul>
  </note>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/filesys.h"/>
  </includes>
  <seealso>
   <ref target="wxfilesystem">wxFileSystem</ref>
   <ref target="wxfsfile">wxFSFile</ref>
   <ref target="fs">Overview</ref>
  </seealso>
  <members>
   <member class="wxFileSystemHandler" name="wxFileSystemHandler">
    <function type="" name="wxFileSystemHandler">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="CanOpen">
    <function type="virtual bool" name="CanOpen">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the handler is able to open this file. This function
       doesn't check whether the file exists or not, it only checks if it knows
       the protocol. Example:
      </p>
      <pre>
bool MyHand::CanOpen(const wxString&amp; location) 
\{
    return (GetProtocol(location) == &quot;http&quot;);
\}
</pre>
      <p>
       Must be overridden in derived handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="GetAnchor">
    <function type="wxString" name="GetAnchor" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Returns the anchor if present in the location. See
       <ref target="wxfsfilegetanchor">wxFSFile</ref>
       for details.
      </p>
      <p>
       Example: GetAnchor(&quot;index.htm#chapter2&quot;) ==
       &quot;chapter2&quot;
      </p>
      <p>
       <b> Note:</b>
       the anchor is NOT part of the left location.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="GetLeftLocation">
    <function type="wxString" name="GetLeftLocation" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Returns the left location string extracted from
       <i> location</i>
       .
      </p>
      <p>
       Example: GetLeftLocation(&quot;file:myzipfile.zip#zip:index.htm&quot;) ==
       &quot;file:myzipfile.zip&quot;
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="GetMimeTypeFromExt">
    <function type="wxString" name="GetMimeTypeFromExt">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Returns the MIME type based on
       <b> extension</b>
       of
       <i> location</i>
       . (While wxFSFile::GetMimeType returns real MIME type - either
       extension-based or queried from HTTP.)
      </p>
      <p>
       Example : GetMimeTypeFromExt(&quot;index.htm&quot;) ==
       &quot;text/html&quot;
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="GetProtocol">
    <function type="wxString" name="GetProtocol" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Returns the protocol string extracted from
       <i> location</i>
       .
      </p>
      <p>
       Example: GetProtocol(&quot;file:myzipfile.zip#zip:index.htm&quot;) ==
       &quot;zip&quot;
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="GetRightLocation">
    <function type="wxString" name="GetRightLocation" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="location"></parameter>
     </parameters>
     <description>
      <p>
       Returns the right location string extracted from
       <i> location</i>
       .
      </p>
      <p>
       Example : GetRightLocation(&quot;file:myzipfile.zip#zip:index.htm&quot;)
       == &quot;index.htm&quot;
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="FindFirst">
    <function type="virtual wxString" name="FindFirst">
     <parameters>
      <parameter type="const wxString&amp; " name="wildcard"></parameter>
      <parameter type="int " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Works like
       <ref target="wxfindfirstfile">wxFindFirstFile</ref>
       . Returns name of the first filename (within filesystem's current path)
       that matches
       <i> wildcard</i>
       .
       <i> flags</i>
       may be one of wxFILE (only files), wxDIR (only directories) or 0 (both).
      </p>
      <p>
       This method is only called if
       <ref target="wxfilesystemhandlercanopen">CanOpen</ref>
       returns true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="FindNext">
    <function type="virtual wxString" name="FindNext">
     <description>
      <p>
       Returns next filename that matches parameters passed to
       <ref target="wxfilesystemfindfirst">FindFirst</ref>
       .
      </p>
      <p>
       This method is only called if
       <ref target="wxfilesystemhandlercanopen">CanOpen</ref>
       returns true and FindFirst returned a non-empty string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileSystemHandler" name="OpenFile">
    <function type="virtual wxFSFile&#42;" name="OpenFile">
     <parameters>
      <parameter type="wxFileSystem&amp; " name="fs">
       Parent FS (the FS from that OpenFile was called). See ZIP handler for
       details of how to use it.
      </parameter>
      <parameter type="const wxString&amp; " name="location">
       The
       <b> absolute</b>
       location of file.
      </parameter>
     </parameters>
     <description>
      <p>
       Opens the file and returns wxFSFile pointer or NULL if failed.
      </p>
      <p>
       Must be overridden in derived handlers.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFileType" annotation="abstract">
  <description>
   <p class="classdesc">
    This class holds information about a given
    <i> file type</i>
    . File type is the same as MIME type under Unix, but under Windows it
    corresponds more to an extension than to MIME type (in fact, several
    extensions may correspond to a file type). This object may be created in
    several different ways: the program might know the file extension and wish
    to find out the corresponding MIME type or, conversely, it might want to
    find the right extension for the file to which it writes the contents of
    given MIME type. Depending on how it was created some fields may be unknown
    so the return value of all the accessors
    <b> must</b>
    be checked:
    <tt> false</tt>
    will be returned if the corresponding information couldn't be found.
   </p>
   <p class="classdesc">
    The objects of this class are never created by the application code but are
    returned by
    <ref target="wxmimetypesmanagergetfiletypefrommimetype">wxMimeTypesManager::GetFileTypeFromMimeType</ref>
    and
    <ref target="wxmimetypesmanagergetfiletypefromextension">wxMimeTypesManager::GetFileTypeFromExtension</ref>
    methods. But it is your responsibility to delete the returned pointer when
    you're done with it!
   </p>
   <p class="classdesc">
    A brief reminder about what the MIME types are (see the RFC 1341 for more
    information): basically, it is just a pair category/type (for example,
    &quot;text/plain&quot;) where the category is a basic indication of what a
    file is. Examples of categories are &quot;application&quot;,
    &quot;image&quot;, &quot;text&quot;, &quot;binary&quot;, and type is a
    precise definition of the document format: &quot;plain&quot; in the example
    above means just ASCII text without any formatting, while
    &quot;text/html&quot; is the HTML document source.
   </p>
   <p class="classdesc">
    A MIME type may have one or more associated extensions:
    &quot;text/plain&quot; will typically correspond to the extension
    &quot;.txt&quot;, but may as well be associated with &quot;.ini&quot; or
    &quot;.conf&quot;.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/mimetype.h"/>
  </includes>
  <seealso>
   <ref target="wxmimetypesmanager">wxMimeTypesManager</ref>
  </seealso>
  <members>
   <member class="
   \}

   virtual wxString GetParamValue(const wxString&amp; name) const
   \{
       // parameter names are not case-sensitive
       if ( name.CmpNoCase(&quot;charset&quot;) == 0 )
           return &quot;US-ASCII&quot;;
       else
           return wxFileType" name="MessageParameters::GetParamValue(name);
   "></member>
   <member class="wxFileType" name="wxFileType">
    <function type="" name="wxFileType">
     <description>
      <p>
       The default constructor is private because you should never create
       objects of this type: they are only returned by
       <ref target="wxmimetypesmanager">wxMimeTypesManager</ref>
       methods.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="~wxFileType">
    <function type="" name="~wxFileType">
     <description>
      <p>
       The destructor of this class is not virtual, so it should not be derived
       from.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetMimeType">
    <function type="bool" name="GetMimeType">
     <parameters>
      <parameter type="wxString&#42; " name="mimeType"></parameter>
     </parameters>
     <description>
      <p>
       If the function returns
       <tt> true</tt>
       , the string pointed to by
       <i> mimeType</i>
       is filled with full MIME type specification for this file type: for
       example, &quot;text/plain&quot;.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetMimeTypes">
    <function type="bool" name="GetMimeType">
     <parameters>
      <parameter type="wxArrayString&amp; " name="mimeTypes"></parameter>
     </parameters>
     <description>
      <p>
       Same as
       <ref target="wxfiletypegetmimetype">GetMimeType</ref>
       but returns array of MIME types. This array will contain only one item in
       most cases but sometimes, notably under Unix with KDE, may contain more
       MIME types. This happens when one file extension is mapped to different
       MIME types by KDE, mailcap and mime.types.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetExtensions">
    <function type="bool" name="GetExtensions">
     <parameters>
      <parameter type="wxArrayString&amp; " name="extensions"></parameter>
     </parameters>
     <description>
      <p>
       If the function returns
       <tt> true</tt>
       , the array
       <i> extensions</i>
       is filled with all extensions associated with this file type: for
       example, it may contain the following two elements for the MIME type
       &quot;text/html&quot; (notice the absence of the leading dot):
       &quot;html&quot; and &quot;htm&quot;.
      </p>
      <p>
       <b> Windows:</b>
       This function is currently not implemented: there is no (efficient) way
       to retrieve associated extensions from the given MIME type on this
       platform, so it will only return
       <tt> true</tt>
       if the wxFileType object was created by
       <ref target="wxmimetypesmanagergetfiletypefromextension">GetFileTypeFromExtension</ref>
       function in the first place.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetIcon">
    <function type="bool" name="GetIcon">
     <parameters>
      <parameter type="wxIconLocation &#42; " name="iconLoc"></parameter>
     </parameters>
     <description>
      <p>
       If the function returns
       <tt> true</tt>
       , the
       <tt> iconLoc</tt>
       is filled with the location of the icon for this MIME type. A
       <ref target="wxicon">wxIcon</ref>
       may be created from
       <i> iconLoc</i>
       later.
      </p>
      <p>
       <b> Windows:</b>
       The function returns the icon shown by Explorer for the files of the
       specified type.
      </p>
      <p>
       <b> Mac:</b>
       This function is not implemented and always returns
       <tt> false</tt>
       .
      </p>
      <p>
       <b> Unix:</b>
       MIME manager gathers information about icons from GNOME and KDE settings
       and thus GetIcon's success depends on availability of these desktop
       environments.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetDescription">
    <function type="bool" name="GetDescription">
     <parameters>
      <parameter type="wxString&#42; " name="desc"></parameter>
     </parameters>
     <description>
      <p>
       If the function returns
       <tt> true</tt>
       , the string pointed to by
       <i> desc</i>
       is filled with a brief description for this file type: for example,
       &quot;text document&quot; for the &quot;text/plain&quot; MIME type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetOpenCommand">
    <function type="bool" name="GetOpenCommand">
     <parameters>
      <parameter type="wxString&#42; " name="command"></parameter>
      <parameter type="MessageParameters&amp; " name="params"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxString" name="GetOpenCommand">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       With the first version of this method, if the
       <tt> true</tt>
       is returned, the string pointed to by
       <i> command</i>
       is filled with the command which must be executed (see
       <ref target="wxexecute">wxExecute</ref>
       ) in order to open the file of the given type. In this case, the name of
       the file as well as any other parameters is retrieved from
       <ref target="wxfiletypemessageparameters">MessageParameters</ref>
       class.
      </p>
      <p>
       In the second case, only the filename is specified and the command to be
       used to open this kind of file is returned directly. An empty string is
       returned to indicate that an error occurred (typically meaning that there
       is no standard way to open this kind of files).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="GetPrintCommand">
    <function type="bool" name="GetPrintCommand">
     <parameters>
      <parameter type="wxString&#42; " name="command"></parameter>
      <parameter type="MessageParameters&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       If the function returns
       <tt> true</tt>
       , the string pointed to by
       <i> command</i>
       is filled with the command which must be executed (see
       <ref target="wxexecute">wxExecute</ref>
       ) in order to print the file of the given type. The name of the file is
       retrieved from
       <ref target="wxfiletypemessageparameters">MessageParameters</ref>
       class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFileType" name="ExpandCommand">
    <function type="static wxString" name="ExpandCommand">
     <parameters>
      <parameter type="const wxString&amp; " name="command"></parameter>
      <parameter type="MessageParameters&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       This function is primarily intended for GetOpenCommand and
       GetPrintCommand usage but may be also used by the application directly
       if, for example, you want to use some non default command to open the
       file.
      </p>
      <p>
       The function replaces all occurrences of
      </p>
      <table>
       <tr>
        <td>format specification</td>
        <td>with</td>
       </tr>
       <tr>
        <td>%s</td>
        <td>the full file name</td>
       </tr>
       <tr>
        <td>%t</td>
        <td>the MIME type</td>
       </tr>
       <tr>
        <td>%\{param\}</td>
        <td>the value of the parameter <i> param</i>
        </td>
       </tr>
      </table>
      <p>
       using the MessageParameters object you pass to it.
      </p>
      <p>
       If there is no '%s' in the command string (and the string is not empty),
       it is assumed that the command reads the data on stdin and so the effect
       is the same as &quot;&lt; %s&quot; were appended to the string.
      </p>
      <p>
       Unlike all other functions of this class, there is no error return for
       this function.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFilterInputStream" annotation="abstract">
  <description>
   <p class="classdesc">
    A filter stream has the capability of a normal stream but it can be placed
    on top of another stream. So, for example, it can uncompress or decrypt the
    data which are read from another stream and pass it to the requester.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Filtered input stream class</shortdesc>
  <note>

The interface of this class is the same as that of wxInputStream. Only a constructor
differs and it is documented below.

</note>
  <parents>
   <ref type="help" target="wxInputStream">wxInputStream</ref>
   <ref type="help" target="wxStreamBase">wxStreamBase</ref>
  </parents>
  <includes>
   <header name="wx/stream.h"/>
  </includes>
  <members>
   <member class="wxFilterInputStream" name="wxFilterInputStream">
    <function type="" name="wxFilterInputStream">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a &quot;filter&quot; stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFilterOutputStream">
  <description>
   <p class="classdesc">
    A filter stream has the capability of a normal stream but it can be placed
    on top of another stream. So, for example, it can compress, encrypt the data
    which are passed to it and write them to another stream.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Filtered output stream class</shortdesc>
  <note>

The use of this class is exactly the same as of wxOutputStream. Only a constructor
differs and it is documented below.

</note>
  <parents>
   <ref type="help" target="wxOutputStream">wxOutputStream</ref>
   <ref type="help" target="wxStreamBase">wxStreamBase</ref>
  </parents>
  <includes>
   <header name="wx/stream.h"/>
  </includes>
  <members>
   <member class="wxFilterOutputStream" name="wxFilterOutputStream">
    <function type="" name="wxFilterOutputStream">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a &quot;filter&quot; stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFindDialogEvent">
  <description>
   <p class="classdesc">
    wxFindReplaceDialog events
   </p>
  </description>
  <category>Events</category>
  <shortdesc>Event sent by
\\helpref\{wxFindReplaceDialog\}\{wxfindreplacedialog\}</shortdesc>
  <parents>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
  </parents>
  <includes>
   <header name="wx/fdrepdlg.h"/>
  </includes>
  <events>
   <event name="EVT\_FIND(id, func)">Find button was pressed in the dialog.</event>
   <event name="EVT\_FIND\_NEXT(id, func)">Find next button was pressed in the dialog.</event>
   <event name="EVT\_FIND\_REPLACE(id, func)">Replace button was pressed in the dialog.</event>
   <event name="EVT\_FIND\_REPLACE\_ALL(id, func)">Replace all button was pressed in the dialog.</event>
   <event name="EVT\_FIND\_CLOSE(id, func)">The dialog is being destroyed,
any pointers to it cannot be used any longer.</event>
  </events>
  <members>
   <member class="wxFindDialogEvent" name="wxFindDialogEvent">
    <function type="" name="wxFindDialogEvent">
     <parameters>
      <parameter type="wxEventType " name="commandType" value="wxEVT\_NULL"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constuctor used by wxWidgets only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindDialogEvent" name="GetFlags">
    <function type="int" name="GetFlags" suffix="const">
     <description>
      <p>
       Get the currently selected flags: this is the combination of
       <tt> wxFR\_DOWN</tt>
       ,
       <tt> wxFR\_WHOLEWORD</tt>
       and
       <tt> wxFR\_MATCHCASE</tt>
       flags.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindDialogEvent" name="GetFindString">
    <function type="wxString" name="GetFindString" suffix="const">
     <description>
      <p>
       Return the string to find (never empty).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindDialogEvent" name="GetReplaceString">
    <function type="const wxString&amp;" name="GetReplaceString" suffix="const">
     <description>
      <p>
       Return the string to replace the search string with (only for replace and
       replace all events).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindDialogEvent" name="GetDialog">
    <function type="wxFindReplaceDialog&#42;" name="GetDialog" suffix="const">
     <description>
      <p>
       Return the pointer to the dialog which generated this event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFindReplaceData">
  <description>
   <p class="classdesc">
    wxFindReplaceData holds the data for
    <ref target="wxfindreplacedialog">wxFindReplaceDialog</ref>
    . It is used to initialize the dialog with the default values and will keep
    the last values from the dialog when it is closed. It is also updated each
    time a
    <ref target="wxfinddialogevent">wxFindDialogEvent</ref>
    is generated so instead of using the wxFindDialogEvent methods you can also
    directly query this object.
   </p>
   <p class="classdesc">
    Note that all
    <tt> SetXXX()</tt>
    methods may only be called before showing the dialog and calling them has no
    effect later.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/fdrepdlg.h"/>
  </includes>
  <structs>
   <p>
    Flags used by
    <ref target="wxfindreplacedatagetflags">wxFindReplaceData::GetFlags()</ref>
    and
    <ref target="wxfinddialogeventgetflags">wxFindDialogEvent::GetFlags()</ref>
    :
   </p>
   <pre>
enum wxFindReplaceFlags
\{
    // downward search/replace selected (otherwise - upwards)
    wxFR\_DOWN       = 1,

    // whole word search/replace selected
    wxFR\_WHOLEWORD  = 2,

    // case sensitive search/replace selected (otherwise - case insensitive)
    wxFR\_MATCHCASE  = 4
\}
</pre>
   <p>
    These flags can be specified in
    <ref target="wxfindreplacedialogctor">wxFindReplaceDialog ctor</ref>
    or
    <ref target="wxfindreplacedialogcreate">Create()</ref>
    :
   </p>
   <pre>
enum wxFindReplaceDialogStyles
\{
    // replace dialog (otherwise find dialog)
    wxFR\_REPLACEDIALOG = 1,

    // don't allow changing the search direction
    wxFR\_NOUPDOWN      = 2,

    // don't allow case sensitive searching
    wxFR\_NOMATCHCASE   = 4,

    // don't allow whole word searching
    wxFR\_NOWHOLEWORD   = 8
\}
</pre>
  </structs>
  <members>
   <member class="wxFindReplaceData" name="wxFindReplaceData">
    <function type="" name="wxFindReplaceData">
     <parameters>
      <parameter type="wxUint32 " name="flags" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constuctor initializes the flags to default value (0).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceData" name="GetFindString">
    <function type="const wxString&amp;" name="GetFindString">
     <description>
      <p>
       Get the string to find.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceData" name="GetReplaceString">
    <function type="const wxString&amp;" name="GetReplaceString">
     <description>
      <p>
       Get the replacement string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceData" name="GetFlags">
    <function type="int" name="GetFlags" suffix="const">
     <description>
      <p>
       Get the combination of
       <tt> wxFindReplaceFlags</tt>
       values.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceData" name="SetFlags">
    <function type="void" name="SetFlags">
     <parameters>
      <parameter type="wxUint32 " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Set the flags to use to initialize the controls of the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceData" name="SetFindString">
    <function type="void" name="SetFindString">
     <parameters>
      <parameter type="const wxString&amp; " name="str"></parameter>
     </parameters>
     <description>
      <p>
       Set the string to find (used as initial value by the dialog).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceData" name="SetReplaceString">
    <function type="void" name="SetReplaceString">
     <parameters>
      <parameter type="const wxString&amp; " name="str"></parameter>
     </parameters>
     <description>
      <p>
       Set the replacement string (used as initial value by the dialog).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFindReplaceDialog">
  <description>
   <p class="classdesc">
    wxFindReplaceDialog is a standard modeless dialog which is used to allow the
    user to search for some text (and possibly replace it with something else).
    The actual searching is supposed to be done in the owner window which is the
    parent of this dialog. Note that it means that unlike for the other standard
    dialogs this one
    <b> must</b>
    have a parent window. Also note that there is no way to use this dialog in a
    modal way; it is always, by design and implementation, modeless.
   </p>
   <p class="classdesc">
    Please see the dialogs sample for an example of using it.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Text search/replace dialog</shortdesc>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
  </parents>
  <includes>
   <header name="wx/fdrepdlg.h"/>
  </includes>
  <members>
   <member class="wxFindReplaceDialog" name="wxFindReplaceDialog">
    <function type="" name="wxFindReplaceDialog">
     <description></description>
    </function>
    <function type="" name="wxFindReplaceDialog">
     <parameters>
      <parameter type="wxWindow &#42; " name="parent"></parameter>
      <parameter type="wxFindReplaceData&#42; " name="data"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="int " name="style" value="0"></parameter>
     </parameters>
     <description>
      <p>
       After using default constructor
       <ref target="wxfindreplacedialogcreate">Create()</ref>
       must be called.
      </p>
      <p>
       The
       <i> parent</i>
       and
       <i> data</i>
       parameters must be non-
       <tt> NULL</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceDialog" name="~wxFindReplaceDialog">
    <function type="" name="~wxFindReplaceDialog">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceDialog" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow &#42; " name="parent"></parameter>
      <parameter type="wxFindReplaceData&#42; " name="data"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="int " name="style" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Creates the dialog; use
       <ref target="wxwindowshow">Show</ref>
       to show it on screen.
      </p>
      <p>
       The
       <i> parent</i>
       and
       <i> data</i>
       parameters must be non-
       <tt> NULL</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFindReplaceDialog" name="GetData">
    <function type="const wxFindReplaceData&#42;" name="GetData" suffix="const">
     <description>
      <p>
       Get the
       <ref target="wxfindreplacedata">wxFindReplaceData</ref>
       object used by this dialog.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFlexGridSizer">
  <description>
   <p class="classdesc">
    A flex grid sizer is a sizer which lays out its children in a
    two-dimensional table with all table fields in one row having the same
    height and all fields in one column having the same width, but all rows or
    all columns are not necessarily the same height or width as in the
    <ref target="wxgridsizer">wxGridSizer</ref>
    .
   </p>
   <p class="classdesc">
    Since wxWidgets 2.5.0, wxFlexGridSizer can also size items equally in one
    direction but unequally (&quot;flexibly&quot;) in the other. If the sizer is
    only flexible in one direction (this can be changed using
    <ref target="wxflexgridsizersetflexibledirection">SetFlexibleDrection</ref>
    ), it needs to be decided how the sizer should grow in the other (&quot;non
    flexible&quot;) direction in order to fill the available space. The
    <ref target="wxflexgridsizersetnonflexiblegrowmode">SetNonFlexibleGrowMode</ref>
    method serves this purpose.
   </p>
  </description>
  <category>Window layout</category>
  <shortdesc>A sizer for laying out windows in a flexible grid</shortdesc>
  <parents>
   <ref type="help" target="wxGridSizer">wxGridSizer</ref>
   <ref type="help" target="wxSizer">wxSizer</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/sizer.h"/>
  </includes>
  <seealso>
   <ref target="wxsizer">wxSizer</ref>
   <ref target="sizeroverview">Sizer overview</ref>
  </seealso>
  <members>
   <member class="wxFlexGridSizer" name="wxFlexGridSizer">
    <function type="" name="wxFlexGridSizer">
     <parameters>
      <parameter type="int " name="rows"></parameter>
      <parameter type="int " name="cols"></parameter>
      <parameter type="int " name="vgap"></parameter>
      <parameter type="int " name="hgap"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxFlexGridSizer">
     <parameters>
      <parameter type="int " name="cols"></parameter>
      <parameter type="int " name="vgap" value="0"></parameter>
      <parameter type="int " name="hgap" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor for a wxGridSizer.
       <i> rows</i>
       and
       <i> cols</i>
       determine the number of columns and rows in the sizer - if either of the
       parameters is zero, it will be calculated to form the total number of
       children in the sizer, thus making the sizer grow dynamically.
       <i> vgap</i>
       and
       <i> hgap</i>
       define extra space between all children.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="AddGrowableCol">
    <function type="void" name="AddGrowableCol">
     <parameters>
      <parameter type="size\_t " name="idx"></parameter>
      <parameter type="int " name="proportion" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Specifies that column
       <i> idx</i>
       (starting from zero) should be grown if there is extra space available to
       the sizer.
      </p>
      <p>
       The
       <i> proportion</i>
       parameter has the same meaning as the stretch factor for the
       <ref target="sizeroverview">sizers</ref>
       except that if all proportions are 0, then all columns are resized
       equally (instead of not being resized at all).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="AddGrowableRow">
    <function type="void" name="AddGrowableRow">
     <parameters>
      <parameter type="size\_t " name="idx"></parameter>
      <parameter type="int " name="proportion" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Specifies that row idx (starting from zero) should be grown if there is
       extra space available to the sizer.
      </p>
      <p>
       See
       <ref target="wxflexgridsizeraddgrowablecol">AddGrowableCol</ref>
       for the description of
       <i> proportion</i>
       parameter.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="GetFlexibleDirection">
    <function type="int" name="GetFlexibleDirections" suffix="const">
     <seealso>
      <ref target="wxflexgridsizersetflexibledirection">SetFlexibleDrection</ref>
     </seealso>
     <returnvalue>
      One of the following values:
      <table>
       <tr>
        <td>wxVERTICAL</td>
        <td>Rows are flexibly sized.</td>
       </tr>
       <tr>
        <td>wxHORIZONTAL</td>
        <td>Columns are flexibly sized.</td>
       </tr>
       <tr>
        <td>wxBOTH</td>
        <td>Both rows and columns are flexibly sized (this is the default value).</td>
       </tr>
      </table>
     </returnvalue>
     <description>
      <p>
       Returns a wxOrientation value that specifies whether the sizer flexibly
       resizes its columns, rows, or both (default).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="GetNonFlexibleGrowMode">
    <function type="int" name="GetNonFlexibleGrowMode" suffix="const">
     <seealso>
      <ref target="wxflexgridsizersetflexibledirection">SetFlexibleDrection</ref>
      <ref target="wxflexgridsizersetnonflexiblegrowmode">SetNonFlexibleGrowMode</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="RemoveGrowableCol">
    <function type="void" name="RemoveGrowableCol">
     <parameters>
      <parameter type="size\_t " name="idx"></parameter>
     </parameters>
     <description>
      <p>
       Specifies that column idx is no longer growable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="RemoveGrowableRow">
    <function type="void" name="RemoveGrowableRow">
     <parameters>
      <parameter type="size\_t " name="idx"></parameter>
     </parameters>
     <description>
      <p>
       Specifies that row idx is no longer growable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="SetFlexibleDirection">
    <function type="void" name="SetFlexibleDirections">
     <parameters>
      <parameter type="int " name="direction"></parameter>
     </parameters>
     <description>
      <p>
       Specifies whether the sizer should flexibly resize its columns, rows, or
       both. Argument
       <tt> direction</tt>
       can be
       <tt> wxVERTICAL</tt>
       ,
       <tt> wxHORIZONTAL</tt>
       or
       <tt> wxBOTH</tt>
       (which is the default value). Any other value is ignored. See
       <ref target="wxflexgridsizergetflexibledrection">GetFlexibleDirection()</ref>
       for the explanation of these values.
      </p>
      <p>
       Note that this method does not trigger relayout.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFlexGridSizer" name="SetNonFlexibleGrowMode">
    <function type="void" name="SetNonFlexibleGrowMode">
     <parameters>
      <parameter type="wxFlexSizerGrowMode " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       Specifies how the sizer should grow in the non flexible direction if
       there is one (so
       <ref target="wxflexgridsizersetflexibledirection">SetFlexibleDirections()</ref>
       must have been called previously). Argument
       <i> mode</i>
       can be one of those documented in
       <ref target="wxflexgridsizergetnonflexiblegrowmode">GetNonFlexibleGrowMode</ref>
       , please see there for their explanation.
      </p>
      <p>
       Note that this method does not trigger relayout.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFocusEvent">
  <description>
   <p class="classdesc">
    A focus event is sent when a window's focus changes. The window losing focus
    receives a ``kill focus'' event while the window gaining it gets a ``set
    focus'' one.
   </p>
   <p class="classdesc">
    Notice that the set focus event happens both when the user gives focus to
    the window (whether using the mouse or keyboard) and when it is done from
    the program itself using
    <ref target="wxwindowsetfocus">SetFocus</ref>
    .
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A window focus event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_SET\_FOCUS(func)">Process a wxEVT\_SET\_FOCUS event.</event>
   <event name="EVT\_KILL\_FOCUS(func)">Process a wxEVT\_KILL\_FOCUS event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxFocusEvent" name="wxFocusEvent">
    <function type="" name="wxFocusEvent">
     <parameters>
      <parameter type="WXTYPE " name="eventType" value="0"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFocusEvent" name="GetWindow"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFont">
  <description>
   <p class="classdesc">
    A font is an object which determines the appearance of text. Fonts are used
    for drawing text to a device context, and setting the appearance of a
    window's text.
   </p>
   <p class="classdesc">
    You can retrieve the current system font settings with
    <ref target="wxsystemsettings">wxSystemSettings</ref>
    .
   </p>
   <p class="classdesc">
    <ref target="wxsystemsettings">wxSystemSettings</ref>
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>Represents fonts</shortdesc>
  <parents>
   <ref type="help" target="wxGDIObject">wxGDIObject</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/font.h"/>
  </includes>
  <constants>

The possible values for the <i>family</i> parameter of <ref target="wxfontctor">wxFont
constructor</ref> are (the old names are for compatibility only):

<pre>
enum wxFontFamily
\{
    wxFONTFAMILY\_DEFAULT = wxDEFAULT,
    wxFONTFAMILY\_DECORATIVE = wxDECORATIVE,
    wxFONTFAMILY\_ROMAN = wxROMAN,
    wxFONTFAMILY\_SCRIPT = wxSCRIPT,
    wxFONTFAMILY\_SWISS = wxSWISS,
    wxFONTFAMILY\_MODERN = wxMODERN,
    wxFONTFAMILY\_TELETYPE = wxTELETYPE,
    wxFONTFAMILY\_MAX
\};
</pre>

The possible values for the <i>weight</i> parameter are (the old names
are for compatibility only):

<pre>
enum wxFontWeight
\{
    wxFONTWEIGHT\_NORMAL = wxNORMAL,
    wxFONTWEIGHT\_LIGHT = wxLIGHT,
    wxFONTWEIGHT\_BOLD = wxBOLD,
    wxFONTWEIGHT\_MAX
\};
</pre>

The font flags which can be used during the font creation are:

<pre>
enum
\{
    // no special flags: font with default weight/slant/anti-aliasing
    wxFONTFLAG\_DEFAULT          = 0,

    // slant flags (default: no slant)
    wxFONTFLAG\_ITALIC           = 1 &lt;&lt; 0,
    wxFONTFLAG\_SLANT            = 1 &lt;&lt; 1,

    // weight flags (default: medium)
    wxFONTFLAG\_LIGHT            = 1 &lt;&lt; 2,
    wxFONTFLAG\_BOLD             = 1 &lt;&lt; 3,

    // anti-aliasing flag: force on or off (default: the current system default)
    wxFONTFLAG\_ANTIALIASED      = 1 &lt;&lt; 4,
    wxFONTFLAG\_NOT\_ANTIALIASED  = 1 &lt;&lt; 5,

    // underlined/strikethrough flags (default: no lines)
    wxFONTFLAG\_UNDERLINED       = 1 &lt;&lt; 6,
    wxFONTFLAG\_STRIKETHROUGH    = 1 &lt;&lt; 7,
\};
</pre>

The known font encodings are:

<pre>
enum wxFontEncoding
\{
    wxFONTENCODING\_SYSTEM = -1,     // system default
    wxFONTENCODING\_DEFAULT,         // current default encoding

    // ISO8859 standard defines a number of single-byte charsets
    wxFONTENCODING\_ISO8859\_1,       // West European (Latin1)
    wxFONTENCODING\_ISO8859\_2,       // Central and East European (Latin2)
    wxFONTENCODING\_ISO8859\_3,       // Esperanto (Latin3)
    wxFONTENCODING\_ISO8859\_4,       // Baltic (old) (Latin4)
    wxFONTENCODING\_ISO8859\_5,       // Cyrillic
    wxFONTENCODING\_ISO8859\_6,       // Arabic
    wxFONTENCODING\_ISO8859\_7,       // Greek
    wxFONTENCODING\_ISO8859\_8,       // Hebrew
    wxFONTENCODING\_ISO8859\_9,       // Turkish (Latin5)
    wxFONTENCODING\_ISO8859\_10,      // Variation of Latin4 (Latin6)
    wxFONTENCODING\_ISO8859\_11,      // Thai
    wxFONTENCODING\_ISO8859\_12,      // doesn't exist currently, but put it
                                    // here anyhow to make all ISO8859
                                    // consecutive numbers
    wxFONTENCODING\_ISO8859\_13,      // Baltic (Latin7)
    wxFONTENCODING\_ISO8859\_14,      // Latin8
    wxFONTENCODING\_ISO8859\_15,      // Latin9 (a.k.a. Latin0, includes euro)
    wxFONTENCODING\_ISO8859\_MAX,

    // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
    wxFONTENCODING\_KOI8,            // we don't support any of KOI8 variants
    wxFONTENCODING\_ALTERNATIVE,     // same as MS-DOS CP866
    wxFONTENCODING\_BULGARIAN,       // used under Linux in Bulgaria

    // what would we do without Microsoft? They have their own encodings
        // for DOS
    wxFONTENCODING\_CP437,           // original MS-DOS codepage
    wxFONTENCODING\_CP850,           // CP437 merged with Latin1
    wxFONTENCODING\_CP852,           // CP437 merged with Latin2
    wxFONTENCODING\_CP855,           // another cyrillic encoding
    wxFONTENCODING\_CP866,           // and another one
        // and for Windows
    wxFONTENCODING\_CP874,           // WinThai
    wxFONTENCODING\_CP1250,          // WinLatin2
    wxFONTENCODING\_CP1251,          // WinCyrillic
    wxFONTENCODING\_CP1252,          // WinLatin1
    wxFONTENCODING\_CP1253,          // WinGreek (8859-7)
    wxFONTENCODING\_CP1254,          // WinTurkish
    wxFONTENCODING\_CP1255,          // WinHebrew
    wxFONTENCODING\_CP1256,          // WinArabic
    wxFONTENCODING\_CP1257,          // WinBaltic (same as Latin 7)
    wxFONTENCODING\_CP12\_MAX,

    wxFONTENCODING\_UTF7,            // UTF-7 Unicode encoding
    wxFONTENCODING\_UTF8,            // UTF-8 Unicode encoding

    wxFONTENCODING\_UNICODE,         // Unicode - currently used only by
                                    // wxEncodingConverter class

    wxFONTENCODING\_MAX
\};
</pre>
  </constants>
  <predefs>

Objects:

<b> wxNullFont</b>

Pointers:

<b> wxNORMAL\_FONT<br/>
wxSMALL\_FONT<br/>
wxITALIC\_FONT<br/>
wxSWISS\_FONT</b>
  </predefs>
  <seealso>
   <ref target="wxfontoverview">wxFont overview</ref>
   <ref target="wxdcsetfont">wxDC::SetFont</ref>
   ,
   <ref target="wxdcdrawtext">wxDC::DrawText</ref>
   <ref target="wxdcgettextextent">wxDC::GetTextExtent</ref>
   ,
   <ref target="wxfontdialog">wxFontDialog</ref>
   <ref target="wxsystemsettings">wxSystemSettings</ref>
  </seealso>
  <members>
   <member class="wxFont" name="wxFont">
    <function type="" name="wxFont">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxFont">
     <parameters>
      <parameter type="int " name="pointSize">
       Size in points.
      </parameter>
      <parameter type="wxFontFamily " name="family"></parameter>
      <parameter type="int " name="style">
       One of
       <b> wxFONTSTYLE\_NORMAL</b>
       ,
       <b> wxFONTSTYLE\_SLANT</b>
       and
       <b> wxFONTSTYLE\_ITALIC</b>
       .
      </parameter>
      <parameter type="wxFontWeight " name="weight"></parameter>
      <parameter type="const bool " name="underline" value="false">
       The value can be true or false. At present this has an effect on Windows
       and Motif 2.x only.
      </parameter>
      <parameter type="const wxString&amp; " name="faceName" value="&quot;&quot;">
       An optional string specifying the actual typeface to be used. If it is an
       empty string, a default typeface will be chosen based on the family.
      </parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxFont">
     <parameters>
      <parameter type="int " name="pixelSize">
       Size in pixels: this is directly supported only under MSW currently where
       this constructor can be used directly, under other platforms a font with
       the closest size to the given one is found using binary search and the
       static
       <ref target="wxfontnew">New</ref>
       method must be used.
      </parameter>
      <parameter type="wxFontFamily " name="family"></parameter>
      <parameter type="int " name="style">
       One of
       <b> wxFONTSTYLE\_NORMAL</b>
       ,
       <b> wxFONTSTYLE\_SLANT</b>
       and
       <b> wxFONTSTYLE\_ITALIC</b>
       .
      </parameter>
      <parameter type="wxFontWeight " name="weight"></parameter>
      <parameter type="const bool " name="underline" value="false">
       The value can be true or false. At present this has an effect on Windows
       and Motif 2.x only.
      </parameter>
      <parameter type="const wxString&amp; " name="faceName" value="&quot;&quot;">
       An optional string specifying the actual typeface to be used. If it is an
       empty string, a default typeface will be chosen based on the family.
      </parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <remarks>
      <p>
       If the desired font does not exist, the closest match will be chosen.
       Under Windows, only scalable TrueType fonts are used.
      </p>
      <p>
       See also
       <ref target="wxdcsetfont">wxDC::SetFont</ref>
       ,
       <ref target="wxdcdrawtext">wxDC::DrawText</ref>
       and
       <ref target="wxdcgettextextent">wxDC::GetTextExtent</ref>
       .
      </p>
     </remarks>
     <description>
      <p>
       Creates a font object with the specified attributes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="~wxFont">
    <function type="" name="~wxFont">
     <remarks>
      <p>
       The destructor may not delete the underlying font object of the native
       windowing system, since wxFont uses a reference counting system for
       efficiency.
      </p>
      <p>
       Although all remaining fonts are deleted when the application exits, the
       application should try to clean up all fonts itself. This is because
       wxWidgets cannot know if a pointer to the font object is stored in an
       application data structure, and there is a risk of double deletion.
      </p>
     </remarks>
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="IsFixedWidth">
    <function type="bool" name="IsFixedWidth" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the font is a fixed width (or monospaced) font,
       <tt> false</tt>
       if it is a proportional one or font is invalid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetDefaultEncoding">
    <function type="static wxFontEncoding" name="GetDefaultEncoding">
     <seealso>
      <ref target="wxfontencodingoverview">Font encoding overview</ref>
      ,
      <ref target="wxfontsetdefaultencoding">SetDefaultEncoding</ref>
     </seealso>
     <description>
      <p>
       Returns the current application's default encoding.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetFaceName">
    <function type="wxString" name="GetFaceName" suffix="const">
     <seealso>
      <ref target="wxfontsetfacename">wxFont::SetFaceName</ref>
     </seealso>
     <description>
      <p>
       Returns the typeface name associated with the font, or the empty string
       if there is no typeface information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetFamily">
    <function type="wxFontFamily" name="GetFamily" suffix="const">
     <seealso>
      <ref target="wxfontsetfamily">wxFont::SetFamily</ref>
     </seealso>
     <description>
      <p>
       Gets the font family. See
       <ref target="wxfontsetfamily">wxFont::SetFamily</ref>
       for a list of valid family identifiers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetNativeFontInfoDesc">
    <function type="wxString" name="GetNativeFontInfoDesc" suffix="const">
     <seealso>
      <ref target="wxfontsetnativefontinfo">wxFont::SetNativeFontInfo</ref>
     </seealso>
     <description>
      <p>
       Returns the platform-dependent string completely describing this font or
       an empty string if the font wasn't constructed using the native font
       description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetPointSize">
    <function type="int" name="GetPointSize" suffix="const">
     <seealso>
      <ref target="wxfontsetpointsize">wxFont::SetPointSize</ref>
     </seealso>
     <description>
      <p>
       Gets the point size.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetStyle">
    <function type="int" name="GetStyle" suffix="const">
     <seealso>
      <ref target="wxfontsetstyle">wxFont::SetStyle</ref>
     </seealso>
     <description>
      <p>
       Gets the font style. See
       <ref target="wxfontctor">wxFont::wxFont</ref>
       for a list of valid styles.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetUnderlined">
    <function type="bool" name="GetUnderlined" suffix="const">
     <seealso>
      <ref target="wxfontsetunderlined">wxFont::SetUnderlined</ref>
     </seealso>
     <description>
      <p>
       Returns true if the font is underlined, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="GetWeight">
    <function type="wxFontWeight" name="GetWeight" suffix="const">
     <seealso>
      <ref target="wxfontsetweight">wxFont::SetWeight</ref>
     </seealso>
     <description>
      <p>
       Gets the font weight. See
       <ref target="wxfontctor">wxFont::wxFont</ref>
       for a list of valid weight identifiers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="New">
    <function type="static wxFont &#42;" name="New">
     <parameters>
      <parameter type="int " name="pointSize"></parameter>
      <parameter type="wxFontFamily " name="family"></parameter>
      <parameter type="int " name="style"></parameter>
      <parameter type="wxFontWeight " name="weight"></parameter>
      <parameter type="const bool " name="underline" value="false"></parameter>
      <parameter type="const wxString&amp; " name="faceName" value="&quot;&quot;"></parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static wxFont &#42;" name="New">
     <parameters>
      <parameter type="int " name="pointSize"></parameter>
      <parameter type="wxFontFamily " name="family"></parameter>
      <parameter type="int " name="flags" value="\\texttt\{wxFONTFLAG\_DEFAULT\}"></parameter>
      <parameter type="const wxString&amp; " name="faceName" value="&quot;&quot;"></parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static wxFont &#42;" name="New">
     <parameters>
      <parameter type="const wxSize&amp; " name="pixelSize"></parameter>
      <parameter type="wxFontFamily " name="family"></parameter>
      <parameter type="int " name="style"></parameter>
      <parameter type="wxFontWeight " name="weight"></parameter>
      <parameter type="const bool " name="underline" value="false"></parameter>
      <parameter type="const wxString&amp; " name="faceName" value="&quot;&quot;"></parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static wxFont &#42;" name="New">
     <parameters>
      <parameter type="const wxSize&amp; " name="pixelSize"></parameter>
      <parameter type="wxFontFamily " name="family"></parameter>
      <parameter type="int " name="flags" value="\\texttt\{wxFONTFLAG\_DEFAULT\}"></parameter>
      <parameter type="const wxString&amp; " name="faceName" value="&quot;&quot;"></parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       These functions take the same parameters as
       <ref target="wxfontctor">wxFont
constructor</ref>
       and return a new font object allocated on the heap.
      </p>
      <p>
       Using
       <tt>New()</tt>
       is currently the only way to directly create a font with the given size
       in pixels on platforms other than wxMSW.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if this object is a valid font,
       <tt> false</tt>
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="SetDefaultEncoding">
    <function type="static void" name="SetDefaultEncoding">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfontencodingoverview">Font encoding overview</ref>
      ,
      <ref target="wxfontgetdefaultencoding">GetDefaultEncoding</ref>
     </seealso>
     <description>
      <p>
       Sets the default font encoding.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="SetFaceName">
    <function type="void" name="SetFaceName">
     <parameters>
      <parameter type="const wxString&amp; " name="faceName">
       A valid facename, which should be on the end-user's system.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxfontgetfacename">wxFont::GetFaceName</ref>
      <ref target="wxfontsetfamily">wxFont::SetFamily</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFont" name="SetFamily">
    <function type="void" name="SetFamily">
     <parameters>
      <parameter type="wxFontFamily " name="family"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfontgetfamily">wxFont::GetFamily</ref>
      <ref target="wxfontsetfacename">wxFont::SetFaceName</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFont" name="SetNativeFontInfo">
    <function type="void" name="SetNativeFontInfo">
     <parameters>
      <parameter type="const wxString&amp; " name="info"></parameter>
     </parameters>
     <description>
      <p>
       Creates the font corresponding to the given native font description
       string which must have been previously returned by
       <ref target="wxfontgetnativefontinfodesc">GetNativeFontInfoDesc</ref>
       . If the string is invalid, font is unchanged.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="SetPointSize">
    <function type="void" name="SetPointSize">
     <parameters>
      <parameter type="int " name="pointSize">
       Size in points.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxfontgetpointsize">wxFont::GetPointSize</ref>
     </seealso>
     <description>
      <p>
       Sets the point size.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="SetStyle">
    <function type="void" name="SetStyle">
     <parameters>
      <parameter type="int " name="style">
       One of
       <b> wxFONTSTYLE\_NORMAL</b>
       ,
       <b> wxFONTSTYLE\_SLANT</b>
       and
       <b> wxFONTSTYLE\_ITALIC</b>
       .
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxfontgetstyle">wxFont::GetStyle</ref>
     </seealso>
     <description>
      <p>
       Sets the font style.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="SetUnderlined">
    <function type="void" name="SetUnderlined">
     <parameters>
      <parameter type="const bool " name="underlined"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfontgetunderlined">wxFont::GetUnderlined</ref>
     </seealso>
     <description>
      <p>
       Sets underlining.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="SetWeight">
    <function type="void" name="SetWeight">
     <parameters>
      <parameter type="wxFontWeight " name="weight"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfontgetweight">wxFont::GetWeight</ref>
     </seealso>
     <description>
      <p>
       Sets the font weight.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="operator $=$">
    <function type="wxFont&amp;" name="operator $=$">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator, using reference counting. Returns a reference to
       `this'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Equality operator. Two fonts are equal if they contain pointers to the
       same underlying font data. It does not compare each attribute, so two
       independently-created fonts using the same parameters will fail the test.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFont" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Inequality operator. Two fonts are not equal if they contain pointers to
       different underlying font data. It does not compare each attribute.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFontData">
  <description>
   <p class="classdesc">
    <ref type="overview" target="wxfontdialogoverview">wxFontDialog overview</ref>
   </p>
   <p class="classdesc">
    This class holds a variety of information related to font dialogs.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/cmndata.h"/>
  </includes>
  <seealso>
   <ref target="wxfontdialogoverview">Overview</ref>
   <ref target="wxfont">wxFont</ref>
   <ref target="wxfontdialog">wxFontDialog</ref>
  </seealso>
  <members>
   <member class="wxFontData" name="wxFontData">
    <function type="" name="wxFontData">
     <description>
      <p>
       Constructor. Initializes
       <i> fontColour</i>
       to black,
       <i> showHelp</i>
       to black,
       <i> allowSymbols</i>
       to true,
       <i> enableEffects</i>
       to true,
       <i> minSize</i>
       to 0 and
       <i> maxSize</i>
       to 0.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="EnableEffects">
    <function type="void" name="EnableEffects">
     <parameters>
      <parameter type="bool " name="enable"></parameter>
     </parameters>
     <description>
      <p>
       Enables or disables `effects' under MS Windows or generic only. This
       refers to the controls for manipulating colour, strikeout and underline
       properties.
      </p>
      <p>
       The default value is true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="GetAllowSymbols">
    <function type="bool" name="GetAllowSymbols">
     <description>
      <p>
       Under MS Windows, returns a flag determining whether symbol fonts can be
       selected. Has no effect on other platforms.
      </p>
      <p>
       The default value is true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="GetColour">
    <function type="wxColour&amp;" name="GetColour">
     <description>
      <p>
       Gets the colour associated with the font dialog.
      </p>
      <p>
       The default value is black.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="GetChosenFont">
    <function type="wxFont" name="GetChosenFont">
     <description>
      <p>
       Gets the font chosen by the user if the user pressed OK
       (wxFontDialog::ShowModal returned wxID\_OK).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="GetEnableEffects">
    <function type="bool" name="GetEnableEffects">
     <description>
      <p>
       Determines whether `effects' are enabled under Windows. This refers to
       the controls for manipulating colour, strikeout and underline properties.
      </p>
      <p>
       The default value is true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="GetInitialFont">
    <function type="wxFont" name="GetInitialFont">
     <description>
      <p>
       Gets the font that will be initially used by the font dialog. This should
       have previously been set by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="GetShowHelp">
    <function type="bool" name="GetShowHelp">
     <description>
      <p>
       Returns true if the Help button will be shown (Windows only).
      </p>
      <p>
       The default value is false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="SetAllowSymbols">
    <function type="void" name="SetAllowSymbols">
     <parameters>
      <parameter type="bool " name="allowSymbols"></parameter>
     </parameters>
     <description>
      <p>
       Under MS Windows, determines whether symbol fonts can be selected. Has no
       effect on other platforms.
      </p>
      <p>
       The default value is true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="SetChosenFont">
    <function type="void" name="SetChosenFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the font that will be returned to the user (for internal use only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="SetColour">
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the colour that will be used for the font foreground colour.
      </p>
      <p>
       The default colour is black.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="SetInitialFont">
    <function type="void" name="SetInitialFont">
     <parameters>
      <parameter type="const wxFont&amp;" name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the font that will be initially used by the font dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="SetRange">
    <function type="void" name="SetRange">
     <parameters>
      <parameter type="int " name="min"></parameter>
      <parameter type="int " name="max"></parameter>
     </parameters>
     <description>
      <p>
       Sets the valid range for the font point size (Windows only).
      </p>
      <p>
       The default is 0, 0 (unrestricted range).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="SetShowHelp">
    <function type="void" name="SetShowHelp">
     <parameters>
      <parameter type="bool " name="showHelp"></parameter>
     </parameters>
     <description>
      <p>
       Determines whether the Help button will be displayed in the font dialog
       (Windows only).
      </p>
      <p>
       The default value is false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontData" name="operator $=$">
    <function type="void" name="operator $=$">
     <parameters>
      <parameter type="const wxFontData&amp; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator for the font data.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFontDialog">
  <description>
   <p class="classdesc">
    This class represents the font chooser dialog.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Font chooser dialog</shortdesc>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/fontdlg.h"/>
  </includes>
  <seealso>
   <ref target="wxfontdialogoverview">Overview</ref>
   ,
   <br/>
   <ref target="wxfontdata">wxFontData</ref>
   ,
   <br/>
   <ref target="wxgetfontfromuser">wxGetFontFromUser</ref>
  </seealso>
  <members>
   <member class="wxFontDialog" name="wxFontDialog">
    <function type="" name="wxFontDialog">
     <description></description>
    </function>
    <function type="" name="wxFontDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxFontDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="const wxFontData&amp; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Pass a parent window, and optionally the
       <ref target="wxfontdata">font data</ref>
       object to be used to initialize the dialog controls. If the default
       constructor is used,
       <ref target="wxfontdialogcreate">Create()</ref>
       must be called before the dialog can be shown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontDialog" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="const wxFontData&amp; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Creates the dialog if it the wxFontDialog object had been initialized
       using the default constructor. Returns true on success and false if an
       error occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontDialog" name="GetFontData">
    <function type="const wxFontData&amp;" name="GetFontData" suffix="const">
     <description></description>
    </function>
    <function type="wxFontData&amp;" name="GetFontData">
     <description>
      <p>
       Returns the
       <ref target="wxfontdata">font data</ref>
       associated with the font dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <description>
      <p>
       Shows the dialog, returning
       <tt> wxID\_OK</tt>
       if the user pressed Ok, and
       <tt> wxID\_CANCEL</tt>
       otherwise.
      </p>
      <p>
       If the user cancels the dialog (ShowModal returns
       <tt> wxID\_CANCEL</tt>
       ), no font will be created. If the user presses OK, a new wxFont will be
       created and stored in the font dialog's wxFontData structure.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFontEnumerator">
  <description>
   <p class="classdesc">
    wxFontEnumerator enumerates either all available fonts on the system or only
    the ones with given attributes - either only fixed-width (suited for use in
    programs such as terminal emulators and the like) or the fonts available in
    the given
    <ref target="wxfontencodingoverview">encoding</ref>
    .
   </p>
   <p class="classdesc">
    To do this, you just have to call one of EnumerateXXX() functions - either
    <ref target="wxfontenumeratorenumeratefacenames">EnumerateFacenames</ref>
    or
    <ref target="wxfontenumeratorenumerateencodings">EnumerateEncodings</ref>
    and the corresponding callback (
    <ref target="wxfontenumeratoronfacename">OnFacename</ref>
    or
    <ref target="wxfontenumeratoronfontencoding">OnFontEncoding</ref>
    ) will be called repeatedly until either all fonts satisfying the specified
    criteria are exhausted or the callback returns false.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/fontenum.h"/>
  </includes>
  <override>

Either <ref target="wxfontenumeratoronfacename">OnFacename</ref> or 
<ref target="wxfontenumeratoronfontencoding">OnFontEncoding</ref> should be overridden
depending on whether you plan to call 
<ref target="wxfontenumeratorenumeratefacenames">EnumerateFacenames</ref> or 
<ref target="wxfontenumeratorenumerateencodings">EnumerateEncodings</ref>. Of course,
if you call both of them, you should override both functions.

</override>
  <seealso>
   <ref target="wxfontencodingoverview">Font encoding overview</ref>
   <ref target="samplefont">Font sample</ref>
   <ref target="wxfont">wxFont</ref>
   <ref target="wxfontmapper">wxFontMapper</ref>
  </seealso>
  <members>
   <member class="wxFontEnumerator" name="EnumerateFacenames">
    <function type="virtual bool" name="EnumerateFacenames">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_SYSTEM"></parameter>
      <parameter type="bool " name="fixedWidthOnly" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Call
       <ref target="wxfontenumeratoronfacename">OnFacename</ref>
       for each font which supports given encoding (only if it is not
       wxFONTENCODING\_SYSTEM) and is of fixed width (if
       <i> fixedWidthOnly</i>
       is true).
      </p>
      <p>
       Calling this function with default arguments will result in enumerating
       all fonts available on the system.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontEnumerator" name="EnumerateEncodings">
    <function type="virtual bool" name="EnumerateEncodings">
     <parameters>
      <parameter type="const wxString&amp; " name="font" value="&quot;&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Call
       <ref target="wxfontenumeratoronfontencoding">OnFontEncoding</ref>
       for each encoding supported by the given font - or for each encoding
       supported by at least some font if
       <i> font</i>
       is not specified.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontEnumerator" name="GetEncodings">
    <function type="wxArrayString&#42;" name="GetEncodings">
     <description>
      <p>
       Return array of strings containing all encodings found by
       <ref target="wxfontenumeratorenumerateencodings">EnumerateEncodings</ref>
       . This is convenience function. It is based on default implementation of
       <ref target="wxfontenumeratoronfontencoding">OnFontEncoding</ref>
       so don't expect it to work if you overwrite that method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontEnumerator" name="GetFacenames">
    <function type="wxArrayString&#42;" name="GetFacenames">
     <description>
      <p>
       Return array of strings containing all facenames found by
       <ref target="wxfontenumeratorenumeratefacenames">EnumerateFacenames</ref>
       . This is convenience function. It is based on default implementation of
       <ref target="wxfontenumeratoronfacename">OnFacename</ref>
       so don't expect it to work if you overwrite that method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontEnumerator" name="OnFacename">
    <function type="virtual bool" name="OnFacename">
     <parameters>
      <parameter type="const wxString&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Called by
       <ref target="wxfontenumeratorenumeratefacenames">EnumerateFacenames</ref>
       for each match. Return true to continue enumeration or false to stop it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontEnumerator" name="OnFontEncoding">
    <function type="virtual bool" name="OnFontEncoding">
     <parameters>
      <parameter type="const wxString&amp; " name="font"></parameter>
      <parameter type="const wxString&amp; " name="encoding"></parameter>
     </parameters>
     <description>
      <p>
       Called by
       <ref target="wxfontenumeratorenumerateencodings">EnumerateEncodings</ref>
       for each match. Return true to continue enumeration or false to stop it.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFontList">
  <description>
   <p class="classdesc">
    A font list is a list containing all fonts which have been created. There is
    only one instance of this class:
    <b> wxTheFontList</b>
    . Use this object to search for a previously created font of the desired
    type and create it if not already found. In some windowing systems, the font
    may be a scarce resource, so it is best to reuse old resources if possible.
    When an application finishes, all fonts will be deleted and their resources
    freed, eliminating the possibility of `memory leaks'.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>The list of previously-created fonts</shortdesc>
  <parents>
   <ref type="help" target="wxList">wxList</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/gdicmn.h"/>
  </includes>
  <seealso>
   <ref target="wxfont">wxFont</ref>
  </seealso>
  <members>
   <member class="wxFontList" name="wxFontList">
    <function type="" name="wxFontList">
     <description>
      <p>
       Constructor. The application should not construct its own font list: use
       the object pointer
       <b> wxTheFontList</b>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontList" name="AddFont">
    <function type="void" name="AddFont">
     <parameters>
      <parameter type="wxFont &#42;" name="font"></parameter>
     </parameters>
     <description>
      <p>
       Used by wxWidgets to add a font to the list, called in the font
       constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontList" name="FindOrCreateFont">
    <function type="wxFont &#42;" name="FindOrCreateFont">
     <parameters>
      <parameter type="int " name="point\_size"></parameter>
      <parameter type="int " name="family"></parameter>
      <parameter type="int " name="style"></parameter>
      <parameter type="int " name="weight"></parameter>
      <parameter type="bool " name="underline" value="false"></parameter>
      <parameter type="const wxString&amp; " name="facename" value="NULL"></parameter>
      <parameter type="wxFontEncoding " name="encoding" value="wxFONTENCODING\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Finds a font of the given specification, or creates one and adds it to
       the list. See the
       <ref target="wxfontctor">wxFont constructor</ref>
       for details of the arguments.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontList" name="RemoveFont">
    <function type="void" name="RemoveFont">
     <parameters>
      <parameter type="wxFont &#42;" name="font"></parameter>
     </parameters>
     <description>
      <p>
       Used by wxWidgets to remove a font from the list.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFontMapper">
  <description>
   <p class="classdesc">
    wxFontMapper manages user-definable correspondence between logical font
    names and the fonts present on the machine.
   </p>
   <p class="classdesc">
    The default implementations of all functions will ask the user if they are
    not capable of finding the answer themselves and store the answer in a
    config file (configurable via SetConfigXXX functions). This behaviour may be
    disabled by giving the value of false to &quot;interactive&quot; parameter.
   </p>
   <p class="classdesc">
    However, the functions will always consult the config file to allow the
    user-defined values override the default logic and there is no way to
    disable this - which shouldn't be ever needed because if
    &quot;interactive&quot; was never true, the config file is never created
    anyhow.
   </p>
   <p class="classdesc">
    In case everything else fails (i.e. there is no record in config file and
    &quot;interactive&quot; is false or user denied to choose any replacement),
    the class queries
    <ref target="wxencodingconverter">wxEncodingConverter</ref>
    for &quot;equivalent&quot; encodings (e.g. iso8859-2 and cp1250) and tries
    them.
   </p>
   <p class="classdesc">
    <heading>Using wxFontMapper in conjunction with wxMBConv classes</heading>
   </p>
   <p class="classdesc">
    If you need to display text in encoding which is not available at host
    system (see
    <ref target="wxfontmapperisencodingavailable">IsEncodingAvailable</ref>
    ), you may use these two classes to find font in some similar encoding (see
    <ref target="wxfontmappergetaltforencoding">GetAltForEncoding</ref>
    ) and convert the text to this encoding (
    <ref target="mbconvclasses">wxMBConv classes</ref>
    ).
   </p>
   <p class="classdesc">
    Following code snippet demonstrates it:
   </p>
   <p class="classdesc">
    <pre>
if (!wxFontMapper::Get()-&gt;IsEncodingAvailable(enc, facename))
\{
   wxFontEncoding alternative;
   if (wxFontMapper::Get()-&gt;GetAltForEncoding(enc, &amp;alternative,
                                              facename, false))
   \{
       wxCSConv convFrom(wxFontMapper::Get()-&gt;GetEncodingName(enc));
       wxCSConv convTo(wxFontMapper::Get()-&gt;GetEncodingName(alternative));
       text = wxString(text.mb\_str(convFrom), convTo);
   \}
   else
       ...failure (or we may try iso8859-1/7bit ASCII)...
\}
...display text...
</pre>
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Font mapping, finding suitable font for given encoding</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/fontmap.h"/>
  </includes>
  <seealso>
   <ref target="wxencodingconverter">wxEncodingConverter</ref>
   <ref target="nonenglishoverview">Writing non-English applications</ref>
  </seealso>
  <members>
   <member class="wxFontMapper" name="wxFontMapper">
    <function type="" name="wxFontMapper">
     <note>

The preferred way of creating a wxFontMapper instance is to call 
<ref target="wxfontmapperget">wxFontMapper::Get</ref>.


</note>
     <description>
      <p>
       Default ctor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="~wxFontMapper">
    <function type="" name="~wxFontMapper">
     <description>
      <p>
       Virtual dtor for a base class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="CharsetToEncoding">
    <function type="wxFontEncoding" name="CharsetToEncoding">
     <parameters>
      <parameter type="const wxString&amp; " name="charset"></parameter>
      <parameter type="bool " name="interactive" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Returns the encoding for the given charset (in the form of RFC 2046) or
       <tt>wxFONTENCODING\_SYSTEM</tt>
       if couldn't decode it.
      </p>
      <p>
       Be careful when using this function with
       <i>interactive</i>
       set to true (default value) as the function then may show a dialog box to
       the user which may lead to unexpected reentrancies and may also take a
       significantly longer time than a simple function call. For these reasons,
       it is almost always a bad idea to call this function from the event
       handlers for repeatedly generated events such as
       <tt>EVT\_PAINT</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="Get">
    <function type="static wxFontMapper &#42;" name="Get">
     <seealso>
      <ref target="wxfontmapperset">wxFontMapper::Set</ref>
     </seealso>
     <description>
      <p>
       Get the current font mapper object. If there is no current object,
       creates one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="GetAltForEncoding">
    <function type="bool" name="GetAltForEncoding">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
      <parameter type="wxNativeEncodingInfo&#42; " name="info"></parameter>
      <parameter type="const wxString&amp; " name="facename" value="wxEmptyString"></parameter>
      <parameter type="bool " name="interactive" value="true"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="GetAltForEncoding">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
      <parameter type="wxFontEncoding&#42; " name="alt\_encoding"></parameter>
      <parameter type="const wxString&amp; " name="facename" value="wxEmptyString"></parameter>
      <parameter type="bool " name="interactive" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Find an alternative for the given encoding (which is supposed to not be
       available on this system). If successful, return true and fill info
       structure with the parameters required to create the font, otherwise
       return false.
      </p>
      <p>
       The first form is for wxWidgets' internal use while the second one is
       better suitable for general use -- it returns wxFontEncoding which can
       consequently be passed to wxFont constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="GetEncoding">
    <function type="static wxFontEncoding" name="GetEncoding">
     <parameters>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Returns the
       <i> n</i>
       -th supported encoding. Together with
       <ref target="wxfontmappergetsupportedencodingscount">GetSupportedEncodingsCount()</ref>
       this method may be used to get all supported encodings.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="GetEncodingDescription">
    <function type="static wxString" name="GetEncodingDescription">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
     </parameters>
     <description>
      <p>
       Return user-readable string describing the given encoding.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="GetEncodingFromName">
    <function type="static wxFontEncoding" name="GetEncodingFromName">
     <parameters>
      <parameter type="const wxString&amp; " name="encoding"></parameter>
     </parameters>
     <description>
      <p>
       Return the encoding corresponding to the given internal name. This
       function is the inverse of
       <ref target="wxfontmappergetencodingname">GetEncodingName</ref>
       and is intentionally less general than
       <ref target="wxfontmappercharsettoencoding">CharsetToEncoding</ref>
       , i.e. it doesn't try to make any guesses nor ever asks the user. It is
       meant just as a way of restoring objects previously serialized using
       <ref target="wxfontmappergetencodingname">GetEncodingName</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="GetEncodingName">
    <function type="static wxString" name="GetEncodingName">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfontmappergetencodingfromname">GetEncodingFromName</ref>
     </seealso>
     <description>
      <p>
       Return internal string identifier for the encoding (see also
       <ref target="wxfontmappergetencodingdescription">GetEncodingDescription()</ref>
       )
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="GetSupportedEncodingsCount">
    <function type="static size\_t" name="GetSupportedEncodingsCount">
     <description>
      <p>
       Returns the number of the font encodings supported by this class.
       Together with
       <ref target="wxfontmappergetencoding">GetEncoding</ref>
       this method may be used to get all supported encodings.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="IsEncodingAvailable">
    <function type="bool" name="IsEncodingAvailable">
     <parameters>
      <parameter type="wxFontEncoding " name="encoding"></parameter>
      <parameter type="const wxString&amp; " name="facename" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Check whether given encoding is available in given face or not. If no
       facename is given, find
       <i> any</i>
       font in this encoding.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="SetDialogParent">
    <function type="void" name="SetDialogParent">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
     </parameters>
     <description>
      <p>
       The parent window for modal dialogs.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="SetDialogTitle">
    <function type="void" name="SetDialogTitle">
     <parameters>
      <parameter type="const wxString&amp; " name="title"></parameter>
     </parameters>
     <description>
      <p>
       The title for the dialogs (note that default is quite reasonable).
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="Set">
    <function type="static wxFontMapper &#42;" name="Set">
     <parameters>
      <parameter type="wxFontMapper &#42;" name="mapper"></parameter>
     </parameters>
     <seealso>
      <ref target="wxfontmapperget">wxFontMapper::Get</ref>
     </seealso>
     <description>
      <p>
       Set the current font mapper object and return previous one (may be NULL).
       This method is only useful if you want to plug-in an alternative font
       mapper into wxWidgets.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="SetConfig">
    <function type="void" name="SetConfig">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="config"></parameter>
     </parameters>
     <description>
      <p>
       Set the config object to use (may be NULL to use default).
      </p>
      <p>
       By default, the global one (from wxConfigBase::Get() will be used) and
       the default root path for the config settings is the string returned by
       GetDefaultConfigPath().
      </p>
     </description>
    </function>
   </member>
   <member class="wxFontMapper" name="SetConfigPath">
    <function type="void" name="SetConfigPath">
     <parameters>
      <parameter type="const wxString&amp; " name="prefix"></parameter>
     </parameters>
     <description>
      <p>
       Set the root config path to use (should be an absolute path).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxFrame">
  <description>
   <p class="classdesc">
    A frame is a window whose size and position can (usually) be changed by the
    user. It usually has thick borders and a title bar, and can optionally
    contain a menu bar, toolbar and status bar. A frame can contain any window
    that is not a frame or dialog.
   </p>
   <p class="classdesc">
    A frame that has a status bar and toolbar created via the
    CreateStatusBar/CreateToolBar functions manages these windows, and adjusts
    the value returned by GetClientSize to reflect the remaining size available
    to application windows.
   </p>
   <p class="classdesc">
    <heading>Default event processing</heading>
   </p>
   <p class="classdesc">
    wxFrame processes the following events:
   </p>
   <p class="classdesc">
    <table>
     <tr>
      <td>
       <ref target="wxsizeevent">wxEVT\_SIZE</ref>
      </td>
      <td>If the frame has exactly one
child window, not counting the status and toolbar, this child is resized to
take the entire frame client area. If two or more windows are present, they
should be laid out explicitly either by manually handling wxEVT\_SIZE or using
<ref target="sizeroverview">sizers</ref>
      </td>
     </tr>
     <tr>
      <td>
       <ref target="wxmenuevent">wxEVT\_MENU\_HIGHLIGHT</ref>
      </td>
      <td>The default
implementation displays the <ref target="wxmenuitemgethelp">help string</ref> associated
with the selected item in the first pane of the status bar, if there is one.</td>
     </tr>
    </table>
   </p>
  </description>
  <category>Managed windows</category>
  <shortdesc>Normal frame</shortdesc>
  <remarks>
   <p>
    An application should normally define an
    <ref target="wxcloseevent">wxCloseEvent</ref>
    handler for the frame to respond to system close events, for example so that
    related data and subwindows can be cleaned up.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxTopLevelWindow">wxTopLevelWindow</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/frame.h"/>
  </includes>
  <windowstyles>
   <style name="wxDEFAULT\_FRAME\_STYLE">
    Defined as
    <b> wxMINIMIZE\_BOX \\pipe wxMAXIMIZE\_BOX \\pipe wxRESIZE\_BORDER \\pipe wxSYSTEM\_MENU \\pipe wxCAPTION \\pipe wxCLOSE\_BOX \\pipe wxCLIP\_CHILDREN</b>
    .
   </style>
   <style name="wxICONIZE">
    Display the frame iconized (minimized). Windows only.
   </style>
   <style name="wxCAPTION">
    Puts a caption on the frame.
   </style>
   <style name="wxMINIMIZE">
    Identical to
    <b> wxICONIZE</b>
    . Windows only.
   </style>
   <style name="wxMINIMIZE\_BOX">
    Displays a minimize box on the frame.
   </style>
   <style name="wxMAXIMIZE">
    Displays the frame maximized. Windows only.
   </style>
   <style name="wxMAXIMIZE\_BOX">
    Displays a maximize box on the frame.
   </style>
   <style name="wxCLOSE\_BOX">
    Displays a close box on the frame.
   </style>
   <style name="wxSTAY\_ON\_TOP">
    wxSTAY\_ON\_TOP
   </style>
   <style name="wxSYSTEM\_MENU">
    Displays a system menu.
   </style>
   <style name="wxRESIZE\_BORDER">
    Displays a resizeable border around the window.
   </style>
   <style name="wxFRAME\_TOOL\_WINDOW">
    wxFRAME\_TOOL\_WINDOW
   </style>
   <style name="wxFRAME\_NO\_TASKBAR">
    wxFRAME\_NO\_TASKBAR
   </style>
   <style name="wxFRAME\_FLOAT\_ON\_PARENT">
    wxFRAME\_FLOAT\_ON\_PARENT
   </style>
   <style name="wxFRAME\_EX\_CONTEXTHELP">
    wxFRAME\_EX\_CONTEXTHELP
   </style>
   <style name="wxFRAME\_SHAPED">
    wxFRAME\_SHAPED
   </style>
   <style name="wxFRAME\_EX\_METAL">
    On Mac OS X, frames with this style will be shown with a metallic look. This
    is an
    <i> extra</i>
    style.
   </style>
  </windowstyles>
  <seealso>
   <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
   <ref target="wxmdichildframe">wxMDIChildFrame</ref>
   ,
   <ref target="wxminiframe">wxMiniFrame</ref>
   <ref target="wxdialog">wxDialog</ref>
  </seealso>
  <members>
   <member class="wxFrame" name="wxFrame">
    <function type="" name="wxFrame">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxFrame">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       The window parent. This may be NULL. If it is non-NULL, the frame will
       always be displayed on top of the parent window on Windows.
      </parameter>
      <parameter type="wxWindowID " name="id">
       The window identifier. It may take a value of -1 to indicate a default
       value.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The caption to be displayed on the frame's title bar.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       The window position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxWidgets, depending on
       platform.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       The window size. A value of (-1, -1) indicates a default size, chosen by
       either the windowing system or wxWidgets, depending on platform.
      </parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE">
       The window style. See
       <ref target="wxframe">wxFrame</ref>
       .
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;">
       The name of the window. This parameter is used to associate a name with
       the item, allowing the application user to set Motif resource values for
       individual windows.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreate">wxFrame::Create</ref>
     </seealso>
     <remarks>
      <p>
       For Motif, MWM (the Motif Window Manager) should be running for any
       window styles to work (otherwise all styles take effect).
      </p>
     </remarks>
     <description>
      <p>
       Constructor, creating the window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="~wxFrame">
    <function type="void" name="~wxFrame">
     <description>
      <p>
       Destructor. Destroys all child windows and menu bar if present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="Centre">
    <function type="void" name="Centre">
     <parameters>
      <parameter type="int " name="direction" value="wxBOTH">
       The parameter may be
       <tt> wxHORIZONTAL</tt>
       ,
       <tt> wxVERTICAL</tt>
       or
       <tt> wxBOTH</tt>
       .
      </parameter>
     </parameters>
     <description>
      <p>
       Centres the frame on the display.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Used in two-step frame construction. See
       <ref target="wxframector">wxFrame::wxFrame</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="CreateStatusBar">
    <function type="virtual wxStatusBar&#42;" name="CreateStatusBar">
     <parameters>
      <parameter type="int " name="number" value="1">
       The number of fields to create. Specify a value greater than 1 to create
       a multi-field status bar.
      </parameter>
      <parameter type="long " name="style" value="0">
       The status bar style. See
       <ref target="wxstatusbar">wxStatusBar</ref>
       for a list of valid styles.
      </parameter>
      <parameter type="wxWindowID " name="id" value="-1">
       The status bar window identifier. If -1, an identifier will be chosen by
       wxWidgets.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;statusBar&quot;">
       The status bar window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframesetstatustext">wxFrame::SetStatusText</ref>
      ,
      <ref target="wxframeoncreatestatusbar">wxFrame::OnCreateStatusBar</ref>
      ,
      <ref target="wxframegetstatusbar">wxFrame::GetStatusBar</ref>
     </seealso>
     <remarks>
      <p>
       The width of the status bar is the whole width of the frame (adjusted
       automatically when resizing), and the height and text size are chosen by
       the host windowing system.
      </p>
      <p>
       By default, the status bar is an instance of wxStatusBar. To use a
       different class, override
       <ref target="wxframeoncreatestatusbar">wxFrame::OnCreateStatusBar</ref>
       .
      </p>
      <p>
       Note that you can put controls and other windows on the status bar if you
       wish.
      </p>
     </remarks>
     <returnvalue>
      A pointer to the status bar if it was created successfully, NULL
      otherwise.
     </returnvalue>
     <description>
      <p>
       Creates a status bar at the bottom of the frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="CreateToolBar">
    <function type="virtual wxToolBar&#42;" name="CreateToolBar">
     <parameters>
      <parameter type="long " name="style" value="wxNO\_BORDER">
       The toolbar style. See
       <ref target="wxtoolbar">wxToolBar</ref>
       for a list of valid styles.
      </parameter>
      <parameter type="wxWindowID " name="id" value="-1">
       The toolbar window identifier. If -1, an identifier will be chosen by
       wxWidgets.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;toolBar&quot;">
       The toolbar window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreatestatusbar">wxFrame::CreateStatusBar</ref>
      ,
      <ref target="wxframeoncreatetoolbar">wxFrame::OnCreateToolBar</ref>
      ,
      <ref target="wxframesettoolbar">wxFrame::SetToolBar</ref>
      ,
      <ref target="wxframegettoolbar">wxFrame::GetToolBar</ref>
     </seealso>
     <remarks>
      <p>
       By default, the toolbar is an instance of wxToolBar (which is defined to
       be a suitable toolbar class on each platform, such as wxToolBar95). To
       use a different class, override
       <ref target="wxframeoncreatetoolbar">wxFrame::OnCreateToolBar</ref>
       .
      </p>
      <p>
       When a toolbar has been created with this function, or made known to the
       frame with
       <ref target="wxframesettoolbar">wxFrame::SetToolBar</ref>
       , the frame will manage the toolbar position and adjust the return value
       from
       <ref target="wxwindowgetclientsize">wxWindow::GetClientSize</ref>
       to reflect the available space for application windows.
      </p>
      <p>
       Under Pocket PC, you should
       <i> always</i>
       use this function for creating the toolbar to be managed by the frame, so
       that wxWidgets can use a combined menubar and toolbar. Where you manage
       your own toolbars, create a wxToolBar as usual.
      </p>
     </remarks>
     <returnvalue>
      A pointer to the toolbar if it was created successfully, NULL otherwise.
     </returnvalue>
     <description>
      <p>
       Creates a toolbar at the top or left of the frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="GetClientAreaOrigin">
    <function type="wxPoint" name="GetClientAreaOrigin" suffix="const">
     <description>
      <p>
       Returns the origin of the frame client area (in client coordinates). It
       may be different from (0, 0) if the frame has a toolbar.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="GetMenuBar">
    <function type="wxMenuBar&#42;" name="GetMenuBar" suffix="const">
     <seealso>
      <ref target="wxframesetmenubar">wxFrame::SetMenuBar</ref>
      <ref target="wxmenubar">wxMenuBar</ref>
      <ref target="wxmenu">wxMenu</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="GetStatusBar">
    <function type="wxStatusBar&#42;" name="GetStatusBar" suffix="const">
     <seealso>
      <ref target="wxframecreatestatusbar">wxFrame::CreateStatusBar</ref>
      <ref target="wxstatusbar">wxStatusBar</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="GetStatusBarPane">
    <function type="int" name="GetStatusBarPane">
     <seealso>
      <ref target="wxframesetstatusbarpane">wxFrame::SetStatusBarPane</ref>
     </seealso>
     <description>
      <p>
       Returns the status bar pane used to display menu and toolbar help.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="GetToolBar">
    <function type="wxToolBar&#42;" name="GetToolBar" suffix="const">
     <seealso>
      <ref target="wxframecreatetoolbar">wxFrame::CreateToolBar</ref>
      <ref target="wxtoolbar">wxToolBar</ref>
      ,
      <ref target="wxframesettoolbar">wxFrame::SetToolBar</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="OnCreateStatusBar">
    <function type="virtual wxStatusBar&#42;" name="OnCreateStatusBar">
     <parameters>
      <parameter type="int " name="number">
       The number of fields to create.
      </parameter>
      <parameter type="long " name="style">
       The window style. See
       <ref target="wxstatusbar">wxStatusBar</ref>
       for a list of valid styles.
      </parameter>
      <parameter type="wxWindowID " name="id">
       The window identifier. If -1, an identifier will be chosen by wxWidgets.
      </parameter>
      <parameter type="const wxString&amp; " name="name">
       The window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreatestatusbar">wxFrame::CreateStatusBar</ref>
      <ref target="wxstatusbar">wxStatusBar</ref>
      .
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="OnCreateToolBar">
    <function type="virtual wxToolBar&#42;" name="OnCreateToolBar">
     <parameters>
      <parameter type="long " name="style">
       The toolbar style. See
       <ref target="wxtoolbar">wxToolBar</ref>
       for a list of valid styles.
      </parameter>
      <parameter type="wxWindowID " name="id">
       The toolbar window identifier. If -1, an identifier will be chosen by
       wxWidgets.
      </parameter>
      <parameter type="const wxString&amp; " name="name">
       The toolbar window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreatetoolbar">wxFrame::CreateToolBar</ref>
      <ref target="wxtoolbar">wxToolBar</ref>
      .
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="ProcessCommand">
    <function type="void" name="ProcessCommand">
     <parameters>
      <parameter type="int " name="id">
       The identifier for a menu item.
      </parameter>
     </parameters>
     <description>
      <p>
       Simulate a menu command.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="SendSizeEvent">
    <function type="void" name="SendSizeEvent">
     <description>
      <p>
       This function sends a dummy
       <ref target="wxsizeevent">size event</ref>
       to the frame forcing it to reevaluate its children positions. It is
       sometimes useful to call this function after adding or deleting a
       children after the frame creation or if a child size changes.
      </p>
      <p>
       Note that if the frame is using either sizers or constraints for the
       children layout, it is enough to call
       <ref target="wxwindowlayout">Layout()</ref>
       directly and this function should not be used in this case.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="SetMenuBar">
    <function type="void" name="SetMenuBar">
     <parameters>
      <parameter type="wxMenuBar&#42; " name="menuBar">
       The menu bar to associate with the frame.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframegetmenubar">wxFrame::GetMenuBar</ref>
      <ref target="wxmenubar">wxMenuBar</ref>
      <ref target="wxmenu">wxMenu</ref>
      .
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="SetStatusBar">
    <function type="void" name="SetStatusBar">
     <parameters>
      <parameter type="wxStatusBar&#42; " name="statusBar"></parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreatestatusbar">wxFrame::CreateStatusBar</ref>
      <ref target="wxstatusbar">wxStatusBar</ref>
      ,
      <ref target="wxframegetstatusbar">wxFrame::GetStatusBar</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="SetStatusBarPane">
    <function type="void" name="SetStatusBarPane">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Set the status bar pane used to display menu and toolbar help. Using -1
       disables help display.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="SetStatusText">
    <function type="virtual void" name="SetStatusText">
     <parameters>
      <parameter type="const wxString&amp;  " name="text">
       The text for the status field.
      </parameter>
      <parameter type="int " name="number" value="0">
       The status field (starting from zero).
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreatestatusbar">wxFrame::CreateStatusBar</ref>
      <ref target="wxstatusbar">wxStatusBar</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxFrame" name="SetStatusWidths">
    <function type="virtual void" name="SetStatusWidths">
     <parameters>
      <parameter type="int " name="n">
       The number of fields in the status bar. It must be the same used in
       <ref target="wxframecreatestatusbar">CreateStatusBar</ref>
       .
      </parameter>
      <parameter type="int &#42;" name="widths">
       Must contain an array of
       <i> n</i>
       integers, each of which is a status field width in pixels. A value of -1
       indicates that the field is variable width; at least one field must be
       -1. You should delete this array after calling
       <b> SetStatusWidths</b>
       .
      </parameter>
     </parameters>
     <remarks>
      <p>
       The widths of the variable fields are calculated from the total width of
       all fields, minus the sum of widths of the non-variable fields, divided
       by the number of variable fields.
      </p>
     </remarks>
     <description>
      <p>
       Sets the widths of the fields in the status bar.
      </p>
     </description>
    </function>
   </member>
   <member class="wxFrame" name="SetToolBar">
    <function type="void" name="SetToolBar">
     <parameters>
      <parameter type="wxToolBar&#42; " name="toolBar"></parameter>
     </parameters>
     <seealso>
      <ref target="wxframecreatetoolbar">wxFrame::CreateToolBar</ref>
      <ref target="wxtoolbar">wxToolBar</ref>
      ,
      <ref target="wxframegettoolbar">wxFrame::GetToolBar</ref>
     </seealso>
     <description></description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGBPosition">
  <description>
   <p class="classdesc">
    This class represents the position of an item in a virtual grid of rows and
    columns managed by a
    <ref target="wxgridbagsizer">wxGridBagSizer</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/gbsizer.h"/>
  </includes>
  <members>
   <member class="wxGBPosition" name="wxGBPosition">
    <function type="" name="wxGBPosition">
     <description></description>
    </function>
    <function type="" name="wxGBPosition">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Construct a new wxGBPosition, optionally setting the row and column. The
       default is (0,0).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBPosition" name="GetCol">
    <function type="int" name="GetCol" suffix="const">
     <description>
      <p>
       Get the current column value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBPosition" name="GetRow">
    <function type="int" name="GetRow" suffix="const">
     <description>
      <p>
       Get the current row value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBPosition" name="SetCol">
    <function type="void" name="SetCol">
     <parameters>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Set a new column value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBPosition" name="SetRow">
    <function type="void" name="SetRow">
     <parameters>
      <parameter type="int " name="row"></parameter>
     </parameters>
     <description>
      <p>
       Set a new row value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBPosition" name="operator!">
    <function type="bool" name="operator!" suffix="const">
     <parameters>
      <parameter type="const wxGBPosition&amp; " name="p"></parameter>
     </parameters>
     <description>
      <p>
       Is the wxGBPosition valid? (An invalid wxGBPosition is (-1,-1). )
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBPosition" name="operator==">
    <function type="bool operator" name="operator==" suffix="const">
     <parameters>
      <parameter type="const wxGBPosition&amp; " name="p"></parameter>
     </parameters>
     <description>
      <p>
       Compare equality of two wxGBPositions.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxGBSizerItem">
  <description>
   <p class="classdesc">
    The wxGBSizerItem class is used by the
    <ref target="wxgridbagsizer">wxGridBagSizer</ref>
    for tracking the items in the sizer. It adds grid position and spanning
    information to the normal
    <ref target="wxsizeritem">wxSizerItem</ref>
    by adding
    <ref target="wxgbposition">wxGBPosition</ref>
    and
    <ref target="wxgbspan">wxGBSpan</ref>
    attrbibutes. Most of the time you will not need to use a wxGBSizerItem
    directly in your code, but there are a couple of cases where it is handy.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxSizerItem">wxSizerItem</ref>
  </parents>
  <includes>
   <header name="wx/gbsizer.h"/>
  </includes>
  <members>
   <member class="wxGBSizerItem" name="wxGBSizerItem">
    <function type="" name="wxGBSizerItem">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
      <parameter type="int " name="flag"></parameter>
      <parameter type="int " name="border"></parameter>
      <parameter type="wxObject&#42; " name="userData"></parameter>
     </parameters>
     <description>
      <p>
       Construct a sizer item for tracking a spacer.
      </p>
     </description>
    </function>
    <function type="" name="wxGBSizerItem">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
      <parameter type="int " name="flag"></parameter>
      <parameter type="int " name="border"></parameter>
      <parameter type="wxObject&#42; " name="userData"></parameter>
     </parameters>
     <description>
      <p>
       Construct a sizer item for tracking a window.
      </p>
     </description>
    </function>
    <function type="" name="wxGBSizerItem">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
      <parameter type="int " name="flag"></parameter>
      <parameter type="int " name="border"></parameter>
      <parameter type="wxObject&#42; " name="userData"></parameter>
     </parameters>
     <description>
      <p>
       Construct a sizer item for tracking a subsizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSizerItem" name="GetEndPos">
    <function type="void" name="GetEndPos">
     <parameters>
      <parameter type="int&amp; " name="row"></parameter>
      <parameter type="int&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Get the row and column of the endpoint of this item
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSizerItem" name="GetPos">
    <function type="wxGBPosition" name="GetPos" suffix="const">
     <description></description>
    </function>
    <function type="void" name="GetPos" suffix="const">
     <parameters>
      <parameter type="int&amp; " name="row"></parameter>
      <parameter type="int&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Get the grid position of the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSizerItem" name="GetSpan">
    <function type="wxGBSpan" name="GetSpan" suffix="const">
     <description></description>
    </function>
    <function type="void" name="GetSpan" suffix="const">
     <parameters>
      <parameter type="int&amp; " name="rowspan"></parameter>
      <parameter type="int&amp; " name="colspan"></parameter>
     </parameters>
     <description>
      <p>
       Get the row and column spanning of the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSizerItem" name="Intersects">
    <function type="bool" name="Intersects">
     <parameters>
      <parameter type="const wxGBSizerItem&amp; " name="other"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if this item and the other item instersect
      </p>
     </description>
    </function>
    <function type="bool" name="Intersects">
     <parameters>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the given pos/span would intersect with this item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSizerItem" name="SetPos">
    <function type="bool" name="SetPos">
     <parameters>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       If the item is already a member of a sizer then first ensure that there
       is no other item that would intersect with this one at the new position,
       then set the new position. Returns true if the change is successful and
       after the next Layout the item will be moved.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSizerItem" name="SetSpan">
    <function type="bool" name="SetSpan">
     <parameters>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
     </parameters>
     <description>
      <p>
       If the item is already a member of a sizer then first ensure that there
       is no other item that would intersect with this one with its new spanning
       size, then set the new spanning. Returns true if the change is successful
       and after the next Layout the item will be resized.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxGBSpan">
  <description>
   <p class="classdesc">
    This class is used to hold the row and column spanning attributes of items
    in a
    <ref target="wxgridbagsizer">wxGridBagSizer</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/gbsizer.h"/>
  </includes>
  <members>
   <member class="wxGBSpan" name="wxGBSpan">
    <function type="" name="wxGBSpan">
     <description></description>
    </function>
    <function type="" name="wxGBSpan">
     <parameters>
      <parameter type="int " name="rowspan"></parameter>
      <parameter type="int " name="colspan"></parameter>
     </parameters>
     <description>
      <p>
       Construct a new wxGBSpan, optionally setting the rowspan and colspan. The
       default is (1,1). (Meaning that the item occupies one cell in each
       direction.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSpan" name="GetColspan">
    <function type="int" name="GetColspan" suffix="const">
     <description>
      <p>
       Get the current colspan value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSpan" name="GetRowspan">
    <function type="int" name="GetRowspan" suffix="const">
     <description>
      <p>
       Get the current rowspan value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSpan" name="SetColspan">
    <function type="void" name="SetColspan">
     <parameters>
      <parameter type="int " name="colspan"></parameter>
     </parameters>
     <description>
      <p>
       Set a new colspan value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSpan" name="SetRowspan">
    <function type="void" name="SetRowspan">
     <parameters>
      <parameter type="int " name="rowspan"></parameter>
     </parameters>
     <description>
      <p>
       Set a new rowspan value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSpan" name="operator!">
    <function type="bool" name="operator!" suffix="const">
     <parameters>
      <parameter type="const wxGBSpan&amp; " name="o"></parameter>
     </parameters>
     <description>
      <p>
       Is the wxGBSpan valid? (An invalid wxGBSpan is (-1,-1). )
      </p>
     </description>
    </function>
   </member>
   <member class="wxGBSpan" name="operator==">
    <function type="bool operator" name="operator==" suffix="const">
     <parameters>
      <parameter type="const wxGBSpan&amp; " name="o"></parameter>
     </parameters>
     <description>
      <p>
       Compare equality of two wxGBSpans.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxGDIObject">
  <description>
   <p class="classdesc">
    This class allows platforms to implement functionality to optimise GDI
    objects, such as wxPen, wxBrush and wxFont. On Windows, the underling GDI
    objects are a scarce resource and are cleaned up when a usage count goes to
    zero. On some platforms this class may not have any special functionality.
   </p>
   <p class="classdesc">
    Since the functionality of this class is platform-specific, it is not
    documented here in detail.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/gdiobj.h"/>
  </includes>
  <seealso>
   <ref target="wxpen">wxPen</ref>
   <ref target="wxbrush">wxBrush</ref>
   <ref target="wxfont">wxFont</ref>
  </seealso>
  <members>
   <member class="wxGDIObject" name="wxGDIObject">
    <function type="" name="wxGDIObject">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGLCanvas" needdefine="wxUSE\_GLCANVAS">
  <description>
   <p class="classdesc">
    wxGLCanvas is a class for displaying OpenGL graphics. There are wrappers for
    OpenGL on Windows, and GTK+ and Motif.
   </p>
   <p class="classdesc">
    To use this class, create a wxGLCanvas window, call
    <ref target="wxglcanvassetcurrent">wxGLCanvas::SetCurrent</ref>
    to direct normal OpenGL commands to the window, and then call
    <ref target="wxglcanvasswapbuffers">wxGLCanvas::SwapBuffers</ref>
    to show the OpenGL buffer on the window.
   </p>
   <p class="classdesc">
    To set up the attributes for the rendering context (number of bits for the
    depth buffer, number of bits for the stencil buffer and so on) you should
    set up the correct values of the
    <i> attribList</i>
    parameter. The values that should be set up and their meanings will be
    described below.
   </p>
   <p class="classdesc">
    To switch wxGLCanvas support on under Windows, edit setup.h and set
    <tt> wxUSE\_GLCANVAS</tt>
    to 1. You may also need to have to add
    <tt> opengl32.lib</tt>
    to the list of libraries your program is linked with. On Unix, pass
    <tt> --with-opengl</tt>
    to configure to compile using OpenGL or Mesa.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Canvas that you can render OpenGL calls to.</shortdesc>
  <parents>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/glcanvas.h"/>
  </includes>
  <windowstyles></windowstyles>
  <constants>

The generic GL implementation doesn't support many of these options, such as stereo, auxiliary buffers,
alpha channel, and accum buffer. Other implementations may support them.


<table>
    <tr>
     <td>WX\_GL\_RGBA</td>
     <td>Use true colour</td>
    </tr>
    <tr>
     <td>WX\_GL\_BUFFER\_SIZE</td>
     <td>Bits for buffer if not WX\_GL\_RGBA</td>
    </tr>
    <tr>
     <td>WX\_GL\_LEVEL</td>
     <td>0 for main buffer, &gt;0 for overlay, &lt;0 for underlay</td>
    </tr>
    <tr>
     <td>WX\_GL\_DOUBLEBUFFER</td>
     <td>Use doublebuffer</td>
    </tr>
    <tr>
     <td>WX\_GL\_STEREO</td>
     <td>Use stereoscopic display</td>
    </tr>
    <tr>
     <td>WX\_GL\_AUX\_BUFFERS</td>
     <td>Number of auxiliary buffers (not all implementation support this option)</td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_RED</td>
     <td>Use red buffer with most bits (&gt; MIN\_RED bits)</td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_GREEN</td>
     <td>Use green buffer with most bits (&gt; MIN\_GREEN bits) </td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_BLUE</td>
     <td>Use blue buffer with most bits (&gt; MIN\_BLUE bits) </td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_ALPHA</td>
     <td>Use alpha buffer with most bits (&gt; MIN\_ALPHA bits)</td>
    </tr>
    <tr>
     <td>WX\_GL\_DEPTH\_SIZE</td>
     <td>Bits for Z-buffer (0,16,32)</td>
    </tr>
    <tr>
     <td>WX\_GL\_STENCIL\_SIZE</td>
     <td>Bits for stencil buffer</td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_ACCUM\_RED</td>
     <td>Use red accum buffer with most bits (&gt; MIN\_ACCUM\_RED bits)</td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_ACCUM\_GREEN</td>
     <td>Use green buffer with most bits (&gt; MIN\_ACCUM\_GREEN bits)</td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_ACCUM\_BLUE</td>
     <td>Use blue buffer with most bits (&gt; MIN\_ACCUM\_BLUE bits)</td>
    </tr>
    <tr>
     <td>WX\_GL\_MIN\_ACCUM\_ALPHA</td>
     <td>Use blue buffer with most bits (&gt; MIN\_ACCUM\_ALPHA bits)</td>
    </tr>
   </table>
  </constants>
  <seealso>
   <ref target="wxglcontext">wxGLContext</ref>
  </seealso>
  <members>
   <member class="wxGLCanvas" name="wxGLCanvas">
    <function type="void" name="wxGLCanvas">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Pointer to a parent window.
      </parameter>
      <parameter type="wxWindowID " name="id" value="-1">
       Window identifier. If -1, will automatically create an identifier.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position. wxDefaultPosition is (-1, -1) which indicates that
       wxWidgets should generate a default position for the window.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets
       should generate a default size for the window. If no suitable size can be
       found, the window will be sized to 20x20 pixels so that the window is
       visible but obviously not correctly sized.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;GLCanvas&quot;">
       Window name.
      </parameter>
      <parameter type="int&#42; " name="attribList" value="0">
       Array of int. With this parameter you can set the device context
       attributes associated to this window. This array is zero-terminated: it
       should be set up with constants described in the table above. If a
       constant should be followed by a value, put it in the next array
       position. For example, the WX\_GL\_DEPTH\_SIZE should be followed by the
       value that indicates the number of bits for the depth buffer, so:
      </parameter>
      <parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette">
       If the window has the palette, it should by pass this value. Note:
       palette and WX\_GL\_RGBA are mutually exclusive.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="wxGLCanvas">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Pointer to a parent window.
      </parameter>
      <parameter type="wxGLCanvas&#42;  " name="sharedCanvas" value="NULL"></parameter>
      <parameter type="wxWindowID " name="id" value="-1">
       Window identifier. If -1, will automatically create an identifier.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position. wxDefaultPosition is (-1, -1) which indicates that
       wxWidgets should generate a default position for the window.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets
       should generate a default size for the window. If no suitable size can be
       found, the window will be sized to 20x20 pixels so that the window is
       visible but obviously not correctly sized.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;GLCanvas&quot;">
       Window name.
      </parameter>
      <parameter type="int&#42; " name="attribList" value="0">
       Array of int. With this parameter you can set the device context
       attributes associated to this window. This array is zero-terminated: it
       should be set up with constants described in the table above. If a
       constant should be followed by a value, put it in the next array
       position. For example, the WX\_GL\_DEPTH\_SIZE should be followed by the
       value that indicates the number of bits for the depth buffer, so:
      </parameter>
      <parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette">
       If the window has the palette, it should by pass this value. Note:
       palette and WX\_GL\_RGBA are mutually exclusive.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="wxGLCanvas">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Pointer to a parent window.
      </parameter>
      <parameter type="wxGLContext&#42;  " name="sharedContext" value="NULL"></parameter>
      <parameter type="wxWindowID " name="id" value="-1">
       Window identifier. If -1, will automatically create an identifier.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position. wxDefaultPosition is (-1, -1) which indicates that
       wxWidgets should generate a default position for the window.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets
       should generate a default size for the window. If no suitable size can be
       found, the window will be sized to 20x20 pixels so that the window is
       visible but obviously not correctly sized.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="&quot;GLCanvas&quot;">
       Window name.
      </parameter>
      <parameter type="int&#42; " name="attribList" value="0">
       Array of int. With this parameter you can set the device context
       attributes associated to this window. This array is zero-terminated: it
       should be set up with constants described in the table above. If a
       constant should be followed by a value, put it in the next array
       position. For example, the WX\_GL\_DEPTH\_SIZE should be followed by the
       value that indicates the number of bits for the depth buffer, so:
      </parameter>
      <parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette">
       If the window has the palette, it should by pass this value. Note:
       palette and WX\_GL\_RGBA are mutually exclusive.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
      <pre>
attribList[index]= WX\_GL\_DEPTH\_SIZE;
attribList[index+1]=32;
and so on.
</pre>
     </description>
    </function>
   </member>
   <member class="wxGLCanvas" name="GetContext">
    <function type="wxGLContext&#42;" name="GetContext">
     <description>
      <p>
       Obtains the context that is associated with this canvas.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGLCanvas" name="SetCurrent">
    <function type="void" name="SetCurrent">
     <description>
      <p>
       Sets this canvas as the current recipient of OpenGL calls. Each canvas
       contains an OpenGL device context that has been created during the
       creation of this window. So this call sets the current device context as
       the target device context for OpenGL operations.
      </p>
      <p>
       Note that this function may only be called after the window has been
       shown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGLCanvas" name="SetColour">
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="const char&#42; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current colour for this window, using the wxWidgets colour
       database to find a named colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGLCanvas" name="SwapBuffers">
    <function type="void" name="SwapBuffers">
     <description>
      <p>
       Displays the previous OpenGL commands on the window.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGLContext" needdefine="wxUSE\_GLCANVAS">
  <description>
   <p class="classdesc">
    wxGLContext is a class for sharing OpenGL data resources, such as display
    lists, with another
    <ref target="wxglcanvas">wxGLCanvas</ref>
    .
   </p>
   <p class="classdesc">
    By sharing data resources, you can prevent code duplication, save memory,
    and ultimately help optimize your application.
   </p>
   <p class="classdesc">
    As an example, let's say you want to draw a ball on two different windows
    that is identical on each one, but the dimensions of one is slightly
    different than the other one. What you would do is create your display lists
    in the shared context, and then translate each ball on the individual
    canvas's context. This way the actual data for the ball is only created once
    (in the shared context), and you won't have to duplicate your development
    efforts on the second ball.
   </p>
   <p class="classdesc">
    Note that some wxGLContext features are extremely platform-specific - its
    best to check your native platform's glcanvas header (on windows
    include/wx/msw/glcanvas.h) to see what features your native platform
    provides.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>Class to ease sharing of OpenGL data resources.</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/glcanvas.h"/>
  </includes>
  <seealso>
   <ref target="wxglcanvas">wxGLCanvas</ref>
  </seealso>
  <members>
   <member class="wxGLContext" name="wxGLContext">
    <function type="void" name="wxGLContext">
     <parameters>
      <parameter type="bool " name="isRGB"></parameter>
      <parameter type="wxGLCanvas&#42; " name="win">
       Canvas to associate this shared context with.
      </parameter>
      <parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="wxGLContext">
     <parameters>
      <parameter type="bool " name="isRGB"></parameter>
      <parameter type="wxGLCanvas&#42; " name="win">
       Canvas to associate this shared context with.
      </parameter>
      <parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette"></parameter>
      <parameter type="const wxGLContext&#42; " name="other">
       Context to share data resources with.
      </parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGLContext" name="GetWindow">
    <function type="const wxWindow&#42;" name="GetWindow">
     <description>
      <p>
       Obtains the window that is associated with this context.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGLContext" name="SetCurrent">
    <function type="void" name="SetCurrent">
     <description>
      <p>
       Sets this context as the current recipient of OpenGL calls. Each context
       contains an OpenGL device context that has been created during the
       creation of this window. So this call sets the current device context as
       the target device context for OpenGL operations.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGLContext" name="SetColour">
    <function type="void" name="SetColour">
     <parameters>
      <parameter type="const char&#42; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current colour for this context, using the wxWidgets colour
       database to find a named colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGLContext" name="SwapBuffers">
    <function type="void" name="SwapBuffers">
     <description>
      <p>
       Displays the previous OpenGL commands on the associated window.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxGauge">
  <description>
   <p class="classdesc">
    A gauge is a horizontal or vertical bar which shows a quantity (often time).
    There are no user commands for the gauge.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A control to represent a varying quantity, such as time remaining</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/gauge.h"/>
  </includes>
  <windowstyles>
   <style name="wxGA\_HORIZONTAL">
    Creates a horizontal gauge.
   </style>
   <style name="wxGA\_VERTICAL">
    Creates a vertical gauge.
   </style>
   <style name="wxGA\_SMOOTH">
    Creates smooth progress bar with one pixel wide update step (not supported
    by all platforms).
   </style>
  </windowstyles>
  <events></events>
  <seealso>
   <ref target="wxslider">wxSlider</ref>
   <ref target="wxscrollbar">wxScrollBar</ref>
  </seealso>
  <members>
   <member class="wxGauge" name="wxGauge">
    <function type="" name="wxGauge">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGauge">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Window parent.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier.
      </parameter>
      <parameter type="int " name="range">
       Integer range (maximum value) of the gauge.
      </parameter>
      <parameter type="const wxPoint&amp;  " name="pos" value="wxDefaultPosition">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Window size.
      </parameter>
      <parameter type="long " name="style" value="wxGA\_HORIZONTAL">
       Gauge style. See
       <ref target="wxgauge">wxGauge</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``gauge&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxgaugecreate">wxGauge::Create</ref>
     </seealso>
     <description>
      <p>
       Constructor, creating and showing a gauge.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="~wxGauge">
    <function type="" name="~wxGauge">
     <description>
      <p>
       Destructor, destroying the gauge.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="int " name="range"></parameter>
      <parameter type="const wxPoint&amp;  " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxGA\_HORIZONTAL"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``gauge&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Creates the gauge for two-step construction. See
       <ref target="wxgaugector">wxGauge::wxGauge</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="GetBezelFace">
    <function type="int" name="GetBezelFace" suffix="const">
     <seealso>
      <ref target="wxgaugesetbezelface">wxGauge::SetBezelFace</ref>
     </seealso>
     <remarks>
      <p>
       This method is not implemented (returns 0) for most platforms.
      </p>
     </remarks>
     <description>
      <p>
       Returns the width of the 3D bezel face.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="GetRange">
    <function type="int" name="GetRange" suffix="const">
     <seealso>
      <ref target="wxgaugesetrange">wxGauge::SetRange</ref>
     </seealso>
     <remarks>
      <p>
       This method is not implemented (doesn't do anything) for most platforms.
      </p>
     </remarks>
     <description>
      <p>
       Returns the maximum position of the gauge.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="GetShadowWidth">
    <function type="int" name="GetShadowWidth" suffix="const">
     <seealso>
      <ref target="wxgaugesetshadowwidth">wxGauge::SetShadowWidth</ref>
     </seealso>
     <remarks>
      <p>
       This method is not implemented (returns 0) for most platforms.
      </p>
     </remarks>
     <description>
      <p>
       Returns the 3D shadow margin width.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="GetValue">
    <function type="int" name="GetValue" suffix="const">
     <seealso>
      <ref target="wxgaugesetvalue">wxGauge::SetValue</ref>
     </seealso>
     <description>
      <p>
       Returns the current position of the gauge.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="IsVertical">
    <function type="bool" name="IsVertical" suffix="const">
     <description>
      <p>
       Returns true if the gauge is vertical (has
       <tt>wxGA\_VERTICAL</tt>
       style) and false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="SetBezelFace">
    <function type="void" name="SetBezelFace">
     <parameters>
      <parameter type="int " name="width"></parameter>
     </parameters>
     <seealso>
      <ref target="wxgaugegetbezelface">wxGauge::GetBezelFace</ref>
     </seealso>
     <remarks>
      <p>
       This method is not implemented (doesn't do anything) for most platforms.
      </p>
     </remarks>
     <description>
      <p>
       Sets the 3D bezel face width.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="SetRange">
    <function type="void" name="SetRange">
     <parameters>
      <parameter type="int " name="range"></parameter>
     </parameters>
     <seealso>
      <ref target="wxgaugegetrange">wxGauge::GetRange</ref>
     </seealso>
     <description>
      <p>
       Sets the range (maximum value) of the gauge.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="SetShadowWidth">
    <function type="void" name="SetShadowWidth">
     <parameters>
      <parameter type="int " name="width"></parameter>
     </parameters>
     <remarks>
      <p>
       This method is not implemented (doesn't do anything) for most platforms.
      </p>
     </remarks>
     <description>
      <p>
       Sets the 3D shadow width.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGauge" name="SetValue">
    <function type="void" name="SetValue">
     <parameters>
      <parameter type="int " name="pos">
       Position for the gauge level.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxgaugegetvalue">wxGauge::GetValue</ref>
     </seealso>
     <description>
      <p>
       Sets the position of the gauge.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGenericDirCtrl">
  <description>
   <p class="classdesc">
    This control can be used to place a directory listing (with optional files)
    on an arbitrary window.
   </p>
   <p class="classdesc">
    The control contains a
    <ref target="wxtreectrl">wxTreeCtrl</ref>
    window representing the directory hierarchy, and optionally, a
    <ref target="wxchoice">wxChoice</ref>
    window containing a list of filters.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A control for displaying a directory tree</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dirctrl.h"/>
  </includes>
  <windowstyles></windowstyles>
  <structs></structs>
  <members>
   <member class="wxGenericDirCtrl" name="wxGenericDirCtrl">
    <function type="" name="wxGenericDirCtrl">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGenericDirCtrl">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window.
      </parameter>
      <parameter type="const wxWindowID " name="id" value="-1">
       Window identifier.
      </parameter>
      <parameter type="const wxString&amp; " name="dir" value="wxDirDialogDefaultFolderStr">
       Initial folder.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Size.
      </parameter>
      <parameter type="long " name="style" value="wxDIRCTRL\_3D\_INTERNAL|wxSUNKEN\_BORDER">
       Window style. Please see
       <ref target="wxgenericdirctrl">wxGenericDirCtrl</ref>
       for a list of possible styles.
      </parameter>
      <parameter type="const wxString&amp; " name="filter" value="wxEmptyString">
       A filter string, using the same syntax as that for
       <ref target="wxfiledialog">wxFileDialog</ref>
       . This may be empty if filters are not being used. Example: ``All files
       (&#42;.&#42;)|&#42;.&#42;|JPEG files (&#42;.jpg)|&#42;.jpg&quot;
      </parameter>
      <parameter type="int " name="defaultFilter" value="0">
       The zero-indexed default filter setting.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="wxTreeCtrlNameStr">
       The window name.
      </parameter>
     </parameters>
     <description>
      <p>
       Main constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="~wxGenericDirCtrl">
    <function type="" name="~wxGenericDirCtrl">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="const wxWindowID " name="id" value="-1"></parameter>
      <parameter type="const wxString&amp; " name="dir" value="wxDirDialogDefaultFolderStr"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDIRCTRL\_3D\_INTERNAL|wxSUNKEN\_BORDER"></parameter>
      <parameter type="const wxString&amp; " name="filter" value="wxEmptyString"></parameter>
      <parameter type="int " name="defaultFilter" value="0"></parameter>
      <parameter type="const wxString&amp; " name="name" value="wxTreeCtrlNameStr"></parameter>
     </parameters>
     <description>
      <p>
       Create function for two-step construction. See
       <ref target="wxgenericdirctrlwxgenericdirctrl">wxGenericDirCtrl::wxGenericDirCtrl</ref>
       for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="Init">
    <function type="void" name="Init">
     <description>
      <p>
       Initializes variables.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="CollapseTree">
    <function type="void" name="CollapseTree">
     <description>
      <p>
       Collapses the entire tree.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="ExpandPath">
    <function type="bool" name="ExpandPath">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Tries to expand as much of the given path as possible, so that the
       filename or directory is visible in the tree control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetDefaultPath">
    <function type="wxString" name="GetDefaultPath" suffix="const">
     <description>
      <p>
       Gets the default path.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetPath">
    <function type="wxString" name="GetPath" suffix="const">
     <description>
      <p>
       Gets the currently-selected directory or filename.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetFilePath">
    <function type="wxString" name="GetFilePath" suffix="const">
     <description>
      <p>
       Gets selected filename path only (else empty string).
      </p>
      <p>
       This function doesn't count a directory as a selection.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetFilter">
    <function type="wxString" name="GetFilter" suffix="const">
     <description>
      <p>
       Returns the filter string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetFilterIndex">
    <function type="int" name="GetFilterIndex" suffix="const">
     <description>
      <p>
       Returns the current filter index (zero-based).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetFilterListCtrl">
    <function type="wxDirFilterListCtrl&#42;" name="GetFilterListCtrl" suffix="const">
     <description>
      <p>
       Returns a pointer to the filter list control (if present).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetRootId">
    <function type="wxTreeItemId" name="GetRootId">
     <description>
      <p>
       Returns the root id for the tree control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="GetTreeCtrl">
    <function type="wxTreeCtrl&#42;" name="GetTreeCtrl" suffix="const">
     <description>
      <p>
       Returns a pointer to the tree control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="ReCreateTree">
    <function type="void" name="ReCreateTree">
     <description>
      <p>
       Collapse and expand the tree, thus re-creating it from scratch. May be
       used to update the displayed directory content.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="SetDefaultPath">
    <function type="void" name="SetDefaultPath">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Sets the default path.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="SetFilter">
    <function type="void" name="SetFilter">
     <parameters>
      <parameter type="const wxString&amp; " name="filter"></parameter>
     </parameters>
     <description>
      <p>
       Sets the filter string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="SetFilterIndex">
    <function type="void" name="SetFilterIndex">
     <parameters>
      <parameter type="int " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current filter index (zero-based).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericDirCtrl" name="SetPath">
    <function type="void" name="SetPath">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Sets the current path.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGenericValidator">
  <description>
   <p class="classdesc">
    wxGenericValidator performs data transfer (but not validation or filtering)
    for the following basic controls: wxButton, wxCheckBox, wxListBox,
    wxStaticText, wxRadioButton, wxRadioBox, wxChoice, wxComboBox, wxGauge,
    wxSlider, wxScrollBar, wxSpinButton, wxTextCtrl, wxCheckListBox.
   </p>
   <p class="classdesc">
    It checks the type of the window and uses an appropriate type for that
    window. For example, wxButton and wxTextCtrl transfer data to and from a
    wxString variable; wxListBox uses a wxArrayInt; wxCheckBox uses a bool.
   </p>
   <p class="classdesc">
    For more information, please see
    <ref target="validatoroverview">Validator overview</ref>
    .
   </p>
  </description>
  <category>Validators</category>
  <shortdesc>Generic control validator class</shortdesc>
  <parents>
   <ref type="help" target="wxValidator">wxValidator</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/valgen.h"/>
  </includes>
  <seealso>
   <ref target="validatoroverview">Validator overview</ref>
   <ref target="wxvalidator">wxValidator</ref>
   ,
   <ref target="wxtextvalidator">wxTextValidator</ref>
  </seealso>
  <members>
   <member class="wxGenericValidator" name="wxGenericValidator">
    <function type="" name="wxGenericValidator">
     <parameters>
      <parameter type="const wxGenericValidator&amp; " name="validator">
       Validator to copy.
      </parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGenericValidator">
     <parameters>
      <parameter type="bool&#42; " name="valPtr">
       A pointer to a variable that contains the value. This variable should
       have a lifetime equal to or longer than the validator lifetime (which is
       usually determined by the lifetime of the window).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor taking a bool pointer. This will be used for wxCheckBox and
       wxRadioButton.
      </p>
     </description>
    </function>
    <function type="" name="wxGenericValidator">
     <parameters>
      <parameter type="wxString&#42; " name="valPtr">
       A pointer to a variable that contains the value. This variable should
       have a lifetime equal to or longer than the validator lifetime (which is
       usually determined by the lifetime of the window).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor taking a wxString pointer. This will be used for wxButton,
       wxComboBox, wxStaticText, wxTextCtrl.
      </p>
     </description>
    </function>
    <function type="" name="wxGenericValidator">
     <parameters>
      <parameter type="int&#42; " name="valPtr">
       A pointer to a variable that contains the value. This variable should
       have a lifetime equal to or longer than the validator lifetime (which is
       usually determined by the lifetime of the window).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor taking an integer pointer. This will be used for wxGauge,
       wxScrollBar, wxRadioBox, wxSpinButton, wxChoice.
      </p>
     </description>
    </function>
    <function type="" name="wxGenericValidator">
     <parameters>
      <parameter type="wxArrayInt&#42; " name="valPtr">
       A pointer to a variable that contains the value. This variable should
       have a lifetime equal to or longer than the validator lifetime (which is
       usually determined by the lifetime of the window).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor taking a wxArrayInt pointer. This will be used for wxListBox,
       wxCheckListBox.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericValidator" name="~wxGenericValidator">
    <function type="" name="~wxGenericValidator">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericValidator" name="Clone">
    <function type="virtual wxValidator&#42;" name="Clone" suffix="const">
     <description>
      <p>
       Clones the generic validator using the copy constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericValidator" name="TransferFromWindow">
    <function type="virtual bool" name="TransferFromWindow">
     <parameters></parameters>
     <description>
      <p>
       Transfers the value from the window to the appropriate data type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGenericValidator" name="TransferToWindow">
    <function type="virtual bool" name="TransferToWindow">
     <parameters></parameters>
     <description>
      <p>
       Transfers the value to the window.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGrid">
  <description>
   <p class="classdesc">
    wxGrid and its related classes are used for displaying and editing tabular
    data. They provide a rich set of features for display, editing, and
    interacting with a variety of data sources. For simple applications, and to
    help you get started, wxGrid is the only class you need to refer to
    directly. It will set up default instances of the other classes and manage
    them for you. For more complex applications you can derive your own classes
    for custom grid views, grid data tables, cell editors and renderers. The
    <ref target="gridoverview">wxGrid classes overview</ref>
    has examples of simple and more complex applications, explains the
    relationship between the various grid classes and has a summary of the
    keyboard shortcuts and mouse functions provided by wxGrid.
   </p>
   <p class="classdesc">
    wxGrid has been greatly expanded and redesigned for wxWidgets 2.2 onwards.
    If you have been using the old wxGrid class you will probably want to have a
    look at the
    <ref target="gridoverview">wxGrid classes overview</ref>
    to see how things have changed. The new grid classes are reasonably
    backward-compatible but there are some exceptions. There are also easier
    ways of doing many things compared to the previous implementation.
   </p>
  </description>
  <category>Miscellaneous windows</category>
  <shortdesc>A grid (table) window</shortdesc>
  <parents>
   <ref type="help" target="wxScrolledWindow">wxScrolledWindow</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <windowstyles></windowstyles>
  <members></members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridBagSizer">
  <description>
   <p class="classdesc">
    A
    <ref target="wxsizer">wxSizer</ref>
    that can lay out items in a virtual grid like a
    <ref target="wxflexgridsizer">wxFlexGridSizer</ref>
    but in this case explicit positioning of the items is allowed using
    <ref target="wxgbposition">wxGBPosition</ref>
    , and items can optionally span more than one row and/or column using
    <ref target="wxgbspan">wxGBSpan</ref>
    .
   </p>
  </description>
  <category>Window layout</category>
  <shortdesc>Another grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.</shortdesc>
  <parents>
   <ref type="help" target="wxFlexGridSizer">wxFlexGridSizer</ref>
   <ref type="help" target="wxGridSizer">wxGridSizer</ref>
   <ref type="help" target="wxSizer">wxSizer</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/gbsizer.h"/>
  </includes>
  <members>
   <member class="wxGridBagSizer" name="wxGridBagSizer">
    <function type="" name="wxGridBagSizer">
     <parameters>
      <parameter type="int " name="vgap" value="0"></parameter>
      <parameter type="int " name="hgap" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor, with optional parameters to specify the gap between the rows
       and columns.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="Add">
    <function type="wxSizerItem&#42;" name="Add">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span" value="wxDefaultSpan"></parameter>
      <parameter type="int " name="flag" value="0"></parameter>
      <parameter type="int " name="border" value="0"></parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxSizerItem&#42;" name="Add">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span" value="wxDefaultSpan"></parameter>
      <parameter type="int " name="flag" value="0"></parameter>
      <parameter type="int " name="border" value="0"></parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxSizerItem&#42;" name="Add">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span" value="wxDefaultSpan"></parameter>
      <parameter type="int " name="flag" value="0"></parameter>
      <parameter type="int " name="border" value="0"></parameter>
      <parameter type="wxObject&#42; " name="userData" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxSizerItem&#42;" name="Add">
     <parameters>
      <parameter type="wxGBSizerItem&#42; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       The Add methods return a valid pointer if the item was successfully
       placed at the given position, NULL if something was already there.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="CalcMin">
    <function type="wxSize" name="CalcMin">
     <description>
      <p>
       Called when the managed size of the sizer is needed or when layout needs
       done.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="CheckForIntersection">
    <function type="bool" name="CheckForIntersection">
     <parameters>
      <parameter type="wxGBSizerItem&#42; " name="item"></parameter>
      <parameter type="wxGBSizerItem&#42; " name="excludeItem" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="CheckForIntersection">
     <parameters>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
      <parameter type="wxGBSizerItem&#42; " name="excludeItem" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Look at all items and see if any intersect (or would overlap) the given
       item. Returns true if so, false if there would be no overlap. If an
       excludeItem is given then it will not be checked for intersection, for
       example it may be the item we are checking the position of.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="FindItem">
    <function type="wxGBSizerItem&#42;" name="FindItem">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxGBSizerItem&#42;" name="FindItem">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
     </parameters>
     <description>
      <p>
       Find the sizer item for the given window or subsizer, returns NULL if not
       found. (non-recursive)
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="FindItemAtPoint">
    <function type="wxGBSizerItem&#42;" name="FindItemAtPoint">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
     </parameters>
     <description>
      <p>
       Return the sizer item located at the point given in pt, or NULL if there
       is no item at that point. The (x,y) coordinates in pt correspond to the
       client coordinates of the window using the sizer for layout.
       (non-recursive)
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="FindItemAtPosition">
    <function type="wxGBSizerItem&#42;" name="FindItemAtPosition">
     <parameters>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Return the sizer item for the given grid cell, or NULL if there is no
       item at that position. (non-recursive)
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="FindItemWithData">
    <function type="wxGBSizerItem&#42;" name="FindItemWithData">
     <parameters>
      <parameter type="const wxObject&#42; " name="userData"></parameter>
     </parameters>
     <description>
      <p>
       Return the sizer item that has a matching user data (it only compares
       pointer values) or NULL if not found. (non-recursive)
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="GetCellSize">
    <function type="wxSize" name="GetCellSize" suffix="const">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Get the size of the specified cell, including hgap and vgap. Only valid
       after a Layout.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="GetEmptyCellSize">
    <function type="wxSize" name="GetEmptyCellSize" suffix="const">
     <description>
      <p>
       Get the size used for cells in the grid with no item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="GetItemPosition">
    <function type="wxGBPosition" name="GetItemPosition">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxGBPosition" name="GetItemPosition">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxGBPosition" name="GetItemPosition">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Get the grid position of the specified item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="GetItemSpan">
    <function type="wxGBSpan" name="GetItemSpan">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxGBSpan" name="GetItemSpan">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxGBSpan" name="GetItemSpan">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Get the row/col spanning of the specified item
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="RecalcSizes">
    <function type="void" name="RecalcSizes">
     <description>
      <p>
       Called when the managed size of the sizer is needed or when layout needs
       done.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="SetEmptyCellSize">
    <function type="void" name="SetEmptyCellSize">
     <parameters>
      <parameter type="const wxSize&amp; " name="sz"></parameter>
     </parameters>
     <description>
      <p>
       Set the size used for cells in the grid with no item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="SetItemPosition">
    <function type="bool" name="SetItemPosition">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SetItemPosition">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SetItemPosition">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
      <parameter type="const wxGBPosition&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Set the grid position of the specified item. Returns true on success. If
       the move is not allowed (because an item is already there) then false is
       returned.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridBagSizer" name="SetItemSpan">
    <function type="bool" name="SetItemSpan">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SetItemSpan">
     <parameters>
      <parameter type="wxSizer&#42; " name="sizer"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SetItemSpan">
     <parameters>
      <parameter type="size\_t " name="index"></parameter>
      <parameter type="const wxGBSpan&amp; " name="span"></parameter>
     </parameters>
     <description>
      <p>
       Set the row/col spanning of the specified item. Returns true on success.
       If the move is not allowed (because an item is already there) then false
       is returned.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxGridCellAttr">
  <description>
   <p class="classdesc">
    This class can be used to alter the cells' appearance in the grid by
    changing their colour/font/... from default. An object of this class may be
    returned by wxGridTable::GetAttr().
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <members>
   <member class="wxGridCellAttr" name="wxGridCellAttr">
    <function type="" name="wxGridCellAttr">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGridCellAttr">
     <parameters>
      <parameter type="const wxColour&amp; " name="colText"></parameter>
      <parameter type="const wxColour&amp; " name="colBack"></parameter>
      <parameter type="const wxFont&amp; " name="font"></parameter>
      <parameter type="int " name="hAlign"></parameter>
      <parameter type="int " name="vAlign"></parameter>
     </parameters>
     <description>
      <p>
       VZ: considering the number of members wxGridCellAttr has now, this ctor
       seems to be pretty useless... may be we should just remove it?
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="Clone">
    <function type="wxGridCellAttr&#42;" name="Clone" suffix="const">
     <description>
      <p>
       Creates a new copy of this object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="IncRef">
    <function type="void" name="IncRef">
     <description>
      <p>
       This class is ref counted: it is created with ref count of 1, so calling
       DecRef() once will delete it. Calling IncRef() allows to lock it until
       the matching DecRef() is called
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="DecRef">
    <function type="void" name="DecRef">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetTextColour">
    <function type="void" name="SetTextColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colText"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetBackgroundColour">
    <function type="void" name="SetBackgroundColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colBack"></parameter>
     </parameters>
     <description>
      <p>
       Sets the background colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetFont">
    <function type="void" name="SetFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetAlignment">
    <function type="void" name="SetAlignment">
     <parameters>
      <parameter type="int " name="hAlign"></parameter>
      <parameter type="int " name="vAlign"></parameter>
     </parameters>
     <description>
      <p>
       Sets the alignment.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetReadOnly">
    <function type="void" name="SetReadOnly">
     <parameters>
      <parameter type="bool " name="isReadOnly" value="true"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetRenderer">
    <function type="void" name="SetRenderer">
     <parameters>
      <parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
     </parameters>
     <description>
      <p>
       takes ownership of the pointer
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetEditor">
    <function type="void" name="SetEditor">
     <parameters>
      <parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="HasTextColour">
    <function type="bool" name="HasTextColour" suffix="const">
     <description>
      <p>
       accessors
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="HasBackgroundColour">
    <function type="bool" name="HasBackgroundColour" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="HasFont">
    <function type="bool" name="HasFont" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="HasAlignment">
    <function type="bool" name="HasAlignment" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="HasRenderer">
    <function type="bool" name="HasRenderer" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="HasEditor">
    <function type="bool" name="HasEditor" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="GetTextColour">
    <function type="const wxColour&amp;" name="GetTextColour" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="GetBackgroundColour">
    <function type="const wxColour&amp;" name="GetBackgroundColour" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="GetFont">
    <function type="const wxFont&amp;" name="GetFont" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="GetAlignment">
    <function type="void" name="GetAlignment" suffix="const">
     <parameters>
      <parameter type="int&#42; " name="hAlign"></parameter>
      <parameter type="int&#42; " name="vAlign"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="GetRenderer">
    <function type="wxGridCellRenderer&#42;" name="GetRenderer" suffix="const">
     <parameters>
      <parameter type="wxGrid&#42; " name="grid"></parameter>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="GetEditor">
    <function type="wxGridCellEditor&#42;" name="GetEditor" suffix="const">
     <parameters>
      <parameter type="wxGrid&#42; " name="grid"></parameter>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="IsReadOnly">
    <function type="bool" name="IsReadOnly" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellAttr" name="SetDefAttr">
    <function type="void" name="SetDefAttr">
     <parameters>
      <parameter type="wxGridCellAttr&#42; " name="defAttr"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellBoolEditor">
  <description>
   <p class="classdesc">
    The editor for boolean data.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcelleditor">wxGridCellEditor</ref>
   ,
   <ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
   ,
   <ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
   ,
   <ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
   ,
   <ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
  </seealso>
  <members>
   <member class="wxGridCellBoolEditor" name="wxGridCellBoolEditor">
    <function type="" name="wxGridCellBoolEditor">
     <parameters></parameters>
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellBoolRenderer">
  <description>
   <p class="classdesc">
    This class may be used to format boolean data in a cell. for string cells.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
   ,
   <ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
   ,
   <ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
   ,
   <ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
  </seealso>
  <members>
   <member class="wxGridCellBoolRenderer" name="wxGridCellBoolRenderer">
    <function type="" name="wxGridCellBoolRenderer">
     <parameters></parameters>
     <description>
      <p>
       Default constructor
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellChoiceEditor">
  <description>
   <p class="classdesc">
    The editor for string data allowing to choose from a list of strings.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
  </parents>
  <seealso>
   <ref target="wxgridcelleditor">wxGridCellEditor</ref>
   ,
   <ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
   ,
   <ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
   ,
   <ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
   ,
   <ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
  </seealso>
  <members>
   <member class="wxGridCellChoiceEditor" name="wxGridCellChoiceEditor">
    <function type="" name="wxGridCellChoiceEditor">
     <parameters>
      <parameter type="size\_t " name="count" value="0">
       Number of strings from which the user can choose.
      </parameter>
      <parameter type="const wxString " name="choices[]" value="NULL"></parameter>
      <parameter type="bool " name="allowOthers" value="false">
       If allowOthers if true, the user can type a string not in choices array.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxGridCellChoiceEditor">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings from which the user can choose.
      </parameter>
      <parameter type="bool " name="allowOthers" value="false">
       If allowOthers if true, the user can type a string not in choices array.
      </parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellChoiceEditor" name="SetParameters">
    <function type="void" name="SetParameters">
     <parameters>
      <parameter type="const wxString&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       Parameters string format is &quot;item1[,item2[...,itemN]]&quot;
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellEditor" annotation="abstract">
  <description>
   <p class="classdesc">
    This class is responsible for providing and manipulating the in-place edit
    controls for the grid. Instances of wxGridCellEditor (actually, instances of
    derived classes since it is an abstract class) can be associated with the
    cell attributes for individual cells, rows, columns, or even for the entire
    grid.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellWorker">wxGridCellWorker</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
   ,
   <ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
   ,
   <ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
   ,
   <ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
   ,
   <ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
  </seealso>
  <members>
   <member class="wxGridCellEditor" name="wxGridCellEditor">
    <function type="" name="wxGridCellEditor">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="IsCreated">
    <function type="bool" name="IsCreated">
     <description></description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="Create">
    <function type="void" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="wxEvtHandler&#42; " name="evtHandler"></parameter>
     </parameters>
     <description>
      <p>
       Creates the actual edit control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="SetSize">
    <function type="void" name="SetSize">
     <parameters>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
     </parameters>
     <description>
      <p>
       Size and position the edit control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="Show">
    <function type="void" name="Show">
     <parameters>
      <parameter type="bool " name="show"></parameter>
      <parameter type="wxGridCellAttr&#42; " name="attr" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Show or hide the edit control, use the specified attributes to set
       colours/fonts for it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="PaintBackground">
    <function type="void" name="PaintBackground">
     <parameters>
      <parameter type="const wxRect&amp; " name="rectCell"></parameter>
      <parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
     </parameters>
     <description>
      <p>
       Draws the part of the cell not occupied by the control: the base class
       version just fills it with background colour from the attribute.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="BeginEdit">
    <function type="void" name="BeginEdit">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="wxGrid&#42; " name="grid"></parameter>
     </parameters>
     <description>
      <p>
       Fetch the value from the table and prepare the edit control to begin
       editing. Set the focus to the edit control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="EndEdit">
    <function type="bool" name="EndEdit">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="wxGrid&#42; " name="grid"></parameter>
     </parameters>
     <description>
      <p>
       Complete the editing of the current cell. Returns true if the value has
       changed. If necessary, the control may be destroyed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="Reset">
    <function type="void" name="Reset">
     <description>
      <p>
       Reset the value in the control back to its starting value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="StartingKey">
    <function type="void" name="StartingKey">
     <parameters>
      <parameter type="wxKeyEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       If the editor is enabled by pressing keys on the grid, this will be
       called to let the editor do something about that first key if desired.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="StartingClick">
    <function type="void" name="StartingClick">
     <description>
      <p>
       If the editor is enabled by clicking on the cell, this method will be
       called.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="HandleReturn">
    <function type="void" name="HandleReturn">
     <parameters>
      <parameter type="wxKeyEvent&amp; " name="event"></parameter>
     </parameters>
     <description>
      <p>
       Some types of controls on some platforms may need some help with the
       Return key.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="Destroy">
    <function type="void" name="Destroy">
     <description>
      <p>
       Final cleanup.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="Clone">
    <function type="wxGridCellEditor&#42;" name="Clone" suffix="const">
     <description>
      <p>
       Create a new object which is the copy of this one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellEditor" name="~wxGridCellEditor">
    <function type="" name="~wxGridCellEditor">
     <description>
      <p>
       The dtor is private because only DecRef() can delete us.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellFloatEditor">
  <description>
   <p class="classdesc">
    The editor for floating point numbers data.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellTextEditor">wxGridCellTextEditor</ref>
   <ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcelleditor">wxGridCellEditor</ref>
   ,
   <ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
   ,
   <ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
   ,
   <ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
   ,
   <ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
  </seealso>
  <members>
   <member class="wxGridCellFloatEditor" name="wxGridCellFloatEditor">
    <function type="" name="wxGridCellFloatEditor">
     <parameters>
      <parameter type="int " name="width" value="-1">
       Minimum number of characters to be shown.
      </parameter>
      <parameter type="int " name="precision" value="-1">
       Number of digits after the decimal dot.
      </parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellFloatEditor" name="SetParameters">
    <function type="void" name="SetParameters">
     <parameters>
      <parameter type="const wxString&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       Parameters string format is &quot;width,precision&quot;
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellFloatRenderer">
  <description>
   <p class="classdesc">
    This class may be used to format floating point data in a cell.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellStringRenderer">wxGridCellStringRenderer</ref>
   <ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
   ,
   <ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
   ,
   <ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
   ,
   <ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
  </seealso>
  <members>
   <member class="wxGridCellFloatRenderer" name="wxGridCellFloatRenderer">
    <function type="" name="wxGridCellFloatRenderer">
     <parameters>
      <parameter type="int " name="width" value="-1">
       Minimum number of characters to be shown.
      </parameter>
      <parameter type="int " name="precision" value="-1">
       Number of digits after the decimal dot.
      </parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridCellFloatRenderer" name="GetPrecision">
    <function type="int" name="GetPrecision" suffix="const">
     <description>
      <p>
       Returns the precision ( see
       <ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellFloatRenderer" name="GetWidth">
    <function type="int" name="GetWidth" suffix="const">
     <description>
      <p>
       Returns the width ( see
       <ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellFloatRenderer" name="SetParameters">
    <function type="void" name="SetParameters">
     <parameters>
      <parameter type="const wxString&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       Parameters string format is &quot;width[,precision]&quot;.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellFloatRenderer" name="SetPrecision">
    <function type="void" name="SetPrecision">
     <parameters>
      <parameter type="int " name="precision"></parameter>
     </parameters>
     <description>
      <p>
       Sets the precision ( see
       <ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellFloatRenderer" name="SetWidth">
    <function type="void" name="SetWidth">
     <parameters>
      <parameter type="int " name="width"></parameter>
     </parameters>
     <description>
      <p>
       Sets the width ( see
       <ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
       )
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellNumberEditor" annotation="abstract">
  <description>
   <p class="classdesc">
    The editor for numeric integer data.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellTextEditor">wxGridCellTextEditor</ref>
   <ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcelleditor">wxGridCellEditor</ref>
   ,
   <ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
   ,
   <ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
   ,
   <ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
   ,
   <ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
  </seealso>
  <members>
   <member class="wxGridCellNumberEditor" name="wxGridCellNumberEditor">
    <function type="" name="wxGridCellNumberEditor">
     <parameters>
      <parameter type="int " name="min" value="-1"></parameter>
      <parameter type="int " name="max" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       Allows to specify the range for acceptable data; if min == max == -1, no
       range checking is done
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellNumberEditor" name="GetString">
    <function type="wxString" name="GetString" suffix="const">
     <description>
      <p>
       String representation of the value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellNumberEditor" name="HasRange">
    <function type="bool" name="HasRange" suffix="const">
     <description>
      <p>
       If the return value is true, the editor uses a wxSpinCtrl to get user
       input, otherwise it uses a wxTextCtrl.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellNumberEditor" name="SetParameters">
    <function type="void" name="SetParameters">
     <parameters>
      <parameter type="const wxString&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       Parameters string format is &quot;min,max&quot;.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellNumberRenderer">
  <description>
   <p class="classdesc">
    This class may be used to format integer data in a cell.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridellStringRenderer">wxGridellStringRenderer</ref>
   <ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
   ,
   <ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
   ,
   <ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
   ,
   <ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
  </seealso>
  <members>
   <member class="wxGridCellNumberRenderer" name="wxGridCellNumberRenderer">
    <function type="" name="wxGridCellNumberRenderer">
     <parameters></parameters>
     <description>
      <p>
       Default constructor
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellRenderer">
  <description>
   <p class="classdesc">
    This class is responsible for actually drawing the cell in the grid. You may
    pass it to the wxGridCellAttr (below) to change the format of one given cell
    or to wxGrid::SetDefaultRenderer() to change the view of all cells. This is
    an abstract class, and you will normally use one of the predefined derived
    classes or derive your own class from it.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellWorker">wxGridCellWorker</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
   ,
   <ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
   ,
   <ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
   ,
   <ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
  </seealso>
  <members>
   <member class="wxGridCellRenderer" name="Draw">
    <function type="void" name="Draw">
     <parameters>
      <parameter type="wxGrid&amp; " name="grid"></parameter>
      <parameter type="wxGridCellAttr&amp; " name="attr"></parameter>
      <parameter type="wxDC&amp; " name="dc"></parameter>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="bool " name="isSelected"></parameter>
     </parameters>
     <description>
      <p>
       Draw the given cell on the provided DC inside the given rectangle using
       the style specified by the attribute and the default or selected state
       corresponding to the isSelected value.
      </p>
      <p>
       This pure virtual function has a default implementation which will
       prepare the DC using the given attribute: it will draw the rectangle with
       the background colour from attr and set the text colour and font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellRenderer" name="GetBestSize">
    <function type="wxSize" name="GetBestSize">
     <parameters>
      <parameter type="wxGrid&amp; " name="grid"></parameter>
      <parameter type="wxGridCellAttr&amp; " name="attr"></parameter>
      <parameter type="wxDC&amp; " name="dc"></parameter>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Get the preferred size of the cell for its contents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellRenderer" name="Clone">
    <function type="wxGridCellRenderer&#42;" name="Clone" suffix="const">
     <description></description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellStringRenderer">
  <description>
   <p class="classdesc">
    This class may be used to format string data in a cell; it is the default
    for string cells.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
   ,
   <ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
   ,
   <ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
   ,
   <ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
  </seealso>
  <members>
   <member class="wxGridCellStringRenderer" name="wxGridCellStringRenderer">
    <function type="" name="wxGridCellStringRenderer">
     <parameters></parameters>
     <description>
      <p>
       Default constructor
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridCellTextEditor">
  <description>
   <p class="classdesc">
    The editor for string/text data.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <seealso>
   <ref target="wxgridcelleditor">wxGridCellEditor</ref>
   ,
   <ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
   ,
   <ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
   ,
   <ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
   ,
   <ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
  </seealso>
  <members>
   <member class="wxGridCellTextEditor" name="wxGridCellTextEditor">
    <function type="" name="wxGridCellTextEditor">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridCellTextEditor" name="SetParameters">
    <function type="void" name="SetParameters">
     <parameters>
      <parameter type="const wxString&amp; " name="params"></parameter>
     </parameters>
     <description>
      <p>
       The parameters string format is &quot;n&quot; where n is a number
       representing the maximum width.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridEditorCreatedEvent">
  <description></description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <events>
   <event name="EVT\_GRID\_EDITOR\_CREATED(func)">The editor for a cell was created. Processes a wxEVT\_GRID\_EDITOR\_CREATED.</event>
   <event name="EVT\_GRID\_CMD\_EDITOR\_CREATED(id, func)">The editor for a cell was created; variant taking a window identifier. Processes a wxEVT\_GRID\_EDITOR\_CREATED.</event>
  </events>
  <members>
   <member class="wxGridEditorCreatedEvent" name="wxGridEditorCreatedEvent">
    <function type="" name="wxGridEditorCreatedEvent">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGridEditorCreatedEvent">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="wxEventType " name="type"></parameter>
      <parameter type="wxObject&#42; " name="obj"></parameter>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="wxControl&#42; " name="ctrl"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridEditorCreatedEvent" name="GetCol">
    <function type="int" name="GetCol">
     <description>
      <p>
       Returns the column at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEditorCreatedEvent" name="GetControl">
    <function type="wxControl&#42;" name="GetControl">
     <description>
      <p>
       Returns the edit control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEditorCreatedEvent" name="GetRow">
    <function type="int" name="GetRow">
     <description>
      <p>
       Returns the row at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEditorCreatedEvent" name="SetCol">
    <function type="void" name="SetCol">
     <parameters>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the column at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEditorCreatedEvent" name="SetControl">
    <function type="void" name="SetControl">
     <parameters>
      <parameter type="wxControl&#42; " name="ctrl"></parameter>
     </parameters>
     <description>
      <p>
       Sets the edit control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEditorCreatedEvent" name="SetRow">
    <function type="void" name="SetRow">
     <parameters>
      <parameter type="int " name="row"></parameter>
     </parameters>
     <description>
      <p>
       Sets the row at which the event occurred.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridEvent">
  <description>
   <p class="classdesc">
    This event class contains information about various grid events.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <events>
   <event name="EVT\_GRID\_CELL\_LEFT\_CLICK(func)">The user clicked a cell with the left mouse button. Processes a wxEVT\_GRID\_CELL\_LEFT\_CLICK.</event>
   <event name="EVT\_GRID\_CELL\_RIGHT\_CLICK(func)">The user clicked a cell with the right mouse button. Processes a wxEVT\_GRID\_CELL\_RIGHT\_CLICK.</event>
   <event name="EVT\_GRID\_CELL\_LEFT\_DCLICK(func)">The user double-clicked a cell with the left mouse button. Processes a wxEVT\_GRID\_CELL\_LEFT\_DCLICK.</event>
   <event name="EVT\_GRID\_CELL\_RIGHT\_DCLICK(func)">The user double-clicked a cell with the right mouse button. Processes a wxEVT\_GRID\_CELL\_RIGHT\_DCLICK.</event>
   <event name="EVT\_GRID\_LABEL\_LEFT\_CLICK(func)">The user clicked a label with the left mouse button. Processes a wxEVT\_GRID\_LABEL\_LEFT\_CLICK.</event>
   <event name="EVT\_GRID\_LABEL\_RIGHT\_CLICK(func)">The user clicked a label with the right mouse button. Processes a wxEVT\_GRID\_LABEL\_RIGHT\_CLICK.</event>
   <event name="EVT\_GRID\_LABEL\_LEFT\_DCLICK(func)">The user double-clicked a label with the left mouse button. Processes a wxEVT\_GRID\_LABEL\_LEFT\_DCLICK.</event>
   <event name="EVT\_GRID\_LABEL\_RIGHT\_DCLICK(func)">The user double-clicked a label with the right mouse button. Processes a wxEVT\_GRID\_LABEL\_RIGHT\_DCLICK.</event>
   <event name="EVT\_GRID\_CELL\_CHANGE(func)">The user changed the data in a cell. Processes a wxEVT\_GRID\_CELL\_CHANGE.</event>
   <event name="EVT\_GRID\_SELECT\_CELL(func)">The user moved to, and selected a cell. Processes a wxEVT\_GRID\_SELECT\_CELL.</event>
   <event name="EVT\_GRID\_EDITOR\_HIDDEN(func)">The editor for a cell was hidden. Processes a wxEVT\_GRID\_EDITOR\_HIDDEN.</event>
   <event name="EVT\_GRID\_EDITOR\_SHOWN(func)">The editor for a cell was shown. Processes a wxEVT\_GRID\_EDITOR\_SHOWN.</event>
   <event name="EVT\_GRID\_CMD\_CELL\_LEFT\_CLICK(id, func)">The user clicked a cell with the left mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_CELL\_LEFT\_CLICK.</event>
   <event name="EVT\_GRID\_CMD\_CELL\_RIGHT\_CLICK(id, func)">The user clicked a cell with the right mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_CELL\_RIGHT\_CLICK.</event>
   <event name="EVT\_GRID\_CMD\_CELL\_LEFT\_DCLICK(id, func)">The user double-clicked a cell with the left mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_CELL\_LEFT\_DCLICK.</event>
   <event name="EVT\_GRID\_CMD\_CELL\_RIGHT\_DCLICK(id, func)">The user double-clicked a cell with the right mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_CELL\_RIGHT\_DCLICK.</event>
   <event name="EVT\_GRID\_CMD\_LABEL\_LEFT\_CLICK(id, func)">The user clicked a label with the left mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_LABEL\_LEFT\_CLICK.</event>
   <event name="EVT\_GRID\_CMD\_LABEL\_RIGHT\_CLICK(id, func)">The user clicked a label with the right mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_LABEL\_RIGHT\_CLICK.</event>
   <event name="EVT\_GRID\_CMD\_LABEL\_LEFT\_DCLICK(id, func)">The user double-clicked a label with the left mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_LABEL\_LEFT\_DCLICK.</event>
   <event name="EVT\_GRID\_CMD\_LABEL\_RIGHT\_DCLICK(id, func)">The user double-clicked a label with the right mouse button; variant taking a window identifier. Processes a wxEVT\_GRID\_LABEL\_RIGHT\_DCLICK.</event>
   <event name="EVT\_GRID\_CMD\_CELL\_CHANGE(id, func)">The user changed the data in a cell; variant taking a window identifier. Processes a wxEVT\_GRID\_CELL\_CHANGE.</event>
   <event name="EVT\_GRID\_CMD\_SELECT\_CELL(id, func)">The user moved to, and selected a cell; variant taking a window identifier. Processes a wxEVT\_GRID\_SELECT\_CELL.</event>
   <event name="EVT\_GRID\_CMD\_EDITOR\_HIDDEN(id, func)">The editor for a cell was hidden; variant taking a window identifier. Processes a wxEVT\_GRID\_EDITOR\_HIDDEN.</event>
   <event name="EVT\_GRID\_CMD\_EDITOR\_SHOWN(id, func)">The editor for a cell was shown; variant taking a window identifier. Processes a wxEVT\_GRID\_EDITOR\_SHOWN.</event>
  </events>
  <members>
   <member class="wxGridEvent" name="wxGridEvent">
    <function type="" name="wxGridEvent">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGridEvent">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="wxEventType " name="type"></parameter>
      <parameter type="wxObject&#42; " name="obj"></parameter>
      <parameter type="int " name="row" value="-1"></parameter>
      <parameter type="int " name="col" value="-1"></parameter>
      <parameter type="int " name="x" value="-1"></parameter>
      <parameter type="int " name="y" value="-1"></parameter>
      <parameter type="bool " name="sel" value="true"></parameter>
      <parameter type="bool " name="control" value="false"></parameter>
      <parameter type="bool " name="shift" value="false"></parameter>
      <parameter type="bool " name="alt" value="false"></parameter>
      <parameter type="bool " name="meta" value="false"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridEvent" name="AltDown">
    <function type="bool" name="AltDown">
     <description>
      <p>
       Returns true if the Alt key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="ControlDown">
    <function type="bool" name="ControlDown">
     <description>
      <p>
       Returns true if the Control key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="GetCol">
    <function type="int" name="GetCol">
     <description>
      <p>
       Column at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition">
     <description>
      <p>
       Position in pixels at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="GetRow">
    <function type="int" name="GetRow">
     <description>
      <p>
       Row at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="MetaDown">
    <function type="bool" name="MetaDown">
     <description>
      <p>
       Returns true if the Meta key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="Selecting">
    <function type="bool" name="Selecting">
     <description>
      <p>
       Returns true if the user deselected a cell, false if the user deselected
       a cell.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridEvent" name="ShiftDown">
    <function type="bool" name="ShiftDown">
     <description>
      <p>
       Returns true if the Shift key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridRangeSelectEvent">
  <description></description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <events>
   <event name="EVT\_GRID\_RANGE\_SELECT(func)">The user selected a group of contiguous cells. Processes a wxEVT\_GRID\_RANGE\_SELECT.</event>
   <event name="EVT\_GRID\_CMD\_RANGE\_SELECT(func)">The user selected a group of contiguous cells; variant taking a window identifier. Processes a wxEVT\_GRID\_RANGE\_SELECT.</event>
  </events>
  <members>
   <member class="wxGridRangeSelectEvent" name="wxGridRangeSelectEvent">
    <function type="" name="wxGridRangeSelectEvent">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGridRangeSelectEvent">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="wxEventType " name="type"></parameter>
      <parameter type="wxObject&#42; " name="obj"></parameter>
      <parameter type="const wxGridCellCoords&amp; " name="topLeft"></parameter>
      <parameter type="const wxGridCellCoords&amp; " name="bottomRight"></parameter>
      <parameter type="bool " name="sel" value="true"></parameter>
      <parameter type="bool " name="control" value="false"></parameter>
      <parameter type="bool " name="shift" value="false"></parameter>
      <parameter type="bool " name="alt" value="false"></parameter>
      <parameter type="bool " name="meta" value="false"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="AltDown">
    <function type="bool" name="AltDown">
     <description>
      <p>
       Returns true if the Alt key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="ControlDown">
    <function type="bool" name="ControlDown">
     <description>
      <p>
       Returns true if the Control key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="GetBottomRightCoords">
    <function type="wxGridCellCoords" name="GetBottomRightCoords">
     <description>
      <p>
       Top left corner of the rectangular area that was (de)selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="GetBottomRow">
    <function type="int" name="GetBottomRow">
     <description>
      <p>
       Bottom row of the rectangular area that was (de)selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="GetLeftCol">
    <function type="int" name="GetLeftCol">
     <description>
      <p>
       Left column of the rectangular area that was (de)selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="GetRightCol">
    <function type="int" name="GetRightCol">
     <description>
      <p>
       Right column of the rectangular area that was (de)selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="GetTopLeftCoords">
    <function type="wxGridCellCoords" name="GetTopLeftCoords">
     <description>
      <p>
       Top left corner of the rectangular area that was (de)selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="GetTopRow">
    <function type="int" name="GetTopRow">
     <description>
      <p>
       Top row of the rectangular area that was (de)selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="MetaDown">
    <function type="bool" name="MetaDown">
     <description>
      <p>
       Returns true if the Meta key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="Selecting">
    <function type="bool" name="Selecting">
     <description>
      <p>
       Returns true if the area was selected, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridRangeSelectEvent" name="ShiftDown">
    <function type="bool" name="ShiftDown">
     <description>
      <p>
       Returns true if the Shift key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridSizeEvent">
  <description>
   <p class="classdesc">
    This event class contains information about a row/column resize event.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <events>
   <event name="EVT\_GRID\_COL\_SIZE(func)">The user resized a column by dragging it. Processes a wxEVT\_GRID\_COL\_SIZE.</event>
   <event name="EVT\_GRID\_ROW\_SIZE(func)">The user resized a row by dragging it. Processes a wxEVT\_GRID\_ROW\_SIZE.</event>
   <event name="EVT\_GRID\_CMD\_COL\_SIZE(func)">The user resized a column by dragging it; variant taking a window identifier. Processes a wxEVT\_GRID\_COL\_SIZE.</event>
   <event name="EVT\_GRID\_CMD\_ROW\_SIZE(func)">The user resized a row by dragging it; variant taking a window identifier. Processes a wxEVT\_GRID\_ROW\_SIZE.</event>
  </events>
  <members>
   <member class="wxGridSizeEvent" name="wxGridSizeEvent">
    <function type="" name="wxGridSizeEvent">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxGridSizeEvent">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="wxEventType " name="type"></parameter>
      <parameter type="wxObject&#42; " name="obj"></parameter>
      <parameter type="int " name="rowOrCol" value="-1"></parameter>
      <parameter type="int " name="x" value="-1"></parameter>
      <parameter type="int " name="y" value="-1"></parameter>
      <parameter type="bool " name="control" value="false"></parameter>
      <parameter type="bool " name="shift" value="false"></parameter>
      <parameter type="bool " name="alt" value="false"></parameter>
      <parameter type="bool " name="meta" value="false"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridSizeEvent" name="AltDown">
    <function type="bool" name="AltDown">
     <description>
      <p>
       Returns true if the Alt key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizeEvent" name="ControlDown">
    <function type="bool" name="ControlDown">
     <description>
      <p>
       Returns true if the Control key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizeEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition">
     <description>
      <p>
       Position in pixels at which the event occurred.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizeEvent" name="GetRowOrCol">
    <function type="int" name="GetRowOrCol">
     <description>
      <p>
       Row or column at that was resized.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizeEvent" name="MetaDown">
    <function type="bool" name="MetaDown">
     <description>
      <p>
       Returns true if the Meta key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizeEvent" name="ShiftDown">
    <function type="bool" name="ShiftDown">
     <description>
      <p>
       Returns true if the Shift key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridSizer">
  <description>
   <p class="classdesc">
    A grid sizer is a sizer which lays out its children in a two-dimensional
    table with all table fields having the same size, i.e. the width of each
    field is the width of the widest child, the height of each field is the
    height of the tallest child.
   </p>
  </description>
  <category>Window layout</category>
  <shortdesc>A sizer for laying out windows in a grid with all fields having the same size</shortdesc>
  <parents>
   <ref type="help" target="wxSizer">wxSizer</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/sizer.h"/>
  </includes>
  <members>
   <member class="wxGridSizer" name="wxGridSizer">
    <function type="" name="wxGridSizer">
     <parameters>
      <parameter type="int " name="rows"></parameter>
      <parameter type="int " name="cols"></parameter>
      <parameter type="int " name="vgap"></parameter>
      <parameter type="int " name="hgap"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxGridSizer">
     <parameters>
      <parameter type="int " name="cols"></parameter>
      <parameter type="int " name="vgap" value="0"></parameter>
      <parameter type="int " name="hgap" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor for a wxGridSizer.
       <i> rows</i>
       and
       <i> cols</i>
       determine the number of columns and rows in the sizer - if either of the
       parameters is zero, it will be calculated to form the total number of
       children in the sizer, thus making the sizer grow dynamically.
       <i> vgap</i>
       and
       <i> hgap</i>
       define extra space between all children.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="GetCols">
    <function type="int" name="GetCols">
     <parameters></parameters>
     <description>
      <p>
       Returns the number of columns in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="GetHGap">
    <function type="int" name="GetHGap">
     <parameters></parameters>
     <description>
      <p>
       Returns the horizontal gap (in pixels) between cells in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="GetRows">
    <function type="int" name="GetRows">
     <parameters></parameters>
     <description>
      <p>
       Returns the number of rows in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="GetVGap">
    <function type="int" name="GetVGap">
     <parameters></parameters>
     <description>
      <p>
       Returns the vertical gap (in pixels) between the cells in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="SetCols">
    <function type="void" name="SetCols">
     <parameters>
      <parameter type="int " name="cols"></parameter>
     </parameters>
     <description>
      <p>
       Sets the number of columns in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="SetHGap">
    <function type="void" name="SetHGap">
     <parameters>
      <parameter type="int " name="gap"></parameter>
     </parameters>
     <description>
      <p>
       Sets the horizontal gap (in pixels) between cells in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="SetRows">
    <function type="void" name="SetRows">
     <parameters>
      <parameter type="int " name="rows"></parameter>
     </parameters>
     <description>
      <p>
       Sets the number of rows in the sizer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridSizer" name="SetVGap">
    <function type="void" name="SetVGap">
     <parameters>
      <parameter type="int " name="gap"></parameter>
     </parameters>
     <description>
      <p>
       Sets the vertical gap (in pixels) between the cells in the sizer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxGridTableBase" annotation="abstract">
  <description>
   <p class="classdesc">
    Grid table classes.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/grid.h"/>
  </includes>
  <members>
   <member class="wxGridTableBase" name="wxGridTableBase">
    <function type="" name="wxGridTableBase">
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="~wxGridTableBase">
    <function type="" name="~wxGridTableBase">
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetNumberRows">
    <function type="int" name="GetNumberRows">
     <description>
      <p>
       You must override these functions in a derived table class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetNumberCols">
    <function type="int" name="GetNumberCols">
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="IsEmptyCell">
    <function type="bool" name="IsEmptyCell">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetValue">
    <function type="wxString" name="GetValue">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetValue">
    <function type="void" name="SetValue">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp; " name="value"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetTypeName">
    <function type="wxString" name="GetTypeName">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Data type determination and value access.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="CanGetValueAs">
    <function type="bool" name="CanGetValueAs">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp; " name="typeName"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="CanSetValueAs">
    <function type="bool" name="CanSetValueAs">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp; " name="typeName"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetValueAsLong">
    <function type="long" name="GetValueAsLong">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetValueAsDouble">
    <function type="double" name="GetValueAsDouble">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetValueAsBool">
    <function type="bool" name="GetValueAsBool">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetValueAsLong">
    <function type="void" name="SetValueAsLong">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="long " name="value"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetValueAsDouble">
    <function type="void" name="SetValueAsDouble">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="double " name="value"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetValueAsBool">
    <function type="void" name="SetValueAsBool">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="bool " name="value"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetValueAsCustom">
    <function type="void&#42;" name="GetValueAsCustom">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp; " name="typeName"></parameter>
     </parameters>
     <description>
      <p>
       For user defined types
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetValueAsCustom">
    <function type="void" name="SetValueAsCustom">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp; " name="typeName"></parameter>
      <parameter type="void&#42; " name="value"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetView">
    <function type="void" name="SetView">
     <parameters>
      <parameter type="wxGrid&#42; " name="grid"></parameter>
     </parameters>
     <description>
      <p>
       Overriding these is optional
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetView">
    <function type="wxGrid &#42;" name="GetView" suffix="const">
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="Clear">
    <function type="void" name="Clear">
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="InsertRows">
    <function type="bool" name="InsertRows">
     <parameters>
      <parameter type="size\_t " name="pos" value="0"></parameter>
      <parameter type="size\_t " name="numRows" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="AppendRows">
    <function type="bool" name="AppendRows">
     <parameters>
      <parameter type="size\_t " name="numRows" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="DeleteRows">
    <function type="bool" name="DeleteRows">
     <parameters>
      <parameter type="size\_t " name="pos" value="0"></parameter>
      <parameter type="size\_t " name="numRows" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="InsertCols">
    <function type="bool" name="InsertCols">
     <parameters>
      <parameter type="size\_t " name="pos" value="0"></parameter>
      <parameter type="size\_t " name="numCols" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="AppendCols">
    <function type="bool" name="AppendCols">
     <parameters>
      <parameter type="size\_t " name="numCols" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="DeleteCols">
    <function type="bool" name="DeleteCols">
     <parameters>
      <parameter type="size\_t " name="pos" value="0"></parameter>
      <parameter type="size\_t " name="numCols" value="1"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetRowLabelValue">
    <function type="wxString" name="GetRowLabelValue">
     <parameters>
      <parameter type="int " name="row"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetColLabelValue">
    <function type="wxString" name="GetColLabelValue">
     <parameters>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetRowLabelValue">
    <function type="void" name="SetRowLabelValue">
     <parameters>
      <parameter type="int " name="WXUNUSED(row)"></parameter>
      <parameter type="const " name="wxString&amp;"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetColLabelValue">
    <function type="void" name="SetColLabelValue">
     <parameters>
      <parameter type="int " name="WXUNUSED(col)"></parameter>
      <parameter type="const " name="wxString&amp;"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetAttrProvider">
    <function type="void" name="SetAttrProvider">
     <parameters>
      <parameter type="wxGridCellAttrProvider&#42; " name="attrProvider"></parameter>
     </parameters>
     <description>
      <p>
       Attribute handling give us the attr provider to use - we take ownership
       of the pointer
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetAttrProvider">
    <function type="wxGridCellAttrProvider&#42;" name="GetAttrProvider" suffix="const">
     <description>
      <p>
       get the currently used attr provider (may be NULL)
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="CanHaveAttributes">
    <function type="bool" name="CanHaveAttributes">
     <description>
      <p>
       Does this table allow attributes? Default implementation creates a
       wxGridCellAttrProvider if necessary.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="UpdateAttrRows">
    <function type="void" name="UpdateAttrRows">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
      <parameter type="int " name="numRows"></parameter>
     </parameters>
     <description>
      <p>
       change row/col number in attribute if needed
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="UpdateAttrCols">
    <function type="void" name="UpdateAttrCols">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
      <parameter type="int " name="numCols"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="GetAttr">
    <function type="wxGridCellAttr&#42;" name="GetAttr">
     <parameters>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       by default forwarded to wxGridCellAttrProvider if any. May be overridden
       to handle attributes directly in the table.
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetAttr">
    <function type="void" name="SetAttr">
     <parameters>
      <parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
      <parameter type="int " name="row"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       these functions take ownership of the pointer
      </p>
     </description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetRowAttr">
    <function type="void" name="SetRowAttr">
     <parameters>
      <parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
      <parameter type="int " name="row"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
   <member class="wxGridTableBase" name="SetColAttr">
    <function type="void" name="SetColAttr">
     <parameters>
      <parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description></description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHTTP">
  <description></description>
  <category>Networking classes</category>
  <shortdesc>HTTP protocol class</shortdesc>
  <parents>
   <ref type="help" target="wxProtocol">wxProtocol</ref>
  </parents>
  <includes>
   <header name="wx/protocol/http.h"/>
  </includes>
  <seealso>
   <ref target="wxsocketbase">wxSocketBase</ref>
   <ref target="wxurl">wxURL</ref>
  </seealso>
  <members>
   <member class="wxHTTP" name="GetResponse">
    <function type="int" name="GetResponse" suffix="const">
     <description>
      <p>
       Returns the HTTP response code returned by the server. Please refer to
       the RFC 2616 for the list of the responses.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHTTP" name="GetInputStream">
    <function type="wxInputStream &#42;" name="GetInputStream">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <seealso>
      <ref target="wxinputstream">wxInputStream</ref>
     </seealso>
     <note>

You can know the size of the file you are getting using <ref target="wxstreambasegetsize">wxStreamBase::GetSize()</ref>.
But there is a limitation: as HTTP servers aren't obliged to pass the size of
the file, in some case, you will be returned 0xfffffff by GetSize(). In these
cases, you should use the value returned by <ref target="wxinputstreamlastread">wxInputStream::LastRead()</ref>:
this value will be 0 when the stream is finished.

</note>
     <returnvalue>
      Returns the initialized stream. You will have to delete it yourself once
      you don't use it anymore. The destructor closes the network connection.
      The next time you will try to get a file the network connection will have
      to be reestablished: but you don't have to take care of this wxHTTP
      reestablishes it automatically.
     </returnvalue>
     <description>
      <p>
       Creates a new input stream on the specified path. You can use all except
       the seek functionality of wxStream. Seek isn't available on all streams.
       For example, http or ftp streams doesn't deal with it. Other functions
       like Tell and SeekI for this sort of stream. You will be notified when
       the EOF is reached by an error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHTTP" name="SetHeader">
    <function type="void" name="SetHeader">
     <parameters>
      <parameter type="const wxString&amp; " name="header"></parameter>
      <parameter type="const wxString&amp; " name="h\_data"></parameter>
     </parameters>
     <description>
      <p>
       It sets data of a field to be sent during the next request to the HTTP
       server. The field name is specified by
       <i> header</i>
       and the content by
       <i> h\_data</i>
       . This is a low level function and it assumes that you know what you are
       doing.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHTTP" name="GetHeader">
    <function type="wxString" name="GetHeader">
     <parameters>
      <parameter type="const wxString&amp; " name="header"></parameter>
     </parameters>
     <note>

The header is not case-sensitive: I mean that &quot;CONTENT-TYPE&quot; and &quot;content-type&quot; 
represent the same header.

</note>
     <description>
      <p>
       Returns the data attached with a field whose name is specified by
       <i> header</i>
       . If the field doesn't exist, it will return an empty string and not a
       NULL string.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHashMap" annotation="abstract">
  <description>
   <p class="classdesc">
    This is a simple, type-safe, and reasonably efficient hash map class, whose
    interface is a subset of the interface of STL containers. In particular, the
    interface is modeled after std::map, and the various, non standard,
    std::hash\_map.
   </p>
   <p class="classdesc">
    <heading>Declaring new hash table types</heading>
   </p>
   <p class="classdesc">
    <pre>
    WX\_DECLARE\_STRING\_HASH\_MAP( VALUE\_T,     // type of the values
                                CLASSNAME ); // name of the class
</pre>
   </p>
   <p class="classdesc">
    Declares a hash map class named CLASSNAME, with
    <tt> wxString</tt>
    keys and VALUE\_T values.
   </p>
   <p class="classdesc">
    <pre>
    WX\_DECLARE\_VOIDPTR\_HASH\_MAP( VALUE\_T,     // type of the values
                                 CLASSNAME ); // name of the class
</pre>
   </p>
   <p class="classdesc">
    Declares a hash map class named CLASSNAME, with
    <tt> void&#42;</tt>
    keys and VALUE\_T values.
   </p>
   <p class="classdesc">
    <pre>
    WX\_DECLARE\_HASH\_MAP( KEY\_T,      // type of the keys
                         VALUE\_T,    // type of the values
                         HASH\_T,     // hasher
                         KEY\_EQ\_T,   // key equality predicate
                         CLASSNAME); // name of the class
</pre>
   </p>
   <p class="classdesc">
    The HASH\_T and KEY\_EQ\_T are the types used for the hashing function and key
    comparison. wxWidgets provides three predefined hashing functions:
    <tt> wxIntegerHash</tt>
    for integer types (
    <tt> int</tt>
    ,
    <tt> long</tt>
    ,
    <tt> short</tt>
    , and their unsigned counterparts ),
    <tt> wxStringHash</tt>
    for strings (
    <tt> wxString</tt>
    ,
    <tt> wxChar&#42;</tt>
    ,
    <tt> char&#42;</tt>
    ), and
    <tt> wxPointerHash</tt>
    for any kind of pointer. Similarly three equality predicates:
    <tt> wxIntegerEqual</tt>
    ,
    <tt> wxStringEqual</tt>
    ,
    <tt> wxPointerEqual</tt>
    are provided.
   </p>
   <p class="classdesc">
    Using this you could declare a hash map mapping
    <tt> int</tt>
    values to
    <tt> wxString</tt>
    like this:
   </p>
   <p class="classdesc">
    <pre>
    WX\_DECLARE\_HASH\_MAP( int,
                         wxString,
                         wxIntegerHash,
                         wxIntegerEqual,
                         MyHash );

    // using an user-defined class for keys
    class MyKey \{ /&#42; ... &#42;/ \};

    // hashing function
    class MyKeyHash
    \{
    public:
        MyKeyHash() \{ \}

        unsigned long operator()( const MyKey&amp; k ) const
            \{ /&#42; compute the hash &#42;/ \}

        MyKeyHash&amp; operator=(const MyKeyHash&amp;) \{ return &#42;this; \}
    \};

    // comparison operator
    class MyKeyEqual
    \{
    public:
        MyKeyEqual() \{ \}
        bool operator()( const MyKey&amp; a, const MyKey&amp; b ) const
            \{ /&#42; compare for equality &#42;/ \}

        MyKeyEqual&amp; operator=(const MyKeyEqual&amp;) \{ return &#42;this; \}
    \};

    WX\_DECLARE\_HASH\_MAP( MyKey,      // type of the keys
                         SOME\_TYPE,  // any type you like
                         MyKeyHash,  // hasher
                         MyKeyEqual, // key equality predicate
                         CLASSNAME); // name of the class
</pre>
   </p>
   <p class="classdesc">
    <heading>Iterators</heading>
   </p>
   <p class="classdesc">
    An iterator is similar to a pointer, and so you can use the usual pointer
    operations:
    <tt> ++it</tt>
    ( and
    <tt> it++</tt>
    ) to move to the next element,
    <tt> &#42;it</tt>
    to access the element pointed to,
    <tt> it-&gt;first</tt>
    (
    <tt> it-&gt;second</tt>
    ) to access the key ( value ) of the element pointed to. Hash maps provide
    forward only iterators, this means that you can't use
    <tt> --it</tt>
    ,
    <tt> it + 3</tt>
    ,
    <tt> it1 - it2</tt>
    .
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>A simple hash map implementation</shortdesc>
  <example>
   <pre>
    class MyClass \{ /&#42; ... &#42;/ \};

    // declare a hash map with string keys and int values
    WX\_DECLARE\_STRING\_HASH\_MAP( int, MyHash5 );
    // same, with int keys and MyClass&#42; values
    WX\_DECLARE\_HASH\_MAP( int, MyClass&#42;, wxIntegerHash, wxIntegerEqual, MyHash1 );
    // same, with wxString keys and int values
    WX\_DECLARE\_STRING\_HASH\_MAP( int, MyHash3 );
    // same, with wxString keys and values
    WX\_DECLARE\_STRING\_HASH\_MAP( wxString, MyHash2 );

    MyHash1 h1;
    MyHash2 h2;

    // store and retrieve values
    h1[1] = new MyClass( 1 );
    h1[10000000] = NULL;
    h1[50000] = new MyClass( 2 );
    h2[&quot;Bill&quot;] = &quot;ABC&quot;;
    wxString tmp = h2[&quot;Bill&quot;];
    // since element with key &quot;Joe&quot; is not present, this will return
    // the default value, which is an empty string in the case of wxString
    MyClass tmp2 = h2[&quot;Joe&quot;];

    // iterate over all the elements in the class
    MyHash2::iterator it;
    for( it = h2.begin(); it != h2.end(); ++it )
    \{
        wxString key = it-&gt;first, value = it-&gt;second;
        // do something useful with key and value
    \}
</pre>
  </example>
  <includes>
   <header name="wx/hashmap.h"/>
  </includes>
  <types>

In the documentation below you should replace wxHashMap with the name
you used in the class declaration.

<table>
    <tr>
     <td>wxHashMap::key\_type</td>
     <td>Type of the hash keys</td>
    </tr>
    <tr>
     <td>wxHashMap::mapped\_type</td>
     <td>Type of the values stored in the hash map</td>
    </tr>
    <tr>
     <td>wxHashMap::value\_type</td>
     <td>Equivalent to
<tt> struct \{ key\_type first; mapped\_type second \};</tt>
     </td>
    </tr>
    <tr>
     <td>wxHashMap::iterator</td>
     <td>Used to enumerate all the elements in a hash
map; it is similar to a <tt> value\_type&#42;</tt>
     </td>
    </tr>
    <tr>
     <td>wxHashMap::const\_iterator</td>
     <td>Used to enumerate all the elements
in a constant hash map; it is similar to a <tt> const value\_type&#42;</tt>
     </td>
    </tr>
    <tr>
     <td>wxHashMap::size\_type</td>
     <td>Used for sizes</td>
    </tr>
    <tr>
     <td>wxHashMap::Insert\_Result</td>
     <td>The return value for
<ref target="wxhashmapinsert">insert()</ref>
     </td>
    </tr>
   </table>
  </types>
  <members>
   <member class="wxHashMap" name="wxHashMap">
    <function type="" name="wxHashMap">
     <parameters>
      <parameter type="size\_type " name="size" value="10"></parameter>
     </parameters>
     <description>
      <p>
       The size parameter is just a hint, the table will resize automatically to
       preserve performance.
      </p>
     </description>
    </function>
    <function type="" name="wxHashMap">
     <parameters>
      <parameter type="const wxHashMap&amp; " name="map"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="begin">
    <function type="const\_iterator" name="begin" suffix="const">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="iterator" name="begin">
     <parameters></parameters>
     <description>
      <p>
       Returns an iterator pointing at the first element of the hash map. Please
       remember that hash maps do not guarantee ordering.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="clear">
    <function type="void" name="clear">
     <parameters></parameters>
     <description>
      <p>
       Removes all elements from the hash map.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="count">
    <function type="size\_type" name="count" suffix="const">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Counts the number of elements with the given key present in the map. This
       function returns only 0 or 1.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="empty">
    <function type="bool" name="empty" suffix="const">
     <parameters></parameters>
     <description>
      <p>
       Returns true if the hash map does not contain any elements, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="end">
    <function type="const\_iterator" name="end" suffix="const">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="iterator" name="end">
     <parameters></parameters>
     <description>
      <p>
       Returns an iterator pointing at the one-after-the-last element of the
       hash map. Please remember that hash maps do not guarantee ordering.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="erase">
    <function type="size\_type" name="erase">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Erases the element with the given key, and returns the number of elements
       erased (either 0 or 1).
      </p>
     </description>
    </function>
    <function type="void" name="erase">
     <parameters>
      <parameter type="iterator " name="it"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="erase">
     <parameters>
      <parameter type="const\_iterator " name="it"></parameter>
     </parameters>
     <description>
      <p>
       Erases the element pointed to by the iterator. After the deletion the
       iterator is no longer valid and must not be used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="find">
    <function type="iterator" name="find">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const\_iterator" name="find" suffix="const">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       If an element with the given key is present, the functions returns an
       iterator pointing at that element, otherwise an invalid iterator is
       returned (i.e. hashmap.find( non\_existent\_key ) == hashmap.end()).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="insert">
    <function type="Insert\_Result" name="insert">
     <parameters>
      <parameter type="const value\_type&amp; " name="v"></parameter>
     </parameters>
     <description>
      <p>
       Inserts the given value in the hash map. The return value is equivalent
       to a
       <tt>std::pair&lt;wxHashMap::iterator, bool&gt;</tt>
       ; the iterator points to the inserted element, the boolean value is
       <tt>true</tt>
       if
       <tt>v</tt>
       was actually inserted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="operator[]">
    <function type="mapped\_type&amp;" name="operator[]">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Use the key as an array subscript. The only difference is that if the
       given key is not present in the hash map, an element with the default
       <tt> value\_type()</tt>
       is inserted in the table.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashMap" name="size">
    <function type="size\_type" name="size" suffix="const">
     <parameters></parameters>
     <description>
      <p>
       Returns the number of elements in the map.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxHashSet" annotation="abstract">
  <description>
   <p class="classdesc">
    This is a simple, type-safe, and reasonably efficient hash set class, whose
    interface is a subset of the interface of STL containers. In particular, the
    interface is modeled after std::set, and the various, non standard,
    std::hash\_map.
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>A simple hash set implementation</shortdesc>
  <example>
   <pre>
    class MyClass \{ /&#42; ... &#42;/ \};

    // same, with MyClass&#42; keys (only uses pointer equality!)
    WX\_DECLARE\_HASH\_SET( MyClass&#42;, wxPointerHash, wxPointerEqual, MySet1 );
    // same, with int keys
    WX\_DECLARE\_HASH\_SET( int, wxIntegerHash, wxIntegerEqual, MySet2 );
    // declare a hash set with string keys
    WX\_DECLARE\_HASH\_SET( wxString, wxStringHash, wxStringEqual, MySet3 );

    MySet1 h1;
    MySet2 h1;
    MySet3 h3;

    // store and retrieve values
    h1.insert( new MyClass( 1 ) );

    h3.insert( &quot;foo&quot; );
    h3.insert( &quot;bar&quot; );
    h3.insert( &quot;baz&quot; );

    int size = h3.size(); // now is three
    bool has\_foo = h3.find( &quot;foo&quot; ) != h3.end();

    h3.insert( &quot;bar&quot; ); // still has size three

    // iterate over all the elements in the class
    MySet3::iterator it;
    for( it = h3.begin(); it != h3.end(); ++it )
    \{
        wxString key = &#42;it;
        // do something useful with key
    \}
</pre>
   <p>
    <heading>Declaring new hash set types</heading>
   </p>
   <pre>
    WX\_DECLARE\_HASH\_SET( KEY\_T,      // type of the keys
                         HASH\_T,     // hasher
                         KEY\_EQ\_T,   // key equality predicate
                         CLASSNAME); // name of the class
</pre>
   <p>
    The HASH\_T and KEY\_EQ\_T are the types used for the hashing function and key
    comparison. wxWidgets provides three predefined hashing functions:
    <tt> wxIntegerHash</tt>
    for integer types (
    <tt> int</tt>
    ,
    <tt> long</tt>
    ,
    <tt> short</tt>
    , and their unsigned counterparts ),
    <tt> wxStringHash</tt>
    for strings (
    <tt> wxString</tt>
    ,
    <tt> wxChar&#42;</tt>
    ,
    <tt> char&#42;</tt>
    ), and
    <tt> wxPointerHash</tt>
    for any kind of pointer. Similarly three equality predicates:
    <tt> wxIntegerEqual</tt>
    ,
    <tt> wxStringEqual</tt>
    ,
    <tt> wxPointerEqual</tt>
    are provided.
   </p>
   <p>
    Using this you could declare a hash set using
    <tt> int</tt>
    values like this:
   </p>
   <pre>
    WX\_DECLARE\_HASH\_SET( int,
                         wxIntegerHash,
                         wxIntegerEqual,
                         MySet );

    // using an user-defined class for keys
    class MyKey \{ /&#42; ... &#42;/ \};

    // hashing function
    class MyKeyHash
    \{
    public:
        MyKeyHash() \{ \}

        unsigned long operator()( const MyKey&amp; k ) const
            \{ /&#42; compute the hash &#42;/ \}

        MyKeyHash&amp; operator=(const MyKeyHash&amp;) \{ return &#42;this; \}
    \};

    // comparison operator
    class MyKeyEqual
    \{
    public:
        MyKeyEqual() \{ \}
        bool operator()( const MyKey&amp; a, const MyKey&amp; b ) const
            \{ /&#42; compare for equality &#42;/ \}

        MyKeyEqual&amp; operator=(const MyKeyEqual&amp;) \{ return &#42;this; \}
    \};

    WX\_DECLARE\_HASH\_SET( MyKey,      // type of the keys
                         MyKeyHash,  // hasher
                         MyKeyEqual, // key equality predicate
                         CLASSNAME); // name of the class
</pre>
  </example>
  <includes>
   <header name="wx/hashset.h"/>
  </includes>
  <types>

In the documentation below you should replace wxHashSet with the name
you used in the class declaration.

<table>
    <tr>
     <td>wxHashSet::key\_type</td>
     <td>Type of the hash keys</td>
    </tr>
    <tr>
     <td>wxHashSet::mapped\_type</td>
     <td>Type of hash keys</td>
    </tr>
    <tr>
     <td>wxHashSet::value\_type</td>
     <td>Type of hash keys</td>
    </tr>
    <tr>
     <td>wxHashSet::iterator</td>
     <td>Used to enumerate all the elements in a hash
set; it is similar to a <tt> value\_type&#42;</tt>
     </td>
    </tr>
    <tr>
     <td>wxHashSet::const\_iterator</td>
     <td>Used to enumerate all the elements
in a constant hash set; it is similar to a <tt> const value\_type&#42;</tt>
     </td>
    </tr>
    <tr>
     <td>wxHashSet::size\_type</td>
     <td>Used for sizes</td>
    </tr>
    <tr>
     <td>wxHashSet::Insert\_Result</td>
     <td>The return value for
<ref target="wxhashsetinsert">insert()</ref>
     </td>
    </tr>
   </table>
  </types>
  <iterators>

An iterator is similar to a pointer, and so you can use the usual pointer
operations: <tt> ++it</tt> ( and <tt> it++</tt> ) to move to the next element,
<tt> &#42;it</tt> to access the element pointed to, <tt> &#42;it</tt>
to access the value of the element pointed to.
Hash sets provide forward only iterators, this
means that you can't use <tt> --it</tt>, <tt> it + 3</tt>, <tt> it1 - it2</tt>.

</iterators>
  <members>
   <member class="wxHashSet" name="wxHashSet">
    <function type="" name="wxHashSet">
     <parameters>
      <parameter type="size\_type " name="size" value="10"></parameter>
     </parameters>
     <description>
      <p>
       The size parameter is just a hint, the table will resize automatically to
       preserve performance.
      </p>
     </description>
    </function>
    <function type="" name="wxHashSet">
     <parameters>
      <parameter type="const wxHashSet&amp; " name="set"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="begin">
    <function type="const\_iterator" name="begin" suffix="const">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="iterator" name="begin">
     <parameters></parameters>
     <description>
      <p>
       Returns an iterator pointing at the first element of the hash set. Please
       remember that hash sets do not guarantee ordering.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="clear">
    <function type="void" name="clear">
     <parameters></parameters>
     <description>
      <p>
       Removes all elements from the hash set.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="count">
    <function type="size\_type" name="count" suffix="const">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Counts the number of elements with the given key present in the set. This
       function returns only 0 or 1.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="empty">
    <function type="bool" name="empty" suffix="const">
     <parameters></parameters>
     <description>
      <p>
       Returns true if the hash set does not contain any elements, false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="end">
    <function type="const\_iterator" name="end" suffix="const">
     <parameters></parameters>
     <description></description>
    </function>
    <function type="iterator" name="end">
     <parameters></parameters>
     <description>
      <p>
       Returns an iterator pointing at the one-after-the-last element of the
       hash set. Please remember that hash sets do not guarantee ordering.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="erase">
    <function type="size\_type" name="erase">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Erases the element with the given key, and returns the number of elements
       erased (either 0 or 1).
      </p>
     </description>
    </function>
    <function type="void" name="erase">
     <parameters>
      <parameter type="iterator " name="it"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="erase">
     <parameters>
      <parameter type="const\_iterator " name="it"></parameter>
     </parameters>
     <description>
      <p>
       Erases the element pointed to by the iterator. After the deletion the
       iterator is no longer valid and must not be used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="find">
    <function type="iterator" name="find">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const\_iterator" name="find" suffix="const">
     <parameters>
      <parameter type="const key\_type&amp; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       If an element with the given key is present, the functions returns an
       iterator pointing at that element, otherwise an invalid iterator is
       returned (i.e. hashset.find( non\_existent\_key ) == hashset.end()).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="insert">
    <function type="Insert\_Result" name="insert">
     <parameters>
      <parameter type="const value\_type&amp; " name="v"></parameter>
     </parameters>
     <description>
      <p>
       Inserts the given value in the hash set. The return value is equivalent
       to a
       <tt>std::pair&lt;wxHashMap::iterator, bool&gt;</tt>
       ; the iterator points to the inserted element, the boolean value is
       <tt>true</tt>
       if
       <tt>v</tt>
       was actually inserted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashSet" name="size">
    <function type="size\_type" name="size" suffix="const">
     <parameters></parameters>
     <description>
      <p>
       Returns the number of elements in the set.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxHashTable">
  <description>
   <p class="classdesc">
    <b> Please note</b>
    that this class is retained for backward compatibility reasons; you should
    use
    <ref target="wxhashmap">wxHashMap</ref>
    .
   </p>
   <p class="classdesc">
    This class provides hash table functionality for wxWidgets, and for an
    application if it wishes. Data can be hashed on an integer or string key.
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>A simple hash table implementation (deprecated, use wxHashMap)</shortdesc>
  <example>
   <p>
    Below is an example of using a hash table.
   </p>
   <pre>
  wxHashTable table(wxKEY\_STRING);

  wxPoint &#42;point = new wxPoint(100, 200);
  table.Put(&quot;point 1&quot;, point);

  ....

  wxPoint &#42;found\_point = (wxPoint &#42;)table.Get(&quot;point 1&quot;);
</pre>
   <p>
    A hash table is implemented as an array of pointers to lists. When no data
    has been stored, the hash table takes only a little more space than this
    array (default size is 1000). When a data item is added, an integer is
    constructed from the integer or string key that is within the bounds of the
    array. If the array element is NULL, a new (keyed) list is created for the
    element. Then the data object is appended to the list, storing the key in
    case other data objects need to be stored in the list also (when a
    `collision' occurs).
   </p>
   <p>
    Retrieval involves recalculating the array index from the key, and searching
    along the keyed list for the data object whose stored key matches the passed
    key. Obviously this is quicker when there are fewer collisions, so hashing
    will become inefficient if the number of items to be stored greatly exceeds
    the size of the hash table.
   </p>
  </example>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/hash.h"/>
  </includes>
  <seealso>
   <ref target="wxlist">wxList</ref>
  </seealso>
  <members>
   <member class="wxHashTable" name="wxHashTable">
    <function type="" name="wxHashTable">
     <parameters>
      <parameter type="unsigned int " name="key\_type"></parameter>
      <parameter type="int " name="size" value="1000"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
       <i> key\_type</i>
       is one of wxKEY\_INTEGER, or wxKEY\_STRING, and indicates what sort of
       keying is required.
       <i> size</i>
       is optional.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="~wxHashTable">
    <function type="" name="~wxHashTable">
     <description>
      <p>
       Destroys the hash table.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="BeginFind">
    <function type="void" name="BeginFind">
     <description>
      <p>
       The counterpart of
       <i> Next</i>
       . If the application wishes to iterate through all the data in the hash
       table, it can call
       <i> BeginFind</i>
       and then loop on
       <i> Next</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Clears the hash table of all nodes (but as usual, doesn't delete user
       data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="Delete">
    <function type="wxObject &#42;" name="Delete">
     <parameters>
      <parameter type="long " name="key"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxObject &#42;" name="Delete">
     <parameters>
      <parameter type="const wxString&amp;  " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Deletes entry in hash table and returns the user's data (if found).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="DeleteContents">
    <function type="void" name="DeleteContents">
     <parameters>
      <parameter type="bool " name="flag"></parameter>
     </parameters>
     <description>
      <p>
       If set to true data stored in hash table will be deleted when hash table
       object is destroyed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="Get">
    <function type="wxObject &#42;" name="Get">
     <parameters>
      <parameter type="long " name="key"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxObject &#42;" name="Get">
     <parameters>
      <parameter type="const char&#42; " name="key"></parameter>
     </parameters>
     <description>
      <p>
       Gets data from the hash table, using an integer or string key (depending
       on which has table constructor was used).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="MakeKey">
    <function type="long" name="MakeKey">
     <parameters>
      <parameter type="const wxString&amp; " name="string"></parameter>
     </parameters>
     <description>
      <p>
       Makes an integer key out of a string. An application may wish to make a
       key explicitly (for instance when combining two data values to form a
       key).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="Next">
    <function type="wxHashTable::Node &#42;" name="Next">
     <description>
      <p>
       If the application wishes to iterate through all the data in the hash
       table, it can call
       <i> BeginFind</i>
       and then loop on
       <i> Next</i>
       . This function returns a
       <b> wxHashTable::Node</b>
       pointer (or NULL if there are no more nodes). The return value is
       functionally equivalent to
       <b>wxNode</b>
       but might not be implemented as a
       <b>wxNode</b>
       . The user will probably only wish to use the
       <b>GetData</b>
       method to retrieve the data; the node may also be deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="Put">
    <function type="void" name="Put">
     <parameters>
      <parameter type="long " name="key"></parameter>
      <parameter type="wxObject &#42;" name="object"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Put">
     <parameters>
      <parameter type="const char&#42; " name="key"></parameter>
      <parameter type="wxObject &#42;" name="object"></parameter>
     </parameters>
     <description>
      <p>
       Inserts data into the hash table, using an integer or string key
       (depending on which has table constructor was used). The key string is
       copied and stored by the hash table implementation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHashTable" name="GetCount">
    <function type="size\_t" name="GetCount" suffix="const">
     <description>
      <p>
       Returns the number of elements in the hash table.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHelpController">
  <description>
   <p class="classdesc">
    This is a family of classes by which applications may invoke a help viewer
    to provide on-line help.
   </p>
   <p class="classdesc">
    A help controller allows an application to display help, at the contents or
    at a particular topic, and shut the help program down on termination. This
    avoids proliferation of many instances of the help viewer whenever the user
    requests a different topic via the application's menus or buttons.
   </p>
   <p class="classdesc">
    Typically, an application will create a help controller instance when it
    starts, and immediately call
    <b> Initialize</b>
    to associate a filename with it. The help viewer will only get run, however,
    just before the first call to display something.
   </p>
   <p class="classdesc">
    Most help controller classes actually derive from wxHelpControllerBase and
    have names of the form wxXXXHelpController or wxHelpControllerXXX. An
    appropriate class is aliased to the name wxHelpController for each platform,
    as follows:
   </p>
   <p class="classdesc">
    <ul>
     <li>On desktop Windows, wxCHMHelpController is used (MS HTML Help).</li>
     <li>On Windows CE, wxWinceHelpController is used.</li>
     <li>On all other platforms, wxHtmlHelpController is used if wxHTML is compiled into
      wxWidgets; otherwise wxExtHelpController is used (for invoking an external
      browser).</li>
    </ul>
   </p>
   <p class="classdesc">
    The remaining help controller classes need to be named explicitly by an
    application that wishes to make use of them.
   </p>
   <p class="classdesc">
    There are currently the following help controller classes defined:
   </p>
   <p class="classdesc">
    <ul>
     <li>wxWinHelpController, for controlling Windows Help.</li>
     <li>wxCHMHelpController, for controlling MS HTML Help. To use this, you need to set
      wxUSE\_MS\_HTML\_HELP to 1 in setup.h and have htmlhelp.h header from
      Microsoft's HTML Help kit (you don't need VC++ specific htmlhelp.lib
      because wxWidgets loads necessary DLL at runtime and so it works with all
      compilers).</li>
     <li>wxBestHelpController, for controlling MS HTML Help or, if Microsoft's runtime is
      not available,
      <ref target="wxhtmlhelpcontroller">wxHtmlHelpController</ref>
      . You need to provide
      <b> both</b>
      CHM and HTB versions of the help file. For 32bit Windows only.</li>
     <li>wxExtHelpController, for controlling external browsers under Unix. The default
      browser is Netscape Navigator. The 'help' sample shows its use.</li>
     <li>wxWinceHelpController, for controlling a simple
      <tt> .htm</tt>
      help controller for Windows CE applications.</li>
     <li><ref target="wxhtmlhelpcontroller">wxHtmlHelpController</ref>
      , a sophisticated help controller using
      <ref target="wxhtml">wxHTML</ref>
      , in a similar style to the Microsoft HTML Help viewer and using some of
      the same files. Although it has an API compatible with other help
      controllers, it has more advanced features, so it is recommended that you
      use the specific API for this class instead. Note that if you use .zip or
      .htb formats for your books, you must add this line to your application
      initialization:
      <tt> wxFileSystem::AddHandler(new wxZipFSHandler);</tt>
      or nothing will be shown in your help window.</li>
    </ul>
   </p>
  </description>
  <category>Online help</category>
  <shortdesc>Family of classes for controlling help windows</shortdesc>
  <parents>
   <ref type="help" target="wxHelpControllerBase">wxHelpControllerBase</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/help.h" comment="(wxWidgets chooses the appropriate help controller class)"/>
  </includes>
  <seealso>
   <ref target="wxhtmlhelpcontroller">wxHtmlHelpController</ref>
   <ref target="wxhtml">wxHTML</ref>
  </seealso>
  <members>
   <member class="wxHelpController" name="wxHelpController">
    <function type="" name="wxHelpController">
     <description>
      <p>
       Constructs a help instance object, but does not invoke the help viewer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="~wxHelpController">
    <function type="" name="~wxHelpController">
     <description>
      <p>
       Destroys the help instance, closing down the viewer if it is running.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="Initialize">
    <function type="virtual void" name="Initialize">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="virtual void" name="Initialize">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
      <parameter type="int " name="server"></parameter>
     </parameters>
     <description>
      <p>
       Initializes the help instance with a help filename, and optionally a
       server socket number if using wxHelp (now obsolete). Does not invoke the
       help viewer. This must be called directly after the help instance object
       is created and before any attempts to communicate with the viewer.
      </p>
      <p>
       You may omit the file extension and a suitable one will be chosen. For
       wxHtmlHelpController, the extensions zip, htb and hhp will be appended
       while searching for a suitable file. For WinHelp, the hlp extension is
       appended.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="DisplayBlock">
    <function type="virtual bool" name="DisplayBlock">
     <parameters>
      <parameter type="long " name="blockNo"></parameter>
     </parameters>
     <description>
      <p>
       If the help viewer is not running, runs it and displays the file at the
       given block number.
      </p>
      <p>
       <i> WinHelp:</i>
       Refers to the context number.
      </p>
      <p>
       <i> MS HTML Help:</i>
       Refers to the context number.
      </p>
      <p>
       <i> External HTML help:</i>
       the same as for
       <ref target="wxhelpcontrollerdisplaysection">wxHelpController::DisplaySection</ref>
       .
      </p>
      <p>
       <i> wxHtmlHelpController:</i>
       <i> sectionNo</i>
       is an identifier as specified in the
       <tt> .hhc</tt>
       file. See
       <ref target="helpformat">Help files format</ref>
       .
      </p>
      <p>
       This function is for backward compatibility only, and applications should
       use
       <ref target="wxhelpcontrollerdisplaysection">wxHelpController</ref>
       instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="DisplayContents">
    <function type="virtual bool" name="DisplayContents">
     <description>
      <p>
       If the help viewer is not running, runs it and displays the contents.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="DisplayContextPopup">
    <function type="virtual bool" name="DisplayContextPopup">
     <parameters>
      <parameter type="int " name="contextId"></parameter>
     </parameters>
     <description>
      <p>
       Displays the section as a popup window using a context id.
      </p>
      <p>
       Returns false if unsuccessful or not implemented.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="DisplaySection">
    <function type="virtual bool" name="DisplaySection">
     <parameters>
      <parameter type="const wxString&amp; " name="section"></parameter>
     </parameters>
     <description>
      <p>
       If the help viewer is not running, runs it and displays the given
       section.
      </p>
      <p>
       The interpretation of
       <i> section</i>
       differs between help viewers. For most viewers, this call is equivalent
       to KeywordSearch. For MS HTML Help, wxHTML help and external HTML help,
       if
       <i> section</i>
       has a .htm or .html extension, that HTML file will be displayed;
       otherwise a keyword search is done.
      </p>
     </description>
    </function>
    <function type="virtual bool" name="DisplaySection">
     <parameters>
      <parameter type="int " name="sectionNo"></parameter>
     </parameters>
     <description>
      <p>
       If the help viewer is not running, runs it and displays the given
       section.
      </p>
      <p>
       <i> WinHelp, MS HTML Help</i>
       <i> sectionNo</i>
       is a context id.
      </p>
      <p>
       <i> External HTML help:</i>
       wxExtHelpController implements
       <i> sectionNo</i>
       as an id in a map file, which is of the form:
      </p>
      <pre>
0  wx.html             ; Index
1  wx34.html#classref  ; Class reference
2  wx204.html          ; Function reference
</pre>
      <p>
       <i> wxHtmlHelpController:</i>
       <i> sectionNo</i>
       is an identifier as specified in the
       <tt> .hhc</tt>
       file. See
       <ref target="helpformat">Help files format</ref>
       .
      </p>
      <p>
       See also the help sample for notes on how to specify section numbers for
       various help file formats.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="DisplayTextPopup">
    <function type="virtual bool" name="DisplayTextPopup">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Displays the text in a popup window, if possible.
      </p>
      <p>
       Returns false if unsuccessful or not implemented.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="GetFrameParameters">
    <function type="virtual wxFrame &#42;" name="GetFrameParameters">
     <parameters>
      <parameter type="const wxSize &#42; " name="size" value="NULL"></parameter>
      <parameter type="const wxPoint &#42; " name="pos" value="NULL"></parameter>
      <parameter type="bool &#42;" name="newFrameEachTime" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       wxHtmlHelpController returns the frame, size and position.
      </p>
      <p>
       For all other help controllers, this function does nothing and just
       returns NULL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="KeywordSearch">
    <function type="virtual bool" name="KeywordSearch">
     <parameters>
      <parameter type="const wxString&amp; " name="keyWord"></parameter>
      <parameter type="wxHelpSearchMode " name="mode" value="wxHELP\_SEARCH\_ALL"></parameter>
     </parameters>
     <description>
      <p>
       If the help viewer is not running, runs it, and searches for sections
       matching the given keyword. If one match is found, the file is displayed
       at this section. The optional parameter allows the search the index
       (wxHELP\_SEARCH\_INDEX) but this currently only supported by the
       wxHtmlHelpController.
      </p>
      <p>
       <i> WinHelp, MS HTML Help:</i>
       If more than one match is found, the first topic is displayed.
      </p>
      <p>
       <i> External HTML help, simple wxHTML help:</i>
       If more than one match is found, a choice of topics is displayed.
      </p>
      <p>
       <i> wxHtmlHelpController:</i>
       see
       <ref target="wxhtmlhelpcontrollerkeywordsearch">wxHtmlHelpController::KeywordSearch</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="LoadFile">
    <function type="virtual bool" name="LoadFile">
     <parameters>
      <parameter type="const wxString&amp; " name="file" value="&quot;&quot;"></parameter>
     </parameters>
     <description>
      <p>
       If the help viewer is not running, runs it and loads the given file. If
       the filename is not supplied or is empty, the file specified in
       <b> Initialize</b>
       is used. If the viewer is already displaying the specified file, it will
       not be reloaded. This member function may be used before each display
       call in case the user has opened another file.
      </p>
      <p>
       wxHtmlHelpController ignores this call.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="OnQuit">
    <function type="virtual bool" name="OnQuit">
     <description>
      <p>
       Overridable member called when this application's viewer is quit by the
       user.
      </p>
      <p>
       This does not work for all help controllers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="SetFrameParameters">
    <function type="virtual void" name="SetFrameParameters">
     <parameters>
      <parameter type="const wxString &amp; " name="title"></parameter>
      <parameter type="const wxSize &amp; " name="size"></parameter>
      <parameter type="const wxPoint &amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="bool " name="newFrameEachTime" value="false"></parameter>
     </parameters>
     <description>
      <p>
       For wxHtmlHelpController, the title is set (again with %s indicating the
       page title) and also the size and position of the frame if the frame is
       already open.
       <i> newFrameEachTime</i>
       is ignored.
      </p>
      <p>
       For all other help controllers this function has no effect.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="SetViewer">
    <function type="virtual void" name="SetViewer">
     <parameters>
      <parameter type="const wxString&amp; " name="viewer"></parameter>
      <parameter type="long " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Sets detailed viewer information. So far this is only relevant to
       wxExtHelpController.
      </p>
      <p>
       Some examples of usage:
      </p>
      <pre>
  m\_help.SetViewer(&quot;kdehelp&quot;);
  m\_help.SetViewer(&quot;gnome-help-browser&quot;);
  m\_help.SetViewer(&quot;netscape&quot;, wxHELP\_NETSCAPE);
</pre>
     </description>
    </function>
   </member>
   <member class="wxHelpController" name="Quit">
    <function type="virtual bool" name="Quit">
     <description>
      <p>
       If the viewer is running, quits it by disconnecting.
      </p>
      <p>
       For Windows Help, the viewer will only close if no other application is
       using it.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHelpControllerHelpProvider">
  <description>
   <p class="classdesc">
    wxHelpControllerHelpProvider is an implementation of wxHelpProvider which
    supports both context identifiers and plain text help strings. If the help
    text is an integer, it is passed to wxHelpController::DisplayContextPopup.
    Otherwise, it shows the string in a tooltip as per wxSimpleHelpProvider. If
    you use this with a wxCHMHelpController instance on windows, it will use the
    native style of tip window instead of
    <ref target="wxtipwindow">wxTipWindow</ref>
    .
   </p>
   <p class="classdesc">
    You can use the convenience function
    <b> wxContextId</b>
    to convert an integer context id to a string for passing to
    <ref target="wxwindowsethelptext">wxWindow::SetHelpText</ref>
    .
   </p>
  </description>
  <category>Online help</category>
  <shortdesc>Class for context-sensitive help provision via a help controller</shortdesc>
  <parents>
   <ref type="help" target="wxSimpleHelpProvider">wxSimpleHelpProvider</ref>
   <ref type="help" target="wxHelpProvider">wxHelpProvider</ref>
  </parents>
  <includes>
   <header name="wx/cshelp.h"/>
  </includes>
  <seealso>
   <ref target="wxhelpprovider">wxHelpProvider</ref>
   <ref target="wxsimplehelpprovider">wxSimpleHelpProvider</ref>
   <ref target="wxcontexthelp">wxContextHelp</ref>
   <ref target="wxwindowsethelptext">wxWindow::SetHelpText</ref>
   <ref target="wxwindowgethelptext">wxWindow::GetHelpText</ref>
  </seealso>
  <members>
   <member class="wxHelpControllerHelpProvider" name="wxHelpControllerHelpProvider">
    <function type="" name="wxHelpControllerHelpProvider">
     <parameters>
      <parameter type="wxHelpControllerBase&#42; " name="hc" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Note that the instance doesn't own the help controller. The help
       controller should be deleted separately.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpControllerHelpProvider" name="SetHelpController">
    <function type="void" name="SetHelpController">
     <parameters>
      <parameter type="wxHelpControllerBase&#42; " name="hc"></parameter>
     </parameters>
     <description>
      <p>
       Sets the help controller associated with this help provider.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpControllerHelpProvider" name="GetHelpController">
    <function type="wxHelpControllerBase&#42;" name="GetHelpController" suffix="const">
     <description>
      <p>
       Returns the help controller associated with this help provider.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHelpEvent">
  <description>
   <p class="classdesc">
    A help event is sent when the user has requested context-sensitive help.
    This can either be caused by the application requesting context-sensitive
    help mode via
    <ref target="wxcontexthelp">wxContextHelp</ref>
    , or (on MS Windows) by the system generating a WM\_HELP message when the
    user pressed F1 or clicked on the query button in a dialog caption.
   </p>
   <p class="classdesc">
    A help event is sent to the window that the user clicked on, and is
    propagated up the window hierarchy until the event is processed or there are
    no more event handlers. The application should call wxEvent::GetId to check
    the identity of the clicked-on window, and then either show some suitable
    help or call wxEvent::Skip if the identifier is unrecognised. Calling Skip
    is important because it allows wxWidgets to generate further events for
    ancestors of the clicked-on window. Otherwise it would be impossible to show
    help for container windows, since processing would stop after the first
    window found.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_HELP(id, func)">Process a wxEVT\_HELP event.</event>
   <event name="EVT\_HELP\_RANGE(id1, id2, func)">Process a wxEVT\_HELP event for a range of ids.</event>
  </events>
  <seealso>
   <ref target="wxcontexthelp">wxContextHelp</ref>
   ,
   <ref target="wxdialog">wxDialog</ref>
   ,
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxHelpEvent" name="wxHelpEvent">
    <function type="" name="wxHelpEvent">
     <parameters>
      <parameter type="WXTYPE " name="eventType" value="0"></parameter>
      <parameter type="wxWindowID " name="id" value="0"></parameter>
      <parameter type="const wxPoint&amp; " name="point"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpEvent" name="GetPosition">
    <function type="const wxPoint&amp;" name="GetPosition" suffix="const">
     <description>
      <p>
       Returns the left-click position of the mouse, in screen coordinates. This
       allows the application to position the help appropriately.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpEvent" name="SetPosition">
    <function type="void" name="SetPosition">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
     </parameters>
     <description>
      <p>
       Sets the left-click position of the mouse, in screen coordinates.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHelpProvider" annotation="abstract">
  <description>
   <p class="classdesc">
    wxHelpProvider is an abstract class used by a program implementing
    context-sensitive help to show the help text for the given window.
   </p>
   <p class="classdesc">
    The current help provider must be explicitly set by the application using
    wxHelpProvider::Set().
   </p>
  </description>
  <category>Online help</category>
  <shortdesc>Abstract class for context-sensitive help provision</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/cshelp.h"/>
  </includes>
  <seealso>
   <ref target="wxcontexthelp">wxContextHelp</ref>
   <ref target="wxcontexthelpbutton">wxContextHelpButton</ref>
   <ref target="wxsimplehelpprovider">wxSimpleHelpProvider</ref>
   <ref target="wxhelpcontrollerhelpprovider">wxHelpControllerHelpProvider</ref>
   <ref target="wxwindowsethelptext">wxWindow::SetHelpText</ref>
   <ref target="wxwindowgethelptext">wxWindow::GetHelpText</ref>
  </seealso>
  <members>
   <member class="wxHelpProvider" name="~wxHelpProvider">
    <function type="" name="~wxHelpProvider">
     <description>
      <p>
       Virtual destructor for any base class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpProvider" name="AddHelp">
    <function type="void" name="AddHelp">
     <parameters>
      <parameter type="wxWindowBase&#42; " name="window"></parameter>
      <parameter type="const wxString&amp; " name="text"></parameter>
     </parameters>
     <description>
      <p>
       Associates the text with the given window or id. Although all help
       providers have these functions to allow making
       <ref target="wxwindowsethelptext">wxWindow::SetHelpText</ref>
       work, not all of them implement the functions.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpProvider" name="Get">
    <function type="wxHelpProvider&#42;" name="Get">
     <description>
      <p>
       Unlike some other classes, the help provider is not created on demand.
       This must be explicitly done by the application.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpProvider" name="GetHelp">
    <function type="wxString" name="GetHelp">
     <parameters>
      <parameter type="const wxWindowBase&#42; " name="window"></parameter>
     </parameters>
     <description>
      <p>
       Gets the help string for this window. Its interpretation is dependent on
       the help provider except that empty string always means that no help is
       associated with the window.
      </p>
     </description>
    </function>
    <function type="void" name="AddHelp">
     <parameters>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="text"></parameter>
     </parameters>
     <description>
      <p>
       This version associates the given text with all windows with this id. May
       be used to set the same help string for all Cancel buttons in the
       application, for example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpProvider" name="RemoveHelp">
    <function type="void" name="RemoveHelp">
     <parameters>
      <parameter type="wxWindowBase&#42; " name="window"></parameter>
     </parameters>
     <description>
      <p>
       Removes the association between the window pointer and the help text.
       This is called by the wxWindow destructor. Without this, the table of
       help strings will fill up and when window pointers are reused, the wrong
       help string will be found.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpProvider" name="Set">
    <function type="wxHelpProvider&#42;" name="Set">
     <parameters>
      <parameter type="wxHelpProvider&#42; " name="helpProvider"></parameter>
     </parameters>
     <description>
      <p>
       Get/set the current, application-wide help provider. Returns the previous
       one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHelpProvider" name="ShowHelp">
    <function type="bool" name="ShowHelp">
     <parameters>
      <parameter type="wxWindowBase&#42; " name="window"></parameter>
     </parameters>
     <description>
      <p>
       Shows help for the given window. Uses
       <ref target="wxhelpprovidergethelp">GetHelp</ref>
       internally if applicable.
      </p>
      <p>
       Returns true if it was done, or false if no help was available for this
       window.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlCell">
  <description>
   <p class="classdesc">
    Internal data structure. It represents fragments of parsed HTML page, the
    so-called
    <b> cell</b>
    - a word, picture, table, horizontal line and so on. It is used by
    <ref target="wxhtmlwindow">wxHtmlWindow</ref>
    and
    <ref target="wxhtmlwinparser">wxHtmlWinParser</ref>
    to represent HTML page in memory.
   </p>
   <p class="classdesc">
    You can divide cells into two groups :
    <i> visible</i>
    cells with non-zero width and height and
    <i> helper</i>
    cells (usually with zero width and height) that perform special actions such
    as color or font change.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlcell.h"/>
  </includes>
  <seealso>
   <ref target="cells">Cells Overview</ref>
   ,
   <ref target="wxhtmlcontainercell">wxHtmlContainerCell</ref>
  </seealso>
  <members>
   <member class="wxHtmlCell" name="wxHtmlCell">
    <function type="" name="wxHtmlCell">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="AdjustPagebreak">
    <function type="virtual bool" name="AdjustPagebreak">
     <parameters>
      <parameter type="int &#42; " name="pagebreak"></parameter>
     </parameters>
     <description>
      <p>
       This method is used to adjust pagebreak position. The parameter is
       variable that contains y-coordinate of page break (= horizontal line that
       should not be crossed by words, images etc.). If this cell cannot be
       divided into two pieces (each one on another page) then it moves the
       pagebreak few pixels up.
      </p>
      <p>
       Returns true if pagebreak was modified, false otherwise
      </p>
      <p>
       Usage:
      </p>
      <pre>
while (container-&gt;AdjustPagebreak(&amp;p)) \{\}
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="Draw">
    <function type="virtual void" name="Draw">
     <parameters>
      <parameter type="wxDC&amp; " name="dc">
       Device context to which the cell is to be drawn
      </parameter>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
      <parameter type="int " name="view\_y1">
       y-coord of the first line visible in window. This is used to optimize
       rendering speed
      </parameter>
      <parameter type="int " name="view\_y2">
       y-coord of the last line visible in window. This is used to optimize
       rendering speed
      </parameter>
     </parameters>
     <description>
      <p>
       Renders the cell.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="DrawInvisible">
    <function type="virtual void" name="DrawInvisible">
     <parameters>
      <parameter type="wxDC&amp; " name="dc">
       Device context to which the cell is to be drawn
      </parameter>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description>
      <p>
       This method is called instead of
       <ref target="wxhtmlcelldraw">Draw</ref>
       when the cell is certainly out of the screen (and thus invisible). This
       is not nonsense - some tags (like
       <ref target="wxhtmlcolourcell">wxHtmlColourCell</ref>
       or font setter) must be drawn even if they are invisible!
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="Find">
    <function type="virtual const wxHtmlCell&#42;" name="Find">
     <parameters>
      <parameter type="int " name="condition">
       Unique integer identifier of condition
      </parameter>
      <parameter type="const void&#42; " name="param">
       Optional parameters
      </parameter>
     </parameters>
     <description>
      <p>
       Returns pointer to itself if this cell matches condition (or if any of
       the cells following in the list matches), NULL otherwise. (In other words
       if you call top-level container's Find it will return pointer to the
       first cell that matches the condition)
      </p>
      <p>
       It is recommended way how to obtain pointer to particular cell or to cell
       of some type (e.g. wxHtmlAnchorCell reacts on wxHTML\_COND\_ISANCHOR
       condition)
      </p>
      <p>
       <heading>Defined conditions</heading>
      </p>
      <table>
       <tr>
        <td>
         <b> wxHTML\_COND\_ISANCHOR</b>
        </td>
        <td>Finds particular anchor. 
<i> param</i> is pointer to wxString with name of the anchor.</td>
       </tr>
       <tr>
        <td>
         <b> wxHTML\_COND\_USER</b>
        </td>
        <td>User-defined conditions start
from this number.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetDescent">
    <function type="int" name="GetDescent" suffix="const">
     <description>
      <p>
       Returns descent value of the cell (m\_Descent member). \\helponly\{See
       explanation:
      </p>
      <p>
       \\image\{\}\{descent.bmp\} \}
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetFirstChild">
    <function type="wxHtmlCell&#42;" name="GetFirstChild">
     <description>
      <p>
       Returns pointer to the first cell in the list. You can then use child's
       <ref target="wxhtmlcellgetnext">GetNext</ref>
       method to obtain pointer to the next cell in list.
      </p>
      <p>
       <b> Note:</b>
       This shouldn't be used by the end user. If you need some way of finding
       particular cell in the list, try
       <ref target="wxhtmlcellfind">Find</ref>
       method instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetHeight">
    <function type="int" name="GetHeight" suffix="const">
     <description>
      <p>
       Returns height of the cell (m\_Height member).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetId">
    <function type="virtual wxString" name="GetId" suffix="const">
     <description>
      <p>
       Returns unique cell identifier if there is any, empty string otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetLink">
    <function type="virtual wxHtmlLinkInfo&#42;" name="GetLink" suffix="const">
     <parameters>
      <parameter type="int " name="x" value="0"></parameter>
      <parameter type="int " name="y" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Returns hypertext link if associated with this cell or NULL otherwise.
       See
       <ref target="wxhtmllinkinfo">wxHtmlLinkInfo</ref>
       . (Note: this makes sense only for visible tags).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetNext">
    <function type="wxHtmlCell&#42;" name="GetNext" suffix="const">
     <description>
      <p>
       Returns pointer to the next cell in list (see htmlcell.h if you're
       interested in details).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetParent">
    <function type="wxHtmlContainerCell&#42;" name="GetParent" suffix="const">
     <description>
      <p>
       Returns pointer to parent container.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetPosX">
    <function type="int" name="GetPosX" suffix="const">
     <description>
      <p>
       Returns X position within parent (the value is relative to parent's upper
       left corner). The returned value is meaningful only if parent's
       <ref target="wxhtmlcelllayout">Layout</ref>
       was called before!
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetPosY">
    <function type="int" name="GetPosY" suffix="const">
     <description>
      <p>
       Returns Y position within parent (the value is relative to parent's upper
       left corner). The returned value is meaningful only if parent's
       <ref target="wxhtmlcelllayout">Layout</ref>
       was called before!
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="GetWidth">
    <function type="int" name="GetWidth" suffix="const">
     <description>
      <p>
       Returns width of the cell (m\_Width member).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="Layout">
    <function type="virtual void" name="Layout">
     <parameters>
      <parameter type="int " name="w"></parameter>
     </parameters>
     <description>
      <p>
       This method performs two actions:
      </p>
      <p>
       <ol>
        <li>adjusts the cell's width according to the fact that maximal possible width is
         <i> w</i>
         . (this has sense when working with horizontal lines, tables etc.)</li>
        <li>prepares layout (=fill-in m\_PosX, m\_PosY (and sometimes m\_Height) members) based
         on actual width
         <i> w</i></li>
       </ol>
      </p>
      <p>
       It must be called before displaying cells structure because m\_PosX and
       m\_PosY are undefined (or invalid) before calling Layout.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="OnMouseClick">
    <function type="virtual void" name="OnMouseClick">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       parent window (always wxHtmlWindow!)
      </parameter>
      <parameter type="int" name="x"></parameter>
      <parameter type="int " name="y"></parameter>
      <parameter type="const wxMouseEvent&amp; " name="event"></parameter>
     </parameters>
     <note>

If you need more &quot;advanced&quot; event handling
you should use wxHtmlBinderCell instead.









</note>
     <description>
      <p>
       This function is simple event handler. Each time the user clicks mouse
       button over a cell within
       <ref target="wxhtmlwindow">wxHtmlWindow</ref>
       this method of that cell is called. Default behavior is that it calls
       <ref target="wxhtmlwindowloadpage">wxHtmlWindow::LoadPage</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="SetId">
    <function type="void" name="SetId">
     <parameters>
      <parameter type="const wxString&amp; " name="id"></parameter>
     </parameters>
     <description>
      <p>
       Sets unique cell identifier. Default value is no identifier, i.e. empty
       string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="SetLink">
    <function type="void" name="SetLink">
     <parameters>
      <parameter type="const wxHtmlLinkInfo&amp; " name="link"></parameter>
     </parameters>
     <description>
      <p>
       Sets the hypertext link associated with this cell. (Default value is
       <ref target="wxhtmllinkinfo">wxHtmlLinkInfo</ref>
       (&quot;&quot;, &quot;&quot;) (no link))
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="SetNext">
    <function type="void" name="SetNext">
     <parameters>
      <parameter type="wxHtmlCell &#42;" name="cell"></parameter>
     </parameters>
     <description>
      <p>
       Sets the next cell in the list. This shouldn't be called by user - it is
       to be used only by
       <ref target="wxhtmlcontainercellinsertcell">wxHtmlContainerCell::InsertCell</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="SetParent">
    <function type="void" name="SetParent">
     <parameters>
      <parameter type="wxHtmlContainerCell &#42;" name="p"></parameter>
     </parameters>
     <description>
      <p>
       Sets parent container of this cell. This is called from
       <ref target="wxhtmlcontainercellinsertcell">wxHtmlContainerCell::InsertCell</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlCell" name="SetPos">
    <function type="void" name="SetPos">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Sets the cell's position within parent container.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlColourCell">
  <description>
   <p class="classdesc">
    This cell changes the colour of either the background or the foreground.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxHtmlCell">wxHtmlCell</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlcell.h"/>
  </includes>
  <members>
   <member class="wxHtmlColourCell" name="wxHtmlColourCell">
    <function type="" name="wxHtmlColourCell">
     <parameters>
      <parameter type="wxColour " name="clr">
       The color
      </parameter>
      <parameter type="int " name="flags" value="wxHTML\_CLR\_FOREGROUND"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlContainerCell">
  <description>
   <p class="classdesc">
    The wxHtmlContainerCell class is an implementation of a cell that may
    contain more cells in it. It is heavily used in the wxHTML layout algorithm.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxHtmlCell">wxHtmlCell</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlcell.h"/>
  </includes>
  <seealso>
   <ref target="cells">Cells Overview</ref>
  </seealso>
  <members>
   <member class="wxHtmlContainerCell" name="wxHtmlContainerCell">
    <function type="" name="wxHtmlContainerCell">
     <parameters>
      <parameter type="wxHtmlContainerCell &#42;" name="parent"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
       <i> parent</i>
       is pointer to parent container or NULL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="GetAlignHor">
    <function type="int" name="GetAlignHor" suffix="const">
     <description>
      <p>
       Returns container's horizontal alignment.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="GetAlignVer">
    <function type="int" name="GetAlignVer" suffix="const">
     <description>
      <p>
       Returns container's vertical alignment.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="GetBackgroundColour">
    <function type="wxColour" name="GetBackgroundColour">
     <description>
      <p>
       Returns the background colour of the container or
       <tt> wxNullColour</tt>
       if no background colour is set.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="GetIndent">
    <function type="int" name="GetIndent" suffix="const">
     <parameters>
      <parameter type="int " name="ind"></parameter>
     </parameters>
     <description>
      <p>
       Returns the indentation.
       <i> ind</i>
       is one of the
       <b> wxHTML\_INDENT\_&#42;</b>
       constants.
      </p>
      <p>
       <b> Note:</b>
       You must call
       <ref target="wxhtmlcontainercellgetindentunits">GetIndentUnits</ref>
       with same
       <i> ind</i>
       parameter in order to correctly interpret the returned integer value. It
       is NOT always in pixels!
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="GetIndentUnits">
    <function type="int" name="GetIndentUnits" suffix="const">
     <parameters>
      <parameter type="int " name="ind"></parameter>
     </parameters>
     <description>
      <p>
       Returns the units of indentation for
       <i> ind</i>
       where
       <i> ind</i>
       is one of the
       <b> wxHTML\_INDENT\_&#42;</b>
       constants.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="InsertCell">
    <function type="void" name="InsertCell">
     <parameters>
      <parameter type="wxHtmlCell &#42;" name="cell"></parameter>
     </parameters>
     <description>
      <p>
       Inserts new cell into the container.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetAlign">
    <function type="void" name="SetAlign">
     <parameters>
      <parameter type="const wxHtmlTag&amp; " name="tag"></parameter>
     </parameters>
     <description>
      <p>
       Sets the container's alignment (both horizontal and vertical) according
       to the values stored in
       <i> tag</i>
       . (Tags
       <tt> ALIGN</tt>
       parameter is extracted.) In fact it is only a front-end to
       <ref target="wxhtmlcontainercellsetalignhor">SetAlignHor</ref>
       and
       <ref target="wxhtmlcontainercellsetalignver">SetAlignVer</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetAlignHor">
    <function type="void" name="SetAlignHor">
     <parameters>
      <parameter type="int " name="al"></parameter>
     </parameters>
     <description>
      <p>
       Sets the container's
       <i> horizontal alignment</i>
       . During
       <ref target="wxhtmlcelllayout">Layout</ref>
       each line is aligned according to
       <i> al</i>
       value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetAlignVer">
    <function type="void" name="SetAlignVer">
     <parameters>
      <parameter type="int " name="al"></parameter>
     </parameters>
     <description>
      <p>
       Sets the container's
       <i> vertical alignment</i>
       . This is per-line alignment!
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetBackgroundColour">
    <function type="void" name="SetBackgroundColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="clr"></parameter>
     </parameters>
     <description>
      <p>
       Sets the background colour for this container.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetBorder">
    <function type="void" name="SetBorder">
     <parameters>
      <parameter type="const wxColour&amp; " name="clr1">
       Colour of top and left lines
      </parameter>
      <parameter type="const wxColour&amp; " name="clr2">
       Colour of bottom and right lines
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the border (frame) colours. A border is a rectangle around the
       container.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetIndent">
    <function type="void" name="SetIndent">
     <parameters>
      <parameter type="int " name="i">
       Indentation value.
      </parameter>
      <parameter type="int " name="what"></parameter>
      <parameter type="int " name="units" value="wxHTML\_UNITS\_PIXELS"></parameter>
     </parameters>
     <description>
      <p>
       Sets the indentation (free space between borders of container and
       subcells).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetMinHeight">
    <function type="void" name="SetMinHeight">
     <parameters>
      <parameter type="int " name="h">
       The minimal height.
      </parameter>
      <parameter type="int " name="align" value="wxHTML\_ALIGN\_TOP">
       If height of the container is lower than the minimum height, empty space
       must be inserted somewhere in order to ensure minimal height. This
       parameter is one of
       <b> wxHTML\_ALIGN\_TOP,
wxHTML\_ALIGN\_BOTTOM, wxHTML\_ALIGN\_CENTER</b>
       . It refers to the
       <i> contents</i>
       , not to the empty place.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets minimal height of the container.
      </p>
      <p>
       When container's
       <ref target="wxhtmlcelllayout">Layout</ref>
       is called, m\_Height is set depending on layout of subcells to the height
       of area covered by layed-out subcells. Calling this method guarantees you
       that the height of container is never smaller than
       <i> h</i>
       - even if the subcells cover much smaller area.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlContainerCell" name="SetWidthFloat">
    <function type="void" name="SetWidthFloat">
     <parameters>
      <parameter type="int " name="w">
       Width of the container. If the value is negative it means complement to
       full width of parent container (e.g.
       <tt> SetWidthFloat(-50, wxHTML\_UNITS\_PIXELS)</tt>
       sets the width of container to parent's width minus 50 pixels. This is
       useful when creating tables - you can call SetWidthFloat(50) and
       SetWidthFloat(-50))
      </parameter>
      <parameter type="int " name="units"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetWidthFloat">
     <parameters>
      <parameter type="const wxHtmlTag&amp; " name="tag">
       In the second version of method,
       <i> w</i>
       and
       <i> units</i>
       info is extracted from tag's
       <tt> WIDTH</tt>
       parameter.
      </parameter>
      <parameter type="double " name="pixel\_scale" value="1.0"></parameter>
     </parameters>
     <description>
      <p>
       Sets floating width adjustment.
      </p>
      <p>
       The normal behaviour of container is that its width is the same as the
       width of parent container (and thus you can have only one sub-container
       per line). You can change this by setting FWA.
      </p>
      <p>
       <i> pixel\_scale</i>
       is number of real pixels that equals to 1 HTML pixel.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlDCRenderer">
  <description>
   <p class="classdesc">
    This class can render HTML document into a specified area of a DC. You can
    use it in your own printing code, although use of
    <ref target="wxhtmleasyprinting">wxHtmlEasyPrinting</ref>
    or
    <ref target="wxhtmlprintout">wxHtmlPrintout</ref>
    is strongly recommended.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmprint.h"/>
  </includes>
  <members>
   <member class="wxHtmlDCRenderer" name="wxHtmlDCRenderer">
    <function type="" name="wxHtmlDCRenderer">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlDCRenderer" name="SetDC">
    <function type="void" name="SetDC">
     <parameters>
      <parameter type="wxDC&#42; " name="dc"></parameter>
      <parameter type="double " name="pixel\_scale" value="1.0"></parameter>
     </parameters>
     <description>
      <p>
       Assign DC instance to the renderer.
      </p>
      <p>
       <i> pixel\_scale</i>
       can be used when rendering to high-resolution DCs (e.g. printer) to
       adjust size of pixel metrics. (Many dimensions in HTML are given in
       pixels -- e.g. image sizes. 300x300 image would be only one inch wide on
       typical printer. With pixel\_scale = 3.0 it would be 3 inches.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlDCRenderer" name="SetFonts">
    <function type="void" name="SetFonts">
     <parameters>
      <parameter type="wxString " name="normal\_face"></parameter>
      <parameter type="wxString " name="fixed\_face"></parameter>
      <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Sets fonts. See
       <ref target="wxhtmlwindowsetfonts">wxHtmlWindow::SetFonts</ref>
       for detailed description.
      </p>
      <p>
       See also
       <ref target="wxhtmldcrenderersetsize">SetSize</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlDCRenderer" name="SetSize">
    <function type="void" name="SetSize">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
     </parameters>
     <description>
      <p>
       Set size of output rectangle, in pixels. Note that you
       <b> can't</b>
       change width of the rectangle between calls to
       <ref target="wxhtmldcrendererrender">Render</ref>
       ! (You can freely change height.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlDCRenderer" name="SetHtmlText">
    <function type="void" name="SetHtmlText">
     <parameters>
      <parameter type="const wxString&amp; " name="html">
       HTML text. This is
       <i> not</i>
       a filename.
      </parameter>
      <parameter type="const wxString&amp; " name="basepath" value="wxEmptyString">
       base directory (html string would be stored there if it was in file). It
       is used to determine path for loading images, for example.
      </parameter>
      <parameter type="bool " name="isdir" value="true">
       false if basepath is filename, true if it is directory name (see
       <ref target="wxfilesystem">wxFileSystem</ref>
       for detailed explanation)
      </parameter>
     </parameters>
     <description>
      <p>
       Assign text to the renderer.
       <ref target="wxhtmldcrendererrender">Render</ref>
       then draws the text onto DC.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlDCRenderer" name="Render">
    <function type="int" name="Render">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
      <parameter type="int " name="from" value="0">
       y-coordinate of the very first visible cell
      </parameter>
      <parameter type="int " name="dont\_render" value="false">
       if true then this method only returns y coordinate of the next page and
       does not output anything
      </parameter>
     </parameters>
     <note>

The Following three methods <b> must</b> always be called before any call to Render (preferably
in this order):

<ul>
       <li><ref target="wxhtmldcrenderersetdc">SetDC</ref></li>
       <li><ref target="wxhtmldcrenderersetsize">SetSize</ref></li>
       <li><ref target="wxhtmldcrenderersethtmltext">SetHtmlText</ref></li>
      </ul>
      <b> Render() changes the DC's user scale and does NOT restore it.</b>
     </note>
     <description>
      <p>
       Renders HTML text to the DC.
      </p>
      <p>
       Returned value is y coordinate of first cell than didn't fit onto page.
       Use this value as
       <i> from</i>
       in next call to Render in order to print multipages document.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlDCRenderer" name="GetTotalHeight">
    <function type="int" name="GetTotalHeight">
     <description>
      <p>
       Returns the height of the HTML text. This is important if area height
       (see
       <ref target="wxhtmldcrenderersetsize">SetSize</ref>
       ) is smaller that total height and thus the page cannot fit into it. In
       that case you're supposed to call
       <ref target="wxhtmldcrendererrender">Render</ref>
       as long as its return value is smaller than GetTotalHeight's.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlEasyPrinting">
  <description>
   <p class="classdesc">
    This class provides very simple interface to printing architecture. It
    allows you to print HTML documents using only a few commands.
   </p>
  </description>
  <category>HTML classes</category>
  <shortdesc>Simple class for printing HTML</shortdesc>
  <note>

Do not create this class on the stack only. You should create an instance on app 
startup and use this instance for all printing operations. The reason is that
this class stores various settings in it.

</note>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmprint.h"/>
  </includes>
  <members>
   <member class="wxHtmlEasyPrinting" name="wxHtmlEasyPrinting">
    <function type="" name="wxHtmlEasyPrinting">
     <parameters>
      <parameter type="const wxString&amp; " name="name" value="&quot;Printing&quot;">
       Name of the printing object. Used by preview frames and setup dialogs.
      </parameter>
      <parameter type="wxWindow&#42; " name="parentWindow" value="NULL">
       pointer to the window that will own the preview frame and setup dialogs.
       May be NULL.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="PreviewFile">
    <function type="bool" name="PreviewFile">
     <parameters>
      <parameter type="const wxString&amp; " name="htmlfile"></parameter>
     </parameters>
     <description>
      <p>
       Preview HTML file.
      </p>
      <p>
       Returns false in case of error -- call
       <ref target="wxprintergetlasterror">wxPrinter::GetLastError</ref>
       to get detailed information about the kind of the error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="PreviewText">
    <function type="bool" name="PreviewText">
     <parameters>
      <parameter type="const wxString&amp; " name="htmltext">
       HTML text.
      </parameter>
      <parameter type="const wxString&amp; " name="basepath" value="wxEmptyString">
       base directory (html string would be stored there if it was in file). It
       is used to determine path for loading images, for example.
      </parameter>
     </parameters>
     <description>
      <p>
       Preview HTML text (not file!).
      </p>
      <p>
       Returns false in case of error -- call
       <ref target="wxprintergetlasterror">wxPrinter::GetLastError</ref>
       to get detailed information about the kind of the error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="PrintFile">
    <function type="bool" name="PrintFile">
     <parameters>
      <parameter type="const wxString&amp; " name="htmlfile"></parameter>
     </parameters>
     <description>
      <p>
       Print HTML file.
      </p>
      <p>
       Returns false in case of error -- call
       <ref target="wxprintergetlasterror">wxPrinter::GetLastError</ref>
       to get detailed information about the kind of the error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="PrintText">
    <function type="bool" name="PrintText">
     <parameters>
      <parameter type="const wxString&amp; " name="htmltext">
       HTML text.
      </parameter>
      <parameter type="const wxString&amp; " name="basepath" value="wxEmptyString">
       base directory (html string would be stored there if it was in file). It
       is used to determine path for loading images, for example.
      </parameter>
     </parameters>
     <description>
      <p>
       Print HTML text (not file!).
      </p>
      <p>
       Returns false in case of error -- call
       <ref target="wxprintergetlasterror">wxPrinter::GetLastError</ref>
       to get detailed information about the kind of the error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="PageSetup">
    <function type="void" name="PageSetup">
     <description>
      <p>
       Display page setup dialog and allows the user to modify settings.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="SetFonts">
    <function type="void" name="SetFonts">
     <parameters>
      <parameter type="wxString " name="normal\_face"></parameter>
      <parameter type="wxString " name="fixed\_face"></parameter>
      <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Sets fonts. See
       <ref target="wxhtmlwindowsetfonts">wxHtmlWindow::SetFonts</ref>
       for detailed description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="SetHeader">
    <function type="void" name="SetHeader">
     <parameters>
      <parameter type="const wxString&amp; " name="header">
       HTML text to be used as header. You can use macros in it:
       <ul>
        <li>@PAGENUM@ is replaced by page number</li>
        <li>@PAGESCNT@ is replaced by total number of pages</li>
       </ul>
      </parameter>
      <parameter type="int " name="pg" value="wxPAGE\_ALL">
       one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.
      </parameter>
     </parameters>
     <description>
      <p>
       Set page header.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="SetFooter">
    <function type="void" name="SetFooter">
     <parameters>
      <parameter type="const wxString&amp; " name="footer">
       HTML text to be used as footer. You can use macros in it:
       <ul>
        <li>@PAGENUM@ is replaced by page number</li>
        <li>@PAGESCNT@ is replaced by total number of pages</li>
       </ul>
      </parameter>
      <parameter type="int " name="pg" value="wxPAGE\_ALL">
       one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.
      </parameter>
     </parameters>
     <description>
      <p>
       Set page footer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="GetPrintData">
    <function type="wxPrintData&#42;" name="GetPrintData">
     <description>
      <p>
       Returns pointer to
       <ref target="wxprintdata">wxPrintData</ref>
       instance used by this class. You can set its parameters (via SetXXXX
       methods).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlEasyPrinting" name="GetPageSetupData">
    <function type="wxPageSetupDialogData&#42;" name="GetPageSetupData">
     <description>
      <p>
       Returns a pointer to
       <ref target="wxpagesetupdialogdata">wxPageSetupDialogData</ref>
       instance used by this class. You can set its parameters (via SetXXXX
       methods).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlFilter" annotation="abstract">
  <description>
   <p class="classdesc">
    This class is the parent class of input filters for
    <ref target="wxhtmlwindow">wxHtmlWindow</ref>
    . It allows you to read and display files of different file formats.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlfilt.h"/>
  </includes>
  <seealso>
   <ref target="filters">Overview</ref>
  </seealso>
  <members>
   <member class="wxHtmlFilter" name="wxHtmlFilter">
    <function type="" name="wxHtmlFilter">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlFilter" name="CanRead">
    <function type="bool" name="CanRead">
     <parameters>
      <parameter type="const wxFSFile&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if this filter is capable of reading file
       <i> file</i>
       .
      </p>
      <p>
       Example:
      </p>
      <pre>
bool MyFilter::CanRead(const wxFSFile&amp; file)
\{
    return (file.GetMimeType() == &quot;application/x-ugh&quot;);
\}
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlFilter" name="ReadFile">
    <function type="wxString" name="ReadFile">
     <parameters>
      <parameter type="const wxFSFile&amp; " name="file"></parameter>
     </parameters>
     <description>
      <p>
       Reads the file and returns string with HTML document.
      </p>
      <p>
       Example:
      </p>
      <pre>
wxString MyImgFilter::ReadFile(const wxFSFile&amp; file)
\{
    return &quot;&lt;html&gt;&lt;body&gt;&lt;img src=\\&quot;&quot; +
           file.GetLocation() +
	   &quot;\\&quot;&gt;&lt;/body&gt;&lt;/html&gt;&quot;;
\}
</pre>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlHelpController">
  <description>
   <p class="classdesc">
    <b> WARNING!</b>
    Although this class has an API compatible with other wxWidgets help
    controllers as documented by
    <ref target="wxhelpcontroller">wxHelpController</ref>
    , it is recommended that you use the enhanced capabilities of
    wxHtmlHelpController's API.
   </p>
   <p class="classdesc">
    This help controller provides an easy way of displaying HTML help in your
    application (see
    <i> test</i>
    sample). The help system is based on
    <b> books</b>
    (see
    <ref target="wxhtmlhelpcontrolleraddbook">AddBook</ref>
    ). A book is a logical section of documentation (for example &quot;User's
    Guide&quot; or &quot;Programmer's Guide&quot; or &quot;C++ Reference&quot;
    or &quot;wxWidgets Reference&quot;). The help controller can handle as many
    books as you want.
   </p>
   <p class="classdesc">
    wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc)
    as its native format. The file format is described
    <ref target="helpformat">here</ref>
    . Have a look at docs/html/ directory where sample project files are stored.
   </p>
   <p class="classdesc">
    You can use Tex2RTF to produce these files when generating HTML, if you set
    <b> htmlWorkshopFiles</b>
    to
    <b> true</b>
    in your tex2rtf.ini file.
   </p>
  </description>
  <category>Online help</category>
  <shortdesc>HTML help controller class</shortdesc>
  <note>

It is strongly recommended to use preprocessed <b> .hhp.cached</b> version of
projects. It can be either created on-the-fly (see 
<ref target="wxhtmlhelpcontrollersettempdir">SetTempDir</ref>) or you can use 
<b> hhp2cached</b> utility from <i> utils/hhp2cached</i> to create it and
distribute the cached version together with helpfiles. See <i> samples/html/help</i> 
sample for demonstration of its use.

</note>
  <parents>
   <ref type="help" target="wxHelpControllerBase">wxHelpControllerBase</ref>
  </parents>
  <includes>
   <header name="wx/html/helpctrl.h"/>
  </includes>
  <seealso>
   <ref target="wxhelpcontroller">Information about wxBestHelpController</ref>
  </seealso>
  <members>
   <member class="wxHtmlHelpController" name="wxHtmlHelpController">
    <function type="" name="wxHtmlHelpController">
     <parameters>
      <parameter type="int " name="style" value="wxHF\_DEFAULT\_STYLE"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
      <p>
       <i> style</i>
       is combination of these flags:
      </p>
      <table>
       <tr>
        <td>wxHF\_TOOLBAR</td>
        <td>Help frame has toolbar.</td>
       </tr>
       <tr>
        <td>wxHF\_FLAT\_TOOLBAR</td>
        <td>Help frame has toolbar with flat buttons (aka coolbar).</td>
       </tr>
       <tr>
        <td>wxHF\_CONTENTS</td>
        <td>Help frame has contents panel.</td>
       </tr>
       <tr>
        <td>wxHF\_INDEX</td>
        <td>Help frame has index panel.</td>
       </tr>
       <tr>
        <td>wxHF\_SEARCH</td>
        <td>Help frame has search panel.</td>
       </tr>
       <tr>
        <td>wxHF\_BOOKMARKS</td>
        <td>Help frame has bookmarks controls.</td>
       </tr>
       <tr>
        <td>wxHF\_OPEN\_FILES</td>
        <td>Allow user to open arbitrary HTML document.</td>
       </tr>
       <tr>
        <td>wxHF\_PRINT</td>
        <td>Toolbar contains &quot;print&quot; button.</td>
       </tr>
       <tr>
        <td>wxHF\_MERGE\_BOOKS</td>
        <td>Contents pane does not show
book nodes. All books are merged together and appear as single book to the
user.</td>
       </tr>
       <tr>
        <td>wxHF\_ICONS\_BOOK</td>
        <td>All nodes in contents pane
have a book icon. This is how Microsoft's HTML help viewer behaves.</td>
       </tr>
       <tr>
        <td>wxHF\_ICONS\_FOLDER</td>
        <td>Book nodes in contents pane have
a book icon, book's sections have a folder icon. This is the default.</td>
       </tr>
       <tr>
        <td>wxHF\_ICONS\_BOOK\_CHAPTER</td>
        <td>Both book nodes and
nodes of top-level sections of a book (i.e. chapters) have a book icon,
all other sections (sections, subsections, ...) have a folder icon.</td>
       </tr>
       <tr>
        <td>wxHF\_DEFAULT\_STYLE</td>
        <td>
         <tt> wxHF\_TOOLBAR | wxHF\_CONTENTS
| wxHF\_INDEX | wxHF\_SEARCH | wxHF\_BOOKMARKS | wxHF\_PRINT</tt>
        </td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="AddBook">
    <function type="bool" name="AddBook">
     <parameters>
      <parameter type="const wxFileName&amp; " name="book\_file">
       Help book filename. It is recommended to use this prototype instead of
       the one taking URL, because it is less error-prone.
      </parameter>
      <parameter type="bool " name="show\_wait\_msg">
       If true then a decoration-less window with progress message is displayed.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="AddBook">
     <parameters>
      <parameter type="const wxString&amp; " name="book\_url">
       Help book URL (note that syntax of filename and URL is different on most
       platforms)
      </parameter>
      <parameter type="bool " name="show\_wait\_msg">
       If true then a decoration-less window with progress message is displayed.
      </parameter>
     </parameters>
     <note>

Don't forget to install wxFileSystem ZIP handler with
<tt> wxFileSystem::AddHandler(new wxZipFSHandler);</tt> before calling this method
on a .zip or .htb file!

</note>
     <description>
      <p>
       Adds book (
       <ref target="helpformat">.hhp file</ref>
       - HTML Help Workshop project file) into the list of loaded books. This
       must be called at least once before displaying any help.
      </p>
      <p>
       <i> book\_file</i>
       or
       <i> book\_url</i>
       may be either .hhp file or ZIP archive that contains arbitrary number of
       .hhp files in top-level directory. This ZIP archive must have .zip or
       .htb extension (the latter stands for &quot;HTML book&quot;). In other
       words,
       <tt> AddBook(wxFileName(&quot;help.zip&quot;))</tt>
       is possible and, in fact, recommended way.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="CreateHelpFrame">
    <function type="virtual wxHtmlHelpFrame&#42;" name="CreateHelpFrame">
     <parameters>
      <parameter type="wxHtmlHelpData &#42; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       This protected virtual method may be overridden so that the controller
       uses slightly different frame. See
       <i> samples/html/helpview</i>
       sample for an example.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="Display">
    <function type="void" name="Display">
     <parameters>
      <parameter type="const wxString&amp; " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Displays page
       <i> x</i>
       . This is THE important function - it is used to display the help in
       application.
      </p>
      <p>
       You can specify the page in many ways:
      </p>
      <p>
       <ul>
        <li>as direct filename of HTML document</li>
        <li>as chapter name (from contents) or as a book name</li>
        <li>as some word from index</li>
        <li>even as any word (will be searched)</li>
       </ul>
      </p>
      <p>
       Looking for the page runs in these steps:
      </p>
      <p>
       <ol>
        <li>try to locate file named x (if x is for example &quot;doc/howto.htm&quot;)</li>
        <li>try to open starting page of book named x</li>
        <li>try to find x in contents (if x is for example &quot;How To ...&quot;)</li>
        <li>try to find x in index (if x is for example &quot;How To ...&quot;)</li>
        <li>switch to Search panel and start searching</li>
       </ol>
      </p>
     </description>
    </function>
    <function type="void" name="Display">
     <parameters>
      <parameter type="const int " name="id"></parameter>
     </parameters>
     <description>
      <p>
       This alternative form is used to search help contents by numeric IDs.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="DisplayContents">
    <function type="void" name="DisplayContents">
     <description>
      <p>
       Displays help window and focuses contents panel.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="DisplayIndex">
    <function type="void" name="DisplayIndex">
     <description>
      <p>
       Displays help window and focuses index panel.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="KeywordSearch">
    <function type="bool" name="KeywordSearch">
     <parameters>
      <parameter type="const wxString&amp; " name="keyword"></parameter>
      <parameter type="wxHelpSearchMode " name="mode" value="wxHELP\_SEARCH\_ALL"></parameter>
     </parameters>
     <description>
      <p>
       Displays help window, focuses search panel and starts searching. Returns
       true if the keyword was found. Optionally it searches through the index
       (mode = wxHELP\_SEARCH\_INDEX), default the content (mode =
       wxHELP\_SEARCH\_ALL).
      </p>
      <p>
       <b> Important:</b>
       KeywordSearch searches only pages listed in .hhc file(s). You should list
       all pages in the contents file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="ReadCustomization">
    <function type="void" name="ReadCustomization">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="cfg"></parameter>
      <parameter type="wxString " name="path" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Reads the controller's setting (position of window, etc.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="SetTempDir">
    <function type="void" name="SetTempDir">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Sets the path for storing temporary files - cached binary versions of
       index and contents files. These binary forms are much faster to read.
       Default value is empty string (empty string means that no cached data are
       stored). Note that these files are
       <i> not</i>
       deleted when program exits.
      </p>
      <p>
       Once created these cached files will be used in all subsequent executions
       of your application. If cached files become older than corresponding .hhp
       file (e.g. if you regenerate documentation) it will be refreshed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="SetTitleFormat">
    <function type="void" name="SetTitleFormat">
     <parameters>
      <parameter type="const wxString&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Sets format of title of the frame. Must contain exactly one
       &quot;%s&quot; (for title of displayed HTML page).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="UseConfig">
    <function type="void" name="UseConfig">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="config"></parameter>
      <parameter type="const wxString&amp; " name="rootpath" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Associates
       <i> config</i>
       object with the controller.
      </p>
      <p>
       If there is associated config object, wxHtmlHelpController automatically
       reads and writes settings (including wxHtmlWindow's settings) when
       needed.
      </p>
      <p>
       The only thing you must do is create wxConfig object and call UseConfig.
      </p>
      <p>
       If you do not use
       <i> UseConfig</i>
       , wxHtmlHelpController will use default wxConfig object if available (for
       details see
       <ref target="wxconfigbaseget">wxConfigBase::Get</ref>
       and
       <ref target="wxconfigbaseset">wxConfigBase::Set</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpController" name="WriteCustomization">
    <function type="void" name="WriteCustomization">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="cfg"></parameter>
      <parameter type="wxString " name="path" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Stores controllers setting (position of window etc.)
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlHelpData">
  <description>
   <p class="classdesc">
    This class is used by
    <ref target="wxhtmlhelpcontroller">wxHtmlHelpController</ref>
    and
    <ref target="wxhtmlhelpframe">wxHtmlHelpFrame</ref>
    to access HTML help items. It is internal class and should not be used
    directly - except for the case you're writing your own HTML help controller.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/helpdata.h"/>
  </includes>
  <members>
   <member class="wxHtmlHelpData" name="wxHtmlHelpData">
    <function type="" name="wxHtmlHelpData">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="AddBook">
    <function type="bool" name="AddBook">
     <parameters>
      <parameter type="const wxString&amp; " name="book\_url"></parameter>
     </parameters>
     <description>
      <p>
       Adds new book.
       <i> book</i>
       is URL (not filename!) of HTML help project (hhp) or ZIP file that
       contains arbitrary number of .hhp projects (this zip file can have either
       .zip or .htb extension, htb stands for &quot;html book&quot;). Returns
       success.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="FindPageById">
    <function type="wxString" name="FindPageById">
     <parameters>
      <parameter type="int " name="id"></parameter>
     </parameters>
     <description>
      <p>
       Returns page's URL based on integer ID stored in project.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="FindPageByName">
    <function type="wxString" name="FindPageByName">
     <parameters>
      <parameter type="const wxString&amp; " name="page"></parameter>
     </parameters>
     <description>
      <p>
       Returns page's URL based on its (file)name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="GetBookRecArray">
    <function type="const wxHtmlBookRecArray&amp;" name="GetBookRecArray">
     <description>
      <p>
       Returns array with help books info.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="GetContentsArray">
    <function type="const wxHtmlHelpDataItems&amp;" name="GetContentsArray">
     <description>
      <p>
       Returns reference to array with contents entries.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="GetIndexArray">
    <function type="const wxHtmlHelpDataItems&amp;" name="GetIndexArray">
     <description>
      <p>
       Returns reference to array with index entries.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpData" name="SetTempDir">
    <function type="void" name="SetTempDir">
     <parameters>
      <parameter type="const wxString&amp; " name="path"></parameter>
     </parameters>
     <description>
      <p>
       Sets temporary directory where binary cached versions of MS HTML Workshop
       files will be stored. (This is turned off by default and you can enable
       this feature by setting non-empty temp dir.)
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlHelpFrame">
  <description>
   <p class="classdesc">
    This class is used by
    <ref target="wxhtmlhelpcontroller">wxHtmlHelpController</ref>
    to display help. It is an internal class and should not be used directly -
    except for the case when you're writing your own HTML help controller.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxFrame">wxFrame</ref>
  </parents>
  <includes>
   <header name="wx/html/helpfrm.h"/>
  </includes>
  <members>
   <member class="wxHtmlHelpFrame" name="wxHtmlHelpFrame">
    <function type="" name="wxHtmlHelpFrame">
     <parameters>
      <parameter type="wxHtmlHelpData&#42; " name="data" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxHtmlHelpFrame">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="int " name="wxWindowID"></parameter>
      <parameter type="const wxString&amp; " name="title" value="wxEmptyString"></parameter>
      <parameter type="int " name="style" value="wxHF\_DEFAULT\_STYLE"></parameter>
      <parameter type="wxHtmlHelpData&#42; " name="data" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
      <p>
       <i> style</i>
       is combination of these flags:
      </p>
      <table>
       <tr>
        <td>wxHF\_TOOLBAR</td>
        <td>Help frame has toolbar.</td>
       </tr>
       <tr>
        <td>wxHF\_FLAT\_TOOLBAR</td>
        <td>Help frame has toolbar with flat buttons (aka coolbar).</td>
       </tr>
       <tr>
        <td>wxHF\_CONTENTS</td>
        <td>Help frame has contents panel.</td>
       </tr>
       <tr>
        <td>wxHF\_INDEX</td>
        <td>Help frame has index panel.</td>
       </tr>
       <tr>
        <td>wxHF\_SEARCH</td>
        <td>Help frame has search panel.</td>
       </tr>
       <tr>
        <td>wxHF\_BOOKMARKS</td>
        <td>Help frame has bookmarks controls.</td>
       </tr>
       <tr>
        <td>wxHF\_OPEN\_FILES</td>
        <td>Allow user to open arbitrary HTML document.</td>
       </tr>
       <tr>
        <td>wxHF\_PRINT</td>
        <td>Toolbar contains &quot;print&quot; button.</td>
       </tr>
       <tr>
        <td>wxHF\_MERGE\_BOOKS</td>
        <td>Contents pane does not show
book nodes. All books are merged together and appear as single book to the
user.</td>
       </tr>
       <tr>
        <td>wxHF\_ICONS\_BOOK</td>
        <td>All nodes in contents pane
have a book icon. This is how Microsoft's HTML help viewer behaves.</td>
       </tr>
       <tr>
        <td>wxHF\_ICONS\_FOLDER</td>
        <td>Book nodes in contents pane have
a book icon, book's sections have a folder icon. This is the default.</td>
       </tr>
       <tr>
        <td>wxHF\_ICONS\_BOOK\_CHAPTER</td>
        <td>Both book nodes and
nodes of top-level sections of a book (i.e. chapters) have a book icon,
all other sections (sections, subsections, ...) have a folder icon.</td>
       </tr>
       <tr>
        <td>wxHF\_DEFAULT\_STYLE</td>
        <td>
         <tt> wxHF\_TOOLBAR | wxHF\_CONTENTS
| wxHF\_INDEX | wxHF\_SEARCH | wxHF\_BOOKMARKS | wxHF\_PRINT</tt>
        </td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title" value="wxEmptyString"></parameter>
      <parameter type="int " name="style" value="wxHF\_DEFAULT\_STYLE"></parameter>
     </parameters>
     <description>
      <p>
       Creates the frame. See
       <ref target="wxhtmlhelpframewxhtmlhelpframe">the constructor</ref>
       for parameters description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="CreateContents">
    <function type="void" name="CreateContents">
     <description>
      <p>
       Creates contents panel. (May take some time.)
      </p>
      <p>
       Protected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="CreateIndex">
    <function type="void" name="CreateIndex">
     <description>
      <p>
       Creates index panel. (May take some time.)
      </p>
      <p>
       Protected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="CreateSearch">
    <function type="void" name="CreateSearch">
     <description>
      <p>
       Creates search panel.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="Display">
    <function type="bool" name="Display">
     <parameters>
      <parameter type="const wxString&amp; " name="x"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Display">
     <parameters>
      <parameter type="const int " name="id"></parameter>
     </parameters>
     <description>
      <p>
       Displays page x. If not found it will give the user the choice of
       searching books. Looking for the page runs in these steps:
      </p>
      <p>
       <ol>
        <li>try to locate file named x (if x is for example &quot;doc/howto.htm&quot;)</li>
        <li>try to open starting page of book x</li>
        <li>try to find x in contents (if x is for example &quot;How To ...&quot;)</li>
        <li>try to find x in index (if x is for example &quot;How To ...&quot;)</li>
       </ol>
      </p>
      <p>
       The second form takes numeric ID as the parameter. (uses extension to MS
       format, &lt;param name=&quot;ID&quot; value=id&gt;)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="DisplayContents">
    <function type="bool" name="DisplayContents">
     <description>
      <p>
       Displays contents panel.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="DisplayIndex">
    <function type="bool" name="DisplayIndex">
     <description>
      <p>
       Displays index panel.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="GetData">
    <function type="wxHtmlHelpData&#42;" name="GetData">
     <description>
      <p>
       Return wxHtmlHelpData object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="KeywordSearch">
    <function type="bool" name="KeywordSearch">
     <parameters>
      <parameter type="const wxString&amp; " name="keyword"></parameter>
      <parameter type="wxHelpSearchMode " name="mode" value="wxHELP\_SEARCH\_ALL"></parameter>
     </parameters>
     <description>
      <p>
       Search for given keyword. Optionally it searches through the index (mode
       = wxHELP\_SEARCH\_INDEX), default the content (mode = wxHELP\_SEARCH\_ALL).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="ReadCustomization">
    <function type="void" name="ReadCustomization">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="cfg"></parameter>
      <parameter type="const wxString&amp; " name="path" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Reads user's settings for this frame (see
       <ref target="wxhtmlhelpcontrollerreadcustomization">wxHtmlHelpController::ReadCustomization</ref>
       )
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="RefreshLists">
    <function type="void" name="RefreshLists">
     <description>
      <p>
       Refresh all panels. This is necessary if a new book was added.
      </p>
      <p>
       Protected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="SetTitleFormat">
    <function type="void" name="SetTitleFormat">
     <parameters>
      <parameter type="const wxString&amp; " name="format"></parameter>
     </parameters>
     <description>
      <p>
       Sets the frame's title format.
       <i> format</i>
       must contain exactly one &quot;%s&quot; (it will be replaced by the page
       title).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="UseConfig">
    <function type="void" name="UseConfig">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="config"></parameter>
      <parameter type="const wxString&amp; " name="rootpath" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Add books to search choice panel.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="WriteCustomization">
    <function type="void" name="WriteCustomization">
     <parameters>
      <parameter type="wxConfigBase&#42; " name="cfg"></parameter>
      <parameter type="const wxString&amp; " name="path" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Saves user's settings for this frame (see
       <ref target="wxhtmlhelpcontrollerwritecustomization">wxHtmlHelpController::WriteCustomization</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlHelpFrame" name="AddToolbarButtons">
    <function type="virtual void" name="AddToolbarButtons">
     <parameters>
      <parameter type="wxToolBar &#42;" name="toolBar"></parameter>
      <parameter type="int " name="style"></parameter>
     </parameters>
     <description>
      <p>
       You may override this virtual method to add more buttons into help
       frame's toolbar.
       <i> toolBar</i>
       is a pointer to the toolbar and
       <i> style</i>
       is the style flag as passed to Create method.
      </p>
      <p>
       wxToolBar::Realize is called immediately after returning from this
       function.
      </p>
      <p>
       See
       <i> samples/html/helpview</i>
       for an example.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlLinkInfo">
  <description>
   <p class="classdesc">
    This class stores all necessary information about hypertext links (as
    represented by
    <tt> &lt;A&gt;</tt>
    tag in HTML documents). In current implementation it stores URL and target
    frame name.
    <i> Note that frames are not currently supported by wxHTML!</i>
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlcell.h"/>
  </includes>
  <members>
   <member class="wxHtmlLinkInfo" name="wxHtmlLinkInfo">
    <function type="" name="wxHtmlLinkInfo">
     <description>
      <p>
       Default ctor.
      </p>
     </description>
    </function>
    <function type="" name="wxHtmlLinkInfo">
     <parameters>
      <parameter type="const wxString&amp; " name="href"></parameter>
      <parameter type="const wxString&amp; " name="target" value="wxEmptyString"></parameter>
     </parameters>
     <description>
      <p>
       Construct hypertext link from HREF (aka URL) and TARGET (name of target
       frame).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlLinkInfo" name="GetEvent">
    <function type="const wxMouseEvent &#42;" name="GetEvent">
     <description>
      <p>
       Return pointer to event that generated OnLinkClicked event. Valid only
       within
       <ref target="wxhtmlwindowonlinkclicked">wxHtmlWindow::OnLinkClicked</ref>
       , NULL otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlLinkInfo" name="GetHtmlCell">
    <function type="const wxHtmlCell &#42;" name="GetHtmlCell">
     <description>
      <p>
       Return pointer to the cell that was clicked. Valid only within
       <ref target="wxhtmlwindowonlinkclicked">wxHtmlWindow::OnLinkClicked</ref>
       , NULL otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlLinkInfo" name="GetHref">
    <function type="wxString" name="GetHref">
     <description>
      <p>
       Return
       <i> HREF</i>
       value of the
       <tt> &lt;A&gt;</tt>
       tag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlLinkInfo" name="GetTarget">
    <function type="wxString" name="GetTarget">
     <description>
      <p>
       Return
       <i> TARGET</i>
       value of the
       <tt> &lt;A&gt;</tt>
       tag (this value is used to specify in which frame should be the page
       pointed by
       <ref target="wxhtmllinkinfogethref">Href</ref>
       opened).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlListBox" annotation="abstract">
  <description>
   <p class="classdesc">
    wxHtmlListBox is an implementation of
    <ref target="wxvlistbox">wxVListBox</ref>
    which shows HTML content in the listbox rows. This is still an abstract base
    class and you will need to derive your own class from it (see htlbox sample
    for the example) but you will only need to override a single
    <ref target="wxhtmllistboxongetitem">OnGetItem()</ref>
    function.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A listbox showing HTML content</shortdesc>
  <parents>
   <ref type="help" target="wxVListBox">wxVListBox</ref>
  </parents>
  <includes>
   <header name="wx/htmllbox.h"/>
  </includes>
  <members>
   <member class="wxHtmlListBox" name="wxHtmlListBox">
    <function type="" name="wxHtmlListBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id" value="wxID\_ANY"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="size\_t " name="countItems" value="0"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxString&amp; " name="name" value="wxVListBoxNameStr"></parameter>
     </parameters>
     <description>
      <p>
       Normal constructor which calls
       <ref target="wxhtmllistboxcreate">Create()</ref>
       internally.
      </p>
     </description>
    </function>
    <function type="" name="wxHtmlListBox">
     <description>
      <p>
       Default constructor, you must call
       <ref target="wxhtmllistboxcreate">Create()</ref>
       later.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="~wxHtmlListBox">
    <function type="" name="~wxHtmlListBox">
     <description>
      <p>
       Destructor cleans up whatever resources we use.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id" value="wxID\_ANY"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxString&amp; " name="name" value="wxVListBoxNameStr"></parameter>
     </parameters>
     <description>
      <p>
       Creates the control and optionally sets the initial number of items in it
       (it may also be set or changed later with
       <ref target="wxvlistboxsetitemcount">SetItemCount()</ref>
       ).
      </p>
      <p>
       There are no special styles defined for wxHtmlListBox, in particular the
       wxListBox styles can not be used here.
      </p>
      <p>
       Returns
       <tt> true</tt>
       on success or
       <tt> false</tt>
       if the control couldn't be created
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="GetFileSystem">
    <function type="wxFileSystem&amp;" name="GetFileSystem">
     <description></description>
    </function>
    <function type="const wxFileSystem&amp;" name="GetFileSystem" suffix="const">
     <description>
      <p>
       Returns the
       <ref target="wxfilesystem">wxFileSystem</ref>
       used by the HTML parser of this object. The file system object is used to
       resolve the paths in HTML fragments displayed in the control and you
       should use
       <ref target="wxfilesystemchangepathto">wxFileSystem::ChangePathTo</ref>
       if you use relative paths for the images or other resources embedded in
       your HTML.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="GetSelectedTextBgColour">
    <function type="wxColour" name="GetSelectedTextBgColour" suffix="const">
     <parameters>
      <parameter type="const wxColour&amp; " name="colBg"></parameter>
     </parameters>
     <seealso>
      <ref target="wxhtmllistboxgetselectedtextcolour">GetSelectedTextColour</ref>
     </seealso>
     <description>
      <p>
       This virtual function may be overridden to change the appearance of the
       background of the selected cells in the same way as
       <ref target="wxhtmllistboxgetselectedtextcolour">GetSelectedTextColour</ref>
       .
      </p>
      <p>
       It should be rarely, if ever, used because
       <ref target="wxvlistboxsetselectionbackground">SetSelectionBackground</ref>
       allows to change the selection background for all cells at once and doing
       anything more fancy is probably going to look strangely.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="GetSelectedTextColour">
    <function type="wxColour" name="GetSelectedTextColour" suffix="const">
     <parameters>
      <parameter type="const wxColour&amp; " name="colFg"></parameter>
     </parameters>
     <seealso>
      <ref target="wxhtmllistboxgetselectedtextbgcolour">GetSelectedTextBgColour</ref>
      ,
      <br/>
      <ref target="wxvlistboxsetselectionbackground">SetSelectionBackground</ref>
      ,
      <br/>
      <ref target="wxsystemsettingsgetcolour">wxSystemSettings::GetColour</ref>
     </seealso>
     <description>
      <p>
       This virtual function may be overridden to customize the appearance of
       the selected cells. It is used to determine how the colour
       <i> colFg</i>
       is going to look inside selection. By default all original colours are
       completely ignored and the standard, system-dependent, selection colour
       is used but the program may wish to override this to achieve some custom
       appearance.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="OnGetItem">
    <function type="wxString" name="OnGetItem" suffix="const">
     <parameters>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       This method must be implemented in the derived class and should return
       the body (i.e. without
       <tt> &lt;html&gt;</tt>
       nor
       <tt> &lt;body&gt;</tt>
       tags) of the HTML fragment for the given item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlListBox" name="OnGetItemMarkup">
    <function type="wxString" name="OnGetItemMarkup" suffix="const">
     <parameters>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       This function may be overridden to decorate HTML returned by
       <ref target="wxhtmllistboxongetitem">OnGetItem()</ref>
       .
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxHtmlParser">
  <description>
   <p class="classdesc">
    Classes derived from this handle the
    <b> generic</b>
    parsing of HTML documents: it scans the document and divide it into blocks
    of tags (where one block consists of beginning and ending tag and of text
    between these two tags).
   </p>
   <p class="classdesc">
    It is independent from wxHtmlWindow and can be used as stand-alone parser
    (Julian Smart's idea of speech-only HTML viewer or wget-like utility - see
    InetGet sample for example).
   </p>
   <p class="classdesc">
    It uses system of tag handlers to parse the HTML document. Tag handlers are
    not statically shared by all instances but are created for each wxHtmlParser
    instance. The reason is that the handler may contain document-specific
    temporary data used during parsing (e.g. complicated structures like
    tables).
   </p>
   <p class="classdesc">
    Typically the user calls only the
    <ref target="wxhtmlparserparse">Parse</ref>
    method.
   </p>
  </description>
  <category>HTML classes</category>
  <shortdesc>Generic HTML parser class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlpars.h"/>
  </includes>
  <seealso>
   <ref target="cells">Cells Overview</ref>
   ,
   <ref target="handlers">Tag Handlers Overview</ref>
   ,
   <ref target="wxhtmltag">wxHtmlTag</ref>
  </seealso>
  <members>
   <member class="wxHtmlParser" name="wxHtmlParser">
    <function type="" name="wxHtmlParser">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="AddTag">
    <function type="void" name="AddTag">
     <parameters>
      <parameter type="const wxHtmlTag&amp; " name="tag"></parameter>
     </parameters>
     <description>
      <p>
       This may (and may not) be overwritten in derived class.
      </p>
      <p>
       This method is called each time new tag is about to be added.
       <i> tag</i>
       contains information about the tag. (See
       <ref target="wxhtmltag">wxHtmlTag</ref>
       for details.)
      </p>
      <p>
       Default (wxHtmlParser) behaviour is this: First it finds a handler
       capable of handling this tag and then it calls handler's HandleTag
       method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="AddTagHandler">
    <function type="virtual void" name="AddTagHandler">
     <parameters>
      <parameter type="wxHtmlTagHandler &#42;" name="handler"></parameter>
     </parameters>
     <description>
      <p>
       Adds handler to the internal list (&amp; hash table) of handlers. This
       method should not be called directly by user but rather by derived class'
       constructor.
      </p>
      <p>
       This adds the handler to this
       <b> instance</b>
       of wxHtmlParser, not to all objects of this class! (Static front-end to
       AddTagHandler is provided by wxHtmlWinParser).
      </p>
      <p>
       All handlers are deleted on object deletion.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="AddText">
    <function type="virtual void" name="AddWord">
     <parameters>
      <parameter type="const char&#42; " name="txt"></parameter>
     </parameters>
     <description>
      <p>
       Must be overwritten in derived class.
      </p>
      <p>
       This method is called by
       <ref target="wxhtmlparserdoparsing">DoParsing</ref>
       each time a part of text is parsed.
       <i> txt</i>
       is NOT only one word, it is substring of input. It is not formatted or
       preprocessed (so white spaces are unmodified).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="DoParsing">
    <function type="void" name="DoParsing">
     <parameters>
      <parameter type="int " name="begin\_pos"></parameter>
      <parameter type="int " name="end\_pos"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="DoParsing">
     <description>
      <p>
       Parses the m\_Source from begin\_pos to end\_pos-1. (in noparams version it
       parses whole m\_Source)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="DoneParser">
    <function type="virtual void" name="DoneParser">
     <description>
      <p>
       This must be called after DoParsing().
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="GetFS">
    <function type="wxFileSystem&#42;" name="GetFS" suffix="const">
     <description>
      <p>
       Returns pointer to the file system. Because each tag handler has
       reference to it is parent parser it can easily request the file by
       calling
      </p>
      <pre>
wxFSFile &#42;f = m\_Parser -&gt; GetFS() -&gt; OpenFile(&quot;image.jpg&quot;);
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="GetProduct">
    <function type="virtual wxObject&#42;" name="GetProduct">
     <description>
      <p>
       Returns product of parsing. Returned value is result of parsing of the
       document. The type of this result depends on internal representation in
       derived parser (but it must be derived from wxObject!).
      </p>
      <p>
       See wxHtmlWinParser for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="GetSource">
    <function type="wxString&#42;" name="GetSource">
     <description>
      <p>
       Returns pointer to the source being parsed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="InitParser">
    <function type="virtual void" name="InitParser">
     <parameters>
      <parameter type="const wxString&amp; " name="source"></parameter>
     </parameters>
     <description>
      <p>
       Setups the parser for parsing the
       <i> source</i>
       string. (Should be overridden in derived class)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="OpenURL">
    <function type="virtual wxFSFile&#42;" name="OpenURL">
     <parameters>
      <parameter type="wxHtmlURLType " name="type"></parameter>
      <parameter type="const wxString&amp; " name="url">
       URL being opened.
      </parameter>
     </parameters>
     <note>

Always use this method in tag handlers instead of <tt> GetFS()-&gt;OpenFile()</tt> 
because it can block the URL and is thus more secure.

Default behaviour is to call <ref target="wxhtmlwindowonopeningurl">wxHtmlWindow::OnOpeningURL</ref>
of the associated wxHtmlWindow object (which may decide to block the URL or
redirect it to another one),if there's any, and always open the URL if the 
parser is not used with wxHtmlWindow.

Returned <tt> wxFSFile</tt> object is not guaranteed to point to <i> url</i>, it might
have been redirected!

</note>
     <description>
      <p>
       Opens given URL and returns
       <tt> wxFSFile</tt>
       object that can be used to read data from it. This method may return NULL
       in one of two cases: either the URL doesn't point to any valid resource
       or the URL is blocked by overridden implementation of
       <i> OpenURL</i>
       in derived class.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="Parse">
    <function type="wxObject&#42;" name="Parse">
     <parameters>
      <parameter type="const wxString&amp; " name="source"></parameter>
     </parameters>
     <description>
      <p>
       Proceeds parsing of the document. This is end-user method. You can simply
       call it when you need to obtain parsed output (which is parser-specific)
      </p>
      <p>
       The method does these things:
      </p>
      <p>
       <ol>
        <li>calls
         <ref target="wxhtmlparserinitparser">InitParser(source)</ref></li>
        <li>calls
         <ref target="wxhtmlparserdoparsing">DoParsing</ref></li>
        <li>calls
         <ref target="wxhtmlparsergetproduct">GetProduct</ref></li>
        <li>calls
         <ref target="wxhtmlparserdoneparser">DoneParser</ref></li>
        <li>returns value returned by GetProduct</li>
       </ol>
      </p>
      <p>
       You shouldn't use InitParser, DoParsing, GetProduct or DoneParser
       directly.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="PushTagHandler">
    <function type="void" name="PushTagHandler">
     <parameters>
      <parameter type="wxHtmlTagHandler&#42; " name="handler">
       the handler
      </parameter>
      <parameter type="wxString " name="tags">
       List of tags (in same format as GetSupportedTags's return value). The
       parser will redirect these tags to
       <i> handler</i>
       (until call to
       <ref target="wxhtmlparserpoptaghandler">PopTagHandler</ref>
       ).
      </parameter>
     </parameters>
     <example>
      <p>
       Imagine you want to parse following pseudo-html structure:
      </p>
      <pre>
&lt;myitems&gt;
    &lt;param name=&quot;one&quot; value=&quot;1&quot;&gt;
    &lt;param name=&quot;two&quot; value=&quot;2&quot;&gt;
&lt;/myitems&gt;

&lt;execute&gt;
    &lt;param program=&quot;text.exe&quot;&gt;
&lt;/execute&gt;
</pre>
      <p>
       It is obvious that you cannot use only one tag handler for &lt;param&gt;
       tag. Instead you must use context-sensitive handlers for &lt;param&gt;
       inside &lt;myitems&gt; and &lt;param&gt; inside &lt;execute&gt;.
      </p>
      <p>
       This is the preferred solution:
      </p>
      <pre>
TAG\_HANDLER\_BEGIN(MYITEM, &quot;MYITEMS&quot;)
    TAG\_HANDLER\_PROC(tag)
    \{
        // ...something...

        m\_Parser -&gt; PushTagHandler(this, &quot;PARAM&quot;);
        ParseInner(tag);
        m\_Parser -&gt; PopTagHandler();

        // ...something...
     \}
TAG\_HANDLER\_END(MYITEM)
</pre>
     </example>
     <description>
      <p>
       Forces the handler to handle additional tags (not returned by
       <ref target="wxhtmltaghandlergetsupportedtags">GetSupportedTags</ref>
       ). The handler should already be added to this parser.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="PopTagHandler">
    <function type="void" name="PopTagHandler">
     <description>
      <p>
       Restores parser's state before last call to
       <ref target="wxhtmlparserpushtaghandler">PushTagHandler</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="SetFS">
    <function type="void" name="SetFS">
     <parameters>
      <parameter type="wxFileSystem &#42;" name="fs"></parameter>
     </parameters>
     <description>
      <p>
       Sets the virtual file system that will be used to request additional
       files. (For example
       <tt> &lt;IMG&gt;</tt>
       tag handler requests wxFSFile with the image data.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlParser" name="StopParsing">
    <function type="void" name="StopParsing">
     <description>
      <p>
       Call this function to interrupt parsing from a tag handler. No more tags
       will be parsed afterward. This function may only be called from
       <ref target="wxhtmlparserparse">wxHtmlParser::Parse</ref>
       or any function called by it (i.e. from tag handlers).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlPrintout">
  <description>
   <p class="classdesc">
    This class serves as printout class for HTML documents.
   </p>
  </description>
  <category>HTML classes</category>
  <shortdesc>Generic HTML wxPrintout class</shortdesc>
  <parents>
   <ref type="help" target="wxPrintout">wxPrintout</ref>
  </parents>
  <includes>
   <header name="wx/html/htmprint.h"/>
  </includes>
  <members>
   <member class="wxHtmlPrintout" name="wxHtmlPrintout">
    <function type="" name="wxHtmlPrintout">
     <parameters>
      <parameter type="const wxString&amp; " name="title" value="&quot;Printout&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="AddFilter">
    <function type="static void" name="AddFilter">
     <parameters>
      <parameter type="wxHtmlFilter&#42; " name="filter"></parameter>
     </parameters>
     <description>
      <p>
       Adds a filter to the static list of filters for wxHtmlPrintout. See
       <ref target="wxhtmlfilter">wxHtmlFilter</ref>
       for further information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="SetFonts">
    <function type="void" name="SetFonts">
     <parameters>
      <parameter type="wxString " name="normal\_face"></parameter>
      <parameter type="wxString " name="fixed\_face"></parameter>
      <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Sets fonts. See
       <ref target="wxhtmlwindowsetfonts">wxHtmlWindow::SetFonts</ref>
       for detailed description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="SetFooter">
    <function type="void" name="SetFooter">
     <parameters>
      <parameter type="const wxString&amp; " name="footer">
       HTML text to be used as footer. You can use macros in it:
       <ul>
        <li>@PAGENUM@ is replaced by page number</li>
        <li>@PAGESCNT@ is replaced by total number of pages</li>
       </ul>
      </parameter>
      <parameter type="int " name="pg" value="wxPAGE\_ALL">
       one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets page footer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="SetHeader">
    <function type="void" name="SetHeader">
     <parameters>
      <parameter type="const wxString&amp; " name="header">
       HTML text to be used as header. You can use macros in it:
       <ul>
        <li>@PAGENUM@ is replaced by page number</li>
        <li>@PAGESCNT@ is replaced by total number of pages</li>
       </ul>
      </parameter>
      <parameter type="int " name="pg" value="wxPAGE\_ALL">
       one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets page header.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="SetHtmlFile">
    <function type="void" name="SetHtmlFile">
     <parameters>
      <parameter type="const wxString&amp; " name="htmlfile"></parameter>
     </parameters>
     <description>
      <p>
       Prepare the class for printing this HTML
       <b> file</b>
       . The file may be located on any virtual file system or it may be normal
       file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="SetHtmlText">
    <function type="void" name="SetHtmlText">
     <parameters>
      <parameter type="const wxString&amp; " name="html">
       HTML text. (NOT file!)
      </parameter>
      <parameter type="const wxString&amp; " name="basepath" value="wxEmptyString">
       base directory (html string would be stored there if it was in file). It
       is used to determine path for loading images, for example.
      </parameter>
      <parameter type="bool " name="isdir" value="true">
       false if basepath is filename, true if it is directory name (see
       <ref target="wxfilesystem">wxFileSystem</ref>
       for detailed explanation)
      </parameter>
     </parameters>
     <description>
      <p>
       Prepare the class for printing this HTML text.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlPrintout" name="SetMargins">
    <function type="void" name="SetMargins">
     <parameters>
      <parameter type="float " name="top" value="25.2"></parameter>
      <parameter type="float " name="bottom" value="25.2"></parameter>
      <parameter type="float " name="left" value="25.2"></parameter>
      <parameter type="float " name="right" value="25.2"></parameter>
      <parameter type="float " name="spaces" value="5"></parameter>
     </parameters>
     <description>
      <p>
       Sets margins in millimeters. Defaults to 1 inch for margins and 0.5cm for
       space between text and header and/or footer
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlTag">
  <description>
   <p class="classdesc">
    This class represents a single HTML tag. It is used by
    <ref target="handlers">tag handlers</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmltag.h"/>
  </includes>
  <members>
   <member class="wxHtmlTag" name="wxHtmlTag">
    <function type="" name="wxHtmlTag">
     <parameters>
      <parameter type="wxHtmlTag &#42;" name="parent"></parameter>
      <parameter type="const wxString&amp; " name="source"></parameter>
      <parameter type="int " name="pos"></parameter>
      <parameter type="int " name="end\_pos"></parameter>
      <parameter type="wxHtmlTagsCache&#42; " name="cache"></parameter>
      <parameter type="wxHtmlEntitiesParser &#42;" name="entParser"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. You will probably never have to construct a wxHtmlTag object
       yourself. Feel free to ignore the constructor parameters. Have a look at
       src/html/htmlpars.cpp if you're interested in creating it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetAllParams">
    <function type="const wxString&amp;" name="GetAllParams" suffix="const">
     <description>
      <p>
       Returns a string containing all parameters.
      </p>
      <p>
       Example : tag contains
       <tt> &lt;FONT SIZE=+2 COLOR=&quot;#000000&quot;&gt;</tt>
       . Call to tag.GetAllParams() would return
       <tt> SIZE=+2 COLOR=&quot;#000000&quot;</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetBeginPos">
    <function type="int" name="GetBeginPos" suffix="const">
     <description>
      <p>
       Returns beginning position of the text
       <i> between</i>
       this tag and paired ending tag. See explanation (returned position is
       marked with `|'):
      </p>
      <pre>
bla bla bla &lt;MYTAG&gt; bla bla internal text&lt;/MYTAG&gt; bla bla
                   |
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetEndPos1">
    <function type="int" name="GetEndPos1" suffix="const">
     <description>
      <p>
       Returns ending position of the text
       <i> between</i>
       this tag and paired ending tag. See explanation (returned position is
       marked with `|'):
      </p>
      <pre>
bla bla bla &lt;MYTAG&gt; bla bla internal text&lt;/MYTAG&gt; bla bla
                                        |
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetEndPos2">
    <function type="int" name="GetEndPos2" suffix="const">
     <description>
      <p>
       Returns ending position 2 of the text
       <i> between</i>
       this tag and paired ending tag. See explanation (returned position is
       marked with `|'):
      </p>
      <pre>
bla bla bla &lt;MYTAG&gt; bla bla internal text&lt;/MYTAG&gt; bla bla
                                               |
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Returns tag's name. The name is always in uppercase and it doesn't
       contain '&lt;' or '/' characters. (So the name of
       <tt> &lt;FONT SIZE=+2&gt;</tt>
       tag is &quot;FONT&quot; and name of
       <tt> &lt;/table&gt;</tt>
       is &quot;TABLE&quot;)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetParam">
    <function type="wxString" name="GetParam" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="par">
       The parameter's name.
      </parameter>
      <parameter type="bool " name="with\_commas" value="false">
       true if you want to get commas as well. See example.
      </parameter>
     </parameters>
     <example>
      <pre>
...
/&#42; you have wxHtmlTag variable tag which is equal to
   HTML tag &lt;FONT SIZE=+2 COLOR=&quot;#0000FF&quot;&gt; &#42;/
dummy = tag.GetParam(&quot;SIZE&quot;);
   // dummy == &quot;+2&quot;
dummy = tag.GetParam(&quot;COLOR&quot;);
   // dummy == &quot;#0000FF&quot;
dummy = tag.GetParam(&quot;COLOR&quot;, true);
   // dummy == &quot;\\&quot;#0000FF\\&quot;&quot; -- see the difference!!
</pre>
     </example>
     <description>
      <p>
       Returns the value of the parameter. You should check whether the
       parameter exists or not (use
       <ref target="wxhtmltaghasparam">HasParam</ref>
       ) first.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetParamAsColour">
    <function type="bool" name="GetParamAsColour" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="par"></parameter>
      <parameter type="wxColour &#42;" name="clr"></parameter>
     </parameters>
     <description>
      <p>
       Interprets tag parameter
       <i> par</i>
       as colour specification and saves its value into wxColour variable
       pointed by
       <i> clr</i>
       .
      </p>
      <p>
       Returns true on success and false if
       <i> par</i>
       is not colour specification or if the tag has no such parameter.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="GetParamAsInt">
    <function type="bool" name="GetParamAsInt" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="par"></parameter>
      <parameter type="int &#42;" name="value"></parameter>
     </parameters>
     <description>
      <p>
       Interprets tag parameter
       <i> par</i>
       as an integer and saves its value into int variable pointed by
       <i> value</i>
       .
      </p>
      <p>
       Returns true on success and false if
       <i> par</i>
       is not an integer or if the tag has no such parameter.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="HasEnding">
    <function type="bool" name="HasEnding" suffix="const">
     <description>
      <p>
       Returns true if this tag is paired with ending tag, false otherwise.
      </p>
      <p>
       See the example of HTML document:
      </p>
      <pre>
&lt;html&gt;&lt;body&gt;
Hello&lt;p&gt;
How are you?
&lt;p align=center&gt;This is centered...&lt;/p&gt;
Oops&lt;br&gt;Oooops!
&lt;/body&gt;&lt;/html&gt;
</pre>
      <p>
       In this example tags HTML and BODY have ending tags, first P and BR
       doesn't have ending tag while the second P has. The third P tag (which is
       ending itself) of course doesn't have ending tag.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="HasParam">
    <function type="bool" name="HasParam" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="par">
       the parameter you're looking for.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns true if the tag has a parameter of the given name. Example :
       <tt> &lt;FONT SIZE=+2 COLOR=&quot;#FF00FF&quot;&gt;</tt>
       has two parameters named &quot;SIZE&quot; and &quot;COLOR&quot;.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTag" name="ScanParam">
    <function type="wxString" name="ScanParam" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="par">
       The name of the tag you want to query
      </parameter>
      <parameter type="const wxChar &#42;" name="format">
       scanf()-like format string.
      </parameter>
      <parameter type="void &#42;" name="value">
       pointer to a variable to store the value in
      </parameter>
     </parameters>
     <description>
      <p>
       This method scans the given parameter. Usage is exactly the same as
       sscanf's usage except that you don't pass a string but a parameter name
       as the first argument and you can only retrieve one value (i.e. you can
       use only one &quot;%&quot; element in
       <i> format</i>
       ).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlTagHandler" annotation="abstract">
  <description></description>
  <category>HTML classes</category>
  <shortdesc>HTML tag handler, pluginable into wxHtmlParser</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlpars.h"/>
  </includes>
  <seealso>
   <ref target="handlers">Overview</ref>
   ,
   <ref target="wxhtmltag">wxHtmlTag</ref>
  </seealso>
  <members>
   <member class="wxHtmlTagHandler" name="m\_Parser"></member>
   <member class="wxHtmlTagHandler" name="wxHtmlTagHandler">
    <function type="" name="wxHtmlTagHandler">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTagHandler" name="GetSupportedTags">
    <function type="virtual wxString" name="GetSupportedTags">
     <description>
      <p>
       Returns list of supported tags. The list is in uppercase and tags are
       delimited by ','. Example :
       <tt> &quot;I,B,FONT,P&quot; </tt>
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTagHandler" name="HandleTag">
    <function type="virtual bool" name="HandleTag">
     <parameters>
      <parameter type="const wxHtmlTag&amp; " name="tag"></parameter>
     </parameters>
     <example>
      <pre>
bool MyHandler::HandleTag(const wxHtmlTag&amp; tag)
\{
    ...
    // change state of parser (e.g. set bold face)
    ParseInner(tag);
    ...
    // restore original state of parser
\}
</pre>
      <p>
       You shouldn't call ParseInner if the tag is not paired with an ending
       one.
      </p>
     </example>
     <returnvalue>
      true if
      <ref target="wxhtmltaghandlerparseinner">ParseInner</ref>
      was called, false otherwise.
     </returnvalue>
     <description>
      <p>
       This is the core method of each handler. It is called each time one of
       supported tags is detected.
       <i> tag</i>
       contains all necessary info (see
       <ref target="wxhtmltag">wxHtmlTag</ref>
       for details).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTagHandler" name="ParseInner">
    <function type="void" name="ParseInner">
     <parameters>
      <parameter type="const wxHtmlTag&amp; " name="tag"></parameter>
     </parameters>
     <description>
      <p>
       This method calls parser's
       <ref target="wxhtmlparserdoparsing">DoParsing</ref>
       method for the string between this tag and the paired ending tag:
      </p>
      <pre>
...&lt;A HREF=&quot;x.htm&quot;&gt;Hello, world!&lt;/A&gt;...
</pre>
      <p>
       In this example, a call to ParseInner (with
       <i> tag</i>
       pointing to A tag) will parse 'Hello, world!'.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlTagHandler" name="SetParser">
    <function type="virtual void" name="SetParser">
     <parameters>
      <parameter type="wxHtmlParser &#42;" name="parser"></parameter>
     </parameters>
     <description>
      <p>
       Assigns
       <i> parser</i>
       to this handler. Each
       <b> instance</b>
       of handler is guaranteed to be called only from the parser.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlTagsModule">
  <description>
   <p class="classdesc">
    This class provides easy way of filling wxHtmlWinParser's table of tag
    handlers. It is used almost exclusively together with the set of
    <ref target="handlers">TAGS\_MODULE\_&#42; macros</ref>
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxModule">wxModule</ref>
  </parents>
  <includes>
   <header name="wx/html/winpars.h"/>
  </includes>
  <seealso>
   <ref target="handlers">Tag Handlers</ref>
   ,
   <ref target="wxhtmltaghandler">wxHtmlTagHandler</ref>
   ,
   <ref target="wxhtmlwintaghandler">wxHtmlWinTagHandler</ref>
   ,
  </seealso>
  <members>
   <member class="wxHtmlTagsModule" name="FillHandlersTable">
    <function type="virtual void" name="FillHandlersTable">
     <parameters>
      <parameter type="wxHtmlWinParser &#42;" name="parser">
       Pointer to the parser that requested tables filling.
      </parameter>
     </parameters>
     <description>
      <p>
       You must override this method. In most common case its body consists only
       of lines of the following type:
      </p>
      <pre>
parser -&gt; AddTagHandler(new MyHandler);
</pre>
      <p>
       I recommend using the
       <b> TAGS\_MODULE\_&#42;</b>
       macros.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlWidgetCell">
  <description>
   <p class="classdesc">
    wxHtmlWidgetCell is a class that provides a connection between HTML cells
    and widgets (an object derived from wxWindow). You can use it to display
    things like forms, input boxes etc. in an HTML window.
   </p>
   <p class="classdesc">
    wxHtmlWidgetCell takes care of resizing and moving window.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxHtmlCell">wxHtmlCell</ref>
  </parents>
  <includes>
   <header name="wx/html/htmlcell.h"/>
  </includes>
  <members>
   <member class="wxHtmlWidgetCell" name="wxHtmlWidgetCell">
    <function type="" name="wxHtmlWidgetCell">
     <parameters>
      <parameter type="wxWindow&#42; " name="wnd">
       Connected window. It is parent window
       <b> must</b>
       be the wxHtmlWindow object within which it is displayed!
      </parameter>
      <parameter type="int " name="w" value="0">
       Floating width. If non-zero width of
       <i> wnd</i>
       window is adjusted so that it is always
       <i> w</i>
       percents of parent container's width. (For example w = 100 means that the
       window will always have same width as parent container)
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlWinParser">
  <description>
   <p class="classdesc">
    This class is derived from
    <ref target="wxhtmlparser">wxHtmlParser</ref>
    and its main goal is to parse HTML input so that it can be displayed in
    <ref target="wxhtmlwindow">wxHtmlWindow</ref>
    . It uses a special
    <ref target="wxhtmlwintaghandler">wxHtmlWinTagHandler</ref>
    .
   </p>
  </description>
  <category>HTML classes</category>
  <shortdesc>HTML parser class for wxHtmlWindow</shortdesc>
  <note>

The product of parsing is a wxHtmlCell (resp. wxHtmlContainer) object.

</note>
  <parents>
   <ref type="help" target="wxHtmlParser">wxHtmlParser</ref>
  </parents>
  <includes>
   <header name="wx/html/winpars.h"/>
  </includes>
  <seealso>
   <ref target="handlers">Handlers overview</ref>
  </seealso>
  <members>
   <member class="wxHtmlWinParser" name="wxHtmlWinParser">
    <function type="" name="wxHtmlWinParser">
     <description></description>
    </function>
    <function type="" name="wxHtmlWinParser">
     <parameters>
      <parameter type="wxHtmlWindow &#42;" name="wnd"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Don't use the default one, use constructor with
       <i> wnd</i>
       parameter (
       <i> wnd</i>
       is pointer to associated
       <ref target="wxhtmlwindow">wxHtmlWindow</ref>
       )
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="AddModule">
    <function type="static void" name="AddModule">
     <parameters>
      <parameter type="wxHtmlTagsModule &#42;" name="module"></parameter>
     </parameters>
     <description>
      <p>
       Adds
       <ref target="handlers">module</ref>
       to the list of wxHtmlWinParser tag handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="CloseContainer">
    <function type="wxHtmlContainerCell&#42;" name="CloseContainer">
     <description>
      <p>
       Closes the container, sets actual container to the parent one and returns
       pointer to it (see
       <ref target="cells">Overview</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="CreateCurrentFont">
    <function type="virtual wxFont&#42;" name="CreateCurrentFont">
     <description>
      <p>
       Creates font based on current setting (see
       <ref target="wxhtmlwinparsersetfontsize">SetFontSize</ref>
       ,
       <ref target="wxhtmlwinparsersetfontbold">SetFontBold</ref>
       ,
       <ref target="wxhtmlwinparsersetfontitalic">SetFontItalic</ref>
       ,
       <ref target="wxhtmlwinparsersetfontfixed">SetFontFixed</ref>
       ,
       <ref target="wxhtmlwinparsersetfontunderlined">SetFontUnderlined</ref>
       ) and returns pointer to it. If the font was already created only a
       pointer is returned.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetActualColor">
    <function type="const wxColour&amp;" name="GetActualColor" suffix="const">
     <description>
      <p>
       Returns actual text colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetAlign">
    <function type="int" name="GetAlign" suffix="const">
     <description>
      <p>
       Returns default horizontal alignment.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetCharHeight">
    <function type="int" name="GetCharHeight" suffix="const">
     <description>
      <p>
       Returns (average) char height in standard font. It is used as
       DC-independent metrics.
      </p>
      <p>
       <b> Note:</b>
       This function doesn't return the
       <i> actual</i>
       height. If you want to know the height of the current font, call
       <tt> GetDC -&gt; GetCharHeight()</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetCharWidth">
    <function type="int" name="GetCharWidth" suffix="const">
     <description>
      <p>
       Returns average char width in standard font. It is used as DC-independent
       metrics.
      </p>
      <p>
       <b> Note:</b>
       This function doesn't return the
       <i> actual</i>
       width. If you want to know the height of the current font, call
       <tt> GetDC -&gt; GetCharWidth()</tt>
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetContainer">
    <function type="wxHtmlContainerCell&#42;" name="GetContainer" suffix="const">
     <description>
      <p>
       Returns pointer to the currently opened container (see
       <ref target="cells">Overview</ref>
       ). Common use:
      </p>
      <pre>
m\_WParser -&gt; GetContainer() -&gt; InsertCell(new ...);
</pre>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetDC">
    <function type="wxDC&#42;" name="GetDC">
     <description>
      <p>
       Returns pointer to the DC used during parsing.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetEncodingConverter">
    <function type="wxEncodingConverter &#42;" name="GetEncodingConverter" suffix="const">
     <description>
      <p>
       Returns
       <ref target="wxencodingconverter">wxEncodingConverter</ref>
       class used to do conversion between
       <ref target="wxhtmlwinparsergetinputencoding">input encoding</ref>
       and
       <ref target="wxhtmlwinparsergetoutputencoding">output encoding</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetFontBold">
    <function type="int" name="GetFontBold" suffix="const">
     <description>
      <p>
       Returns true if actual font is bold, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetFontFace">
    <function type="wxString" name="GetFontFace" suffix="const">
     <description>
      <p>
       Returns actual font face name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetFontFixed">
    <function type="int" name="GetFontFixed" suffix="const">
     <description>
      <p>
       Returns true if actual font is fixed face, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetFontItalic">
    <function type="int" name="GetFontItalic" suffix="const">
     <description>
      <p>
       Returns true if actual font is italic, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetFontSize">
    <function type="int" name="GetFontSize" suffix="const">
     <description>
      <p>
       Returns actual font size (HTML size varies from -2 to +4)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetFontUnderlined">
    <function type="int" name="GetFontUnderlined" suffix="const">
     <description>
      <p>
       Returns true if actual font is underlined, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetInputEncoding">
    <function type="wxFontEncoding" name="GetInputEncoding" suffix="const">
     <description>
      <p>
       Returns input encoding.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetLink">
    <function type="const wxHtmlLinkInfo&amp;" name="GetLink" suffix="const">
     <description>
      <p>
       Returns actual hypertext link. (This value has a non-empty
       <ref target="wxhtmllinkinfogethref">Href</ref>
       string if the parser is between
       <tt> &lt;A&gt;</tt>
       and
       <tt> &lt;/A&gt;</tt>
       tags, wxEmptyString otherwise.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetLinkColor">
    <function type="const wxColour&amp;" name="GetLinkColor" suffix="const">
     <description>
      <p>
       Returns the colour of hypertext link text.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetOutputEncoding">
    <function type="wxFontEncoding" name="GetOutputEncoding" suffix="const">
     <description>
      <p>
       Returns output encoding, i.e. closest match to document's input encoding
       that is supported by operating system.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="GetWindow">
    <function type="wxHtmlWindow&#42;" name="GetWindow">
     <description>
      <p>
       Returns associated window (wxHtmlWindow). This may be NULL! (You should
       always test if it is non-NULL. For example
       <tt> TITLE</tt>
       handler sets window title only if some window is associated, otherwise it
       does nothing)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="OpenContainer">
    <function type="wxHtmlContainerCell&#42;" name="OpenContainer">
     <description>
      <p>
       Opens new container and returns pointer to it (see
       <ref target="cells">Overview</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetActualColor">
    <function type="void" name="SetActualColor">
     <parameters>
      <parameter type="const wxColour&amp; " name="clr"></parameter>
     </parameters>
     <description>
      <p>
       Sets actual text colour. Note: this DOESN'T change the colour! You must
       create
       <ref target="wxhtmlcolourcell">wxHtmlColourCell</ref>
       yourself.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetAlign">
    <function type="void" name="SetAlign">
     <parameters>
      <parameter type="int " name="a"></parameter>
     </parameters>
     <description>
      <p>
       Sets default horizontal alignment (see
       <ref target="wxhtmlcontainercellsetalignhor">wxHtmlContainerCell::SetAlignHor</ref>
       .) Alignment of newly opened container is set to this value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetContainer">
    <function type="wxHtmlContainerCell&#42;" name="SetContainer">
     <parameters>
      <parameter type="wxHtmlContainerCell &#42;" name="c"></parameter>
     </parameters>
     <description>
      <p>
       Allows you to directly set opened container. This is not recommended -
       you should use OpenContainer wherever possible.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetDC">
    <function type="virtual void" name="SetDC">
     <parameters>
      <parameter type="wxDC &#42;" name="dc"></parameter>
      <parameter type="double " name="pixel\_scale" value="1.0"></parameter>
     </parameters>
     <description>
      <p>
       Sets the DC. This must be called before
       <ref target="wxhtmlparserparse">Parse</ref>
       !
       <i> pixel\_scale</i>
       can be used when rendering to high-resolution DCs (e.g. printer) to
       adjust size of pixel metrics. (Many dimensions in HTML are given in
       pixels -- e.g. image sizes. 300x300 image would be only one inch wide on
       typical printer. With pixel\_scale = 3.0 it would be 3 inches.)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFontBold">
    <function type="void" name="SetFontBold">
     <parameters>
      <parameter type="int " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Sets bold flag of actualfont.
       <i> x</i>
       is either true of false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFontFace">
    <function type="void" name="SetFontFace">
     <parameters>
      <parameter type="const wxString&amp; " name="face"></parameter>
     </parameters>
     <description>
      <p>
       Sets current font face to
       <i> face</i>
       . This affects either fixed size font or proportional, depending on
       context (whether the parser is inside
       <tt> &lt;TT&gt;</tt>
       tag or not).
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFontFixed">
    <function type="void" name="SetFontFixed">
     <parameters>
      <parameter type="int " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Sets fixed face flag of actualfont.
       <i> x</i>
       is either true of false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFontItalic">
    <function type="void" name="SetFontItalic">
     <parameters>
      <parameter type="int " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Sets italic flag of actualfont.
       <i> x</i>
       is either true of false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFontSize">
    <function type="void" name="SetFontSize">
     <parameters>
      <parameter type="int " name="s"></parameter>
     </parameters>
     <description>
      <p>
       Sets actual font size (HTML size varies from 1 to 7)
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFontUnderlined">
    <function type="void" name="SetFontUnderlined">
     <parameters>
      <parameter type="int " name="x"></parameter>
     </parameters>
     <description>
      <p>
       Sets underlined flag of actualfont.
       <i> x</i>
       is either true of false.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetFonts">
    <function type="void" name="SetFonts">
     <parameters>
      <parameter type="wxString " name="normal\_face"></parameter>
      <parameter type="wxString " name="fixed\_face"></parameter>
      <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Sets fonts. See
       <ref target="wxhtmlwindowsetfonts">wxHtmlWindow::SetFonts</ref>
       for detailed description.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetInputEncoding">
    <function type="void" name="SetInputEncoding">
     <parameters>
      <parameter type="wxFontEncoding " name="enc"></parameter>
     </parameters>
     <description>
      <p>
       Sets input encoding. The parser uses this information to build conversion
       tables from document's encoding to some encoding supported by operating
       system.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetLink">
    <function type="void" name="SetLink">
     <parameters>
      <parameter type="const wxHtmlLinkInfo&amp; " name="link"></parameter>
     </parameters>
     <description>
      <p>
       Sets actual hypertext link. Empty link is represented by
       <ref target="wxhtmllinkinfo">wxHtmlLinkInfo</ref>
       with
       <i> Href</i>
       equal to wxEmptyString.
      </p>
     </description>
    </function>
   </member>
   <member class="wxHtmlWinParser" name="SetLinkColor">
    <function type="void" name="SetLinkColor">
     <parameters>
      <parameter type="const wxColour&amp; " name="clr"></parameter>
     </parameters>
     <description>
      <p>
       Sets colour of hypertext link.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxHtmlWinTagHandler">
  <description>
   <p class="classdesc">
    This is basically wxHtmlTagHandler except that it is extended with protected
    member m\_WParser pointing to the wxHtmlWinParser object (value of this
    member is identical to wxHtmlParser's m\_Parser).
   </p>
  </description>
  <category>HTML classes</category>
  <shortdesc>HTML tag handler, pluginable into wxHtmlWinParser</shortdesc>
  <parents>
   <ref type="help" target="wxHtmlTagHandler">wxHtmlTagHandler</ref>
  </parents>
  <includes>
   <header name="wx/html/winpars.h"/>
  </includes>
  <members>
   <member class="wxHtmlWinTagHandler" name="m\_WParser"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxIPV4address">
  <description></description>
  <category>Networking classes</category>
  <shortdesc>Represents an Internet address</shortdesc>
  <parents>
   <ref type="help" target="wxIPaddress">wxIPaddress</ref>
  </parents>
  <includes>
   <header name="wx/socket.h"/>
  </includes>
  <members>
   <member class="wxIPV4address" name="Hostname">
    <function type="bool" name="Hostname">
     <parameters>
      <parameter type="const wxString&amp; " name="hostname"></parameter>
     </parameters>
     <returnvalue>
      Returns true on success, false if something goes wrong (invalid hostname
      or invalid IP address).
     </returnvalue>
     <description>
      <p>
       Set the address to
       <i> hostname</i>
       , which can be a host name or an IP-style address in dot notation
       (a.b.c.d)
      </p>
     </description>
    </function>
    <function type="wxString" name="Hostname">
     <description>
      <p>
       Returns the hostname which matches the IP address.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPV4address" name="IPAddress">
    <function type="wxString" name="IPAddress">
     <description>
      <p>
       Returns a wxString containing the IP address in dot quad (127.0.0.1)
       format.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPV4address" name="Service">
    <function type="bool" name="Service">
     <parameters>
      <parameter type="const wxString&amp; " name="service"></parameter>
     </parameters>
     <returnvalue>
      Returns true on success, false if something goes wrong (invalid service).
     </returnvalue>
     <description>
      <p>
       Set the port to that corresponding to the specified
       <i> service</i>
       .
      </p>
     </description>
    </function>
    <function type="bool" name="Service">
     <parameters>
      <parameter type="unsigned short " name="service"></parameter>
     </parameters>
     <returnvalue>
      Returns true on success, false if something goes wrong (invalid service).
     </returnvalue>
     <description>
      <p>
       Set the port to that corresponding to the specified
       <i> service</i>
       .
      </p>
     </description>
    </function>
    <function type="unsigned short" name="Service">
     <description>
      <p>
       Returns the current service.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPV4address" name="AnyAddress">
    <function type="bool" name="AnyAddress">
     <returnvalue>
      Returns true on success, false if something went wrong.
     </returnvalue>
     <description>
      <p>
       Set address to any of the addresses of the current machine. Whenever
       possible, use this function instead of
       <ref target="wxipv4addresslocalhost">wxIPV4address::LocalHost</ref>
       , as this correctly handles multi-homed hosts and avoids other small
       problems. Internally, this is the same as setting the IP address to
       <b> INADDR\_ANY</b>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPV4address" name="LocalHost">
    <function type="bool" name="LocalHost">
     <returnvalue>
      Returns true on success, false if something went wrong.
     </returnvalue>
     <description>
      <p>
       Set address to localhost (127.0.0.1). Whenever possible, use the
       <ref target="wxipv4addressanyaddress">wxIPV4address::AnyAddress</ref>
       , function instead of this one, as this will correctly handle multi-homed
       hosts and avoid other small problems.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxIPaddress">
  <description>
   <p class="classdesc">
    wxIPaddress is an abstract base class for all internet protocol address
    objects. Currently, only
    <ref target="wxipv4address">wxIPV4address</ref>
    is implemented. An experimental implementation for IPV6, wxIPV6address, is
    being developed.
   </p>
  </description>
  <category>Networking classes</category>
  <shortdesc>Represents an Internet address</shortdesc>
  <parents>
   <ref type="help" target="wxSockAddress">wxSockAddress</ref>
  </parents>
  <includes>
   <header name="wx/socket.h"/>
  </includes>
  <members>
   <member class="wxIPaddress" name="Hostname">
    <function type="virtual bool" name="Hostname">
     <parameters>
      <parameter type="const wxString&amp; " name="hostname"></parameter>
     </parameters>
     <returnvalue>
      Returns true on success, false if something goes wrong (invalid hostname
      or invalid IP address).
     </returnvalue>
     <description>
      <p>
       Set the address to
       <i> hostname</i>
       , which can be a host name or an IP-style address in a format dependent
       on implementation.
      </p>
     </description>
    </function>
    <function type="virtual wxString" name="Hostname">
     <description>
      <p>
       Returns the hostname which matches the IP address.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPaddress" name="IPAddress">
    <function type="virtual wxString" name="IPAddress">
     <description>
      <p>
       Returns a wxString containing the IP address.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPaddress" name="Service">
    <function type="virtual bool" name="Service">
     <parameters>
      <parameter type="const wxString&amp; " name="service"></parameter>
     </parameters>
     <returnvalue>
      Returns true on success, false if something goes wrong (invalid service).
     </returnvalue>
     <description>
      <p>
       Set the port to that corresponding to the specified
       <i> service</i>
       .
      </p>
     </description>
    </function>
    <function type="virtual bool" name="Service">
     <parameters>
      <parameter type="unsigned short " name="service"></parameter>
     </parameters>
     <returnvalue>
      Returns true on success, false if something goes wrong (invalid service).
     </returnvalue>
     <description>
      <p>
       Set the port to that corresponding to the specified
       <i> service</i>
       .
      </p>
     </description>
    </function>
    <function type="virtual unsigned short" name="Service">
     <description>
      <p>
       Returns the current service.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPaddress" name="AnyAddress">
    <function type="virtual bool" name="AnyAddress">
     <returnvalue>
      Returns true on success, false if something went wrong.
     </returnvalue>
     <description>
      <p>
       Internally, this is the same as setting the IP address to
       <b> INADDR\_ANY</b>
       .
      </p>
      <p>
       On IPV4 implementations, 0.0.0.0
      </p>
      <p>
       On IPV6 implementations, ::
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPaddress" name="LocalHost">
    <function type="virtual bool" name="LocalHost">
     <returnvalue>
      Returns true on success, false if something went wrong.
     </returnvalue>
     <description>
      <p>
       Set address to localhost.
      </p>
      <p>
       On IPV4 implementations, 127.0.0.1
      </p>
      <p>
       On IPV6 implementations, ::1
      </p>
     </description>
    </function>
   </member>
   <member class="wxIPaddress" name="IsLocalHost">
    <function type="virtual bool" name="IsLocalHost">
     <returnvalue>
      Returns true if address is localhost, false if internet address.
     </returnvalue>
     <description>
      <p>
       Determines if current address is set to localhost.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxIcon">
  <description>
   <p class="classdesc">
    An icon is a small rectangular bitmap usually used for denoting a minimized
    application. It differs from a wxBitmap in always having a mask associated
    with it for transparent drawing. On some platforms, icons and bitmaps are
    implemented identically, since there is no real distinction between a
    wxBitmap with a mask and an icon; and there is no specific icon format on
    some platforms (X-based applications usually standardize on XPMs for small
    bitmaps and icons). However, some platforms (such as Windows) make the
    distinction, so a separate class is provided.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>A small, transparent bitmap for assigning to frames and drawing on device contexts</shortdesc>
  <remarks>
   <p>
    It is usually desirable to associate a pertinent icon with a frame. Icons
    can also be used for other purposes, for example with
    <ref target="wxtreectrl">wxTreeCtrl</ref>
    and
    <ref target="wxlistctrl">wxListCtrl</ref>
    .
   </p>
   <p>
    Icons have different formats on different platforms. Therefore, separate
    icons will usually be created for the different environments.
    Platform-specific methods for creating a
    <b> wxIcon</b>
    structure are catered for, and this is an occasion where conditional
    compilation will probably be required.
   </p>
   <p>
    Note that a new icon must be created for every time the icon is to be used
    for a new window. In Windows, the icon will not be reloaded if it has
    already been used. An icon allocated to a frame will be deleted when the
    frame is deleted.
   </p>
   <p>
    For more information please see
    <ref target="wxbitmapoverview">Bitmap and icon overview</ref>
    .
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxBitmap">wxBitmap</ref>
   <ref type="help" target="wxGDIObject">wxGDIObject</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/icon.h"/>
  </includes>
  <predefs>

Objects:

<b> wxNullIcon</b>
  </predefs>
  <seealso>
   <ref target="wxbitmapoverview">Bitmap and icon overview</ref>
   <ref target="supportedbitmapformats">supported bitmap file formats</ref>
   <ref target="wxdcdrawicon">wxDC::DrawIcon</ref>
   <ref target="wxcursor">wxCursor</ref>
  </seealso>
  <members>
   <member class="wxIcon" name="wxIcon">
    <function type="" name="wxIcon">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="void&#42; " name="data"></parameter>
      <parameter type="int " name="type"></parameter>
      <parameter type="int " name="width">
       Specifies the width of the icon.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the icon.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       Specifies the depth of the icon. If this is omitted, the display depth of
       the screen is used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates an icon from the given data, which can be of arbitrary type.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="const char " name="bits[]"></parameter>
      <parameter type="int " name="width">
       Specifies the width of the icon.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the icon.
      </parameter>
      <parameter type="int " name="depth" value="1">
       Specifies the depth of the icon. If this is omitted, the display depth of
       the screen is used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates an icon from an array of bits.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="int " name="width">
       Specifies the width of the icon.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the icon.
      </parameter>
      <parameter type="int " name="depth" value="-1">
       Specifies the depth of the icon. If this is omitted, the display depth of
       the screen is used.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates a new icon.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="char&#42;&#42; " name="bits">
       Specifies an array of pixel values.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="const char&#42;&#42; " name="bits">
       Specifies an array of pixel values.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates an icon from XPM data.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       This can refer to a resource name under MS Windows, or a filename under
       MS Windows and X. Its meaning is determined by the
       <i> flags</i>
       parameter.
      </parameter>
      <parameter type="wxBitmapType " name="type"></parameter>
      <parameter type="int " name="desiredWidth" value="-1">
       Specifies the desired width of the icon. This parameter only has an
       effect in Windows (32-bit) where icon resources can contain several icons
       of different sizes.
      </parameter>
      <parameter type="int " name="desiredHeight" value="-1">
       Specifies the desired height of the icon. This parameter only has an
       effect in Windows (32-bit) where icon resources can contain several icons
       of different sizes.
      </parameter>
     </parameters>
     <description>
      <p>
       Loads an icon from a file or resource.
      </p>
     </description>
    </function>
    <function type="" name="wxIcon">
     <parameters>
      <parameter type="const wxIconLocation&amp; " name="loc">
       The object describing the location of the native icon, see
       <ref target="wxiconlocation">wxIconLocation</ref>
       .
      </parameter>
     </parameters>
     <seealso></seealso>
     <remarks>
      <p>
       The first form constructs an icon object with no data; an assignment or
       another member function such as Create or LoadFile must be called
       subsequently.
      </p>
      <p>
       The second and third forms provide copy constructors. Note that these do
       not copy the icon data, but instead a pointer to the data, keeping a
       reference count. They are therefore very efficient operations.
      </p>
      <p>
       The fourth form constructs an icon from data whose type and value depends
       on the value of the
       <i> type</i>
       argument.
      </p>
      <p>
       The fifth form constructs a (usually monochrome) icon from an array of
       pixel values, under both X and Windows.
      </p>
      <p>
       The sixth form constructs a new icon.
      </p>
      <p>
       The seventh form constructs an icon from pixmap (XPM) data, if wxWidgets
       has been configured to incorporate this feature.
      </p>
      <p>
       To use this constructor, you must first include an XPM file. For example,
       assuming that the file
       <tt> mybitmap.xpm</tt>
       contains an XPM array of character pointers called mybitmap:
      </p>
      <pre>
#include &quot;mybitmap.xpm&quot;

...

wxIcon &#42;icon = new wxIcon(mybitmap);
</pre>
      <p>
       A macro, wxICON, is available which creates an icon using an XPM on the
       appropriate platform, or an icon resource on Windows.
      </p>
      <pre>
wxIcon icon(wxICON(mondrian));

// Equivalent to:

#if defined(\_\_WXGTK\_\_) || defined(\_\_WXMOTIF\_\_)
wxIcon icon(mondrian\_xpm);
#endif

#if defined(\_\_WXMSW\_\_)
wxIcon icon(&quot;mondrian&quot;);
#endif
</pre>
      <p>
       The eighth form constructs an icon from a file or resource.
       <i> name</i>
       can refer to a resource name under MS Windows, or a filename under MS
       Windows and X.
      </p>
      <p>
       Under Windows,
       <i> type</i>
       defaults to wxBITMAP\_TYPE\_ICO\_RESOURCE. Under X,
       <i> type</i>
       defaults to wxBITMAP\_TYPE\_XPM.
      </p>
     </remarks>
     <description>
      <p>
       Loads an icon from the specified
       <ref target="wxiconlocation">location</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="CopyFromBitmap">
    <function type="void" name="CopyFromBitmap">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bmp"></parameter>
     </parameters>
     <description>
      <p>
       Copies
       <i> bmp</i>
       bitmap to this icon. Under MS Windows the bitmap must have mask colour
       set.
      </p>
      <p>
       <ref target="wxiconloadfile">wxIcon::LoadFile</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="~wxIcon">
    <function type="" name="~wxIcon">
     <description>
      <p>
       Destroys the wxIcon object and possibly the underlying icon data. Because
       reference counting is used, the icon may not actually be destroyed at
       this point - only when the reference count is zero will the data be
       deleted.
      </p>
      <p>
       If the application omits to delete the icon explicitly, the icon will be
       destroyed automatically by wxWidgets when the application exits.
      </p>
      <p>
       Do not delete an icon that is selected into a memory device context.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="GetDepth">
    <function type="int" name="GetDepth" suffix="const">
     <description>
      <p>
       Gets the colour depth of the icon. A value of 1 indicates a monochrome
       icon.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="GetHeight">
    <function type="int" name="GetHeight" suffix="const">
     <description>
      <p>
       Gets the height of the icon in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="GetWidth">
    <function type="int" name="GetWidth" suffix="const">
     <seealso>
      <ref target="wxicongetheight">wxIcon::GetHeight</ref>
     </seealso>
     <description>
      <p>
       Gets the width of the icon in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="LoadFile">
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Either a filename or a Windows resource name. The meaning of
       <i> name</i>
       is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="wxBitmapType " name="type"></parameter>
     </parameters>
     <seealso>
      <ref target="wxiconctor">wxIcon::wxIcon</ref>
     </seealso>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Loads an icon from a file or resource.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if icon data is present.
      </p>
      <p>
       \\begin\{comment\}
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="SaveFile">
    <function type="bool" name="SaveFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       A filename. The meaning of
       <i> name</i>
       is determined by the
       <i> type</i>
       parameter.
      </parameter>
      <parameter type="wxBitmapType " name="type"></parameter>
      <parameter type="wxPalette&#42; " name="palette" value="NULL">
       An optional palette used for saving the icon.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxiconloadfile">wxIcon::LoadFile</ref>
      \\end\{comment\}
     </seealso>
     <remarks>
      <p>
       Depending on how wxWidgets has been configured, not all formats may be
       available.
      </p>
     </remarks>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Saves an icon in the named file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="SetDepth">
    <function type="void" name="SetDepth">
     <parameters>
      <parameter type="int " name="depth">
       Icon depth.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the depth member (does not affect the icon data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="SetHeight">
    <function type="void" name="SetHeight">
     <parameters>
      <parameter type="int " name="height">
       Icon height in pixels.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the height member (does not affect the icon data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="SetWidth">
    <function type="void" name="SetWidth">
     <parameters>
      <parameter type="int " name="width">
       Icon width in pixels.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the width member (does not affect the icon data).
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="operator $=$">
    <function type="wxIcon&amp; " name="operator $=$">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon">
       Icon to assign.
      </parameter>
     </parameters>
     <returnvalue>
      Returns 'this' object.
     </returnvalue>
     <description>
      <p>
       Assignment operator. This operator does not copy any data, but instead
       passes a pointer to the data in
       <i> icon</i>
       and increments a reference counter. It is a fast operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="operator $==$">
    <function type="bool" name="operator $==$">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon">
       Icon to compare with 'this'
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the icons were effectively equal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Equality operator. This operator tests whether the internal data pointers
       are equal (a fast test).
      </p>
     </description>
    </function>
   </member>
   <member class="wxIcon" name="operator $!=$">
    <function type="bool" name="operator $!=$">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon">
       Icon to compare with 'this'
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the icons were unequal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Inequality operator. This operator tests whether the internal data
       pointers are unequal (a fast test).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxIconBundle">
  <description>
   <p class="classdesc">
    This class contains multiple copies of an icon in different sizes, see also
    <ref target="wxdialogseticons">wxDialog::SetIcons</ref>
    and
    <ref target="wxtoplevelwindowseticons">wxTopLevelWindow::SetIcons</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <members>
   <member class="wxIconBundle" name="wxIconBundle">
    <function type="" name="wxIconBundle">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxIconBundle">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description>
      <p>
       Initializes the bundle with the icon(s) found in the file.
      </p>
     </description>
    </function>
    <function type="" name="wxIconBundle">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon"></parameter>
     </parameters>
     <description>
      <p>
       Initializes the bundle with a single icon.
      </p>
     </description>
    </function>
    <function type="" name="wxIconBundle">
     <parameters>
      <parameter type="const wxIconBundle&amp; " name="ic"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIconBundle" name="~wxIconBundle">
    <function type="" name="~wxIconBundle">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIconBundle" name="AddIcon">
    <function type="void" name="AddIcon">
     <parameters>
      <parameter type="const wxString&amp; " name="file"></parameter>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description>
      <p>
       Adds all the icons contained in the file to the bundle; if the collection
       already contains icons with the same width and height, they are replaced
       by the new ones.
      </p>
     </description>
    </function>
    <function type="void" name="AddIcon">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon"></parameter>
     </parameters>
     <description>
      <p>
       Adds the icon to the collection; if the collection already contains an
       icon with the same width and height, it is replaced by the new one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIconBundle" name="GetIcon">
    <function type="const wxIcon&amp;" name="GetIcon" suffix="const">
     <parameters>
      <parameter type="const wxSize&amp; " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Returns the icon with the given size; if no such icon exists, returns the
       icon with size wxSYS\_ICON\_X/wxSYS\_ICON\_Y; if no such icon exists, returns
       the first icon in the bundle. If size = wxSize( -1, -1 ), returns the
       icon with size wxSYS\_ICON\_X/wxSYS\_ICON\_Y.
      </p>
     </description>
    </function>
    <function type="const wxIcon&amp;" name="GetIcon" suffix="const">
     <parameters>
      <parameter type="wxCoord " name="size" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       Same as GetIcon( wxSize( size, size ) ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxIconBundle" name="operator=">
    <function type="const wxIconBundle&amp;" name="operator=">
     <parameters>
      <parameter type="const wxIconBundle&amp; " name="ic"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxIconLocation">
  <description>
   <p class="classdesc">
    wxIconLocation is a tiny class describing the location of an (external, i.e.
    not embedded into the application resources) icon. For most platforms it
    simply contains the file name but under some others (notably Windows) the
    same file may contain multiple icons and so this class also stores the index
    of the icon inside the file.
   </p>
   <p class="classdesc">
    In any case, its details should be of no interest to the application code
    and most of them are not even documented here (on purpose) as it is only
    meant to be used as an opaque class: the application may get the object of
    this class from somewhere and the only reasonable thing to do with it later
    is to create a
    <ref target="wxicon">wxIcon</ref>
    from it.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/iconloc.h"/>
  </includes>
  <seealso>
   <ref target="wxicon">wxIcon</ref>
   <ref target="wxfiletypegeticon">wxFileType::GetIcon</ref>
  </seealso>
  <members>
   <member class="wxIconLocation" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the object is valid, i.e. was properly initialized, and
       <tt> false</tt>
       otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxIconizeEvent">
  <description>
   <p class="classdesc">
    An event being sent when the frame is iconized (minimized) or restored.
   </p>
   <p class="classdesc">
    Currently only wxMSW and wxGTK generate such events.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>An iconize/restore event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_ICONIZE(func)">Process a wxEVT\_ICONIZE event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
   ,
   <ref target="wxtoplevelwindowiconize">wxTopLevelWindow::Iconize</ref>
   ,
   <ref target="wxtoplevelwindowisiconized">wxTopLevelWindow::IsIconized</ref>
  </seealso>
  <members>
   <member class="wxIconizeEvent" name="wxIconizeEvent">
    <function type="" name="wxIconizeEvent">
     <parameters>
      <parameter type="int " name="id" value="0"></parameter>
      <parameter type="bool " name="iconized" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIconizeEvent" name="Iconized">
    <function type="bool" name="Iconized" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the frame has been iconized,
       <tt> false</tt>
       if it has been restored.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxIdleEvent">
  <description>
   <p class="classdesc">
    This class is used for idle events, which are generated when the system is
    idle.
   </p>
   <p class="classdesc">
    By default, idle events are sent to all windows. If this is causing a
    significant overhead in your application, you can call
    <ref target="wxidleeventsetmode">wxIdleEvent::SetMode</ref>
    with the value wxIDLE\_PROCESS\_SPECIFIED, and set the wxWS\_EX\_PROCESS\_IDLE
    extra window style for every window which should receive idle events.
   </p>
   <p class="classdesc">
    The function
    <ref target="wxwindowoninternalidle">wxWindow::OnInternalIdle</ref>
    is also provided for internal purposes, and cannot be disabled.
    wxUpdateUIEvents are sent from OnInternalIdle.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>An idle event</shortdesc>
  <remarks>
   <p>
    Idle events can be caught by the wxApp class, or by top-level window
    classes.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_IDLE(func)">Process a wxEVT\_IDLE event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
   <ref target="wxupdateuievent">wxUpdateUIEvent</ref>
   <ref target="wxwindowoninternalidle">wxWindow::OnInternalIdle</ref>
  </seealso>
  <members>
   <member class="wxIdleEvent" name="wxIdleEvent">
    <function type="" name="wxIdleEvent">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIdleEvent" name="CanSend">
    <function type="static bool" name="CanSend">
     <parameters>
      <parameter type="wxWindow&#42; " name="window"></parameter>
     </parameters>
     <seealso>
      <ref target="wxidleeventsetmode">wxIdleEvent::SetMode</ref>
     </seealso>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if it is appropriate to send idle events to this window.
      </p>
      <p>
       This function looks at the mode used (see
       <ref target="wxidleeventsetmode">wxIdleEvent::SetMode</ref>
       ), and the wxWS\_EX\_PROCESS\_IDLE style in
       <i> window</i>
       to determine whether idle events should be sent to this window now. By
       default this will always return
       <tt> true</tt>
       because the update mode is initially wxIDLE\_PROCESS\_ALL. You can change
       the mode to only send idle events to windows with the
       wxWS\_EX\_PROCESS\_IDLE extra window style set.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIdleEvent" name="GetMode">
    <function type="static wxIdleMode" name="GetMode">
     <description>
      <p>
       Static function returning a value specifying how wxWidgets will send idle
       events: to all windows, or only to those which specify that they will
       process the events.
      </p>
      <p>
       See
       <ref target="wxidleeventsetmode">wxIdleEvent::SetMode</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxIdleEvent" name="RequestMore">
    <function type="void" name="RequestMore">
     <parameters>
      <parameter type="bool " name="needMore" value="true"></parameter>
     </parameters>
     <seealso>
      <ref target="wxidleeventmorerequested">wxIdleEvent::MoreRequested</ref>
     </seealso>
     <description>
      <p>
       Tells wxWidgets that more processing is required. This function can be
       called by an OnIdle handler for a window or window event handler to
       indicate that wxApp::OnIdle should forward the OnIdle event once more to
       the application windows. If no window calls this function during OnIdle,
       then the application will remain in a passive event loop (not calling
       OnIdle) until a new event is posted to the application by the windowing
       system.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIdleEvent" name="MoreRequested">
    <function type="bool" name="MoreRequested" suffix="const">
     <seealso>
      <ref target="wxidleeventrequestmore">wxIdleEvent::RequestMore</ref>
     </seealso>
     <description>
      <p>
       Returns true if the OnIdle function processing this event requested more
       processing time.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIdleEvent" name="SetMode">
    <function type="static void" name="SetMode">
     <parameters>
      <parameter type="wxIdleMode " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       Static function for specifying how wxWidgets will send idle events: to
       all windows, or only to those which specify that they will process the
       events.
      </p>
      <p>
       <i> mode</i>
       can be one of the following values. The default is wxIDLE\_PROCESS\_ALL.
      </p>
      <pre>
enum wxIdleMode
\{
        // Send idle events to all windows
    wxIDLE\_PROCESS\_ALL,

        // Send idle events to windows that have
        // the wxWS\_EX\_PROCESS\_IDLE flag specified
    wxIDLE\_PROCESS\_SPECIFIED
\};
</pre>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxImage">
  <description>
   <p class="classdesc">
    This class encapsulates a platform-independent image. An image can be
    created from data, or using
    <ref target="wxbitmapconverttoimage">wxBitmap::ConvertToImage</ref>
    . An image can be loaded from a file in a variety of formats, and is
    extensible to new formats via image format handlers. Functions are available
    to set and get image bits, so it can be used for basic image manipulation.
   </p>
   <p class="classdesc">
    A wxImage cannot (currently) be drawn directly to a
    <ref target="wxdc">wxDC</ref>
    . Instead, a platform-specific
    <ref target="wxbitmap">wxBitmap</ref>
    object must be created from it using the
    <ref target="wxbitmapctor">wxBitmap::wxBitmap(wxImage,int depth)</ref>
    constructor. This bitmap can then be drawn in a device context, using
    <ref target="wxdcdrawbitmap">wxDC::DrawBitmap</ref>
    .
   </p>
   <p class="classdesc">
    One colour value of the image may be used as a mask colour which will lead
    to the automatic creation of a
    <ref target="wxmask">wxMask</ref>
    object associated to the bitmap object.
   </p>
   <p class="classdesc">
    <heading>Alpha channel support</heading>
   </p>
   <p class="classdesc">
    Starting from wxWidgets 2.5.0 wxImage supports alpha channel data, that is
    in addition to a byte for the red, green and blue colour components for each
    pixel it also stores a byte representing the pixel opacity. An alpha value
    of 0 corresponds to a transparent pixel (null opacity) while a value of 255
    means that the pixel is 100% opaque.
   </p>
   <p class="classdesc">
    Unlike RGB data, not all images have an alpha channel and before using
    <ref target="wximagegetalpha">GetAlpha</ref>
    you should check if this image contains an alpha channel with
    <ref target="wximagehasalpha">HasAlpha</ref>
    . Note that currently only images loaded from PNG files with transparency
    information will have an alpha channel but alpha support will be added to
    the other formats as well (as well as support for saving images with alpha
    channel which also isn't implemented).
   </p>
   <p class="classdesc">
    <heading>Available image handlers</heading>
   </p>
   <p class="classdesc">
    The following image handlers are available.
    <b> wxBMPHandler</b>
    is always installed by default. To use other image formats, install the
    appropriate handler with
    <ref target="wximageaddhandler">wxImage::AddHandler</ref>
    or
    <ref target="wxinitallimagehandlers">wxInitAllImageHandlers</ref>
    .
   </p>
   <p class="classdesc">
    <table>
     <tr>
      <td>
       <ref type="index" target="wxBMPHandler"/>
      </td>
      <td>For loading and saving, always installed.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxPNGHandler"/>
      </td>
      <td>For loading (including alpha support) and saving.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxJPEGHandler"/>
      </td>
      <td>For loading and saving.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxGIFHandler"/>
      </td>
      <td>Only for loading, due to legal issues.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxPCXHandler"/>
      </td>
      <td>For loading and saving (see below).</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxPNMHandler"/>
      </td>
      <td>For loading and saving (see below).</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxTIFFHandler"/>
      </td>
      <td>For loading and saving.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxIFFHandler"/>
      </td>
      <td>For loading only.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxXPMHandler"/>
      </td>
      <td>For loading and saving.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxICOHandler"/>
      </td>
      <td>For loading and saving.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxCURHandler"/>
      </td>
      <td>For loading and saving.</td>
     </tr>
     <tr>
      <td>
       <ref type="index" target="wxANIHandler"/>
      </td>
      <td>For loading only.</td>
     </tr>
    </table>
   </p>
   <p class="classdesc">
    When saving in PCX format,
    <b> wxPCXHandler</b>
    will count the number of different colours in the image; if there are 256 or
    less colours, it will save as 8 bit, else it will save as 24 bit.
   </p>
   <p class="classdesc">
    Loading PNMs only works for ASCII or raw RGB images. When saving in PNM
    format,
    <b> wxPNMHandler</b>
    will always save as raw RGB.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>A platform-independent image class</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/image.h"/>
  </includes>
  <seealso>
   <ref target="wxbitmap">wxBitmap</ref>
   <ref target="wxinitallimagehandlers">wxInitAllImageHandlers</ref>
  </seealso>
  <members>
   <member class="wxImage" name="wxImage">
    <function type="" name="wxImage">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="const wxImage&amp; " name="image"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxImage" obsolete="yes">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
     </parameters>
     <description>
      <p>
       (Deprecated form, use
       <ref target="wxbitmapconverttoimage">wxBitmap::ConvertToImage</ref>
       instead.) Constructs an image from a platform-dependent bitmap. This
       preserves mask information so that bitmaps and images can be converted
       back and forth without loss in that respect.
      </p>
     </description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="int " name="width">
       Specifies the width of the image.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the image.
      </parameter>
      <parameter type="bool " name="clear" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Creates an image with the given width and height. If
       <i> clear</i>
       is true, the new image will be initialized to black. Otherwise, the image
       data will be uninitialized.
      </p>
     </description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="int " name="width">
       Specifies the width of the image.
      </parameter>
      <parameter type="int " name="height">
       Specifies the height of the image.
      </parameter>
      <parameter type="unsigned char&#42; " name="data"></parameter>
      <parameter type="bool " name="static\_data" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Creates an image from given data with the given width and height. If
       <i> static\_data</i>
       is true, then wxImage will not delete the actual image data in its
       destructor, otherwise it will free it by calling
       <i> free()</i>
       .
      </p>
     </description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file from which to load the image.
      </parameter>
      <parameter type="long " name="type" value="wxBITMAP\_TYPE\_ANY"></parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file from which to load the image.
      </parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type string (for example 'image/jpeg')
      </parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description>
      <p>
       Loads an image from a file.
      </p>
     </description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream from which to load the image. Currently, the stream
       must support seeking.
      </parameter>
      <parameter type="long " name="type" value="wxBITMAP\_TYPE\_ANY"></parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream from which to load the image. Currently, the stream
       must support seeking.
      </parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type string (for example 'image/jpeg')
      </parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description>
      <p>
       Loads an image from an input stream.
      </p>
     </description>
    </function>
    <function type="" name="wxImage">
     <parameters>
      <parameter type="const char&#42;&#42; " name="xpmData">
       A pointer to XPM image data.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximageloadfile">wxImage::LoadFile</ref>
     </seealso>
     <remarks>
      <p>
       Depending on how wxWidgets has been configured, not all formats may be
       available.
      </p>
      <p>
       Note: any handler other than BMP must be previously initialized with
       <ref target="wximageaddhandler">wxImage::AddHandler</ref>
       or
       <ref target="wxinitallimagehandlers">wxInitAllImageHandlers</ref>
       .
      </p>
      <p>
       Note: you can use
       <ref target="wximagegetoptionint">GetOptionInt</ref>
       to get the hotspot for loaded cursor file:
      </p>
      <pre>
    int hotspot\_x = image.GetOptionInt(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_X);
    int hotspot\_y = image.GetOptionInt(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_Y);

</pre>
     </remarks>
     <description>
      <p>
       Creates an image from XPM data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="~wxImage">
    <function type="" name="~wxImage">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="AddHandler">
    <function type="static void" name="AddHandler">
     <parameters>
      <parameter type="wxImageHandler&#42; " name="handler">
       A new image format handler object. There is usually only one instance of
       a given handler class in an application session.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
     </seealso>
     <description>
      <p>
       Adds a handler to the end of the static list of format handlers.
      </p>
     </description>
    </function>
    <function type="bool" name="CanRead">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       returns true if the current image handlers can read this file
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="CleanUpHandlers">
    <function type="static void" name="CleanUpHandlers">
     <description>
      <p>
       Deletes all image handlers.
      </p>
      <p>
       This function is called by wxWidgets on exit.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="ComputeHistogram">
    <function type="unsigned long" name="ComputeHistogram" suffix="const">
     <parameters>
      <parameter type="wxImageHistogram&amp; " name="histogram"></parameter>
     </parameters>
     <returnvalue>
      Returns number of colours in the histogram.
     </returnvalue>
     <description>
      <p>
       Computes the histogram of the image.
       <i> histogram</i>
       is a reference to wxImageHistogram object. wxImageHistogram is a
       specialization of
       <ref target="wxhashmap">wxHashMap</ref>
       &quot;template&quot; and is defined as follows:
      </p>
      <pre>
class WXDLLEXPORT wxImageHistogramEntry
\{
public:
    wxImageHistogramEntry() : index(0), value(0) \{\}
    unsigned long index;
    unsigned long value;
\};

WX\_DECLARE\_EXPORTED\_HASH\_MAP(unsigned long, wxImageHistogramEntry,
                             wxIntegerHash, wxIntegerEqual,
                             wxImageHistogram);
</pre>
     </description>
    </function>
   </member>
   <member class="wxImage" name="ConvertAlphaToMask">
    <function type="bool" name="ConvertAlphaToMask">
     <parameters>
      <parameter type="unsigned char " name="threshold" value="128"></parameter>
     </parameters>
     <returnvalue>
      false if FindFirstUnusedColour returns false, true otherwise.
     </returnvalue>
     <description>
      <p>
       If the image has alpha channel, this method converts it to mask. All
       pixels with alpha value less than
       <i>threshold</i>
       are replaced with mask colour and the alpha channel is removed. Mask
       colour is chosen automatically using
       <ref target="wximagefindfirstunusedcolour">FindFirstUnusedColour</ref>
       .
      </p>
      <p>
       If the image image doesn't have alpha channel, ConvertAlphaToMask does
       nothing.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="ConvertToBitmap" obsolete="yes">
    <function type="wxBitmap" name="ConvertToBitmap" suffix="const">
     <description>
      <p>
       Deprecated, use equivalent
       <ref target="wxbitmapctor">wxBitmap constructor</ref>
       (which takes wxImage and depth as its arguments) instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="ConvertToMono">
    <function type="wxImage" name="ConvertToMono" suffix="const">
     <parameters>
      <parameter type="unsigned char " name="r"></parameter>
      <parameter type="unsigned char " name="g"></parameter>
      <parameter type="unsigned char " name="b"></parameter>
     </parameters>
     <description>
      <p>
       Returns monochromatic version of the image. The returned image has white
       colour where the original has
       <i> (r,g,b)</i>
       colour and black colour everywhere else.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Copy">
    <function type="wxImage" name="Copy" suffix="const">
     <description>
      <p>
       Returns an identical copy of the image.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="int " name="width">
       The width of the image in pixels.
      </parameter>
      <parameter type="int " name="height">
       The height of the image in pixels.
      </parameter>
      <parameter type="bool " name="clear" value="true"></parameter>
     </parameters>
     <returnvalue>
      true if the call succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Creates a fresh image. If
       <i> clear</i>
       is true, the new image will be initialized to black. Otherwise, the image
       data will be uninitialized.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Destroy">
    <function type="void" name="Destroy">
     <description>
      <p>
       Destroys the image data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="FindFirstUnusedColour">
    <function type="bool" name="FindFirstUnusedColour">
     <parameters>
      <parameter type="unsigned char &#42; " name="r"></parameter>
      <parameter type="unsigned char &#42; " name="g"></parameter>
      <parameter type="unsigned char &#42; " name="b"></parameter>
      <parameter type="unsigned char " name="startR" value="1"></parameter>
      <parameter type="unsigned char " name="startG" value="0"></parameter>
      <parameter type="unsigned char " name="startB" value="0"></parameter>
     </parameters>
     <note>

Note that this method involves computing the histogram, which is
computationally intensive operation.


</note>
     <returnvalue>
      Returns false if there is no unused colour left, true on success.
     </returnvalue>
     <description>
      <p>
       Finds the first colour that is never used in the image. The search begins
       at given initial colour and continues by increasing R, G and B components
       (in this order) by 1 until an unused colour is found or the colour space
       exhausted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="FindHandler">
    <function type="static wxImageHandler&#42;" name="FindHandler">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       The handler name.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds the handler with the given name.
      </p>
     </description>
    </function>
    <function type="static wxImageHandler&#42;" name="FindHandler">
     <parameters>
      <parameter type="const wxString&amp; " name="extension">
       The file extension, such as ``bmp&quot;.
      </parameter>
      <parameter type="long " name="imageType">
       The image type, such as wxBITMAP\_TYPE\_BMP.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds the handler associated with the given extension and type.
      </p>
     </description>
    </function>
    <function type="static wxImageHandler&#42;" name="FindHandler">
     <parameters>
      <parameter type="long " name="imageType">
       The image type, such as wxBITMAP\_TYPE\_BMP.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds the handler associated with the given image type.
      </p>
     </description>
    </function>
    <function type="static wxImageHandler&#42;" name="FindHandlerMime">
     <parameters>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
     </seealso>
     <returnvalue>
      A pointer to the handler if found, NULL otherwise.
     </returnvalue>
     <description>
      <p>
       Finds the handler associated with the given MIME type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetImageExtWildcard">
    <function type="static wxString" name="GetImageExtWildcard">
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
     </seealso>
     <returnvalue>
      The format of the returned string is
      &quot;(&#42;.ext1;&#42;.ext2)|&#42;.ext1;&#42;.ext2&quot;. It is usually a
      good idea to prepend a description before passing the result to the
      dialog. Example:
      <pre>
    wxFileDialog FileDlg( this, &quot;Choose Image&quot;, ::wxGetWorkingDirectory(), &quot;&quot;, \_(&quot;Image Files &quot;) + wxImage::GetImageExtWildcard(), wxOPEN );
</pre>
     </returnvalue>
     <description>
      <p>
       Iterates all registered wxImageHandler objects, and returns a string
       containing file extension masks suitable for passing to file open/save
       dialog boxes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetAlpha">
    <function type="unsigned char" name="GetAlpha" suffix="const">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Returns the alpha value for the given pixel. This function may only be
       called for the images with alpha channel, use
       <ref target="wximagehasalpha">HasAlpha</ref>
       to check for this.
      </p>
      <p>
       The returned value is the
       <i> opacity</i>
       of the image, i.e. the value of 0 corresponds to the transparent pixels
       while the value of 255 -- to the opaque ones.
      </p>
     </description>
    </function>
    <function type="unsigned char &#42;" name="GetAlpha" suffix="const">
     <description>
      <p>
       Returns pointer to the array storing the alpha values for this image.
       This pointer is
       <tt> NULL</tt>
       for the images without the alpha channel. If the image does have it, this
       pointer may be used to directly manipulate the alpha values which are
       stored as the
       <ref target="wximagegetdata">RGB</ref>
       ones.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetBlue">
    <function type="unsigned char" name="GetBlue" suffix="const">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Returns the blue intensity at the given coordinate.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetData">
    <function type="unsigned char&#42;" name="GetData" suffix="const">
     <description>
      <p>
       Returns the image data as an array. This is most often used when doing
       direct image manipulation. The return value points to an array of
       characters in RGBRGBRGB... format in the top-to-bottom, left-to-right
       order, that is the first RGB triplet corresponds to the pixel first pixel
       of the first row, the second one --- to the second pixel of the first row
       and so on until the end of the first row, with second row following after
       it and so on.
      </p>
      <p>
       You should not delete the returned pointer nor pass it to
       <ref target="wximagesetdata">wxImage::SetData</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetGreen">
    <function type="unsigned char" name="GetGreen" suffix="const">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Returns the green intensity at the given coordinate.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetImageCount">
    <function type="static int" name="GetImageCount">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="long " name="type" value="wxBITMAP\_TYPE\_ANY"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static int" name="GetImageCount">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream with image data. Currently, the stream must support
       seeking.
      </parameter>
      <parameter type="long " name="type" value="wxBITMAP\_TYPE\_ANY"></parameter>
     </parameters>
     <returnvalue>
      Number of available images. For most image handlers, this is 1 (exceptions
      are TIFF and ICO formats).
     </returnvalue>
     <description>
      <p>
       If the image file contains more than one image and the image handler is
       capable of retrieving these individually, this function will return the
       number of available images.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetHandlers">
    <function type="static wxList&amp;" name="GetHandlers">
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
     </seealso>
     <description>
      <p>
       Returns the static list of image format handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetHeight">
    <function type="int" name="GetHeight" suffix="const">
     <description>
      <p>
       Gets the height of the image in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetMaskBlue">
    <function type="unsigned char" name="GetMaskBlue" suffix="const">
     <description>
      <p>
       Gets the blue value of the mask colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetMaskGreen">
    <function type="unsigned char" name="GetMaskGreen" suffix="const">
     <description>
      <p>
       Gets the green value of the mask colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetMaskRed">
    <function type="unsigned char" name="GetMaskRed" suffix="const">
     <description>
      <p>
       Gets the red value of the mask colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetOrFindMaskColour">
    <function type="bool" name="GetOrFindMaskColour" suffix="const">
     <parameters>
      <parameter type="unsigned char &#42;" name="r"></parameter>
      <parameter type="unsigned char &#42;" name="g"></parameter>
      <parameter type="unsigned char &#42;" name="b"></parameter>
     </parameters>
     <description>
      <p>
       Get the current mask colour or find a suitable unused colour that could
       be used as a mask colour. Returns
       <tt> true</tt>
       if the image currently has a mask.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetPalette">
    <function type="const wxPalette&amp;" name="GetPalette" suffix="const">
     <description>
      <p>
       Returns the palette associated with the image. Currently the palette is
       only used when converting to wxBitmap under Windows.
      </p>
      <p>
       Eventually wxImage handlers will set the palette if one exists in the
       image file.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetRed">
    <function type="unsigned char" name="GetRed" suffix="const">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Returns the red intensity at the given coordinate.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetSubImage">
    <function type="wxImage" name="GetSubImage" suffix="const">
     <parameters>
      <parameter type="const wxRect&amp; " name="rect"></parameter>
     </parameters>
     <description>
      <p>
       Returns a sub image of the current one as long as the rect belongs
       entirely to the image.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetWidth">
    <function type="int" name="GetWidth" suffix="const">
     <seealso>
      <ref target="wximagegetheight">wxImage::GetHeight</ref>
     </seealso>
     <description>
      <p>
       Gets the width of the image in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="HasAlpha">
    <function type="bool" name="HasAlpha" suffix="const">
     <seealso>
      <ref target="wximagegetalpha">GetAlpha</ref>
      <ref target="wximagesetalpha">SetAlpha</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxImage" name="HasMask">
    <function type="bool" name="HasMask" suffix="const">
     <description>
      <p>
       Returns true if there is a mask active, false otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetOption">
    <function type="wxString" name="GetOption" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagesetoption">wxImage::SetOption</ref>
      ,
      <ref target="wximagegetoptionint">wxImage::GetOptionInt</ref>
      ,
      <ref target="wximagehasoption">wxImage::HasOption</ref>
     </seealso>
     <description>
      <p>
       Gets a user-defined option. The function is case-insensitive to
       <i> name</i>
       .
      </p>
      <p>
       For example, when saving as a JPEG file, the option
       <b> quality</b>
       is used, which is a number between 0 and 100 (0 is terrible, 100 is very
       good).
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="GetOptionInt">
    <function type="int" name="GetOptionInt" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagesetoption">wxImage::SetOption</ref>
      ,
      <ref target="wximagegetoption">wxImage::GetOption</ref>
     </seealso>
     <description>
      <p>
       Gets a user-defined option as an integer. The function is
       case-insensitive to
       <i> name</i>
       .
      </p>
      <p>
       If the given option is not present, the function returns 0. Use
       <ref target="wximagehasoption">wxImage::HasOption</ref>
       is 0 is a possibly valid value for the option.
      </p>
      <p>
       Options for wxPNGHandler
      </p>
      <table>
       <tr>
        <td>wxIMAGE\_OPTION\_PNG\_FORMAT</td>
        <td>Format for saving a PNG file.</td>
       </tr>
       <tr>
        <td>wxIMAGE\_OPTION\_PNG\_BITDEPTH</td>
        <td>Bit depth for every channel (R/G/B/A).</td>
       </tr>
      </table>
      <p>
       Supported values for wxIMAGE\_OPTION\_PNG\_FORMAT:
      </p>
      <table>
       <tr>
        <td>wxPNG\_TYPE\_COLOUR</td>
        <td>Stores RGB image.</td>
       </tr>
       <tr>
        <td>wxPNG\_TYPE\_GREY</td>
        <td>Stores grey image, converts from RGB.</td>
       </tr>
       <tr>
        <td>wxPNG\_TYPE\_GREY\_RED</td>
        <td>Stores grey image, uses red value as grey.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxImage" name="HasOption">
    <function type="bool" name="HasOption" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagesetoption">wxImage::SetOption</ref>
      ,
      <ref target="wximagegetoption">wxImage::GetOption</ref>
      ,
      <ref target="wximagegetoptionint">wxImage::GetOptionInt</ref>
     </seealso>
     <description>
      <p>
       Returns true if the given option is present. The function is
       case-insensitive to
       <i> name</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="InitAlpha">
    <function type="void" name="InitAlpha">
     <description>
      <p>
       Initializes the image alpha channel data. It is an error to call it if
       the image already has alpha data. If it doesn't, alpha data will be by
       default initialized to all pixels being fully opaque. But if the image
       has a a mask colour, all mask pixels will be completely transparent.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="InitStandardHandlers">
    <function type="static void" name="InitStandardHandlers">
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
      <ref target="wxinitallimagehandlers">wxInitAllImageHandlers</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxImage" name="InsertHandler">
    <function type="static void" name="InsertHandler">
     <parameters>
      <parameter type="wxImageHandler&#42; " name="handler">
       A new image format handler object. There is usually only one instance of
       a given handler class in an application session.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
     </seealso>
     <description>
      <p>
       Adds a handler at the start of the static list of format handlers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="IsTransparent">
    <function type="bool" name="IsTransparent" suffix="const">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
      <parameter type="unsigned char " name="threshold" value="128"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the given pixel is transparent, i.e. either has the mask
       colour if this image has a mask or if this image has alpha channel and
       alpha value of this pixel is strictly less than
       <i>threshold</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="LoadFile">
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file from which to load the image.
      </parameter>
      <parameter type="long " name="type" value="wxBITMAP\_TYPE\_ANY"></parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file from which to load the image.
      </parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type string (for example 'image/jpeg')
      </parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description>
      <p>
       Loads an image from a file. If no handler type is provided, the library
       will try to autodetect the format.
      </p>
     </description>
    </function>
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream from which to load the image. Currently, the stream
       must support seeking.
      </parameter>
      <parameter type="long " name="type"></parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream from which to load the image. Currently, the stream
       must support seeking.
      </parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type string (for example 'image/jpeg')
      </parameter>
      <parameter type="int " name="index" value="-1">
       Index of the image to load in the case that the image file contains
       multiple images. This is only used by GIF, ICO and TIFF handlers. The
       default value (-1) means &quot;choose the default image&quot; and is
       interpreted as the first image (index=0) by the GIF and TIFF handler and
       as the largest and most colourful one by the ICO handler.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximagesavefile">wxImage::SaveFile</ref>
     </seealso>
     <remarks>
      <p>
       Depending on how wxWidgets has been configured, not all formats may be
       available.
      </p>
      <p>
       Note: you can use
       <ref target="wximagegetoptionint">GetOptionInt</ref>
       to get the hotspot for loaded cursor file:
      </p>
      <pre>
    int hotspot\_x = image.GetOptionInt(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_X);
    int hotspot\_y = image.GetOptionInt(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_Y);

</pre>
      <p>
       \\wxheading\{Return value\}
      </p>
      <p>
       true if the operation succeeded, false otherwise. If the optional index
       parameter is out of range, false is returned and a call to wxLogError()
       takes place.
      </p>
     </remarks>
     <description>
      <p>
       Loads an image from an input stream.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Ok">
    <function type="bool" name="Ok" suffix="const">
     <description>
      <p>
       Returns true if image data is present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="RemoveHandler">
    <function type="static bool" name="RemoveHandler">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       The handler name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximagehandler">wxImageHandler</ref>
     </seealso>
     <returnvalue>
      true if the handler was found and removed, false otherwise.
     </returnvalue>
     <description>
      <p>
       Finds the handler with the given name, and removes it. The handler is not
       deleted.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Mirror">
    <function type="wxImage" name="Mirror" suffix="const">
     <parameters>
      <parameter type="bool " name="horizontally" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Returns a mirrored copy of the image. The parameter
       <i> horizontally</i>
       indicates the orientation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Replace">
    <function type="void" name="Replace">
     <parameters>
      <parameter type="unsigned char " name="r1"></parameter>
      <parameter type="unsigned char " name="g1"></parameter>
      <parameter type="unsigned char " name="b1"></parameter>
      <parameter type="unsigned char " name="r2"></parameter>
      <parameter type="unsigned char " name="g2"></parameter>
      <parameter type="unsigned char " name="b2"></parameter>
     </parameters>
     <description>
      <p>
       Replaces the colour specified by
       <i> r1,g1,b1</i>
       by the colour
       <i> r2,g2,b2</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Rescale">
    <function type="wxImage &amp;" name="Rescale">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagescale">Scale</ref>
     </seealso>
     <description>
      <p>
       Changes the size of the image in-place by scaling it: after a call to
       this function, the image will have the given width and height.
      </p>
      <p>
       Returns the (modified) image itself.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Resize">
    <function type="wxImage &amp;" name="Resize">
     <parameters>
      <parameter type="const wxSize&amp; " name="size"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="int " name="red" value="-1"></parameter>
      <parameter type="int " name="green" value="-1"></parameter>
      <parameter type="int " name="blue" value="-1"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagesize">Size</ref>
     </seealso>
     <description>
      <p>
       Changes the size of the image in-place without scaling it by adding
       either a border with the given colour or cropping as necessary. The image
       is pasted into a new image with the given
       <i> size</i>
       and background colour at the position
       <i> pos</i>
       relative to the upper left of the new image. If
       <i> red = green = blue = -1</i>
       then use either the current mask colour if set or find, use, and set a
       suitable mask colour for any newly exposed areas.
      </p>
      <p>
       Returns the (modified) image itself.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Rotate">
    <function type="wxImage" name="Rotate">
     <parameters>
      <parameter type="double " name="angle"></parameter>
      <parameter type="const wxPoint&amp; " name="rotationCentre"></parameter>
      <parameter type="bool " name="interpolating" value="true"></parameter>
      <parameter type="wxPoint&#42; " name="offsetAfterRotation" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Rotates the image about the given point, by
       <i> angle</i>
       radians. Passing true to
       <i> interpolating</i>
       results in better image quality, but is slower. If the image has a mask,
       then the mask colour is used for the uncovered pixels in the rotated
       image background. Else, black (rgb 0, 0, 0) will be used.
      </p>
      <p>
       Returns the rotated image, leaving this image intact.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Rotate90">
    <function type="wxImage" name="Rotate90" suffix="const">
     <parameters>
      <parameter type="bool " name="clockwise" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Returns a copy of the image rotated 90 degrees in the direction indicated
       by
       <i> clockwise</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SaveFile">
    <function type="bool" name="SaveFile" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file to save the image to.
      </parameter>
      <parameter type="int " name="type"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SaveFile" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file to save the image to.
      </parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type.
      </parameter>
     </parameters>
     <description>
      <p>
       Saves an image in the named file.
      </p>
     </description>
    </function>
    <function type="bool" name="SaveFile" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Name of the file to save the image to.
      </parameter>
     </parameters>
     <description>
      <p>
       Saves an image in the named file. File type is determined from the
       extension of the file name. Note that this function may fail if the
       extension is not recognized! You can use one of the forms above to save
       images to files with non-standard extensions.
      </p>
     </description>
    </function>
    <function type="bool" name="SaveFile" suffix="const">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream">
       Opened output stream to save the image to.
      </parameter>
      <parameter type="int " name="type"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="SaveFile" suffix="const">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream">
       Opened output stream to save the image to.
      </parameter>
      <parameter type="const wxString&amp; " name="mimetype">
       MIME type.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximageloadfile">wxImage::LoadFile</ref>
     </seealso>
     <remarks>
      <p>
       Depending on how wxWidgets has been configured, not all formats may be
       available.
      </p>
      <p>
       Note: you can use
       <ref target="wximagegetoptionint">GetOptionInt</ref>
       to set the hotspot before saving an image into a cursor file (default
       hotspot is in the centre of the image):
      </p>
      <pre>
    image.SetOption(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_X, hotspotX);
    image.SetOption(wxIMAGE\_OPTION\_CUR\_HOTSPOT\_Y, hotspotY);

</pre>
     </remarks>
     <returnvalue>
      true if the operation succeeded, false otherwise.
     </returnvalue>
     <description>
      <p>
       Saves an image in the given stream.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Scale">
    <function type="wxImage" name="Scale" suffix="const">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagerescale">Rescale</ref>
     </seealso>
     <description>
      <p>
       Returns a scaled version of the image. This is also useful for scaling
       bitmaps in general as the only other way to scale bitmaps is to blit a
       wxMemoryDC into another wxMemoryDC.
      </p>
      <p>
       It may be mentioned that the GTK port uses this function internally to
       scale bitmaps when using mapping modes in wxDC.
      </p>
      <p>
       Example:
      </p>
      <pre>
    // get the bitmap from somewhere
    wxBitmap bmp = ...;

    // rescale it to have size of 32&#42;32
    if ( bmp.GetWidth() != 32 || bmp.GetHeight() != 32 )
    \{
        wxImage image = bmp.ConvertToImage();
        bmp = wxBitmap(image.Scale(32, 32));

        // another possibility:
        image.Rescale(32, 32);
        bmp = image;
    \}

</pre>
     </description>
    </function>
   </member>
   <member class="wxImage" name="Size">
    <function type="wxImage" name="Size" suffix="const">
     <parameters>
      <parameter type="const wxSize&amp; " name="size"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="int " name="red" value="-1"></parameter>
      <parameter type="int " name="green" value="-1"></parameter>
      <parameter type="int " name="blue" value="-1"></parameter>
     </parameters>
     <seealso>
      <ref target="wximageresize">Resize</ref>
     </seealso>
     <description>
      <p>
       Returns a resized version of this image without scaling it by adding
       either a border with the given colour or cropping as necessary. The image
       is pasted into a new image with the given
       <i> size</i>
       and background colour at the position
       <i> pos</i>
       relative to the upper left of the new image. If
       <i> red = green = blue = -1</i>
       then use either the current mask colour if set or find, use, and set a
       suitable mask colour for any newly exposed areas.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetAlpha">
    <function type="void" name="SetAlpha">
     <parameters>
      <parameter type="unsigned char &#42;" name="alpha" value="NULL"></parameter>
      <parameter type="bool " name="static\_data" value="false"></parameter>
     </parameters>
     <description>
      <p>
       This function is similar to
       <ref target="wximagesetdata">SetData</ref>
       and has similar restrictions. The pointer passed to it may however be
       <tt> NULL</tt>
       in which case the function will allocate the alpha array internally --
       this is useful to add alpha channel data to an image which doesn't have
       any. If the pointer is not
       <tt> NULL</tt>
       , it must have one byte for each image pixel and be allocated with
       <tt> malloc()</tt>
       . wxImage takes ownership of the pointer and will free it unless
       <i>static\_data</i>
       parameter is set.to true -- in this case the caller should do it.
      </p>
     </description>
    </function>
    <function type="void" name="SetAlpha">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
      <parameter type="unsigned char " name="alpha"></parameter>
     </parameters>
     <description>
      <p>
       Sets the alpha value for the given pixel. This function should only be
       called if the image has alpha channel data, use
       <ref target="wximagehasalpha">HasAlpha</ref>
       to check for this.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetData">
    <function type="void" name="SetData">
     <parameters>
      <parameter type="unsigned char&#42;" name="data"></parameter>
     </parameters>
     <description>
      <p>
       Sets the image data without performing checks. The data given must have
       the size (width&#42;height&#42;3) or results will be unexpected. Don't
       use this method if you aren't sure you know what you are doing.
      </p>
      <p>
       The data must have been allocated with
       <tt> malloc()</tt>
       ,
       <b> NOT</b>
       with
       <tt> operator new</tt>
       .
      </p>
      <p>
       After this call the pointer to the data is owned by the wxImage object,
       that will be responsible for deleting it. Do not pass to this function a
       pointer obtained through
       <ref target="wximagegetdata">wxImage::GetData</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetMask">
    <function type="void" name="SetMask">
     <parameters>
      <parameter type="bool " name="hasMask" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Specifies whether there is a mask or not. The area of the mask is
       determined by the current mask colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetMaskColour">
    <function type="void" name="SetMaskColour">
     <parameters>
      <parameter type="unsigned char " name="red"></parameter>
      <parameter type="unsigned char " name="green"></parameter>
      <parameter type="unsigned char " name="blue"></parameter>
     </parameters>
     <description>
      <p>
       Sets the mask colour for this image (and tells the image to use the
       mask).
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetMaskFromImage">
    <function type="bool" name="SetMaskFromImage">
     <parameters>
      <parameter type="const wxImage&amp; " name="mask">
       The mask image to extract mask shape from. Must have same dimensions as
       the image.
      </parameter>
      <parameter type="unsigned char " name="mr"></parameter>
      <parameter type="unsigned char " name="mg"></parameter>
      <parameter type="unsigned char " name="mb"></parameter>
     </parameters>
     <note>

Note that this method involves computing the histogram, which is
computationally intensive operation.


</note>
     <returnvalue>
      Returns false if
      <i> mask</i>
      does not have same dimensions as the image or if there is no unused colour
      left. Returns true if the mask was successfully applied.
     </returnvalue>
     <description>
      <p>
       Sets image's mask so that the pixels that have RGB value of
       <i> mr,mg,mb</i>
       in
       <i> mask</i>
       will be masked in the image. This is done by first finding an unused
       colour in the image, setting this colour as the mask colour and then
       using this colour to draw all pixels in the image who corresponding pixel
       in
       <i> mask</i>
       has given RGB value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetOption">
    <function type="void" name="SetOption">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="const wxString&amp; " name="value"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetOption">
     <parameters>
      <parameter type="const wxString&amp; " name="name"></parameter>
      <parameter type="int " name="value"></parameter>
     </parameters>
     <seealso>
      <ref target="wximagegetoption">wxImage::GetOption</ref>
      ,
      <ref target="wximagegetoptionint">wxImage::GetOptionInt</ref>
      ,
      <ref target="wximagehasoption">wxImage::HasOption</ref>
     </seealso>
     <description>
      <p>
       Sets a user-defined option. The function is case-insensitive to
       <i> name</i>
       .
      </p>
      <p>
       For example, when saving as a JPEG file, the option
       <b> quality</b>
       is used, which is a number between 0 and 100 (0 is terrible, 100 is very
       good).
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetPalette">
    <function type="void" name="SetPalette">
     <parameters>
      <parameter type="const wxPalette&amp; " name="palette"></parameter>
     </parameters>
     <description>
      <p>
       Associates a palette with the image. The palette may be used when
       converting wxImage to wxBitmap (MSW only at present) or in file save
       operations (none as yet).
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetRGB">
    <function type="void" name="SetRGB">
     <parameters>
      <parameter type="int " name="x"></parameter>
      <parameter type="int " name="y"></parameter>
      <parameter type="unsigned char " name="red"></parameter>
      <parameter type="unsigned char " name="green"></parameter>
      <parameter type="unsigned char " name="blue"></parameter>
     </parameters>
     <description>
      <p>
       Sets the pixel at the given coordinate. This routine performs
       bounds-checks for the coordinate so it can be considered a safe way to
       manipulate the data, but in some cases this might be too slow so that the
       data will have to be set directly. In that case you will have to get
       access to the image data using the
       <ref target="wximagegetdata">GetData</ref>
       method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="SetRGB">
    <function type="void" name="SetRGB">
     <parameters>
      <parameter type="wxRect &amp; " name="rect"></parameter>
      <parameter type="unsigned char " name="red"></parameter>
      <parameter type="unsigned char " name="green"></parameter>
      <parameter type="unsigned char " name="blue"></parameter>
     </parameters>
     <description>
      <p>
       Sets the colour of the pixels within the given rectangle. This routine
       performs bounds-checks for the coordinate so it can be considered a safe
       way to manipulate the data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="operator $=$">
    <function type="wxImage&amp; " name="operator $=$">
     <parameters>
      <parameter type="const wxImage&amp; " name="image">
       Image to assign.
      </parameter>
     </parameters>
     <returnvalue>
      Returns 'this' object.
     </returnvalue>
     <description>
      <p>
       Assignment operator. This operator does not copy any data, but instead
       passes a pointer to the data in
       <i> image</i>
       and increments a reference counter. It is a fast operation.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="operator $==$">
    <function type="bool" name="operator $==$" suffix="const">
     <parameters>
      <parameter type="const wxImage&amp; " name="image">
       Image to compare with 'this'
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the images were effectively equal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Equality operator. This operator tests whether the internal data pointers
       are equal (a fast test).
      </p>
     </description>
    </function>
   </member>
   <member class="wxImage" name="operator $!=$">
    <function type="bool" name="operator $!=$" suffix="const">
     <parameters>
      <parameter type="const wxImage&amp; " name="image">
       Image to compare with 'this'
      </parameter>
     </parameters>
     <returnvalue>
      Returns true if the images were unequal, false otherwise.
     </returnvalue>
     <description>
      <p>
       Inequality operator. This operator tests whether the internal data
       pointers are unequal (a fast test).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxImageHandler" annotation="abstract">
  <description>
   <p class="classdesc">
    This is the base class for implementing image file loading/saving, and image
    creation from data. It is used within wxImage and is not normally seen by
    the application.
   </p>
   <p class="classdesc">
    If you wish to extend the capabilities of wxImage, derive a class from
    wxImageHandler and add the handler using
    <ref target="wximageaddhandler">wxImage::AddHandler</ref>
    in your application initialisation.
   </p>
  </description>
  <category>Miscellaneous</category>
  <note>

Legal issue: This software is based in part on the work of the Independent JPEG Group.

(Applies when wxWidgets is linked with JPEG support. wxJPEGHandler uses libjpeg
created by IJG.)

</note>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/image.h"/>
  </includes>
  <seealso>
   <ref target="wximage">wxImage</ref>
   <ref target="wxinitallimagehandlers">wxInitAllImageHandlers</ref>
  </seealso>
  <members>
   <member class="wxImageHandler" name="wxImageHandler">
    <function type="" name="wxImageHandler">
     <description>
      <p>
       Default constructor. In your own default constructor, initialise the
       members m\_name, m\_extension and m\_type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="~wxImageHandler">
    <function type="" name="~wxImageHandler">
     <description>
      <p>
       Destroys the wxImageHandler object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Gets the name of this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="GetExtension">
    <function type="wxString" name="GetExtension" suffix="const">
     <description>
      <p>
       Gets the file extension associated with this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="GetImageCount">
    <function type="int" name="GetImageCount">
     <parameters>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream for reading image data. Currently, the stream must
       support seeking.
      </parameter>
     </parameters>
     <returnvalue>
      Number of available images. For most image handlers, this is 1 (exceptions
      are TIFF and ICO formats).
     </returnvalue>
     <description>
      <p>
       If the image file contains more than one image and the image handler is
       capable of retrieving these individually, this function will return the
       number of available images.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="GetType">
    <function type="long" name="GetType" suffix="const">
     <description>
      <p>
       Gets the image type associated with this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="GetMimeType">
    <function type="wxString" name="GetMimeType" suffix="const">
     <description>
      <p>
       Gets the MIME type associated with this handler.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="LoadFile">
    <function type="bool" name="LoadFile">
     <parameters>
      <parameter type="wxImage&#42; " name="image">
       The image object which is to be affected by this operation.
      </parameter>
      <parameter type="wxInputStream&amp; " name="stream">
       Opened input stream for reading image data.
      </parameter>
      <parameter type="bool " name="verbose" value="true">
       If set to true, errors reported by the image handler will produce
       wxLogMessages.
      </parameter>
      <parameter type="int " name="index" value="0">
       The index of the image in the file (starting from zero).
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximageloadfile">wxImage::LoadFile</ref>
      <ref target="wximagesavefile">wxImage::SaveFile</ref>
      <ref target="wximagehandlersavefile">wxImageHandler::SaveFile</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxImageHandler" name="SaveFile">
    <function type="bool" name="SaveFile">
     <parameters>
      <parameter type="wxImage&#42; " name="image">
       The image object which is to be affected by this operation.
      </parameter>
      <parameter type="wxOutputStream&amp; " name="stream">
       Opened output stream for writing the data.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximageloadfile">wxImage::LoadFile</ref>
      <ref target="wximagesavefile">wxImage::SaveFile</ref>
      <ref target="wximagehandlerloadfile">wxImageHandler::LoadFile</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxImageHandler" name="SetName">
    <function type="void" name="SetName">
     <parameters>
      <parameter type="const wxString&amp; " name="name">
       Handler name.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the handler name.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="SetExtension">
    <function type="void" name="SetExtension">
     <parameters>
      <parameter type="const wxString&amp; " name="extension">
       Handler extension.
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the handler extension.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="SetMimeType">
    <function type="void" name="SetMimeType">
     <parameters>
      <parameter type="const wxString&amp; " name="mimetype"></parameter>
     </parameters>
     <description>
      <p>
       Sets the handler MIME type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageHandler" name="SetType">
    <function type="void" name="SetType">
     <parameters>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description>
      <p>
       Sets the handler type.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxImageList">
  <description>
   <p class="classdesc">
    A wxImageList contains a list of images, which are stored in an unspecified
    form. Images can have masks for transparent drawing, and can be made from a
    variety of sources including bitmaps and icons.
   </p>
   <p class="classdesc">
    wxImageList is used principally in conjunction with
    <ref target="wxtreectrl">wxTreeCtrl</ref>
    and
    <ref target="wxlistctrl">wxListCtrl</ref>
    classes.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>A list of images, used with some controls</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/imaglist.h"/>
  </includes>
  <seealso>
   <ref target="wxtreectrl">wxTreeCtrl</ref>
   <ref target="wxlistctrl">wxListCtrl</ref>
  </seealso>
  <members>
   <member class="wxImageList" name="wxImageList">
    <function type="" name="wxImageList">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxImageList">
     <parameters>
      <parameter type="int " name="width">
       Width of the images in the list.
      </parameter>
      <parameter type="int " name="height">
       Height of the images in the list.
      </parameter>
      <parameter type="const bool " name="mask" value="true">
       true if masks should be created for all images.
      </parameter>
      <parameter type="int " name="initialCount" value="1">
       The initial size of the list.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wximagelistcreate">wxImageList::Create</ref>
     </seealso>
     <description>
      <p>
       Constructor specifying the image size, whether image masks should be
       created, and the initial size of the list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="Add">
    <function type="int" name="Add">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap representing the opaque areas of the image.
      </parameter>
      <parameter type="const wxBitmap&amp; " name="mask" value="wxNullBitmap">
       Monochrome mask bitmap, representing the transparent areas of the image.
      </parameter>
     </parameters>
     <description>
      <p>
       Adds a new image using a bitmap and optional mask bitmap.
      </p>
     </description>
    </function>
    <function type="int" name="Add">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap representing the opaque areas of the image.
      </parameter>
      <parameter type="const wxColour&amp; " name="maskColour">
       Colour indicating which parts of the image are transparent.
      </parameter>
     </parameters>
     <description>
      <p>
       Adds a new image using a bitmap and mask colour.
      </p>
     </description>
    </function>
    <function type="int" name="Add">
     <parameters>
      <parameter type="const wxIcon&amp; " name="icon">
       Icon to use as the image.
      </parameter>
     </parameters>
     <remarks>
      <p>
       The original bitmap or icon is not affected by the
       <b> Add</b>
       operation, and can be deleted afterwards.
      </p>
     </remarks>
     <returnvalue>
      The new zero-based image index.
     </returnvalue>
     <description>
      <p>
       Adds a new image using an icon.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="int " name="width"></parameter>
      <parameter type="int " name="height"></parameter>
      <parameter type="const bool " name="mask" value="true"></parameter>
      <parameter type="int " name="initialCount" value="1"></parameter>
     </parameters>
     <description>
      <p>
       Initializes the list. See
       <ref target="wximagelistconstr">wxImageList::wxImageList</ref>
       for details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="Draw">
    <function type="bool" name="Draw">
     <parameters>
      <parameter type="int " name="index">
       Image index, starting from zero.
      </parameter>
      <parameter type="wxDC&amp; " name="dc">
       Device context to draw on.
      </parameter>
      <parameter type="int " name="x">
       X position on the device context.
      </parameter>
      <parameter type="int " name="y">
       Y position on the device context.
      </parameter>
      <parameter type="int " name="flags" value="wxIMAGELIST\_DRAW\_NORMAL"></parameter>
      <parameter type="const bool " name="solidBackground" value="false">
       For optimisation - drawing can be faster if the function is told that the
       background is solid.
      </parameter>
     </parameters>
     <description>
      <p>
       Draws a specified image onto a device context.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="GetBitmap">
    <function type="wxBitmap" name="GetBitmap" suffix="const">
     <parameters>
      <parameter type="int " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Returns the bitmap corresponding to the given index.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="GetIcon">
    <function type="wxIcon" name="GetIcon" suffix="const">
     <parameters>
      <parameter type="int " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Returns the icon corresponding to the given index.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="GetImageCount">
    <function type="int" name="GetImageCount" suffix="const">
     <description>
      <p>
       Returns the number of images in the list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="GetSize">
    <function type="bool" name="GetSize" suffix="const">
     <parameters>
      <parameter type="int " name="index">
       currently unused, should be 0
      </parameter>
      <parameter type="int&amp; " name="width">
       receives the width of the images in the list
      </parameter>
      <parameter type="int &amp;" name="height">
       receives the height of the images in the list
      </parameter>
     </parameters>
     <returnvalue>
      true if the function succeeded, false if it failed (for example, if the
      image list was not yet initialized).
     </returnvalue>
     <description>
      <p>
       Retrieves the size of the images in the list. Currently, the
       <i> index</i>
       parameter is ignored as all images in the list have the same size.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="Remove">
    <function type="bool" name="Remove">
     <parameters>
      <parameter type="int " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Removes the image at the given position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="RemoveAll">
    <function type="bool" name="RemoveAll">
     <description>
      <p>
       Removes all the images in the list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxImageList" name="Replace">
    <function type="bool" name="Replace">
     <parameters>
      <parameter type="int " name="index"></parameter>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       Bitmap representing the opaque areas of the image.
      </parameter>
      <parameter type="const wxBitmap&amp; " name="mask" value="wxNullBitmap">
       Monochrome mask bitmap, representing the transparent areas of the image.
      </parameter>
     </parameters>
     <description>
      <p>
       Replaces the existing image with the new image.
      </p>
      <p>
       Windows only.
      </p>
     </description>
    </function>
    <function type="bool" name="Replace">
     <parameters>
      <parameter type="int " name="index"></parameter>
      <parameter type="const wxIcon&amp; " name="icon">
       Icon to use as the image.
      </parameter>
     </parameters>
     <remarks>
      <p>
       The original bitmap or icon is not affected by the
       <b> Replace</b>
       operation, and can be deleted afterwards.
      </p>
     </remarks>
     <returnvalue>
      true if the replacement was successful, false otherwise.
     </returnvalue>
     <description>
      <p>
       Replaces the existing image with the new image.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxIndividualLayoutConstraint">
  <description>
   <p class="classdesc">
    Objects of this class are stored in the wxLayoutConstraint class as one of
    eight possible constraints that a window can be involved in.
   </p>
   <p class="classdesc">
    Constraints are initially set to have the relationship wxUnconstrained,
    which means that their values should be calculated by looking at known
    constraints.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/layout.h"/>
  </includes>
  <seealso>
   <ref target="constraintsoverview">Overview and examples</ref>
   ,
   <ref target="wxlayoutconstraints">wxLayoutConstraints</ref>
   <ref target="wxwindowsetconstraints">wxWindow::SetConstraints</ref>
   .
  </seealso>
  <members>
   <member class="wxIndividualLayoutConstraint" name="wxIndividualLayoutConstraint">
    <function type="" name="wxIndividualLayoutConstraint">
     <description>
      <p>
       Constructor. Not used by the end-user.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="Above">
    <function type="void" name="Above">
     <parameters>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="int " name="margin" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge to be above the given window, with an optional
       margin. Implicitly, this is relative to the top edge of the other window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="Absolute">
    <function type="void" name="Absolute">
     <parameters>
      <parameter type="int " name="value"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge or dimension to be the given absolute value.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="AsIs">
    <function type="void" name="AsIs">
     <description>
      <p>
       Sets this edge or constraint to be whatever the window's value is at the
       moment. If either of the width and height constraints are
       <i> as is</i>
       , the window will not be resized, but moved instead. This is important
       when considering panel items which are intended to have a default size,
       such as a button, which may take its size from the size of the button
       label.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="Below">
    <function type="void" name="Below">
     <parameters>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="int " name="margin" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge to be below the given window, with an optional
       margin. Implicitly, this is relative to the bottom edge of the other
       window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="Unconstrained">
    <function type="void" name="Unconstrained">
     <description>
      <p>
       Sets this edge or dimension to be unconstrained, that is, dependent on
       other edges and dimensions from which this value can be deduced.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="LeftOf">
    <function type="void" name="LeftOf">
     <parameters>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="int " name="margin" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge to be to the left of the given window, with an
       optional margin. Implicitly, this is relative to the left edge of the
       other window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="PercentOf">
    <function type="void" name="PercentOf">
     <parameters>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="wxEdge " name="edge"></parameter>
      <parameter type="int " name="per"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge or dimension to be to a percentage of the given
       window, with an optional margin.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="RightOf">
    <function type="void" name="RightOf">
     <parameters>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="int " name="margin" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge to be to the right of the given window, with an
       optional margin. Implicitly, this is relative to the right edge of the
       other window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="SameAs">
    <function type="void" name="SameAs">
     <parameters>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="wxEdge " name="edge"></parameter>
      <parameter type="int " name="margin" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constrains this edge or dimension to be to the same as the edge of the
       given window, with an optional margin.
      </p>
     </description>
    </function>
   </member>
   <member class="wxIndividualLayoutConstraint" name="Set">
    <function type="void" name="Set">
     <parameters>
      <parameter type="wxRelationship " name="rel"></parameter>
      <parameter type="wxWindow &#42;" name="otherWin"></parameter>
      <parameter type="wxEdge " name="otherEdge"></parameter>
      <parameter type="int " name="value" value="0"></parameter>
      <parameter type="int " name="margin" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Sets the properties of the constraint. Normally called by one of the
       convenience functions such as Above, RightOf, SameAs.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxInitDialogEvent">
  <description>
   <p class="classdesc">
    A wxInitDialogEvent is sent as a dialog or panel is being initialised.
    Handlers for this event can transfer data to the window. The default handler
    calls
    <ref target="wxwindowtransferdatatowindow">wxWindow::TransferDataToWindow</ref>
    .
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A dialog initialisation event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_INIT\_DIALOG(func)">Process a wxEVT\_INIT\_DIALOG event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxInitDialogEvent" name="wxInitDialogEvent">
    <function type="" name="wxInitDialogEvent">
     <parameters>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxInputStream" annotation="abstract">
  <description>
   <p class="classdesc">
    wxInputStream is an abstract base class which may not be used directly.
   </p>
  </description>
  <category>Stream classes</category>
  <shortdesc>Input stream class</shortdesc>
  <parents>
   <ref type="help" target="wxStreamBase">wxStreamBase</ref>
  </parents>
  <includes>
   <header name="wx/stream.h"/>
  </includes>
  <members>
   <member class="wxInputStream" name="wxInputStream">
    <function type="" name="wxInputStream">
     <description>
      <p>
       Creates a dummy input stream.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="~wxInputStream">
    <function type="" name="~wxInputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="CanRead">
    <function type="bool" name="CanRead" suffix="const">
     <description>
      <p>
       Returns true if some data is available in the stream right now, so that
       calling
       <ref target="wxinputstreamread">Read()</ref>
       wouldn't block.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="GetC">
    <function type="char" name="GetC">
     <note>

If EOF, return value is undefined and LastRead() will return 0 and not 1.

</note>
     <description>
      <p>
       Returns the first character in the input queue and removes it, blocking
       until it appears if necessary.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="Eof">
    <function type="bool" name="Eof" suffix="const">
     <note>

For some streams Eof() will not return true until an
attempt has been made to read past the end of the stream.
<ref target="wxinputstreamlastread">LastRead()</ref>
should be called after each read to check that
a non-zero number of bytes have been read.

</note>
     <description>
      <p>
       Returns true if the end of stream has been reached.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="LastRead">
    <function type="size\_t" name="LastRead" suffix="const">
     <description>
      <p>
       Returns the last number of bytes read.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="Peek">
    <function type="char" name="Peek">
     <note>

Blocks until something appears in the stream if necessary, if nothing
ever does (i.e. EOF) LastRead() will return 0 (and the return value is
undefined), otherwise LastRead() returns 1.

</note>
     <description>
      <p>
       Returns the first character in the input queue without removing it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="Read">
    <function type="wxInputStream&amp;" name="Read">
     <parameters>
      <parameter type="void &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <note>

The buffer absolutely needs to have at least the specified size.

\\wxheading\{Return value\}

This function returns a reference on the current object, so the user can test
any states of the stream right away.

</note>
     <description>
      <p>
       Reads the specified amount of bytes and stores the data in
       <i> buffer</i>
       .
      </p>
     </description>
    </function>
    <function type="wxInputStream&amp;" name="Read">
     <parameters>
      <parameter type="wxOutputStream&amp; " name="stream\_out"></parameter>
     </parameters>
     <returnvalue>
      This function returns a reference on the current object, so the user can
      test any states of the stream right away.
     </returnvalue>
     <description>
      <p>
       Reads data from the input queue and stores it in the specified output
       stream. The data is read until an error is raised by one of the two
       streams.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="SeekI">
    <function type="off\_t" name="SeekI">
     <parameters>
      <parameter type="off\_t " name="pos">
       Offset to seek to.
      </parameter>
      <parameter type="wxSeekMode " name="mode" value="wxFromStart">
       One of
       <b> wxFromStart</b>
       ,
       <b> wxFromEnd</b>
       ,
       <b> wxFromCurrent</b>
       .
      </parameter>
     </parameters>
     <returnvalue>
      The new stream position or wxInvalidOffset on error.
     </returnvalue>
     <description>
      <p>
       Changes the stream current position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="TellI">
    <function type="off\_t" name="TellI" suffix="const">
     <description>
      <p>
       Returns the current stream position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxInputStream" name="Ungetch">
    <function type="size\_t" name="Ungetch">
     <parameters>
      <parameter type="const char&#42; " name="buffer"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <returnvalue>
      Returns the amount of bytes saved in the Write-Back buffer.
     </returnvalue>
     <description>
      <p>
       This function is only useful in
       <i> read</i>
       mode. It is the manager of the &quot;Write-Back&quot; buffer. This buffer
       acts like a temporary buffer where data which has to be read during the
       next read IO call are put. This is useful when you get a big block of
       data which you didn't want to read: you can replace them at the top of
       the input queue by this way.
      </p>
      <p>
       Be very careful about this call in connection with calling SeekI() on the
       same stream. Any call to SeekI() will invalidate any previous call to
       this method (otherwise you could SeekI() to one position,
       &quot;unread&quot; a few bytes there, SeekI() to another position and
       data would be either lost or corrupted).
      </p>
     </description>
    </function>
    <function type="bool" name="Ungetch">
     <parameters>
      <parameter type="char " name="c"></parameter>
     </parameters>
     <description>
      <p>
       This function acts like the previous one except that it takes only one
       character: it is sometimes shorter to use than the generic function.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxJoystick">
  <description>
   <p class="classdesc">
    wxJoystick allows an application to control one or more joysticks.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/joystick.h"/>
  </includes>
  <seealso>
   <ref target="wxjoystickevent">wxJoystickEvent</ref>
  </seealso>
  <members>
   <member class="wxJoystick" name="wxJoystick">
    <function type="" name="wxJoystick">
     <parameters>
      <parameter type="int " name="joystick" value="wxJOYSTICK1"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
       <i> joystick</i>
       may be one of wxJOYSTICK1, wxJOYSTICK2, indicating the joystick
       controller of interest.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="~wxJoystick">
    <function type="" name="~wxJoystick">
     <description>
      <p>
       Destroys the wxJoystick object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetButtonState">
    <function type="int" name="GetButtonState" suffix="const">
     <description>
      <p>
       Returns the state of the joystick buttons. Every button is mapped to a
       single bit in the returned integer, with the first button being mapped to
       the least significant bit, and so on. A bitlist of wxJOY\_BUTTONn
       identifiers, where n is 1, 2, 3 or 4 is available for historical reasons.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetManufacturerId">
    <function type="int" name="GetManufacturerId" suffix="const">
     <description>
      <p>
       Returns the manufacturer id.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetMovementThreshold">
    <function type="int" name="GetMovementThreshold" suffix="const">
     <description>
      <p>
       Returns the movement threshold, the number of steps outside which the
       joystick is deemed to have moved.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetNumberAxes">
    <function type="int" name="GetNumberAxes" suffix="const">
     <description>
      <p>
       Returns the number of axes for this joystick.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetNumberButtons">
    <function type="int" name="GetNumberButtons" suffix="const">
     <description>
      <p>
       Returns the number of buttons for this joystick.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetNumberJoysticks">
    <function type="int" name="GetNumberJoysticks" suffix="const">
     <description>
      <p>
       Returns the number of joysticks currently attached to the computer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetPollingMax">
    <function type="int" name="GetPollingMax" suffix="const">
     <description>
      <p>
       Returns the maximum polling frequency.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetPollingMin">
    <function type="int" name="GetPollingMin" suffix="const">
     <description>
      <p>
       Returns the minimum polling frequency.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetProductId">
    <function type="int" name="GetProductId" suffix="const">
     <description>
      <p>
       Returns the product id for the joystick.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetProductName">
    <function type="wxString" name="GetProductName" suffix="const">
     <description>
      <p>
       Returns the product name for the joystick.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description>
      <p>
       Returns the x, y position of the joystick.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetPOVPosition">
    <function type="int" name="GetPOVPosition" suffix="const">
     <description>
      <p>
       Returns the point-of-view position, expressed in continuous,
       one-hundredth of a degree units, but limited to return 0, 9000, 18000 or
       27000. Returns -1 on error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetPOVCTSPosition">
    <function type="int" name="GetPOVCTSPosition" suffix="const">
     <description>
      <p>
       Returns the point-of-view position, expressed in continuous,
       one-hundredth of a degree units. Returns -1 on error.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetRudderMax">
    <function type="int" name="GetRudderMax" suffix="const">
     <description>
      <p>
       Returns the maximum rudder position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetRudderMin">
    <function type="int" name="GetRudderMin" suffix="const">
     <description>
      <p>
       Returns the minimum rudder position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetRudderPosition">
    <function type="int" name="GetRudderPosition" suffix="const">
     <description>
      <p>
       Returns the rudder position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetUMax">
    <function type="int" name="GetUMax" suffix="const">
     <description>
      <p>
       Returns the maximum U position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetUMin">
    <function type="int" name="GetUMin" suffix="const">
     <description>
      <p>
       Returns the minimum U position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetUPosition">
    <function type="int" name="GetUPosition" suffix="const">
     <description>
      <p>
       Gets the position of the fifth axis of the joystick, if it exists.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetVMax">
    <function type="int" name="GetVMax" suffix="const">
     <description>
      <p>
       Returns the maximum V position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetVMin">
    <function type="int" name="GetVMin" suffix="const">
     <description>
      <p>
       Returns the minimum V position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetVPosition">
    <function type="int" name="GetVPosition" suffix="const">
     <description>
      <p>
       Gets the position of the sixth axis of the joystick, if it exists.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetXMax">
    <function type="int" name="GetXMax" suffix="const">
     <description>
      <p>
       Returns the maximum x position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetXMin">
    <function type="int" name="GetXMin" suffix="const">
     <description>
      <p>
       Returns the minimum x position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetYMax">
    <function type="int" name="GetYMax" suffix="const">
     <description>
      <p>
       Returns the maximum y position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetYMin">
    <function type="int" name="GetYMin" suffix="const">
     <description>
      <p>
       Returns the minimum y position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetZMax">
    <function type="int" name="GetZMax" suffix="const">
     <description>
      <p>
       Returns the maximum z position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetZMin">
    <function type="int" name="GetZMin" suffix="const">
     <description>
      <p>
       Returns the minimum z position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="GetZPosition">
    <function type="int" name="GetZPosition" suffix="const">
     <description>
      <p>
       Returns the z position of the joystick.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasPOV">
    <function type="bool" name="HasPOV" suffix="const">
     <description>
      <p>
       Returns true if the joystick has a point of view control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasPOV4Dir">
    <function type="bool" name="HasPOV4Dir" suffix="const">
     <description>
      <p>
       Returns true if the joystick point-of-view supports discrete values
       (centered, forward, backward, left, and right).
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasPOVCTS">
    <function type="bool" name="HasPOVCTS" suffix="const">
     <description>
      <p>
       Returns true if the joystick point-of-view supports continuous degree
       bearings.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasRudder">
    <function type="bool" name="HasRudder" suffix="const">
     <description>
      <p>
       Returns true if there is a rudder attached to the computer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasU">
    <function type="bool" name="HasU" suffix="const">
     <description>
      <p>
       Returns true if the joystick has a U axis.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasV">
    <function type="bool" name="HasV" suffix="const">
     <description>
      <p>
       Returns true if the joystick has a V axis.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="HasZ">
    <function type="bool" name="HasZ" suffix="const">
     <description>
      <p>
       Returns true if the joystick has a Z axis.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns true if the joystick is functioning.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystick" name="ReleaseCapture">
    <function type="bool" name="ReleaseCapture">
     <seealso>
      <ref target="wxjoysticksetcapture">wxJoystick::SetCapture</ref>
      <ref target="wxjoystickevent">wxJoystickEvent</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxJoystick" name="SetCapture">
    <function type="bool" name="SetCapture">
     <parameters>
      <parameter type="wxWindow&#42; " name="win">
       The window that will receive joystick events.
      </parameter>
      <parameter type="int " name="pollingFreq" value="0">
       If zero, movement events are sent when above the threshold. If greater
       than zero, events are received every
       <i> pollingFreq</i>
       milliseconds.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxjoystickreleasecapture">wxJoystick::ReleaseCapture</ref>
      <ref target="wxjoystickevent">wxJoystickEvent</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxJoystick" name="SetMovementThreshold">
    <function type="void" name="SetMovementThreshold">
     <parameters>
      <parameter type="int " name="threshold"></parameter>
     </parameters>
     <description>
      <p>
       Sets the movement threshold, the number of steps outside which the
       joystick is deemed to have moved.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxJoystickEvent">
  <description>
   <p class="classdesc">
    This event class contains information about mouse events, particularly
    events received by windows.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A joystick event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_JOY\_BUTTON\_DOWN(func)">Process a wxEVT\_JOY\_BUTTON\_DOWN event.</event>
   <event name="EVT\_JOY\_BUTTON\_UP(func)">Process a wxEVT\_JOY\_BUTTON\_UP event.</event>
   <event name="EVT\_JOY\_MOVE(func)">Process a wxEVT\_JOY\_MOVE event.</event>
   <event name="EVT\_JOY\_ZMOVE(func)">Process a wxEVT\_JOY\_ZMOVE event.</event>
   <event name="EVT\_JOYSTICK\_EVENTS(func)">Processes all joystick events.</event>
  </events>
  <seealso>
   <ref target="wxjoystick">wxJoystick</ref>
  </seealso>
  <members>
   <member class="wxJoystickEvent" name="wxJoystickEvent">
    <function type="" name="wxJoystickEvent">
     <parameters>
      <parameter type="WXTYPE " name="eventType" value="0"></parameter>
      <parameter type="int " name="state" value="0"></parameter>
      <parameter type="int " name="joystick" value="wxJOYSTICK1"></parameter>
      <parameter type="int " name="change" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="ButtonDown">
    <function type="bool" name="ButtonDown" suffix="const">
     <parameters>
      <parameter type="int " name="button" value="wxJOY\_BUTTON\_ANY">
       Can be wxJOY\_BUTTONn where n is 1, 2, 3 or 4; or wxJOY\_BUTTON\_ANY to
       indicate any button down event.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns true if the event was a down event from the specified button (or
       any button).
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="ButtonIsDown">
    <function type="bool" name="ButtonIsDown" suffix="const">
     <parameters>
      <parameter type="int " name="button" value="wxJOY\_BUTTON\_ANY">
       Can be wxJOY\_BUTTONn where n is 1, 2, 3 or 4; or wxJOY\_BUTTON\_ANY to
       indicate any button down event.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns true if the specified button (or any button) was in a down state.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="ButtonUp">
    <function type="bool" name="ButtonUp" suffix="const">
     <parameters>
      <parameter type="int " name="button" value="wxJOY\_BUTTON\_ANY">
       Can be wxJOY\_BUTTONn where n is 1, 2, 3 or 4; or wxJOY\_BUTTON\_ANY to
       indicate any button down event.
      </parameter>
     </parameters>
     <description>
      <p>
       Returns true if the event was an up event from the specified button (or
       any button).
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="GetButtonChange">
    <function type="int" name="GetButtonChange" suffix="const">
     <description>
      <p>
       Returns the identifier of the button changing state. This is a
       wxJOY\_BUTTONn identifier, where n is one of 1, 2, 3, 4.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="GetButtonState">
    <function type="int" name="GetButtonState" suffix="const">
     <description>
      <p>
       Returns the down state of the buttons. This is a bitlist of wxJOY\_BUTTONn
       identifiers, where n is one of 1, 2, 3, 4.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="GetJoystick">
    <function type="int" name="GetJoystick" suffix="const">
     <description>
      <p>
       Returns the identifier of the joystick generating the event - one of
       wxJOYSTICK1 and wxJOYSTICK2.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description>
      <p>
       Returns the x, y position of the joystick event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="GetZPosition">
    <function type="int" name="GetZPosition" suffix="const">
     <description>
      <p>
       Returns the z position of the joystick event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="IsButton">
    <function type="bool" name="IsButton" suffix="const">
     <description>
      <p>
       Returns true if this was a button up or down event (
       <i> not</i>
       'is any button down?').
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="IsMove">
    <function type="bool" name="IsMove" suffix="const">
     <description>
      <p>
       Returns true if this was an x, y move event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxJoystickEvent" name="IsZMove">
    <function type="bool" name="IsZMove" suffix="const">
     <description>
      <p>
       Returns true if this was a z move event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxKeyEvent">
  <description>
   <p class="classdesc">
    This event class contains information about keypress (character) events.
   </p>
   <p class="classdesc">
    Notice that there are three different kinds of keyboard events in wxWidgets:
    key down and up events and char events. The difference between the first two
    is clear - the first corresponds to a key press and the second to a key
    release - otherwise they are identical. Just note that if the key is
    maintained in a pressed state you will typically get a lot of (automatically
    generated) down events but only one up so it is wrong to assume that there
    is one up event corresponding to each down one.
   </p>
   <p class="classdesc">
    Both key events provide untranslated key codes while the char event carries
    the translated one. The untranslated code for alphanumeric keys is always an
    upper case value. For the other keys it is one of
    <tt> WXK\_XXX</tt>
    values from the
    <ref target="keycodes">keycodes table</ref>
    . The translated key is, in general, the character the user expects to
    appear as the result of the key combination when typing the text into a text
    entry zone, for example.
   </p>
   <p class="classdesc">
    A few examples to clarify this (all assume that Caps Lock is unpressed and
    the standard US keyboard): when the
    <tt> 'A'</tt>
    key is pressed, the key down event key code is equal to
    <tt> ASCII A</tt>
    $== 65$. But the char event key code is
    <tt> ASCII a</tt>
    $== 97$. On the other hand, if you press both Shift and
    <tt> 'A'</tt>
    keys simultaneously , the key code in key down event will still be just
    <tt> 'A'</tt>
    while the char event key code parameter will now be
    <tt> 'A'</tt>
    as well.
   </p>
   <p class="classdesc">
    Although in this simple case it is clear that the correct key code could be
    found in the key down event handler by checking the value returned by
    <ref target="wxkeyeventshiftdown">ShiftDown()</ref>
    , in general you should use
    <tt> EVT\_CHAR</tt>
    for this as for non alphanumeric keys the translation is keyboard-layout
    dependent and can only be done properly by the system itself.
   </p>
   <p class="classdesc">
    Another kind of translation is done when the control key is pressed: for
    example, for Ctrl-A key press the key down event still carries the same key
    code
    <tt> 'a'</tt>
    as usual but the char event will have key code of 1, the ASCII value of this
    key combination.
   </p>
   <p class="classdesc">
    You may discover how the other keys on your system behave interactively by
    running the
    <ref target="sampletext">text</ref>
    wxWidgets sample and pressing some keys in any of the text controls shown in
    it.
   </p>
   <p class="classdesc">
    <b> Note:</b>
    If a key down (
    <tt> EVT\_KEY\_DOWN</tt>
    ) event is caught and the event handler does not call
    <tt> event.Skip()</tt>
    then the corresponding char event (
    <tt> EVT\_CHAR</tt>
    ) will not happen. This is by design and enables the programs that handle
    both types of events to be a bit simpler.
   </p>
   <p class="classdesc">
    <b> Note for Windows programmers:</b>
    The key and char events in wxWidgets are similar to but slightly different
    from Windows
    <tt> WM\_KEYDOWN</tt>
    and
    <tt> WM\_CHAR</tt>
    events. In particular, Alt-x combination will generate a char event in
    wxWidgets (unless it is used as an accelerator).
   </p>
   <p class="classdesc">
    <b> Tip:</b>
    be sure to call
    <tt> event.Skip()</tt>
    for events that you don't process in key event function, otherwise menu
    shortcuts may cease to work under Windows.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A keypress event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_KEY\_DOWN(func)">Process a wxEVT\_KEY\_DOWN event (any key has been pressed).</event>
   <event name="EVT\_KEY\_UP(func)">Process a wxEVT\_KEY\_UP event (any key has been released).</event>
   <event name="EVT\_CHAR(func)">Process a wxEVT\_CHAR event.</event>
  </events>
  <members>
   <member class="wxKeyEvent" name="m\_altDown"></member>
   <member class="wxKeyEvent" name="m\_controlDown"></member>
   <member class="wxKeyEvent" name="m\_keyCode"></member>
   <member class="wxKeyEvent" name="m\_metaDown"></member>
   <member class="wxKeyEvent" name="m\_shiftDown"></member>
   <member class="wxKeyEvent" name="m\_x"></member>
   <member class="wxKeyEvent" name="m\_y"></member>
   <member class="wxKeyEvent" name="wxKeyEvent">
    <function type="" name="wxKeyEvent">
     <parameters>
      <parameter type="WXTYPE " name="keyEventType"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Currently, the only valid event types are wxEVT\_CHAR and
       wxEVT\_CHAR\_HOOK.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="AltDown">
    <function type="bool" name="AltDown" suffix="const">
     <description>
      <p>
       Returns true if the Alt key was down at the time of the key event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="CmdDown">
    <function type="bool" name="CmdDown" suffix="const">
     <description>
      <p>
       &quot;Cmd&quot; is a pseudo key which is the same as Control for PC and
       Unix platforms but the special &quot;Apple&quot; (a.k.a as
       &quot;Command&quot;) key under Macs: it makes often sense to use it
       instead of, say, ControlDown() because Cmd key is used for the same thing
       under Mac as Ctrl elsewhere (but Ctrl still exists, just not used for
       this purpose under Mac). So for non-Mac platforms this is the same as
       <ref target="wxkeyeventcontroldown">ControlDown()</ref>
       and under Mac this is the same as
       <ref target="wxkeyeventmetadown">MetaDown()</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="ControlDown">
    <function type="bool" name="ControlDown" suffix="const">
     <description>
      <p>
       Returns true if the control key was down at the time of the key event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetKeyCode">
    <function type="int" name="GetKeyCode" suffix="const">
     <description>
      <p>
       Returns the virtual key code. ASCII events return normal ASCII values,
       while non-ASCII events return values such as
       <b> WXK\_LEFT</b>
       for the left cursor key. See
       <ref target="keycodes">Keycodes</ref>
       for a full list of the virtual key codes.
      </p>
      <p>
       Note that in Unicode build, the returned value is meaningful only if the
       user entered a character that can be represented in current locale's
       default charset. You can obtain the corresponding Unicode character using
       <ref target="wxkeyeventgetunicodekey">GetUnicodeKey</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description></description>
    </function>
    <function type="void" name="GetPosition" suffix="const">
     <parameters>
      <parameter type="long &#42;" name="x"></parameter>
      <parameter type="long &#42;" name="y"></parameter>
     </parameters>
     <description>
      <p>
       Obtains the position (in client coordinates) at which the key was
       pressed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetRawKeyCode">
    <function type="wxUint32" name="GetRawKeyCode" suffix="const">
     <description>
      <p>
       Returns the raw key code for this event. This is a platform-dependent
       scan code which should only be used in advanced applications.
      </p>
      <p>
       <b> NB:</b>
       Currently the raw key codes are not supported by all ports, use
       <tt>#ifdef wxHAS\_RAW\_KEY\_CODES</tt>
       to determine if this feature is available.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetRawKeyFlags">
    <function type="wxUint32" name="GetRawKeyFlags" suffix="const">
     <description>
      <p>
       Returns the low level key flags for this event. The flags are
       platform-dependent and should only be used in advanced applications.
      </p>
      <p>
       <b> NB:</b>
       Currently the raw key flags are not supported by all ports, use
       <tt> #ifdef wxHAS\_RAW\_KEY\_CODES</tt>
       to determine if this feature is available.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetUnicodeKey" needdefine="wxUSE\_UNICODE">
    <function type="wxChar" name="GetUnicodeKey" suffix="const">
     <description>
      <p>
       Returns the Unicode character corresponding to this key event.
      </p>
      <p>
       This function is only available in Unicode build, i.e. when
       <tt>wxUSE\_UNICODE</tt>
       is 1.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetX">
    <function type="long" name="GetX" suffix="const">
     <description>
      <p>
       Returns the X position (in client coordinates) of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="GetY">
    <function type="long" name="GetY" suffix="const">
     <description>
      <p>
       Returns the Y (in client coordinates) position of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="HasModifiers">
    <function type="bool" name="HasModifiers" suffix="const">
     <description>
      <p>
       Returns true if either Ctrl or Alt keys was down at the time of the key
       event. Note that this function does not take into account neither Shift
       nor Meta key states (the reason for ignoring the latter is that it is
       common for NumLock key to be configured as Meta under X but the key
       presses even while NumLock is on should be still processed normally).
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="MetaDown">
    <function type="bool" name="MetaDown" suffix="const">
     <description>
      <p>
       Returns true if the Meta key was down at the time of the key event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxKeyEvent" name="ShiftDown">
    <function type="bool" name="ShiftDown" suffix="const">
     <description>
      <p>
       Returns true if the shift key was down at the time of the key event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxLayoutAlgorithm">
  <description>
   <p class="classdesc">
    wxLayoutAlgorithm implements layout of subwindows in MDI or SDI frames. It
    sends a wxCalculateLayoutEvent event to children of the frame, asking them
    for information about their size. For MDI parent frames, the algorithm
    allocates the remaining space to the MDI client window (which contains the
    MDI child frames). For SDI (normal) frames, a 'main' window is specified as
    taking up the remaining space.
   </p>
   <p class="classdesc">
    Because the event system is used, this technique can be applied to any
    windows, which are not necessarily 'aware' of the layout classes (no virtual
    functions in wxWindow refer to wxLayoutAlgorithm or its events). However,
    you may wish to use
    <ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>
    for your subwindows since this class provides handlers for the required
    events, and accessors to specify the desired size of the window. The sash
    behaviour in the base class can be used, optionally, to make the windows
    user-resizable.
   </p>
   <p class="classdesc">
    wxLayoutAlgorithm is typically used in IDE (integrated development
    environment) applications, where there are several resizable windows in
    addition to the MDI client window, or other primary editing window.
    Resizable windows might include toolbars, a project window, and a window for
    displaying error and warning messages.
   </p>
   <p class="classdesc">
    When a window receives an OnCalculateLayout event, it should call SetRect in
    the given event object, to be the old supplied rectangle minus whatever
    space the window takes up. It should also set its own size accordingly.
    wxSashLayoutWindow::OnCalculateLayout generates an OnQueryLayoutInfo event
    which it sends to itself to determine the orientation, alignment and size of
    the window, which it gets from internal member variables set by the
    application.
   </p>
   <p class="classdesc">
    The algorithm works by starting off with a rectangle equal to the whole
    frame client area. It iterates through the frame children, generating
    OnCalculateLayout events which subtract the window size and return the
    remaining rectangle for the next window to process. It is assumed (by
    wxSashLayoutWindow::OnCalculateLayout) that a window stretches the full
    dimension of the frame client, according to the orientation it specifies.
    For example, a horizontal window will stretch the full width of the
    remaining portion of the frame client area. In the other orientation, the
    window will be fixed to whatever size was specified by OnQueryLayoutInfo. An
    alignment setting will make the window 'stick' to the left, top, right or
    bottom of the remaining client area. This scheme implies that order of
    window creation is important. Say you wish to have an extra toolbar at the
    top of the frame, a project window to the left of the MDI client window, and
    an output window above the status bar. You should therefore create the
    windows in this order: toolbar, output window, project window. This ensures
    that the toolbar and output window take up space at the top and bottom, and
    then the remaining height in-between is used for the project window.
   </p>
   <p class="classdesc">
    wxLayoutAlgorithm is quite independent of the way in which OnCalculateLayout
    chooses to interpret a window's size and alignment. Therefore you could
    implement a different window class with a new OnCalculateLayout event
    handler, that has a more sophisticated way of laying out the windows. It
    might allow specification of whether stretching occurs in the specified
    orientation, for example, rather than always assuming stretching. (This
    could, and probably should, be added to the existing implementation).
   </p>
   <p class="classdesc">
    <i> Note:</i>
    wxLayoutAlgorithm has nothing to do with wxLayoutConstraints. It is an
    alternative way of specifying layouts for which the normal constraint system
    is unsuitable.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>An alternative window layout facility</shortdesc>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/laywin.h"/>
  </includes>
  <events>
   <event name="EVT\_QUERY\_LAYOUT\_INFO(func)">Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
to get size, orientation and alignment from a window. See <ref target="wxquerylayoutinfoevent">wxQueryLayoutInfoEvent</ref>.</event>
   <event name="EVT\_CALCULATE\_LAYOUT(func)">Process a wxEVT\_CALCULATE\_LAYOUT event,
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.
See <ref target="wxcalculatelayoutevent">wxCalculateLayoutEvent</ref>.</event>
  </events>
  <types>
   <pre>
enum wxLayoutOrientation \{
    wxLAYOUT\_HORIZONTAL,
    wxLAYOUT\_VERTICAL
\};

enum wxLayoutAlignment \{
    wxLAYOUT\_NONE,
    wxLAYOUT\_TOP,
    wxLAYOUT\_LEFT,
    wxLAYOUT\_RIGHT,
    wxLAYOUT\_BOTTOM,
\};
</pre>
  </types>
  <seealso>
   <ref target="wxsashevent">wxSashEvent</ref>
   <ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>
   <ref target="eventhandlingoverview">Event handling overview</ref>
   <ref target="wxcalculatelayoutevent">wxCalculateLayoutEvent</ref>
   ,
   <ref target="wxquerylayoutinfoevent">wxQueryLayoutInfoEvent</ref>
   ,
   <ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>
   ,
   <ref target="wxsashwindow">wxSashWindow</ref>
  </seealso>
  <members>
   <member class="wxLayoutAlgorithm" name="wxLayoutAlgorithm">
    <function type="" name="wxLayoutAlgorithm">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLayoutAlgorithm" name="~wxLayoutAlgorithm">
    <function type="" name="~wxLayoutAlgorithm">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLayoutAlgorithm" name="LayoutFrame">
    <function type="bool" name="LayoutFrame" suffix="const">
     <parameters>
      <parameter type="wxFrame&#42; " name="frame"></parameter>
      <parameter type="wxWindow&#42; " name="mainWindow" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Lays out the children of a normal frame.
       <i> mainWindow</i>
       is set to occupy the remaining space.
      </p>
      <p>
       This function simply calls
       <ref target="wxlayoutalgorithmlayoutwindow">wxLayoutAlgorithm::LayoutWindow</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxLayoutAlgorithm" name="LayoutMDIFrame">
    <function type="bool" name="LayoutMDIFrame" suffix="const">
     <parameters>
      <parameter type="wxMDIParentFrame&#42; " name="frame"></parameter>
      <parameter type="wxRect&#42; " name="rect" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Lays out the children of an MDI parent frame. If
       <i> rect</i>
       is non-NULL, the given rectangle will be used as a starting point instead
       of the frame's client area.
      </p>
      <p>
       The MDI client window is set to occupy the remaining space.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLayoutAlgorithm" name="LayoutWindow">
    <function type="bool" name="LayoutWindow" suffix="const">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindow&#42; " name="mainWindow" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Lays out the children of a normal frame or other window.
      </p>
      <p>
       <i> mainWindow</i>
       is set to occupy the remaining space. If this is not specified, then the
       last window that responds to a calculate layout event in query mode will
       get the remaining space (that is, a non-query OnCalculateLayout event
       will not be sent to this window and the window will be set to the
       remaining size).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxLayoutConstraints">
  <description>
   <p class="classdesc">
    <b> Note:</b>
    constraints are now deprecated and you should use
    <ref target="sizeroverview">sizers</ref>
    instead.
   </p>
   <p class="classdesc">
    Objects of this class can be associated with a window to define its layout
    constraints, with respect to siblings or its parent.
   </p>
   <p class="classdesc">
    The class consists of the following eight constraints of class
    wxIndividualLayoutConstraint, some or all of which should be accessed
    directly to set the appropriate constraints.
   </p>
   <p class="classdesc">
    <ul>
     <li><b> left:</b>
      represents the left hand edge of the window</li>
     <li><b> right:</b>
      represents the right hand edge of the window</li>
     <li><b> top:</b>
      represents the top edge of the window</li>
     <li><b> bottom:</b>
      represents the bottom edge of the window</li>
     <li><b> width:</b>
      represents the width of the window</li>
     <li><b> height:</b>
      represents the height of the window</li>
     <li><b> centreX:</b>
      represents the horizontal centre point of the window</li>
     <li><b> centreY:</b>
      represents the vertical centre point of the window</li>
    </ul>
   </p>
   <p class="classdesc">
    Most constraints are initially set to have the relationship wxUnconstrained,
    which means that their values should be calculated by looking at known
    constraints. The exceptions are
    <i> width</i>
    and
    <i> height</i>
    , which are set to wxAsIs to ensure that if the user does not specify a
    constraint, the existing width and height will be used, to be compatible
    with panel items which often have take a default size. If the constraint is
    wxAsIs, the dimension will not be changed.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/layout.h"/>
  </includes>
  <seealso>
   <ref target="constraintsoverview">Overview and examples</ref>
   ,
   <ref target="wxindividuallayoutconstraint">wxIndividualLayoutConstraint</ref>
   <ref target="wxwindowsetconstraints">wxWindow::SetConstraints</ref>
  </seealso>
  <members>
   <member class="wxLayoutConstraints" name="wxLayoutConstraints">
    <function type="" name="wxLayoutConstraints">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLayoutConstraints" name="bottom"></member>
   <member class="wxLayoutConstraints" name="centreX"></member>
   <member class="wxLayoutConstraints" name="centreY"></member>
   <member class="wxLayoutConstraints" name="height"></member>
   <member class="wxLayoutConstraints" name="left"></member>
   <member class="wxLayoutConstraints" name="right"></member>
   <member class="wxLayoutConstraints" name="top"></member>
   <member class="wxLayoutConstraints" name="width"></member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxListBox">
  <description>
   <p class="classdesc">
    A listbox is used to select one or more of a list of strings. The strings
    are displayed in a scrolling box, with the selected string(s) marked in
    reverse video. A listbox can be single selection (if an item is selected,
    the previous selection is removed) or multiple selection (clicking an item
    toggles the item on or off independently of other selections).
   </p>
   <p class="classdesc">
    List box elements are numbered from zero. Their number is limited in some
    platforms (e.g. ca. 2000 on GTK).
   </p>
   <p class="classdesc">
    A listbox callback gets an event wxEVT\_COMMAND\_LISTBOX\_SELECT for single
    clicks, and wxEVT\_COMMAND\_LISTBOX\_DOUBLE\_CLICKED for double clicks.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A list of strings for single or multiple selection</shortdesc>
  <parents>
   <ref type="help" target="wxControlWithItems">wxControlWithItems</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/listbox.h"/>
  </includes>
  <windowstyles>
   <style name="wxLB\_SINGLE">
    Single-selection list.
   </style>
   <style name="wxLB\_MULTIPLE">
    wxLB\_MULTIPLE
   </style>
   <style name="wxLB\_EXTENDED">
    wxLB\_EXTENDED
   </style>
   <style name="wxLB\_HSCROLL">
    Create horizontal scrollbar if contents are too wide (Windows only).
   </style>
   <style name="wxLB\_ALWAYS\_SB">
    Always show a vertical scrollbar.
   </style>
   <style name="wxLB\_NEEDED\_SB">
    Only create a vertical scrollbar if needed.
   </style>
   <style name="wxLB\_SORT">
    The listbox contents are sorted in alphabetical order.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_LISTBOX(id, func)">Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED event,
when an item on the list is selected.</event>
   <event name="EVT\_LISTBOX\_DCLICK(id, func)">Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
when the listbox is double-clicked.</event>
  </events>
  <seealso>
   <ref target="wxchoice">wxChoice</ref>
   <ref target="wxcombobox">wxComboBox</ref>
   <ref target="wxlistctrl">wxListCtrl</ref>
   ,
   <ref target="wxcommandevent">wxCommandEvent</ref>
  </seealso>
  <members>
   <member class="wxListBox" name="wxListBox">
    <function type="" name="wxListBox">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxListBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="int " name="n">
       Number of strings with which to initialise the control.
      </parameter>
      <parameter type="const wxString " name="choices[]" value="NULL"></parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxlistbox">wxListBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``listBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxListBox">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings with which to initialise the control.
      </parameter>
      <parameter type="long " name="style" value="0">
       Window style. See
       <ref target="wxlistbox">wxListBox</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``listBox&quot;">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxlistboxcreate">wxListBox::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxListBox" name="~wxListBox">
    <function type="void" name="~wxListBox">
     <description>
      <p>
       Destructor, destroying the list box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="int " name="n"></parameter>
      <parameter type="const wxString " name="choices[]" value="NULL"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``listBox&quot;"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
      <parameter type="const wxSize&amp; " name="size"></parameter>
      <parameter type="const wxArrayString&amp; " name="choices"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``listBox&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Creates the listbox for two-step construction. See
       <ref target="wxlistboxctor">wxListBox::wxListBox</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="Deselect">
    <function type="void" name="Deselect">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item to deselect.
      </parameter>
     </parameters>
     <remarks>
      <p>
       This applies to multiple selection listboxes only.
      </p>
     </remarks>
     <description>
      <p>
       Deselects an item in the list box.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="GetSelections">
    <function type="int" name="GetSelections" suffix="const">
     <parameters>
      <parameter type="wxArrayInt&amp; " name="selections">
       A reference to an wxArrayInt instance that is used to store the result of
       the query.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxcontrolwithitemsgetselection">wxControlWithItems::GetSelection</ref>
      ,
      <ref target="wxcontrolwithitemsgetstringselection">wxControlWithItems::GetStringSelection</ref>
      ,
      <ref target="wxcontrolwithitemssetselection">wxControlWithItems::SetSelection</ref>
     </seealso>
     <remarks>
      <p>
       Use this with a multiple selection listbox.
      </p>
     </remarks>
     <returnvalue>
      The number of selections.
     </returnvalue>
     <description>
      <p>
       Fill an array of ints with the positions of the currently selected items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="InsertItems">
    <function type="void" name="InsertItems">
     <parameters>
      <parameter type="int " name="nItems">
       Number of items in the array
       <i> items</i>
      </parameter>
      <parameter type="const wxString &#42;" name="items">
       Labels of items to be inserted
      </parameter>
      <parameter type="int " name="pos">
       Position before which to insert the items: for example, if
       <i> pos</i>
       is 0 the items will be inserted in the beginning of the listbox
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="InsertItems">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="nItems">
       Number of items in the array
       <i> items</i>
      </parameter>
      <parameter type="int " name="pos">
       Position before which to insert the items: for example, if
       <i> pos</i>
       is 0 the items will be inserted in the beginning of the listbox
      </parameter>
     </parameters>
     <description>
      <p>
       Insert the given number of strings before the specified position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="IsSelected">
    <function type="bool" name="IsSelected" suffix="const">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item index.
      </parameter>
     </parameters>
     <returnvalue>
      true if the given item is selected, false otherwise.
     </returnvalue>
     <description>
      <p>
       Determines whether an item is selected.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="Set">
    <function type="void" name="Set">
     <parameters>
      <parameter type="int " name="n">
       The number of strings to set.
      </parameter>
      <parameter type="const wxString&#42; " name="choices">
       An array of strings to set.
      </parameter>
      <parameter type="void &#42;&#42;" name="clientData" value="NULL">
       Options array of client data pointers
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Set">
     <parameters>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings to set.
      </parameter>
      <parameter type="void &#42;&#42;" name="clientData" value="NULL">
       Options array of client data pointers
      </parameter>
     </parameters>
     <remarks>
      <p>
       You may free the array from the calling program after this function has
       been called.
      </p>
     </remarks>
     <description>
      <p>
       Clears the list box and adds the given strings to it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListBox" name="SetFirstItem">
    <function type="void" name="SetFirstItem">
     <parameters>
      <parameter type="int " name="n">
       The zero-based item index.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetFirstItem">
     <parameters>
      <parameter type="const wxString&amp; " name="string">
       The string that should be visible.
      </parameter>
     </parameters>
     <description>
      <p>
       Set the specified item to be the first visible item. Windows only.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxListCtrl">
  <description>
   <p class="classdesc">
    A list control presents lists in a number of formats: list view, report
    view, icon view and small icon view. In any case, elements are numbered from
    zero. For all these modes, the items are stored in the control and must be
    added to it using
    <ref target="wxlistctrlinsertitem">InsertItem</ref>
    method.
   </p>
   <p class="classdesc">
    A special case of report view quite different from the other modes of the
    list control is a virtual control in which the items data (including text,
    images and attributes) is managed by the main program and is requested by
    the control itself only when needed which allows to have controls with
    millions of items without consuming much memory. To use virtual list control
    you must use
    <ref target="wxlistctrlsetitemcount">SetItemCount</ref>
    first and overload at least
    <ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
    (and optionally
    <ref target="wxlistctrlongetitemimage">OnGetItemImage</ref>
    and
    <ref target="wxlistctrlongetitemattr">OnGetItemAttr</ref>
    ) to return the information about the items when the control requests it.
    Virtual list control can be used as a normal one except that no operations
    which can take time proportional to the number of items in the control
    happen -- this is required to allow having a practically infinite number of
    items. For example, in a multiple selection virtual list control, the
    selections won't be sent when many items are selected at once because this
    could mean iterating over all the items.
   </p>
   <p class="classdesc">
    Using many of wxListCtrl features is shown in the
    <ref target="samplelistctrl">corresponding sample</ref>
    .
   </p>
   <p class="classdesc">
    To intercept events from a list control, use the event table macros
    described in
    <ref target="wxlistevent">wxListEvent</ref>
    .
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A control for displaying lists of strings and/or icons, plus a multicolumn report view</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/listctrl.h"/>
  </includes>
  <windowstyles>
   <style name="wxLC\_LIST">
    wxLC\_LIST
   </style>
   <style name="wxLC\_REPORT">
    Single or multicolumn report view, with optional header.
   </style>
   <style name="wxLC\_VIRTUAL">
    The application provides items text on demand. May only be used with
    wxLC\_REPORT.
   </style>
   <style name="wxLC\_ICON">
    Large icon view, with optional labels.
   </style>
   <style name="wxLC\_SMALL\_ICON">
    Small icon view, with optional labels.
   </style>
   <style name="wxLC\_ALIGN\_TOP">
    Icons align to the top. Win32 default, Win32 only.
   </style>
   <style name="wxLC\_ALIGN\_LEFT">
    Icons align to the left.
   </style>
   <style name="wxLC\_AUTOARRANGE">
    Icons arrange themselves. Win32 only.
   </style>
   <style name="wxLC\_EDIT\_LABELS">
    Labels are editable: the application will be notified when editing starts.
   </style>
   <style name="wxLC\_NO\_HEADER">
    No header in report mode.
   </style>
   <style name="wxLC\_SINGLE\_SEL">
    Single selection (default is multiple).
   </style>
   <style name="wxLC\_SORT\_ASCENDING">
    Sort in ascending order (must still supply a comparison callback in
    SortItems.
   </style>
   <style name="wxLC\_SORT\_DESCENDING">
    Sort in descending order (must still supply a comparison callback in
    SortItems.
   </style>
   <style name="wxLC\_HRULES">
    Draws light horizontal rules between rows in report mode.
   </style>
   <style name="wxLC\_VRULES">
    Draws light vertical rules between columns in report mode.
   </style>
  </windowstyles>
  <events>
   <event name="EVT\_LIST\_BEGIN\_DRAG(id, func)">Begin dragging with the left mouse button.</event>
   <event name="EVT\_LIST\_BEGIN\_RDRAG(id, func)">Begin dragging with the right mouse button.</event>
   <event name="EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)">Begin editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
   <event name="EVT\_LIST\_END\_LABEL\_EDIT(id, func)">Finish editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
   <event name="EVT\_LIST\_DELETE\_ITEM(id, func)">Delete an item.</event>
   <event name="EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)">Delete all items.</event>
   <event name="EVT\_LIST\_ITEM\_SELECTED(id, func)">The item has been selected.</event>
   <event name="EVT\_LIST\_ITEM\_DESELECTED(id, func)">The item has been deselected.</event>
   <event name="EVT\_LIST\_ITEM\_ACTIVATED(id, func)">The item has been activated (ENTER or double click).</event>
   <event name="EVT\_LIST\_ITEM\_FOCUSED(id, func)">The currently focused item has changed.</event>
   <event name="EVT\_LIST\_ITEM\_MIDDLE\_CLICK(id, func)">The middle mouse button has been clicked on an item.</event>
   <event name="EVT\_LIST\_ITEM\_RIGHT\_CLICK(id, func)">The right mouse button has been clicked on an item.</event>
   <event name="EVT\_LIST\_KEY\_DOWN(id, func)">A key has been pressed.</event>
   <event name="EVT\_LIST\_INSERT\_ITEM(id, func)">An item has been inserted.</event>
   <event name="EVT\_LIST\_COL\_CLICK(id, func)">A column (<b> m\_col</b>) has been left-clicked.</event>
   <event name="EVT\_LIST\_COL\_RIGHT\_CLICK(id, func)">A column (<b> m\_col</b>) has been right-clicked.</event>
   <event name="EVT\_LIST\_COL\_BEGIN\_DRAG(id, func)">The user started resizing a column - can be vetoed.</event>
   <event name="EVT\_LIST\_COL\_DRAGGING(id, func)">The divider between columns is being dragged.</event>
   <event name="EVT\_LIST\_COL\_END\_DRAG(id, func)">A column has been resized by the user.</event>
   <event name="EVT\_LIST\_CACHE\_HINT(id, func)">Prepare cache for a virtual list control</event>
  </events>
  <seealso>
   <ref target="wxlistctrloverview">wxListCtrl overview</ref>
   <ref target="wxlistbox">wxListBox</ref>
   <ref target="wxtreectrl">wxTreeCtrl</ref>
   ,
   <ref target="wximagelist">wxImageList</ref>
   <ref target="wxlistevent">wxListEvent</ref>
   ,
   <ref target="wxlistitem">wxListItem</ref>
  </seealso>
  <members>
   <member class="wxListCtrl" name="wxListCtrl">
    <function type="" name="wxListCtrl">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxListCtrl">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window. Must not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       Window identifier. A value of -1 indicates a default value.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Window position.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Window size. If the default size (-1, -1) is specified then the window is
       sized appropriately.
      </parameter>
      <parameter type="long " name="style" value="wxLC\_ICON">
       Window style. See
       <ref target="wxlistctrl">wxListCtrl</ref>
       .
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       Window validator.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="wxListCtrlNameStr">
       Window name.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlcreate">wxListCtrl::Create</ref>
      <ref target="wxvalidator">wxValidator</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxListCtrl" name="~wxListCtrl">
    <function type="void" name="~wxListCtrl">
     <description>
      <p>
       Destructor, destroying the list control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="Arrange">
    <function type="bool" name="Arrange">
     <parameters>
      <parameter type="int " name="flag" value="wxLIST\_ALIGN\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       Arranges the items in icon or small icon view. This only has effect on
       Win32.
       <i> flag</i>
       is one of:
      </p>
      <table>
       <tr>
        <td>wxLIST\_ALIGN\_DEFAULT</td>
        <td>Default alignment.</td>
       </tr>
       <tr>
        <td>wxLIST\_ALIGN\_LEFT</td>
        <td>Align to the left side of the control.</td>
       </tr>
       <tr>
        <td>wxLIST\_ALIGN\_TOP</td>
        <td>Align to the top side of the control.</td>
       </tr>
       <tr>
        <td>wxLIST\_ALIGN\_SNAP\_TO\_GRID</td>
        <td>Snap to grid.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="AssignImageList">
    <function type="void" name="AssignImageList">
     <parameters>
      <parameter type="wxImageList&#42; " name="imageList"></parameter>
      <parameter type="int " name="which"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlsetimagelist">wxListCtrl::SetImageList</ref>
     </seealso>
     <description>
      <p>
       Sets the image list associated with the control and takes ownership of it
       (i.e. the control will, unlike when using SetImageList, delete the list
       when destroyed).
       <i> which</i>
       is one of wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL, wxIMAGE\_LIST\_STATE
       (the last is unimplemented).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="ClearAll">
    <function type="void" name="ClearAll">
     <parameters></parameters>
     <description>
      <p>
       Deletes all items and all columns.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxLC\_ICON"></parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
      <parameter type="const wxString&amp; " name="name" value="wxListCtrlNameStr"></parameter>
     </parameters>
     <description>
      <p>
       Creates the list control. See
       <ref target="wxlistctrlctor">wxListCtrl::wxListCtrl</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="DeleteAllItems">
    <function type="bool" name="DeleteAllItems">
     <parameters></parameters>
     <description>
      <p>
       Deletes all the items in the list control.
      </p>
      <p>
       <b> NB:</b>
       This function does
       <i> not</i>
       send the
       <tt> wxEVT\_COMMAND\_LIST\_DELETE\_ITEM</tt>
       event because deleting many items from the control would be too slow then
       (unlike
       <ref target="wxlistctrldeleteitem">DeleteItem</ref>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="DeleteColumn">
    <function type="bool" name="DeleteColumn">
     <parameters>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Deletes a column.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="DeleteItem">
    <function type="bool" name="DeleteItem">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Deletes the specified item. This function sends the
       <tt> wxEVT\_COMMAND\_LIST\_DELETE\_ITEM</tt>
       event for the item being deleted.
      </p>
      <p>
       See also
       <ref target="wxlistctrldeleteallitems">DeleteAllItems</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="EditLabel">
    <function type="void" name="EditLabel">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Starts editing the label of the given item. This function generates a
       EVT\_LIST\_BEGIN\_LABEL\_EDIT event which can be vetoed so that no text
       control will appear for in-place editing.
      </p>
      <p>
       If the user changed the label (i.e. s/he does not press ESC or leave the
       text control without changes, a EVT\_LIST\_END\_LABEL\_EDIT event will be
       sent which can be vetoed as well.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="EnsureVisible">
    <function type="bool" name="EnsureVisible">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Ensures this item is visible.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="FindItem">
    <function type="long" name="FindItem">
     <parameters>
      <parameter type="long " name="start"></parameter>
      <parameter type="const wxString&amp; " name="str"></parameter>
      <parameter type="const bool " name="partial" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Find an item whose label matches this string, starting from
       <i> start</i>
       or the beginning if
       <i> start</i>
       is -1.
      </p>
     </description>
    </function>
    <function type="long" name="FindItem">
     <parameters>
      <parameter type="long " name="start"></parameter>
      <parameter type="long " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Find an item whose data matches this data, starting from
       <i> start</i>
       or the beginning if 'start' is -1.
      </p>
     </description>
    </function>
    <function type="long" name="FindItem">
     <parameters>
      <parameter type="long " name="start"></parameter>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
      <parameter type="int " name="direction"></parameter>
     </parameters>
     <description>
      <p>
       Find an item nearest this position in the specified direction, starting
       from
       <i> start</i>
       or the beginning if
       <i> start</i>
       is -1.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetColumn">
    <function type="bool" name="GetColumn" suffix="const">
     <parameters>
      <parameter type="int " name="col"></parameter>
      <parameter type="wxListItem&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Gets information about this column. See
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       for more information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetColumnCount">
    <function type="int" name="GetColumnCount" suffix="const">
     <description>
      <p>
       Returns the number of columns.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetColumnWidth">
    <function type="int" name="GetColumnWidth" suffix="const">
     <parameters>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Gets the column width (report view only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetCountPerPage">
    <function type="int" name="GetCountPerPage" suffix="const">
     <description>
      <p>
       Gets the number of items that can fit vertically in the visible area of
       the list control (list or report view) or the total number of items in
       the list control (icon or small icon view).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetEditControl" specific="msw">
    <function type="wxTextCtrl &#42;" name="GetEditControl" suffix="const">
     <description>
      <p>
       Returns the edit control being currently used to edit a label. Returns
       <tt> NULL</tt>
       if no label is being edited.
      </p>
      <p>
       <b> NB:</b>
       It is currently only implemented for wxMSW.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetImageList">
    <function type="wxImageList&#42;" name="GetImageList" suffix="const">
     <parameters>
      <parameter type="int " name="which"></parameter>
     </parameters>
     <description>
      <p>
       Returns the specified image list.
       <i> which</i>
       may be one of:
      </p>
      <table>
       <tr>
        <td>wxIMAGE\_LIST\_NORMAL</td>
        <td>The normal (large icon) image list.</td>
       </tr>
       <tr>
        <td>wxIMAGE\_LIST\_SMALL</td>
        <td>The small icon image list.</td>
       </tr>
       <tr>
        <td>wxIMAGE\_LIST\_STATE</td>
        <td>The user-defined state image list (unimplemented).</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItem">
    <function type="bool" name="GetItem" suffix="const">
     <parameters>
      <parameter type="wxListItem&amp; " name="info"></parameter>
     </parameters>
     <description>
      <p>
       Gets information about the item. See
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       for more information.
      </p>
      <p>
       You must call
       <i> info.SetId()</i>
       to the ID of item you're interested in before calling this method.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemBackgroundColour">
    <function type="wxColour" name="GetItemBackgroundColour" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlgetitemtextcolour">GetItemTextColour</ref>
     </seealso>
     <description>
      <p>
       Returns the colour for this item. If the item has no specific colour,
       returns an invalid colour (and not the default background control of the
       control itself).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemCount">
    <function type="int" name="GetItemCount" suffix="const">
     <description>
      <p>
       Returns the number of items in the list control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemData">
    <function type="long" name="GetItemData" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Gets the application-defined data associated with this item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemPosition">
    <function type="bool" name="GetItemPosition" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="wxPoint&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Returns the position of the item, in icon or small icon view.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemRect">
    <function type="bool" name="GetItemRect" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="wxRect&amp; " name="rect"></parameter>
      <parameter type="int " name="code" value="wxLIST\_RECT\_BOUNDS"></parameter>
     </parameters>
     <description>
      <p>
       Returns the rectangle representing the item's size and position, in
       physical coordinates.
      </p>
      <p>
       <i> code</i>
       is one of wxLIST\_RECT\_BOUNDS, wxLIST\_RECT\_ICON, wxLIST\_RECT\_LABEL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemSpacing">
    <function type="wxSize" name="GetItemSpacing" suffix="const">
     <description>
      <p>
       Retrieves the spacing between icons in pixels: horizontal spacing is
       returned as
       <tt>x</tt>
       component of the
       <ref target="wxsize">wxSize</ref>
       object and the vertical spacing as its
       <tt>y</tt>
       component.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemState">
    <function type="int" name="GetItemState" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="long " name="stateMask"></parameter>
     </parameters>
     <description>
      <p>
       Gets the item state. For a list of state flags, see
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       .
      </p>
      <p>
       The
       <b> stateMask</b>
       indicates which state flags are of interest.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemText">
    <function type="wxString" name="GetItemText" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Gets the item text for this item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetItemTextColour">
    <function type="wxColour" name="GetItemTextColour" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Returns the colour for this item. If the item has no specific colour,
       returns an invalid colour (and not the default foreground control of the
       control itself as this wouldn't allow distinguishing between items having
       the same colour as the current control foreground and items with default
       colour which, hence, have always the same colour as the control).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetNextItem">
    <function type="long" name="GetNextItem" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="int " name="geometry" value="wxLIST\_NEXT\_ALL"></parameter>
      <parameter type="int " name="state" value="wxLIST\_STATE\_DONTCARE"></parameter>
     </parameters>
     <description>
      <p>
       Searches for an item with the given geometry or state, starting from
       <i> item</i>
       but excluding the
       <i> item</i>
       itself. If
       <i> item</i>
       is -1, the first item that matches the specified flags will be returned.
      </p>
      <p>
       Returns the first item with given state following
       <i> item</i>
       or -1 if no such item found.
      </p>
      <p>
       This function may be used to find all selected items in the control like
       this:
      </p>
      <pre>
    long item = -1;
    for ( ;; )
    \{
        item = listctrl-&gt;GetNextItem(item,
                                     wxLIST\_NEXT\_ALL,
                                     wxLIST\_STATE\_SELECTED);
        if ( item == -1 )
            break;

        // this item is selected - do whatever is needed with it
        wxLogMessage(&quot;Item 
    \}
</pre>
      <p>
       <i> geometry</i>
       can be one of:
      </p>
      <table>
       <tr>
        <td>wxLIST\_NEXT\_ABOVE</td>
        <td>Searches for an item above the specified item.</td>
       </tr>
       <tr>
        <td>wxLIST\_NEXT\_ALL</td>
        <td>Searches for subsequent item by index.</td>
       </tr>
       <tr>
        <td>wxLIST\_NEXT\_BELOW</td>
        <td>Searches for an item below the specified item.</td>
       </tr>
       <tr>
        <td>wxLIST\_NEXT\_LEFT</td>
        <td>Searches for an item to the left of the specified item.</td>
       </tr>
       <tr>
        <td>wxLIST\_NEXT\_RIGHT</td>
        <td>Searches for an item to the right of the specified item.</td>
       </tr>
      </table>
      <p>
       <b> NB:</b>
       this parameters is only supported by wxMSW currently and ignored on other
       platforms.
      </p>
      <p>
       <i> state</i>
       can be a bitlist of the following:
      </p>
      <table>
       <tr>
        <td>wxLIST\_STATE\_DONTCARE</td>
        <td>Don't care what the state is.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_DROPHILITED</td>
        <td>The item indicates it is a drop target.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_FOCUSED</td>
        <td>The item has the focus.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_SELECTED</td>
        <td>The item is selected.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_CUT</td>
        <td>The item is selected as part of a cut and paste operation.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetSelectedItemCount">
    <function type="int" name="GetSelectedItemCount" suffix="const">
     <description>
      <p>
       Returns the number of selected items in the list control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetTextColour">
    <function type="wxColour" name="GetTextColour" suffix="const">
     <description>
      <p>
       Gets the text colour of the list control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetTopItem">
    <function type="long" name="GetTopItem" suffix="const">
     <description>
      <p>
       Gets the index of the topmost visible item when in list or report view.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="GetViewRect">
    <function type="wxRect" name="GetViewRect" suffix="const">
     <description>
      <p>
       Returns the rectangle taken by all items in the control. In other words,
       if the controls client size were equal to the size of this rectangle, no
       scrollbars would be needed and no free space would be left.
      </p>
      <p>
       Note that this function only works in the icon and small icon views, not
       in list or report views (this is a limitation of the native Win32
       control).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="HitTest">
    <function type="long" name="HitTest">
     <parameters>
      <parameter type="const wxPoint&amp; " name="point"></parameter>
      <parameter type="int&amp; " name="flags"></parameter>
     </parameters>
     <description>
      <p>
       Determines which item (if any) is at the specified point, giving details
       in
       <i> flags</i>
       . Returns index of the item or
       <tt> wxNOT\_FOUND</tt>
       if no item is at the specified point.
       <i> flags</i>
       will be a combination of the following flags:
      </p>
      <table>
       <tr>
        <td>wxLIST\_HITTEST\_ABOVE</td>
        <td>Above the client area.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_BELOW</td>
        <td>Below the client area.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_NOWHERE</td>
        <td>In the client area but below the last item.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_ONITEMICON</td>
        <td>On the bitmap associated with an item.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_ONITEMLABEL</td>
        <td>On the label (string) associated with an item.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_ONITEMRIGHT</td>
        <td>In the area to the right of an item.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_ONITEMSTATEICON</td>
        <td>On the state icon for a tree view item that is in a user-defined state.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_TOLEFT</td>
        <td>To the right of the client area.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_TORIGHT</td>
        <td>To the left of the client area.</td>
       </tr>
       <tr>
        <td>wxLIST\_HITTEST\_ONITEM</td>
        <td>Combination of wxLIST\_HITTEST\_ONITEMICON, wxLIST\_HITTEST\_ONITEMLABEL,
wxLIST\_HITTEST\_ONITEMSTATEICON.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="InsertColumn">
    <function type="long" name="InsertColumn">
     <parameters>
      <parameter type="long " name="col"></parameter>
      <parameter type="wxListItem&amp; " name="info"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="long" name="InsertColumn">
     <parameters>
      <parameter type="long " name="col"></parameter>
      <parameter type="const wxString&amp; " name="heading"></parameter>
      <parameter type="int " name="format" value="wxLIST\_FORMAT\_LEFT"></parameter>
      <parameter type="int " name="width" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       For report view mode (only), inserts a column. For more details, see
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="InsertItem">
    <function type="long" name="InsertItem">
     <parameters>
      <parameter type="wxListItem&amp; " name="info">
       wxListItem object
      </parameter>
     </parameters>
     <description>
      <p>
       Inserts an item, returning the index of the new item if successful, -1
       otherwise.
      </p>
     </description>
    </function>
    <function type="long" name="InsertItem">
     <parameters>
      <parameter type="long " name="index">
       Index of the new item, supplied by the application
      </parameter>
      <parameter type="const wxString&amp; " name="label">
       String label
      </parameter>
     </parameters>
     <description>
      <p>
       Inserts a string item.
      </p>
     </description>
    </function>
    <function type="long" name="InsertItem">
     <parameters>
      <parameter type="long " name="index">
       Index of the new item, supplied by the application
      </parameter>
      <parameter type="int " name="imageIndex">
       index into the image list associated with this control and view style
      </parameter>
     </parameters>
     <description>
      <p>
       Inserts an image item.
      </p>
     </description>
    </function>
    <function type="long" name="InsertItem">
     <parameters>
      <parameter type="long " name="index">
       Index of the new item, supplied by the application
      </parameter>
      <parameter type="const wxString&amp; " name="label">
       String label
      </parameter>
      <parameter type="int " name="imageIndex">
       index into the image list associated with this control and view style
      </parameter>
     </parameters>
     <description>
      <p>
       Insert an image/string item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="OnGetItemAttr">
    <function type="virtual wxListItemAttr &#42;" name="OnGetItemAttr">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlongetitemimage">OnGetItemImage</ref>
      ,
      <br/>
      <ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
     </seealso>
     <description>
      <p>
       This function may be overloaded in the derived class for a control with
       <tt> wxLC\_VIRTUAL</tt>
       style. It should return the attribute for the for the specified
       <tt> item</tt>
       or
       <tt> NULL</tt>
       to use the default appearance parameters.
      </p>
      <p>
       The base class version always returns
       <tt> NULL</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="OnGetItemImage">
    <function type="virtual int" name="OnGetItemImage">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
      ,
      <br/>
      <ref target="wxlistctrlongetitemattr">OnGetItemAttr</ref>
     </seealso>
     <description>
      <p>
       This function must be overloaded in the derived class for a control with
       <tt> wxLC\_VIRTUAL</tt>
       style having an
       <ref target="wxlistctrlsetimagelist">image list</ref>
       (if the control doesn't have an image list, it is not necessary to
       overload it). It should return the index of the items image in the
       controls image list or $-1$ for no image.
      </p>
      <p>
       The base class version always returns $-1$.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="OnGetItemText">
    <function type="virtual wxString" name="OnGetItemText" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="long " name="column"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlsetitemcount">SetItemCount</ref>
      ,
      <br/>
      <ref target="wxlistctrlongetitemimage">OnGetItemImage</ref>
      ,
      <br/>
      <ref target="wxlistctrlongetitemattr">OnGetItemAttr</ref>
     </seealso>
     <description>
      <p>
       This function
       <b> must</b>
       be overloaded in the derived class for a control with
       <tt> wxLC\_VIRTUAL</tt>
       style. It should return the string containing the text of the given
       <i> column</i>
       for the specified
       <tt> item</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="RefreshItem">
    <function type="void" name="RefreshItem">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlrefreshitems">RefreshItems</ref>
     </seealso>
     <description>
      <p>
       Redraws the given
       <i> item</i>
       . This is only useful for the virtual list controls as without calling
       this function the displayed value of the item doesn't change even when
       the underlying data does change.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="RefreshItems">
    <function type="void" name="RefreshItems">
     <parameters>
      <parameter type="long " name="itemFrom"></parameter>
      <parameter type="long " name="itemTo"></parameter>
     </parameters>
     <description>
      <p>
       Redraws the items between
       <i> itemFrom</i>
       and
       <i> itemTo</i>
       . The starting item must be less than or equal to the ending one.
      </p>
      <p>
       Just as
       <ref target="wxlistctrlrefreshitem">RefreshItem</ref>
       this is only useful for virtual list controls.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="ScrollList">
    <function type="bool" name="ScrollList">
     <parameters>
      <parameter type="int " name="dx"></parameter>
      <parameter type="int " name="dy"></parameter>
     </parameters>
     <description>
      <p>
       Scrolls the list control. If in icon, small icon or report view mode,
       <i> dx</i>
       specifies the number of pixels to scroll. If in list view mode,
       <i> dx</i>
       specifies the number of columns to scroll.
       <i> dy</i>
       always specifies the number of pixels to scroll vertically.
      </p>
      <p>
       <b> NB:</b>
       This method is currently only implemented in the Windows version.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetBackgroundColour">
    <function type="void" name="SetBackgroundColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the background colour (GetBackgroundColour already implicit in
       wxWindow class).
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetColumn">
    <function type="bool" name="SetColumn">
     <parameters>
      <parameter type="int " name="col"></parameter>
      <parameter type="wxListItem&amp; " name="item"></parameter>
     </parameters>
     <description>
      <p>
       Sets information about this column. See
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       for more information.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetColumnWidth">
    <function type="bool" name="SetColumnWidth">
     <parameters>
      <parameter type="int " name="col"></parameter>
      <parameter type="int " name="width"></parameter>
     </parameters>
     <description>
      <p>
       Sets the column width.
      </p>
      <p>
       <i> width</i>
       can be a width in pixels or wxLIST\_AUTOSIZE (-1) or
       wxLIST\_AUTOSIZE\_USEHEADER (-2). wxLIST\_AUTOSIZE will resize the column to
       the length of its longest item. wxLIST\_AUTOSIZE\_USEHEADER will resize the
       column to the length of the header (Win32) or 80 pixels (other
       platforms).
      </p>
      <p>
       In small or normal icon view,
       <i> col</i>
       must be -1, and the column width is set for all columns.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetImageList">
    <function type="void" name="SetImageList">
     <parameters>
      <parameter type="wxImageList&#42; " name="imageList"></parameter>
      <parameter type="int " name="which"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlassignimagelist">wxListCtrl::AssignImageList</ref>
     </seealso>
     <description>
      <p>
       Sets the image list associated with the control.
       <i> which</i>
       is one of wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL, wxIMAGE\_LIST\_STATE
       (the last is unimplemented).
      </p>
      <p>
       This method does not take ownership of the image list, you have to delete
       it yourself.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItem">
    <function type="bool" name="SetItem">
     <parameters>
      <parameter type="wxListItem&amp; " name="info"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="long" name="SetItem">
     <parameters>
      <parameter type="long " name="index"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp;" name="label"></parameter>
      <parameter type="int " name="imageId" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       Sets information about the item.
      </p>
      <p>
       wxListItem is a class with the following members:
      </p>
      <table>
       <tr>
        <td>long m\_mask</td>
        <td>Indicates which fields are valid. See the list of valid mask flags below.</td>
       </tr>
       <tr>
        <td>long m\_itemId</td>
        <td>The zero-based item position.</td>
       </tr>
       <tr>
        <td>int m\_col</td>
        <td>Zero-based column, if in report mode.</td>
       </tr>
       <tr>
        <td>long m\_state</td>
        <td>The state of the item. See the list of valid state flags below.</td>
       </tr>
       <tr>
        <td>long m\_stateMask</td>
        <td>A mask indicating which state flags are valid. See the list of valid state flags below.</td>
       </tr>
       <tr>
        <td>wxString m\_text</td>
        <td>The label/header text.</td>
       </tr>
       <tr>
        <td>int m\_image</td>
        <td>The zero-based index into an image list.</td>
       </tr>
       <tr>
        <td>long m\_data</td>
        <td>Application-defined data.</td>
       </tr>
       <tr>
        <td>int m\_format</td>
        <td>For columns only: the format. Can be wxLIST\_FORMAT\_LEFT, wxLIST\_FORMAT\_RIGHT or
wxLIST\_FORMAT\_CENTRE.</td>
       </tr>
       <tr>
        <td>int m\_width</td>
        <td>For columns only: the column width.</td>
       </tr>
      </table>
      <p>
       The
       <b> m\_mask</b>
       member contains a bitlist specifying which of the other fields are valid.
       The flags are:
      </p>
      <table>
       <tr>
        <td>wxLIST\_MASK\_STATE</td>
        <td>The <b> m\_state</b> field is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_TEXT</td>
        <td>The <b> m\_text</b> field is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_IMAGE</td>
        <td>The <b> m\_image</b> field is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_DATA</td>
        <td>The <b> m\_data</b> field is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_WIDTH</td>
        <td>The <b> m\_width</b> field is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_FORMAT</td>
        <td>The <b> m\_format</b> field is valid.</td>
       </tr>
      </table>
      <p>
       The
       <b> m\_stateMask</b>
       and
       <b> m\_state</b>
       members take flags from the following:
      </p>
      <table>
       <tr>
        <td>wxLIST\_STATE\_DONTCARE</td>
        <td>Don't care what the state is. Win32 only. </td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_DROPHILITED</td>
        <td>The item is highlighted to receive a drop event. Win32 only. </td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_FOCUSED</td>
        <td>The item has the focus.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_SELECTED</td>
        <td>The item is selected.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_CUT</td>
        <td>The item is in the cut state. Win32 only. </td>
       </tr>
      </table>
      <p>
       The wxListItem object can also contain item-specific colour and font
       information: for this you need to call one of SetTextColour(),
       SetBackgroundColour() or SetFont() functions on it passing it the
       colour/font to use. If the colour/font is not specified, the default list
       control colour/font is used.
      </p>
     </description>
    </function>
    <function type="long" name="SetItem">
     <parameters>
      <parameter type="long " name="index"></parameter>
      <parameter type="int " name="col"></parameter>
      <parameter type="const wxString&amp; " name="label"></parameter>
      <parameter type="int " name="imageId" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       Sets a string field at a particular column.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemBackgroundColour">
    <function type="void" name="SetItemBackgroundColour">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="const wxColour&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the background colour for this item. This function only works in
       report view.
      </p>
      <p>
       The colour can be retrieved using
       <ref target="wxlistctrlgetitembackgroundcolour">GetItemBackgroundColour</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemCount">
    <function type="void" name="SetItemCount">
     <parameters>
      <parameter type="long " name="count"></parameter>
     </parameters>
     <description>
      <p>
       This method can only be used with virtual list controls. It is used to
       indicate to the control the number of items it contains. After calling
       it, the main program should be ready to handle calls to various item
       callbacks (such as
       <ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
       ) for all items in the range from 0 to
       <i> count</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemData">
    <function type="bool" name="SetItemData">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="long " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Associates application-defined data with this item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemImage">
    <function type="bool" name="SetItemImage">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="int " name="image"></parameter>
     </parameters>
     <description>
      <p>
       Sets the image associated with the item. The image is an index into the
       image list associated with the list control.
      </p>
     </description>
    </function>
    <function type="bool" name="SetItemImage">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="int " name="image"></parameter>
      <parameter type="int " name="selImage"></parameter>
     </parameters>
     <description>
      <p>
       Sets the unselected and selected images associated with the item. The
       images are indices into the image list associated with the list control.
       This form is deprecated:
       <i> selImage</i>
       is not used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemPosition">
    <function type="bool" name="SetItemPosition">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="const wxPoint&amp; " name="pos"></parameter>
     </parameters>
     <description>
      <p>
       Sets the position of the item, in icon or small icon view. Windows only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemState">
    <function type="bool" name="SetItemState">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="long " name="state"></parameter>
      <parameter type="long " name="stateMask"></parameter>
     </parameters>
     <description>
      <p>
       Sets the item state. For a list of state flags, see
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       .
      </p>
      <p>
       The
       <b> stateMask</b>
       indicates which state flags are valid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemText">
    <function type="void" name="SetItemText">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="const wxString&amp; " name="text"></parameter>
     </parameters>
     <description>
      <p>
       Sets the item text for this item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetItemTextColour">
    <function type="void" name="SetItemTextColour">
     <parameters>
      <parameter type="long " name="item"></parameter>
      <parameter type="const wxColour&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the colour for this item. This function only works in report view.
      </p>
      <p>
       The colour can be retrieved using
       <ref target="wxlistctrlgetitemtextcolour">GetItemTextColour</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetSingleStyle">
    <function type="void" name="SetSingleStyle">
     <parameters>
      <parameter type="long " name="style"></parameter>
      <parameter type="const bool " name="add" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Adds or removes a single window style.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetTextColour">
    <function type="void" name="SetTextColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text colour of the list control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SetWindowStyleFlag">
    <function type="void" name="SetWindowStyleFlag">
     <parameters>
      <parameter type="long " name="style"></parameter>
     </parameters>
     <description>
      <p>
       Sets the whole window style, deleting all items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListCtrl" name="SortItems">
    <function type="bool" name="SortItems">
     <parameters>
      <parameter type="wxListCtrlCompare " name="fnSortCallBack"></parameter>
      <parameter type="long " name="data">
       the value passed to SortItems() itself.
      </parameter>
     </parameters>
     <description>
      <p>
       Call this function to sort the items in the list control. Sorting is done
       using the specified
       <i> fnSortCallBack</i>
       function. This function must have the following prototype:
      </p>
      <pre>
int wxCALLBACK wxListCompareFunction(long item1, long item2, long sortData)
</pre>
      <p>
       It is called each time when the two items must be compared and should
       return 0 if the items are equal, negative value if the first item is less
       than the second one and positive value if the first one is greater than
       the second one (the same convention as used by
       <tt> qsort(3)</tt>
       ).
      </p>
      <p>
       Notice that the control may only be sorted on client data associated with
       the items, so you
       <b> must</b>
       use
       <ref target="wxlistctrlsetitemdata">SetItemData</ref>
       if you want to be able to sort the items in the control.
      </p>
      <p>
       Please see the
       <ref target="samplelistctrl">listctrl sample</ref>
       for an example of using this function.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxListEvent">
  <description>
   <p class="classdesc">
    A list event holds information about events associated with wxListCtrl
    objects.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A list control event</shortdesc>
  <parents>
   <ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
   <ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/listctrl.h"/>
  </includes>
  <events>
   <event name="EVT\_LIST\_BEGIN\_DRAG(id, func)">Begin dragging with the left mouse button.</event>
   <event name="EVT\_LIST\_BEGIN\_RDRAG(id, func)">Begin dragging with the right mouse button.</event>
   <event name="EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)">Begin editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
   <event name="EVT\_LIST\_END\_LABEL\_EDIT(id, func)">Finish editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
   <event name="EVT\_LIST\_DELETE\_ITEM(id, func)">Delete an item.</event>
   <event name="EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)">Delete all items.</event>
   <event name="EVT\_LIST\_ITEM\_SELECTED(id, func)">The item has been selected.</event>
   <event name="EVT\_LIST\_ITEM\_DESELECTED(id, func)">The item has been deselected.</event>
   <event name="EVT\_LIST\_ITEM\_ACTIVATED(id, func)">The item has been activated (ENTER or double click).</event>
   <event name="EVT\_LIST\_ITEM\_FOCUSED(id, func)">The currently focused item has changed.</event>
   <event name="EVT\_LIST\_ITEM\_MIDDLE\_CLICK(id, func)">The middle mouse button has been clicked on an item.</event>
   <event name="EVT\_LIST\_ITEM\_RIGHT\_CLICK(id, func)">The right mouse button has been clicked on an item.</event>
   <event name="EVT\_LIST\_KEY\_DOWN(id, func)">A key has been pressed.</event>
   <event name="EVT\_LIST\_INSERT\_ITEM(id, func)">An item has been inserted.</event>
   <event name="EVT\_LIST\_COL\_CLICK(id, func)">A column (<b> m\_col</b>) has been left-clicked.</event>
   <event name="EVT\_LIST\_COL\_RIGHT\_CLICK(id, func)">A column (<b> m\_col</b>) (which can be $-1$ if the click occurred outside any column) has been right-clicked.</event>
   <event name="EVT\_LIST\_COL\_BEGIN\_DRAG(id, func)">The user started resizing a column - can be vetoed.</event>
   <event name="EVT\_LIST\_COL\_DRAGGING(id, func)">The divider between columns is being dragged.</event>
   <event name="EVT\_LIST\_COL\_END\_DRAG(id, func)">A column has been resized by the user.</event>
   <event name="EVT\_LIST\_CACHE\_HINT(id, func)">Prepare cache for a virtual list control</event>
  </events>
  <seealso>
   <ref target="wxlistctrl">wxListCtrl</ref>
  </seealso>
  <members>
   <member class="wxListEvent" name="wxListEvent">
    <function type="" name="wxListEvent">
     <parameters>
      <parameter type="WXTYPE " name="commandType" value="0"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetCacheFrom">
    <function type="long" name="GetCacheFrom" suffix="const">
     <description>
      <p>
       For
       <tt> EVT\_LIST\_CACHE\_HINT</tt>
       event only: return the first item which the list control advises us to
       cache.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetCacheTo">
    <function type="long" name="GetCacheTo" suffix="const">
     <description>
      <p>
       For
       <tt> EVT\_LIST\_CACHE\_HINT</tt>
       event only: return the last item (inclusive) which the list control
       advises us to cache.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetKeyCode">
    <function type="int" name="GetKeyCode" suffix="const">
     <description>
      <p>
       Key code if the event is a keypress event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetIndex">
    <function type="long" name="GetIndex" suffix="const">
     <description>
      <p>
       The item index.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetColumn">
    <function type="int" name="GetColumn" suffix="const">
     <description>
      <p>
       The column position: it is only used with
       <tt> COL</tt>
       events. For the column dragging events, it is the column to the left of
       the divider being dragged, for the column click events it may be $-1$ if
       the user clicked in the list control header outside any column.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetPoint">
    <function type="wxPoint" name="GetPoint" suffix="const">
     <description>
      <p>
       The position of the mouse pointer if the event is a drag event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetLabel">
    <function type="const wxString&amp;" name="GetLabel" suffix="const">
     <description>
      <p>
       The (new) item label for
       <tt>EVT\_LIST\_END\_LABEL\_EDIT</tt>
       event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetText">
    <function type="const wxString&amp;" name="GetText" suffix="const">
     <description>
      <p>
       The text.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetImage">
    <function type="int" name="GetImage" suffix="const">
     <description>
      <p>
       The image.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetData">
    <function type="long" name="GetData" suffix="const">
     <description>
      <p>
       The data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetMask">
    <function type="long" name="GetMask" suffix="const">
     <description>
      <p>
       The mask.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="GetItem">
    <function type="const wxListItem&amp;" name="GetItem" suffix="const">
     <description>
      <p>
       An item object, used by some events. See also
       <ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListEvent" name="IsEditCancelled">
    <function type="bool" name="IsEditCancelled" suffix="const">
     <description>
      <p>
       This method only makes sense for
       <tt>EVT\_LIST\_END\_LABEL\_EDIT</tt>
       message and returns true if it the label editing has been cancelled by
       the user (
       <ref target="wxlisteventgetlabel">GetLabel</ref>
       returns an empty string in this case but it doesn't allow the application
       to distinguish between really cancelling the edit and the admittedly rare
       case when the user wants to rename it to an empty string).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxListItem">
  <description>
   <p class="classdesc">
    This class stores information about a wxListCtrl item or column.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/listctrl.h"/>
  </includes>
  <members>
   <member class="wxListItem" name="wxListItem">
    <function type="" name="wxListItem">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="Clear">
    <function type="void" name="Clear">
     <description>
      <p>
       Resets the item state to the default.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetAlign">
    <function type="wxListColumnFormat" name="GetAlign" suffix="const">
     <description>
      <p>
       Returns the alignment for this item. Can be one of wxLIST\_FORMAT\_LEFT,
       wxLIST\_FORMAT\_RIGHT or wxLIST\_FORMAT\_CENTRE.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetBackgroundColour">
    <function type="wxColour" name="GetBackgroundColour" suffix="const">
     <description>
      <p>
       Returns the background colour for this item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetColumn">
    <function type="int" name="GetColumn" suffix="const">
     <description>
      <p>
       Returns the zero-based column; meaningful only in report mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetData">
    <function type="long" name="GetData" suffix="const">
     <description>
      <p>
       Returns client data associated with the control. Please note that client
       data is associated with the item and not with subitems.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetFont">
    <function type="wxFont" name="GetFont" suffix="const">
     <description>
      <p>
       Returns the font used to display the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetId">
    <function type="long" name="GetId" suffix="const">
     <description>
      <p>
       Returns the zero-based item position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetImage">
    <function type="int" name="GetImage" suffix="const">
     <description>
      <p>
       Returns the zero-based index of the image associated with the item into
       the image list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetMask">
    <function type="long" name="GetMask" suffix="const">
     <description>
      <p>
       Returns a bit mask indicating which fields of the structure are valid;
       can be any combination of the following values:
      </p>
      <table>
       <tr>
        <td>wxLIST\_MASK\_STATE</td>
        <td>
         <b> GetState</b> is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_TEXT</td>
        <td>
         <b> GetText</b> is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_IMAGE</td>
        <td>
         <b> GetImage</b> is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_DATA</td>
        <td>
         <b> GetData</b> is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_WIDTH</td>
        <td>
         <b> GetWidth</b> is valid.</td>
       </tr>
       <tr>
        <td>wxLIST\_MASK\_FORMAT</td>
        <td>
         <b> GetFormat</b> is valid.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetState">
    <function type="long" name="GetState" suffix="const">
     <description>
      <p>
       Returns a bit field representing the state of the item. Can be any
       combination of:
      </p>
      <table>
       <tr>
        <td>wxLIST\_STATE\_DONTCARE</td>
        <td>Don't care what the state is. Win32 only. </td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_DROPHILITED</td>
        <td>The item is highlighted to receive a drop event. Win32 only. </td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_FOCUSED</td>
        <td>The item has the focus.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_SELECTED</td>
        <td>The item is selected.</td>
       </tr>
       <tr>
        <td>wxLIST\_STATE\_CUT</td>
        <td>The item is in the cut state. Win32 only. </td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetText">
    <function type="const wxString&amp;" name="GetText" suffix="const">
     <description>
      <p>
       Returns the label/header text.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetTextColour">
    <function type="wxColour" name="GetTextColour" suffix="const">
     <description>
      <p>
       Returns the text colour.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="GetWidth">
    <function type="int" name="GetWidth" suffix="const">
     <description>
      <p>
       Meaningful only for column headers in report mode. Returns the column
       width.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetAlign">
    <function type="void" name="SetAlign">
     <parameters>
      <parameter type="wxListColumnFormat " name="align"></parameter>
     </parameters>
     <description>
      <p>
       Sets the alignment for the item. See also
       <ref target="wxlistitemgetalign">wxListItem::GetAlign</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetBackgroundColour">
    <function type="void" name="SetBackgroundColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colBack"></parameter>
     </parameters>
     <description>
      <p>
       Sets the background colour for the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetColumn">
    <function type="void" name="SetColumn">
     <parameters>
      <parameter type="int " name="col"></parameter>
     </parameters>
     <description>
      <p>
       Sets the zero-based column. Meaningful only in report mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetData">
    <function type="void" name="SetData">
     <parameters>
      <parameter type="long " name="data"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="SetData">
     <parameters>
      <parameter type="void&#42; " name="data"></parameter>
     </parameters>
     <description>
      <p>
       Sets client data for the item. Please note that client data is associated
       with the item and not with subitems.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetFont">
    <function type="void" name="SetFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the font for the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetId">
    <function type="void" name="SetId">
     <parameters>
      <parameter type="long " name="id"></parameter>
     </parameters>
     <description>
      <p>
       Sets the zero-based item position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetImage">
    <function type="void" name="SetImage">
     <parameters>
      <parameter type="int " name="image"></parameter>
     </parameters>
     <description>
      <p>
       Sets the zero-based index of the image associated with the item into the
       image list.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetMask">
    <function type="void" name="SetMask">
     <parameters>
      <parameter type="long " name="mask"></parameter>
     </parameters>
     <description>
      <p>
       Sets the mask of valid fields. See
       <ref target="wxlistitemgetmask">wxListItem::GetMask</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetState">
    <function type="void" name="SetState">
     <parameters>
      <parameter type="long " name="state"></parameter>
     </parameters>
     <description>
      <p>
       Sets the item state flags (note that the valid state flags are influenced
       by the value of the state mask, see
       <ref target="wxlistitemsetstatemask">wxListItem::SetStateMask</ref>
       ). See
       <ref target="wxlistitemgetstate">wxListItem::GetState</ref>
       for valid flag values.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetStateMask">
    <function type="void" name="SetStateMask">
     <parameters>
      <parameter type="long " name="stateMask"></parameter>
     </parameters>
     <description>
      <p>
       Sets the bitmask that is used to determine which of the state flags are
       to be set. See also
       <ref target="wxlistitemsetstate">wxListItem::SetState</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetText">
    <function type="void" name="SetText">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text label for the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetTextColour">
    <function type="void" name="SetTextColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colText"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text colour for the item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItem" name="SetWidth">
    <function type="void" name="SetWidth">
     <parameters>
      <parameter type="int " name="width"></parameter>
     </parameters>
     <description>
      <p>
       Meaningful only for column headers in report mode. Sets the column width.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxListItemAttr">
  <description>
   <p class="classdesc">
    Represents the attributes (color, font, \\ldots) of a
    <ref target="wxlistctrl">wxListCtrl</ref>
    <ref target="wxlistctrl">wxListItem</ref>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <includes>
   <header name="wx/listctrl.h"/>
  </includes>
  <seealso>
   <ref target="wxlistctrloverview">wxListCtrl overview</ref>
   <ref target="wxlistctrl">wxListCtrl</ref>
   <ref target="wxlistitem">wxListItem</ref>
  </seealso>
  <members>
   <member class="wxListItemAttr" name="wxListItemAttr">
    <function type="" name="wxListItemAttr">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxListItemAttr">
     <parameters>
      <parameter type="const wxColour&amp; " name="colText"></parameter>
      <parameter type="const wxColour&amp; " name="colBack"></parameter>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Construct a wxListItemAttr with the specified foreground and background
       colors and font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="GetBackgroundColour">
    <function type="const wxColour&amp;" name="GetBackgroundColour" suffix="const">
     <description>
      <p>
       Returns the currently set background color.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="GetFont">
    <function type="const wxFont&amp;" name="GetFont" suffix="const">
     <description>
      <p>
       Returns the currently set font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="GetTextColour">
    <function type="const wxColour&amp;" name="GetTextColour" suffix="const">
     <description>
      <p>
       Returns the currently set text color.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="HasBackgroundColour">
    <function type="bool" name="HasBackgroundColour" suffix="const">
     <description>
      <p>
       Returns true if the currently set background color is valid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="HasFont">
    <function type="bool" name="HasFont" suffix="const">
     <description>
      <p>
       Returns true if the currently set font is valid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="HasTextColour">
    <function type="bool" name="HasTextColour" suffix="const">
     <description>
      <p>
       Returns true if the currently set text color is valid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="SetBackgroundColour">
    <function type="void" name="SetBackgroundColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets a new background color.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="SetFont">
    <function type="void" name="SetFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets a new font.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListItemAttr" name="SetTextColour">
    <function type="void" name="SetTextColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets a new text color.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxListView">
  <description>
   <p class="classdesc">
    This class currently simply presents a simpler to use interface for the
    <ref target="wxlistctrl">wxListCtrl</ref>
    -- it can be thought of as a
    <i> fa\\c\{c</i>
    ade\} for that complicated class. Using it is preferable to using
    <ref target="wxlistctrl">wxListCtrl</ref>
    directly whenever possible because in the future some ports might implement
    wxListView but not the full set of wxListCtrl features.
   </p>
   <p class="classdesc">
    Other than different interface, this class is identical to wxListCtrl. In
    particular, it uses the same events, same windows styles and so on.
   </p>
  </description>
  <category>Controls</category>
  <shortdesc>A simpler interface (\{\\it fa\\c\{c\}ade\} for wxListCtrl in report mode</shortdesc>
  <parents>
   <ref type="help" target="wxListCtrl">wxListCtrl</ref>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/listctrl.h"/>
  </includes>
  <members>
   <member class="wxListView" name="ClearColumnImage">
    <function type="void" name="ClearColumnImage">
     <parameters>
      <parameter type="int " name="col">
       the column to clear image for
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxlistviewsetcolumnimage">SetColumnImage</ref>
     </seealso>
     <description>
      <p>
       Resets the column image -- after calling this function, no image will be
       shown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="Focus">
    <function type="void" name="Focus">
     <parameters>
      <parameter type="long " name="index"></parameter>
     </parameters>
     <description>
      <p>
       Sets focus to the item with the given
       <i> index</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="GetFirstSelected">
    <function type="long" name="GetFirstSelected" suffix="const">
     <returnvalue>
      The fisrt selected item, if any, $-1$ otherwise.
     </returnvalue>
     <description>
      <p>
       Returns the first selected item in a (presumably) multiple selection
       control. Tigether with
       <ref target="wxlistviewgetnextselected">GetNextSelected</ref>
       it can be used to iterate over all selected items in the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="GetFocusedItem">
    <function type="long" name="GetFocusedItem" suffix="const">
     <seealso>
      <ref target="wxlistviewisselected">IsSelected</ref>
      ,
      <br/>
      <ref target="wxlistviewfocus">Focus</ref>
     </seealso>
     <description>
      <p>
       Returns the currently focused item or $-1$ if none.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="GetNextSelected">
    <function type="long" name="GetNextSelected" suffix="const">
     <parameters>
      <parameter type="long " name="item"></parameter>
     </parameters>
     <returnvalue>
      Returns the next selected item or $-1$ if there are no more of them.
     </returnvalue>
     <description>
      <p>
       Used together with
       <ref target="wxlistviewgetfirstselected">GetFirstSelected</ref>
       to iterate over all selected items in the control.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="IsSelected">
    <function type="bool" name="IsSelected">
     <parameters>
      <parameter type="long " name="index"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlistviewgetfirstselected">GetFirstSelected</ref>
      ,
      <br/>
      <ref target="wxlistviewgetnextselected">GetNextSelected</ref>
     </seealso>
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the item with the given
       <i> index</i>
       is selected,
       <tt> false</tt>
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="Select">
    <function type="void" name="Select">
     <parameters>
      <parameter type="bool " name="on" value="true">
       if
       <tt> true</tt>
       (default), selects the item, otherwise unselects it
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxlistctrlsetitemstate">SetItemState</ref>
     </seealso>
     <description>
      <p>
       Selects or unselects the given item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxListView" name="SetColumnImage">
    <function type="void" name="SetColumnImage">
     <parameters>
      <parameter type="int " name="col">
       the column to set image for
      </parameter>
      <parameter type="int " name="image">
       the index of the column image in the controls image list
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxlistviewclearcolumnimage">ClearColumnImage</ref>
      ,
      <br/>
      <ref target="wxlistctrlsetimagelist">SetImageList</ref>
     </seealso>
     <description>
      <p>
       Sets the column image for the specified column. To use the column images,
       the control must have a valid image list with at least one image.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxListbook">
  <description>
   <p class="classdesc">
    wxListbook is a class similar to
    <ref target="wxnotebook">wxNotebook</ref>
    but which uses a
    <ref target="wxlistctrl">wxListCtrl</ref>
    to show the labels instead of the tabs.
   </p>
   <p class="classdesc">
    There is no documentation for this class yet but its usage is identical to
    wxNotebook (except for the features clearly related to tabs only), so please
    refer to that class documentation for now. You can also use the
    <ref target="samplenotebook">notebook sample</ref>
    to see wxListbook in action.
   </p>
  </description>
  <category>Miscellaneous windows</category>
  <shortdesc>Similar to notebook but using list control</shortdesc>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/listbook.h"/>
  </includes>
  <windowstyles>
   <style name="wxLB\_DEFAULT">
    wxLB\_DEFAULT
   </style>
   <style name="wxLB\_TOP">
    Place labels above the page area.
   </style>
   <style name="wxLB\_LEFT">
    Place labels on the left side.
   </style>
   <style name="wxLB\_RIGHT">
    Place labels on the right side.
   </style>
   <style name="wxLB\_BOTTOM">
    Place labels below the page area.
   </style>
  </windowstyles>
  <members></members>
  <supported></supported>
 </class>
 <class name="wxLocale">
  <description>
   <p class="classdesc">
    wxLocale class encapsulates all language-dependent settings and is a
    generalization of the C locale concept.
   </p>
   <p class="classdesc">
    In wxWidgets this class manages message catalogs which contain the
    translations of the strings used to the current language.
   </p>
   <p class="classdesc">
    If you need to translate a lot of strings, then adding gettext( ) around
    each one is a long task ( that is why \_( ) was introduced ), so just choose
    a shorter name for gettext:
   </p>
   <p class="classdesc">
    <pre>
  #
  use Wx::Locale 'gettext' =&gt; 't',
                 'gettext\_noop' =&gt; 'gettext\_noop';

  # ...

  # use the functions
  print t( ``Panic!!'' );

  # ...
</pre>
    \}
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/intl.h"/>
  </includes>
  <seealso>
   <ref target="internationalization">Internationalization overview</ref>
   ,
   <br/>
   <ref target="sampleinternat">Internat sample</ref>
  </seealso>
  <members>
   <member class="wxLocale" name=""></member>
   <member class="wxLocale" name="wxLocale">
    <function type="" name="wxLocale">
     <description>
      <p>
       This is the default constructor and it does nothing to initialize the
       object:
       <ref target="wxlocaleinit">Init()</ref>
       must be used to do that.
      </p>
     </description>
    </function>
    <function type="" name="wxLocale">
     <parameters>
      <parameter type="int " name="language"></parameter>
      <parameter type="int " name="flags" value="wxLOCALE\_LOAD\_DEFAULT"></parameter>
     </parameters>
     <description>
      <p>
       See
       <ref target="wxlocaleinit">Init()</ref>
       for parameters description.
      </p>
     </description>
    </function>
    <function type="" name="wxLocale">
     <parameters>
      <parameter type="const char &#42;" name="szName"></parameter>
      <parameter type="const char &#42;" name="szShort" value="NULL"></parameter>
      <parameter type="const char &#42;" name="szLocale" value="NULL"></parameter>
      <parameter type="bool " name="bLoadDefault" value="true"></parameter>
      <parameter type="bool " name="bConvertEncoding" value="false"></parameter>
     </parameters>
     <description>
      <p>
       See
       <ref target="wxlocaleinit">Init()</ref>
       for parameters description.
      </p>
      <p>
       The call of this function has several global side effects which you
       should understand: first of all, the application locale is changed - note
       that this will affect many of standard C library functions such as
       printf() or strftime(). Second, this wxLocale object becomes the new
       current global locale for the application and so all subsequent calls to
       wxGetTranslation() will try to translate the messages using the message
       catalogs for this locale.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="~wxLocale">
    <function type="" name="~wxLocale">
     <description>
      <p>
       The destructor, like the constructor, also has global side effects: the
       previously set locale is restored and so the changes described in
       <ref target="wxlocaleinit">Init</ref>
       documentation are rolled back.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="AddCatalog">
    <function type="bool" name="AddCatalog">
     <parameters>
      <parameter type="const char &#42;" name="szDomain"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="AddCatalog">
     <parameters>
      <parameter type="const char &#42;" name="szDomain"></parameter>
      <parameter type="wxLanguage" name="msgIdLanguage"></parameter>
      <parameter type="const char &#42;" name="msgIdCharset"></parameter>
     </parameters>
     <description>
      <p>
       Add a catalog for use with the current locale: it is searched for in
       standard places (current directory first, then the system one), but you
       may also prepend additional directories to the search path with
       <ref target="wxlocaleaddcataloglookuppathprefix">AddCatalogLookupPathPrefix()</ref>
       .
      </p>
      <p>
       All loaded catalogs will be used for message lookup by
       <ref target="wxlocalegetstring">GetString()</ref>
       for the current locale.
      </p>
      <p>
       Returns true if catalog was successfully loaded, false otherwise (which
       might mean that the catalog is not found or that it isn't in the correct
       format).
      </p>
      <p>
       The second form of this method takes two additional arguments,
       <i>msgIdLanguage</i>
       and
       <i>msgIdCharset</i>
       .
      </p>
      <p>
       <i>msgIdLanguage</i>
       specifies the language of &quot;msgid&quot; strings in source code (i.e.
       arguments to
       <ref target="wxlocalegetstring">GetString</ref>
       ,
       <ref target="wxgettranslation">wxGetTranslation</ref>
       and the
       <ref target="underscore">\_()</ref>
       macro). It is used if AddCatalog cannot find any catalog for current
       language: if the language is same as source code language, then strings
       from source code are used instead.
      </p>
      <p>
       <i>msgIdCharset</i>
       lets you specify the charset used for msgids in sources in case they use
       8-bit characters (e.g. German or French strings). This argument has no
       effect in Unicode build, because literals in sources are Unicode strings;
       you have to use compiler-specific method of setting the right charset
       when compiling with Unicode.
      </p>
      <p>
       By default (i.e. when you use the first form), msgid strings are assumed
       to be in English and written only using 7-bit ASCII characters.
      </p>
      <p>
       If you have to deal with non-English strings or 8-bit characters in the
       source code, see the instructions in
       <ref target="nonenglishoverview">Writing non-English applications</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="AddCatalogLookupPathPrefix">
    <function type="void" name="AddCatalogLookupPathPrefix">
     <parameters>
      <parameter type="const wxString&amp; " name="prefix"></parameter>
     </parameters>
     <description>
      <p>
       Add a prefix to the catalog lookup path: the message catalog files will
       be looked up under prefix/&lt;lang&gt;/LC\_MESSAGES, prefix/&lt;lang&gt;
       and prefix (in this order).
      </p>
      <p>
       This only applies to subsequent invocations of AddCatalog().
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="AddLanguage">
    <function type="static void" name="AddLanguage">
     <parameters>
      <parameter type="const wxLanguageInfo&amp; " name="info"></parameter>
     </parameters>
     <description>
      <p>
       Adds custom, user-defined language to the database of known languages.
       This database is used in conjunction with the first form of
       <ref target="wxlocaleinit">Init</ref>
       .
      </p>
      <p>
       wxLanguageInfo is defined as follows:
      </p>
      <pre>
struct WXDLLEXPORT wxLanguageInfo
\{
    int Language;                   // wxLanguage id
    wxString CanonicalName;         // Canonical name, e.g. fr\_FR
#ifdef \_\_WIN32\_\_
    wxUint32 WinLang, WinSublang;   // Win32 language identifiers
                                    // (LANG\_xxxx, SUBLANG\_xxxx)
#endif
    wxString Description;           // human-readable name of the language
\};
</pre>
      <p>
       <i> Language</i>
       should be greater than wxLANGUAGE\_USER\_DEFINED.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="FindLanguageInfo">
    <function type="static wxLanguageInfo &#42;" name="FindLanguageInfo">
     <parameters>
      <parameter type="const wxString&amp; " name="locale"></parameter>
     </parameters>
     <seealso>
      <ref target="wxlocalegetlanguageinfo">GetLanguageInfo</ref>
     </seealso>
     <description>
      <p>
       This function may be used to find the language description structure for
       the given locale, specified either as a two letter ISO language code (for
       example, &quot;pt&quot;), a language code followed by the country code
       (&quot;pt\_BR&quot;) or a full, human readable, language description
       (&quot;Portuguese-Brazil&quot;).
      </p>
      <p>
       Returns the information for the given language or
       <tt> NULL</tt>
       if this language is unknown. Note that even if the returned pointer is
       valid, the caller should
       <i> not</i>
       delete it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetCanonicalName">
    <function type="wxString" name="GetCanonicalName" suffix="const">
     <description>
      <p>
       Returns the canonical form of current locale name. Canonical form is the
       one that is used on UNIX systems: it is a two- or five-letter string in
       xx or xx\_YY format, where xx is ISO 639 code of language and YY is ISO
       3166 code of the country. Examples are &quot;en&quot;, &quot;en\_GB&quot;,
       &quot;en\_US&quot; or &quot;fr\_FR&quot;.
      </p>
      <p>
       This form is internally used when looking up message catalogs.
      </p>
      <p>
       Compare
       <ref target="wxlocalegetsysname">GetSysName</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetLanguage">
    <function type="int" name="GetLanguage" suffix="const">
     <description>
      <p>
       Returns
       <ref target="wxlanguage">wxLanguage</ref>
       constant of current language. Note that you can call this function only
       if you used the form of
       <ref target="wxlocaleinit">Init</ref>
       that takes wxLanguage argument.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetLanguageInfo">
    <function type="static wxLanguageInfo &#42;" name="GetLanguageInfo" suffix="const">
     <parameters>
      <parameter type="int " name="lang"></parameter>
     </parameters>
     <description>
      <p>
       Returns a pointer to wxLanguageInfo structure containing information
       about the given language or
       <tt> NULL</tt>
       if this language is unknown. Note that even if the returned pointer is
       valid, the caller should
       <i> not</i>
       delete it.
      </p>
      <p>
       See
       <ref target="wxlocaleaddlanguage">AddLanguage</ref>
       for the wxLanguageInfo description.
      </p>
      <p>
       As with
       <ref target="wxlocaleinit">Init</ref>
       ,
       <tt>wxLANGUAGE\_DEFAULT</tt>
       has the special meaning if passed as an argument to this function and in
       this case the result of
       <ref target="wxlocalegetsystemlanguage">GetSystemLanguage()</ref>
       is used.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetLanguageName">
    <function type="static wxString" name="GetLanguageName" suffix="const">
     <parameters>
      <parameter type="int " name="lang"></parameter>
     </parameters>
     <description>
      <p>
       Returns English name of the given language or empty string if this
       language is unknown.
      </p>
      <p>
       See
       <ref target="wxlocalegetlanguageinfo">GetLanguageInfo</ref>
       for a remark about special meaning of
       <tt>wxLANGUAGE\_DEFAULT</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetLocale">
    <function type="const char&#42;" name="GetLocale" suffix="const">
     <description>
      <p>
       Returns the locale name as passed to the constructor or
       <ref target="wxlocaleinit">Init()</ref>
       . This is full, human-readable name, e.g. &quot;English&quot; or
       &quot;French&quot;.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetName">
    <function type="const wxString&amp;" name="GetName" suffix="const">
     <description>
      <p>
       Returns the current short name for the locale (as given to the
       constructor or the Init() function).
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetString">
    <function type="const char&#42;" name="GetString" suffix="const">
     <parameters>
      <parameter type="const char &#42;" name="szOrigString"></parameter>
      <parameter type="const char &#42;" name="szDomain" value="NULL"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const char&#42;" name="GetString" suffix="const">
     <parameters>
      <parameter type="const char &#42;" name="szOrigString"></parameter>
      <parameter type="const char &#42;" name="szOrigString2"></parameter>
      <parameter type="size\_t " name="n"></parameter>
      <parameter type="const char &#42;" name="szDomain" value="NULL"></parameter>
     </parameters>
     <remarks>
      <p>
       Domains are searched in the last to first order, i.e. catalogs added
       later override those added before.
      </p>
     </remarks>
     <description>
      <p>
       Retrieves the translation for a string in all loaded domains unless the
       szDomain parameter is specified (and then only this catalog/domain is
       searched).
      </p>
      <p>
       Returns original string if translation is not available (in this case an
       error message is generated the first time a string is not found; use
       <ref target="wxlogoverview">wxLogNull</ref>
       to suppress it).
      </p>
      <p>
       The second form is used when retrieving translation of string that has
       different singular and plural form in English or different plural forms
       in some other language. It takes two extra arguments:
       <i>szOrigString</i>
       parameter must contain the singular form of the string to be converted.
       It is also used as the key for the search in the catalog. The
       <i>szOrigString2</i>
       parameter is the plural form (in English). The parameter
       <i>n</i>
       is used to determine the plural form. If no message catalog is found
       <i>szOrigString</i>
       is returned if `n == 1', otherwise
       <i>szOrigString2</i>
       . See
       <a href="GNU gettext manual">http://www.gnu.org/manual/gettext/html\_chapter/gettext\_10.html#SEC150</a>
       for additional information on plural forms handling.
      </p>
      <p>
       This method is called by the
       <ref target="wxgettranslation">wxGetTranslation</ref>
       function and
       <ref target="underscore">\_()</ref>
       macro.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetHeaderValue">
    <function type="wxString" name="GetHeaderValue" suffix="const">
     <parameters>
      <parameter type="const char &#42;" name="szHeader"></parameter>
      <parameter type="const char &#42;" name="szDomain" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Returns the header value for header
       <i>szHeader</i>
       . The search for
       <i>szHeader</i>
       is case sensitive. If an
       <i>szDomain</i>
       is passed, this domain is searched. Else all domains will be searched
       until a header has been found. The return value is the value of the
       header if found. Else this will be empty.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetSysName">
    <function type="wxString" name="GetSysName" suffix="const">
     <description>
      <p>
       Returns current platform-specific locale name as passed to setlocale().
      </p>
      <p>
       Compare
       <ref target="wxlocalegetcanonicalname">GetCanonicalName</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetSystemEncoding">
    <function type="static wxFontEncoding" name="GetSystemEncoding" suffix="const">
     <description>
      <p>
       Tries to detect the user's default font encoding. Returns
       <ref target="wxfont">wxFontEncoding</ref>
       value or
       <b> wxFONTENCODING\_SYSTEM</b>
       if it couldn't be determined.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetSystemEncodingName">
    <function type="static wxString" name="GetSystemEncodingName" suffix="const">
     <description>
      <p>
       Tries to detect the name of the user's default font encoding. This string
       isn't particularly useful for the application as its form is
       platform-dependent and so you should probably use
       <ref target="wxlocalegetsystemencoding">GetSystemEncoding</ref>
       instead.
      </p>
      <p>
       Returns a user-readable string value or an empty string if it couldn't be
       determined.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="GetSystemLanguage">
    <function type="static int" name="GetSystemLanguage" suffix="const">
     <description>
      <p>
       Tries to detect the user's default language setting. Returns
       <ref target="wxlanguage">wxLanguage</ref>
       value or
       <b> wxLANGUAGE\_UNKNOWN</b>
       if the language-guessing algorithm failed.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="Init">
    <function type="bool" name="Init">
     <parameters>
      <parameter type="int " name="language" value="wxLANGUAGE\_DEFAULT">
       <ref target="wxlanguage">wxLanguage</ref>
       identifier of the locale. wxLANGUAGE\_DEFAULT has special meaning --
       wxLocale will use system's default language (see
       <ref target="wxlocalegetsystemlanguage">GetSystemLanguage</ref>
       ).
      </parameter>
      <parameter type="int " name="flags" value="wxLOCALE\_LOAD\_DEFAULT"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="bool" name="Init">
     <parameters>
      <parameter type="const char &#42;" name="szName">
       The name of the locale. Only used in diagnostic messages.
      </parameter>
      <parameter type="const char &#42;" name="szShort" value="NULL">
       The standard 2 letter locale abbreviation; it is used as the directory
       prefix when looking for the message catalog files.
      </parameter>
      <parameter type="const char &#42;" name="szLocale" value="NULL">
       The parameter for the call to setlocale(). Note that it is
       platform-specific.
      </parameter>
      <parameter type="bool " name="bLoadDefault" value="true">
       May be set to false to prevent loading of the message catalog for the
       given locale containing the translations of standard wxWidgets messages.
       This parameter would be rarely used in normal circumstances.
      </parameter>
      <parameter type="bool " name="bConvertEncoding" value="false">
       May be set to true to do automatic conversion of message catalogs to
       platform's native encoding. Note that it will do only basic conversion
       between well-known pair like iso8859-1 and windows-1252 or iso8859-2 and
       windows-1250. See
       <ref target="nonenglishoverview">Writing non-English applications</ref>
       for detailed description of this behaviour.
      </parameter>
     </parameters>
     <description>
      <p>
       The second form is deprecated, use the first one unless you know what you
       are doing.
      </p>
      <p>
       The call of this function has several global side effects which you
       should understand: first of all, the application locale is changed - note
       that this will affect many of standard C library functions such as
       printf() or strftime(). Second, this wxLocale object becomes the new
       current global locale for the application and so all subsequent calls to
       <ref target="wxgettranslation">wxGetTranslation()</ref>
       will try to translate the messages using the message catalogs for this
       locale.
      </p>
      <p>
       Returns true on success or false if the given locale couldn't be set.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="IsLoaded">
    <function type="bool" name="IsLoaded" suffix="const">
     <parameters>
      <parameter type="const char&#42; " name="domain"></parameter>
     </parameters>
     <description>
      <p>
       Check if the given catalog is loaded, and returns true if it is.
      </p>
      <p>
       According to GNU gettext tradition, each catalog normally corresponds to
       'domain' which is more or less the application name.
      </p>
      <p>
       See also
       <ref target="wxlocaleaddcatalog">AddCatalog</ref>
      </p>
     </description>
    </function>
   </member>
   <member class="wxLocale" name="IsOk">
    <function type="bool" name="IsOk" suffix="const">
     <description>
      <p>
       Returns true if the locale could be set successfully.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxLongLong">
  <description>
   <p class="classdesc">
    This class represents a signed 64 bit long number. It is implemented using
    the native 64 bit type where available (machines with 64 bit longs or
    compilers which have (an analog of)
    <i> long long</i>
    type) and uses the emulation code in the other cases which ensures that it
    is the most efficient solution for working with 64 bit integers
    independently of the architecture.
   </p>
   <p class="classdesc">
    wxLongLong defines all usual arithmetic operations such as addition,
    subtraction, bitwise shifts and logical operations as well as multiplication
    and division (not yet for the machines without native
    <i> long long</i>
    ). It also has operators for implicit construction from and conversion to
    the native
    <i> long long</i>
    type if it exists and
    <i> long</i>
    .
   </p>
   <p class="classdesc">
    You would usually use this type in exactly the same manner as any other
    (built-in) arithmetic type. Note that wxLongLong is a signed type, if you
    want unsigned values use wxULongLong which has exactly the same API as
    wxLongLong except when explicitly mentioned otherwise.
   </p>
   <p class="classdesc">
    If a native (i.e. supported directly by the compiler) 64 bit integer type
    was found to exist,
    <i> wxLongLong\_t</i>
    macro will be defined to correspond to it. Also, in this case only, two
    additional macros will be defined:
    <ref target="wxlonglongfmtspec">wxLongLongFmtSpec</ref>
    for printing 64 bit integers using the standard
    <tt> printf()</tt>
    function (but see also
    <ref target="wxlonglongtostring">ToString()</ref>
    for a more portable solution) and
    <ref target="wxll">wxLL</ref>
    for defining 64 bit integer compile-time constants.
   </p>
  </description>
  <category>Data structures</category>
  <shortdesc>A portable 64 bit integer type</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/longlong.h"/>
  </includes>
  <members>
   <member class="wxLongLong" name="wxLongLong">
    <function type="" name="wxLongLong">
     <description>
      <p>
       Default constructor initializes the object to 0.
      </p>
     </description>
    </function>
    <function type="" name="wxLongLong">
     <parameters>
      <parameter type="wxLongLong\_t " name="ll"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from native long long (only for compilers supporting it).
      </p>
     </description>
    </function>
    <function type="" name="wxLongLong">
     <parameters>
      <parameter type="long " name="hi"></parameter>
      <parameter type="unsigned long " name="lo"></parameter>
     </parameters>
     <description>
      <p>
       Constructor from 2 longs: the high and low part are combined into one
       wxLongLong.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator=">
    <function type="wxLongLong&amp; operator" name="operator=">
     <parameters>
      <parameter type="wxLongLong\_t " name="ll"></parameter>
     </parameters>
     <description>
      <p>
       Assignment operator from native long long (only for compilers supporting
       it).
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="Abs">
    <function type="wxLongLong" name="Abs" suffix="const">
     <description></description>
    </function>
    <function type="wxLongLong&amp;" name="Abs">
     <description>
      <p>
       Returns an absolute value of wxLongLong - either making a copy (const
       version) or modifying it in place (the second one). Not in wxULongLong.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="Assign">
    <function type="wxLongLong&amp;" name="Assign">
     <parameters>
      <parameter type="double " name="d"></parameter>
     </parameters>
     <description>
      <p>
       This allows to convert a double value to wxLongLong type. Such conversion
       is not always possible in which case the result will be silently
       truncated in a platform-dependent way. Not in wxULongLong.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="GetHi">
    <function type="long" name="GetHi" suffix="const">
     <description>
      <p>
       Returns the high 32 bits of 64 bit integer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="GetLo">
    <function type="unsigned long" name="GetLo" suffix="const">
     <description>
      <p>
       Returns the low 32 bits of 64 bit integer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="GetValue">
    <function type="wxLongLong\_t" name="GetValue" suffix="const">
     <description>
      <p>
       Convert to native long long (only for compilers supporting it)
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="ToLong">
    <function type="long" name="ToLong" suffix="const">
     <description>
      <p>
       Truncate wxLongLong to long. If the conversion loses data (i.e. the
       wxLongLong value is outside the range of built-in long type), an assert
       will be triggered in debug mode.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="ToString">
    <function type="wxString" name="ToString" suffix="const">
     <description>
      <p>
       Returns the string representation of a wxLongLong.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$+$">
    <function type="wxLongLong" name="operator$+$" suffix="const">
     <parameters>
      <parameter type="const wxLongLong&amp; " name="ll"></parameter>
     </parameters>
     <description>
      <p>
       Adds 2 wxLongLongs together and returns the result.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$+=$">
    <function type="wxLongLong&amp;" name="operator+">
     <parameters>
      <parameter type="const wxLongLong&amp; " name="ll"></parameter>
     </parameters>
     <description>
      <p>
       Add another wxLongLong to this one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$++$">
    <function type="wxLongLong&amp;" name="operator$++$">
     <description></description>
    </function>
    <function type="wxLongLong&amp;" name="operator$++$">
     <parameters>
      <parameter type="int" name=""></parameter>
     </parameters>
     <description>
      <p>
       Pre/post increment operator.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$-$">
    <function type="wxLongLong" name="operator$-$" suffix="const">
     <description>
      <p>
       Returns the value of this wxLongLong with opposite sign. Not in
       wxULongLong.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$-$">
    <function type="wxLongLong" name="operator$-$" suffix="const">
     <parameters>
      <parameter type="const wxLongLong&amp; " name="ll"></parameter>
     </parameters>
     <description>
      <p>
       Subtracts 2 wxLongLongs and returns the result.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$-=$">
    <function type="wxLongLong&amp;" name="operator-">
     <parameters>
      <parameter type="const wxLongLong&amp; " name="ll"></parameter>
     </parameters>
     <description>
      <p>
       Subtracts another wxLongLong from this one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxLongLong" name="operator$--$">
    <function type="wxLongLong&amp;" name="operator$--$">
     <description></description>
    </function>
    <function type="wxLongLong&amp;" name="operator$--$">
     <parameters>
      <parameter type="int" name=""></parameter>
     </parameters>
     <description>
      <p>
       Pre/post decrement operator.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMBConv" annotation="abstract">
  <description>
   <p class="classdesc">
    This class is the base class of a hierarchy of classes capable of converting
    text strings between multibyte (SBCS or DBCS) encodings and Unicode. It is
    itself a wrapper around the standard libc mbstowcs() and wcstombs()
    routines, and has one predefined instance,
    <b> wxConvLibc</b>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="wxcsconv">wxCSConv</ref>
   <ref target="wxencodingconverter">wxEncodingConverter</ref>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxMBConv" name="wxMBConv">
    <function type="" name="wxMBConv">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="MB2WC">
    <function type="virtual size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t &#42;" name="outputBuf">
       the output buffer, may be
       <tt> NULL</tt>
       if the caller is only interested in the length of the resulting string
      </parameter>
      <parameter type="const char &#42;" name="psz">
       the
       <tt> NUL</tt>
       -terminated input string, cannot be
       <tt> NULL</tt>
      </parameter>
      <parameter type="size\_t " name="outputSize">
       the size of the output buffer (in wide characters,
       <b> including</b>
       the NUL) , ignored if
       <i> outputBuf</i>
       is
       <tt> NULL</tt>
      </parameter>
     </parameters>
     <returnvalue>
      The length of the converted string (in wide characters,
      <b> excluding</b>
      the NUL)
     </returnvalue>
     <description>
      <p>
       Converts from a string
       <i> psz</i>
       in multibyte encoding to Unicode putting the output into the buffer
       <i> outputBuf</i>
       of the maximum size
       <i> outputSize</i>
       (in wide characters, not bytes). If
       <i> outputBuf</i>
       is
       <tt> NULL</tt>
       , only the length of the string which would result from the conversion is
       calculated and returned. Note that this is the length and not size, i.e.
       the returned value does
       <b> not</b>
       include the trailing NUL. But when the function is called with a non-
       <tt> NULL</tt>
       <i> outputBuf</i>
       , the
       <i> outputSize</i>
       parameter should be the size of the buffer and so it
       <b> should</b>
       take into account the trailing NUL.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="WC2MB">
    <function type="virtual size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to multibyte encoding. The semantics of this
       function (including the return value meaning) is the same as for
       <ref target="wxmbconvmb2wc">MB2WC</ref>
       .
      </p>
      <p>
       Notice that when the function is called with a non-
       <tt> NULL</tt>
       buffer, the
       <i> n</i>
       parameter should be the size of the buffer and so it
       <b> should</b>
       take into account the trailing NUL, which might take two or four bytes
       for some encodings (UTF-16 and UTF-32).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="cMB2WC">
    <function type="const wxWCharBuffer" name="cMB2WC" suffix="const">
     <parameters>
      <parameter type="const char&#42; " name="psz"></parameter>
     </parameters>
     <description>
      <p>
       Converts from multibyte encoding to Unicode by calling MB2WC, allocating
       a temporary wxWCharBuffer to hold the result.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="cWC2MB">
    <function type="const wxCharBuffer" name="cWC2MB" suffix="const">
     <parameters>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to multibyte encoding by calling WC2MB, allocating
       a temporary wxCharBuffer to hold the result.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="cMB2WX">
    <function type="const char&#42;" name="cMB2WX" suffix="const">
     <parameters>
      <parameter type="const char&#42; " name="psz"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const wxWCharBuffer" name="cMB2WX" suffix="const">
     <parameters>
      <parameter type="const char&#42; " name="psz"></parameter>
     </parameters>
     <description>
      <p>
       Converts from multibyte encoding to the current wxChar type (which
       depends on whether wxUSE\_UNICODE is set to 1). If wxChar is char, it
       returns the parameter unaltered. If wxChar is wchar\_t, it returns the
       result in a wxWCharBuffer. The macro wxMB2WXbuf is defined as the correct
       return type (without const).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="cWX2MB">
    <function type="const char&#42;" name="cWX2MB" suffix="const">
     <parameters>
      <parameter type="const wxChar&#42; " name="psz"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const wxCharBuffer" name="cWX2MB" suffix="const">
     <parameters>
      <parameter type="const wxChar&#42; " name="psz"></parameter>
     </parameters>
     <description>
      <p>
       Converts from the current wxChar type to multibyte encoding. If wxChar is
       char, it returns the parameter unaltered. If wxChar is wchar\_t, it
       returns the result in a wxCharBuffer. The macro wxWX2MBbuf is defined as
       the correct return type (without const).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="cWC2WX">
    <function type="const wchar\_t&#42;" name="cWC2WX" suffix="const">
     <parameters>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const wxCharBuffer" name="cWC2WX" suffix="const">
     <parameters>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to the current wxChar type. If wxChar is wchar\_t,
       it returns the parameter unaltered. If wxChar is char, it returns the
       result in a wxCharBuffer. The macro wxWC2WXbuf is defined as the correct
       return type (without const).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConv" name="cWX2WC">
    <function type="const wchar\_t&#42;" name="cWX2WC" suffix="const">
     <parameters>
      <parameter type="const wxChar&#42; " name="psz"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="const wxWCharBuffer" name="cWX2WC" suffix="const">
     <parameters>
      <parameter type="const wxChar&#42; " name="psz"></parameter>
     </parameters>
     <description>
      <p>
       Converts from the current wxChar type to Unicode. If wxChar is wchar\_t,
       it returns the parameter unaltered. If wxChar is char, it returns the
       result in a wxWCharBuffer. The macro wxWX2WCbuf is defined as the correct
       return type (without const).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMBConvFile" needdefine="wxMBFILES">
  <description>
   <p class="classdesc">
    This class used to define the class instance
    <b> wxConvFileName</b>
    , but nowadays
    <b> wxConvFileName</b>
    is either of type wxConvLibc (on most platforms) or wxConvUTF8 (on MacOS X).
    <b> wxConvFileName</b>
    converts filenames between filesystem multibyte encoding and Unicode.
    <b> wxConvFileName</b>
    can also be set to a something else at run-time which is used e.g. by wxGTK
    to use a class which checks the environment variable
    <b> G\_FILESYSTEM\_ENCODING</b>
    indicating that filenames should not be interpreted as UTF8 and also for
    converting invalid UTF8 characters (e.g. if there is a filename in
    iso8859\_1) to strings with octal values.
   </p>
   <p class="classdesc">
    Since some platforms (such as Win32) use Unicode in the filenames, and
    others (such as Unix) use multibyte encodings, this class should only be
    used directly if wxMBFILES is defined to 1. A convenience macro, wxFNCONV,
    is defined to wxConvFileName-&gt;cWX2MB in this case. You could use it like
    this:
   </p>
   <p class="classdesc">
    <pre>
wxChar &#42;name = wxT(&quot;rawfile.doc&quot;);
FILE &#42;fil = fopen(wxFNCONV(name), &quot;r&quot;);
</pre>
   </p>
   <p class="classdesc">
    (although it would be better to use wxFopen(name, wxT(&quot;r&quot;)) in
    this case.)
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMBConv">wxMBConv</ref>
  </parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxMBConvFile" name="MB2WC">
    <function type="size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="buf"></parameter>
      <parameter type="const char&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from multibyte filename encoding to Unicode. Returns the size of
       the destination buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConvFile" name="WC2MB">
    <function type="size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to multibyte filename encoding. Returns the size of
       the destination buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMBConvUTF16">
  <description>
   <p class="classdesc">
    This class is used to convert between multibyte encodings and UTF-16 Unicode
    encoding (also known as UCS-2). Unlike
    <ref target="wxmbconvutf8">UTF-8</ref>
    encoding, UTF-16 uses words and not bytes and hence depends on the byte
    ordering: big or little endian. Hence this class is provided in two
    versions: wxMBConvUTF16LE and wxMBConvUTF16BE and wxMBConvUTF16 itself is
    just a typedef for one of them (native for the given platform, e.g. LE under
    Windows and BE under Mac).
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMBConv">wxMBConv</ref>
  </parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="wxmbconvutf8">wxMBConvUTF8</ref>
   <ref target="wxmbconvutf32">wxMBConvUTF32</ref>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxMBConvUTF16" name="MB2WC">
    <function type="size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="buf"></parameter>
      <parameter type="const char&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from UTF-16 encoding to Unicode. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConvUTF16" name="WC2MB">
    <function type="size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to UTF-16 encoding. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxMBConvUTF32">
  <description>
   <p class="classdesc">
    This class is used to convert between multibyte encodings and UTF-32 Unicode
    encoding (also known as UCS-4). Unlike
    <ref target="wxmbconvutf8">UTF-8</ref>
    encoding, UTF-32 uses (double) words and not bytes and hence depends on the
    byte ordering: big or little endian. Hence this class is provided in two
    versions: wxMBConvUTF32LE and wxMBConvUTF32BE and wxMBConvUTF32 itself is
    just a typedef for one of them (native for the given platform, e.g. LE under
    Windows and BE under Mac).
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMBConv">wxMBConv</ref>
  </parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="wxmbconvutf8">wxMBConvUTF8</ref>
   <ref target="wxmbconvutf16">wxMBConvUTF16</ref>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxMBConvUTF32" name="MB2WC">
    <function type="size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="buf"></parameter>
      <parameter type="const char&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from UTF-32 encoding to Unicode. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConvUTF32" name="WC2MB">
    <function type="size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to UTF-32 encoding. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxMBConvUTF7">
  <description>
   <p class="classdesc">
    This class converts between the UTF-7 encoding and Unicode. It has one
    predefined instance,
    <b> wxConvUTF7</b>
    .
   </p>
   <p class="classdesc">
    <b> WARNING:</b>
    this class is not implemented yet.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxMBConv">wxMBConv</ref>
  </parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="wxmbconvutf8">wxMBConvUTF8</ref>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxMBConvUTF7" name="MB2WC">
    <function type="size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="buf"></parameter>
      <parameter type="const char&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from UTF-7 encoding to Unicode. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConvUTF7" name="WC2MB">
    <function type="size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to UTF-7 encoding. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMBConvUTF8">
  <description>
   <p class="classdesc">
    This class converts between the UTF-8 encoding and Unicode. It has one
    predefined instance,
    <b> wxConvUTF8</b>
    .
   </p>
  </description>
  <category>Miscellaneous</category>
  <remarks>
   <p>
    UTF-8 is a compatibility encoding used to encode Unicode text into anything
    that was originally written for 8-bit strings, including (but not limited
    to) filenames, transfer protocols, and database fields. Notable properties
    include:
   </p>
   <p>
    <ul>
     <li>Variable-length encoding able to encode up to 31 bits per character</li>
     <li>ASCII characters (character values under 128) are encoded as plain ASCII (1 byte
      per character)</li>
     <li>Null bytes do not occur in the encoding, except when there's an actual Unicode
      null character</li>
     <li>Preserves sort ordering for plain 8-bit comparison routines like strcmp()</li>
     <li>High bit patterns disambiguates character boundaries, and makes it easy to
      detect whether a string is encoded with UTF-8 or not</li>
    </ul>
   </p>
   <p>
    All of these properties make UTF-8 a very favorable solution in any
    situation where full Unicode character support is desired while remaining
    compatible with code written with only 8-bit extended-ASCII characters in
    mind.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxMBConv">wxMBConv</ref>
  </parents>
  <includes>
   <header name="wx/strconv.h"/>
  </includes>
  <seealso>
   <ref target="wxmbconvutf7">wxMBConvUTF7</ref>
   <ref target="mbconvclasses">wxMBConv classes overview</ref>
  </seealso>
  <members>
   <member class="wxMBConvUTF8" name="MB2WC">
    <function type="size\_t" name="MB2WC" suffix="const">
     <parameters>
      <parameter type="wchar\_t&#42; " name="buf"></parameter>
      <parameter type="const char&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from UTF-8 encoding to Unicode. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMBConvUTF8" name="WC2MB">
    <function type="size\_t" name="WC2MB" suffix="const">
     <parameters>
      <parameter type="char&#42; " name="buf"></parameter>
      <parameter type="const wchar\_t&#42; " name="psz"></parameter>
      <parameter type="size\_t " name="n"></parameter>
     </parameters>
     <description>
      <p>
       Converts from Unicode to UTF-8 encoding. Returns the size of the
       destination buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMDIChildFrame">
  <description>
   <p class="classdesc">
    An MDI child frame is a frame that can only exist on a
    <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
    , which is itself a child of
    <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
    .
   </p>
  </description>
  <category>Managed windows</category>
  <shortdesc>MDI child frame</shortdesc>
  <remarks>
   <p>
    Although internally an MDI child frame is a child of the MDI client window,
    in wxWidgets you create it as a child of
    <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
    . You can usually forget that the client window exists.
   </p>
   <p>
    MDI child frames are clipped to the area of the MDI client window, and may
    be iconized on the client window.
   </p>
   <p>
    You can associate a menubar with a child frame as usual, although an MDI
    child doesn't display its menubar under its own title bar. The MDI parent
    frame's menubar will be changed to reflect the currently active child frame.
    If there are currently no children, the parent frame's own menubar will be
    displayed.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/mdi.h"/>
  </includes>
  <windowstyles>
   <style name="wxCAPTION">
    Puts a caption on the frame.
   </style>
   <style name="wxDEFAULT\_FRAME\_STYLE">
    Defined as
    <b> wxMINIMIZE\_BOX \\pipe wxMAXIMIZE\_BOX \\pipe wxTHICK\_FRAME \\pipe wxSYSTEM\_MENU \\pipe wxCAPTION</b>
    .
   </style>
   <style name="wxICONIZE">
    Display the frame iconized (minimized) (Windows only).
   </style>
   <style name="wxMAXIMIZE">
    Displays the frame maximized (Windows only).
   </style>
   <style name="wxMAXIMIZE\_BOX">
    Displays a maximize box on the frame (Windows and Motif only).
   </style>
   <style name="wxMINIMIZE">
    Identical to
    <b> wxICONIZE</b>
    .
   </style>
   <style name="wxMINIMIZE\_BOX">
    Displays a minimize box on the frame (Windows and Motif only).
   </style>
   <style name="wxRESIZE\_BORDER">
    wxRESIZE\_BORDER
   </style>
   <style name="wxSTAY\_ON\_TOP">
    Stay on top of other windows (Windows only).
   </style>
   <style name="wxSYSTEM\_MENU">
    Displays a system menu (Windows and Motif only).
   </style>
   <style name="wxTHICK\_FRAME">
    Displays a thick frame around the window (Windows and Motif only).
   </style>
  </windowstyles>
  <seealso>
   <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
   <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
   ,
   <ref target="wxframe">wxFrame</ref>
  </seealso>
  <members>
   <member class="wxMDIChildFrame" name="wxMDIChildFrame">
    <function type="" name="wxMDIChildFrame">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMDIChildFrame">
     <parameters>
      <parameter type="wxMDIParentFrame&#42; " name="parent">
       The window parent. This should not be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       The window identifier. It may take a value of -1 to indicate a default
       value.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The caption to be displayed on the frame's title bar.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       The window position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxWidgets, depending on
       platform.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       The window size. A value of (-1, -1) indicates a default size, chosen by
       either the windowing system or wxWidgets, depending on platform.
      </parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE">
       The window style. See
       <ref target="wxmdichildframe">wxMDIChildFrame</ref>
       .
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;">
       The name of the window. This parameter is used to associate a name with
       the item, allowing the application user to set Motif resource values for
       individual windows.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmdichildframecreate">wxMDIChildFrame::Create</ref>
     </seealso>
     <remarks>
      <p>
       None.
      </p>
     </remarks>
     <description>
      <p>
       Constructor, creating the window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIChildFrame" name="~wxMDIChildFrame">
    <function type="" name="~wxMDIChildFrame">
     <description>
      <p>
       Destructor. Destroys all child windows and menu bar if present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIChildFrame" name="Activate">
    <function type="void" name="Activate">
     <seealso>
      <ref target="wxmdichildframemaximize">wxMDIChildFrame::Maximize</ref>
      ,
      <ref target="wxmdichildframerestore">wxMDIChildFrame::Restore</ref>
     </seealso>
     <description>
      <p>
       Activates this MDI child frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIChildFrame" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Used in two-step frame construction. See
       <ref target="wxmdichildframector">wxMDIChildFrame::wxMDIChildFrame</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIChildFrame" name="Maximize">
    <function type="void" name="Maximize">
     <parameters>
      <parameter type="bool" name="maximize"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmdichildframeactivate">wxMDIChildFrame::Activate</ref>
      ,
      <ref target="wxmdichildframerestore">wxMDIChildFrame::Restore</ref>
     </seealso>
     <description>
      <p>
       Maximizes this MDI child frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIChildFrame" name="Restore">
    <function type="void" name="Restore">
     <seealso>
      <ref target="wxmdichildframeactivate">wxMDIChildFrame::Activate</ref>
      ,
      <ref target="wxmdichildframemaximize">wxMDIChildFrame::Maximize</ref>
     </seealso>
     <description>
      <p>
       Restores this MDI child frame (unmaximizes).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="P"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxMDIClientWindow">
  <description>
   <p class="classdesc">
    An MDI client window is a child of
    <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
    , and manages zero or more
    <ref target="wxmdichildframe">wxMDIChildFrame</ref>
    objects.
   </p>
  </description>
  <category>Miscellaneous</category>
  <remarks>
   <p>
    The client window is the area where MDI child windows exist. It doesn't have
    to cover the whole parent frame; other windows such as toolbars and a help
    window might coexist with it. There can be scrollbars on a client window,
    which are controlled by the parent window style.
   </p>
   <p>
    The
    <b> wxMDIClientWindow</b>
    class is usually adequate without further derivation, and it is created
    automatically when the MDI parent frame is created. If the application needs
    to derive a new class, the function
    <ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
    must be overridden in order to give an opportunity to use a different class
    of client window.
   </p>
   <p>
    Under Windows 95, 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>
  </remarks>
  <parents>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/mdi.h"/>
  </includes>
  <seealso>
   <ref target="wxmdichildframe">wxMDIChildFrame</ref>
   <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
   ,
   <ref target="wxframe">wxFrame</ref>
  </seealso>
  <members>
   <member class="wxMDIClientWindow" name="wxMDIClientWindow">
    <function type="" name="wxMDIClientWindow">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMDIClientWindow">
     <parameters>
      <parameter type="wxMDIParentFrame&#42; " name="parent">
       The window parent.
      </parameter>
      <parameter type="long " name="style" value="0">
       The window style. Currently unused.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmdiparentframector">wxMDIParentFrame::wxMDIParentFrame</ref>
      ,
      <ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
     </seealso>
     <remarks>
      <p>
       The second style of constructor is called within
       <ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
       .
      </p>
     </remarks>
     <description>
      <p>
       Constructor, creating the window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIClientWindow" name="~wxMDIClientWindow">
    <function type="" name="~wxMDIClientWindow">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIClientWindow" name="CreateClient">
    <function type="bool" name="CreateClient">
     <parameters>
      <parameter type="wxMDIParentFrame&#42; " name="parent"></parameter>
      <parameter type="long " name="style" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Used in two-step frame construction. See
       <ref target="wxmdiclientwindowctor">wxMDIClientWindow::wxMDIClientWindow</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="P"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxMDIParentFrame">
  <description>
   <p class="classdesc">
    An MDI (Multiple Document Interface) parent frame is a window which can
    contain MDI child frames in its own `desktop'. It is a convenient way to
    avoid window clutter, and is used in many popular Windows applications, such
    as Microsoft Word(TM).
   </p>
  </description>
  <category>Managed windows</category>
  <shortdesc>MDI parent frame</shortdesc>
  <remarks>
   <p>
    There may be multiple MDI parent frames in a single application, but this
    probably only makes sense within programming development environments.
   </p>
   <p>
    Child frames may be of class
    <ref target="wxmdichildframe">wxMDIChildFrame</ref>
    (contained within the parent frame) or
    <ref target="wxframe">wxFrame</ref>
    (shown as a top-level frame).
   </p>
   <p>
    An MDI parent frame always has a
    <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
    associated with it, which is the parent for MDI client frames. This client
    window may be resized to accommodate non-MDI windows, as seen in Microsoft
    Visual C++ (TM) and Microsoft Publisher (TM), where a documentation window
    is placed to one side of the workspace.
   </p>
   <p>
    MDI remains popular despite dire warnings from Microsoft itself that MDI is
    an obsolete user interface style.
   </p>
   <p>
    The implementation is native in Windows, and simulated under Motif. Under
    Motif, the child window frames will often have a different appearance from
    other frames because the window decorations are simulated.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/mdi.h"/>
  </includes>
  <windowstyles>
   <style name="wxCAPTION">
    Puts a caption on the frame.
   </style>
   <style name="wxDEFAULT\_FRAME\_STYLE">
    Defined as
    <b> wxMINIMIZE\_BOX \\pipe wxMAXIMIZE\_BOX \\pipe wxTHICK\_FRAME \\pipe wxSYSTEM\_MENU \\pipe wxCAPTION</b>
    .
   </style>
   <style name="wxHSCROLL">
    wxHSCROLL
   </style>
   <style name="wxICONIZE">
    Display the frame iconized (minimized) (Windows only).
   </style>
   <style name="wxMAXIMIZE">
    Displays the frame maximized (Windows only).
   </style>
   <style name="wxMAXIMIZE\_BOX">
    Displays a maximize box on the frame (Windows and Motif only).
   </style>
   <style name="wxMINIMIZE">
    Identical to
    <b> wxICONIZE</b>
    .
   </style>
   <style name="wxMINIMIZE\_BOX">
    Displays a minimize box on the frame (Windows and Motif only).
   </style>
   <style name="wxRESIZE\_BORDER">
    wxRESIZE\_BORDER
   </style>
   <style name="wxSTAY\_ON\_TOP">
    Stay on top of other windows (Windows only).
   </style>
   <style name="wxSYSTEM\_MENU">
    Displays a system menu (Windows and Motif only).
   </style>
   <style name="wxTHICK\_FRAME">
    Displays a thick frame around the window (Windows and Motif only).
   </style>
   <style name="wxVSCROLL">
    wxVSCROLL
   </style>
   <style name="wxFRAME\_NO\_WINDOW\_MENU">
    wxFRAME\_NO\_WINDOW\_MENU
   </style>
  </windowstyles>
  <seealso>
   <ref target="wxmdichildframe">wxMDIChildFrame</ref>
   <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
   ,
   <ref target="wxframe">wxFrame</ref>
   <ref target="wxdialog">wxDialog</ref>
  </seealso>
  <members>
   <member class="wxMDIParentFrame" name="wxMDIParentFrame">
    <function type="" name="wxMDIParentFrame">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMDIParentFrame">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       The window parent. This should be NULL.
      </parameter>
      <parameter type="wxWindowID " name="id">
       The window identifier. It may take a value of -1 to indicate a default
       value.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The caption to be displayed on the frame's title bar.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       The window position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxWidgets, depending on
       platform.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       The window size. A value of (-1, -1) indicates a default size, chosen by
       either the windowing system or wxWidgets, depending on platform.
      </parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE">
       The window style. See
       <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
       .
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;">
       The name of the window. This parameter is used to associate a name with
       the item, allowing the application user to set Motif resource values for
       individual windows.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmdiparentframecreate">wxMDIParentFrame::Create</ref>
      ,
      <ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
     </seealso>
     <remarks>
      <p>
       During the construction of the frame, the client window will be created.
       To use a different class from
       <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
       , override
       <ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
       .
      </p>
      <p>
       Under Windows 95, 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>
     </remarks>
     <description>
      <p>
       Constructor, creating the window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="~wxMDIParentFrame">
    <function type="" name="~wxMDIParentFrame">
     <description>
      <p>
       Destructor. Destroys all child windows and menu bar if present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="ActivateNext">
    <function type="void" name="ActivateNext">
     <seealso>
      <ref target="wxmdiparentframeactivateprevious">wxMDIParentFrame::ActivatePrevious</ref>
     </seealso>
     <description>
      <p>
       Activates the MDI child following the currently active one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="ActivatePrevious">
    <function type="void" name="ActivatePrevious">
     <seealso>
      <ref target="wxmdiparentframeactivatenext">wxMDIParentFrame::ActivateNext</ref>
     </seealso>
     <description>
      <p>
       Activates the MDI child preceding the currently active one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="ArrangeIcons">
    <function type="void" name="ArrangeIcons">
     <seealso>
      <ref target="wxmdiparentframecascade">wxMDIParentFrame::Cascade</ref>
      ,
      <ref target="wxmdiparentframetile">wxMDIParentFrame::Tile</ref>
     </seealso>
     <description>
      <p>
       Arranges any iconized (minimized) MDI child windows.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="Cascade">
    <function type="void" name="Cascade">
     <seealso>
      <ref target="wxmdiparentframetile">wxMDIParentFrame::Tile</ref>
      ,
      <ref target="wxmdiparentframearrangeicons">wxMDIParentFrame::ArrangeIcons</ref>
     </seealso>
     <description>
      <p>
       Arranges the MDI child windows in a cascade.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Used in two-step frame construction. See
       <ref target="wxmdiparentframector">wxMDIParentFrame::wxMDIParentFrame</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="GetClientSize">
    <function type="virtual void" name="GetClientSize" suffix="const">
     <parameters>
      <parameter type="int&#42; " name="width">
       Receives the client width in pixels.
      </parameter>
      <parameter type="int&#42; " name="height">
       Receives the client height in pixels.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmdiparentframegettoolbar">wxMDIParentFrame::GetToolBar</ref>
      ,
      <ref target="wxmdiparentframesettoolbar">wxMDIParentFrame::SetToolBar</ref>
      ,
      <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
     </seealso>
     <remarks>
      <p>
       The client area is the area which may be drawn on by the programmer,
       excluding title bar, border, status bar, and toolbar if present.
      </p>
      <p>
       If you wish to manage your own toolbar (or perhaps you have more than
       one), provide an
       <b> OnSize</b>
       event handler. Call
       <b> GetClientSize</b>
       to find how much space there is for your windows and don't forget to set
       the size and position of the MDI client window as well as your toolbar
       and other windows (but not the status bar).
      </p>
      <p>
       If you have set a toolbar with
       <ref target="wxmdiparentframesettoolbar">wxMDIParentFrame::SetToolbar</ref>
       , the client size returned will have subtracted the toolbar height.
       However, the available positions for the client window and other windows
       of the frame do not start at zero - you must add the toolbar height.
      </p>
      <p>
       The position and size of the status bar and toolbar (if known to the
       frame) are always managed by
       <b> wxMDIParentFrame</b>
       , regardless of what behaviour is defined in your
       <b> OnSize</b>
       event handler. However, the client window position and size are always
       set in
       <b> OnSize</b>
       , so if you override this event handler, make sure you deal with the
       client window.
      </p>
      <p>
       You do not have to manage the size and position of MDI child windows,
       since they are managed automatically by the client window.
      </p>
     </remarks>
     <description>
      <p>
       This gets the size of the frame `client area' in pixels.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="GetActiveChild">
    <function type="wxMDIChildFrame&#42;" name="GetActiveChild" suffix="const">
     <description>
      <p>
       Returns a pointer to the active MDI child, if there is one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="GetClientWindow">
    <function type="wxMDIClientWindow&#42;" name="GetClientWindow" suffix="const">
     <seealso>
      <ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
     </seealso>
     <description>
      <p>
       Returns a pointer to the client window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="GetToolBar">
    <function type="virtual wxWindow&#42;" name="GetToolBar" suffix="const">
     <seealso>
      <ref target="wxmdiparentframesettoolbar">wxMDIParentFrame::SetToolBar</ref>
     </seealso>
     <description>
      <p>
       Returns the window being used as the toolbar for this frame.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="GetWindowMenu" specific="msw">
    <function type="wxMenu&#42;" name="GetWindowMenu" suffix="const">
     <description>
      <p>
       Returns the current Window menu (added by wxWidgets to the menubar). This
       function is available under Windows only.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="OnCreateClient">
    <function type="virtual wxMDIClientWindow&#42;" name="OnCreateClient">
     <seealso>
      <ref target="wxmdiparentframegetclientwindow">wxMDIParentFrame::GetClientWindow</ref>
      ,
      <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
     </seealso>
     <remarks>
      <p>
       You might wish to derive from
       <ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
       in order to implement different erase behaviour, for example, such as
       painting a bitmap on the background.
      </p>
      <p>
       Note that it is probably impossible to have a client window that scrolls
       as well as painting a bitmap or pattern, since in
       <b> OnScroll</b>
       , the scrollbar positions always return zero. (Solutions to:
       <tt> julian.smart@btopenworld.com</tt>
       ).
      </p>
     </remarks>
     <description>
      <p>
       Override this to return a different kind of client window. If you
       override this function, you must create your parent frame in two stages,
       or your function will never be called, due to the way C++ treats virtual
       functions called from constructors. For example:
      </p>
      <pre>
  frame = new MyParentFrame;
  frame-&gt;Create(parent, myParentFrameId, wxT(&quot;My Parent Frame&quot;));
</pre>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="SetToolBar">
    <function type="virtual void" name="SetToolBar">
     <parameters>
      <parameter type="wxWindow&#42; " name="toolbar">
       Toolbar to manage.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmdiparentframegettoolbar">wxMDIParentFrame::GetToolBar</ref>
      ,
      <ref target="wxmdiparentframegetclientsize">wxMDIParentFrame::GetClientSize</ref>
     </seealso>
     <remarks>
      <p>
       When the frame is resized, the toolbar is resized to be the width of the
       frame client area, and the toolbar height is kept the same.
      </p>
      <p>
       The parent of the toolbar must be this frame.
      </p>
      <p>
       If you wish to manage your own toolbar (or perhaps you have more than
       one), don't call this function, and instead manage your subwindows and
       the MDI client window by providing an
       <b> OnSize</b>
       event handler. Call
       <ref target="wxmdiparentframegetclientsize">wxMDIParentFrame::GetClientSize</ref>
       to find how much space there is for your windows.
      </p>
      <p>
       Note that SDI (normal) frames and MDI child windows must always have
       their toolbars managed by the application.
      </p>
     </remarks>
     <description>
      <p>
       Sets the window to be used as a toolbar for this MDI parent window. It
       saves the application having to manage the positioning of the toolbar MDI
       client window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="SetWindowMenu" specific="msw">
    <function type="void" name="SetWindowMenu">
     <parameters>
      <parameter type="wxMenu&#42; " name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Call this to change the current Window menu. Ownership of the menu object
       passes to the frame when you call this function.
      </p>
      <p>
       This call is available under Windows only.
      </p>
      <p>
       To remove the window completely, use the wxFRAME\_NO\_WINDOW\_MENU window
       style.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMDIParentFrame" name="Tile">
    <function type="void" name="Tile">
     <parameters>
      <parameter type="wxOrientation " name="orient" value="wxHORIZONTAL"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmdiparentframecascade">wxMDIParentFrame::Cascade</ref>
      ,
      <ref target="wxmdiparentframearrangeicons">wxMDIParentFrame::ArrangeIcons</ref>
     </seealso>
     <description>
      <p>
       Tiles the MDI child windows either horizontally or vertically depending
       on whether
       <i>orient</i>
       is wxHORIZONTAL or wxVERTICAL.
      </p>
      <p>
       Currently only implemented for MSW, does nothing under the other
       platforms.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="P"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxMask">
  <description>
   <p class="classdesc">
    This class encapsulates a monochrome mask bitmap, where the masked area is
    black and the unmasked area is white. When associated with a bitmap and
    drawn in a device context, the unmasked area of the bitmap will be drawn,
    and the masked area will not be drawn.
   </p>
  </description>
  <category>Graphics device interface</category>
  <shortdesc>Represents a mask to be used with a bitmap for transparent drawing</shortdesc>
  <remarks>
   <p>
    A mask may be associated with a
    <ref target="wxbitmap">wxBitmap</ref>
    . It is used in
    <ref target="wxdcblit">wxDC::Blit</ref>
    when the source device context is a
    <ref target="wxmemorydc">wxMemoryDC</ref>
    with wxBitmap selected into it that contains a mask.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/bitmap.h"/>
  </includes>
  <seealso>
   <ref target="wxbitmap">wxBitmap</ref>
   <ref target="wxdcblit">wxDC::Blit</ref>
   <ref target="wxmemorydc">wxMemoryDC</ref>
  </seealso>
  <members>
   <member class="wxMask" name="wxMask">
    <function type="" name="wxMask">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMask">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       A valid bitmap.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a mask from a monochrome bitmap.
      </p>
     </description>
    </function>
    <function type="" name="wxMask">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       A valid bitmap.
      </parameter>
      <parameter type="const wxColour&amp; " name="colour">
       A colour specifying the transparency RGB values.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a mask from a bitmap and a colour that indicates the
       background.
      </p>
     </description>
    </function>
    <function type="" name="wxMask">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       A valid bitmap.
      </parameter>
      <parameter type="int " name="index">
       Index into a palette, specifying the transparency colour.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a mask from a bitmap and a palette index that indicates the
       background. Not yet implemented for GTK.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMask" name="~wxMask">
    <function type="" name="~wxMask">
     <description>
      <p>
       Destroys the wxMask object and the underlying bitmap data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMask" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       A valid bitmap.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a mask from a monochrome bitmap.
      </p>
     </description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       A valid bitmap.
      </parameter>
      <parameter type="const wxColour&amp; " name="colour">
       A colour specifying the transparency RGB values.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a mask from a bitmap and a colour that indicates the
       background.
      </p>
     </description>
    </function>
    <function type="bool" name="Create">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap">
       A valid bitmap.
      </parameter>
      <parameter type="int " name="index">
       Index into a palette, specifying the transparency colour.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a mask from a bitmap and a palette index that indicates the
       background. Not yet implemented for GTK.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMaximizeEvent">
  <description>
   <p class="classdesc">
    An event being sent when the frame is maximized or restored.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A maximize event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_MAXIMIZE(func)">Process a wxEVT\_MAXIMIZE event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
   ,
   <ref target="wxtoplevelwindowmaximize">wxTopLevelWindow::Maximize</ref>
   ,
   <ref target="wxtoplevelwindowismaximized">wxTopLevelWindow::IsMaximized</ref>
  </seealso>
  <members>
   <member class="wxMaximizeEvent" name="wxMaximizeEvent">
    <function type="" name="wxMaximizeEvent">
     <parameters>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMediaCtrl" specific="msw,mac">
  <description>
   <p class="classdesc">
    wxMediaCtrl is a class that allows a way to convieniently display types of
    media, such as videos, audio files, natively through native codecs.
   </p>
   <p class="classdesc">
    wxMediaCtrl uses native backends to render media, for example on Windows
    there is a ActiveMovie/DirectShow backend, and on Macintosh there is a
    QuickTime backend.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxControl">wxControl</ref>
  </parents>
  <includes>
   <header name="wx/mediactrl.h"/>
  </includes>
  <members>
   <member class="Rendering media\}\\label\{renderingmediawxmediactrl\}

Depending upon the backend, wxMediaCtrl can render
and display pretty much any kind of media that the native system can - 
such as an image, mpeg video, or mp3 (without license restrictions -
sense it relies on native system calls that may not technically
have mp3 decoding available, for example, it falls outside the
realm of licensing restrictions).

For general operation, all you need to do is call 
\\helpref\{wxMediaCtrl" name="Load"></member>
   <member class="verbatim\}
//connect to the media event
this-&gt;Connect(wxMY\_ID, wxEVT\_MEDIA\_STOP, (wxObjectEventFunction)
(wxEventFunction)(wxMediaEventFunction) &amp;MyFrame" name="OnMediaStop);

//...
void MyFrame::OnMediaStop(const wxMediaEvent&amp; evt)
\{
    if(bUserWantsToSeek)
    \{
        m\_mediactrl-&gt;SetPosition(
            m\_mediactrl-&gt;GetDuration() &lt;&lt; 1
                                );
        evt.Veto();
    "></member>
   <member class="Choosing a backend\}\\label\{choosingbackendwxmediactrl\}

Generally, you should almost certainly leave this part up to
wxMediaCtrl - but if you need a certain backend for a particular
reason, such as QuickTime for playing .mov files, all you need 
to do to choose a specific backend is to pass the
name of the backend class to 
\\helpref\{wxMediaCtrl" name="Create"></member>
   <member class="wxMediaCtrl" name="wxMediaCtrl">
    <function type="" name="wxMediaCtrl">
     <description>
      <p>
       Default constructor - you
       <tt>must</tt>
       call Create before calling any other methods of wxMediaCtrl.
      </p>
     </description>
    </function>
    <function type="" name="wxMediaCtrl">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       parent of this control. Must not be NULL.
      </parameter>
      <parameter type="const wxString&amp; " name="fileName" value="wxT(&quot;&quot;)">
       If not empty, the path of a file to open.
      </parameter>
      <parameter type="wxWindowID " name="id">
       id to use for events
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Position to put control at.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Size to put the control at and to stretch movie to.
      </parameter>
      <parameter type="long " name="style" value="0">
       Optional styles.
      </parameter>
      <parameter type="const wxString&amp; " name="szBackend" value="wxT(&quot;&quot;)">
       Name of backend you want to use, leave blank to make wxMediaCtrl figure
       it out.
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       validator to use.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="wxPanelNameStr">
       Window name.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor that calls
       <ref target="wxmediactrlcreate">Create</ref>
       . You may prefer to call
       <ref target="wxmediactrlcreate">Create</ref>
       directly to check to see if wxMediaCtrl is available on the system.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       parent of this control. Must not be NULL.
      </parameter>
      <parameter type="const wxString&amp; " name="fileName" value="wxT(&quot;&quot;)">
       If not empty, the path of a file to open.
      </parameter>
      <parameter type="wxWindowID " name="id">
       id to use for events
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Position to put control at.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       Size to put the control at and to stretch movie to.
      </parameter>
      <parameter type="long " name="style" value="0">
       Optional styles.
      </parameter>
      <parameter type="const wxString&amp; " name="szBackend" value="wxT(&quot;&quot;)">
       Name of backend you want to use, leave blank to make wxMediaCtrl figure
       it out.
      </parameter>
      <parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
       validator to use.
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="wxPanelNameStr">
       Window name.
      </parameter>
     </parameters>
     <description>
      <p>
       Creates this control. Returns
       <tt>false</tt>
       if it can't load the movie located at
       <tt>fileName</tt>
       or it cannot load one of its native backends.
      </p>
      <p>
       If you specify a file to open via
       <tt>fileName</tt>
       and you don't specify a backend to use, wxMediaCtrl tries each of its
       backends until one that can render the path referred to by
       <tt>fileName</tt>
       can be found.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Length">
    <function type="wxFileOffset" name="GetDuration">
     <description>
      <p>
       Obtains the length - the total amount of time the movie has in
       milliseconds.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Tell">
    <function type="wxFileOffset" name="GetPosition">
     <description>
      <p>
       Obtains the current position in time within the movie in milliseconds.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="GetState">
    <function type="wxMediaCtrlState" name="GetState">
     <description>
      <p>
       Obtains the state the playback of the movie is in -
      </p>
      <table>
       <tr>
        <td>
         <b> wxMEDIASTATE\_STOPPED</b>
        </td>
        <td>The movie has stopped.</td>
       </tr>
       <tr>
        <td>
         <b> wxMEDIASTATE\_PAUSED</b>
        </td>
        <td>The movie is paused.</td>
       </tr>
       <tr>
        <td>
         <b> wxMEDIASTATE\_PLAYING</b>
        </td>
        <td>The movie is currently playing.</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Load">
    <function type="bool" name="Load">
     <parameters>
      <parameter type="const wxString&amp; " name="fileName"></parameter>
     </parameters>
     <description>
      <p>
       Loads the file that
       <tt>fileName</tt>
       refers to. Returns false if loading fails.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Pause">
    <function type="bool" name="Pause">
     <description>
      <p>
       Pauses playback of the movie.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Play">
    <function type="bool" name="Play">
     <description>
      <p>
       Resumes playback of the movie.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Seek">
    <function type="wxFileOffset" name="SetPosition">
     <parameters>
      <parameter type="wxFileOffset " name="where"></parameter>
      <parameter type="wxSeekMode " name="mode"></parameter>
     </parameters>
     <description>
      <p>
       Seeks to a position within the movie.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMediaCtrl" name="Stop">
    <function type="bool" name="Stop">
     <description>
      <p>
       Stops the media.
      </p>
      <p>
       See
       <ref target="operationwxmediactrl">Operation</ref>
       for an overview of how stopping works.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxMediaEvent" specific="msw,mac">
  <description>
   <p class="classdesc">
    Event
    <ref target="wxmediactrl">wxMediaCtrl</ref>
    uses.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
  </parents>
  <includes>
   <header name="wx/mediactrl.h"/>
  </includes>
  <events>
   <event name="EVT\_MEDIA\_STOP(func)">
Triggerred right before the media stops.  You can Veto this event to prevent it from stopping, causing it to continue playing - even if it has reached that end of the media. </event>
   <event name="EVT\_MEDIA\_FINISHED(func)">Sent when a media has finished playing in a <ref target="wxmediactrl">wxMediaCtrl</ref>.  Note that if you connect to this event and don't skip it, it will override the looping behaviour of the media control.</event>
  </events>
  <members></members>
  <supported></supported>
 </class>
 <class name="wxMemoryBuffer">
  <description>
   <p class="classdesc">
    A
    <b> wxMemoryBuffer</b>
    is a useful data structure for storing arbitrary sized blocks of memory.
    wxMemoryBuffer guarantees deletion of the memory block when the object is
    destroyed.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents></parents>
  <includes>
   <header name="wx/buffer.h"/>
  </includes>
  <members>
   <member class="wxMemoryBuffer" name="wxMemoryBuffer">
    <function type="" name="wxMemoryBuffer">
     <parameters>
      <parameter type="const wxMemoryBuffer&amp; " name="src"></parameter>
     </parameters>
     <description>
      <p>
       Copy constructor, refcounting is used for performance , but
       wxMemoryBuffer is not a copy-on-write structure so changes made to one
       buffer effect all copies made from it.
      </p>
     </description>
    </function>
    <function type="" name="wxMemoryBuffer">
     <parameters>
      <parameter type="size\_t " name="size">
       size of new buffer.
      </parameter>
     </parameters>
     <description>
      <p>
       Create a new buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="GetData">
    <function type="void&#42; " name="GetData">
     <description>
      <p>
       Return a pointer to the data in the buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="GetBufSize">
    <function type="size\_t" name="GetBufSize">
     <description>
      <p>
       Returns the size of the buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="GetDataLen">
    <function type="size\_t" name="GetDataLen">
     <description>
      <p>
       Returns the length of the valid data in the buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="SetBufSize">
    <function type="void" name="SetBufSize">
     <parameters>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Ensures the buffer has at least
       <i> size</i>
       bytes available.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="SetDataLen">
    <function type="void" name="SetDataLen">
     <parameters>
      <parameter type="size\_t " name="size">
       New length of the valid data in the buffer. This is distinct from the
       allocated size
      </parameter>
     </parameters>
     <description>
      <p>
       Sets the length of the data stored in the buffer. Mainly useful for
       truncating existing data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="GetWriteBuf">
    <function type="void &#42;" name="GetWriteBuf">
     <parameters>
      <parameter type="size\_t " name="sizeNeeded"></parameter>
     </parameters>
     <description>
      <p>
       Ensure the buffer is big enough and return a pointer to the buffer which
       can be used to directly write into the buffer up to
       <i> sizeNeeded</i>
       bytes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="UngetWriteBuf">
    <function type="void" name="UngetWriteBuf">
     <parameters>
      <parameter type="size\_t " name="sizeUsed">
       The amount of data written in to buffer by the direct write
      </parameter>
     </parameters>
     <description>
      <p>
       Update the buffer after completing a direct write, which you must have
       used GetWriteBuf() to initialise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="GetAppendBuf">
    <function type="void &#42;" name="GetAppendBuf">
     <parameters>
      <parameter type="size\_t " name="sizeNeeded">
       Amount of extra space required in the buffer for the append operation
      </parameter>
     </parameters>
     <description>
      <p>
       Ensure that the buffer is big enough and return a pointer to the start of
       the empty space in the buffer. This pointer can be used to directly write
       data into the buffer, this new data will be appended to the existing
       data.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="UngetAppendBuf">
    <function type="void" name="UngetAppendBuf">
     <parameters>
      <parameter type="size\_t " name="sizeUsed">
       This is the amount of new data that has been appended.
      </parameter>
     </parameters>
     <description>
      <p>
       Update the length after completing a direct append, which you must have
       used GetAppendBuf() to initialise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="AppendByte">
    <function type="void" name="AppendByte">
     <parameters>
      <parameter type="char " name="data">
       New byte to append to the buffer.
      </parameter>
     </parameters>
     <description>
      <p>
       Append a single byte to the buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryBuffer" name="AppendData">
    <function type="void" name="AppendData">
     <parameters>
      <parameter type="void&#42; " name="data">
       Pointer to block to append to the buffer.
      </parameter>
      <parameter type="size\_t " name="len">
       Length of data to append.
      </parameter>
     </parameters>
     <description>
      <p>
       Single call to append a data block to the buffer.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxMemoryDC">
  <description>
   <p class="classdesc">
    A memory device context provides a means to draw graphics onto a bitmap.
    When drawing in to a mono-bitmap, using
    <tt> wxWHITE</tt>
    ,
    <tt> wxWHITE\_PEN</tt>
    and
    <tt> wxWHITE\_BRUSH</tt>
    will draw the background colour (i.e. 0) whereas all other colours will draw
    the foreground colour (i.e. 1).
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>A device context for drawing into bitmaps</shortdesc>
  <remarks>
   <p>
    A bitmap must be selected into the new memory DC before it may be used for
    anything. Typical usage is as follows:
   </p>
   <pre>
  // Create a memory DC
  wxMemoryDC temp\_dc;
  temp\_dc.SelectObject(test\_bitmap);

  // We can now draw into the memory DC...
  // Copy from this DC to another DC.
  old\_dc.Blit(250, 50, BITMAP\_WIDTH, BITMAP\_HEIGHT, temp\_dc, 0, 0);
</pre>
   <p>
    Note that the memory DC
    <i> must</i>
    be deleted (or the bitmap selected out of it) before a bitmap can be
    reselected into another memory DC.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxDC">wxDC</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/dcmemory.h"/>
  </includes>
  <seealso>
   <ref target="wxbitmap">wxBitmap</ref>
   <ref target="wxdc">wxDC</ref>
  </seealso>
  <members>
   <member class="wxMemoryDC" name="wxMemoryDC">
    <function type="" name="wxMemoryDC">
     <description>
      <p>
       Constructs a new memory device context.
      </p>
      <p>
       Use the
       <i> Ok</i>
       member to test whether the constructor was successful in creating a
       usable device context. Don't forget to select a bitmap into the DC before
       drawing on it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryDC" name="SelectObject">
    <function type="void" name="SelectObject">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
     </parameters>
     <description>
      <p>
       Selects the given bitmap into the device context, to use as the memory
       bitmap. Selecting the bitmap into a memory DC allows you to draw into the
       DC (and therefore the bitmap) and also to use
       <b> Blit</b>
       to copy the bitmap to a window. For this purpose, you may find
       <ref target="wxdcdrawicon">wxDC::DrawIcon</ref>
       easier to use instead.
      </p>
      <p>
       If the argument is wxNullBitmap (or some other uninitialised wxBitmap)
       the current bitmap is selected out of the device context, and the
       original bitmap restored, allowing the current bitmap to be destroyed
       safely.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMemoryFSHandler">
  <description>
   <p class="classdesc">
    This
    <ref target="wxfilesystem">wxFileSystem</ref>
    handler can store arbitrary data in memory stream and make them accessible
    via URL. It is particularly suitable for storing bitmaps from resources or
    included XPM files so that they can be used with wxHTML.
   </p>
   <p class="classdesc">
    Filenames are prefixed with &quot;memory:&quot;, e.g.
    &quot;memory:myfile.html&quot;.
   </p>
   <p class="classdesc">
    Example:
   </p>
   <p class="classdesc">
    <pre>
#ifndef \_\_WXMSW\_\_
#include &quot;logo.xpm&quot;
#endif

void MyFrame::OnAbout(wxCommandEvent&amp;)
\{
    wxBusyCursor bcur;
    wxFileSystem::AddHandler(new wxMemoryFSHandler);
    wxMemoryFSHandler::AddFile(&quot;logo.pcx&quot;, wxBITMAP(logo), wxBITMAP\_TYPE\_PCX);
    wxMemoryFSHandler::AddFile(&quot;about.htm&quot;, 
                               &quot;&lt;html&gt;&lt;body&gt;About: &quot;
                               &quot;&lt;img src=\\&quot;memory:logo.pcx\\&quot;&gt;&lt;/body&gt;&lt;/html&gt;&quot;);

    wxDialog dlg(this, -1, wxString(\_(&quot;About&quot;)));
    wxBoxSizer &#42;topsizer;
    wxHtmlWindow &#42;html;
    topsizer = new wxBoxSizer(wxVERTICAL);
    html = new wxHtmlWindow(&amp;dlg, -1, wxDefaultPosition, 
                            wxSize(380, 160), wxHW\_SCROLLBAR\_NEVER);
    html-&gt;SetBorders(0);
    html-&gt;LoadPage(&quot;memory:about.htm&quot;);
    html-&gt;SetSize(html-&gt;GetInternalRepresentation()-&gt;GetWidth(), 
                  html-&gt;GetInternalRepresentation()-&gt;GetHeight());
    topsizer-&gt;Add(html, 1, wxALL, 10);
    topsizer-&gt;Add(new wxStaticLine(&amp;dlg, -1), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
    topsizer-&gt;Add(new wxButton(&amp;dlg, wxID\_OK, &quot;Ok&quot;), 
                  0, wxALL | wxALIGN\_RIGHT, 15);
    dlg.SetAutoLayout(true);
    dlg.SetSizer(topsizer);
    topsizer-&gt;Fit(&amp;dlg);
    dlg.Centre();
    dlg.ShowModal();
    
    wxMemoryFSHandler::RemoveFile(&quot;logo.pcx&quot;);
    wxMemoryFSHandler::RemoveFile(&quot;about.htm&quot;);
\}
</pre>
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxFileSystemHandler">wxFileSystemHandler</ref>
  </parents>
  <includes>
   <header name="wx/fs\_mem.h"/>
  </includes>
  <members>
   <member class="wxMemoryFSHandler" name="wxMemoryFSHandler">
    <function type="" name="wxMemoryFSHandler">
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryFSHandler" name="AddFile">
    <function type="static void" name="AddFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="wxImage&amp; " name="image"></parameter>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static void" name="AddFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const wxBitmap&amp; " name="bitmap"></parameter>
      <parameter type="long " name="type"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static void" name="AddFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const wxString&amp; " name="textdata"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="static void" name="AddFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="const void&#42; " name="binarydata"></parameter>
      <parameter type="size\_t " name="size"></parameter>
     </parameters>
     <description>
      <p>
       Add file to list of files stored in memory. Stored data (bitmap, text or
       raw data) will be copied into private memory stream and available under
       name &quot;memory:&quot; +
       <i>filename</i>
       .
      </p>
      <p>
       The
       <i>type</i>
       argument is one of
       <tt> wxBITMAP\_TYPE\_XXX</tt>
       constants. Note that you must use a
       <i>type</i>
       value (aka image format) that wxWidgets can save (e.g. JPG, PNG, see
       <ref target="wximage">wxImage
documentation</ref>
       )!
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryFSHandler" name="RemoveFile">
    <function type="static void" name="RemoveFile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Remove file from memory FS and free occupied memory.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMemoryInputStream">
  <description></description>
  <category>Stream classes</category>
  <shortdesc>Memory input stream class</shortdesc>
  <parents>
   <ref type="help" target="wxInputStream">wxInputStream</ref>
  </parents>
  <includes>
   <header name="wx/mstream.h"/>
  </includes>
  <seealso>
   <ref target="wxstreambuffer">wxStreamBuffer</ref>
   <ref target="wxmemoutputstream">wxMemoryOutputStream</ref>
  </seealso>
  <members>
   <member class="wxMemoryInputStream" name="wxMemoryInputStream">
    <function type="" name="wxMemoryInputStream">
     <parameters>
      <parameter type="const char &#42; " name="data"></parameter>
      <parameter type="size\_t " name="len"></parameter>
     </parameters>
     <description>
      <p>
       Initializes a new read-only memory stream which will use the specified
       buffer
       <i> data</i>
       of length
       <i> len</i>
       . The stream does not take ownership of the buffer, i.e. that it will not
       delete in its destructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMemoryInputStream">
     <parameters>
      <parameter type="const wxMemoryOutputStream&amp; " name="stream"></parameter>
     </parameters>
     <description>
      <p>
       Creates a new read-only memory stream, initilalizing it with the data
       from the given output stream
       <i>stream</i>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryInputStream" name="~wxMemoryInputStream">
    <function type="" name="~wxMemoryInputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryInputStream" name="GetInputStreamBuffer">
    <function type="wxStreamBuffer &#42;" name="GetInputStreamBuffer" suffix="const">
     <description>
      <p>
       Returns the pointer to the stream object used as an internal buffer for
       that stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMemoryOutputStream">
  <description></description>
  <category>Stream classes</category>
  <shortdesc>Memory output stream class</shortdesc>
  <parents>
   <ref type="help" target="wxOutputStream">wxOutputStream</ref>
  </parents>
  <includes>
   <header name="wx/mstream.h"/>
  </includes>
  <seealso>
   <ref target="wxstreambuffer">wxStreamBuffer</ref>
  </seealso>
  <members>
   <member class="wxMemoryOutputStream" name="wxMemoryOutputStream">
    <function type="" name="wxMemoryOutputStream">
     <parameters>
      <parameter type="char &#42; " name="data" value="NULL"></parameter>
      <parameter type="size\_t " name="length" value="0"></parameter>
     </parameters>
     <note>

If the buffer is created, it will be destroyed at the destruction of the
stream.

</note>
     <description>
      <p>
       If
       <i> data</i>
       is NULL, then it will initialize a new empty buffer which will grow if
       required.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryOutputStream" name="~wxMemoryOutputStream">
    <function type="" name="~wxMemoryOutputStream">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryOutputStream" name="CopyTo">
    <function type="size\_t" name="CopyTo" suffix="const">
     <parameters>
      <parameter type="char &#42;" name="buffer"></parameter>
      <parameter type="size\_t " name="len"></parameter>
     </parameters>
     <description>
      <p>
       CopyTo allowed you to transfer data from the internal buffer of
       wxMemoryOutputStream to an external buffer.
       <i> len</i>
       specifies the size of the buffer.
      </p>
      <p>
       \\wxheading\{Returned value\}
      </p>
      <p>
       CopyTo returns the number of bytes copied to the buffer. Generally it is
       either len or the size of the stream buffer.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMemoryOutputStream" name="GetOutputStreamBuffer">
    <function type="wxStreamBuffer &#42;" name="GetOutputStreamBuffer" suffix="const">
     <description>
      <p>
       Returns the pointer to the stream object used as an internal buffer for
       that stream.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMenu">
  <description>
   <p class="classdesc">
    A menu is a popup (or pull down) list of items, one of which may be selected
    before the menu goes away (clicking elsewhere dismisses the menu). Menus may
    be used to construct either menu bars or popup menus.
   </p>
   <p class="classdesc">
    A menu item has an integer ID associated with it which can be used to
    identify the selection, or to change the menu item in some way. A menu item
    with a special identifier $-1$ is a separator item and doesn't have an
    associated command but just makes a separator line appear in the menu.
   </p>
   <p class="classdesc">
    <b> NB:</b>
    Please note that
    <i> wxID\_ABOUT</i>
    and
    <i> wxID\_EXIT</i>
    are predefined by wxWidgets and have a special meaning since entries using
    these IDs will be taken out of the normal menus under MacOS X and will be
    inserted into the system menu (following the appropriate MacOS X interface
    guideline). On PalmOS
    <i> wxID\_EXIT</i>
    is disabled according to Palm OS Companion guidelines.
   </p>
   <p class="classdesc">
    Menu items may be either normal items, check items or radio items. Normal
    items don't have any special properties while the check items have a boolean
    flag associated to them and they show a checkmark in the menu when the flag
    is set. wxWidgets automatically toggles the flag value when the item is
    clicked and its value may be retrieved using either
    <ref target="wxmenuischecked">IsChecked</ref>
    method of wxMenu or wxMenuBar itself or by using
    <ref target="wxcommandeventischecked">wxEvent::IsChecked</ref>
    when you get the menu notification for the item in question.
   </p>
   <p class="classdesc">
    The radio items are similar to the check items except that all the other
    items in the same radio group are unchecked when a radio item is checked.
    The radio group is formed by a contiguous range of radio items, i.e. it
    starts at the first item of this kind and ends with the first item of a
    different kind (or the end of the menu). Notice that because the radio
    groups are defined in terms of the item positions inserting or removing the
    items in the menu containing the radio items risks to not work correctly.
    Finally note that radio items are not supported under Motif.
   </p>
   <p class="classdesc">
    <heading>Allocation strategy</heading>
   </p>
   <p class="classdesc">
    All menus except the popup ones must be created on the heap. All menus
    attached to a menubar or to another menu will be deleted by their parent
    when it is deleted. As the frame menubar is deleted by the frame itself, it
    means that normally all menus used are deleted automatically.
   </p>
  </description>
  <category>Menus</category>
  <shortdesc>Displays a series of menu items for selection</shortdesc>
  <parents>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/menu.h"/>
  </includes>
  <events></events>
  <seealso>
   <ref target="wxmenubar">wxMenuBar</ref>
   <ref target="wxwindowpopupmenu">wxWindow::PopupMenu</ref>
   ,
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxMenu" name="wxMenu">
    <function type="" name="wxMenu">
     <parameters>
      <parameter type="const wxString&amp; " name="title" value="&quot;&quot;">
       A title for the popup menu: the empty string denotes no title.
      </parameter>
      <parameter type="long " name="style" value="0">
       If set to
       <tt> wxMENU\_TEAROFF</tt>
       , the menu will be detachable (wxGTK only).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a wxMenu object.
      </p>
     </description>
    </function>
    <function type="" name="wxMenu">
     <parameters>
      <parameter type="long " name="style">
       If set to
       <tt> wxMENU\_TEAROFF</tt>
       , the menu will be detachable (wxGTK only).
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a wxMenu object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="~wxMenu">
    <function type="" name="~wxMenu">
     <description>
      <p>
       Destructor, destroying the menu.
      </p>
      <p>
       Note: under Motif, a popup menu must have a valid parent (the window it
       was last popped up on) when being destroyed. Therefore, make sure you
       delete or re-use the popup menu
       <i> before</i>
       destroying the parent window. Re-use in this context means popping up the
       menu on a different window from last time, which causes an implicit
       destruction and recreation of internal data structures.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Append">
    <function type="wxMenuItem&#42;" name="Append">
     <parameters>
      <parameter type="int " name="id">
       The menu command identifier.
      </parameter>
      <parameter type="const wxString&amp;  " name="item">
       The string to appear on the menu item.
      </parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;">
       An optional help string associated with the item. By default, the handler
       for the wxEVT\_MENU\_HIGHLIGHT event displays this string in the status
       line.
      </parameter>
      <parameter type="wxItemKind " name="kind" value="wxITEM\_NORMAL">
       May be
       <tt> wxITEM\_SEPARATOR</tt>
       ,
       <tt> wxITEM\_NORMAL</tt>
       ,
       <tt> wxITEM\_CHECK</tt>
       or
       <tt> wxITEM\_RADIO</tt>
      </parameter>
     </parameters>
     <description>
      <p>
       Adds a string item to the end of the menu.
      </p>
     </description>
    </function>
    <function type="wxMenuItem&#42;" name="Append">
     <parameters>
      <parameter type="int " name="id">
       The menu command identifier.
      </parameter>
      <parameter type="const wxString&amp;  " name="item">
       The string to appear on the menu item.
      </parameter>
      <parameter type="wxMenu &#42;" name="subMenu"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;">
       An optional help string associated with the item. By default, the handler
       for the wxEVT\_MENU\_HIGHLIGHT event displays this string in the status
       line.
      </parameter>
     </parameters>
     <description>
      <p>
       Adds a pull-right submenu to the end of the menu. Append the submenu to
       the parent menu
       <i> after</i>
       you have added your menu items, or accelerators may not be registered
       properly.
      </p>
     </description>
    </function>
    <function type="wxMenuItem&#42;" name="Append">
     <parameters>
      <parameter type="wxMenuItem&#42; " name="menuItem">
       A menuitem object. It will be owned by the wxMenu object after this
       function is called, so do not delete it yourself.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuappendseparator">wxMenu::AppendSeparator</ref>
      ,
      <ref target="wxmenuappendcheckitem">wxMenu::AppendCheckItem</ref>
      ,
      <ref target="wxmenuappendradioitem">wxMenu::AppendRadioItem</ref>
      ,
      <ref target="wxmenuinsert">wxMenu::Insert</ref>
      ,
      <ref target="wxmenusetlabel">wxMenu::SetLabel</ref>
      <ref target="wxmenugethelpstring">wxMenu::GetHelpString</ref>
      ,
      <ref target="wxmenusethelpstring">wxMenu::SetHelpString</ref>
      <ref target="wxmenuitem">wxMenuItem</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxMenu" name="AppendCheckItem">
    <function type="wxMenuItem&#42;" name="AppendCheckItem">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuappend">wxMenu::Append</ref>
      ,
      <ref target="wxmenuinsertcheckitem">wxMenu::InsertCheckItem</ref>
     </seealso>
     <description>
      <p>
       Adds a checkable item to the end of the menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="AppendRadioItem">
    <function type="wxMenuItem&#42;" name="AppendRadioItem">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuappend">wxMenu::Append</ref>
      ,
      <ref target="wxmenuinsertradioitem">wxMenu::InsertRadioItem</ref>
     </seealso>
     <description>
      <p>
       Adds a radio item to the end of the menu. All consequent radio items form
       a group and when an item in the group is checked, all the others are
       automatically unchecked.
      </p>
      <p>
       <b> NB:</b>
       Currently only implemented under Windows and GTK, use
       <tt>#if wxHAS\_RADIO\_MENU\_ITEMS</tt>
       to test for availability of this feature.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="AppendSeparator">
    <function type="wxMenuItem&#42;" name="AppendSeparator">
     <seealso>
      <ref target="wxmenuappend">wxMenu::Append</ref>
      ,
      <ref target="wxmenuinsertseparator">wxMenu::InsertSeparator</ref>
     </seealso>
     <description>
      <p>
       Adds a separator to the end of the menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Break">
    <function type="void" name="Break">
     <description>
      <p>
       Inserts a break in a menu, causing the next appended item to appear in a
       new column.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Check">
    <function type="void" name="Check">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
      <parameter type="const bool " name="check">
       If true, the item will be checked, otherwise it will be unchecked.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuischecked">wxMenu::IsChecked</ref>
     </seealso>
     <description>
      <p>
       Checks or unchecks the menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Delete">
    <function type="void" name="Delete">
     <parameters>
      <parameter type="int " name="id">
       Id of the menu item to be deleted.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Delete">
     <parameters>
      <parameter type="wxMenuItem &#42;" name="item">
       Menu item to be deleted.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenufinditem">wxMenu::FindItem</ref>
      ,
      <ref target="wxmenudestroy">wxMenu::Destroy</ref>
      ,
      <ref target="wxmenuremove">wxMenu::Remove</ref>
     </seealso>
     <description>
      <p>
       Deletes the menu item from the menu. If the item is a submenu, it will
       <b> not</b>
       be deleted. Use
       <ref target="wxmenudestroy">Destroy</ref>
       if you want to delete a submenu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Destroy">
    <function type="void" name="Destroy">
     <parameters>
      <parameter type="int " name="id">
       Id of the menu item to be deleted.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="Destroy">
     <parameters>
      <parameter type="wxMenuItem &#42;" name="item">
       Menu item to be deleted.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenufinditem">wxMenu::FindItem</ref>
      ,
      <ref target="wxmenudelete">wxMenu::Deletes</ref>
      ,
      <ref target="wxmenuremove">wxMenu::Remove</ref>
     </seealso>
     <description>
      <p>
       Deletes the menu item from the menu. If the item is a submenu, it will be
       deleted. Use
       <ref target="wxmenuremove">Remove</ref>
       if you want to keep the submenu (for example, to reuse it later).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Enable">
    <function type="void" name="Enable">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
      <parameter type="const bool " name="enable">
       true to enable the menu item, false to disable it.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuisenabled">wxMenu::IsEnabled</ref>
     </seealso>
     <description>
      <p>
       Enables or disables (greys out) a menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="FindItem">
    <function type="int" name="FindItem" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="itemString">
       Menu item string to find.
      </parameter>
     </parameters>
     <description>
      <p>
       Finds the menu item id for a menu item string.
      </p>
     </description>
    </function>
    <function type="wxMenuItem &#42;" name="FindItem" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       Menu item identifier.
      </parameter>
      <parameter type="wxMenu &#42;&#42;" name="menu" value="NULL">
       If the pointer is not NULL, it will be filled with the item's parent menu
       (if the item was found)
      </parameter>
     </parameters>
     <remarks>
      <p>
       Any special menu codes are stripped out of source and target strings
       before matching.
      </p>
     </remarks>
     <returnvalue>
      First form: menu item identifier, or
      <tt> wxNOT\_FOUND</tt>
      if none is found. Second form: returns the menu item object, or NULL if it
      is not found.
     </returnvalue>
     <description>
      <p>
       Finds the menu item object associated with the given menu item identifier
       and, optionally, the (sub)menu it belongs to.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="FindItemByPosition">
    <function type="wxMenuItem&#42;" name="FindItemByPosition" suffix="const">
     <parameters>
      <parameter type="size\_t " name="position"></parameter>
     </parameters>
     <description>
      <p>
       Returns the wxMenuItem given a position in the menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="GetHelpString">
    <function type="wxString" name="GetHelpString" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenusethelpstring">wxMenu::SetHelpString</ref>
      <ref target="wxmenuappend">wxMenu::Append</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxMenu" name="GetLabel">
    <function type="wxString" name="GetLabel" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenusetlabel">wxMenu::SetLabel</ref>
     </seealso>
     <returnvalue>
      The item label, or the empty string if the item was not found.
     </returnvalue>
     <description>
      <p>
       Returns a menu item label.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="GetMenuItemCount">
    <function type="size\_t" name="GetMenuItemCount" suffix="const">
     <description>
      <p>
       Returns the number of items in the menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="GetMenuItems">
    <function type="wxMenuItemList&amp;" name="GetMenuItems" suffix="const">
     <description>
      <p>
       Returns the list of items in the menu. wxMenuItemList is a
       pseudo-template list class containing wxMenuItem pointers.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="GetTitle">
    <function type="wxString" name="GetTitle" suffix="const">
     <seealso>
      <ref target="wxmenusettitle">wxMenu::SetTitle</ref>
     </seealso>
     <remarks>
      <p>
       This is relevant only to popup menus, use
       <ref target="wxmenubargetlabeltop">wxMenuBar::GetLabelTop</ref>
       for the menus in the menubar.
      </p>
     </remarks>
     <description>
      <p>
       Returns the title of the menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Insert">
    <function type="wxMenuItem&#42;" name="Insert">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
      <parameter type="wxMenuItem &#42;" name="item"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxMenuItem&#42;" name="Insert">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
      <parameter type="wxItemKind " name="kind" value="wxITEM\_NORMAL"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuappend">wxMenu::Append</ref>
      ,
      <ref target="wxmenuprepend">wxMenu::Prepend</ref>
     </seealso>
     <description>
      <p>
       Inserts the given
       <i> item</i>
       before the position
       <i> pos</i>
       . Inserting the item at position
       <ref target="wxmenugetmenuitemcount">GetMenuItemCount</ref>
       is the same as appending it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="InsertCheckItem">
    <function type="wxMenuItem&#42;" name="InsertCheckItem">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuinsert">wxMenu::Insert</ref>
      ,
      <ref target="wxmenuappendcheckitem">wxMenu::AppendCheckItem</ref>
     </seealso>
     <description>
      <p>
       Inserts a checkable item at the given position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="InsertRadioItem">
    <function type="wxMenuItem&#42;" name="InsertRadioItem">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuinsert">wxMenu::Insert</ref>
      ,
      <ref target="wxmenuappendradioitem">wxMenu::AppendRadioItem</ref>
     </seealso>
     <description>
      <p>
       Inserts a radio item at the given position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="InsertSeparator">
    <function type="wxMenuItem&#42;" name="InsertSeparator">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuinsert">wxMenu::Insert</ref>
      ,
      <ref target="wxmenuappendseparator">wxMenu::AppendSeparator</ref>
     </seealso>
     <description>
      <p>
       Inserts a separator at the given position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="IsChecked">
    <function type="bool" name="IsChecked" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenucheck">wxMenu::Check</ref>
     </seealso>
     <returnvalue>
      true if the menu item is checked, false otherwise.
     </returnvalue>
     <description>
      <p>
       Determines whether a menu item is checked.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="IsEnabled">
    <function type="bool" name="IsEnabled" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuenable">wxMenu::Enable</ref>
     </seealso>
     <returnvalue>
      true if the menu item is enabled, false otherwise.
     </returnvalue>
     <description>
      <p>
       Determines whether a menu item is enabled.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Prepend">
    <function type="wxMenuItem&#42;" name="Prepend">
     <parameters>
      <parameter type="wxMenuItem &#42;" name="item"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxMenuItem&#42;" name="Prepend">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
      <parameter type="wxItemKind " name="kind" value="wxITEM\_NORMAL"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuappend">wxMenu::Append</ref>
      ,
      <ref target="wxmenuinsert">wxMenu::Insert</ref>
     </seealso>
     <description>
      <p>
       Inserts the given
       <i> item</i>
       at position 0, i.e. before all the other existing items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="PrependCheckItem">
    <function type="wxMenuItem&#42;" name="PrependCheckItem">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuprepend">wxMenu::Prepend</ref>
      ,
      <ref target="wxmenuappendcheckitem">wxMenu::AppendCheckItem</ref>
     </seealso>
     <description>
      <p>
       Inserts a checkable item at position 0.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="PrependRadioItem">
    <function type="wxMenuItem&#42;" name="PrependRadioItem">
     <parameters>
      <parameter type="int " name="id"></parameter>
      <parameter type="const wxString&amp;  " name="item"></parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuprepend">wxMenu::Prepend</ref>
      ,
      <ref target="wxmenuappendradioitem">wxMenu::AppendRadioItem</ref>
     </seealso>
     <description>
      <p>
       Inserts a radio item at position 0.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="PrependSeparator">
    <function type="wxMenuItem&#42;" name="PrependSeparator">
     <seealso>
      <ref target="wxmenuprepend">wxMenu::Prepend</ref>
      ,
      <ref target="wxmenuappendseparator">wxMenu::AppendSeparator</ref>
     </seealso>
     <description>
      <p>
       Inserts a separator at position 0.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="Remove">
    <function type="wxMenuItem &#42;" name="Remove">
     <parameters>
      <parameter type="int " name="id">
       The identifier of the menu item to remove.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="wxMenuItem &#42;" name="Remove">
     <parameters>
      <parameter type="wxMenuItem &#42;" name="item">
       The menu item to remove.
      </parameter>
     </parameters>
     <returnvalue>
      The item which was detached from the menu.
     </returnvalue>
     <description>
      <p>
       Removes the menu item from the menu but doesn't delete the associated C++
       object. This allows to reuse the same item later by adding it back to the
       menu (especially useful with submenus).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="SetHelpString">
    <function type="void" name="SetHelpString">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
      <parameter type="const wxString&amp; " name="helpString">
       The help string to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenugethelpstring">wxMenu::GetHelpString</ref>
     </seealso>
     <description>
      <p>
       Sets an item's help string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="SetLabel">
    <function type="void" name="SetLabel">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
      <parameter type="const wxString&amp; " name="label">
       The menu item label to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuappend">wxMenu::Append</ref>
      <ref target="wxmenugetlabel">wxMenu::GetLabel</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxMenu" name="SetTitle">
    <function type="void" name="SetTitle">
     <parameters>
      <parameter type="const wxString&amp; " name="title">
       The title to set.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenugettitle">wxMenu::GetTitle</ref>
     </seealso>
     <remarks>
      <p>
       This is relevant only to popup menus, use
       <ref target="wxmenubarsetlabeltop">wxMenuBar::SetLabelTop</ref>
       for the menus in the menubar.
      </p>
     </remarks>
     <description>
      <p>
       Sets the title of the menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenu" name="UpdateUI">
    <function type="void" name="UpdateUI" suffix="const">
     <parameters>
      <parameter type="wxEvtHandler&#42; " name="source" value="NULL"></parameter>
     </parameters>
     <seealso>
      <ref target="wxupdateuievent">wxUpdateUIEvent</ref>
     </seealso>
     <description>
      <p>
       Sends events to
       <i> source</i>
       (or owning window if NULL) to update the menu UI. This is called just
       before the menu is popped up with
       <ref target="wxwindowpopupmenu">wxWindow::PopupMenu</ref>
       , but the application may call it at other times if required.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMenuBar">
  <description>
   <p class="classdesc">
    A menu bar is a series of menus accessible from the top of a frame.
   </p>
  </description>
  <category>Menus</category>
  <shortdesc>Contains a series of menus for use with a frame</shortdesc>
  <parents>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/menu.h"/>
  </includes>
  <events></events>
  <seealso>
   <ref target="wxmenu">wxMenu</ref>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxMenuBar" name="wxMenuBar">
    <function type="" name="wxMenuBar">
     <parameters>
      <parameter type="long " name="style" value="0">
       If
       <tt> wxMB\_DOCKABLE</tt>
       the menu bar can be detached (wxGTK only).
      </parameter>
     </parameters>
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMenuBar">
     <parameters>
      <parameter type="size\_t " name="n">
       The number of menus.
      </parameter>
      <parameter type="wxMenu&#42; " name="menus[]"></parameter>
      <parameter type="const wxString " name="titles[]"></parameter>
      <parameter type="long " name="style" value="0">
       If
       <tt> wxMB\_DOCKABLE</tt>
       the menu bar can be detached (wxGTK only).
      </parameter>
     </parameters>
     <description>
      <p>
       Construct a menu bar from arrays of menus and titles.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="~wxMenuBar">
    <function type="void" name="~wxMenuBar">
     <description>
      <p>
       Destructor, destroying the menu bar and removing it from the parent frame
       (if any).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Append">
    <function type="bool" name="Append">
     <parameters>
      <parameter type="wxMenu &#42;" name="menu">
       The menu to add. Do not deallocate this menu after calling
       <b> Append</b>
       .
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The title of the menu.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubarinsert">wxMenuBar::Insert</ref>
     </seealso>
     <returnvalue>
      true on success, false if an error occurred.
     </returnvalue>
     <description>
      <p>
       Adds the item to the end of the menu bar.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Check">
    <function type="void" name="Check">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
      <parameter type="const bool " name="check">
       If true, checks the menu item, otherwise the item is unchecked.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Only use this when the menu bar has been associated with a frame;
       otherwise, use the wxMenu equivalent call.
      </p>
     </remarks>
     <description>
      <p>
       Checks or unchecks a menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Enable">
    <function type="void" name="Enable">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
      <parameter type="const bool " name="enable">
       true to enable the item, false to disable it.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Only use this when the menu bar has been associated with a frame;
       otherwise, use the wxMenu equivalent call.
      </p>
     </remarks>
     <description>
      <p>
       Enables or disables (greys out) a menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="EnableTop">
    <function type="void" name="EnableTop">
     <parameters>
      <parameter type="int " name="pos">
       The position of the menu, starting from zero.
      </parameter>
      <parameter type="const bool " name="enable">
       true to enable the menu, false to disable it.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Only use this when the menu bar has been associated with a frame.
      </p>
     </remarks>
     <description>
      <p>
       Enables or disables a whole menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="FindMenu">
    <function type="int" name="FindMenu" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="title"></parameter>
     </parameters>
     <description>
      <p>
       Returns the index of the menu with the given
       <i> title</i>
       or
       <tt> wxNOT\_FOUND</tt>
       if no such menu exists in this menubar. The
       <i> title</i>
       parameter may specify either the menu title (with accelerator characters,
       i.e.
       <tt> &quot;&amp;File&quot;</tt>
       ) or just the menu label (
       <tt> &quot;File&quot;</tt>
       ) indifferently.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="FindMenuItem">
    <function type="int" name="FindMenuItem" suffix="const">
     <parameters>
      <parameter type="const wxString&amp; " name="menuString">
       Menu title to find.
      </parameter>
      <parameter type="const wxString&amp; " name="itemString">
       Item to find.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Any special menu codes are stripped out of source and target strings
       before matching.
      </p>
     </remarks>
     <returnvalue>
      The menu item identifier, or
      <tt> wxNOT\_FOUND</tt>
      if none was found.
     </returnvalue>
     <description>
      <p>
       Finds the menu item id for a menu name/menu item string pair.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="FindItem">
    <function type="wxMenuItem &#42;" name="FindItem" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       Menu item identifier.
      </parameter>
      <parameter type="wxMenu &#42;&#42;" name="menu" value="NULL">
       If not NULL, menu will get set to the associated menu.
      </parameter>
     </parameters>
     <returnvalue>
      The found menu item object, or NULL if one was not found.
     </returnvalue>
     <description>
      <p>
       Finds the menu item object associated with the given menu item
       identifier.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="GetHelpString">
    <function type="wxString" name="GetHelpString" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubarsethelpstring">wxMenuBar::SetHelpString</ref>
     </seealso>
     <returnvalue>
      The help string, or the empty string if there was no help string or the
      menu item was not found.
     </returnvalue>
     <description>
      <p>
       Gets the help string associated with the menu item identifier.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="GetLabel">
    <function type="wxString" name="GetLabel" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Use only after the menubar has been associated with a frame.
      </p>
     </remarks>
     <returnvalue>
      The menu item label, or the empty string if the item was not found.
     </returnvalue>
     <description>
      <p>
       Gets the label associated with a menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="GetLabelTop">
    <function type="wxString" name="GetLabelTop" suffix="const">
     <parameters>
      <parameter type="int " name="pos">
       Position of the menu on the menu bar, starting from zero.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubarsetlabeltop">wxMenuBar::SetLabelTop</ref>
     </seealso>
     <remarks>
      <p>
       Use only after the menubar has been associated with a frame.
      </p>
     </remarks>
     <returnvalue>
      The menu label, or the empty string if the menu was not found.
     </returnvalue>
     <description>
      <p>
       Returns the label of a top-level menu. Note that the returned string does
       not include the accelerator characters which could have been specified in
       the menu title string during its construction.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="GetMenu">
    <function type="wxMenu&#42;" name="GetMenu" suffix="const">
     <parameters>
      <parameter type="int " name="menuIndex"></parameter>
     </parameters>
     <description>
      <p>
       Returns the menu at
       <i> menuIndex</i>
       (zero-based).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="GetMenuCount">
    <function type="int" name="GetMenuCount" suffix="const">
     <description>
      <p>
       Returns the number of menus in this menubar.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Insert">
    <function type="bool" name="Insert">
     <parameters>
      <parameter type="size\_t " name="pos">
       The position of the new menu in the menu bar
      </parameter>
      <parameter type="wxMenu &#42;" name="menu">
       The menu to add. wxMenuBar owns the menu and will free it.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The title of the menu.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubarappend">wxMenuBar::Append</ref>
     </seealso>
     <returnvalue>
      true on success, false if an error occurred.
     </returnvalue>
     <description>
      <p>
       Inserts the menu at the given position into the menu bar. Inserting menu
       at position 0 will insert it in the very beginning of it, inserting at
       position
       <ref target="wxmenubargetmenucount">GetMenuCount()</ref>
       is the same as calling
       <ref target="wxmenubarappend">Append()</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="IsChecked">
    <function type="bool" name="IsChecked" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <returnvalue>
      true if the item was found and is checked, false otherwise.
     </returnvalue>
     <description>
      <p>
       Determines whether an item is checked.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="IsEnabled">
    <function type="bool" name="IsEnabled" suffix="const">
     <parameters>
      <parameter type="int " name="id">
       The menu item identifier.
      </parameter>
     </parameters>
     <returnvalue>
      true if the item was found and is enabled, false otherwise.
     </returnvalue>
     <description>
      <p>
       Determines whether an item is enabled.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Refresh">
    <function type="void" name="Refresh">
     <description>
      <p>
       Redraw the menu bar
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Remove">
    <function type="wxMenu &#42;" name="Remove">
     <parameters>
      <parameter type="size\_t " name="pos"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubarreplace">wxMenuBar::Replace</ref>
     </seealso>
     <description>
      <p>
       Removes the menu from the menu bar and returns the menu object - the
       caller is responsible for deleting it. This function may be used together
       with
       <ref target="wxmenubarinsert">wxMenuBar::Insert</ref>
       to change the menubar dynamically.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="Replace">
    <function type="wxMenu &#42;" name="Replace">
     <parameters>
      <parameter type="size\_t " name="pos">
       The position of the new menu in the menu bar
      </parameter>
      <parameter type="wxMenu &#42;" name="menu">
       The menu to add.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The title of the menu.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubarinsert">wxMenuBar::Insert</ref>
      ,
      <ref target="wxmenubarremove">wxMenuBar::Remove</ref>
     </seealso>
     <returnvalue>
      The menu which was previously at position
      <i> pos</i>
      . The caller is responsible for deleting it.
     </returnvalue>
     <description>
      <p>
       Replaces the menu at the given position with another one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="SetHelpString">
    <function type="void" name="SetHelpString">
     <parameters>
      <parameter type="int " name="id">
       Menu item identifier.
      </parameter>
      <parameter type="const wxString&amp; " name="helpString">
       Help string to associate with the menu item.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubargethelpstring">wxMenuBar::GetHelpString</ref>
     </seealso>
     <description>
      <p>
       Sets the help string associated with a menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="SetLabel">
    <function type="void" name="SetLabel">
     <parameters>
      <parameter type="int " name="id">
       Menu item identifier.
      </parameter>
      <parameter type="const wxString&amp; " name="label">
       Menu item label.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubargetlabel">wxMenuBar::GetLabel</ref>
     </seealso>
     <remarks>
      <p>
       Use only after the menubar has been associated with a frame.
      </p>
     </remarks>
     <description>
      <p>
       Sets the label of a menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuBar" name="SetLabelTop">
    <function type="void" name="SetLabelTop">
     <parameters>
      <parameter type="int " name="pos">
       The position of a menu on the menu bar, starting from zero.
      </parameter>
      <parameter type="const wxString&amp; " name="label">
       The menu label.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxmenubargetlabeltop">wxMenuBar::GetLabelTop</ref>
     </seealso>
     <remarks>
      <p>
       Use only after the menubar has been associated with a frame.
      </p>
     </remarks>
     <description>
      <p>
       Sets the label of a top-level menu.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMenuEvent">
  <description>
   <p class="classdesc">
    This class is used for a variety of menu-related events. Note that these do
    not include menu command events, which are handled using
    <ref target="wxcommandevent">wxCommandEvent</ref>
    objects.
   </p>
   <p class="classdesc">
    The default handler for wxEVT\_MENU\_HIGHLIGHT displays help text in the first
    field of the status bar.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A menu event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_MENU\_OPEN(func)">A menu is about to be opened. On Windows,
this is only sent once for each navigation of the menubar (up until all menus have closed).</event>
   <event name="EVT\_MENU\_CLOSE(func)">A menu has been just closed.</event>
   <event name="EVT\_MENU\_HIGHLIGHT(id, func)">The menu item with the
specified id has been highlighted: used to show help prompts in the status bar
by <ref target="wxframe">wxFrame</ref>
   </event>
   <event name="EVT\_MENU\_HIGHLIGHT\_ALL(func)">A menu item has been
highlighted, i.e. the currently selected menu item has changed.</event>
  </events>
  <seealso>
   <ref target="wxcommandevent">Command events</ref>
   ,
   <br/>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxMenuEvent" name="wxMenuEvent">
    <function type="" name="wxMenuEvent">
     <parameters>
      <parameter type="WXTYPE " name="id" value="0"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
      <parameter type="wxMenu&#42; " name="menu" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuEvent" name="GetMenu">
    <function type="wxMenu &#42;" name="GetMenu" suffix="const">
     <description>
      <p>
       Returns the menu which is being opened or closed. This method should only
       be used with the
       <tt>OPEN</tt>
       and
       <tt>CLOSE</tt>
       events.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuEvent" name="GetMenuId">
    <function type="int" name="GetMenuId" suffix="const">
     <description>
      <p>
       Returns the menu identifier associated with the event. This method should
       be only used with the
       <tt> HIGHLIGHT</tt>
       events.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuEvent" name="IsPopup">
    <function type="bool" name="IsPopup" suffix="const">
     <description>
      <p>
       Returns
       <tt> true</tt>
       if the menu which is being opened or closed is a popup menu,
       <tt> false</tt>
       if it is a normal one.
      </p>
      <p>
       This method should only be used with the
       <tt> OPEN</tt>
       and
       <tt> CLOSE</tt>
       events.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMenuItem">
  <description>
   <p class="classdesc">
    A menu item represents an item in a menu. Note that you usually don't have
    to deal with it directly as
    <ref target="wxmenu">wxMenu</ref>
    methods usually construct an object of this class for you.
   </p>
   <p class="classdesc">
    Also please note that the methods related to fonts and bitmaps are currently
    only implemented for Windows and GTK+.
   </p>
  </description>
  <category>Menus</category>
  <shortdesc>Represents a single menu item</shortdesc>
  <parents>
   <ref type="help" target="wxOwnerDrawn">wxOwnerDrawn (Windows only)</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/menuitem.h"/>
  </includes>
  <seealso>
   <ref target="wxmenubar">wxMenuBar</ref>
   <ref target="wxmenu">wxMenu</ref>
  </seealso>
  <members>
   <member class="wxMenuItem" name="wxMenuItem">
    <function type="" name="wxMenuItem">
     <parameters>
      <parameter type="wxMenu&#42; " name="parentMenu" value="NULL">
       Menu that the menu item belongs to.
      </parameter>
      <parameter type="int " name="id" value="wxID\_SEPARATOR">
       Identifier for this menu item, or wxID\_SEPARATOR to indicate a separator.
      </parameter>
      <parameter type="const wxString&amp; " name="text" value="&quot;&quot;">
       Text for the menu item, as shown on the menu. An accelerator key can be
       specified using the ampersand '&amp;' character. In order to embed an
       ampersand character in the menu item text, the ampersand must be doubled.
      </parameter>
      <parameter type="const wxString&amp; " name="helpString" value="&quot;&quot;">
       Optional help string that will be shown on the status bar.
      </parameter>
      <parameter type="wxItemKind " name="kind" value="wxITEM\_NORMAL">
       May be
       <tt> wxITEM\_SEPARATOR</tt>
       ,
       <tt> wxITEM\_NORMAL</tt>
       ,
       <tt> wxITEM\_CHECK</tt>
       or
       <tt> wxITEM\_RADIO</tt>
      </parameter>
      <parameter type="wxMenu&#42; " name="subMenu" value="NULL">
       If non-NULL, indicates that the menu item is a submenu.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructs a wxMenuItem object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="~wxMenuItem">
    <function type="" name="~wxMenuItem">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="Check">
    <function type="void" name="Check">
     <parameters>
      <parameter type="bool " name="check" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Checks or unchecks the menu item.
      </p>
      <p>
       Note that this only works when the item is already appended to a menu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="Enable">
    <function type="void" name="Enable">
     <parameters>
      <parameter type="bool " name="enable" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Enables or disables the menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetBackgroundColour" specific="msw">
    <function type="wxColour&amp;" name="GetBackgroundColour" suffix="const">
     <description>
      <p>
       Returns the background colour associated with the menu item (Windows
       only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetBitmap" specific="msw">
    <function type="wxBitmap&amp;" name="GetBitmap" suffix="const">
     <parameters>
      <parameter type="bool " name="checked" value="true"></parameter>
     </parameters>
     <description>
      <p>
       Returns the checked or unchecked bitmap (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetFont" specific="msw">
    <function type="wxFont&amp;" name="GetFont" suffix="const">
     <description>
      <p>
       Returns the font associated with the menu item (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetHelp">
    <function type="wxString" name="GetHelp" suffix="const">
     <description>
      <p>
       Returns the help string associated with the menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetId">
    <function type="int" name="GetId" suffix="const">
     <description>
      <p>
       Returns the menu item identifier.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetKind">
    <function type="wxItemKind" name="GetKind" suffix="const">
     <description>
      <p>
       Returns the item kind, one of
       <tt> wxITEM\_SEPARATOR</tt>
       ,
       <tt> wxITEM\_NORMAL</tt>
       ,
       <tt> wxITEM\_CHECK</tt>
       or
       <tt> wxITEM\_RADIO</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetLabel">
    <function type="wxString" name="GetLabel" suffix="const">
     <seealso>
      <ref target="wxmenuitemgettext">GetText</ref>
      <ref target="wxmenuitemgetlabelfromtext">GetLabelFromText</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetLabelFromText">
    <function type="static wxString" name="GetLabelFromText">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
     </parameters>
     <seealso>
      <ref target="wxmenuitemgettext">GetText</ref>
      <ref target="wxmenuitemgetlabel">GetLabel</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetMarginWidth" specific="msw">
    <function type="int" name="GetMarginWidth" suffix="const">
     <description>
      <p>
       Gets the width of the menu item checkmark bitmap (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetMenu">
    <function type="wxMenu&#42;" name="GetMenu" suffix="const">
     <description>
      <p>
       Returns the menu this menu item is in, or NULL if this menu item is not
       attached.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetName">
    <function type="wxString" name="GetName" suffix="const">
     <description>
      <p>
       Returns the text associated with the menu item.
      </p>
      <p>
       <b> NB:</b>
       this function is deprecated, please use
       <ref target="wxmenuitemgettext">GetText</ref>
       or
       <ref target="wxmenuitemgetlabel">GetLabel</ref>
       instead.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetText">
    <function type="wxString" name="GetText" suffix="const">
     <seealso>
      <ref target="wxmenuitemgetlabel">GetLabel</ref>
      <ref target="wxmenuitemgetlabelfromtext">GetLabelFromText</ref>
     </seealso>
     <description></description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetSubMenu">
    <function type="wxMenu&#42;" name="GetSubMenu" suffix="const">
     <description>
      <p>
       Returns the submenu associated with the menu item, or NULL if there isn't
       one.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="GetTextColour" specific="msw">
    <function type="wxColour&amp;" name="GetTextColour" suffix="const">
     <description>
      <p>
       Returns the text colour associated with the menu item (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="IsCheckable">
    <function type="bool" name="IsCheckable" suffix="const">
     <description>
      <p>
       Returns true if the item is checkable.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="IsChecked">
    <function type="bool" name="IsChecked" suffix="const">
     <description>
      <p>
       Returns true if the item is checked.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="IsEnabled">
    <function type="bool" name="IsEnabled" suffix="const">
     <description>
      <p>
       Returns true if the item is enabled.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="IsSeparator">
    <function type="bool" name="IsSeparator" suffix="const">
     <description>
      <p>
       Returns true if the item is a separator.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="IsSubMenu">
    <function type="bool" name="IsSubMenu" suffix="const">
     <description>
      <p>
       Returns true if the item is a submenu.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetBackgroundColour" specific="msw">
    <function type="void" name="SetBackgroundColour" suffix="const">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the background colour associated with the menu item (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetBitmap">
    <function type="void" name="SetBitmap">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="bmp"></parameter>
     </parameters>
     <description>
      <p>
       Sets the bitmap for the menu item (Windows and GTK+ only). It is
       equivalent to
       <ref target="wxmenuitemsetbitmaps">SetBitmaps</ref>
       (bmp, wxNullBitmap).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetBitmaps" specific="msw">
    <function type="void" name="SetBitmaps">
     <parameters>
      <parameter type="const wxBitmap&amp; " name="checked"></parameter>
      <parameter type="const wxBitmap&amp; " name="unchecked" value="wxNullBitmap"></parameter>
     </parameters>
     <description>
      <p>
       Sets the checked/unchecked bitmaps for the menu item (Windows only). The
       first bitmap is also used as the single bitmap for uncheckable menu
       items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetFont" specific="msw">
    <function type="void" name="SetFont">
     <parameters>
      <parameter type="const wxFont&amp; " name="font"></parameter>
     </parameters>
     <description>
      <p>
       Sets the font associated with the menu item (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetHelp">
    <function type="void" name="SetHelp">
     <parameters>
      <parameter type="const wxString&amp; " name="helpString"></parameter>
     </parameters>
     <description>
      <p>
       Sets the help string.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetMarginWidth" specific="msw">
    <function type="void" name="SetMarginWidth" suffix="const">
     <parameters>
      <parameter type="int " name="width"></parameter>
     </parameters>
     <description>
      <p>
       Sets the width of the menu item checkmark bitmap (Windows only).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetMenu">
    <function type="void" name="SetMenu">
     <parameters>
      <parameter type="const wxMenu&#42;" name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Sets the parent menu which will contain this menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetSubMenu">
    <function type="void" name="SetSubMenu">
     <parameters>
      <parameter type="const wxMenu&#42;" name="menu"></parameter>
     </parameters>
     <description>
      <p>
       Sets the submenu of this menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetText">
    <function type="void" name="SetText">
     <parameters>
      <parameter type="const wxString&amp; " name="text"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text associated with the menu item.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMenuItem" name="SetTextColour" specific="msw">
    <function type="void" name="SetTextColour">
     <parameters>
      <parameter type="const wxColour&amp; " name="colour"></parameter>
     </parameters>
     <description>
      <p>
       Sets the text colour associated with the menu item (Windows only).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMessageDialog">
  <description>
   <p class="classdesc">
    This class represents a dialog that shows a single or multi-line message,
    with a choice of OK, Yes, No and Cancel buttons.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Simple message box dialog</shortdesc>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/msgdlg.h"/>
  </includes>
  <seealso>
   <ref target="wxmessagedialogoverview">wxMessageDialog overview</ref>
  </seealso>
  <members>
   <member class="wxMessageDialog" name="wxMessageDialog">
    <function type="" name="wxMessageDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window.
      </parameter>
      <parameter type="const wxString&amp; " name="message">
       Message to show on the dialog.
      </parameter>
      <parameter type="const wxString&amp; " name="caption" value="&quot;Message">
       The dialog caption.
      </parameter>
      <parameter type="long " name="style" value="wxOK"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Dialog position. Not Windows.
      </parameter>
     </parameters>
     <description>
      <p>
       Constructor. Use
       <ref target="wxmessagedialogshowmodal">wxMessageDialog::ShowModal</ref>
       to show the dialog.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMessageDialog" name="~wxMessageDialog">
    <function type="" name="~wxMessageDialog">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMessageDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <description>
      <p>
       Shows the dialog, returning one of wxID\_OK, wxID\_CANCEL, wxID\_YES,
       wxID\_NO.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMetafile" specific="msw">
  <description>
   <p class="classdesc">
    A
    <b> wxMetafile</b>
    represents the MS Windows metafile object, so metafile operations have no
    effect in X. In wxWidgets, only sufficient functionality has been provided
    for copying a graphic to the clipboard; this may be extended in a future
    version. Presently, the only way of creating a metafile is to use a
    wxMetafileDC.
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/metafile.h"/>
  </includes>
  <seealso>
   <ref target="wxmetafiledc">wxMetafileDC</ref>
  </seealso>
  <members>
   <member class="wxMetafile" name="wxMetafile">
    <function type="" name="wxMetafile">
     <parameters>
      <parameter type="const wxString&amp; " name="filename" value="&quot;&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. If a filename is given, the Windows disk metafile is read
       in. Check whether this was performed successfully by using the
       <ref target="wxmetafileok">wxMetafile::Ok</ref>
       member.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMetafile" name="~wxMetafile">
    <function type="" name="~wxMetafile">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMetafile" name="Ok">
    <function type="bool" name="Ok">
     <description>
      <p>
       Returns true if the metafile is valid.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMetafile" name="Play">
    <function type="bool" name="Play">
     <parameters>
      <parameter type="wxDC &#42;" name="dc"></parameter>
     </parameters>
     <description>
      <p>
       Plays the metafile into the given device context, returning true if
       successful.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMetafile" name="SetClipboard">
    <function type="bool" name="SetClipboard">
     <parameters>
      <parameter type="int " name="width" value="0"></parameter>
      <parameter type="int " name="height" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Passes the metafile data to the clipboard. The metafile can no longer be
       used for anything, but the wxMetafile object must still be destroyed by
       the application.
      </p>
      <p>
       Below is a example of metafile, metafile device context and clipboard use
       from the
       <tt> hello.cpp</tt>
       example. Note the way the metafile dimensions are passed to the
       clipboard, making use of the device context's ability to keep track of
       the maximum extent of drawing commands.
      </p>
      <pre>
  wxMetafileDC dc;
  if (dc.Ok())
  \{
    Draw(dc, false);
    wxMetafile &#42;mf = dc.Close();
    if (mf)
    \{
      bool success = mf-&gt;SetClipboard((int)(dc.MaxX() + 10), (int)(dc.MaxY() + 10));
      delete mf;
    \}
  \}
</pre>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMetafileDC" specific="msw">
  <description>
   <p class="classdesc">
    This is a type of device context that allows a metafile object to be created
    (Windows only), and has most of the characteristics of a normal
    <b> wxDC</b>
    . The
    <ref target="wxmetafiledcclose">wxMetafileDC::Close</ref>
    member must be called after drawing into the device context, to return a
    metafile. The only purpose for this at present is to allow the metafile to
    be copied to the clipboard (see
    <ref target="wxmetafile">wxMetafile</ref>
    ).
   </p>
   <p class="classdesc">
    Adding metafile capability to an application should be easy if you already
    write to a wxDC; simply pass the wxMetafileDC to your drawing function
    instead. You may wish to conditionally compile this code so it is not
    compiled under X (although no harm will result if you leave it in).
   </p>
   <p class="classdesc">
    Note that a metafile saved to disk is in standard Windows metafile format,
    and cannot be imported into most applications. To make it importable, call
    the function
    <ref target="wxmakemetafileplaceable">::wxMakeMetafilePlaceable</ref>
    after closing your disk-based metafile device context.
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>A device context for drawing into metafiles</shortdesc>
  <parents>
   <ref type="help" target="wxDC">wxDC</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/metafile.h"/>
  </includes>
  <seealso>
   <ref target="wxmetafile">wxMetafile</ref>
   <ref target="wxdc">wxDC</ref>
  </seealso>
  <members>
   <member class="wxMetafileDC" name="wxMetafileDC">
    <function type="" name="wxMetafileDC">
     <parameters>
      <parameter type="const wxString&amp; " name="filename" value="&quot;&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. If no filename is passed, the metafile is created in memory.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMetafileDC" name="~wxMetafileDC">
    <function type="" name="~wxMetafileDC">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMetafileDC" name="Close">
    <function type="wxMetafile &#42;" name="Close">
     <description>
      <p>
       This must be called after the device context is finished with. A metafile
       is returned, and ownership of it passes to the calling application (so it
       should be destroyed explicitly).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="N"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMimeTypesManager">
  <description>
   <p class="classdesc">
    This class allows the application to retrieve the information about all
    known MIME types from a system-specific location and the filename extensions
    to the MIME types and vice versa. After initialization the functions
    <ref target="wxmimetypesmanagergetfiletypefrommimetype">wxMimeTypesManager::GetFileTypeFromMimeType</ref>
    and
    <ref target="wxmimetypesmanagergetfiletypefromextension">wxMimeTypesManager::GetFileTypeFromExtension</ref>
    may be called: they will return a
    <ref target="wxfiletype">wxFileType</ref>
    object which may be further queried for file description, icon and other
    attributes.
   </p>
   <p class="classdesc">
    <b> Windows:</b>
    MIME type information is stored in the registry and no additional
    initialization is needed.
   </p>
   <p class="classdesc">
    <b> Unix:</b>
    MIME type information is stored in the files mailcap and mime.types
    (system-wide) and .mailcap and .mime.types in the current user's home
    directory: all of these files are searched for and loaded if found by
    default. However, additional functions
    <ref target="wxmimetypesmanagerreadmailcap">wxMimeTypesManager::ReadMailcap</ref>
    and
    <ref target="wxmimetypesmanagerreadmimetypes">wxMimeTypesManager::ReadMimeTypes</ref>
    are provided to load additional files.
   </p>
   <p class="classdesc">
    If GNOME or KDE desktop environment is installed, then wxMimeTypesManager
    gathers MIME information from respective files (e.g. .kdelnk files under
    KDE).
   </p>
   <p class="classdesc">
    NB: Currently, wxMimeTypesManager is limited to reading MIME type
    information but it will support modifying it as well in future versions.
   </p>
   <p class="classdesc">
    <heading>Global objects</heading>
   </p>
   <p class="classdesc">
    Global instance of wxMimeTypesManager is always available. It is defined as
    follows:
   </p>
   <p class="classdesc">
    <pre>
wxMimeTypesManager &#42;wxTheMimeTypesManager;
</pre>
   </p>
   <p class="classdesc">
    It is recommended to use this instance instead of creating your own because
    gathering MIME information may take quite a long on Unix systems.
   </p>
  </description>
  <category>Miscellaneous</category>
  <shortdesc>MIME-types manager class</shortdesc>
  <parents></parents>
  <includes>
   <header name="wx/mimetype.h"/>
  </includes>
  <seealso>
   <ref target="wxfiletype">wxFileType</ref>
  </seealso>
  <members>
   <member class="wxMimeTypesManager" name=""></member>
   <member class="wxMimeTypesManager" name=""></member>
   <member class="wxMimeTypesManager" name=""></member>
   <member class="wxMimeTypesManager" name=""></member>
   <member class="wxMimeTypesManager" name="wxMimeTypesManager">
    <function type="" name="wxMimeTypesManager">
     <description>
      <p>
       Constructor puts the object in the &quot;working&quot; state, no
       additional initialization are needed - but
       <ref target="wxmimetypesmanagerinit">ReadXXX</ref>
       may be used to load additional mailcap/mime.types files.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="~wxMimeTypesManager">
    <function type="" name="~wxMimeTypesManager">
     <description>
      <p>
       Destructor is not virtual, so this class should not be derived from.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="AddFallbacks">
    <function type="void" name="AddFallbacks">
     <parameters>
      <parameter type="const wxFileTypeInfo &#42;" name="fallbacks"></parameter>
     </parameters>
     <description>
      <p>
       This function may be used to provide hard-wired fallbacks for the MIME
       types and extensions that might not be present in the system MIME
       database.
      </p>
      <p>
       Please see the typetest sample for an example of using it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="GetFileTypeFromExtension">
    <function type="wxFileType&#42;" name="GetFileTypeFromExtension">
     <parameters>
      <parameter type="const wxString&amp; " name="extension"></parameter>
     </parameters>
     <description>
      <p>
       Gather information about the files with given extension and return the
       corresponding
       <ref target="wxfiletype">wxFileType</ref>
       object or NULL if the extension is unknown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="GetFileTypeFromMimeType">
    <function type="wxFileType&#42;" name="GetFileTypeFromMimeType">
     <parameters>
      <parameter type="const wxString&amp; " name="mimeType"></parameter>
     </parameters>
     <description>
      <p>
       Gather information about the files with given MIME type and return the
       corresponding
       <ref target="wxfiletype">wxFileType</ref>
       object or NULL if the MIME type is unknown.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="IsOfType">
    <function type="bool" name="IsOfType">
     <parameters>
      <parameter type="const wxString&amp; " name="mimeType"></parameter>
      <parameter type="const wxString&amp; " name="wildcard"></parameter>
     </parameters>
     <description>
      <p>
       This function returns true if either the given
       <i> mimeType</i>
       is exactly the same as
       <i> wildcard</i>
       or if it has the same category and the subtype of
       <i> wildcard</i>
       is '&#42;'. Note that the '&#42;' wildcard is not allowed in
       <i> mimeType</i>
       itself.
      </p>
      <p>
       The comparison don by this function is case insensitive so it is not
       necessary to convert the strings to the same case before calling it.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="ReadMailcap">
    <function type="bool" name="ReadMailcap">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
      <parameter type="bool " name="fallback" value="false"></parameter>
     </parameters>
     <description>
      <p>
       Load additional file containing information about MIME types and
       associated information in mailcap format. See metamail(1) and mailcap(5)
       for more information.
      </p>
      <p>
       <i> fallback</i>
       parameter may be used to load additional mailcap files without overriding
       the settings found in the standard files: normally, entries from files
       loaded with ReadMailcap will override the entries from files loaded
       previously (and the standard ones are loaded in the very beginning), but
       this will not happen if this parameter is set to true (default is false).
      </p>
      <p>
       The return value is true if there were no errors in the file or false
       otherwise.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMimeTypesManager" name="ReadMimeTypes">
    <function type="bool" name="ReadMimeTypes">
     <parameters>
      <parameter type="const wxString&amp; " name="filename"></parameter>
     </parameters>
     <description>
      <p>
       Load additional file containing information about MIME types and
       associated information in mime.types file format. See metamail(1) and
       mailcap(5) for more information.
      </p>
      <p>
       The return value is true if there were no errors in the file or false
       otherwise.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMiniFrame">
  <description>
   <p class="classdesc">
    A miniframe is a frame with a small title bar. It is suitable for floating
    toolbars that must not take up too much screen area.
   </p>
  </description>
  <category>Managed windows</category>
  <shortdesc>A frame with a small title bar</shortdesc>
  <remarks>
   <p>
    This class has miniframe functionality under Windows and GTK, i.e. the
    presence of mini frame will not be noted in the task bar and focus behaviour
    is different. On other platforms, it behaves like a normal frame.
   </p>
  </remarks>
  <parents>
   <ref type="help" target="wxFrame">wxFrame</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/minifram.h"/>
  </includes>
  <windowstyles>
   <style name="wxICONIZE">
    Display the frame iconized (minimized) (Windows only).
   </style>
   <style name="wxCAPTION">
    Puts a caption on the frame.
   </style>
   <style name="wxDEFAULT\_FRAME\_STYLE">
    Defined as
    <b> wxMINIMIZE\_BOX \\pipe wxMAXIMIZE\_BOX \\pipe wxTHICK\_FRAME \\pipe wxSYSTEM\_MENU \\pipe wxCAPTION \\pipe wxCLOSE\_BOX</b>
    .
   </style>
   <style name="wxMINIMIZE">
    Identical to
    <b> wxICONIZE</b>
    .
   </style>
   <style name="wxMINIMIZE\_BOX">
    Displays a minimize box on the frame (Windows and Motif only).
   </style>
   <style name="wxMAXIMIZE">
    Displays the frame maximized (Windows only).
   </style>
   <style name="wxMAXIMIZE\_BOX">
    Displays a maximize box on the frame (Windows and Motif only).
   </style>
   <style name="wxCLOSE\_BOX">
    Displays a close box on the frame.
   </style>
   <style name="wxSTAY\_ON\_TOP">
    Stay on top of other windows (Windows only).
   </style>
   <style name="wxSYSTEM\_MENU">
    Displays a system menu (Windows and Motif only).
   </style>
   <style name="wxTHICK\_FRAME">
    Displays a thick frame around the window (Windows and Motif only).
   </style>
   <style name="wxTINY\_CAPTION\_HORIZ">
    wxTINY\_CAPTION\_HORIZ
   </style>
   <style name="wxTINY\_CAPTION\_VERT">
    wxTINY\_CAPTION\_VERT
   </style>
   <style name="wxRESIZE\_BORDER">
    wxRESIZE\_BORDER
   </style>
  </windowstyles>
  <seealso>
   <ref target="wxmdiparentframe">wxMDIParentFrame</ref>
   <ref target="wxmdichildframe">wxMDIChildFrame</ref>
   ,
   <ref target="wxframe">wxFrame</ref>
   <ref target="wxdialog">wxDialog</ref>
  </seealso>
  <members>
   <member class="wxMiniFrame" name="wxMiniFrame">
    <function type="" name="wxMiniFrame">
     <description>
      <p>
       Default constructor.
      </p>
     </description>
    </function>
    <function type="" name="wxMiniFrame">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       The window parent. This may be NULL. If it is non-NULL, the frame will
       always be displayed on top of the parent window on Windows.
      </parameter>
      <parameter type="wxWindowID " name="id">
       The window identifier. It may take a value of -1 to indicate a default
       value.
      </parameter>
      <parameter type="const wxString&amp; " name="title">
       The caption to be displayed on the frame's title bar.
      </parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       The window position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxWidgets, depending on
       platform.
      </parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
       The window size. A value of (-1, -1) indicates a default size, chosen by
       either the windowing system or wxWidgets, depending on platform.
      </parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE">
       The window style. See
       <ref target="wxminiframe">wxMiniFrame</ref>
       .
      </parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;">
       The name of the window. This parameter is used to associate a name with
       the item, allowing the application user to set Motif resource values for
       individual windows.
      </parameter>
     </parameters>
     <seealso>
      <ref target="wxminiframecreate">wxMiniFrame::Create</ref>
     </seealso>
     <remarks>
      <p>
       The frame behaves like a normal frame on non-Windows platforms.
      </p>
     </remarks>
     <description>
      <p>
       Constructor, creating the window.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMiniFrame" name="~wxMiniFrame">
    <function type="void" name="~wxMiniFrame">
     <description>
      <p>
       Destructor. Destroys all child windows and menu bar if present.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMiniFrame" name="Create">
    <function type="bool" name="Create">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent"></parameter>
      <parameter type="wxWindowID " name="id"></parameter>
      <parameter type="const wxString&amp; " name="title"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
      <parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
      <parameter type="long " name="style" value="wxDEFAULT\_FRAME\_STYLE"></parameter>
      <parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
     </parameters>
     <description>
      <p>
       Used in two-step frame construction. See
       <ref target="wxminiframector">wxMiniFrame::wxMiniFrame</ref>
       for further details.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="N"/>
   <platform name="x11" status="N"/>
   <platform name="nanox" status="N"/>
   <platform name="mgl" status="N"/>
   <platform name="macos" status="N"/>
   <platform name="os2" status="N"/>
  </supported>
 </class>
 <class name="wxMirrorDC">
  <description>
   <p class="classdesc">
    wxMirrorDC is a simple wrapper class which is always associated with a real
    <ref target="wxdc">wxDC</ref>
    object and either forwards all of its operations to it without changes (no
    mirroring takes place) or exchanges
    <i> x</i>
    and
    <i> y</i>
    coordinates which makes it possible to reuse the same code to draw a figure
    and its mirror -- i.e. reflection related to the diagonal line $x == y$.
   </p>
   <p class="classdesc">
    wxMirrorDC has been added in wxWidgets version 2.5.0.
   </p>
  </description>
  <category>Device contexts</category>
  <shortdesc>A proxy device context allowing for simple mirroring.</shortdesc>
  <parents>
   <ref type="help" target="wxDC">wxDC</ref>
  </parents>
  <includes>
   <header name="wx/dcmirror.h"/>
  </includes>
  <members>
   <member class="wxMirrorDC" name="wxMirrorDC">
    <function type="" name="wxMirrorDC">
     <parameters>
      <parameter type="wxDC&amp; " name="dc"></parameter>
      <parameter type="bool " name="mirror"></parameter>
     </parameters>
     <description>
      <p>
       Creates a (maybe) mirrored DC associated with the real
       <i>dc</i>
       . Everything drawn on wxMirrorDC will appear (and maybe mirrored) on
       <i>dc</i>
       .
      </p>
      <p>
       <i>mirror</i>
       specifies if we do mirror (if it is true) or not (if it is false).
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxModule" annotation="abstract">
  <description>
   <p class="classdesc">
    The module system is a very simple mechanism to allow applications (and
    parts of wxWidgets itself) to define initialization and cleanup functions
    that are automatically called on wxWidgets startup and exit.
   </p>
   <p class="classdesc">
    To define a new kind of module, derive a class from wxModule, override the
    OnInit and OnExit functions, and add the DECLARE\_DYNAMIC\_CLASS and
    IMPLEMENT\_DYNAMIC\_CLASS to header and implementation files (which can be the
    same file). On initialization, wxWidgets will find all classes derived from
    wxModule, create an instance of each, and call each OnInit function. On
    exit, wxWidgets will call the OnExit function for each module instance.
   </p>
   <p class="classdesc">
    Note that your module class does not have to be in a header file.
   </p>
   <p class="classdesc">
    For example:
   </p>
   <p class="classdesc">
    <pre>
  // A module to allow DDE initialization/cleanup
  // without calling these functions from app.cpp or from
  // the user's application.

  class wxDDEModule: public wxModule
  \{
  DECLARE\_DYNAMIC\_CLASS(wxDDEModule)
  public:
      wxDDEModule() \{\}
      bool OnInit() \{ wxDDEInitialize(); return true; \};
      void OnExit() \{ wxDDECleanUp(); \};
  \};

  IMPLEMENT\_DYNAMIC\_CLASS(wxDDEModule, wxModule)
</pre>
   </p>
  </description>
  <category>Miscellaneous</category>
  <parents>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/module.h"/>
  </includes>
  <members>
   <member class="wxModule" name="wxModule">
    <function type="" name="wxModule">
     <description>
      <p>
       Constructs a wxModule object.
      </p>
     </description>
    </function>
   </member>
   <member class="wxModule" name="~wxModule">
    <function type="" name="~wxModule">
     <description>
      <p>
       Destructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxModule" name="OnExit">
    <function type="virtual void" name="OnExit">
     <description>
      <p>
       Provide this function with appropriate cleanup for your module.
      </p>
     </description>
    </function>
   </member>
   <member class="wxModule" name="OnInit">
    <function type="virtual bool" name="OnInit">
     <description>
      <p>
       Provide this function with appropriate initialization for your module. If
       the function returns false, wxWidgets will exit immediately.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMouseCaptureChangedEvent">
  <description>
   <p class="classdesc">
    An mouse capture changed event is sent to a window that loses its mouse
    capture. This is called even if wxWindow::ReleaseCapture was called by the
    application code. Handling this event allows an application to cater for
    unexpected capture releases which might otherwise confuse mouse handling
    code.
   </p>
   <p class="classdesc">
    This event is implemented under Windows only.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A mouse capture changed event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_MOUSE\_CAPTURE\_CHANGED(func)">Process a wxEVT\_MOUSE\_CAPTURE\_CHANGED event.</event>
  </events>
  <seealso>
   <ref target="eventhandlingoverview">Event handling overview</ref>
   <ref target="wxwindowcapturemouse">wxWindow::CaptureMouse</ref>
   <ref target="wxwindowreleasemouse">wxWindow::ReleaseMouse</ref>
   <ref target="wxwindowgetcapture">wxWindow::GetCapture</ref>
  </seealso>
  <members>
   <member class="wxMouseCaptureChangedEvent" name="wxMouseCaptureChangedEvent">
    <function type="" name="wxMouseCaptureChangedEvent">
     <parameters>
      <parameter type="wxWindowID " name="windowId" value="0"></parameter>
      <parameter type="wxWindow&#42; " name="gainedCapture" value="NULL"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxActivateEvent" name="GetCapturedWindow">
    <function type="wxWindow&#42;" name="GetCapturedWindow" suffix="const">
     <description>
      <p>
       Returns the window that gained the capture, or NULL if it was a
       non-wxWidgets window.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxMouseEvent">
  <description>
   <p class="classdesc">
    This event class contains information about the events generated by the
    mouse: they include mouse buttons press and release events and mouse move
    events.
   </p>
   <p class="classdesc">
    All mouse events involving the buttons use
    <tt> wxMOUSE\_BTN\_LEFT</tt>
    for the left mouse button,
    <tt> wxMOUSE\_BTN\_MIDDLE</tt>
    for the middle one and
    <tt> wxMOUSE\_BTN\_RIGHT</tt>
    for the right one. Note that not all mice have a middle button so a portable
    application should avoid relying on the events from it.
   </p>
   <p class="classdesc">
    <b> NB:</b>
    Note that under Windows CE mouse enter and leave events are not natively
    supported by the system but are generated by wxWidgets itself. This has
    several drawbacks: the LEAVE\_WINDOW event might be received some time after
    the mouse left the window and the state variables for it may have changed
    during this time.
   </p>
   <p class="classdesc">
    <b> NB:</b>
    Note the difference between methods like
    <ref target="wxmouseeventleftdown">LeftDown</ref>
    and
    <ref target="wxmouseeventleftisdown">LeftIsDown</ref>
    : the former returns
    <tt> true</tt>
    when the event corresponds to the left mouse button click while the latter
    returns
    <tt> true</tt>
    if the left mouse button is currently being pressed. For example, when the
    user is dragging the mouse you can use
    <ref target="wxmouseeventleftisdown">LeftIsDown</ref>
    to test whether the left mouse button is (still) depressed. Also, by
    convention, if
    <ref target="wxmouseeventleftdown">LeftDown</ref>
    returns
    <tt> true</tt>
    ,
    <ref target="wxmouseeventleftisdown">LeftIsDown</ref>
    will also return
    <tt> true</tt>
    in wxWidgets whatever the underlying GUI behaviour is (which is
    platform-dependent). The same applies, of course, to other mouse buttons as
    well.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A mouse event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_LEFT\_DOWN(func)">Process a wxEVT\_LEFT\_DOWN event. The
handler of this event should normally call <ref target="wxeventskip">event.Skip()</ref> to
allow the default processing to take place as otherwise the window under mouse
wouldn't get the focus.</event>
   <event name="EVT\_LEFT\_UP(func)">Process a wxEVT\_LEFT\_UP event.</event>
   <event name="EVT\_LEFT\_DCLICK(func)">Process a wxEVT\_LEFT\_DCLICK event.</event>
   <event name="EVT\_MIDDLE\_DOWN(func)">Process a wxEVT\_MIDDLE\_DOWN event.</event>
   <event name="EVT\_MIDDLE\_UP(func)">Process a wxEVT\_MIDDLE\_UP event.</event>
   <event name="EVT\_MIDDLE\_DCLICK(func)">Process a wxEVT\_MIDDLE\_DCLICK event.</event>
   <event name="EVT\_RIGHT\_DOWN(func)">Process a wxEVT\_RIGHT\_DOWN event.</event>
   <event name="EVT\_RIGHT\_UP(func)">Process a wxEVT\_RIGHT\_UP event.</event>
   <event name="EVT\_RIGHT\_DCLICK(func)">Process a wxEVT\_RIGHT\_DCLICK event.</event>
   <event name="EVT\_MOTION(func)">Process a wxEVT\_MOTION event.</event>
   <event name="EVT\_ENTER\_WINDOW(func)">Process a wxEVT\_ENTER\_WINDOW event.</event>
   <event name="EVT\_LEAVE\_WINDOW(func)">Process a wxEVT\_LEAVE\_WINDOW event.</event>
   <event name="EVT\_MOUSEWHEEL(func)">Process a wxEVT\_MOUSEWHEEL event.</event>
   <event name="EVT\_MOUSE\_EVENTS(func)">Process all mouse events.</event>
  </events>
  <members>
   <member class="wxMouseEvent" name="m\_altDown"></member>
   <member class="wxMouseEvent" name="m\_controlDown"></member>
   <member class="wxMouseEvent" name="m\_leftDown"></member>
   <member class="wxMouseEvent" name="m\_middleDown"></member>
   <member class="wxMouseEvent" name="m\_rightDown"></member>
   <member class="wxMouseEvent" name="m\_metaDown"></member>
   <member class="wxMouseEvent" name="m\_shiftDown"></member>
   <member class="wxMouseEvent" name="m\_x"></member>
   <member class="wxMouseEvent" name="m\_y"></member>
   <member class="wxMouseEvent" name="m\_wheelRotation"></member>
   <member class="wxMouseEvent" name="m\_wheelDelta"></member>
   <member class="wxMouseEvent" name="m\_linesPerAction"></member>
   <member class="wxMouseEvent" name="wxMouseEvent">
    <function type="" name="wxMouseEvent">
     <parameters>
      <parameter type="WXTYPE " name="mouseEventType" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor. Valid event types are:
      </p>
      <p>
       <ul>
        <li><b> wxEVT\_ENTER\_WINDOW</b></li>
        <li><b> wxEVT\_LEAVE\_WINDOW</b></li>
        <li><b> wxEVT\_LEFT\_DOWN</b></li>
        <li><b> wxEVT\_LEFT\_UP</b></li>
        <li><b> wxEVT\_LEFT\_DCLICK</b></li>
        <li><b> wxEVT\_MIDDLE\_DOWN</b></li>
        <li><b> wxEVT\_MIDDLE\_UP</b></li>
        <li><b> wxEVT\_MIDDLE\_DCLICK</b></li>
        <li><b> wxEVT\_RIGHT\_DOWN</b></li>
        <li><b> wxEVT\_RIGHT\_UP</b></li>
        <li><b> wxEVT\_RIGHT\_DCLICK</b></li>
        <li><b> wxEVT\_MOTION</b></li>
        <li><b> wxEVT\_MOUSEWHEEL</b></li>
       </ul>
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="AltDown">
    <function type="bool" name="AltDown">
     <description>
      <p>
       Returns true if the Alt key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="Button">
    <function type="bool" name="Button">
     <parameters>
      <parameter type="int " name="button"></parameter>
     </parameters>
     <description>
      <p>
       Returns true if the identified mouse button is changing state. Valid
       values of
       <i> button</i>
       are:
      </p>
      <table>
       <tr>
        <td>
         <tt> wxMOUSE\_BTN\_LEFT</tt>
        </td>
        <td>check if left button was pressed</td>
       </tr>
       <tr>
        <td>
         <tt> wxMOUSE\_BTN\_MIDDLE</tt>
        </td>
        <td>check if middle button was pressed</td>
       </tr>
       <tr>
        <td>
         <tt> wxMOUSE\_BTN\_RIGHT</tt>
        </td>
        <td>check if right button was pressed</td>
       </tr>
       <tr>
        <td>
         <tt> wxMOUSE\_BTN\_ANY</tt>
        </td>
        <td>check if any button was pressed</td>
       </tr>
      </table>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="ButtonDClick">
    <function type="bool" name="ButtonDClick">
     <parameters>
      <parameter type="int " name="but" value="wxMOUSE\_BTN\_ANY"></parameter>
     </parameters>
     <description>
      <p>
       If the argument is omitted, this returns true if the event was a mouse
       double click event. Otherwise the argument specifies which double click
       event was generated (see
       <ref target="wxmouseeventbutton">Button</ref>
       for the possible values).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="ButtonDown">
    <function type="bool" name="ButtonDown">
     <parameters>
      <parameter type="int " name="but" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       If the argument is omitted, this returns true if the event was a mouse
       button down event. Otherwise the argument specifies which button-down
       event was generated (see
       <ref target="wxmouseeventbutton">Button</ref>
       for the possible values).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="ButtonUp">
    <function type="bool" name="ButtonUp">
     <parameters>
      <parameter type="int " name="but" value="-1"></parameter>
     </parameters>
     <description>
      <p>
       If the argument is omitted, this returns true if the event was a mouse
       button up event. Otherwise the argument specifies which button-up event
       was generated (see
       <ref target="wxmouseeventbutton">Button</ref>
       for the possible values).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="CmdDown">
    <function type="bool" name="CmdDown" suffix="const">
     <seealso>
      <ref target="wxkeyeventcmddown">wxKeyEvent::CmdDown</ref>
     </seealso>
     <description>
      <p>
       Same as
       <ref target="wxmouseeventmetadown">MetaDown</ref>
       under Mac, same as
       <ref target="wxmouseeventcontroldown">ControlDown</ref>
       elsewhere.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="ControlDown">
    <function type="bool" name="ControlDown">
     <description>
      <p>
       Returns true if the control key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="Dragging">
    <function type="bool" name="Dragging">
     <seealso>
      <ref target="wxmouseeventmoving">Moving</ref>
     </seealso>
     <description>
      <p>
       Returns true if this was a dragging event (motion while a button is
       depressed).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="Entering">
    <function type="bool" name="Entering">
     <description>
      <p>
       Returns true if the mouse was entering the window.
      </p>
      <p>
       See also
       <ref target="wxmouseeventleaving">wxMouseEvent::Leaving</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetButton">
    <function type="int" name="GetButton" suffix="const">
     <description>
      <p>
       Returns the mouse button which generated this event or
       <tt> wxMOUSE\_BTN\_NONE</tt>
       if no button is involved (for mouse move, enter or leave event, for
       example). Otherwise
       <tt> wxMOUSE\_BTN\_LEFT</tt>
       is returned for the left button down, up and double click events,
       <tt> wxMOUSE\_BTN\_MIDDLE</tt>
       and
       <tt> wxMOUSE\_BTN\_RIGHT</tt>
       for the same events for the middle and the right buttons respectively.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description></description>
    </function>
    <function type="void" name="GetPosition" suffix="const">
     <parameters>
      <parameter type="wxCoord&#42; " name="x"></parameter>
      <parameter type="wxCoord&#42; " name="y"></parameter>
     </parameters>
     <description></description>
    </function>
    <function type="void" name="GetPosition" suffix="const">
     <parameters>
      <parameter type="long&#42; " name="x"></parameter>
      <parameter type="long&#42; " name="y"></parameter>
     </parameters>
     <description>
      <p>
       Sets &#42;x and &#42;y to the position at which the event occurred.
      </p>
      <p>
       Returns the physical mouse position in pixels.
      </p>
      <p>
       Note that if the mouse event has been artificially generated from a
       special keyboard combination (e.g. under Windows when the ``menu'' key is
       pressed), the returned position is
       <tt>wxDefaultPosition</tt>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetLogicalPosition">
    <function type="wxPoint" name="GetLogicalPosition" suffix="const">
     <parameters>
      <parameter type="const wxDC&amp; " name="dc"></parameter>
     </parameters>
     <description>
      <p>
       Returns the logical mouse position in pixels (i.e. translated according
       to the translation set for the DC, which usually indicates that the
       window has been scrolled).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetLinesPerAction">
    <function type="int" name="GetLinesPerAction" suffix="const">
     <description>
      <p>
       Returns the configured number of lines (or whatever) to be scrolled per
       wheel action. Defaults to three.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetWheelRotation">
    <function type="int" name="GetWheelRotation" suffix="const">
     <description>
      <p>
       Get wheel rotation, positive or negative indicates direction of rotation.
       Current devices all send an event when rotation is equal to
       +/-WheelDelta, but this allows for finer resolution devices to be created
       in the future. Because of this you shouldn't assume that one event is
       equal to 1 line or whatever, but you should be able to either do partial
       line scrolling or wait until +/-WheelDelta rotation values have been
       accumulated before scrolling.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetWheelDelta">
    <function type="int" name="GetWheelDelta" suffix="const">
     <description>
      <p>
       Get wheel delta, normally 120. This is the threshold for action to be
       taken, and one such action (for example, scrolling one increment) should
       occur for each delta.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetX">
    <function type="long" name="GetX" suffix="const">
     <description>
      <p>
       Returns X coordinate of the physical mouse event position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="GetY">
    <function type="long" name="GetY">
     <description>
      <p>
       Returns Y coordinate of the physical mouse event position.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="IsButton">
    <function type="bool" name="IsButton" suffix="const">
     <description>
      <p>
       Returns true if the event was a mouse button event (not necessarily a
       button down event - that may be tested using
       <i> ButtonDown</i>
       ).
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="IsPageScroll">
    <function type="bool" name="IsPageScroll" suffix="const">
     <description>
      <p>
       Returns true if the system has been setup to do page scrolling with the
       mouse wheel instead of line scrolling.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="Leaving">
    <function type="bool" name="Leaving" suffix="const">
     <description>
      <p>
       Returns true if the mouse was leaving the window.
      </p>
      <p>
       See also
       <ref target="wxmouseevententering">wxMouseEvent::Entering</ref>
       .
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="LeftDClick">
    <function type="bool" name="LeftDClick" suffix="const">
     <description>
      <p>
       Returns true if the event was a left double click.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="LeftDown">
    <function type="bool" name="LeftDown" suffix="const">
     <description>
      <p>
       Returns true if the left mouse button changed to down.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="LeftIsDown">
    <function type="bool" name="LeftIsDown" suffix="const">
     <description>
      <p>
       Returns true if the left mouse button is currently down, independent of
       the current event type.
      </p>
      <p>
       Please notice that it is
       <b> not</b>
       the same as
       <ref target="wxmouseeventleftdown">LeftDown</ref>
       which returns true if the left mouse button was just pressed. Rather, it
       describes the state of the mouse button before the event happened.
      </p>
      <p>
       This event is usually used in the mouse event handlers which process
       &quot;move mouse&quot; messages to determine whether the user is (still)
       dragging the mouse.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="LeftUp">
    <function type="bool" name="LeftUp" suffix="const">
     <description>
      <p>
       Returns true if the left mouse button changed to up.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="MetaDown">
    <function type="bool" name="MetaDown" suffix="const">
     <description>
      <p>
       Returns true if the Meta key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="MiddleDClick">
    <function type="bool" name="MiddleDClick" suffix="const">
     <description>
      <p>
       Returns true if the event was a middle double click.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="MiddleDown">
    <function type="bool" name="MiddleDown" suffix="const">
     <description>
      <p>
       Returns true if the middle mouse button changed to down.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="MiddleIsDown">
    <function type="bool" name="MiddleIsDown" suffix="const">
     <description>
      <p>
       Returns true if the middle mouse button is currently down, independent of
       the current event type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="MiddleUp">
    <function type="bool" name="MiddleUp" suffix="const">
     <description>
      <p>
       Returns true if the middle mouse button changed to up.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="Moving">
    <function type="bool" name="Moving" suffix="const">
     <description>
      <p>
       Returns true if this was a motion event and no mouse buttons were
       pressed. If any mouse button is held pressed, then this method returns
       false and
       <ref target="wxmouseeventdragging">Dragging</ref>
       returns true.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="RightDClick">
    <function type="bool" name="RightDClick" suffix="const">
     <description>
      <p>
       Returns true if the event was a right double click.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="RightDown">
    <function type="bool" name="RightDown" suffix="const">
     <description>
      <p>
       Returns true if the right mouse button changed to down.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="RightIsDown">
    <function type="bool" name="RightIsDown" suffix="const">
     <description>
      <p>
       Returns true if the right mouse button is currently down, independent of
       the current event type.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="RightUp">
    <function type="bool" name="RightUp" suffix="const">
     <description>
      <p>
       Returns true if the right mouse button changed to up.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMouseEvent" name="ShiftDown">
    <function type="bool" name="ShiftDown" suffix="const">
     <description>
      <p>
       Returns true if the shift key was down at the time of the event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMoveEvent">
  <description>
   <p class="classdesc">
    A move event holds information about move change events.
   </p>
  </description>
  <category>Events</category>
  <shortdesc>A move event</shortdesc>
  <parents>
   <ref type="help" target="wxEvent">wxEvent</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/event.h"/>
  </includes>
  <events>
   <event name="EVT\_MOVE(func)">Process a wxEVT\_MOVE event, which is generated
when a window is moved.</event>
  </events>
  <seealso>
   <ref target="wxpoint">wxPoint</ref>
   <ref target="eventhandlingoverview">Event handling overview</ref>
  </seealso>
  <members>
   <member class="wxMoveEvent" name="wxMoveEvent">
    <function type="" name="wxMoveEvent">
     <parameters>
      <parameter type="const wxPoint&amp; " name="pt"></parameter>
      <parameter type="int " name="id" value="0"></parameter>
     </parameters>
     <description>
      <p>
       Constructor.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMoveEvent" name="GetPosition">
    <function type="wxPoint" name="GetPosition" suffix="const">
     <description>
      <p>
       Returns the position of the window generating the move change event.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported>
   <platform name="gtk" status="Y"/>
   <platform name="win32" status="Y"/>
   <platform name="motif" status="Y"/>
   <platform name="x11" status="Y"/>
   <platform name="nanox" status="Y"/>
   <platform name="mgl" status="Y"/>
   <platform name="macos" status="Y"/>
   <platform name="os2" status="Y"/>
  </supported>
 </class>
 <class name="wxMultiChoiceDialog">
  <description>
   <p class="classdesc">
    This class represents a dialog that shows a list of strings, and allows the
    user to select one or more.
   </p>
  </description>
  <category>Common dialogs</category>
  <shortdesc>Dialog to get one or more selections from a list</shortdesc>
  <parents>
   <ref type="help" target="wxDialog">wxDialog</ref>
   <ref type="help" target="wxWindow">wxWindow</ref>
   <ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
   <ref type="help" target="wxObject">wxObject</ref>
  </parents>
  <includes>
   <header name="wx/choicdlg.h"/>
  </includes>
  <seealso>
   <ref target="wxmultichoicedialogoverview">wxMultiChoiceDialog overview</ref>
   ,
   <ref target="wxsinglechoicedialog">wxSingleChoiceDialog</ref>
  </seealso>
  <members>
   <member class="wxMultiChoiceDialog" name="wxMultiChoiceDialog">
    <function type="" name="wxMultiChoiceDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window.
      </parameter>
      <parameter type="const wxString&amp; " name="message">
       Message to show on the dialog.
      </parameter>
      <parameter type="const wxString&amp; " name="caption">
       The dialog caption.
      </parameter>
      <parameter type="int " name="n">
       The number of choices.
      </parameter>
      <parameter type="const wxString&#42; " name="choices">
       An array of strings, or a string list, containing the choices.
      </parameter>
      <parameter type="long " name="style" value="wxCHOICEDLG\_STYLE"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Dialog position. Not Windows.
      </parameter>
     </parameters>
     <description></description>
    </function>
    <function type="" name="wxMultiChoiceDialog">
     <parameters>
      <parameter type="wxWindow&#42; " name="parent">
       Parent window.
      </parameter>
      <parameter type="const wxString&amp; " name="message">
       Message to show on the dialog.
      </parameter>
      <parameter type="const wxString&amp; " name="caption">
       The dialog caption.
      </parameter>
      <parameter type="const wxArrayString&amp; " name="choices">
       An array of strings, or a string list, containing the choices.
      </parameter>
      <parameter type="long " name="style" value="wxCHOICEDLG\_STYLE"></parameter>
      <parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
       Dialog position. Not Windows.
      </parameter>
     </parameters>
     <remarks>
      <p>
       Use
       <ref target="wxmultichoicedialogshowmodal">wxMultiChoiceDialog::ShowModal</ref>
       to show the dialog.
      </p>
     </remarks>
     <description>
      <p>
       Constructor taking an array of wxString choices.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMultiChoiceDialog" name="GetSelections">
    <function type="wxArrayInt" name="GetSelection" suffix="const">
     <description>
      <p>
       Returns array with indexes of selected items.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMultiChoiceDialog" name="SetSelections">
    <function type="void" name="SetSelections" suffix="const">
     <parameters>
      <parameter type="const wxArrayInt&amp; " name="selections"></parameter>
     </parameters>
     <description>
      <p>
       Sets selected items from the array of selected items' indexes.
      </p>
     </description>
    </function>
   </member>
   <member class="wxMultiChoiceDialog" name="ShowModal">
    <function type="int" name="ShowModal">
     <description>
      <p>
       Shows the dialog, returning either wxID\_OK or wxID\_CANCEL.
      </p>
     </description>
    </function>
   </member>
  </members>
  <supported></supported>
 </class>
 <class name="wxMutex">
  <description>
   <p class="classdesc">
    A mutex object is a synchronization object whose state is set to signaled
    when it is not owned by any thread, and nonsignaled when it is owned. Its
    name comes from its usefulness in coordinating mutually-exclusive access to
    a shared resource as only one thread at a time can own a mutex object.
   </p>
   <p class="classdesc">
    Mutexes may be recursive in the sense that a thread can lock a mutex which
    it had already locked before (instead of dead locking the entire process in
    this situation by starting to wait on a mutex which will never be released
    while the thread is waiting) but using them is not recommended and they are
    <b> not</b>
    recursive by default. The reason for this is that recursive mutexes are not
    supported by all Unix flavours and, worse, they cannot be used with
    <ref target="wxcondition">wxCondition</ref>
    .
   </p>
   <p class="classdesc">
    For example, when several thread use the data stored in the linked list,
    modifications to the list should be only allowed to one thread at a time
    because during a new node addition the list integrity is temporarily broken
    (this is also called
    <i> program invariant</i>
    ).
   </p>
  </description>
  <category>Threading classes</category>
  <shortdesc>Mutex class</shortdesc>
  <example>
   <pre>
    // this variable has an &quot;s\_&quot; prefix because it is static: seeing an &quot;s\_&quot; in
    // a multithreaded program is in general a good sign that you should use a
    // mutex (or a critical section)
    static wxMutex &#42;s\_mutexProtectingTheGlobalData;

    // we store some numbers in this global array which is presumably used by
    // several threads simultaneously
    wxArrayInt s\_data;

    void MyThread::AddNewNode(int num)
    \{
        // ensure that no other thread accesses the list
        s\_mutexProtectingTheGlobalList-&gt;Lock();

        s\_data.Add(num);

        s\_mutexProtectingTheGlobalList-&gt;Unlock();
    \}

    // return true the given number is greater than all array elements
    bool MyThread::IsGreater(int num)
    \{
        // before using the list we must acquire the mutex
        wxMutexLocker lock(s\_mutexProtectingTheGlobalData);

        size\_t count = s\_data.Count();
        for ( size\_t n = 0; n &lt; count; n++ )
        \{
            if ( s\_data[n] &gt; num )
                return false;
        \}

        return true;
    \}
</pre>
   <p>
    Notice how wxMutexLocker was used in the second function to ensure that the
    mutex is unlocked in any case: whether the function returns true or false
    (because the destructor of the local object
    <i> lock</i>
    is always called). Using this class instead of directly using wxMutex is, in
    general safer and is even more so if your program uses C++ exceptions.
   </p>
  </example>
  <parents></parents>
  <includes>
   <header name="wx/thread.h"/>
  </includes>
  <constants>
   <pre>
enum wxMutexType
\{
    // normal mutex: try to always use this one
    wxMUTEX\_DEFAULT,

    // recursive mutex: don't use these ones with wxCondition
    wxMUTEX\_RECURSIVE
\};
</pre>
  </constants>
  <seealso>
   <ref target="wxthread">wxThread</ref>
   <ref target="wxcondition">wxCondition</ref>
   <ref target="wxmutexlocker">wxMutexLocker</ref>
   <ref target="wxcriticalsection">wxCriticalSection</ref>
  </seealso>
  <members>
   <member class="wxMutex" n
