<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Generated on: Sat Oct  8 20:15:18 CEST 2005 -->
<classes>
<class name="wxAcceleratorEntry">
 <description>
  <p class="classdesc">
   An object used by an application wishing to create an
   <ref type='class' target='wxAcceleratorTable'>accelerator table</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents></parents>
  
 <includes>
  <header name="wx/accel.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxAcceleratorTable'>wxAcceleratorTable</ref>
  <ref type='method' target='method-wxWindow::SetAcceleratorTable'>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 type='unknown' 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 type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/accel.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxAcceleratorEntry'>wxAcceleratorEntry</ref>
  <ref type='method' target='method-wxWindow::SetAcceleratorTable'>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 type='class' 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 type='method' target='method-wxWindow::SetAccessible'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/access.h"/>
 </includes>
  
 <structs>
  <p class="structs">
   Functions return a wxAccStatus error code, which may be one of the following:
  </p>
  <p class="structs"></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></p>
  <p class="structs">
   Directions of navigation are represented by the following:
  </p>
  <p class="structs"></p>
  <pre>
typedef enum
{
    wxNAVDIR_DOWN,
    wxNAVDIR_FIRSTCHILD,
    wxNAVDIR_LASTCHILD,
    wxNAVDIR_LEFT,
    wxNAVDIR_NEXT,
    wxNAVDIR_PREVIOUS,
    wxNAVDIR_RIGHT,
    wxNAVDIR_UP
} wxNavDir
</pre>
  <p></p>
  <p class="structs">
   The role of a user interface element is represented by the following type:
  </p>
  <p class="structs"></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></p>
  <p class="structs">
   Objects are represented by the following type:
  </p>
  <p class="structs"></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></p>
  <p class="structs">
   Selection actions are identified by this type:
  </p>
  <p class="structs"></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></p>
  <p class="structs">
   States are represented by the following:
  </p>
  <p class="structs"></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></p>
  <p class="structs">
   Event identifiers that can be sent via
   <ref type='method' target='method-wxAccessible::NotifyEvent'>wxAccessible::NotifyEvent</ref>
   are as follows:
  </p>
  <p class="structs"></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>
  <p></p>
 </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 type='class' 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 type='class' 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 type='class' 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 it 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 inactivated resulting in all application frames
   being inactive. (Windows only)
  </p>
  <p>
   Please note that usually you should call
   <ref type='method' target='method-wxEvent::Skip'>event.Skip()</ref>
   in your handlers for these events as not doing so can result in strange
   effects.
  </p>
 </remarks>
  
 <parents>
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 state when it receives a wxEVT_ACTIVATE or wxEVT_ACTIVATE_APP event.
  </event>
 </events>
  
 <seealso>
  <ref type='unknown' target='eventhandlingoverview'>Event handling overview</ref>
  , 
  <ref type='method' target='method-wxApp::IsActive'>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 type='method' target='method-wxApp::OnInit'>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="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/app.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' 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="virtual" 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">
    <fseealso>
     <ref type='class' target='wxLog'>wxLog</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxApp::Pending'>wxApp::Pending</ref>
    </fseealso>
    <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 type='method' target='method-wxApp::OnInit'>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">
    <fseealso>
     <ref type='method' target='method-wxApp::SetClassName'>wxApp::SetClassName</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxApp::SetExitOnFrameDelete'>wxApp::SetExitOnFrameDelete</ref>
     ,
     <br/>
      
     <ref type='unknown' target='wxappshutdownoverview'>wxApp shutdown overview</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxApp::SetInstance'>wxApp::SetInstance</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxApp::SetTopWindow'>SetTopWindow</ref>
    </fseealso>
    <remarks>
     <p>
      If the top window hasn't been set using
      <ref type='method' target='method-wxApp::SetTopWindow'>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">
    <fseealso>
     <ref type='method' target='method-wxApp::SetUseBestVisual'>SetUseBestVisual</ref>
    </fseealso>
    <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 type='method' target='method-wxTopLevelWindow::RequestUserAttention'>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 type='method' target='method-wxApp::OnRun'>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 type='unknown' target='wxassertmsg'>wxASSERT_MSG</ref>
      or
      <ref type='unknown' target='wxfailmsg'>wxFAIL_MSG</ref>
      , will be
      <tt>NULL</tt>
      if just
      <ref type='unknown' target='wxassert'>wxASSERT</ref>
      or
      <ref type='unknown' 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 type='unknown' 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>
    <fseealso>
     <ref type='method' target='method-wxApp::OnInitCmdLine'>OnInitCmdLine</ref>
    </fseealso>
    <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 type='method' target='method-wxApp::OnInit'>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>
    <fseealso>
     <ref type='method' target='method-wxApp::OnInitCmdLine'>OnInitCmdLine</ref>
    </fseealso>
    <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 type='method' target='method-wxApp::OnInit'>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>
    <fseealso>
     <ref type='method' target='method-wxApp::OnInitCmdLine'>OnInitCmdLine</ref>
    </fseealso>
    <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 type='method' target='method-wxApp::OnInit'>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 type='method' target='method-wxApp::OnUnhandledException'>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 type='method' target='method-wxApp::OnInit'>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">
    <fseealso>
     <ref type='unknown' target='wxhandlefatalexceptions'>wxHandleFatalExceptions</ref>
    </fseealso>
    <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 type='unknown' 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 type='method' target='method-wxApp::SetTopWindow'>wxApp::SetTopWindow</ref>
      . You may use
      <ref type='method' target='method-wxApp::OnExit'>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 type='method' target='method-wxApp::OnInit'>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 type='method' target='method-wxApp::ExitMainLoop'>ExitMainLoop</ref>
      has been explicitly called or because the last frame has been deleted and
      <ref type='method' target='method-wxApp::GetExitOnFrameDelete'>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 type='method' target='method-wxApp::OnRun'>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 type='method' target='method-wxApp::OnRun'>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">
    <fseealso>
     <ref type='method' target='method-wxApp::Dispatch'>wxApp::Dispatch</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxIdleEvent'>wxIdleEvent</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxApp::GetAppName'>wxApp::GetAppName</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxApp::GetClassName'>wxApp::GetClassName</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxApp::GetExitOnFrameDelete'>wxApp::GetExitOnFrameDelete</ref>
     ,
     <br/>
      
     <ref type='unknown' target='wxappshutdownoverview'>wxApp shutdown overview</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxApp::GetInstance'>wxApp::GetInstance</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxApp::GetTopWindow'>wxApp::GetTopWindow</ref>
     <ref type='method' target='method-wxApp::OnInit'>wxApp::OnInit</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxApp" name="SetVendorName">
   <function type="void" name="SetVendorName">
    <parameters>
     <parameter type="const wxString&amp; " name="name"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxApp::GetVendorName'>wxApp::GetVendorName</ref>
    </fseealso>
    <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 type='unknown' 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 type='method' target='method-wxLog::FlushActive'>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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/archive.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxarc'>Archive formats such as zip</ref>
  <br/>
   
  <ref type='unknown' target='wxarcgeneric'>Generic archive programming</ref>
  <br/>
   
  <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
  <br/>
   
  <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
  <br/>
   
  <ref type='class' 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 type='class' 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 type='method' target='method-wxZipEntry::GetInternalName'>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 type='class' 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 type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
      or
      <ref type='class' 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 type='class' 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 type='method' target='method-wxArchiveInputStream::GetNextEntry'>GetNextEntry()</ref>
   returns a fully populated
   <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
   . See '
   <ref type='unknown' 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 type='unknown' target='wxarchiveentrysize'>GetSize()</ref>
     </td>
     <td>
      Guaranteed to be available after the entry has been read to 
      <ref type='method' target='method-wxInputStream::Eof'>Eof()</ref>
      , or 
      <ref type='method' target='method-wxArchiveInputStream::CloseEntry'>CloseEntry()</ref>
       has been called
     </td>
    </tr>
     
    <tr>
     <td>
      <ref type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/archive.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxarc'>Archive formats such as zip</ref>
  <br/>
   
  <ref type='unknown' target='wxarcgeneric'>Generic archive programming</ref>
  <br/>
   
  <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
  <br/>
   
  <ref type='class' target='wxArchiveOutputStream'>wxArchiveOutputStream</ref>
  <br/>
   
  <ref type='class' 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">
    <fseealso>
     <ref type='unknown' target='wxarcbyname'>Looking up an archive entry by name</ref>
    </fseealso>
    <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 type='unknown' 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">
    <fseealso>
     <ref type='unknown' target='wxarcnoseek'>Archives on non-seekable streams</ref>
     <br/>
      
     <ref type='class' target='wxArchiveNotifier'>wxArchiveNotifier</ref>
    </fseealso>
    <description>
     <p>
      Sets the
      <ref type='class' target='wxArchiveNotifier'>notifier</ref>
      for this entry. Whenever the
      <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
      updates this entry, it will then invoke the associated notifier's
      <ref type='method' target='method-wxArchiveNotifier::OnEntryUpdated'>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 type='class' target='wxZipInputStream'>wxZipInputStream</ref>
   .
  </p>
  <p class="classdesc">
   <ref type='method' target='method-wxArchiveInputStream::GetNextEntry'>GetNextEntry()</ref>
   returns an
   <ref type='class' 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="class" target="wxFilterInputStream">wxFilterInputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/archive.h"/>
 </includes>
  
 <structs>
  <p class="structs"></p>
  <pre>
typedef wxArchiveEntry entry_type
</pre>
  <p></p>
 </structs>
  
 <seealso>
  <ref type='unknown' target='wxarc'>Archive formats such as zip</ref>
  <br/>
   
  <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
  <br/>
   
  <ref type='class' 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 type='class' 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>
    <fseealso>
     <ref type='unknown' target='wxarcbyname'>Looking up an archive entry by name</ref>
    </fseealso>
    <description>
     <p>
      Closes the current entry if one is open, then opens the entry specified by
      the
      <ref type='class' 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"></p>
  <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>
  <p class="classdesc">
   The first template parameter should be the type of archive input stream (e.g.
   <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
   ) and the second can either be a pointer to an entry (e.g.
   <ref type='class' 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"></p>
  <pre>
    typedef wxArchiveIterator&lt;wxArchiveInputStream&gt; wxArchiveIter;

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

</pre>
  <p></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"></p>
  <pre>
    typedef wxArchiveIterator&lt;wxZipInputStream&gt; wxZipIter;

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

</pre>
  <p></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"></p>
  <pre>
    std::vector&lt;wxArchiveEntry&#42;&gt; cat((wxArchiveIter)arc, wxArchiveIter());

</pre>
  <p></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 type='class' 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"></p>
  <pre>
    typedef std::vector&lt;ZipEntryPtr&gt; ZipCatalog;
    typedef wxArchiveIterator&lt;wxZipInputStream, ZipEntryPtr&gt; ZipIter;
    ZipCatalog cat((ZipIter)zip, ZipIter());

</pre>
  <p></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 type='method' target='method-wxArchiveEntry::GetInternalName'>GetInternalName()</ref>
   function.
  </p>
  <p class="classdesc"></p>
  <pre>
    typedef std::multimap&lt;wxString, wxZipEntry&#42;&gt; ZipCatalog;
    ZipCatalog cat((wxZipPairIter)zip, wxZipPairIter());

</pre>
  <p></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"></p>
  <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></p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents></parents>
  
 <includes>
  <header name="wx/archive.h"/>
 </includes>
  
 <structs>
  <p class="structs"></p>
  <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>
  <p></p>
 </structs>
  
 <seealso>
  <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
  <br/>
   
  <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
  <br/>
   
  <ref type='class' 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 type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
   updates a
   <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
   object, you can create a notifier by deriving from this abstract base class,
   overriding
   <ref type='method' target='method-wxArchiveNotifier::OnEntryUpdated'>OnEntryUpdated()</ref>
   . An instance of your notifier class can then be assigned to the
   wxArchiveEntry object using
   <ref type='unknown' 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 type='unknown' target='wxarcnoseek'>Archives on non-seekable streams</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents></parents>
  
 <includes>
  <header name="wx/archive.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxarcnoseek'>Archives on non-seekable streams</ref>
  <br/>
   
  <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
  <br/>
   
  <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
  <br/>
   
  <ref type='class' 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 type='class' target='wxZipOutputStream'>wxZipOutputStream</ref>
   .
  </p>
  <p class="classdesc">
   <ref type='method' target='method-wxArchiveOutputStream::PutNextEntry'>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="class" target="wxFilterOutputStream">wxFilterOutputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/archive.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxarc'>Archive formats such as zip</ref>
  <br/>
   
  <ref type='class' target='wxArchiveEntry'>wxArchiveEntry</ref>
  <br/>
   
  <ref type='class' target='wxArchiveInputStream'>wxArchiveInputStream</ref>
 </seealso>
  
 <members>
  <member class="wxArchiveOutputStream" name="~wxArchiveOutputStream">
   <function type="" name="~wxArchiveOutputStream">
    <description>
     <p>
      Calls
      <ref type='method' target='method-wxArchiveOutputStream::Close'>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 type='method' target='method-wxArchiveOutputStream::CopyEntry'>CopyEntry()</ref>
      or
      <ref type='method' target='method-wxArchiveOutputStream::PutNextEntry'>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 type='class' 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 type='unknown' target='wxarchiveentryisdir'>wxArchiveEntry::IsDir()</ref>
      ) with the given name and timestamp.
     </p>
     <p>
      <ref type='method' target='method-wxArchiveOutputStream::PutNextEntry'>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 type='unknown' 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 type='class' 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 type='unknown' 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 type='method' target='method-wxArray::Index'>Index()</ref>
   function execution time is O(log(N)) instead of O(N) for the usual arrays but
   the
   <ref type='method' target='method-wxArray::Add'>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"></p>
  <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>
  <p class="classdesc">
   It is not as elegant as writing
  </p>
  <p class="classdesc"></p>
  <pre> 
typedef std::vector&lt;MyDirectory&gt; ArrayOfDirectories;
</pre>
  <p></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"></p>
  <pre> 
WX_DEFINE_ARRAY(int, ArrayOfDirectories);
WX_DEFINE_SORTED_ARRAY(int, ArrayOfFiles);
</pre>
  <p></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 type='unknown' target='wxcontaineroverview'>Container classes overview</ref>
  <ref type='class' target='wxList'>wxList</ref>
 </seealso>
  
 <members>
  <member class="wxArray" name="WX_DEFINE_ARRAY">
   <function type="" name="WX_DEFINE_ARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DEFINE_EXPORTED_ARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DEFINE_USER_EXPORTED_ARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
     <parameter type="" name="exportspec"></parameter>
    </parameters>
    <description>
     <p>
      This macro defines a new array class named
      <i>
       name
      </i>
      and containing the elements of type
      <i>
       T
      </i>
      . The second form is used when compiling wxWidgets as a DLL under Windows
      and array needs to be visible outside the DLL. The third is needed for
      exporting an array from a user DLL.
     </p>
     <p>
      Example:
     </p>
     <pre>
WX_DEFINE_ARRAY_INT(wxArrayInt);

class MyClass;
WX_DEFINE_ARRAY(MyClass &#42;, wxArrayOfMyClass);
</pre>
     <p>
      Note that wxWidgets predefines the following standard array classes:
      wxArrayInt, wxArrayLong and wxArrayPtrVoid.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="WX_DEFINE_SORTED_ARRAY">
   <function type="" name="WX_DEFINE_SORTED_ARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DEFINE_SORTED_EXPORTED_ARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DEFINE_SORTED_USER_EXPORTED_ARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description>
     <p>
      This macro defines a new sorted array class named
      <i>
       name
      </i>
      and containing the elements of type
      <i>
       T
      </i>
      . The second form is used when compiling wxWidgets as a DLL under Windows
      and array needs to be visible outside the DLL. The third is needed for
      exporting an array from a user DLL.
     </p>
     <p>
      Example:
     </p>
     <pre>
WX_DEFINE_SORTED_ARRAY_INT(wxSortedArrayInt);

class MyClass;
WX_DEFINE_SORTED_ARRAY(MyClass &#42;, wxArrayOfMyClass);
</pre>
     <p>
      You will have to initialize the objects of this class by passing a
      comparison function to the array object constructor like this:
     </p>
     <pre>
int CompareInts(int n1, int n2)
{
    return n1 - n2;
}

wxSortedArrayInt sorted(CompareInts);

int CompareMyClassObjects(MyClass &#42;item1, MyClass &#42;item2)
{
    // sort the items by their address...
    return Stricmp(item1-&gt;GetAddress(), item2-&gt;GetAddress());
}

wxArrayOfMyClass another(CompareMyClassObjects);
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="WX_DECLARE_OBJARRAY">
   <function type="" name="WX_DECLARE_OBJARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DECLARE_EXPORTED_OBJARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DECLARE_USER_EXPORTED_OBJARRAY">
    <parameters>
     <parameter type="" name="T"></parameter>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description>
     <p>
      This macro declares a new object array class named
      <i>
       name
      </i>
      and containing the elements of type
      <i>
       T
      </i>
      . The second form is used when compiling wxWidgets as a DLL under Windows
      and array needs to be visible outside the DLL. The third is needed for
      exporting an array from a user DLL.
     </p>
     <p>
      Example:
     </p>
     <pre>
class MyClass;
WX_DECLARE_OBJARRAY(MyClass, wxArrayOfMyClass); // note: not &quot;MyClass &#42;&quot;!
</pre>
     <p>
      You must use
      <ref type='unknown' target='wxdefineobjarray'>WX_DEFINE_OBJARRAY()</ref>
      macro to define the array class - otherwise you would get link errors.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="WX_DEFINE_OBJARRAY">
   <function type="" name="WX_DEFINE_OBJARRAY">
    <parameters>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DEFINE_EXPORTED_OBJARRAY">
    <parameters>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="WX_DEFINE_USER_EXPORTED_OBJARRAY">
    <parameters>
     <parameter type="" name="name"></parameter>
    </parameters>
    <description>
     <p>
      This macro defines the methods of the array class
      <i>
       name
      </i>
      not defined by the
      <ref type='unknown' target='wxdeclareobjarray'>WX_DECLARE_OBJARRAY()</ref>
      macro. You must include the file &lt;wx/arrimpl.cpp&gt; before using this
      macro and you must have the full declaration of the class of array
      elements in scope! If you forget to do the first, the error will be caught
      by the compiler, but, unfortunately, many compilers will not give any
      warnings if you forget to do the second - but the objects of the class
      will not be copied correctly and their real destructor will not be called.
      The latter two forms are merely aliases of the first to satisfy some
      people's sense of symmetry when using the exported declarations.
     </p>
     <p>
      Example of usage:
     </p>
     <pre>
// first declare the class!
class MyClass
{
public:
   MyClass(const MyClass&amp;);

   ...

   virtual ~MyClass();
};

#include &lt;wx/arrimpl.cpp&gt;
WX_DEFINE_OBJARRAY(wxArrayOfMyClass);
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="WX_APPEND_ARRAY">
   <function type="void" name="WX_APPEND_ARRAY">
    <parameters>
     <parameter type="wxArray&amp; " name="array"></parameter>
     <parameter type="wxArray&amp; " name="other"></parameter>
    </parameters>
    <description>
     <p>
      This macro may be used to append all elements of the
      <i>
       other
      </i>
      array to the
      <i>
       array
      </i>
      . The two arrays must be of the same type.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="WX_CLEAR_ARRAY">
   <function type="void" name="WX_CLEAR_ARRAY">
    <parameters>
     <parameter type="wxArray&amp; " name="array"></parameter>
    </parameters>
    <description>
     <p>
      This macro may be used to delete all elements of the array before emptying
      it. It can not be used with wxObjArrays - but they will delete their
      elements anyhow when you call Empty().
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="Defaultconstructors">
   <function type="" name="wxArray">
    <description></description>
   </function>
    
   <function type="" name="wxObjArray">
    <description>
     <p>
      Default constructor initializes an empty array object.
     </p>
    </description>
   </function>
    
   <function type="" name="wxSortedArray">
    <parameters>
     <parameter type="int (&#42;)(T first, T second)" name="compareFunction"></parameter>
    </parameters>
    <description>
     <p>
      There is no default constructor for wxSortedArray classes - you must
      initialize it with a function to use for item comparison. It is a function
      which is passed two arguments of type
      <i>
       T
      </i>
      where
      <i>
       T
      </i>
      is the array element type and which 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>
    </description>
   </function>
  </member>
   
  <member class="wxArray" name="wxArraycopyconstructorandassignmentoperator">
   <function type="" name="wxArray">
    <parameters>
     <parameter type="const wxArray&amp; " name="array"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="wxSortedArray">
    <parameters>
     <parameter type="const wxSortedArray&amp; " name="array"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="wxObjArray">
    <parameters>
     <parameter type="const wxObjArray&amp; " name="array"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxArray&amp;" name="operator=">
    <parameters>
     <parameter type="const wxArray&amp; " name="array"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxSortedArray&amp;" name="operator=">
    <parameters>
     <parameter type="const wxSortedArray&amp; " name="array"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxObjArray&amp;" name="operator=">
    <parameters>
     <parameter type="const wxObjArray&amp; " name="array"></parameter>
    </parameters>
    <description>
     <p>
      The copy constructors and assignment operators perform a shallow array
      copy (i.e. they don't copy the objects pointed to even if the source array
      contains the items of pointer type) for wxArray and wxSortedArray and a
      deep copy (i.e. the array element are copied too) for wxObjArray.
     </p>
    </description>
   </function>
  </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 type='unknown' 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 type='unknown' 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 type='method' target='method-wxArray::Empty'>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 type='method' target='method-wxArray::GetCount'>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 type='method' target='method-wxArray::Remove'>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 type='method' target='method-wxArray::Clear'>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 type='method' target='method-wxArray::Add'>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 type='method' target='method-wxObjArray::Detach'>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 type='unknown' 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 type='method' target='method-wxObjArray::Detach'>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 type='unknown' 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>
    <fseealso>
     <ref type='method' target='method-wxArray::GetCount'>GetCount</ref>
    </fseealso>
    <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 type='class' target='wxString'>wxString</ref>
   objects. It has the same features as all
   <ref type='class' 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 type='class' 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 type='method' target='method-wxArrayString::Item'>Item</ref>
   ,
   <ref type='method' target='method-wxArrayString::Last'>Last</ref>
   or
   <ref type='unknown' target='wxarraystringoperatorindex'>operator[]</ref>
   are not constant, so the array elements may be modified in place like this
  </p>
  <p class="classdesc"></p>
  <pre>
    array.Last().MakeUpper();
</pre>
  <p></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 type='method' target='method-wxArrayString::Index'>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 
  <ref type='class' target='wxString'>wxString</ref>
   objects
 </shortdesc>
  
 <includes>
  <header name="wx/arrstr.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxArray'>wxArray</ref>
  <ref type='class' target='wxString'>wxString</ref>
  <ref type='unknown' 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 type='method' target='method-wxArrayString::Item'>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 type='method' target='method-wxArrayString::GetCount'>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 type='method' target='method-wxArrayString::Insert'>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 type='unknown' 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 type='method' target='method-wxArrayString::Empty'>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 type='method' target='method-wxArrayString::GetCount'>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 type='method' target='method-wxArrayString::GetCount'>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 type='method' target='method-wxArrayString::Clear'>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 type='method' target='method-wxArrayString::Add'>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 type='method' target='method-wxArrayString::Index'>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 type='unknown' 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 type='method' target='method-wxArrayString::Index'>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 type='method' target='method-wxArrayString::Alloc'>Alloc</ref>
      ,
      <ref type='unknown' 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 type='method' target='method-wxArrayString::Index'>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 type='method' target='method-wxArrayString::Index'>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 type='method' target='method-wxArtProvider::CreateBitmap'>CreateBitmap</ref>
   method and register the provider with
   <ref type='method' target='method-wxArtProvider::PushProvider'>wxArtProvider::PushProvider</ref>
   :
  </p>
  <p class="classdesc"></p>
  <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>
  <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 type='method' target='method-wxArtProvider::GetBitmap'>wxArtProvider::GetBitmap</ref>
   or
   <ref type='method' target='method-wxArtProvider::GetIcon'>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 type='unknown' 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 type='method' target='method-wxArtProvider::PushProvider'>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 type='method' target='method-wxArtProvider::GetBitmap'>wxArtProvider::GetBitmap</ref>
   returns identical bitmap for different
   <i>
    client
   </i>
   values!
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/artprov.h"/>
 </includes>
  
 <seealso>
  See the 
  <ref type='unknown' 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 type='method' target='method-wxArtProvider::GetBitmap'>wxArtProvider::GetBitmap</ref>
      or 
     <ref type='method' target='method-wxArtProvider::GetIcon'>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 type='method' target='method-wxArtProvider::GetBitmap'>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 type='class' 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"></p>
  <pre>
  wxAutomationObject excelObject;
  if (excelObject.GetInstance(&quot;Excel.Application&quot;))
      excelObject.PutProperty(&quot;ActiveCell.Font.Bold&quot;, true);
</pre>
  <p></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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/msw/ole/automtn.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxAutomationObject::GetProperty'>wxAutomationObject::GetProperty</ref>
    </fseealso>
    <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 type='method' target='method-wxAutomationObject::GetProperty'>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="class" target="wxGDIObject">wxGDIObject</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/bitmap.h"/>
 </includes>
  
 <predefs>
  <p class="predefs">
   Objects:
  </p>
  <p class="predefs">
   <b>
    wxNullBitmap
   </b>
  </p>
 </predefs>
  
 <seealso>
  <ref type='unknown' target='wxbitmapoverview'>wxBitmap overview</ref>
  , 
  <ref type='unknown' target='supportedbitmapformats'>supported bitmap file formats</ref>
  , 
  <ref type='method' target='method-wxDC::Blit'>wxDC::Blit</ref>
  , 
  <ref type='class' target='wxIcon'>wxIcon</ref>
  <ref type='class' target='wxCursor'>wxCursor</ref>
  <ref type='class' target='wxBitmap'>wxBitmap</ref>
  , 
  <ref type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxBitmap::LoadFile'>wxBitmap::LoadFile</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxBitmapHandler'>wxBitmapHandler</ref>
    </fseealso>
    <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 type='unknown' 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>
    <fseealso>
     <ref type='unknown' target='wxbitmapctor'>wxBitmap::wxBitmap</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxBitmapHandler'>wxBitmapHandler</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='class' target='wxBitmapHandler'>wxBitmapHandler</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='class' target='wxPalette'>wxPalette</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxBitmap::SetMask'>wxBitmap::SetMask</ref>
     <ref type='class' target='wxMask'>wxMask</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxBitmap" name="GetWidth">
   <function type="int" name="GetWidth" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxBitmap::GetHeight'>wxBitmap::GetHeight</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='class' target='wxBitmapHandler'>wxBitmapHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxBitmapHandler'>wxBitmapHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmap::SaveFile'>wxBitmap::SaveFile</ref>
    </fseealso>
    <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 type='method' target='method-wxBitmap::GetPalette'>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>
    <fseealso>
     <ref type='class' target='wxBitmapHandler'>wxBitmapHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmap::LoadFile'>wxBitmap::LoadFile</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmap::GetMask'>wxBitmap::GetMask</ref>
     <ref type='class' target='wxMask'>wxMask</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxPalette'>wxPalette</ref>
    </fseealso>
    <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 type='class' target='wxDialog'>dialog box</ref>
   or
   <ref type='class' 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="class" target="wxButton">wxButton</ref>
   
  <ref type="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::Create'>wxBitmapButton::Create</ref>
     <ref type='class' target='wxValidator'>wxValidator</ref>
    </fseealso>
    <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 type='unknown' target='wxbitmapbuttonctor'>wxBitmapButton::wxBitmapButton</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxBitmapButton" name="GetBitmapDisabled">
   <function type="wxBitmap&amp;" name="GetBitmapDisabled" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::SetBitmapDisabled'>wxBitmapButton::SetBitmapDisabled</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::SetBitmapFocus'>wxBitmapButton::SetBitmapFocus</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::SetBitmapLabel'>wxBitmapButton::SetBitmapLabel</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::SetBitmapSelected'>wxBitmapButton::SetBitmapSelected</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::GetBitmapDisabled'>wxBitmapButton::GetBitmapDisabled</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapLabel'>wxBitmapButton::SetBitmapLabel</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapSelected'>wxBitmapButton::SetBitmapSelected</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapFocus'>wxBitmapButton::SetBitmapFocus</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::GetBitmapFocus'>wxBitmapButton::GetBitmapFocus</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapLabel'>wxBitmapButton::SetBitmapLabel</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapSelected'>wxBitmapButton::SetBitmapSelected</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapDisabled'>wxBitmapButton::SetBitmapDisabled</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::GetBitmapLabel'>wxBitmapButton::GetBitmapLabel</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBitmapButton::GetBitmapSelected'>wxBitmapButton::GetBitmapSelected</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapLabel'>wxBitmapButton::SetBitmapLabel</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapFocus'>wxBitmapButton::SetBitmapFocus</ref>
     , 
     <ref type='method' target='method-wxBitmapButton::SetBitmapDisabled'>wxBitmapButton::SetBitmapDisabled</ref>
    </fseealso>
    <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 type='class' target='wxClipboard'>wxClipboard</ref>
   or a
   <ref type='class' 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="class" target="wxDataObjectSimple">wxDataObjectSimple</ref>
   
  <ref type="class" target="wxDataObject">wxDataObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dataobj.h"/>
 </includes>
  
 <override>
  <p class="virtuals">
   This class may be used as is, but
   <ref type='method' target='method-wxBitmapDataObject::GetBitmap'>GetBitmap</ref>
   may be overridden to increase efficiency.
  </p>
 </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 type='class' 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 type='method' target='method-wxBitmap::AddHandler'>wxBitmap::AddHandler</ref>
   in your application initialisation.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/bitmap.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBitmap'>wxBitmap</ref>
  <ref type='class' target='wxIcon'>wxIcon</ref>
  <ref type='class' 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 type='unknown' 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 type='unknown' target='wxbitmapctor'>wxBitmap::wxBitmap</ref>
      for values this can take.
     </parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxBitmap::LoadFile'>wxBitmap::LoadFile</ref>
     <br/>
      
     <ref type='method' target='method-wxBitmap::SaveFile'>wxBitmap::SaveFile</ref>
     <br/>
      
     <ref type='method' target='method-wxBitmapHandler::SaveFile'>wxBitmapHandler::SaveFile</ref>
    </fseealso>
    <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 type='unknown' 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>
    <fseealso>
     <ref type='method' target='method-wxBitmap::LoadFile'>wxBitmap::LoadFile</ref>
     <br/>
      
     <ref type='method' target='method-wxBitmap::SaveFile'>wxBitmap::SaveFile</ref>
     <br/>
      
     <ref type='method' target='method-wxBitmapHandler::LoadFile'>wxBitmapHandler::LoadFile</ref>
    </fseealso>
    <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 type='unknown' 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="class" target="wxSizer">wxSizer</ref>
   
  <ref type="class" 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 type='method' target='method-wxWindow::SetSize'>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 type='method' target='method-wxApp::OnInit'>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="class" target="wxGDIObject">wxGDIObject</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/brush.h"/>
 </includes>
  
 <predefs>
  <p class="predefs">
   Objects:
  </p>
  <p class="predefs">
   <b>
    wxNullBrush
   </b>
  </p>
  <p class="predefs">
   Pointers:
  </p>
  <p class="predefs">
   <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>
  </p>
 </predefs>
  
 <seealso>
  <ref type='class' target='wxBrushList'>wxBrushList</ref>
  <ref type='class' target='wxDC'>wxDC</ref>
  <ref type='method' target='method-wxDC::SetBrush'>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 type='method' target='method-wxBrush::Ok'>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>
    <fseealso>
     <ref type='class' target='wxBrushList'>wxBrushList</ref>
     <ref type='class' target='wxColour'>wxColour</ref>
     <ref type='class' target='wxColourDatabase'>wxColourDatabase</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxBrush::SetColour'>wxBrush::SetColour</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxBrush::SetStipple'>wxBrush::SetStipple</ref>
    </fseealso>
    <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 type='method' target='method-wxBitmap::Ok'>wxBitmap::Ok</ref>
      returns false).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxBrush" name="GetStyle">
   <function type="int" name="GetStyle" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxBrush::SetStyle'>wxBrush::SetStyle</ref>
     <ref type='method' target='method-wxBrush::SetColour'>wxBrush::SetColour</ref>
     , 
     <ref type='method' target='method-wxBrush::SetStipple'>wxBrush::SetStipple</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxBrush" name="IsHatch">
   <function type="bool" name="IsHatch" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxBrush::GetStyle'>wxBrush::GetStyle</ref>
    </fseealso>
    <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="unsigned char " name="red"></parameter>
     <parameter type="unsigned char " name="green"></parameter>
     <parameter type="unsigned char " name="blue"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxBrush::GetColour'>wxBrush::GetColour</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxBitmap'>wxBitmap</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxBrush::GetStyle'>wxBrush::GetStyle</ref>
    </fseealso>
    <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="class" target="wxList">wxList</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/gdicmn.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='method' target='method-wxBrush::SetStyle'>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 type='class' 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 type='class' target='wxClientDC'>wxClientDC</ref>
   , if you want to use it in your
   <tt>OnPaint()</tt>
   handler, you should look at
   <ref type='class' target='wxBufferedPaintDC'>wxBufferedPaintDC</ref>
   .
  </p>
 </description>
  
 <category>
  Device contexts
 </category>
  
 <shortdesc>
  A helper device context for double buffered drawing.
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxMemoryDC">wxMemoryDC</ref>
   
  <ref type="class" target="wxDC">wxDC</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dcbuffer.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='method' target='method-wxBufferedDC::Init'>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 type='unknown' 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 type='class' 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="class" 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 type='class' 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="class" target="wxFilterOutputStream">wxFilterOutputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/stream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxStreamBuffer'>wxStreamBuffer</ref>
  <ref type='class' 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 type='class' 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 type='class' 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 type='class' target='wxScrolledWindow'>wxScrolledWindow</ref>
   , you probably do
   <b>
    not
   </b>
   want to call
   <ref type='method' target='method-wxScrolledWindow::PrepareDC'>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 
  <b>
   OnPaint
  </b>
  .
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxMemoryDC">wxMemoryDC</ref>
   
  <ref type="class" target="wxDC">wxDC</ref>
   
  <ref type="class" 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 type='unknown' 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"></p>
  <pre>
  wxBusyCursor wait;

  for (int i = 0; i &lt; 100000; i++)
    DoACalculation();
</pre>
  <p></p>
  <p class="classdesc">
   It works by calling
   <ref type='unknown' target='wxbeginbusycursor'>wxBeginBusyCursor</ref>
   in the constructor, and
   <ref type='unknown' target='wxendbusycursor'>wxEndBusyCursor</ref>
   in the destructor.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents></parents>
  
 <includes>
  <header name="wx/utils.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxbeginbusycursor'>wxBeginBusyCursor</ref>
  , 
  <ref type='unknown' target='wxendbusycursor'>wxEndBusyCursor</ref>
  , 
  <ref type='class' 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 type='unknown' 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 type='unknown' 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"></p>
  <pre>
    wxBusyInfo wait(&quot;Please wait, working...&quot;);

    for (int i = 0; i &lt; 100000; i++)
    {
        DoACalculation();
    }
</pre>
  <p></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"></p>
  <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>
  <p class="classdesc">
   but take care to not cause undesirable reentrancies when doing it (see
   <ref type='method' target='method-wxApp::Yield'>wxApp::Yield()</ref>
   for more details). The simplest way to do it is to use
   <ref type='class' 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 type='class' target='wxDialog'>dialog box</ref>
   or
   <ref type='class' 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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxButton::Create'>wxButton::Create</ref>
     <ref type='class' target='wxValidator'>wxValidator</ref>
    </fseealso>
    <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 type='unknown' target='wxbuttonctor'>wxButton::wxButton</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxButton" name="GetLabel">
   <function type="wxString" name="GetLabel" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxButton::SetLabel'>wxButton::SetLabel</ref>
    </fseealso>
    <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 type='method' target='method-wxWindow::SetFocus'>wxWindow::SetFocus</ref>
      which sets the keyboard focus for windows and text panel items, and
      <ref type='method' target='method-wxPanel::SetDefaultItem'>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>
    <fseealso>
     <ref type='method' target='method-wxButton::GetLabel'>wxButton::GetLabel</ref>
    </fseealso>
    <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="class" target="wxMBConv">wxMBConv</ref>
 </parents>
  
 <includes>
  <header name="wx/strconv.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxMBConv'>wxMBConv</ref>
   
  <ref type='class' target='wxEncodingConverter'>wxEncodingConverter</ref>
   
  <ref type='unknown' 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 type='class' 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="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='class' target='wxQueryLayoutInfoEvent'>wxQueryLayoutInfoEvent</ref>
  , 
  <ref type='class' target='wxSashLayoutWindow'>wxSashLayoutWindow</ref>
  , 
  <ref type='class' 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 type='class' 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 type='method' target='method-wxCalendarCtrl::SetAttr'>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 type='unknown' target='tdateholidays'>wxDateTime</ref>
   using
   <ref type='method' target='method-wxCalendarDateAttr::SetHoliday'>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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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>
  <p class="consts">
   The following are the possible return values for
   <ref type='method' target='method-wxCalendarCtrl::HitTest'>HitTest</ref>
   method:
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
 </constants>
  
 <seealso>
  <ref type='unknown' target='samplecalendar'>Calendar sample</ref>
  <br/>
   
  <ref type='class' target='wxCalendarDateAttr'>wxCalendarDateAttr</ref>
  <br/>
   
  <ref type='class' target='wxCalendarEvent'>wxCalendarEvent</ref>
 </seealso>
  
 <members>
  <member class="wxCalendarCtrl" name="wxCalendarCtrl">
   <function type="" name="wxCalendarCtrl">
    <description>
     <p>
      Default constructor, use
      <ref type='method' target='method-wxCalendarCtrl::Create'>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 type='method' target='method-wxCalendarCtrl::Create'>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 type='unknown' 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">
    <fseealso>
     <ref type='method' target='method-wxCalendarCtrl::SetHeaderColours'>SetHeaderColours</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCalendarCtrl::SetHeaderColours'>SetHeaderColours</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCalendarCtrl::SetHighlightColours'>SetHighlightColours</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCalendarCtrl::SetHighlightColours'>SetHighlightColours</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCalendarCtrl::SetHolidayColours'>SetHolidayColours</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCalendarCtrl::SetHolidayColours'>SetHolidayColours</ref>
    </fseealso>
    <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\ldots31).
     </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\ldots31).
     </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\ldots31).
     </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 type='class' 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 type='class' target='wxCalendarCtrl'>wxCalendarCtrl</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <shortdesc>
  Used with 
  <ref type='class' target='wxCalendarCtrl'>wxCalendarCtrl</ref>
 </shortdesc>
  
 <parents></parents>
  
 <includes>
  <header name="wx/calctrl.h"/>
 </includes>
  
 <constants>
  <p class="consts">
   Here are the possible kinds of borders which may be used to decorate a date:
  </p>
  <p class="consts"></p>
  <pre>
enum wxCalendarDateBorder
{
    wxCAL_BORDER_NONE,          // no border (default)
    wxCAL_BORDER_SQUARE,        // a rectangular border
    wxCAL_BORDER_ROUND          // a round border
}
</pre>
  <p></p>
 </constants>
  
 <seealso>
  <ref type='class' 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 type='class' 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 type='class' 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 type='class' target='wxCalendarCtrl'>wxCalendarCtrl</ref>
   .
  </p>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  Used with 
  <ref type='class' target='wxCalendarCtrl'>wxCalendarCtrl</ref>
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxDateEvent">wxDateEvent</ref>
   
  <ref type="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/calctrl.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='method' target='method-wxWindow::GetCaret'>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 type='method' target='method-wxCaret::Show'>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>
    <fseealso>
     <ref type='method' target='method-wxCaret::GetBlinkTime'>GetBlinkTime</ref>
    </fseealso>
    <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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxRadioButton'>wxRadioButton</ref>
  <ref type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxCheckBox::Create'>wxCheckBox::Create</ref>
     <ref type='class' target='wxValidator'>wxValidator</ref>
    </fseealso>
    <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 type='unknown' 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 type='method' target='method-wxCheckBox::GetValue'>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 type='class' 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="class" target="wxListBox">wxListBox</ref>
   
  <ref type="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxListBox'>wxListBox</ref>
  <ref type='class' target='wxChoice'>wxChoice</ref>
  <ref type='class' target='wxComboBox'>wxComboBox</ref>
  <ref type='class' target='wxListCtrl'>wxListCtrl</ref>
  , 
  <ref type='class' 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 type='class' 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 type='class' 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="class" target="wxControlWithItems">wxControlWithItems</ref>
   
  <ref type="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxListBox'>wxListBox</ref>
  <ref type='class' target='wxComboBox'>wxComboBox</ref>
  , 
  <ref type='class' 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 type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxChoice::Create'>wxChoice::Create</ref>
     <ref type='class' target='wxValidator'>wxValidator</ref>
    </fseealso>
    <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 type='unknown' 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="GetCurrentSelection">
   <function type="int" name="GetCurrentSelection" suffix="const">
    <description>
     <p>
      Unlike
      <ref type='method' target='method-wxControlWithItems::GetSelection'>GetSelection</ref>
      which only returns the accepted selection value, i.e. the selection in the
      control once the user closes the dropdown list, this function returns the
      current selection. That is, while the dropdown list is shown, it returns
      the currently selected item in it. When it is not shown, its result is the
      same as for the other function.
     </p>
     <p>
      \newsince{2.6.2} (before this version
      <ref type='method' target='method-wxControlWithItems::GetSelection'>GetSelection</ref>
      itself behaved like this).
     </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 type='class' target='wxNotebook'>wxNotebook</ref>
   but which uses a
   <ref type='class' 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 type='unknown' 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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='unknown' target='wxclassinfooverview'>Overview</ref>
  <ref type='class' 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 type='method' target='method-wxClient::OnMakeConnection'>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 type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/ipc.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxServer'>wxServer</ref>
   
  <ref type='class' target='wxConnection'>wxConnection</ref>
  <ref type='unknown' 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 type='method' target='method-wxClient::OnMakeConnection'>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 type='method' target='method-wxClient::MakeConnection'>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 type='method' target='method-wxConnection::OnAdvise'>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 type='class' target='wxPaintDC'>wxPaintDC</ref>
   object.
  </p>
  <p class="classdesc">
   To draw on the whole window including decorations, construct a
   <ref type='class' target='wxWindowDC'>wxWindowDC</ref>
   object (Windows only).
  </p>
 </description>
  
 <category>
  Device contexts
 </category>
  
 <shortdesc>
  A device context to access the client area outside 
  <b>
   OnPaint
  </b>
   events
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxWindowDC">wxWindowDC</ref>
   
  <ref type="class" target="wxDC">wxDC</ref>
 </parents>
  
 <includes>
  <header name="wx/dcclient.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxDC'>wxDC</ref>
  <ref type='class' target='wxMemoryDC'>wxMemoryDC</ref>
  <ref type='class' target='wxPaintDC'>wxPaintDC</ref>
  , 
  <ref type='class' target='wxWindowDC'>wxWindowDC</ref>
  <ref type='class' 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 type='class' target='wxEvtHandler'>wxEvtHandler</ref>
   (such as all controls and
   <ref type='class' 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 type='class' target='wxChoice'>wxChoice</ref>
   ,
   <ref type='class' target='wxComboBox'>wxComboBox</ref>
   and
   <ref type='class' target='wxListBox'>wxListBox</ref>
   .
   <ref type='class' target='wxTreeCtrl'>wxTreeCtrl</ref>
   has a specialized class
   <ref type='class' 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 type='class' target='wxClientDataContainer'>wxClientDataContainer</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <includes>
  <header name="wx/clntdata.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxEvtHandler'>wxEvtHandler</ref>
  <ref type='class' target='wxTreeItemData'>wxTreeItemData</ref>
  , 
  <ref type='class' target='wxStringClientData'>wxStringClientData</ref>
  <ref type='class' 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 type='class' target='wxEvtHandler'>wxEvtHandler</ref>
  <ref type='class' 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 type='unknown' target='wxdataobjectoverview'>wxDataObject overview</ref>
   for further information.
  </p>
  <p class="classdesc">
   Call
   <ref type='method' target='method-wxClipboard::Open'>wxClipboard::Open</ref>
   to get ownership of the clipboard. If this operation returns true, you now
   own the clipboard. Call
   <ref type='method' target='method-wxClipboard::SetData'>wxClipboard::SetData</ref>
   to put data on the clipboard, or
   <ref type='method' target='method-wxClipboard::GetData'>wxClipboard::GetData</ref>
   to retrieve data from the clipboard. Call
   <ref type='method' target='method-wxClipboard::Close'>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"></p>
  <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></p>
 </description>
  
 <category>
  Drag and drop and clipboard classes
 </category>
  
 <shortdesc>
  Clipboard class
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/clipbrd.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxdndoverview'>Drag and drop overview</ref>
  <ref type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxClipboard::SetData'>wxClipboard::SetData</ref>
    </fseealso>
    <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 type='method' target='method-wxClipboard::Clear'>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 type='method' target='method-wxClipboard::Open'>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 type='method' target='method-wxClipboard::SetData'>wxClipboard::SetData</ref>
      and
      <ref type='method' target='method-wxClipboard::GetData'>wxClipboard::GetData</ref>
      .
     </p>
     <p>
      Call
      <ref type='method' target='method-wxClipboard::Close'>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>
    <fseealso>
     <ref type='method' target='method-wxClipboard::AddData'>wxClipboard::AddData</ref>
    </fseealso>
    <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 type='method' target='method-wxWindow::Close'>wxWindow::Close</ref>
   function.
  </p>
  <p class="classdesc">
   You should check whether the application is forcing the deletion of the
   window using
   <ref type='method' target='method-wxCloseEvent::CanVeto'>wxCloseEvent::CanVeto</ref>
   . If this is
   <tt>false</tt>
   , you
   <i>
    must
   </i>
   destroy the window using
   <ref type='method' target='method-wxWindow::Destroy'>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 type='method' target='method-wxCloseEvent::Veto'>wxCloseEvent::Veto</ref>
   to let the calling code know that you did not destroy the window. This allows
   the
   <ref type='method' target='method-wxWindow::Close'>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="class" 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 type='method' target='method-wxWindow::Close'>wxWindow::Close</ref>
  , 
  <ref type='unknown' 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 type='method' target='method-wxCloseEvent::CanVeto'>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:
  </p>
  <p class="classdesc">
   <ol>
    <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, \ldots).</li>
   </ol>
  </p>
  <p class="classdesc">
   To use it you should follow these steps:
  </p>
  <p class="classdesc">
   <ol>
    <li><ref type='unknown' target='wxcmdlineparserconstruction'>construct</ref>
     an object of this class giving it the command line to parse and optionally
     its description or use
     <tt>AddXXX()</tt>
     functions later</li>
     
    <li>call
     <tt>Parse()</tt></li>
     
    <li>use
     <tt>Found()</tt>
     to retrieve the results</li>
   </ol>
  </p>
  <p class="classdesc">
   In the documentation below the following terminology is used:
  </p>
  <p class="classdesc">
   <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 &quot;enable verbose mode&quot;.
     </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>
  
 <category>
  Miscellaneous
 </category>
  
 <shortdesc>
  Command line parser class
 </shortdesc>
  
 <parents></parents>
  
 <includes>
  <header name="wx/cmdline.h"/>
 </includes>
  
 <constants>
  <p class="consts">
   The structure wxCmdLineEntryDesc is used to describe the one command line
   switch, option or parameter. An array of such structures should be passed to
   <ref type='method' target='method-wxCmdLineParser::SetDesc'>SetDesc()</ref>
   . Also, the meanings of parameters of the
   <tt>AddXXX()</tt>
   functions are the same as of the corresponding fields in this structure:
  </p>
  <p class="consts"></p>
  <pre>
struct wxCmdLineEntryDesc
{
    wxCmdLineEntryType kind;
    const wxChar &#42;shortName;
    const wxChar &#42;longName;
    const wxChar &#42;description;
    wxCmdLineParamType type;
    int flags;
};
</pre>
  <p></p>
  <p class="consts">
   The type of a command line entity is in the
   <tt>kind</tt>
   field and may be one of the following constants:
  </p>
  <p class="consts"></p>
  <pre>
enum wxCmdLineEntryType
{
    wxCMD_LINE_SWITCH,
    wxCMD_LINE_OPTION,
    wxCMD_LINE_PARAM,
    wxCMD_LINE_NONE         // use this to terminate the list
}
</pre>
  <p></p>
  <p class="consts">
   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.
  </p>
  <p class="consts">
   <tt>description</tt>
   is used by the
   <ref type='method' target='method-wxCmdLineParser::Usage'>Usage()</ref>
   method to construct a help message explaining the syntax of the program.
  </p>
  <p class="consts">
   The possible values of
   <tt>type</tt>
   which specifies the type of the value accepted by an option or parameter are:
  </p>
  <p class="consts"></p>
  <pre>
enum wxCmdLineParamType
{
    wxCMD_LINE_VAL_STRING,  // default
    wxCMD_LINE_VAL_NUMBER,
    wxCMD_LINE_VAL_DATE,
    wxCMD_LINE_VAL_NONE
}
</pre>
  <p></p>
  <p class="consts">
   Finally, the
   <tt>flags</tt>
   field is a combination of the following bit masks:
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
  <p class="consts">
   Notice that by default (i.e. if flags are just 0), options are optional (sic)
   and each call to
   <ref type='method' target='method-wxCmdLineParser::AddParam'>AddParam()</ref>
   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
   <ref type='method' target='method-wxCmdLineParser::GetParamCount'>GetParamCount</ref>
   to retrieve the number of parameters effectively specified after calling
   <ref type='method' target='method-wxCmdLineParser::Parse'>Parse</ref>
   .
  </p>
  <p class="consts">
   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>
  <ref type='method' target='method-wxApp::argc'>wxApp::argc</ref>
   and 
  <ref type='method' target='method-wxApp::argv'>wxApp::argv</ref>
  <br/>
   console sample
 </seealso>
  
 <members>
  <member class="wxCmdLineParser" name="wxCmdLineParser">
   <function type="" name="wxCmdLineParser">
    <description>
     <p>
      Default constructor. You must use
      <ref type='unknown' target='wxcmdlineparsersetcmdlineargc'>SetCmdLine</ref>
      later.
     </p>
    </description>
   </function>
    
   <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>
    
   <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>
    
   <function type="" name="wxCmdLineParser">
    <parameters>
     <parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxcmdlineparserwxcmdlineparserdef'>wxCmdLineParser</ref>
      , but also specifies the
      <ref type='method' target='method-wxCmdLineParser::SetDesc'>command line description</ref>
      .
     </p>
    </description>
   </function>
    
   <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 type='unknown' target='wxcmdlineparserwxcmdlineparserargc'>wxCmdLineParser</ref>
      , but also specifies the
      <ref type='method' target='method-wxCmdLineParser::SetDesc'>command line description</ref>
      .
     </p>
    </description>
   </function>
    
   <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 type='unknown' target='wxcmdlineparserwxcmdlineparserstr'>wxCmdLineParser</ref>
      , but also specifies the
      <ref type='method' target='method-wxCmdLineParser::SetDesc'>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>
    <fseealso>
     <ref type='unknown' target='wxcmdlineparserwxcmdlineparserargc'>wxCmdLineParser</ref>
    </fseealso>
    <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>
    
   <function type="void" name="SetCmdLine">
    <parameters>
     <parameter type="const wxString&amp; " name="cmdline"></parameter>
    </parameters>
    <fseealso>
     <ref type='unknown' target='wxcmdlineparserwxcmdlineparserstr'>wxCmdLineParser</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='unknown' target='wxcmdlineparsercustomization'>Customization</ref>
      and 
     <ref type='method' target='method-wxCmdLineParser::AreLongOptionsEnabled'>AreLongOptionsEnabled</ref>
    </fseealso>
    <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 type='method' target='method-wxCmdLineParser::EnableLongOptions'>EnableLongOptions(false)</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxCmdLineParser" name="AreLongOptionsEnabled">
   <function type="bool" name="AreLongOptionsEnabled">
    <fseealso>
     <ref type='method' target='method-wxCmdLineParser::EnableLongOptions'>EnableLongOptions</ref>
    </fseealso>
    <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 type='method' target='method-wxCmdLineParser::Usage'>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 type='method' target='method-wxCmdLineParser::Usage'>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">
    <fseealso>
     <ref type='method' target='method-wxCmdLineParser::SetLogo'>SetLogo</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxCmdLineParser::GetParamCount'>GetParamCount</ref>
    </fseealso>
    <description>
     <p>
      Returns the value of Nth parameter (as string only for now).
     </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="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 type='class' 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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/colour.h"/>
 </includes>
  
 <predefs>
  <p class="predefs">
   Objects:
  </p>
  <p class="predefs">
   <b>
    wxNullColour
   </b>
  </p>
  <p class="predefs">
   Pointers:
  </p>
  <p class="predefs">
   <b>
    wxBLACK
    <br/>
     wxWHITE
    <br/>
     wxRED
    <br/>
     wxBLUE
    <br/>
     wxGREEN
    <br/>
     wxCYAN
    <br/>
     wxLIGHT_GREY
   </b>
  </p>
 </predefs>
  
 <seealso>
  <ref type='class' target='wxColourDatabase'>wxColourDatabase</ref>
  <ref type='class' target='wxPen'>wxPen</ref>
  <ref type='class' target='wxBrush'>wxBrush</ref>
  , 
  <ref type='class' target='wxColourDialog'>wxColourDialog</ref>
  <ref type='class' 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="unsigned char " name="red">
      The red value.
     </parameter>
     <parameter type="unsigned char " name="green">
      The green value.
     </parameter>
     <parameter type="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>
    <fseealso>
     <ref type='class' target='wxColourDatabase'>wxColourDatabase</ref>
    </fseealso>
    <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="unsigned char " name="red"></parameter>
     <parameter type="unsigned char " name="green"></parameter>
     <parameter type="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>
    <fseealso>
     <ref type='class' target='wxColourDatabase'>wxColourDatabase</ref>
    </fseealso>
    <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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/cmndata.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxColour'>wxColour</ref>
  <ref type='class' target='wxColourDialog'>wxColourDialog</ref>
  <ref type='unknown' 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 type='method' target='method-wxColourDatabase::AddColour'>AddColour</ref>
   and may use it to look up colours by names using
   <ref type='method' target='method-wxColourDatabase::Find'>Find</ref>
   or find the names for the standard colour suing
   <ref type='method' target='method-wxColourDatabase::FindName'>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 type='class' 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 type='method' target='method-wxColour::Ok'>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="class" target="wxDialog">wxDialog</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/colordlg.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxcolourdialogoverview'>wxColourDialog Overview</ref>
  ,
  <br/>
   
  <ref type='class' target='wxColour'>wxColour</ref>
  ,
  <br/>
   
  <ref type='class' target='wxColourData'>wxColourData</ref>
  ,
  <br/>
   
  <ref type='unknown' 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>
    <fseealso>
     <ref type='class' target='wxColourData'>wxColourData</ref>
    </fseealso>
    <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 type='unknown' target='wxcolourdialogctor'>constructor</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxColourDialog" name="GetColourData">
   <function type="wxColourData&amp;" name="GetColourData">
    <description>
     <p>
      Returns the
      <ref type='class' 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="class" target="wxControlWithItems">wxControlWithItems</ref>
   
  <ref type="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='method' target='method-wxComboBox::GetValue'>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 type='class' target='wxListBox'>wxListBox</ref>
  <ref type='class' target='wxTextCtrl'>wxTextCtrl</ref>
  <ref type='class' target='wxChoice'>wxChoice</ref>
  , 
  <ref type='class' 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 type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxComboBox::Create'>wxComboBox::Create</ref>
     <ref type='class' target='wxValidator'>wxValidator</ref>
    </fseealso>
    <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 type='unknown' 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="class" 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 type='class' 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="class" 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 type='class' 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 type='method' target='method-wxTextCtrl::SetMaxLength'>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 type='method' target='method-wxCommandEvent::IsChecked'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/cmdproc.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxcommandprocessoroverview'>wxCommandProcessor overview</ref>
  <ref type='class' 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 type='method' target='method-wxCommandProcessor::MarkAsSaved'>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 type='method' target='method-wxCommandProcessor::IsDirty'>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 type='method' target='method-wxThread::Wait'>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 type='method' target='method-wxCondition::Signal'>Signal()</ref>
   may happen before the other thread calls
   <ref type='method' target='method-wxCondition::Wait'>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 type='method' target='method-wxCondition::Signal'>Signal()</ref>
   . Of course, this means that this call is going to block until
   <ref type='method' target='method-wxCondition::Wait'>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 type='method' target='method-wxThread::Wait'>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>
  <p class="consts">
   The following return codes are returned by wxCondition member functions:
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
 </constants>
  
 <seealso>
  <ref type='class' target='wxThread'>wxThread</ref>
  <ref type='class' 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 type='method' target='method-wxCondition::Wait'>Wait</ref>
      function.
     </p>
     <p>
      Use
      <ref type='method' target='method-wxCondition::IsOk'>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">
    <fseealso>
     <ref type='method' target='method-wxCondition::Signal'>wxCondition::Signal</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCondition::Broadcast'>wxCondition::Broadcast</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxCondition::WaitTimeout'>WaitTimeout</ref>
    </fseealso>
    <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 type='method' target='method-wxCondition::Signal'>Signal</ref>
      or
      <ref type='method' target='method-wxCondition::Broadcast'>Broadcast</ref>
      is called.
     </p>
     <p>
      Note that even if
      <ref type='method' target='method-wxCondition::Signal'>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 type='method' target='method-wxCondition::Wait'>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="wxConfigBase">
 <description>
  <p class="classdesc">
   wxConfigBase class defines the basic interface of all config classes. It can
   not be used by itself (it is an abstract base class) and you will always use
   one of its derivations:
   <ref type='class' target='wxFileConfig'>wxFileConfig</ref>
   , wxRegConfig or any other.
  </p>
  <p class="classdesc">
   However, usually you don't even need to know the precise nature of the class
   you're working with but you would just use the wxConfigBase methods. This
   allows you to write the same code regardless of whether you're working with
   the registry under Win32 or text-based config files under Unix (or even
   Windows 3.1 .INI files if you're really unlucky). To make writing the
   portable code even easier, wxWidgets provides a typedef wxConfig which is
   mapped onto the native wxConfigBase implementation on the given platform:
   i.e. wxRegConfig under Win32 and wxFileConfig otherwise.
  </p>
  <p class="classdesc">
   See
   <ref type='unknown' target='wxconfigoverview'>config overview</ref>
   for the descriptions of all features of this class.
  </p>
  <p class="classdesc">
   It is highly recommended to use static functions
   <i>
    Get()
   </i>
   and/or
   <i>
    Set()
   </i>
   , so please have a
   <ref type='unknown' target='wxconfigstaticfunctions'>look at them.</ref>
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <example>
  <p>
   Here is how you would typically use this class:
  </p>
  <pre>
  // using wxConfig instead of writing wxFileConfig or wxRegConfig enhances
  // portability of the code
  wxConfig &#42;config = new wxConfig(&quot;MyAppName&quot;);

  wxString str;
  if ( config-&gt;Read(&quot;LastPrompt&quot;, &amp;str) ) {
    // last prompt was found in the config file/registry and its value is now
    // in str
    ...
  }
  else {
    // no last prompt...
  }

  // another example: using default values and the full path instead of just
  // key name: if the key is not found , the value 17 is returned
  long value = config-&gt;Read(&quot;/LastRun/CalculatedValues/MaxValue&quot;, 17);
  ...
  ...
  ...
  // at the end of the program we would save everything back
  config-&gt;Write(&quot;LastPrompt&quot;, str);
  config-&gt;Write(&quot;/LastRun/CalculatedValues/MaxValue&quot;, value);

  // the changes will be written back automatically
  delete config;
</pre>
  <p>
   This basic example, of course, doesn't show all wxConfig features, such as
   enumerating, testing for existence and deleting the entries and groups of
   entries in the config file, its abilities to automatically store the default
   values or expand the environment variables on the fly. However, the main idea
   is that using this class is easy and that it should normally do what you
   expect it to.
  </p>
  <p>
   NB: in the documentation of this class, the words &quot;config file&quot;
   also mean &quot;registry hive&quot; for wxRegConfig and, generally speaking,
   might mean any physical storage where a wxConfigBase-derived class stores its
   data.
  </p>
 </example>
  
 <parents></parents>
  
 <includes>
  <header name="wx/config.h" comment="to let wxWidgets choose a wxConfig class for your platform"/>
  <header name="wx/confbase.h" comment="base config class"/>
  <header name="wx/fileconf.h" comment="wxFileConfig class"/>
  <header name="wx/msw/regconf.h" comment="wxRegConfig class"/>
 </includes>
  
 <members>
  <member class="wxConfigBase" name="wxConfigBase">
   <function type="" name="wxConfigBase">
    <parameters>
     <parameter type="const wxString&amp; " name="appName" value="wxEmptyString">
      The application name. If this is empty, the class will normally use
      <ref type='method' target='method-wxApp::GetAppName'>wxApp::GetAppName</ref>
      to set it. The application name is used in the registry key on Windows,
      and can be used to deduce the local filename parameter if that is missing.
     </parameter>
     <parameter type="const wxString&amp; " name="vendorName" value="wxEmptyString">
      The vendor name. If this is empty, it is assumed that no vendor name is
      wanted, if this is optional for the current config class. The vendor name
      is appended to the application name for wxRegConfig.
     </parameter>
     <parameter type="const wxString&amp; " name="localFilename" value="wxEmptyString">
      Some config classes require a local filename. If this is not present, but
      required, the application name will be used instead.
     </parameter>
     <parameter type="const wxString&amp; " name="globalFilename" value="wxEmptyString">
      Some config classes require a global filename. If this is not present, but
      required, the application name will be used instead.
     </parameter>
     <parameter type="long " name="style" value="0">
      Can be one of wxCONFIG_USE_LOCAL_FILE and wxCONFIG_USE_GLOBAL_FILE. The
      style interpretation depends on the config class and is ignored by some.
      For wxFileConfig, these styles determine whether a local or global config
      file is created or used. If the flag is present but the parameter is
      empty, the parameter will be set to a default. If the parameter is present
      but the style flag not, the relevant flag will be added to the style. For
      wxFileConfig you can also add wxCONFIG_USE_RELATIVE_PATH by logically
      or'ing it to either of the _FILE options to tell wxFileConfig to use
      relative instead of absolute paths. For wxFileConfig, you can also add
      wxCONFIG_USE_NO_ESCAPE_CHARACTERS which will turn off character escaping
      for the values of entries stored in the config file: for example a
      <i>
       foo
      </i>
      key with some backslash characters will be stored as
      <tt>foo=C:\backslashmydir</tt>
      instead of the usual storage of
      <tt>foo=C:\backslash\backslashmydir</tt>
      . For wxRegConfig, this flag refers to HKLM, and provides read-only
      access. The wxCONFIG_USE_NO_ESCAPE_CHARACTERS style can be helpful if your
      config file must be read or written to by a non-wxWidgets program (which
      might not understand the escape characters). Note, however, that if
      wxCONFIG_USE_NO_ESCAPE_CHARACTERS style is used, it is is now your
      application's responsibility to ensure that there is no newline or other
      illegal characters in a value, before writing that value to the file.
     </parameter>
     <parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8">
      This parameter is only used by wxFileConfig when compiled in Unicode mode.
      It specifies the encoding in which the configuration file is written.
     </parameter>
    </parameters>
    <remarks>
     <p>
      By default, environment variable expansion is on and recording defaults is
      off.
     </p>
    </remarks>
    <description>
     <p>
      This is the default and only constructor of the wxConfigBase class, and
      derived classes.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="~wxConfigBase">
   <function type="" name="~wxConfigBase">
    <description>
     <p>
      Empty but ensures that dtor of all derived classes is virtual.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Create">
   <function type="static wxConfigBase &#42;" name="Create">
    <description>
     <p>
      Create a new config object: this function will create the &quot;best&quot;
      implementation of wxConfig available for the current platform, see
      comments near the definition of wxCONFIG_WIN32_NATIVE for details. It
      returns the created object and also sets it as the current one.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="DontCreateOnDemand">
   <function type="void" name="DontCreateOnDemand">
    <description>
     <p>
      Calling this function will prevent
      <i>
       Get()
      </i>
      from automatically creating a new config object if the current one is
      NULL. It might be useful to call it near the program end to prevent
      &quot;accidental&quot; creation of a new config object.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="DeleteAll">
   <function type="bool" name="DeleteAll">
    <description>
     <p>
      Delete the whole underlying object (disk file, registry key, ...).
      Primarly for use by uninstallation routine.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="DeleteEntry">
   <function type="bool" name="DeleteEntry">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="bool " name="bDeleteGroupIfEmpty" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Deletes the specified entry and the group it belongs to if it was the last
      key in it and the second parameter is true.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="DeleteGroup">
   <function type="bool" name="DeleteGroup">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
    </parameters>
    <description>
     <p>
      Delete the group (with all subgroups)
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Exists">
   <function type="bool" name="Exists" suffix="const">
    <parameters>
     <parameter type="wxString&amp; " name="strName"></parameter>
    </parameters>
    <description>
     <p>
      returns true if either a group or an entry with a given name exists
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Flush">
   <function type="bool" name="Flush">
    <parameters>
     <parameter type="bool " name="bCurrentOnly" value="false"></parameter>
    </parameters>
    <description>
     <p>
      permanently writes all changes (otherwise, they're only written from
      object's destructor)
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Get">
   <function type="static wxConfigBase &#42;" name="Get">
    <parameters>
     <parameter type="bool " name="CreateOnDemand" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Get the current config object. If there is no current object and
      <i>
       CreateOnDemand
      </i>
      is true, creates one (using
      <i>
       Create
      </i>
      ) unless DontCreateOnDemand was called previously.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetAppName">
   <function type="wxString" name="GetAppName" suffix="const">
    <description>
     <p>
      Returns the application name.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetEntryType">
   <function type="enum wxConfigBase::EntryType" name="GetEntryType" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="name"></parameter>
    </parameters>
    <description>
     <p>
      Returns the type of the given entry or
      <i>
       Unknown
      </i>
      if the entry doesn't exist. This function should be used to decide which
      version of Read() should be used because some of wxConfig implementations
      will complain about type mismatch otherwise: e.g., an attempt to read a
      string value from an integer key with wxRegConfig will fail.
     </p>
     <p>
      The result is an element of enum EntryType:
     </p>
     <pre>
  enum EntryType
  {
    Type_Unknown,
    Type_String,
    Type_Boolean,
    Type_Integer,
    Type_Float
  };
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetFirstGroup">
   <function type="bool" name="GetFirstGroup" suffix="const">
    <parameters>
     <parameter type="wxString&amp; " name="str"></parameter>
     <parameter type="long&amp; " name="index"></parameter>
    </parameters>
    <description>
     <p>
      Gets the first group.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetFirstEntry">
   <function type="bool" name="GetFirstEntry" suffix="const">
    <parameters>
     <parameter type="wxString&amp; " name="str"></parameter>
     <parameter type="long&amp; " name="index"></parameter>
    </parameters>
    <description>
     <p>
      Gets the first entry.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetNextGroup">
   <function type="bool" name="GetNextGroup" suffix="const">
    <parameters>
     <parameter type="wxString&amp; " name="str"></parameter>
     <parameter type="long&amp; " name="index"></parameter>
    </parameters>
    <description>
     <p>
      Gets the next group.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetNextEntry">
   <function type="bool" name="GetNextEntry" suffix="const">
    <parameters>
     <parameter type="wxString&amp; " name="str"></parameter>
     <parameter type="long&amp; " name="index"></parameter>
    </parameters>
    <description>
     <p>
      Gets the next entry.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetNumberOfEntries">
   <function type="uint " name="GetNumberOfEntries" suffix="const">
    <parameters>
     <parameter type="bool " name="bRecursive" value="false"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetNumberOfGroups">
   <function type="uint" name="GetNumberOfGroups" suffix="const">
    <parameters>
     <parameter type="bool " name="bRecursive" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Get number of entries/subgroups in the current group, with or without its
      subgroups.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetPath">
   <function type="const wxString&amp;" name="GetPath" suffix="const">
    <description>
     <p>
      Retrieve the current path (always as absolute path).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="GetVendorName">
   <function type="wxString" name="GetVendorName" suffix="const">
    <description>
     <p>
      Returns the vendor name.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="HasEntry">
   <function type="bool" name="HasEntry" suffix="const">
    <parameters>
     <parameter type="wxString&amp; " name="strName"></parameter>
    </parameters>
    <description>
     <p>
      returns true if the entry by this name exists
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="HasGroup">
   <function type="bool" name="HasGroup" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="strName"></parameter>
    </parameters>
    <description>
     <p>
      returns true if the group by this name exists
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="IsExpandingEnvVars">
   <function type="bool" name="IsExpandingEnvVars" suffix="const">
    <description>
     <p>
      Returns true if we are expanding environment variables in key values.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="IsRecordingDefaults">
   <function type="bool" name="IsRecordingDefaults" suffix="const">
    <description>
     <p>
      Returns true if we are writing defaults back to the config file.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Read">
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="key"></parameter>
     <parameter type="wxString&#42; " name="str"></parameter>
    </parameters>
    <description>
     <p>
      Read a string from the key, returning true if the value was read. If the
      key was not found,
      <i>
       str
      </i>
      is not changed.
     </p>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="key"></parameter>
     <parameter type="wxString&#42; " name="str"></parameter>
     <parameter type="const wxString&amp; " name="defaultVal"></parameter>
    </parameters>
    <description>
     <p>
      Read a string from the key. The default value is returned if the key was
      not found.
     </p>
     <p>
      Returns true if value was really read, false if the default was used.
     </p>
    </description>
   </function>
    
   <function type="wxString" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="key"></parameter>
     <parameter type="const
wxString&amp; " name="defaultVal"></parameter>
    </parameters>
    <description>
     <p>
      Another version of
      <i>
       Read()
      </i>
      , returning the string value directly.
     </p>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="long&#42; " name="l"></parameter>
    </parameters>
    <description>
     <p>
      Reads a long value, returning true if the value was found. If the value
      was not found,
      <i>
       l
      </i>
      is not changed.
     </p>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="long&#42; " name="l"></parameter>
     <parameter type="long " name="defaultVal"></parameter>
    </parameters>
    <description>
     <p>
      Reads a long value, returning true if the value was found. If the value
      was not found,
      <i>
       defaultVal
      </i>
      is used instead.
     </p>
    </description>
   </function>
    
   <function type="long " name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="key"></parameter>
     <parameter type="long " name="defaultVal"></parameter>
    </parameters>
    <description>
     <p>
      Reads a long value from the key and returns it.
      <i>
       defaultVal
      </i>
      is returned if the key is not found.
     </p>
     <p>
      NB: writing
     </p>
     <pre>
    conf-&gt;Read(&quot;key&quot;, 0);
</pre>
     <p>
      won't work because the call is ambiguous: compiler can not choose between
      two
      <i>
       Read
      </i>
      functions. Instead, write:
     </p>
     <pre>
    conf-&gt;Read(&quot;key&quot;, 0l);
</pre>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="double&#42; " name="d"></parameter>
    </parameters>
    <description>
     <p>
      Reads a double value, returning true if the value was found. If the value
      was not found,
      <i>
       d
      </i>
      is not changed.
     </p>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="double&#42; " name="d"></parameter>
     <parameter type="double " name="defaultVal"></parameter>
    </parameters>
    <description>
     <p>
      Reads a double value, returning true if the value was found. If the value
      was not found,
      <i>
       defaultVal
      </i>
      is used instead.
     </p>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="bool&#42; " name="b"></parameter>
    </parameters>
    <description>
     <p>
      Reads a bool value, returning true if the value was found. If the value
      was not found,
      <i>
       b
      </i>
      is not changed.
     </p>
    </description>
   </function>
    
   <function type="bool" name="Read" suffix="const">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="bool&#42; " name="d"></parameter>
     <parameter type="bool " name="defaultVal"></parameter>
    </parameters>
    <description>
     <p>
      Reads a bool value, returning true if the value was found. If the value
      was not found,
      <i>
       defaultVal
      </i>
      is used instead.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="RenameEntry">
   <function type="bool" name="RenameEntry">
    <parameters>
     <parameter type="const wxString&amp;  " name="oldName"></parameter>
     <parameter type="const wxString&amp;  " name="newName"></parameter>
    </parameters>
    <description>
     <p>
      Renames an entry in the current group. The entries names (both the old and
      the new one) shouldn't contain backslashes, i.e. only simple names and not
      arbitrary paths are accepted by this function.
     </p>
     <p>
      Returns false if
      <i>
       oldName
      </i>
      doesn't exist or if
      <i>
       newName
      </i>
      already exists.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="RenameGroup">
   <function type="bool" name="RenameGroup">
    <parameters>
     <parameter type="const wxString&amp;  " name="oldName"></parameter>
     <parameter type="const wxString&amp;  " name="newName"></parameter>
    </parameters>
    <description>
     <p>
      Renames a subgroup of the current group. The subgroup names (both the old
      and the new one) shouldn't contain backslashes, i.e. only simple names and
      not arbitrary paths are accepted by this function.
     </p>
     <p>
      Returns false if
      <i>
       oldName
      </i>
      doesn't exist or if
      <i>
       newName
      </i>
      already exists.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Set">
   <function type="static wxConfigBase &#42;" name="Set">
    <parameters>
     <parameter type="wxConfigBase &#42;" name="pConfig"></parameter>
    </parameters>
    <description>
     <p>
      Sets the config object as the current one, returns the pointer to the
      previous current object (both the parameter and returned value may be
      NULL)
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="SetExpandEnvVars">
   <function type="void" name="SetExpandEnvVars ">
    <parameters>
     <parameter type="bool " name="bDoIt" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Determine whether we wish to expand environment variables in key values.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="SetPath">
   <function type="void" name="SetPath">
    <parameters>
     <parameter type="const wxString&amp; " name="strPath"></parameter>
    </parameters>
    <description>
     <p>
      Set current path: if the first character is '/', it is the absolute path,
      otherwise it is a relative path. '..' is supported. If strPath doesn't
      exist it is created.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="SetRecordDefaults">
   <function type="void" name="SetRecordDefaults">
    <parameters>
     <parameter type="bool " name="bDoIt" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Sets whether defaults are recorded to the config file whenever an attempt
      to read the value which is not present in it is done.
     </p>
     <p>
      If on (default is off) all default values for the settings used by the
      program are written back to the config file. This allows the user to see
      what config options may be changed and is probably useful only for
      wxFileConfig.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxConfigBase" name="Write">
   <function type="bool" name="Write">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="const wxString&amp; 
" name="value"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="Write">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="long " name="value"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="Write">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="double " name="value"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="Write">
    <parameters>
     <parameter type="const wxString&amp;  " name="key"></parameter>
     <parameter type="bool " name="value"></parameter>
    </parameters>
    <description>
     <p>
      These functions write the specified value to the config file and return
      true on success.
     </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 type='class' target='wxClient'>wxClient</ref>
   object, or by the acceptance of a connection by a
   <ref type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/ipc.h"/>
 </includes>
  
 <types>
  <p class="types">
   <ref target="wxIPCFormat"/>
   wxIPCFormat is defined as follows:
  </p>
  <p class="types"></p>
  <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>
  <p></p>
 </types>
  
 <seealso>
  <ref type='class' target='wxClient'>wxClient</ref>
  <ref type='class' target='wxServer'>wxServer</ref>
  , 
  <ref type='unknown' 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 type='method' target='method-wxServer::OnAcceptConnection'>wxServer::OnAcceptConnection</ref>
      and/or
      <ref type='method' target='method-wxClient::OnMakeConnection'>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 type='method' target='method-wxConnection::OnAdvise'>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 type='method' target='method-wxConnection::Poke'>wxConnection::Poke</ref>
      in that respect). Causes the server connection's
      <ref type='method' target='method-wxConnection::OnExecute'>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 type='method' target='method-wxConnection::OnDisconnect'>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 type='method' target='method-wxConnection::Advise'>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 type='method' target='method-wxConnection::Execute'>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 type='method' target='method-wxConnection::Request'>wxConnection::Request</ref>
      . The server's
      <ref type='method' target='method-wxConnection::OnRequest'>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 type='method' target='method-wxConnection::OnPoke'>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 type='method' target='method-wxConnection::OnRequest'>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 type='method' target='method-wxConnection::OnStartAdvise'>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 type='method' target='method-wxConnection::OnStopAdvise'>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"></p>
  <pre>
  wxContextHelp contextHelp(myWindow);
</pre>
  <p></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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/cshelp.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxHelpEvent'>wxHelpEvent</ref>
   
  <ref type='class' target='wxHelpController'>wxHelpController</ref>
   
  <ref type='class' 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 type='method' target='method-wxContextHelp::BeginContextHelp'>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 type='class' 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="class" target="wxBitmapButton">wxBitmapButton</ref>
   
  <ref type="class" target="wxButton">wxButton</ref>
   
  <ref type="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/cshelp.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBitmapButton'>wxBitmapButton</ref>
  <ref type='class' 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="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='class' target='wxCommandEvent'>Command events</ref>
  ,
  <br/>
   
  <ref type='unknown' 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="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/control.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='class' 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 type='class' target='wxListBox'>wxListBox</ref>
   and
   <ref type='class' target='wxCheckListBox'>wxCheckListBox</ref>
   derived from it,
   <ref type='class' target='wxChoice'>wxChoice</ref>
   and
   <ref type='class' 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 type='method' target='method-wxControlWithItems::Delete'>deleted</ref>
   or the entire control is
   <ref type='method' target='method-wxControlWithItems::Clear'>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 type='method' target='method-wxControlWithItems::Append'>Append</ref>
   (the version with client data pointer) or
   <ref type='method' target='method-wxControlWithItems::SetClientData'>SetClientData</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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>
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::Clear'>Clear</ref>
    </fseealso>
    <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>
     <parameter type="bool " name="caseSensitive" value="false">
      Whether search is case sensitive (default is not).
     </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">
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::IsEmpty'>IsEmpty</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::SetSelection'>SetSelection</ref>
     , 
     <ref type='method' target='method-wxControlWithItems::GetStringSelection'>GetStringSelection</ref>
    </fseealso>
    <remarks>
     <p>
      This method can be used with single selection list boxes only, you should
      use
      <ref type='method' target='method-wxListBox::GetSelections'>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">
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::GetSelection'>GetSelection</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::GetCount'>GetCount</ref>
    </fseealso>
    <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 type='method' target='method-wxControlWithItems::GetCount'>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 type='method' target='method-wxControlWithItems::SetSelection'>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 type='method' target='method-wxControlWithItems::Delete'>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>
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::SetString'>SetString</ref>
     , 
     <ref type='method' target='method-wxControlWithItems::SetStringSelection'>SetStringSelection</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxControlWithItems::SetSelection'>SetSelection</ref>
    </fseealso>
    <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="class" target="wxOutputStream">wxOutputStream</ref>
   
  <ref type="class" 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 type='class' 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 type='class' target='wxCriticalSectionLocker'>wxCriticalSectionLocker</ref>
   class whenever possible instead of directly using wxCriticalSection for the
   same reasons
   <ref type='class' target='wxMutexLocker'>wxMutexLocker</ref>
   is preferrable to
   <ref type='class' 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 type='class' target='wxThread'>wxThread</ref>
  <ref type='class' target='wxCondition'>wxCondition</ref>
   
  <ref type='class' 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 type='class' 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"></p>
  <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>
  <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 type='class' target='wxCriticalSection'>wxCriticalSection</ref>
   
  <ref type='class' 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 type='class' 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 type='unknown' 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="class" target="wxBitmap">wxBitmap</ref>
   
  <ref type="class" target="wxGDIObject">wxGDIObject</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/cursor.h"/>
 </includes>
  
 <predefs>
  <p class="predefs">
   Objects:
  </p>
  <p class="predefs">
   <b>
    wxNullCursor
   </b>
  </p>
  <p class="predefs">
   Pointers:
  </p>
  <p class="predefs">
   <b>
    wxSTANDARD_CURSOR
    <br/>
     wxHOURGLASS_CURSOR
    <br/>
     wxCROSS_CURSOR
   </b>
  </p>
 </predefs>
  
 <seealso>
  <ref type='class' target='wxBitmap'>wxBitmap</ref>
  <ref type='class' target='wxIcon'>wxIcon</ref>
  <ref type='method' target='method-wxWindow::SetCursor'>wxWindow::SetCursor</ref>
  , 
  <ref type='unknown' 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 type='class' 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 type='method' target='method-wxCustomDataObject::SetData'>SetData</ref>
   or
   <ref type='method' target='method-wxCustomDataObject::TakeData'>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="class" target="wxDataObjectSimple">wxDataObjectSimple</ref>
   
  <ref type="class" target="wxDataObject">wxDataObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dataobj.h"/>
 </includes>
  
 <override>
  <p class="virtuals">
   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 type='method' target='method-wxCustomDataObject::GetSize'>GetSize</ref>
   ,
   <ref type='method' target='method-wxCustomDataObject::GetData'>GetData</ref>
   and
   <ref type='method' target='method-wxCustomDataObject::SetData'>SetData</ref>
   (or may be only the first two or only the last one if you only allow
   reading/writing the data)
  </p>
 </override>
  
 <seealso>
  <ref type='class' 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 type='method' target='method-wxDataObjectSimple::SetFormat'>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 type='method' target='method-wxCustomDataObject::Free'>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 type='method' target='method-wxCustomDataObject::SetData'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dc.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' 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 type='method' target='method-wxDC::SetLogicalFunction'>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 type='class' 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>
    <fseealso>
     <ref type='class' target='wxMemoryDC'>wxMemoryDC</ref>
     <ref type='class' target='wxBitmap'>wxBitmap</ref>
     <ref type='class' target='wxMask'>wxMask</ref>
      \begin{comment}
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDC" name="CacheEnabled">
   <function type="static bool" name="CacheEnabled">
    <fseealso>
     <ref type='method' target='method-wxDC::EnableCache'>wxDC::EnableCache</ref>
     <ref type='unknown' target='wxDC::ClearCache'>wxDC::ClearCache</ref>
      \end{comment}
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDC::ResetBoundingBox'>ResetBoundingBox</ref>
    </fseealso>
    <description>
     <p>
      Adds the specified point to the bounding box which can be retrieved with
      <ref type='method' target='method-wxDC::MinX'>MinX</ref>
      ,
      <ref type='method' target='method-wxDC::MaxX'>MaxX</ref>
      and
      <ref type='method' target='method-wxDC::MinY'>MinY</ref>
      ,
      <ref type='method' target='method-wxDC::MaxY'>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">
    <fseealso>
     <ref type='method' target='method-wxDC::EnableCache'>wxDC::EnableCache</ref>
     <ref type='unknown' target='wxDC::CacheEnabled'>wxDC::CacheEnabled</ref>
      \end{comment}
    </fseealso>
    <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 type='method' target='method-wxDC::SetClippingRegion'>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 type='method' target='method-wxDC::SetTextForeground'>SetTextForeground</ref>
      ,
      <ref type='method' target='method-wxDC::SetTextBackground'>SetTextBackground</ref>
      and
      <ref type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxDC::DrawEllipse'>DrawEllipse</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDC::DrawCircle'>DrawCircle</ref>
    </fseealso>
    <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 type='method' target='method-wxDC::DrawPolygon'>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 type='method' target='method-wxDC::DrawPolygon'>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>
    <fseealso>
     <ref type='method' target='method-wxDC::DrawText'>DrawText</ref>
    </fseealso>
    <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"></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 type='method' target='method-wxDC::GetTextExtent'>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 type='method' target='method-wxDC::GetLogicalFunction'>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>
    <fseealso>
     <ref type='method' target='method-wxDC::CacheEnabled'>wxDC::CacheEnabled</ref>
     <ref type='unknown' target='wxDC::ClearCache'>wxDC::ClearCache</ref>
      \end{comment}
    </fseealso>
    <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 type='method' target='method-wxDC::SetBackground'>wxDC::SetBackground</ref>
      ).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDC" name="GetBackgroundMode">
   <function type="int" name="GetBackgroundMode" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxDC::SetBackgroundMode'>SetBackgroundMode</ref>
    </fseealso>
    <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 type='method' target='method-wxDC::SetBrush'>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 type='method' target='method-wxDC::SetFont'>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 type='method' target='method-wxDC::SetLogicalFunction'>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 type='method' target='method-wxDC::SetMapMode'>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 type='method' target='method-wxDC::GetTextExtent'>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 type='method' target='method-wxDC::SetPen'>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 type='method' target='method-wxDC::DrawPoint'>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 type='method' target='method-wxDC::SetTextBackground'>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 type='class' target='wxFont'>wxFont</ref>
      ,
      <ref type='method' target='method-wxDC::SetFont'>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 type='method' target='method-wxDC::SetTextForeground'>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 type='method' target='method-wxDC::SetUserScale'>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">
    <fseealso>
     <ref type='method' target='method-wxDC::CalcBoundingBox'>CalcBoundingBox</ref>
    </fseealso>
    <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 type='class' target='wxBrush'>wxBrush</ref>
      .
     </p>
     <p>
      See also
      <ref type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxDC::DestroyClippingRegion'>wxDC::DestroyClippingRegion</ref>
     <ref type='class' target='wxRegion'>wxRegion</ref>
    </fseealso>
    <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 type='class' 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 type='method' target='method-wxDC::Blit'>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 type='method' target='method-wxDC::SetUserScale'>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 type='class' 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 type='class' 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 type='class' 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 type='class' 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 type='method' target='method-wxDDEClient::OnMakeConnection'>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 type='class' target='wxTCPClient'>wxTCPClient</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="help" target="wxClientBase">wxClientBase</ref>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dde.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxDDEServer'>wxDDEServer</ref>
  <ref type='class' target='wxDDEConnection'>wxDDEConnection</ref>
   
  <ref type='unknown' 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 type='method' target='method-wxDDEClient::OnMakeConnection'>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 type='class' target='wxDDEConnection'>wxDDEConnection</ref>
      returned from a
      <ref type='method' target='method-wxDDEClient::MakeConnection'>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 type='method' target='method-wxConnection::OnAdvise'>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 type='class' target='wxDDEClient'>wxDDEClient</ref>
   object, or by the acceptance of a connection by a
   <ref type='class' 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 type='class' target='wxTCPConnection'>wxTCPConnection</ref>
   .
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="help" target="wxConnectionBase">wxConnectionBase</ref>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dde.h"/>
 </includes>
  
 <types>
  <p class="types">
   <ref target="wxIPCFormat"/>
   wxIPCFormat is defined as follows:
  </p>
  <p class="types"></p>
  <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>
  <p></p>
 </types>
  
 <seealso>
  <ref type='class' target='wxDDEClient'>wxDDEClient</ref>
  <ref type='class' target='wxDDEServer'>wxDDEServer</ref>
  <ref type='unknown' 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 type='method' target='method-wxDDEServer::OnAcceptConnection'>wxDDEServer::OnAcceptConnection</ref>
      and/or
      <ref type='method' target='method-wxDDEClient::OnMakeConnection'>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 type='method' target='method-wxDDEConnection::OnAdvise'>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 type='method' target='method-wxDDEConnection::Poke'>wxDDEConnection::Poke</ref>
      in that respect). Causes the server connection's
      <ref type='method' target='method-wxDDEConnection::OnExecute'>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 type='method' target='method-wxDDEConnection::OnDisconnect'>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 type='method' target='method-wxDDEConnection::Request'>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 type='method' target='method-wxDDEConnection::OnPoke'>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 type='method' target='method-wxDDEConnection::OnRequest'>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 type='method' target='method-wxDDEConnection::OnStartAdvise'>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 type='method' target='method-wxDDEConnection::OnStopAdvise'>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 type='class' 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 type='class' target='wxDDEClient'>wxDDEClient</ref>
  <ref type='class' target='wxDDEConnection'>wxDDEConnection</ref>
  <ref type='unknown' 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>
  <p class="virtuals">
   None
  </p>
 </override>
  
 <seealso>
  <ref type='unknown' target='wxdndoverview'>Clipboard and drag and drop overview</ref>
   
  <ref type='unknown' target='samplednd'>DnD sample</ref>
   
  <ref type='class' 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 type='method' target='method-wxDataFormat::SetType'>SetType</ref>
      or
      <ref type='method' target='method-wxDataFormat::SetId'>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 type='class' 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"></p>
  <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>
  <p class="classdesc">
   See also
   <ref type='class' 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 type='method' target='method-wxDataInputStream::ReadString'>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 type='method' target='method-wxDataOutputStream::WriteString'>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"></p>
  <pre>
enum Direction
{
    Get  = 0x01,    // format is supported by GetDataHere()
    Set  = 0x02     // format is supported by SetData()
};
</pre>
  <p></p>
  <p class="classdesc">
   which distinguishes between them. See
   <ref type='class' 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 type='class' target='wxDataObjectSimple'>wxDataObjectSimple</ref>
   and
   <ref type='class' target='wxDataObjectComposite'>wxDataObjectComposite</ref>
   .
   <ref type='class' target='wxDataObjectSimple'>wxDataObjectSimple</ref>
   is the simplest wxDataObject possible and only holds data in a single format
   (such as HTML or text) and
   <ref type='class' 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 type='class' target='wxFileDataObject'>wxFileDataObject</ref>
   ,
   <ref type='class' target='wxTextDataObject'>wxTextDataObject</ref>
   and
   <ref type='class' 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 type='class' 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>
  <p class="virtuals">
   Each class derived directly from wxDataObject must override and implement all
   of its functions which are pure virtual in the base class.
  </p>
  <p class="virtuals">
   The data objects which only render their data or only set it (i.e. work in
   only one direction), should return 0 from
   <ref type='method' target='method-wxDataObject::GetFormatCount'>GetFormatCount</ref>
   .
  </p>
 </override>
  
 <seealso>
  <ref type='unknown' target='wxdndoverview'>Clipboard and drag and drop overview</ref>
   
  <ref type='unknown' target='samplednd'>DnD sample</ref>
   
  <ref type='class' target='wxFileDataObject'>wxFileDataObject</ref>
   
  <ref type='class' target='wxTextDataObject'>wxTextDataObject</ref>
   
  <ref type='class' target='wxBitmapDataObject'>wxBitmapDataObject</ref>
   
  <ref type='class' target='wxCustomDataObject'>wxCustomDataObject</ref>
   
  <ref type='class' target='wxDropTarget'>wxDropTarget</ref>
   
  <ref type='class' target='wxDropSource'>wxDropSource</ref>
   
  <ref type='class' target='wxTextDropTarget'>wxTextDropTarget</ref>
   
  <ref type='class' 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 type='class' target='wxDataObject'>wxDataObject</ref>
   derivation which may be used to support multiple formats. It contains several
   <ref type='class' 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 type='method' target='method-wxDataObjectComposite::Add'>Add</ref>
   ) and its format determines the preferred format of the composite data object
   as well.
  </p>
  <p class="classdesc">
   See
   <ref type='class' 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="class" target="wxDataObject">wxDataObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dataobj.h"/>
 </includes>
  
 <override>
  <p class="virtuals">
   None, this class should be used directly.
  </p>
 </override>
  
 <seealso>
  <ref type='unknown' target='wxdndoverview'>Clipboard and drag and drop overview</ref>
   
  <ref type='class' target='wxDataObject'>wxDataObject</ref>
   
  <ref type='class' target='wxDataObjectSimple'>wxDataObjectSimple</ref>
   
  <ref type='class' target='wxFileDataObject'>wxFileDataObject</ref>
   
  <ref type='class' target='wxTextDataObject'>wxTextDataObject</ref>
   
  <ref type='class' 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 type='class' 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="class" target="wxDataObject">wxDataObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dataobj.h"/>
 </includes>
  
 <override>
  <p class="virtuals">
   The objects supporting rendering the data must override
   <ref type='method' target='method-wxDataObjectSimple::GetDataSize'>GetDataSize</ref>
   and
   <ref type='method' target='method-wxDataObjectSimple::GetDataHere'>GetDataHere</ref>
   while the objects which may be set must override
   <ref type='method' target='method-wxDataObjectSimple::SetData'>SetData</ref>
   . Of course, the objects supporting both operations must override all three
   methods.
  </p>
 </override>
  
 <seealso>
  <ref type='unknown' target='wxdndoverview'>Clipboard and drag and drop overview</ref>
   
  <ref type='unknown' target='samplednd'>DnD sample</ref>
   
  <ref type='class' target='wxFileDataObject'>wxFileDataObject</ref>
   
  <ref type='class' target='wxTextDataObject'>wxTextDataObject</ref>
   
  <ref type='class' 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 type='method' target='method-wxDataObjectSimple::SetFormat'>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 type='class' 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 type='class' target='wxDataInputStream'>wxDataInputStream</ref>
   for its usage and caveats.
  </p>
  <p class="classdesc">
   See also
   <ref type='class' 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 type='method' target='method-wxDataOutputStream::WriteString'>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 type='class' target='wxDatePickerCtrl'>wxDatePickerCtrl</ref>
   . It also serves as a base class for
   <ref type='class' target='wxCalendarEvent'>wxCalendarEvent</ref>
   .
  </p>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  Used with 
  <ref type='class' target='wxDatePickerCtrl'>wxDatePickerCtrl</ref>
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='class' 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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/datectrl.h"/>
 </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 type='class' target='wxCalendarCtrl'>wxCalendarCtrl</ref>
  ,
  <br/>
   
  <ref type='class' 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 type='method' target='method-wxDatePickerCtrl::Create'>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 type='method' target='method-wxDatePickerCtrl::SetRange'>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 type='class' target='wxDateTime'>wxDateTime</ref>
   or
   <ref type='class' 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 type='class' 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 type='unknown' target='wxdatetimeoverview'>Date classes overview</ref>
  , 
  <ref type='class' 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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Days'>Days</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Day'>Day</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::GetTotalDays'>GetTotalDays</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::GetWeeks'>GetWeeks</ref>
     <ref type='method' target='method-wxDateSpan::GetDays'>GetDays</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDateSpan" name="GetWeeks">
   <function type="int" name="GetWeeks" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::GetTotalDays'>GetTotalDays</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Months'>Months</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Month'>Month</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Neg'>Neg</ref>
    </fseealso>
    <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-">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Negate'>Negate</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Weeks'>Weeks</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Week'>Week</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Years'>Years</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDateSpan::Year'>Year</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='unknown' target='wxdatespanoperatorequal'>operator==</ref>
    </fseealso>
    <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="wxDateTime">
 <description>
  <p class="classdesc">
   wxDateTime class represents an absolute moment in the time.
  </p>
 </description>
  
 <category>
  Data structures
 </category>
  
 <shortdesc>
  A class for date/time manipulations
 </shortdesc>
  
 <parents></parents>
  
 <includes>
  <header name="wx/datetime.h"/>
 </includes>
  
 <constants>
  <p class="consts">
   Global constant
   <tt>wxDefaultDateTime</tt>
   and synonym for it
   <tt>wxInvalidDateTime</tt>
   are defined. This constant will be different from any valid wxDateTime
   object.
  </p>
  <p class="consts">
   All the following constants are defined inside wxDateTime class (i.e., to
   refer to them you should prepend their names with
   <tt>wxDateTime::</tt>
   ).
  </p>
  <p class="consts">
   Time zone symbolic names:
  </p>
  <p class="consts"></p>
  <pre>
    enum TZ
    {
        // the time in the current time zone
        Local,

        // zones from GMT (= Greenwhich Mean Time): they're guaranteed to be
        // consequent numbers, so writing something like `GMT0 + offset' is
        // safe if abs(offset) &lt;= 12

        // underscore stands for minus
        GMT_12, GMT_11, GMT_10, GMT_9, GMT_8, GMT_7,
        GMT_6, GMT_5, GMT_4, GMT_3, GMT_2, GMT_1,
        GMT0,
        GMT1, GMT2, GMT3, GMT4, GMT5, GMT6,
        GMT7, GMT8, GMT9, GMT10, GMT11, GMT12,
        // Note that GMT12 and GMT_12 are not the same: there is a difference
        // of exactly one day between them

        // some symbolic names for TZ

        // Europe
        WET = GMT0,                         // Western Europe Time
        WEST = GMT1,                        // Western Europe Summer Time
        CET = GMT1,                         // Central Europe Time
        CEST = GMT2,                        // Central Europe Summer Time
        EET = GMT2,                         // Eastern Europe Time
        EEST = GMT3,                        // Eastern Europe Summer Time
        MSK = GMT3,                         // Moscow Time
        MSD = GMT4,                         // Moscow Summer Time

        // US and Canada
        AST = GMT_4,                        // Atlantic Standard Time
        ADT = GMT_3,                        // Atlantic Daylight Time
        EST = GMT_5,                        // Eastern Standard Time
        EDT = GMT_4,                        // Eastern Daylight Saving Time
        CST = GMT_6,                        // Central Standard Time
        CDT = GMT_5,                        // Central Daylight Saving Time
        MST = GMT_7,                        // Mountain Standard Time
        MDT = GMT_6,                        // Mountain Daylight Saving Time
        PST = GMT_8,                        // Pacific Standard Time
        PDT = GMT_7,                        // Pacific Daylight Saving Time
        HST = GMT_10,                       // Hawaiian Standard Time
        AKST = GMT_9,                       // Alaska Standard Time
        AKDT = GMT_8,                       // Alaska Daylight Saving Time

        // Australia

        A_WST = GMT8,                       // Western Standard Time
        A_CST = GMT12 + 1,                  // Central Standard Time (+9.5)
        A_EST = GMT10,                      // Eastern Standard Time
        A_ESST = GMT11,                     // Eastern Summer Time

        // Universal Coordinated Time = the new and politically correct name
        // for GMT
        UTC = GMT0
    };
</pre>
  <p></p>
  <p class="consts">
   Month names: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec and
   Inv_Month for an invalid.month value are the values of
   <tt>wxDateTime::Month</tt>
   enum.
  </p>
  <p class="consts">
   Likewise, Sun, Mon, Tue, Wed, Thu, Fri, Sat, and Inv_WeekDay are the values
   in
   <tt>wxDateTime::WeekDay</tt>
   enum.
  </p>
  <p class="consts">
   Finally, Inv_Year is defined to be an invalid value for year parameter.
  </p>
  <p class="consts">
   <ref type='method' target='method-wxDateTime::GetMonthName'>GetMonthName()</ref>
   and
   <ref type='method' target='method-wxDateTime::GetWeekDayName'>GetWeekDayName</ref>
   functions use the following flags:
  </p>
  <p class="consts"></p>
  <pre>
    enum NameFlags
    {
        Name_Full = 0x01,       // return full name
        Name_Abbr = 0x02        // return abbreviated name
    };
</pre>
  <p></p>
  <p class="consts">
   Several functions accept an extra parameter specifying the calendar to use
   (although most of them only support now the Gregorian calendar). This
   parameters is one of the following values:
  </p>
  <p class="consts"></p>
  <pre>
    enum Calendar
    {
        Gregorian,  // calendar currently in use in Western countries
        Julian      // calendar in use since -45 until the 1582 (or later)
    };
</pre>
  <p></p>
  <p class="consts">
   Date calculations often depend on the country and wxDateTime allows to set
   the country whose conventions should be used using
   <ref type='method' target='method-wxDateTime::SetCountry'>SetCountry</ref>
   . It takes one of the following values as parameter:
  </p>
  <p class="consts"></p>
  <pre>
    enum Country
    {
        Country_Unknown, // no special information for this country
        Country_Default, // set the default country with SetCountry() method
                         // or use the default country with any other

        Country_WesternEurope_Start,
        Country_EEC = Country_WesternEurope_Start,
        France,
        Germany,
        UK,
        Country_WesternEurope_End = UK,

        Russia,

        USA
    };
</pre>
  <p></p>
  <p class="consts">
   Different parts of the world use different conventions for the week start. In
   some countries, the week starts on Sunday, while in others -- on Monday. The
   ISO standard doesn't address this issue, so we support both conventions in
   the functions whose result depends on it (
   <ref type='method' target='method-wxDateTime::GetWeekOfYear'>GetWeekOfYear</ref>
   and
   <ref type='method' target='method-wxDateTime::GetWeekOfMonth'>GetWeekOfMonth</ref>
   ).
  </p>
  <p class="consts">
   The desired behvaiour may be specified by giving one of the following
   constants as argument to these functions:
  </p>
  <p class="consts"></p>
  <pre>
    enum WeekFlags
    {
        Default_First,   // Sunday_First for US, Monday_First for the rest
        Monday_First,    // week starts with a Monday
        Sunday_First     // week starts with a Sunday
    };
</pre>
  <p></p>
 </constants>
  
 <types>
  <p class="types">
   The type
   <tt>wxDateTime_t</tt>
   is typedefed as
   <tt>unsigned short</tt>
   and is used to contain the number of years, hours, minutes, seconds and
   milliseconds.
  </p>
 </types>
  
 <seealso>
  <ref type='unknown' target='wxdatetimeoverview'>Date classes overview</ref>
  , 
  <ref type='class' target='wxTimeSpan'>wxTimeSpan</ref>
  , 
  <ref type='class' target='wxDateSpan'>wxDateSpan</ref>
  , 
  <ref type='class' target='wxCalendarCtrl'>wxCalendarCtrl</ref>
 </seealso>
  
 <members>
  <member class="wxDateTime" name="ConvertYearToBC">
   <function type="static int" name="ConvertYearToBC">
    <parameters>
     <parameter type="int " name="year"></parameter>
    </parameters>
    <description>
     <p>
      Converts the year in absolute notation (i.e. a number which can be
      negative, positive or zero) to the year in BC/AD notation. For the
      positive years, nothing is done, but the year 0 is year 1 BC and so for
      other years there is a difference of 1.
     </p>
     <p>
      This function should be used like this:
     </p>
     <pre>
    wxDateTime dt(...);
    int y = dt.GetYear();
    printf(&quot;The year is 
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetAmPmStrings">
   <function type="static void" name="GetAmPmStrings">
    <parameters>
     <parameter type="wxString &#42;" name="am"></parameter>
     <parameter type="wxString &#42;" name="pm"></parameter>
    </parameters>
    <description>
     <p>
      Returns the translations of the strings
      <tt>AM</tt>
      and
      <tt>PM</tt>
      used for time formatting for the current locale. Either of the pointers
      may be
      <tt>NULL</tt>
      if the corresponding value is not needed.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetBeginDST">
   <function type="static wxDateTime" name="GetBeginDST">
    <parameters>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
     <parameter type="Country " name="country" value="Country_Default"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetEndDST'>GetEndDST</ref>
    </fseealso>
    <description>
     <p>
      Get the beginning of DST for the given country in the given year (current
      one by default). This function suffers from limitations described in
      <ref type='unknown' target='tdatedst'>DST overview</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetCountry">
   <function type="static Country" name="GetCountry">
    <fseealso>
     <ref type='method' target='method-wxDateTime::SetCountry'>SetCountry</ref>
    </fseealso>
    <description>
     <p>
      Returns the current default country. The default country is used for DST
      calculations, for example.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetCurrentYear">
   <function type="static int" name="GetCurrentYear">
    <parameters>
     <parameter type="Calendar " name="cal" value="Gregorian"></parameter>
    </parameters>
    <description>
     <p>
      Get the current year in given calendar (only Gregorian is currently
      supported).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetCurrentMonth">
   <function type="static Month" name="GetCurrentMonth">
    <parameters>
     <parameter type="Calendar " name="cal" value="Gregorian"></parameter>
    </parameters>
    <description>
     <p>
      Get the current month in given calendar (only Gregorian is currently
      supported).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetCentury">
   <function type="static int" name="GetCentury">
    <parameters>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      Get the current century, i.e. first two digits of the year, in given
      calendar (only Gregorian is currently supported).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetEndDST">
   <function type="static wxDateTime" name="GetEndDST">
    <parameters>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
     <parameter type="Country " name="country" value="Country_Default"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetBeginDST'>GetBeginDST</ref>
    </fseealso>
    <description>
     <p>
      Returns the end of DST for the given country in the given year (current
      one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetMonthName">
   <function type="static wxString" name="GetMonthName">
    <parameters>
     <parameter type="Month " name="month"></parameter>
     <parameter type="NameFlags " name="flags" value="Name_Full"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetWeekDayName'>GetWeekDayName</ref>
    </fseealso>
    <description>
     <p>
      Gets the full (default) or abbreviated (specify
      <tt>Name_Abbr</tt>
      name of the given month.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetNumberOfDays">
   <function type="static wxDateTime_t" name="GetNumberOfDays">
    <parameters>
     <parameter type="int " name="year"></parameter>
     <parameter type="Calendar " name="cal" value="Gregorian"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="static wxDateTime_t" name="GetNumberOfDays">
    <parameters>
     <parameter type="Month " name="month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
     <parameter type="Calendar " name="cal" value="Gregorian"></parameter>
    </parameters>
    <description>
     <p>
      Returns the number of days in the given year or in the given month of the
      year.
     </p>
     <p>
      The only supported value for
      <i>
       cal
      </i>
      parameter is currently
      <tt>Gregorian</tt>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetTimeNow">
   <function type="static time_t" name="GetTimeNow">
    <description>
     <p>
      Returns the current time.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetTmNow">
   <function type="static struct tm &#42;" name="GetTmNow">
    <description>
     <p>
      Returns the current time broken down.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetWeekDayName">
   <function type="static wxString" name="GetWeekDayName">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="NameFlags " name="flags" value="Name_Full"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetMonthName'>GetMonthName</ref>
    </fseealso>
    <description>
     <p>
      Gets the full (default) or abbreviated (specify
      <tt>Name_Abbr</tt>
      name of the given week day.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsLeapYear">
   <function type="static bool" name="IsLeapYear">
    <parameters>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
     <parameter type="Calendar " name="cal" value="Gregorian"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the
      <i>
       year
      </i>
      is a leap one in the specified calendar.
     </p>
     <p>
      This functions supports Gregorian and Julian calendars.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsWestEuropeanCountry">
   <function type="static bool" name="IsWestEuropeanCountry">
    <parameters>
     <parameter type="Country " name="country" value="Country_Default"></parameter>
    </parameters>
    <description>
     <p>
      This function returns
      <tt>true</tt>
      if the specified (or default) country is one of Western European ones. It
      is used internally by wxDateTime to determine the DST convention and date
      and time formatting rules.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsDSTApplicable">
   <function type="static bool" name="IsDSTApplicable">
    <parameters>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
     <parameter type="Country " name="country" value="Country_Default"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if DST was used n the given year (the current one by default) in the given
      country.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="Now">
   <function type="static wxDateTime" name="Now">
    <fseealso>
     <ref type='method' target='method-wxDateTime::Today'>Today</ref>
    </fseealso>
    <description>
     <p>
      Returns the object corresponding to the current time.
     </p>
     <p>
      Example:
     </p>
     <pre>
    wxDateTime now = wxDateTime::Now();
    printf(&quot;Current time in Paris:\t
</pre>
     <p>
      Note that this function is accurate up to second:
      <ref type='method' target='method-wxDateTime::UNow'>wxDateTime::UNow</ref>
      should be used for better precision (but it is less efficient and might
      not be available on all platforms).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetCountry">
   <function type="static void" name="SetCountry">
    <parameters>
     <parameter type="Country " name="country"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetCountry'>GetCountry</ref>
    </fseealso>
    <description>
     <p>
      Sets the country to use by default. This setting influences the DST
      calculations, date formatting and other things.
     </p>
     <p>
      The possible values for
      <i>
       country
      </i>
      parameter are enumerated in
      <ref type='class' target='wxDateTime'>wxDateTime constants section</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="Today">
   <function type="static wxDateTime" name="Today">
    <fseealso>
     <ref type='method' target='method-wxDateTime::Now'>Now</ref>
    </fseealso>
    <description>
     <p>
      Returns the object corresponding to the midnight of the current day (i.e.
      the same as
      <ref type='method' target='method-wxDateTime::Now'>Now()</ref>
      , but the time part is set to 0).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="UNow">
   <function type="static wxDateTime" name="UNow">
    <fseealso>
     <ref type='method' target='method-wxDateTime::Now'>Now</ref>
    </fseealso>
    <description>
     <p>
      Returns the object corresponding to the current time including the
      milliseconds if a function to get time with such precision is available on
      the current platform (supported under most Unices and Win32).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="wxDateTime">
   <function type="" name="wxDateTime">
    <description>
     <p>
      Default constructor. Use one of
      <tt>Set()</tt>
      functions to initialize the object later.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="wxDateTime">
    <parameters>
     <parameter type="time_t " name="timet"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimewxdatetimetimet'>Set</ref>
      .
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="wxDateTime">
    <parameters>
     <parameter type="const struct tm&amp; " name="tm"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimewxdatetimetm'>Set</ref>
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="wxDateTime">
    <parameters>
     <parameter type="double " name="jdn"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimewxdatetimejdn'>Set</ref>
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="wxDateTime">
    <parameters>
     <parameter type="wxDateTime_t " name="hour"></parameter>
     <parameter type="wxDateTime_t " name="minute" value="0"></parameter>
     <parameter type="wxDateTime_t " name="second" value="0"></parameter>
     <parameter type="wxDateTime_t " name="millisec" value="0"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimewxdatetimetime'>Set</ref>
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="wxDateTime">
    <parameters>
     <parameter type="wxDateTime_t " name="day"></parameter>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="Inv_Year"></parameter>
     <parameter type="wxDateTime_t " name="hour" value="0"></parameter>
     <parameter type="wxDateTime_t " name="minute" value="0"></parameter>
     <parameter type="wxDateTime_t " name="second" value="0"></parameter>
     <parameter type="wxDateTime_t " name="millisec" value="0"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimesetdate'>Set</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToCurrent">
   <function type="wxDateTime&amp;" name="SetToCurrent">
    <description>
     <p>
      Sets the date and time of to the current values. Same as assigning the
      result of
      <ref type='method' target='method-wxDateTime::Now'>Now()</ref>
      to this object.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="Set">
   <function type="wxDateTime&amp;" name="Set">
    <parameters>
     <parameter type="time_t " name="timet"></parameter>
    </parameters>
    <description>
     <p>
      Constructs the object from
      <i>
       timet
      </i>
      value holding the number of seconds since Jan 1, 1970.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="Set">
    <parameters>
     <parameter type="const struct tm&amp; " name="tm"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date and time from the broken down representation in the standard
      <tt>tm</tt>
      structure.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="Set">
    <parameters>
     <parameter type="double " name="jdn"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date from the so-called
      <i>
       Julian Day Number
      </i>
      .
     </p>
     <p>
      By definition, the Julian Day Number, usually abbreviated as JDN, of a
      particular instant is the fractional number of days since 12 hours
      Universal Coordinated Time (Greenwich mean noon) on January 1 of the year
      -4712 in the Julian proleptic calendar.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="Set">
    <parameters>
     <parameter type="wxDateTime_t " name="hour"></parameter>
     <parameter type="wxDateTime_t " name="minute" value="0"></parameter>
     <parameter type="wxDateTime_t " name="second" value="0"></parameter>
     <parameter type="wxDateTime_t " name="millisec" value="0"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date to be equal to
      <ref type='method' target='method-wxDateTime::Today'>Today</ref>
      and the time from supplied parameters.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="Set">
    <parameters>
     <parameter type="wxDateTime_t " name="day"></parameter>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
     <parameter type="wxDateTime_t " name="hour" value="0"></parameter>
     <parameter type="wxDateTime_t " name="minute" value="0"></parameter>
     <parameter type="wxDateTime_t " name="second" value="0"></parameter>
     <parameter type="wxDateTime_t " name="millisec" value="0"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date and time from the parameters.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ResetTime">
   <function type="wxDateTime&amp;" name="ResetTime">
    <description>
     <p>
      Reset time to midnight (00:00:00) without changing the date.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetYear">
   <function type="wxDateTime&amp;" name="SetYear">
    <parameters>
     <parameter type="int " name="year"></parameter>
    </parameters>
    <description>
     <p>
      Sets the year without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetMonth">
   <function type="wxDateTime&amp;" name="SetMonth">
    <parameters>
     <parameter type="Month " name="month"></parameter>
    </parameters>
    <description>
     <p>
      Sets the month without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetDay">
   <function type="wxDateTime&amp;" name="SetDay">
    <parameters>
     <parameter type="wxDateTime_t " name="day"></parameter>
    </parameters>
    <description>
     <p>
      Sets the day without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetHour">
   <function type="wxDateTime&amp;" name="SetHour">
    <parameters>
     <parameter type="wxDateTime_t " name="hour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the hour without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetMinute">
   <function type="wxDateTime&amp;" name="SetMinute">
    <parameters>
     <parameter type="wxDateTime_t " name="minute"></parameter>
    </parameters>
    <description>
     <p>
      Sets the minute without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetSecond">
   <function type="wxDateTime&amp;" name="SetSecond">
    <parameters>
     <parameter type="wxDateTime_t " name="second"></parameter>
    </parameters>
    <description>
     <p>
      Sets the second without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetMillisecond">
   <function type="wxDateTime&amp;" name="SetMillisecond">
    <parameters>
     <parameter type="wxDateTime_t " name="millisecond"></parameter>
    </parameters>
    <description>
     <p>
      Sets the millisecond without changing other date components.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="operator=">
   <function type="wxDateTime&amp;" name="operator">
    <parameters>
     <parameter type="time_t " name="timet"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimesettimet'>Set</ref>
      .
     </p>
    </description>
   </function>
    
   <function type="wxDateTime&amp;" name="operator">
    <parameters>
     <parameter type="const struct tm&amp; " name="tm"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimesettm'>Set</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsValid">
   <function type="bool" name="IsValid" suffix="const">
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the object represents a valid time moment.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetTm">
   <function type="Tm" name="GetTm" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns broken down representation of the date and time.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetTicks">
   <function type="time_t" name="GetTicks" suffix="const">
    <description>
     <p>
      Returns the number of seconds since Jan 1, 1970. An assert failure will
      occur if the date is not in the range covered by
      <tt>time_t</tt>
      type.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetYear">
   <function type="int" name="GetYear" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the year in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetMonth">
   <function type="Month" name="GetMonth" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the month in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetDay">
   <function type="wxDateTime_t" name="GetDay" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the day in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetWeekDay">
   <function type="WeekDay" name="GetWeekDay" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the week day in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetHour">
   <function type="wxDateTime_t" name="GetHour" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the hour in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetMinute">
   <function type="wxDateTime_t" name="GetMinute" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the minute in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetSecond">
   <function type="wxDateTime_t" name="GetSecond" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the seconds in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetMillisecond">
   <function type="wxDateTime_t" name="GetMillisecond" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the milliseconds in the given timezone (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetDayOfYear">
   <function type="wxDateTime_t" name="GetDayOfYear" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the day of the year (in 1\ldots366 range) in the given timezone
      (local one by default).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetWeekOfYear">
   <function type="wxDateTime_t" name="GetWeekOfYear" suffix="const">
    <parameters>
     <parameter type="WeekFlags " name="flags" value="Monday_First"></parameter>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the number of the week of the year this date is in. The first week
      of the year is, according to international standards, the one containing
      Jan 4 or, equivalently, the first week which has Thursday in this year.
      Both of these definitions are the same as saying that the first week of
      the year must contain more than half of its days in this year.
      Accordingly, the week number will always be in 1\ldots53 range (52 for non
      leap years).
     </p>
     <p>
      The function depends on the
      <ref type='class' target='wxDateTime'>week start</ref>
      convention specified by the
      <i>
       flags
      </i>
      argument but its results for
      <tt>Sunday_First</tt>
      are not well-defined as the ISO definition quoted above applies to the
      weeks starting on Monday only.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetWeekOfMonth">
   <function type="wxDateTime_t" name="GetWeekOfMonth" suffix="const">
    <parameters>
     <parameter type="WeekFlags " name="flags" value="Monday_First"></parameter>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <description>
     <p>
      Returns the ordinal number of the week in the month (in 1\ldots5 range).
     </p>
     <p>
      As
      <ref type='method' target='method-wxDateTime::GetWeekOfYear'>GetWeekOfYear</ref>
      , this function supports both conventions for the week start. See the
      description of these
      <ref type='class' target='wxDateTime'>week start</ref>
      conventions.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsWorkDay">
   <function type="bool" name="IsWorkDay" suffix="const">
    <parameters>
     <parameter type="Country " name="country" value="Country_Default"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      is this day is not a holiday in the given country.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsGregorianDate">
   <function type="bool" name="IsGregorianDate" suffix="const">
    <parameters>
     <parameter type="GregorianAdoption " name="country" value="Gr_Standard"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the given date is later than the date of adoption of the Gregorian
      calendar in the given country (and hence the Gregorian calendar
      calculations make sense for it).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetFromDOS">
   <function type="wxDateTime&amp;" name="Set">
    <parameters>
     <parameter type="unsigned long " name="ddt"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date from the date and time in
      <a href="DOS">
       http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms_docs/data/hc2vlu5i.html
      </a>
      format.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetAsDOS">
   <function type="unsigned long" name="GetAsDOS" suffix="const">
    <description>
     <p>
      Returns the date and time in
      <a href="DOS">
       http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms_docs/data/hc2vlu5i.html
      </a>
      format.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsEqualTo">
   <function type="bool" name="IsEqualTo" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="datetime"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the two dates are strictly identical.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsEarlierThan">
   <function type="bool" name="IsEarlierThan" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="datetime"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if this date precedes the given one.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsLaterThan">
   <function type="bool" name="IsLaterThan" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="datetime"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if this date is later than the given one.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsStrictlyBetween">
   <function type="bool" name="IsStrictlyBetween" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="t1"></parameter>
     <parameter type="const wxDateTime&amp; " name="t2"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::IsBetween'>IsBetween</ref>
    </fseealso>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if this date lies strictly between the two others,
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsBetween">
   <function type="bool" name="IsBetween" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="t1"></parameter>
     <parameter type="const wxDateTime&amp; " name="t2"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::IsStrictlyBetween'>IsStrictlyBetween</ref>
    </fseealso>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if
      <ref type='method' target='method-wxDateTime::IsStrictlyBetween'>IsStrictlyBetween</ref>
      is
      <tt>true</tt>
      or if the date is equal to one of the limit values.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsSameDate">
   <function type="bool" name="IsSameDate" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="dt"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the date is the same without comparing the time parts.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsSameTime">
   <function type="bool" name="IsSameTime" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="dt"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the time is the same (although dates may differ).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsEqualUpTo">
   <function type="bool" name="IsEqualUpTo" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="dt"></parameter>
     <parameter type="const wxTimeSpan&amp; " name="ts"></parameter>
    </parameters>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the date is equal to another one up to the given time interval, i.e. if
      the absolute difference between the two dates is less than this interval.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="Add">
   <function type="wxDateTime" name="Add" suffix="const">
    <parameters>
     <parameter type="const wxTimeSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="Add">
    <parameters>
     <parameter type="const wxTimeSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="operator+=">
    <parameters>
     <parameter type="const wxTimeSpan&amp; " name="diff"></parameter>
    </parameters>
    <description>
     <p>
      Adds the given time span to this object.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime" name="Add" suffix="const">
    <parameters>
     <parameter type="const wxDateSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="Add">
    <parameters>
     <parameter type="const wxDateSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="operator+=">
    <parameters>
     <parameter type="const wxDateSpan&amp; " name="diff"></parameter>
    </parameters>
    <description>
     <p>
      Adds the given date span to this object.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="Subtract">
   <function type="wxDateTime" name="Subtract" suffix="const">
    <parameters>
     <parameter type="const wxTimeSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="Subtract">
    <parameters>
     <parameter type="const wxTimeSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="operator-=">
    <parameters>
     <parameter type="const wxTimeSpan&amp; " name="diff"></parameter>
    </parameters>
    <description>
     <p>
      Subtracts the given time span from this object.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime" name="Subtract" suffix="const">
    <parameters>
     <parameter type="const wxDateSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="Subtract">
    <parameters>
     <parameter type="const wxDateSpan&amp; " name="diff"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDateTime&amp;" name="operator-=">
    <parameters>
     <parameter type="const wxDateSpan&amp; " name="diff"></parameter>
    </parameters>
    <description>
     <p>
      Subtracts the given date span from this object.
     </p>
    </description>
   </function>
    
   <function type="wxTimeSpan" name="Subtract" suffix="const">
    <parameters>
     <parameter type="const wxDateTime&amp; " name="dt"></parameter>
    </parameters>
    <description>
     <p>
      Subtracts another date from this one and returns the difference between
      them as wxTimeSpan.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ParseRfc822Date">
   <function type="const wxChar &#42;" name="ParseRfc822Date">
    <parameters>
     <parameter type="const wxChar&#42; " name="date"></parameter>
    </parameters>
    <description>
     <p>
      Parses the string
      <i>
       date
      </i>
      looking for a date formatted according to the RFC 822 in it. The exact
      description of this format may, of course, be found in the RFC (section
      5), but, briefly, this is the format used in the headers of Internet email
      messages and one of the most common strings expressing date in this format
      may be something like
      <tt>&quot;Sat, 18 Dec 1999 00:48:30 +0100&quot;</tt>
      .
     </p>
     <p>
      Returns
      <tt>NULL</tt>
      if the conversion failed, otherwise return the pointer to the character
      immediately following the part of the string which could be parsed. If the
      entire string contains only the date in RFC 822 format, the returned
      pointer will be pointing to a
      <tt>NUL</tt>
      character.
     </p>
     <p>
      This function is intentionally strict, it will return an error for any
      string which is not RFC 822 compliant. If you need to parse date formatted
      in more free ways, you should use
      <ref type='method' target='method-wxDateTime::ParseDateTime'>ParseDateTime</ref>
      or
      <ref type='method' target='method-wxDateTime::ParseDate'>ParseDate</ref>
      instead.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ParseFormat">
   <function type="const wxChar &#42;" name="ParseFormat">
    <parameters>
     <parameter type="const wxChar &#42;" name="date"></parameter>
     <parameter type="const wxChar &#42;" name="format" value="wxDefaultDateTimeFormat"></parameter>
     <parameter type="const wxDateTime&amp; " name="dateDef" value="wxDefaultDateTime"></parameter>
    </parameters>
    <description>
     <p>
      This function parses the string
      <i>
       date
      </i>
      according to the given
      <i>
       format
      </i>
      . The system
      <tt>strptime(3)</tt>
      function is used whenever available, but even if it is not, this function
      is still implemented, although support for locale-dependent format
      specifiers such as
      <tt>&quot;%c&quot;</tt>
      ,
      <tt>&quot;%x&quot;</tt>
      or
      <tt>&quot;%X&quot;</tt>
      may not be perfect and GNU extensions such as
      <tt>&quot;%z&quot;</tt>
      and
      <tt>&quot;%Z&quot;</tt>
      are not implemented. This function does handle the month and weekday names
      in the current locale on all platforms, however.
     </p>
     <p>
      Please see the description of the ANSI C function
      <tt>strftime(3)</tt>
      for the syntax of the format string.
     </p>
     <p>
      The
      <i>
       dateDef
      </i>
      parameter is used to fill in the fields which could not be determined from
      the format string. For example, if the format is
      <tt>&quot;%d&quot;</tt>
      (the ay of the month), the month and the year are taken from
      <i>
       dateDef
      </i>
      . If it is not specified,
      <ref type='method' target='method-wxDateTime::Today'>Today</ref>
      is used as the default date.
     </p>
     <p>
      Returns
      <tt>NULL</tt>
      if the conversion failed, otherwise return the pointer to the character
      which stopped the scan.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ParseDateTime">
   <function type="const wxChar &#42;" name="ParseDateTime">
    <parameters>
     <parameter type="const wxChar &#42;" name="datetime"></parameter>
    </parameters>
    <description>
     <p>
      Parses the string
      <i>
       datetime
      </i>
      containing the date and time in free format. This function tries as hard
      as it can to interpret the given string as date and time. Unlike
      <ref type='method' target='method-wxDateTime::ParseRfc822Date'>ParseRfc822Date</ref>
      , it will accept anything that may be accepted and will only reject
      strings which can not be parsed in any way at all.
     </p>
     <p>
      Returns
      <tt>NULL</tt>
      if the conversion failed, otherwise return the pointer to the character
      which stopped the scan. This method is currently not implemented, so
      always returns NULL.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ParseDate">
   <function type="const wxChar &#42;" name="ParseDate">
    <parameters>
     <parameter type="const wxChar &#42;" name="date"></parameter>
    </parameters>
    <description>
     <p>
      This function is like
      <ref type='method' target='method-wxDateTime::ParseDateTime'>ParseDateTime</ref>
      , but it only allows the date to be specified. It is thus less flexible
      then
      <ref type='method' target='method-wxDateTime::ParseDateTime'>ParseDateTime</ref>
      , but also has less chances to misinterpret the user input.
     </p>
     <p>
      Returns
      <tt>NULL</tt>
      if the conversion failed, otherwise return the pointer to the character
      which stopped the scan.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ParseTime">
   <function type="const wxChar &#42;" name="ParseTime">
    <parameters>
     <parameter type="const wxChar &#42;" name="time"></parameter>
    </parameters>
    <description>
     <p>
      This functions is like
      <ref type='method' target='method-wxDateTime::ParseDateTime'>ParseDateTime</ref>
      , but only allows the time to be specified in the input string.
     </p>
     <p>
      Returns
      <tt>NULL</tt>
      if the conversion failed, otherwise return the pointer to the character
      which stopped the scan.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="Format">
   <function type="wxString " name="Format" suffix="const">
    <parameters>
     <parameter type="const wxChar &#42;" name="format" value="wxDefaultDateTimeFormat"></parameter>
     <parameter type="const TimeZone&amp; " name="tz" value="Local"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::ParseFormat'>ParseFormat</ref>
    </fseealso>
    <description>
     <p>
      This function does the same as the standard ANSI C
      <tt>strftime(3)</tt>
      function. Please see its description for the meaning of
      <i>
       format
      </i>
      parameter.
     </p>
     <p>
      It also accepts a few wxWidgets-specific extensions: you can optionally
      specify the width of the field to follow using
      <tt>printf(3)</tt>
      -like syntax and the format specification
      <tt>%l</tt>
      can be used to get the number of milliseconds.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="FormatDate">
   <function type="wxString " name="FormatDate" suffix="const">
    <description>
     <p>
      Identical to calling
      <ref type='method' target='method-wxDateTime::Format'>Format()</ref>
      with
      <tt>&quot;%x&quot;</tt>
      argument (which means `preferred date representation for the current
      locale').
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="FormatTime">
   <function type="wxString " name="FormatTime" suffix="const">
    <description>
     <p>
      Identical to calling
      <ref type='method' target='method-wxDateTime::Format'>Format()</ref>
      with
      <tt>&quot;%X&quot;</tt>
      argument (which means `preferred time representation for the current
      locale').
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="FormatISODate">
   <function type="wxString " name="FormatISODate" suffix="const">
    <description>
     <p>
      This function returns the date representation in the ISO 8601 format
      (YYYY-MM-DD).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="FormatISOTime">
   <function type="wxString " name="FormatISOTime" suffix="const">
    <description>
     <p>
      This function returns the time representation in the ISO 8601 format
      (HH:MM:SS).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToWeekDayInSameWeek">
   <function type="wxDateTime&amp;" name="SetToWeekDayInSameWeek">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="WeekFlags" name="flags" value="Monday_First"></parameter>
    </parameters>
    <description>
     <p>
      Adjusts the date so that it will still lie in the same week as before, but
      its week day will be the given one.
     </p>
     <p>
      Returns the reference to the modified object itself.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetWeekDayInSameWeek">
   <function type="wxDateTime" name="GetWeekDayInSameWeek" suffix="const">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="WeekFlags" name="flags" value="Monday_First"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToWeekDayInSameWeek'>SetToWeekDayInSameWeek</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToNextWeekDay">
   <function type="wxDateTime&amp;" name="SetToNextWeekDay">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date so that it will be the first
      <i>
       weekday
      </i>
      following the current date.
     </p>
     <p>
      Returns the reference to the modified object itself.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetNextWeekDay">
   <function type="wxDateTime" name="GetNextWeekDay" suffix="const">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToNextWeekDay'>SetToNextWeekDay</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToPrevWeekDay">
   <function type="wxDateTime&amp;" name="SetToPrevWeekDay">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date so that it will be the last
      <i>
       weekday
      </i>
      before the current date.
     </p>
     <p>
      Returns the reference to the modified object itself.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetPrevWeekDay">
   <function type="wxDateTime" name="GetPrevWeekDay" suffix="const">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToPrevWeekDay'>SetToPrevWeekDay</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToWeekDay">
   <function type="bool" name="SetToWeekDay">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="int " name="n" value="1"></parameter>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date to the
      <i>
       n
      </i>
      -th
      <i>
       weekday
      </i>
      in the given month of the given year (the current month and year are used
      by default). The parameter
      <i>
       n
      </i>
      may be either positive (counting from the beginning of the month) or
      negative (counting from the end of it).
     </p>
     <p>
      For example,
      <tt>SetToWeekDay(2, wxDateTime::Wed)</tt>
      will set the date to the second Wednesday in the current month and
      <tt>SetToWeekDay(-1, wxDateTime::Sun)</tt>
      -- to the last Sunday in it.
     </p>
     <p>
      Returns
      <tt>true</tt>
      if the date was modified successfully,
      <tt>false</tt>
      otherwise meaning that the specified date doesn't exist.
     </p>
    </description>
   </function>
    
   <function type="wxDateTime" name="GetWeekDay" suffix="const">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="int " name="n" value="1"></parameter>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToWeekDay'>SetToWeekDay</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToLastWeekDay">
   <function type="bool" name="SetToLastWeekDay">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      The effect of calling this function is the same as of calling
      <tt>SetToWeekDay(-1, weekday, month, year)</tt>
      . The date will be set to the last
      <i>
       weekday
      </i>
      in the given month and year (the current ones by default).
     </p>
     <p>
      Always returns
      <tt>true</tt>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetLastWeekDay">
   <function type="wxDateTime" name="GetLastWeekDay">
    <parameters>
     <parameter type="WeekDay " name="weekday"></parameter>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToLastWeekDay'>SetToLastWeekDay</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToWeekOfYear">
   <function type="static wxDateTime" name="SetToWeekOfYear">
    <parameters>
     <parameter type="int " name="year"></parameter>
     <parameter type="wxDateTime_t " name="numWeek"></parameter>
     <parameter type="WeekDay " name="weekday" value="Mon"></parameter>
    </parameters>
    <description>
     <p>
      Set the date to the given
      <i>
       weekday
      </i>
      in the week number
      <i>
       numWeek
      </i>
      of the given
      <i>
       year
      </i>
      . The number should be in range 1\ldots53.
     </p>
     <p>
      Note that the returned date may be in a different year than the one passed
      to this function because both the week 1 and week 52 or 53 (for leap
      years) contain days from different years. See
      <ref type='method' target='method-wxDateTime::GetWeekOfYear'>GetWeekOfYear</ref>
      for the explanation of how the year weeks are counted.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToLastMonthDay">
   <function type="wxDateTime&amp;" name="SetToLastMonthDay">
    <parameters>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date to the last day in the specified month (the current one by
      default).
     </p>
     <p>
      Returns the reference to the modified object itself.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetLastMonthDay">
   <function type="wxDateTime" name="GetLastMonthDay" suffix="const">
    <parameters>
     <parameter type="Month " name="month" value="Inv_Month"></parameter>
     <parameter type="int " name="year" value="Inv_Year"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToLastMonthDay'>SetToLastMonthDay</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="SetToYearDay">
   <function type="wxDateTime&amp;" name="SetToYearDay">
    <parameters>
     <parameter type="wxDateTime_t " name="yday"></parameter>
    </parameters>
    <description>
     <p>
      Sets the date to the day number
      <i>
       yday
      </i>
      in the same year (i.e., unlike the other functions, this one does not use
      the current year). The day number should be in the range 1\ldots366 for
      the leap years and 1\ldots365 for the other ones.
     </p>
     <p>
      Returns the reference to the modified object itself.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetYearDay">
   <function type="wxDateTime" name="GetYearDay" suffix="const">
    <parameters>
     <parameter type="wxDateTime_t " name="yday"></parameter>
    </parameters>
    <description>
     <p>
      Returns the copy of this object to which
      <ref type='method' target='method-wxDateTime::SetToYearDay'>SetToYearDay</ref>
      was applied.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetJulianDayNumber">
   <function type="double" name="GetJulianDayNumber" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetModifiedJulianDayNumber'>GetModifiedJulianDayNumber</ref>
    </fseealso>
    <description>
     <p>
      Returns the
      <ref type='unknown' target='wxdatetimesetjdn'>JDN</ref>
      corresponding to this date. Beware of rounding errors!
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetJDN">
   <function type="double" name="GetJDN" suffix="const">
    <description>
     <p>
      Synonym for
      <ref type='method' target='method-wxDateTime::GetJulianDayNumber'>GetJulianDayNumber</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetModifiedJulianDayNumber">
   <function type="double" name="GetModifiedJulianDayNumber" suffix="const">
    <description>
     <p>
      Returns the
      <i>
       Modified Julian Day Number
      </i>
      (MJD) which is, by definition, equal to JDN - 2400000.5. The MJDs are
      simpler to work with as the integral MJDs correspond to midnights of the
      dates in the Gregorian calendar and not th noons like JDN. The MJD 0 is
      Nov 17, 1858.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetMJD">
   <function type="double" name="GetMJD" suffix="const">
    <description>
     <p>
      Synonym for
      <ref type='method' target='method-wxDateTime::GetModifiedJulianDayNumber'>GetModifiedJulianDayNumber</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="GetRataDie">
   <function type="double" name="GetRataDie" suffix="const">
    <description>
     <p>
      Return the
      <i>
       Rata Die number
      </i>
      of this date.
     </p>
     <p>
      By definition, the Rata Die number is a date specified as the number of
      days relative to a base date of December 31 of the year 0. Thus January 1
      of the year 1 is Rata Die day 1.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="FromTimezone">
   <function type="wxDateTime" name="FromTimezone" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz"></parameter>
     <parameter type="bool " name="noDST" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Transform the date from the given time zone to the local one. If
      <i>
       noDST
      </i>
      is
      <tt>true</tt>
      , no DST adjustments will be made.
     </p>
     <p>
      Returns the date in the local time zone.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ToTimezone">
   <function type="wxDateTime" name="ToTimezone" suffix="const">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz"></parameter>
     <parameter type="bool " name="noDST" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Transform the date to the given time zone. If
      <i>
       noDST
      </i>
      is
      <tt>true</tt>
      , no DST adjustments will be made.
     </p>
     <p>
      Returns the date in the new time zone.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="MakeTimezone">
   <function type="wxDateTime&amp;" name="MakeTimezone">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz"></parameter>
     <parameter type="bool " name="noDST" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Modifies the object in place to represent the date in another time zone.
      If
      <i>
       noDST
      </i>
      is
      <tt>true</tt>
      , no DST adjustments will be made.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="MakeFromTimezone">
   <function type="wxDateTime&amp;" name="MakeFromTimezone">
    <parameters>
     <parameter type="const TimeZone&amp; " name="tz"></parameter>
     <parameter type="bool " name="noDST" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Same as
      <ref type='unknown' target='wxdatetimefromtimezone'>FromTimezone</ref>
      but modifies the object in place.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="ToUTC">
   <function type="wxDateTime" name="ToUTC" suffix="const">
    <parameters>
     <parameter type="bool " name="noDST" value="false"></parameter>
    </parameters>
    <description>
     <p>
      This is the same as calling
      <ref type='method' target='method-wxDateTime::ToTimezone'>ToTimezone</ref>
      with the argument
      <tt>GMT0</tt>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="MakeUTC">
   <function type="wxDateTime&amp;" name="MakeUTC">
    <parameters>
     <parameter type="bool " name="noDST" value="false"></parameter>
    </parameters>
    <description>
     <p>
      This is the same as calling
      <ref type='method' target='method-wxDateTime::MakeTimezone'>MakeTimezone</ref>
      with the argument
      <tt>GMT0</tt>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDateTime" name="IsDST">
   <function type="int" name="IsDST" suffix="const">
    <parameters>
     <parameter type="Country " name="country" value="Country_Default"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDateTime::GetBeginDST'>GetBeginDST</ref>
      and 
     <ref type='method' target='method-wxDateTime::GetEndDST'>GetEndDST</ref>
    </fseealso>
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the DST is applied for this date in the given country.
     </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="wxDb">
 <description>
  <p>
   TODO convert other information from TeX to XML
  </p>
 </description>
  
 <members>
  <member class="wxDb" name="wxDb">
   <function type="" name="wxDb">
    <description>
     <p>
      Default constructor.
     </p>
    </description>
   </function>
    
   <function type="" name="wxDb">
    <parameters>
     <parameter type="const HENV &amp;" name="aHenv">
      Environment handle used for this connection. See
      <ref target="wxdbconnectinfallochenv">wxDConnectInf::AllocHenv</ref>
     </parameter>
     <parameter type="bool " name="FwdOnlyCursors" value="(bool)wxODBC\_FWD\_ONLY\_CURSORS">
      Will cursors created for use with this datasource connection only allow
      forward scrolling cursors.
     </parameter>
    </parameters>
    <example>
     <pre>
   wxDbConnectInf ConnectInf;
   ....Set values for member variables of ConnectInf here

   wxDb sampleDB(ConnectInf.GetHenv());
   if (!sampleDB.Open(ConnectInf.GetDsn(), ConnectInf.GetUserID(),
	                   ConnectInf.GetPassword()))
   {
      // Error opening datasource
   }
</pre>
     <p>
      \wxheading{See also}
     </p>
     <p>
      <ref target="wxdbfunctions">wxDbGetConnection</ref>
     </p>
    </example>
    <remarks>
     <p>
      This is the constructor for the wxDb class. The wxDb object must be
      created and opened before any database activity can occur.
     </p>
    </remarks>
    <description>
     <p>
      Constructor, used to create an ODBC connection to a datasource.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="Catalog">
   <function type="bool" name="Catalog">
    <parameters>
     <parameter type="wxChar &#42; " name="userID">
      Database user name to use in accessing the database. All tables to which
      this user has rights will be evaluated in the catalog.
     </parameter>
     <parameter type="const wxString &amp;" name="fileName" value="SQL\_CATALOG\_FILENAME">
      <i>
       OPTIONAL
      </i>
      . Name of the text file to create and write the DB catalog to. Default is
      SQL\_CATALOG\_FILENAME.
     </parameter>
    </parameters>
    <example>
     <pre>
============== ============== ================ ========= =======
TABLE NAME     COLUMN NAME    DATA TYPE        PRECISION  LENGTH
============== ============== ================ ========= =======
EMPLOYEE       RECID          (0008)NUMBER            15       8
EMPLOYEE       USER_ID        (0012)VARCHAR2          13      13
EMPLOYEE       FULL_NAME      (0012)VARCHAR2          26      26
EMPLOYEE       PASSWORD       (0012)VARCHAR2          26      26
EMPLOYEE       START_DATE     (0011)DATE              19      16
</pre>
    </example>
    <returnvalue>
     Returns true if the catalog request was successful, or false if there was
     some reason that the catalog could not be generated.
    </returnvalue>
    <description>
     <p>
      Allows a data "dictionary" of the datasource to be created, dumping
      pertinent information about all data tables to which the user specified in
      userID has access.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="Close">
   <function type="void" name="Close">
    <example>
     <pre>
   // Commit any open transactions on the datasource
   sampleDB.CommitTrans();

   // Delete any remaining wxDbTable objects allocated with new
   delete parts;

   // Close the wxDb connection when finished with it
   sampleDB.Close();
</pre>
    </example>
    <remarks>
     <p>
      At the end of your program, when you have finished all of your database
      work, you must close the ODBC connection to the datasource. There are
      actually four steps involved in doing this as illustrated in the example.
     </p>
     <p>
      Any wxDbTable instances which use this connection must be deleted before
      closing the database connection.
     </p>
    </remarks>
    <description>
     <p>
      Closes the database connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="CommitTrans">
   <function type="bool" name="CommitTrans">
    <remarks>
     <p>
      Transactions begin implicitly as soon as you make a change to the database
      with an insert/update/delete, or any other direct SQL command that
      performs one of these operations against the datasource. At any time
      thereafter, to save the changes to disk permanently, "commit" them by
      calling this function.
     </p>
     <p>
      Calling this member function commits ALL open transactions on this ODBC
      connection. For example, if three different wxDbTable instances used the
      same connection to the datasource, committing changes made on one of those
      wxDbTable instances commits any pending transactions on all three
      wxDbTable instances.
     </p>
     <p>
      Until a call to wxDb::CommitTrans() is made, no other user or cursor is
      able to see any changes made to the row(s) that have been
      inserted/modified/deleted.
     </p>
     <p>
      \wxheading{Special Note :
      <i>
       Cursors
      </i>
      }
     </p>
     <p>
      It is important to understand that different database/ODBC driver
      combinations handle transactions differently. One thing in particular that
      you must pay attention to is cursors, in regard to transactions. Cursors
      are what allow you to scroll through records forward and backward and to
      manipulate records as you scroll through them. When you issue a query, a
      cursor is created behind the scenes. The cursor keeps track of the query
      and keeps track of the current record pointer. After you commit or
      rollback a transaction, the cursor may be closed automatically. This is
      database dependent, and with some databases this behavior can be
      controlled through management functions. This means you would need to
      requery the datasource before you can perform any additional work using
      this cursor. This is only necessary however if the datasource closes the
      cursor after a commit or rollback. Use the
      <ref target="wxDbTable::IsCursorClosedOnCommit{wxdbtableiscursorclosedoncommit">wxDbTable::IsCursorClosedOnCommit{wxdbtableiscursorclosedoncommit</ref>
      member function to determine the datasource's transaction behavior. Note,
      in many situations it is very inefficient to assume the cursor is closed
      and always requery. This could put a significant, unnecessary load on
      datasources that leave the cursors open after a transaction.}
     </p>
    </remarks>
    <returnvalue>
     Returns true if the commit was successful, or false if the commit failed.
    </returnvalue>
    <description>
     <p>
      Permanently "commits" changes (insertions/deletions/updates) to the
      database.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="CreateView">
   <function type="bool" name="CreateView">
    <parameters>
     <parameter type="const wxString &amp; " name="viewName">
      The name of the view. e.g. PARTS\_V
     </parameter>
     <parameter type="const wxString &amp; " name="colList">
      <i>
       OPTIONAL
      </i>
      Pass in a comma delimited list of column names if you wish to explicitly
      name each column in the result set. If not desired, pass in an empty
      string and the column names from the associated table(s) will be used.
     </parameter>
     <parameter type="const wxString &amp;" name="pSqlStmt">
      Pointer to the select statement portion of the CREATE VIEW statement. Must
      be a complete, valid SQL SELECT statement.
     </parameter>
    </parameters>
    <example>
     <pre>
   // Incomplete code sample
   db.CreateView("PARTS_SD1", "PN, PD, QTY",
                 "SELECT PART_NUM, PART_DESC, QTY_ON_HAND * 1.1 FROM PARTS \
                  WHERE STORAGE_DEVICE = 1");

   // PARTS_SD1 can now be queried just as if it were a data table.
   // e.g. SELECT PN, PD, QTY FROM PARTS_SD1
</pre>
    </example>
    <remarks>
     <p>
      A 'view' is a logical table that derives columns from one or more other
      tables or views. Once the view is created, it can be queried exactly like
      any other table in the database.
     </p>
     <p>
      NOTE: Views are not available with all datasources. Oracle is one example
      of a datasource which does support views.
     </p>
    </remarks>
    <description>
     <p>
      Creates a SQL VIEW of one or more tables in a single datasource. Note that
      this function will only work against databases which support views
      (currently only Oracle as of November 21 2000).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="Dbms">
   <function type="wxDBMS " name="Dbms">
    <remarks>
     <p>
      The return value will be of the enumerated type wxDBMS. This enumerated
      type contains a list of all the currently tested and supported databases.
     </p>
     <p>
      Additional databases may work with these classes, but the databases
      returned by this function have been tested and confirmed to work with
      these ODBC classes.
     </p>
     <p>
      Possible values returned by this function can be viewed in the
      <ref target="wxdbenumeratedtypes">Enumerated types</ref>
      section of wxDb.
     </p>
     <p>
      There are known issues with conformance to the ODBC standards with several
      datasources supported by the wxWidgets ODBC classes. Please see the
      overview for specific details on which datasource have which issues.
     </p>
     <p>
      \wxheading{Return value}
     </p>
     <p>
      The return value will indicate which of the supported datasources is
      currently connected to by this connection. In the event that the
      datasource is not recognized, a value of 'dbmsUNIDENTIFIED' is returned.
     </p>
    </remarks>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="DispAllErrors">
   <function type="bool" name="DispAllErrors">
    <parameters>
     <parameter type="HENV " name="aHenv">
      Handle to the ODBC environment.
     </parameter>
     <parameter type="HDBC " name="aHdbc" value="SQL\_NULL\_HDBC">
      Handle to the ODBC connection. Pass this in if the ODBC function call that
      erred required a hdbc or hstmt argument.
     </parameter>
     <parameter type="HSTMT " name="aHstmt" value="SQL\_NULL\_HSTMT">
      Handle to the ODBC statement being executed against. Pass this in if the
      ODBC function call that failed required a hstmt argument.
     </parameter>
    </parameters>
    <example>
     <pre>
   if (SQLExecDirect(hstmt, (UCHAR FAR *) pSqlStmt, SQL_NTS) != SQL_SUCCESS)
      // Display all ODBC errors for this stmt
      return(db.DispAllErrors(db.henv, db.hdbc, hstmt));
</pre>
    </example>
    <fseealso>
     <ref target="wxdbsetsqllogging">wxDb::SetSqlLogging</ref>
     wxDbSqlLog
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="DispNextError">
   <function type="void" name="DispNextError">
    <example>
     <pre>
   // Drop the table before attempting to create it
   sprintf(sqlStmt, "DROP TABLE %s", tableName);
   // Execute the drop table statement
   if (SQLExecDirect(hstmt,(UCHAR FAR *)sqlStmt,SQL_NTS) != SQL_SUCCESS)
   {
      // Check for sqlState = S0002, "Table or view not found".
      // Ignore this error, bomb out on any other error.
      pDb->GetNextError(henv, hdbc, hstmt);
      if (wxStrcmp(pDb->sqlState, "S0002"))
      {
         pDb->DispNextError();   // Displayed error retrieved
         pDb->DispAllErrors(henv, hdbc, hstmt); // Display all other errors, if any
         pDb->RollbackTrans();   // Rollback the transaction
         CloseCursor();          // Close the cursor
         return(false);          // Return Failure
      }
   }
</pre>
    </example>
    <remarks>
     <p>
      This function is normally used internally within the ODBC class library.
      It could be used programmatically after calling ODBC functions directly.
      This function works in conjunction with
      <ref target="wxdbgetnexterror">wxDb::GetNextError</ref>
      when errors (or sometimes informational messages) returned from ODBC need
      to be analyzed rather than simply displaying them as an error.
      GetNextError() retrieves the next ODBC error from the ODBC error queue.
      The wxDb member variables "sqlState", "nativeError" and "errorMsg" could
      then be evaluated. To display the error retrieved, DispNextError() could
      then be called. The combination of GetNextError() and DispNextError() can
      be used to iteratively step through the errors returned from ODBC
      evaluating each one in context and displaying the ones you choose.
     </p>
    </remarks>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="DropView">
   <function type="bool" name="DropView">
    <parameters>
     <parameter type="const wxString &amp;" name="viewName">
      Name of the view to be dropped.
     </parameter>
    </parameters>
    <remarks>
     <p>
      If the view does not exist, this function will return true. Note that
      views are not supported with all datasources.
     </p>
    </remarks>
    <description>
     <p>
      Drops the data table view named in 'viewName'.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="ExecSql">
   <function type="bool" name="ExecSql">
    <parameters>
     <parameter type="const wxString &amp;" name="pSqlStmt">
      Pointer to the SQL statement to be executed.
     </parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="ExecSql">
    <parameters>
     <parameter type="const wxString &amp;" name="pSqlStmt">
      Pointer to the SQL statement to be executed.
     </parameter>
     <parameter type="wxDbColInf &#42;&#42;" name="columns">
      On success, this function will set this pointer to point to array of
      <ref target="wxdbcolinf">wxDbColInf</ref>
      objects, holding information about columns returned by the query. You need
      to call delete[] for the pointer you pass here after you don't use it
      anymore to prevent memory leak.
     </parameter>
     <parameter type="short &amp;" name="numcols">
      Reference to variable where amount of objects in
      <i>
       'columns'
      </i>
      -parameter will be set.
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbgetdata">wxDb::GetData</ref>
     <ref target="wxdbgetnext">wxDb::GetNext</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="FwdOnlyCursors">
   <function type="bool" name="IsFwdOnlyCursors">
    <description>
     <p>
      Older form (pre-2.3/2.4 of wxWidgets) of the
      <ref target="wxdbisfwdonlycursors">wxDb::IsFwdOnlyCursors</ref>
      . This method is provided for backward compatibility only. The method
      <ref target="wxdbisfwdonlycursors">wxDb::IsFwdOnlyCursors</ref>
      should be used in place of this method.
     </p>
    </description>
   </function>
    
   <function type="wxDbInf *" name="GetCatalog">
    <parameters>
     <parameter type="const wxChar &#42;" name="userID"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="GetCatalog">
   <function type="wxDbInf *" name="GetCatalog">
    <parameters>
     <parameter type="const wxChar &#42;" name="userID">
      Owner/Schema of the table. Specify a userID when the datasource you are
      connected to allows multiple unique tables with the same name to be owned
      by different users.
      <i>
       userID
      </i>
      is evaluated as follows:
     </parameter>
    </parameters>
    <remarks>
     <p>
      The returned catalog will only contain catalog entries for tables to which
      the user specified in 'userID' has sufficient privileges. If no user is
      specified (NULL passed in), a catalog pertaining to all tables in the
      datasource accessible to the connected user (permissions apply) via this
      connection will be returned.
     </p>
    </remarks>
    <description>
     <p>
      Returns a
      <ref target="wxdbinf">wxDbInf</ref>
      pointer that points to the catalog (datasource) name, schema, number of
      tables accessible to the current user, and a wxDbTableInf pointer to all
      data pertaining to all tables in the users catalog.
     </p>
     <pre>
         userID == NULL  ... UserID is ignored (DEFAULT)
         userID == ""    ... UserID set equal to 'this->uid'
         userID != ""    ... UserID set equal to 'userID'
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetColumnCount">
   <function type="int " name="GetColumnCount">
    <parameters>
     <parameter type="const wxString &amp;" name="tableName">
      The table name you wish to obtain column information about.
     </parameter>
     <parameter type="const wxChar &#42;" name="userID">
      Name of the user that owns the table(s) (also referred to as schema).
      Required for some datasources for situations where there may be multiple
      tables with the same name in the datasource, but owned by different users.
      <i>
       userID
      </i>
      is evaluated in the following manner:
     </parameter>
    </parameters>
    <returnvalue>
     Returns a count of how many columns are in the specified table. If an error
     occurs retrieving the number of columns, this function will return a -1.
    </returnvalue>
    <description>
     <pre>
         userID == NULL  ... UserID is ignored (DEFAULT)
         userID == ""    ... UserID set equal to 'this->uid'
         userID != ""    ... UserID set equal to 'userID'
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetColumns">
   <function type="wxDbColInf *" name="GetColumns">
    <parameters>
     <parameter type="const wxString &amp;" name="tableName">
      The table name you wish to obtain column information about.
     </parameter>
     <parameter type="UWORD &#42;" name="numCols">
      Pointer to a UWORD which will hold a count of the number of columns
      returned by this function
     </parameter>
     <parameter type="const wxChar &#42;" name="userID" value="NULL">
      Name of the user that owns the table(s) (also referred to as schema).
      Required for some datasources for situations where there may be multiple
      tables with the same name in the datasource, but owned by different users.
      <i>
       userID
      </i>
      is evaluated in the following manner:
     </parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxDbColInf *" name="GetColumns">
    <parameters>
     <parameter type="wxChar &#42;" name="tableName[]">
      An array of pointers to table names you wish to obtain column information
      about. The last element of this array must be a NULL string.
     </parameter>
     <parameter type="const wxChar &#42;" name="userID">
      Name of the user that owns the table(s) (also referred to as schema).
      Required for some datasources for situations where there may be multiple
      tables with the same name in the datasource, but owned by different users.
      <i>
       userID
      </i>
      is evaluated in the following manner:
     </parameter>
    </parameters>
    <example>
     <pre>
   wxChar *tableList[] = {"PARTS", 0};
   wxDbColInf *colInf = pDb->GetColumns(tableList);
   if (colInf)
   {
      // Use the column inf
      .......
      // Destroy the memory
      delete [] colInf;
   }
</pre>
    </example>
    <fseealso>
     <ref target="wxdbcolinf">wxDbColInf</ref>
    </fseealso>
    <returnvalue>
     This function returns a pointer to an array of
     <ref target="wxdbcolinf">wxDbColInf</ref>
     structures, allowing you to obtain information regarding the columns of the
     named table(s). If no columns were found, or an error occurred, this
     pointer will be NULL. THE CALLING FUNCTION IS RESPONSIBLE FOR DELETING THE
     <i>
      wxDbColInf
     </i>
     MEMORY WHEN IT IS FINISHED WITH IT. ALL column bindings associated with
     this wxDb instance are unbound by this function, including those used by
     any wxDbTable instances that use this wxDb instance. This function should
     use its own wxDb instance to avoid undesired unbinding of columns.
    </returnvalue>
    <description>
     <pre>
         userID == NULL  ... UserID is ignored (DEFAULT)
         userID == ""    ... UserID set equal to 'this->uid'
         userID != ""    ... UserID set equal to 'userID'
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetData">
   <function type="bool" name="GetData">
    <parameters>
     <parameter type="UWORD " name="colNumber">
      Ordinal number of the desired column in the result set to be returned.
     </parameter>
     <parameter type="SWORD " name="cType">
      The C data type that is to be returned. See a partial list in
      <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
     </parameter>
     <parameter type="PTR " name="pData">
      Memory buffer which will hold the data returned by the call to this
      function.
     </parameter>
     <parameter type="SDWORD " name="maxLen">
      Maximum size of the buffer
      <i>
       'pData'
      </i>
      in characters. NOTE: Not UNICODE safe. If this is a numeric field, a value
      of 0 may be passed for this parameter, as the API knows the size of the
      expected return value.
     </parameter>
     <parameter type="SDWORD FAR &#42; " name="cbReturned">
      Pointer to the buffer containing the length of the actual data returned.
      If this value comes back as SQL\_NULL\_DATA, then the
      <ref target="wxdbgetdata">wxDb::GetData</ref>
      call has failed.
     </parameter>
    </parameters>
    <example>
     <pre>
    SDWORD cb;
    ULONG reqQty;
    wxString sqlStmt;
    sqlStmt = "SELECT SUM(REQUIRED_QTY - PICKED_QTY) FROM ORDER_TABLE WHERE \
                 PART_RECID = 1450 AND REQUIRED_QTY > PICKED_QTY";

    // Perform the query
    if (!pDb->ExecSql(sqlStmt.c_str()))
    {
        // ERROR
        return(0);
    }

    // Request the first row of the result set
    if (!pDb->GetNext())
    {
        // ERROR
        return(0);
    }

    // Read column #1 of the row returned by the call to ::GetNext()
    // and return the value in 'reqQty'
    if (!pDb->GetData(1, SQL_C_ULONG, &amp;reqQty, 0, &amp;cb))
    {
        // ERROR
        return(0);
    }

    // Check for a NULL result
    if (cb == SQL_NULL_DATA)
        return(0);
</pre>
     <p>
      \wxheading{Remarks}
     </p>
     <p>
      When requesting multiple columns to be returned from the result set (for
      example, the SQL query requested 3 columns be returned), the calls to this
      function must request the columns in ordinal sequence (1,2,3 or 1,3 or
      2,3).
     </p>
    </example>
    <fseealso>
     <ref target="wxdbgetnext">wxDb::GetNext</ref>
     <ref target="wxdbexecsql">wxDb::ExecSql</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="GetDatabaseName">
   <function type="const wxChar *" name="GetDatabaseName">
    <description>
     <p>
      Returns the name of the database engine.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetDatasourceName">
   <function type="const wxString &amp;" name="GetDatasourceName">
    <description>
     <p>
      Returns the ODBC datasource name.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetHDBC">
   <function type="HDBC" name="GetHDBC">
    <description>
     <p>
      Returns the ODBC handle to the database connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetHENV">
   <function type="HENV" name="GetHENV">
    <description>
     <p>
      Returns the ODBC environment handle.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetHSTMT">
   <function type="HSTMT" name="GetHSTMT">
    <description>
     <p>
      Returns the ODBC statement handle associated with this database
      connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetKeyFields">
   <function type="int " name="GetKeyFields">
    <parameters>
     <parameter type="const wxString &amp;" name="tableName">
      Name of the table for which the columns will be evaluated as to their
      inclusion in any indexes.
     </parameter>
     <parameter type="wxDbColInf &#42;" name="colInf">
      Data structure containing the column definitions (obtained with
      <ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
      ). This function populates the PkCol, PkTableName, and FkTableName members
      of the colInf structure.
     </parameter>
     <parameter type="UWORD " name="numColumns">
      Number of columns defined in the instance of colInf.
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbcolinf">wxDbColInf</ref>
     <ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="GetNext">
   <function type="bool" name="GetNext">
    <fseealso>
     <ref target="wxdbexecsql">wxDb::ExecSql</ref>
     <ref target="wxdbgetdata">wxDb::GetData</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="GetNextError">
   <function type="bool" name="GetNextError">
    <parameters>
     <parameter type="HENV " name="aHenv">
      A handle to the ODBC environment.
     </parameter>
     <parameter type="HDBC " name="aHdbc" value="SQL\_NULL\_HDBC">
      <i>
       OPTIONAL.
      </i>
      A handle to the ODBC connection. Pass this in if the ODBC function call
      that failed required a hdbc or hstmt argument.
     </parameter>
     <parameter type="HSTMT " name="aHstmt" value="SQL\_NULL\_HSTMT"></parameter>
    </parameters>
    <example>
     <pre>
   if (SQLExecDirect(hstmt, (UCHAR FAR *) pSqlStmt, SQL_NTS) != SQL_SUCCESS)
   {
      return(db.GetNextError(db.henv, db.hdbc, hstmt));
   }
</pre>
     <p>
      \wxheading{See also}
     </p>
     <p>
      <ref target="wxdbdispnexterror">wxDb::DispNextError</ref>
      ,
      <ref target="wxdbdispallerrors">wxDb::DispAllErrors</ref>
     </p>
    </example>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="GetPassword">
   <function type="const wxString &amp;" name="GetPassword">
    <description>
     <p>
      Returns the password used to establish this connection to the datasource.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetTableCount">
   <function type="int " name="GetTableCount">
    <description>
     <p>
      Returns the number of wxDbTable() instances currently using this
      datasource connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="GetUsername">
   <function type="const wxString &amp;" name="GetUsername">
    <description>
     <p>
      Returns the user name (uid) used to establish this connection to the
      datasource.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="Grant">
   <function type="bool" name="Grant">
    <parameters>
     <parameter type="int " name="privileges">
      Use this argument to select which privileges you want to grant. Pass
      DB\_GRANT\_ALL to grant all privileges. To grant individual privileges
      pass one or more of the following OR'd together:
     </parameter>
     <parameter type="const wxString &amp;" name="tableName">
      The name of the table you wish to grant privileges on.
     </parameter>
     <parameter type="const wxString &amp;" name="userList" value='"PUBLIC"'>
      <i>
       OPTIONAL.
      </i>
      A comma delimited list of users to grant the privileges to. If this
      argument is not passed in, the privileges will be given to the general
      PUBLIC.
     </parameter>
    </parameters>
    <example>
     <pre>
   db.Grant(DB_GRANT_SELECT | DB_GRANT_INSERT, "PARTS", "mary, sue");
</pre>
    </example>
    <remarks>
     <p>
      Some databases require user names to be specified in all capital letters
      (i.e. Oracle). This function does not automatically capitalize the user
      names passed in the comma-separated list. This is the responsibility of
      the calling routine.
     </p>
     <p>
      The currently logged in user must have sufficient grantor privileges for
      this function to be able to successfully grant the indicated privileges.
     </p>
    </remarks>
    <description>
     <p>
      Use this member function to GRANT privileges to users for accessing tables
      in the datasource.
     </p>
     <pre>
         DB_GRANT_SELECT  = 1
         DB_GRANT_INSERT  = 2
         DB_GRANT_UPDATE  = 4
         DB_GRANT_DELETE  = 8
         DB_GRANT_ALL     = DB_GRANT_SELECT | DB_GRANT_INSERT |
                            DB_GRANT_UPDATE | DB_GRANT_DELETE
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="IsFwdOnlyCursors">
   <function type="bool" name="IsFwdOnlyCursors">
    <fseealso>
     <ref target="wxdbctor">wxDb constructor</ref>
     <ref target="wxdbfunctions">wxDbGetConnection</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="IsOpen">
   <function type="bool" name="IsOpen">
    <remarks>
     <p>
      This function may indicate that the database connection is open, even if
      the call to
      <ref target="wxdbopen">wxDb::Open</ref>
      may have failed to fully initialize the connection correctly. The
      connection to the database
      <i>
       is
      </i>
      open and can be used via the direct SQL commands, if this function returns
      true. Other functions which depend on the
      <ref target="wxdbopen">wxDb::Open</ref>
      to have completed correctly may not function as expected. The return
      result from
      <ref target="wxdbopen">wxDb::Open</ref>
      is the only way to know if complete initialization of this wxDb connection
      was successful or not. See
      <ref target="wxdbopen">wxDb::Open</ref>
      for more details on partial failures to open a connection instance.
     </p>
    </remarks>
    <description>
     <p>
      Indicates whether the database connection to the datasource is currently
      opened.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="LogError">
   <function type="void" name="LogError">
    <parameters>
     <parameter type="const wxString &amp;" name="errMsg">
      Free-form text to display describing the error/text to be logged.
     </parameter>
     <parameter type="const wxString &amp;" name="SQLState" value='""'>
      <i>
       OPTIONAL.
      </i>
      Native SQL state error. Default is 0.
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbwritesqllog">wxDb::WriteSqlLog</ref>
    </fseealso>
    <remarks>
     <p>
      Calling this function will enter a log message in the error list
      maintained for the database connection. This log message is free form and
      can be anything the programmer wants to enter in the error list.
     </p>
     <p>
      If SQL logging is turned on, the call to this function will also log the
      text into the SQL log file.
     </p>
    </remarks>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="ModifyColumn">
   <function type="void" name="ModifyColumn">
    <parameters>
     <parameter type="const wxString &amp;" name="tableName">
      Name of the table that the column to be modified is in.
     </parameter>
     <parameter type="const wxString &amp;" name="ColumnName"></parameter>
     <parameter type="int " name="dataType">
      Any one of DB\_DATA\_TYPE\_VARCHAR, DB\_DATA\_TYPE\_INTEGER,
      DB\_DATA\_TYPE\_FLOAT, DB\_DATA\_TYPE\_DATE.
     </parameter>
     <parameter type="ULONG " name="columnLength" value="0">
      New size of the column. Valid only for DB\_DATA\_TYPE\_VARCHAR dataType
      fields. Default is 0.
     </parameter>
     <parameter type="const wxString &amp;" name="optionalParam" value='""'>
      Default is "".
     </parameter>
    </parameters>
    <example>
     <pre>
    ok = pDb->ModifyColumn("CONTACTS", "ADDRESS2",
                            DB_, colDefs[j].SzDataObj,
                            wxT("NOT NULL"));
</pre>
    </example>
    <remarks>
     <p>
      Cannot be used to modify the precision of a numeric column, therefore
      'columnLength' is ignored unless the dataType is DB\_DATA\_TYPE\_VARCHAR.
     </p>
     <p>
      Some datasources do not allow certain properties of a column to be changed
      if any rows currently have data stored in that column. Those datasources
      that do allow columns to be changed with data in the rows many handle
      truncation and/or expansion in different ways. Please refer to the
      reference material for the datasource being used for behavioral
      descriptions.
     </p>
    </remarks>
    <description>
     <p>
      Used to change certain properties of a column such as the length, or
      whether a column allows NULLs or not.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="Open">
   <function type="bool" name="Open">
    <parameters>
     <parameter type="const wxString &amp;" name="Dsn">
      datasource name. The name of the ODBC datasource as assigned when the
      datasource is initially set up through the ODBC data source manager.
     </parameter>
     <parameter type="const wxString &amp;" name="Uid">
      User ID. The name (ID) of the user you wish to connect as to the
      datasource. The user name (ID) determines what objects you have access to
      in the datasource and what datasource privileges you have. Privileges
      include being able to create new objects, update objects, delete objects
      and so on. Users and privileges are normally administered by the database
      administrator.
     </parameter>
     <parameter type="const wxString &amp;" name="AuthStr">
      The password associated with the Uid.
     </parameter>
     <parameter type="bool " name="failOnDataTypeUnsupported"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="Open">
    <parameters>
     <parameter type="const wxString &amp;" name="inConnectStr">
      A valid ODBC connection string used to connect to a database
     </parameter>
     <parameter type="bool " name="failOnDataTypeUnsupported"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="Open">
    <parameters>
     <parameter type="wxDbConnectInf &#42;" name="dbConnectInf">
      Contains a DSN, Uid, Password, or a connection string to be used in
      opening a new connection to the database. If a connection string is
      present, then the connection string will be used. If there is no
      connection string present, then the DSN, Uid, and Password are used.
     </parameter>
     <parameter type="bool " name="failOnDataTypeUnsupported"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="Open">
    <parameters>
     <parameter type="wxDb &#42;" name="copyDb">
      Already completely configured and opened datasource connection from which
      all Dsn, Uid, AuthStr, connection string, and data typing information is
      to be copied from for use by this datasource connection. If 'copyDb' used
      a connection string to create its connection originally, then the
      connection being made by this call to wxDb::Open() will use that same
      connection string.
     </parameter>
    </parameters>
    <example>
     <pre>
   wxDb sampleDB(DbConnectInf.GetHenv());
   if (!sampleDB.Open("Oracle 7.1 HP/UX", "gtasker", "myPassword"))
   {
      if (sampleDb.IsOpen())
      {
        // Connection is open, but the initialization of
        // datatypes and parameter settings failed
      }
      else
      {
        // Error opening datasource
      }
   }
</pre>
    </example>
    <remarks>
     <p>
      After a wxDb instance is created, it must then be opened. When opening a
      datasource, there must be three pieces of information passed. The data
      source name, user name (ID) and the password for the user. No database
      activity on the datasource can be performed until the connection is
      opened. This is normally done at program startup and the datasource
      remains open for the duration of the program/module run.
     </p>
     <p>
      It is possible to have connections to multiple datasources open at the
      same time to support distributed database connections by having separate
      instances of wxDb objects that use either the same or different
      Dsn/Uid/AuthStr settings.
     </p>
     <p>
      If this function returns a value of false, it does not necessarily mean
      that the connection to the datasource was not opened. It may mean that
      some portion of the initialization of the connection failed (such as a
      datatype not being able to be determined how the datasource represents
      it). To determine if the connection to the database failed, use the
      <ref target="wxdbisopen">wxDb::IsOpen</ref>
      function after receiving a false result back from this function to
      determine if the connection was opened or not. If this function returns
      false, but
      <ref target="wxdbisopen">wxDb::IsOpen</ref>
      returns true, then direct SQL commands may be passed to the database
      connection and can be successfully executed, but use of the datatypes
      (such as by a wxDbTable instance) that are normally determined during open
      will not be possible.
     </p>
     <p>
      The
      <i>
       Dsn
      </i>
      ,
      <i>
       Uid
      </i>
      , and
      <i>
       AuthStr
      </i>
      string pointers that are passed in are copied. NOT the strings themselves,
      only the pointers. The calling routine must maintain the memory for these
      three strings for the life of the wxDb instance.
     </p>
    </remarks>
    <description>
     <p>
      Opens a connection to the datasource, sets certain behaviors of the
      datasource to confirm to the accepted behaviors (e.g. cursor position
      maintained on commits), and queries the datasource for its representations
      of the basic datatypes to determine the form in which the data going
      to/from columns in the data tables are to be handled.
     </p>
     <p>
      The second form of this function, which accepts a "wxDb *" as a parameter,
      can be used to avoid the overhead (execution time, database load, network
      traffic) which are needed to determine the data types and representations
      of data that are necessary for cross-datasource support by these classes.
     </p>
     <p>
      Normally the first form of the wxDb::Open() function will open the
      connection and then send a series of queries to the datasource asking it
      for its representation of data types, and all the features it supports. If
      one connection to the datasource has already been made previously, the
      information gathered when that connection was created can just be copied
      to any new connections to the same datasource by passing a pointer to the
      first connection in as a parameter to the wxDb::Open() function. Note that
      this new connection created from the first connections information will
      use the same Dsn/Uid/AuthStr as the first connection used.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="RollbackTrans">
   <function type="bool" name="RollbackTrans">
    <fseealso>
     <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
      for a special note on cursors
    </fseealso>
    <remarks>
     <p>
      Transactions begin implicitly as soon as you make a change to the
      database. The transaction continues until either a commit or rollback is
      executed. Calling wxDb::RollbackTrans() will result in ALL changes done
      using this database connection that have not already been committed to be
      "undone" back to the last commit/rollback that was successfully executed.
     </p>
     <p>
      Calling this member function rolls back ALL open (uncommitted)
      transactions on this ODBC connection, including all wxDbTable instances
      that use this connection.
     </p>
    </remarks>
    <description>
     <p>
      Function to "undo" changes made to the database. After an
      insert/update/delete, the operation may be "undone" by issuing this
      command any time before a
      <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
      is called on the database connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="SetDebugErrorMessages">
   <function type="void" name="SetDebugErrorMessages">
    <parameters>
     <parameter type="bool " name="state">
      Either true (debug messages are logged) or false (debug messages are not
      logged).
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbctor">wxDb constructor</ref>
    </fseealso>
    <remarks>
     <p>
      Turns on/off debug error messages from the ODBC class library. When this
      function is passed true, errors are reported to the user/logged
      automatically in a text or pop-up dialog when an ODBC error occurs. When
      passed false, errors are silently handled.
     </p>
     <p>
      When compiled in release mode (FINAL=1), this setting has no affect.
     </p>
    </remarks>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="SetSqlLogging">
   <function type="bool" name="SetSqlLogging">
    <parameters>
     <parameter type="wxDbSqlLogState " name="state">
      Either sqlLogOFF or sqlLogON (see
      <ref target="wxdbcolfor">enum wxDbSqlLogState</ref>
      ). Turns logging of SQL commands sent to the datasource OFF or ON.
     </parameter>
     <parameter type="const wxString &amp;" name="filename" value="SQL\_LOG\_FILENAME">
      <i>
       OPTIONAL
      </i>
      . Name of the file to which the log text is to be written. Default is
      SQL\_LOG\_FILENAME.
     </parameter>
     <parameter type="bool  " name="append" value="false">
      <i>
       OPTIONAL
      </i>
      . Whether the file is appended to or overwritten. Default is false.
     </parameter>
    </parameters>
    <remarks>
     <p>
      When called with
      <i>
       sqlLogON
      </i>
      , all commands sent to the datasource engine are logged to the file
      specified by
      <i>
       filename
      </i>
      . Logging is done by embedded
      <ref target="wxdbwritesqllog">wxDb::WriteSqlLog</ref>
      calls in the database member functions, or may be manually logged by
      adding calls to
      <ref target="wxdbwritesqllog">wxDb::WriteSqlLog</ref>
      in your own source code.
     </p>
     <p>
      When called with
      <i>
       sqlLogOFF
      </i>
      , the logging file is closed, and any calls to
      <ref target="wxdbwritesqllog">wxDb::WriteSqlLog</ref>
      are ignored.
     </p>
    </remarks>
    <description></description>
   </function>
  </member>
   
  <member class="wxDb" name="SQLColumnName">
   <function type="const wxString" name="SQLColumnName">
    <parameters>
     <parameter type="const char &#42; " name="colName">
      Native name of the column in the table that is to be evaluated to
      determine if any special quoting marks needed to be added to it before
      including the column name in a SQL statement
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbsqltablename">wxDb::SQLTableName</ref>
    </fseealso>
    <description>
     <p>
      Returns the column name in a form ready for use in SQL statements. In most
      cases, the column name is returned verbatim. But some databases (e.g. MS
      Access, SQL Server, MSDE) allow for spaces in column names, which must be
      specially quoted. For example, if the datasource allows spaces in the
      column name, the returned string will have the correct enclosing marks
      around the name to allow it to be properly included in a SQL statement for
      the DBMS that is currently connected to with this connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="SQLTableName">
   <function type="const wxString" name="SQLTableName">
    <parameters>
     <parameter type="const char &#42; " name="tableName">
      Native name of the table that is to be evaluated to determine if any
      special quoting marks needed to be added to it before including the table
      name in a SQL statement
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbsqlcolumnname">wxDb::SQLColumnName</ref>
    </fseealso>
    <description>
     <p>
      Returns the table name in a form ready for use in SQL statements. In most
      cases, the table name is returned verbatim. But some databases (e.g. MS
      Access, SQL Server, MSDE) allow for spaces in table names, which must be
      specially quoted. For example, if the datasource allows spaces in the
      table name, the returned string will have the correct enclosing marks
      around the name to allow it to be properly included in a SQL statement for
      the data source that is currently connected to with this connection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="TableExists">
   <function type="bool" name="TableExists">
    <parameters>
     <parameter type="const wxString &amp;" name="tableName">
      Name of the table to check for the existence of.
     </parameter>
     <parameter type="const wxChar &#42;" name="userID" value="NULL">
      Owner of the table (also referred to as schema). Specify a userID when the
      datasource you are connected to allows multiple unique tables with the
      same name to be owned by different users.
      <i>
       userID
      </i>
      is evaluated as follows:
     </parameter>
     <parameter type="const wxString &amp;" name="path" value='""'></parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbtableprivileges">wxDb::TablePrivileges</ref>
    </fseealso>
    <remarks>
     <p>
      <i>
       tableName
      </i>
      may refer to a table, view, alias or synonym.
     </p>
     <p>
      This function does not indicate whether or not the user has privileges to
      query or perform other functions on the table. Use the
      <ref target="wxdbtableprivileges">wxDb::TablePrivileges</ref>
      to determine if the user has sufficient privileges or not.
     </p>
    </remarks>
    <description>
     <p>
      Checks the ODBC datasource for the existence of a table. If a
      <i>
       userID
      </i>
      is specified, then the table must be accessible by that user (user must
      have at least minimal privileges to the table).
     </p>
     <pre>
         userID == NULL  ... UserID is ignored (DEFAULT)
         userID == ""    ... UserID set equal to 'this->uid'
         userID != ""    ... UserID set equal to 'userID'
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="TablePrivileges">
   <function type="bool" name="TablePrivileges">
    <parameters>
     <parameter type="const wxString &amp;" name="tableName">
      Name of the table on which to check privileges.
      <i>
       tableName
      </i>
      may refer to a table, view, alias or synonym.
     </parameter>
     <parameter type="const wxString &amp;" name="priv">
      The table privilege being evaluated. May be one of the following (or a
      datasource specific privilege):
     </parameter>
     <parameter type="const wxChar &#42;" name="userID" value="NULL">
      <i>
       OPTIONAL.
      </i>
      User for which to determine if the privilege specified to be checked is
      granted or not. Default is "".
      <i>
       userID
      </i>
      is evaluated as follows:
     </parameter>
     <parameter type="const wxChar &#42;" name="schema" value="NULL">
      <i>
       OPTIONAL.
      </i>
      Owner of the table. Specify a userID when the datasource you are connected
      to allows multiple unique tables with the same name to be owned by
      different users. Specifying the table owner makes determination of the
      users privileges MUCH faster. Default is NULL.
      <i>
       userID
      </i>
      is evaluated as follows:
     </parameter>
     <parameter type="const wxString &amp;" name="path" value='""'>
      <i>
       OPTIONAL.
      </i>
      Path to the table. Default is "". Currently unused.
     </parameter>
    </parameters>
    <remarks>
     <p>
      The scope of privilege allowed to the connected user by a given table
      privilege is datasource dependent.
     </p>
     <p>
      For example, the privilege UPDATE might allow the connected user to update
      all columns in a table on one datasource, but only those columns for which
      the grantor (the user that granted the connected user) has the UPDATE
      privilege on another datasource.
     </p>
     <p>
      Looking up a user's privileges to a table can be time consuming depending
      on the datasource and ODBC driver. This time can be minimized by passing a
      <i>
       schema
      </i>
      as a parameter. With some datasources/drivers, the difference can be
      several seconds of time difference.
     </p>
    </remarks>
    <description>
     <p>
      Checks the ODBC datasource for the existence of a table. If a
      <i>
       userID
      </i>
      is specified, then the table must be accessible by that user (user must
      have at least minimal privileges to the table).
     </p>
     <pre>
    SELECT      : The connected user is permitted to retrieve data for
                  one or more columns of the table.

    INSERT      : The connected user is permitted to insert new rows
                  containing data for one or more columns into the
                  table.

    UPDATE      : The connected user is permitted to update the data in
                  one or more columns of the table.

    DELETE      : The connected user is permitted to delete rows of
                  data from the table.

    REFERENCES  : Is the connected user permitted to refer to one or
                  more columns of the table within a constraint (for
                  example, a unique, referential, or table check
                  constraint).
</pre>
     <pre>
         userID == NULL  ... NOT ALLOWED!
         userID == ""    ... UserID set equal to 'this->uid'
         userID != ""    ... UserID set equal to 'userID'
</pre>
     <pre>
         schema == NULL  ... Any owner (DEFAULT)
         schema == ""    ... Owned by 'this->uid'
         schema != ""    ... Owned by userID specified in 'schema'
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="TranslateSqlState">
   <function type="int " name="TranslateSqlState">
    <parameters>
     <parameter type="const wxString &amp;" name="SQLState">
      State to be converted.
     </parameter>
    </parameters>
    <returnvalue>
     Returns the internal class DB\_ERR code. See
     <ref target="wxdb">wxDb::DB\_STATUS</ref>
     definition.
    </returnvalue>
    <description>
     <p>
      Converts an ODBC sqlstate to an internal error code.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDb" name="WriteSqlLog">
   <function type="bool" name="WriteSqlLog">
    <parameters>
     <parameter type="const wxString &amp;" name="logMsg">
      Free form string to be written to the log file.
     </parameter>
    </parameters>
    <fseealso>
     <ref target="wxdbsetsqllogging">wxDb::SetSqlLogging</ref>
    </fseealso>
    <remarks>
     <p>
      Very useful debugging tool that may be turned on/off during run time (see
      (see
      <ref target="wxdbsetsqllogging">wxDb::SetSqlLogging</ref>
      for details on turning logging on/off). The passed in string
      <i>
       logMsg
      </i>
      will be written to a log file if SQL logging is turned on.
     </p>
     <p>
      \wxheading{Return value}
     </p>
     <p>
      If SQL logging is off when a call to WriteSqlLog() is made, or there is a
      failure to write the log message to the log file, the function returns
      false without performing the requested log, otherwise true is returned.
     </p>
    </remarks>
    <description></description>
   </function>
  </member>
 </members>
</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 type='unknown' 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 type='method' target='method-wxDbTable::GetColDefs'>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 type='method' target='method-wxDbTable::SetColDefs'>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"></p>
  <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></p>
 </description>
  
 <category>
  Database classes
 </category>
  
 <shortdesc></shortdesc>
  
 <includes>
  <header name="wx/db.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='odbcoverview'>database classes overview</ref>
  , 
  <ref type='method' target='method-wxDbTable::GetColDefs'>wxDbTable::GetColDefs</ref>
  <ref type='unknown' 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"></p>
  <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>
  <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 type='unknown' 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 type='method' target='method-wxDb::GetColumns'>wxDb::GetColumns</ref>
   functions for obtaining all retrievable information about a column's
   definition.
  </p>
  <p class="classdesc"></p>
  <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>
  <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 type='unknown' 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="wxDbConnectInf">
 <description>
  <p class="classdesc">
   This class is used for holding the data necessary for connecting to the ODBC
   datasource. That information includes: SQL environment handle, datasource
   name, user ID, password and default directory path (used with dBase). Other
   optional fields held in this class are and file type, both for future
   functions planned to be added for creating/manipulating datasource
   definitions.
  </p>
 </description>
  
 <category>
  Database classes
 </category>
  
 <shortdesc></shortdesc>
  
 <members>
  <member class="wxDbConnectInf" name="wxDbConnectInf">
   <function type="" name="wxDbConnectInf">
    <description>
     <p>
      Default constructor.
     </p>
    </description>
   </function>
    
   <function type="" name="wxDbConnectInf">
    <parameters>
     <parameter type="HENV " name="henv">
      Environment handle used for this connection. See
      <ref type='method' target='method-wxDbConnectInf::AllocHenv'>wxDConnectInf::AllocHenv</ref>
      for how to create an SQL environment handle. NOTE: Passing in a NULL for
      this parameter will inform the constructor that it should create its own
      SQL environment handle. If NULL is passed for this parameter, the
      constructor will call
      <ref type='method' target='method-wxDbConnectInf::AllocHenv'>wxDConnectInf::AllocHenv</ref>
      internally. A flag is set internally also to indicate that the HENV was
      created by the constructor so that when the default class destructor is
      called, the destructor will call
      <ref type='method' target='method-wxDbConnectInf::FreeHenv'>wxDConnectInf::FreeHenv</ref>
      to free the environment handle automatically.
     </parameter>
     <parameter type="const wxString &amp;" name="dsn">
      Name of the datasource to be used in creating wxDb instances for creating
      connection(s) to a datasource.
     </parameter>
     <parameter type="const wxString &amp;" name="userID" value="&quot;&quot;">
      <i>
       OPTIONAL
      </i>
      Many datasources allow (or even require) use of a username to determine
      privileges that connecting user is allowed to have when accessing the
      datasource or the data tables. Default is &quot;&quot;.
     </parameter>
     <parameter type="const wxString &amp;" name="password">
      <i>
       OPTIONAL
      </i>
      Password to be associated with the user ID specified in 'userID'. Default
      is &quot;&quot;.
     </parameter>
     <parameter type="const wxString &amp;" name="defaultDir" value="&quot;&quot;">
      <i>
       OPTIONAL
      </i>
      Used for datasources which require the path to where the data file is
      stored to be specified. dBase is one example of the type of datasource
      which requires this information. Default is &quot;&quot;.
     </parameter>
     <parameter type="const wxString &amp;" name="description" value="&quot;&quot;">
      <i>
       OPTIONAL
      </i>

      <b>
       FUTURE USE
      </b>
      Default is &quot;&quot;.
     </parameter>
     <parameter type="const wxString &amp;" name="fileType" value="&quot;&quot;">
      <i>
       OPTIONAL
      </i>

      <b>
       FUTURE USE
      </b>
      Default is &quot;&quot;.
     </parameter>
    </parameters>
    <example>
     <pre>
   wxDbConnectInf &#42;DbConnectInf;

	DbConnectInf = new wxDbConnectInf(0,&quot;MY_DSN&quot;, &quot;MY_USER&quot;, &quot;MY_PASSWORD&quot;);

	....the rest of the program

	delete DbConnectInf;
</pre>
     <p>
      \wxheading{See also}
     </p>
     <p>
      <ref type='method' target='method-wxDbConnectInf::AllocHenv'>wxDConnectInf::AllocHenv</ref>
      ,
      <ref type='method' target='method-wxDbConnectInf::FreeHenv'>wxDConnectInf::FreeHenv</ref>
     </p>
    </example>
    <remarks>
     <p>
      It is strongly recommended that programs use the longer form of the
      constructor and allow the constructor to create the SQL environment handle
      automatically, and manage the destruction of the handle.
     </p>
    </remarks>
    <description>
     <p>
      Constructor which allows initial settings of all the classes member
      variables.
     </p>
     <p>
      See the special note below on the henv parameter for forcing this
      constructor to create a SQL environment handle automatically, rather than
      needing to pass one in to the function.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="~wxDbConnectInf">
   <function type="" name="~wxDbConnectInf">
    <parameters></parameters>
    <description>
     <p>
      Handles the default destruction of the instance of the class. If the long
      form of the
      <ref type='class' target='wxDbConnectInf'>wxDConnectInf</ref>
      was used, then this destructor also takes care of calling
      <ref type='method' target='method-wxDbConnectInf::FreeHenv'>wxDConnectInf::FreeHenv</ref>
      to free the SQL environment handle.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="AllocHenv">
   <function type="bool " name="AllocHenv">
    <remarks>
     <p>
      This function can be automatically called by the long from of the
      <ref type='class' target='wxDbConnectInf'>wxDbConnectInf</ref>
      constructor.
     </p>
    </remarks>
    <description>
     <p>
      Allocates a SQL environment handle that will be used to interface with an
      ODBC datasource.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="FreeHenv">
   <function type="void" name="FreeHenv">
    <remarks>
     <p>
      If the SQL environment handle was created using the long form of the
      <ref type='class' target='wxDbConnectInf'>wxDbConnectInf</ref>
      constructor, then the flag indicating that the HENV should be destroyed
      when the classes destructor is called is reset to be false, so that any
      future handles created using the
      <ref type='method' target='method-wxDbConnectInf::AllocHenv'>wxDbConnectInf::AllocHenv</ref>
      function must be manually released with a call to this function.
     </p>
    </remarks>
    <description>
     <p>
      Frees the SQL environment handle being managed by the instance of this
      class.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="Initialize"></member>
   
  <member class="wxDbConnectInf" name="GetAuthStr">
   <function type="const wxChar &#42;" name="GetAuthStr">
    <description>
     <p>
      Accessor function to return the password assigned for this class instance
      that will be used with the user ID.
     </p>
     <p>
      Synonymous with
      <ref type='method' target='method-wxDbConnectInf::GetPassword'>wxDbConnectInf::GetPassword</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetDefaultDir">
   <function type="const wxChar &#42;" name="GetDefaultDir">
    <description>
     <p>
      Accessor function to return the default directory in which the
      datasource's data table is stored. This directory is only used for file
      based datasources like dBase. MS-Access does not require this to be set,
      as the path is set in the ODBC Administrator for MS-Access.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetDescription">
   <function type="const wxChar &#42;" name="GetDescription">
    <description>
     <p>
      Accessor function to return the description assigned for this class
      instance.
     </p>
     <p>
      NOTE: Description is a FUTURE USE item and is unused currently.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetDsn">
   <function type="const wxChar &#42;" name="GetDsn">
    <description>
     <p>
      Accessor function to return the datasource name assigned for this class
      instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetFileType">
   <function type="const wxChar &#42;" name="GetFileType">
    <description>
     <p>
      Accessor function to return the filetype of the ODBC datasource assigned
      for this class instance.
     </p>
     <p>
      NOTE: FileType is a FUTURE USE item and is unused currently.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetHenv">
   <function type="const HENV" name="GetHenv">
    <description>
     <p>
      Accessor function to return the SQL environment handle being managed by
      this class instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetPassword">
   <function type="const wxChar &#42;" name="GetPassword">
    <description>
     <p>
      Accessor function to return the password assigned for this class instance
      that will be used with the user ID.
     </p>
     <p>
      Synonymous with
      <ref type='method' target='method-wxDbConnectInf::GetAuthStr'>wxDbConnectInf::GetAuthStr</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetUid">
   <function type="const wxChar &#42;" name="GetUid">
    <description>
     <p>
      Accessor function to return the user ID assigned for this class instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="GetUserID">
   <function type="const wxChar &#42;" name="GetUserID">
    <description>
     <p>
      Accessor function to return the user ID assigned for this class instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetAuthStr">
   <function type="void" name="SetAuthStr">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to assign the password for this class instance that will
      be used with the user ID.
     </p>
     <p>
      Synonymous with
      <ref type='method' target='method-wxDbConnectInf::SetPassword'>wxDbConnectInf::SetPassword</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetDefaultDir">
   <function type="void" name="SetDefaultDir">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to assign the default directory in which the
      datasource's data table is stored. This directory is only used for file
      based datasources like dBase. MS-Access does not require this to be set,
      as the path is set in the ODBC Administrator for MS-Access.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetDescription">
   <function type="void" name="SetDescription">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to assign the description assigned for this class
      instance.
     </p>
     <p>
      NOTE: Description is a FUTURE USE item and is unused currently.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetDsn">
   <function type="void" name="SetDsn">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to assign the datasource name for this class instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetFileType">
   <function type="void" name="SetFileType">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to return the filetype of the ODBC datasource assigned
      for this class instance.
     </p>
     <p>
      NOTE: FileType is a FUTURE USE item and is unused currently.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetHenv">
   <function type="void" name="SetHenv">
    <parameters>
     <parameter type="const HENV " name="henv"></parameter>
    </parameters>
    <description>
     <p>
      Accessor function to set the SQL environment handle for this class
      instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetPassword">
   <function type="void" name="SetPassword">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to assign the password for this class instance that will
      be used with the user ID.
     </p>
     <p>
      Synonymous with
      <ref type='method' target='method-wxDbConnectInf::SetAuthStr'>wxDbConnectInf::SetAuthStr</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetUid">
   <function type="void" name="SetUid">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to set the user ID for this class instance.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbConnectInf" name="SetUserID">
   <function type="void" name="SetUserID">
    <parameters></parameters>
    <description>
     <p>
      Accessor function to assign the user ID for this class instance.
     </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="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 type='class' target='wxDbGridTableBase'>wxdbGridTableBase</ref>
   to display a Table or query in a
   <ref type='class' target='wxGrid'>wxGrid</ref>
  </p>
  <p class="classdesc">
   See the database grid example in
   <ref type='class' 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 type='class' 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 type='class' 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 type='class' target='wxDbGridTableBase'>wxDbGridTableBase</ref>
      to see two different ways for adding columns.
     </p>
     <p>
      See the database grid example in
      <ref type='class' 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 type='class' 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 type='class' 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 type='class' 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 type='unknown' target='wxdbgridcolinfoctor'>wxDbGridColInfo::wxDbGridColInfo</ref>
      .
     </p>
    </remarks>
    <description>
     <p>
      Use this member function for adding columns. See the database grid example
      in
      <ref type='class' 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 type='class' target='wxDbGridTableBase'>wxDbGridTableBase</ref>
      constructor. Changes made to this datatype after the
      <ref type='class' target='wxDbGridTableBase'>wxDbGridTableBase</ref>
      is called will not have any effect.
     </p>
    </description>
   </function>
  </member>
 </members>
  
 <supported></supported>
</class>
<class name="wxDbGridTableBase">
 <description>
  <p class="classdesc">
   You can view a database table in a grid using this class.
  </p>
  <p class="classdesc">
   If you are deriving your own wxDbTable subclass for your table , then you may
   consider overriding GetCol() and SetCol() to provide calculated fields. This
   does work but care should be taken when using wxDbGridTableBase in this way.
  </p>
  <p class="classdesc">
   The constructor and AssignDbTable() call allows you to specify the ownership
   if the wxDbTable object pointer. If you tell wxGridTableBase to take
   ownership , it will delete the passed wxDbTable when an new on is assigned or
   wxGridTableBase's destructor is called. However no checks for aliasing are
   done so Assign(table,..,true); Assign(table,..,true); is an error. If you
   need to requery an table object the preferred way is that the client keeps
   ownership.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <example>
  <pre>
	// First step, let's define wxDbTable
	int numColumns = 2;
	wxDbTable &#42;table = new wxDbTable (db, tblName, numColumns);
	int int_var;
	wxChar string_name[255];
	table-&gt;SetColDef (0, &quot;column 0&quot;, DB_DATA_TYPE_INTEGER, &amp;int_var,
			SQL_C_LONG, sizeof(int_var), true);
	table-&gt;SetColDef (1, &quot;column 1&quot;, DB_DATA_TYPE_VARCHAR, &amp;string_name,
			SQL_C_LONG, sizeof(string_name), false);

    // now let's define columns in the grid

    // first way to do it
    wxDbGridColInfo &#42;columns;
    columns = new wxDbGridColInfo(0, wxGRID_VALUE_LONG, &quot;first column&quot;,
              new wxDbGridColInfo(1, wxGRID_VALUE_STRING, &quot;second column&quot;,
              NULL);

    // second way to do it
    wxDbGridColInfo &#42;columns;
    // first column is special
    columns = new wxDbGridColInfo(0, wxGRID_VALUE_LONG, &quot;first column&quot;, NULL);
    // all the rest
    columns-&gt;AddColInfo (1, wxGRID_VALUE_STRING, &quot;second column&quot;);

    // second way may be better when columns are not known at compile time

    // now, let's open the table and make a Query()
    table-&gt;Open();
    // this step is very important
    table-&gt;SetRowMode (wxDbTable::WX_ROW_MODE_QUERY);
    // in the grid we will see only the rows of the result query
    m_dbTable-&gt;Query();

    wxDbGridTableBase &#42;dbgrid = new wxDbGridTableBase(table, columns, wxUSE_QUERY, true);
    delete columns;  // not needed anymore
    wxGrid &#42;grid = new wxGrid ( ... );
    grid-&gt;SetTable(dbgrid, true);
    grid-&gt;Fit();
</pre>
 </example>
  
 <parents>
  <ref type="class" target="wxGridTableBase">wxGridTableBase</ref>
 </parents>
  
 <includes>
  <header name="wx/dbgrid.h"/>
 </includes>
  
 <members>
  <member class="wxDbGridTableBase" name="wxDbGridTableBase">
   <function type="" name="wxDbGridTableBase">
    <parameters>
     <parameter type="wxDbTable &#42;" name="tab">
      The database table you want to display. Must be opened and queried before
      display the grid. See the example
      <ref type='class' target='wxDbGridTableBase'>above</ref>
      .
     </parameter>
     <parameter type="wxDbGridColInfo &#42;" name="ColInfo">
      Columns titles, and other values. See
      <ref type='class' target='wxDbGridColInfo'>wxDbGridColInfo</ref>
      .
     </parameter>
     <parameter type="int " name="count" value="wxUSE_QUERY">
      You can use a query result set (wxUSE_QUERY, to use
      wxDbTable::Count(wxDbTable::Count() or you can fix the total number of
      rows (count &gt;= 0) to display, or specify it if you already know the
      size in avoid calling
     </parameter>
     <parameter type="bool " name="takeOwnership" value="true">
      If true, this class deletes wxDbTable when it stops referring to it, if
      false application must take care of deleting it.
     </parameter>
    </parameters>
    <description>
     <p>
      Constructor.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbGridTableBase" name="ValidateRow">
   <function type="void" name="ValidateRow">
    <parameters>
     <parameter type="int " name="row">
      Row where validation must be done.
     </parameter>
    </parameters>
    <description>
     <p>
      It ensures that the row data is fetched from the database, and it the
      wxDbTable local buffer, the row number passed should be the grid row.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbGridTableBase" name="UpdateRow">
   <function type="bool" name="UpdateRow">
    <parameters>
     <parameter type="int " name="row">
      Row you want to update.
     </parameter>
    </parameters>
    <description>
     <p>
      If row has changed it forces that row to be written back to the database,
      however support for detecting whether insert/update is required is
      currently not in wxDbTable, so this function is currently unsupported.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbGridTableBase" name="AssignDbTable">
   <function type="bool" name="AssignDbTable">
    <parameters>
     <parameter type="wxDbTable &#42;" name="tab">
      Database table you want to assign to the grid.
     </parameter>
     <parameter type="int " name="count" value="wxUSE_QUERY">
      Number of rows you want to show or wxUSE_QUERY for using a query.
     </parameter>
     <parameter type="bool " name="takeOwnership" value="true">
      If false, user must take care of deleting tab after deleting the
      wxDbGridTableBase. If true, deletion is made by destructor class.
     </parameter>
    </parameters>
    <description>
     <p>
      Resets the grid for using with a new database table, but using the same
      columns definition. This can be useful when re-querying the database and
      want to see the changes.
     </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"></p>
  <pre>
        wxChar  ColName[DB_MAX_COLUMN_NAME_LEN+1]
                                  // Name of column
        bool    Ascending         // Is index maintained in
                                     ASCENDING sequence?
</pre>
  <p></p>
  <p class="classdesc">
   There are no constructors/destructors as of this time, and no member
   functions.
  </p>
  <p class="classdesc">
   See the
   <ref type='unknown' 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"></p>
  <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>
  <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 type='unknown' 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 type='unknown' 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"/>
  <header name="wx/db.h"/>
 </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>
    
   <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 type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::Query'>wxDbTable::Query</ref>
      is called.
     </p>
     <p>
      NOTE: Only the columns specified in
      <ref type='method' target='method-wxDbTable::SetColDefs'>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 type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::SetColDefs'>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 type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::GetNext'>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 type='method' target='method-wxDbTable::QueryBySqlStmt'>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 type='method' target='method-wxDbTable::SetColDefs'>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 type='method' target='method-wxDbTable::ClearMemberVars'>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 type='method' target='method-wxDbTable::QueryMatching'>wxDbTable::QueryMatching</ref>
      or
      <ref type='method' target='method-wxDbTable::DeleteMatching'>wxDbTable::DeleteMatching</ref>
      since these functions build their WHERE clauses from non-zero columns. To
      call either
      <ref type='method' target='method-wxDbTable::QueryMatching'>wxDbTable::QueryMatching</ref>
      or
      <ref type='method' target='method-wxDbTable::DeleteMatching'>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 type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='class' 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 type='method' target='method-wxDbTable::DropIndex'>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 type='class' 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 type='class' 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 type='method' target='method-wxDb::CommitTrans'>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 type='method' target='method-wxDb::Open'>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 type='class' target='wxDbColDef'>wxDbColDef</ref>
      structure.
      <ref type='method' target='method-wxDbTable::CreateTable'>wxDbTable::CreateTable</ref>
      uses this information to create the table and to add the primary index.
      See
      <ref type='class' 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 type='method' target='method-wxDb::CommitTrans'>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 type='method' target='method-wxDbTable::GetFirst'>wxDbTable::GetFirst</ref>
      ,
      <ref type='method' target='method-wxDbTable::GetLast'>wxDbTable::GetLast</ref>
      ,
      <ref type='method' target='method-wxDbTable::GetNext'>wxDbTable::GetNext</ref>
      or
      <ref type='method' target='method-wxDbTable::GetPrev'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDbTable::QueryMatching'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDb::CommitTrans'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDb::CommitTrans'>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 type='method' target='method-wxDb::Dbms'>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 type='method' target='method-wxDb::CommitTrans'>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>
    <fseealso>
     <ref type='method' target='method-wxDbTable::GetFromClause'>wxDbTable::GetFromClause</ref>
     , 
     <ref type='method' target='method-wxDbTable::SetFromClause'>wxDbTable::SetFromClause</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::GetFromClause'>wxDbTable::GetFromClause</ref>
      (the first form of this function) or
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='class' target='wxDbColDef'>wxDbColDef</ref>
      pointer, use the
      <ref type='method' target='method-wxDbTable::GetNumberOfColumns'>wxDbTable::GetNumberOfColumns</ref>
      function.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbTable" name="GetCursor">
   <function type="HSTMT" name="GetCursor">
    <fseealso>
     <ref type='method' target='method-wxDbTable::SetCursor'>wxDbTable::SetCursor</ref>
     <ref type='method' target='method-wxDbTable::GetNewCursor'>wxDbTable::GetNewCursor</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDb::IsFwdOnlyCursors'>wxDb::IsFwdOnlyCursors</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::Query'>wxDbTable::Query</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryOnKeyFields'>wxDbTable::QueryOnKeyFields</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryMatching'>wxDbTable::QueryMatching</ref>
      or
      <ref type='method' target='method-wxDbTable::QueryBySqlStmt'>wxDbTable::QueryBySqlStmt</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbTable" name="GetFromClause">
   <function type="const wxString &amp;" name="GetFromClause">
    <parameters></parameters>
    <fseealso>
     <ref type='method' target='method-wxDbTable::From'>wxDbTable::From</ref>
    </fseealso>
    <description>
     <p>
      Accessor function that returns the current FROM setting assigned with the
      <ref type='method' target='method-wxDbTable::SetFromClause'>wxDbTable::SetFromClause</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbTable" name="GetLast">
   <function type="bool" name="GetLast">
    <fseealso>
     <ref type='method' target='method-wxDb::IsFwdOnlyCursors'>wxDb::IsFwdOnlyCursors</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::Query'>wxDbTable::Query</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryOnKeyFields'>wxDbTable::QueryOnKeyFields</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryMatching'>wxDbTable::QueryMatching</ref>
      or
      <ref type='method' target='method-wxDbTable::QueryBySqlStmt'>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 type='method' target='method-wxDbTable::DeleteCursor'>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">
    <fseealso>
     <ref type='unknown' target='wxdbtableplusplus'>wxDbTable::++</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::Query'>wxDbTable::Query</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryOnKeyFields'>wxDbTable::QueryOnKeyFields</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryMatching'>wxDbTable::QueryMatching</ref>
      or
      <ref type='method' target='method-wxDbTable::QueryBySqlStmt'>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>
    <fseealso>
     <ref type='method' target='method-wxDbTable::OrderBy'>wxDbTable::OrderBy</ref>
    </fseealso>
    <description>
     <p>
      Accessor function that returns the current ORDER BY setting assigned with
      the
      <ref type='method' target='method-wxDbTable::SetOrderByClause'>wxDbTable::SetOrderByClause</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbTable" name="GetPrev">
   <function type="bool" name="GetPrev">
    <fseealso>
     <ref type='method' target='method-wxDb::IsFwdOnlyCursors'>wxDb::IsFwdOnlyCursors</ref>
     , 
     <ref type='unknown' target='wxdbtableminusminus'>wxDbTable::--</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::Query'>wxDbTable::Query</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryOnKeyFields'>wxDbTable::QueryOnKeyFields</ref>
      ,
      <ref type='method' target='method-wxDbTable::QueryMatching'>wxDbTable::QueryMatching</ref>
      or
      <ref type='method' target='method-wxDbTable::QueryBySqlStmt'>wxDbTable::QueryBySqlStmt</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbTable" name="GetQueryTableName">
   <function type="const wxString &amp;" name="GetQueryTableName">
    <parameters></parameters>
    <fseealso>
     <ref type='unknown' target='wxdbtableconstr'>wxDbTable constructor</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDbTable::Where'>wxDbTable::Where</ref>
    </fseealso>
    <description>
     <p>
      Accessor function that returns the current WHERE setting assigned with the
      <ref type='method' target='method-wxDbTable::SetWhereClause'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDbTable::SetColDefs'>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>
    <fseealso>
     <ref type='method' target='method-wxDb::TableExists'>wxDb::TableExists</ref>
     , 
     <ref type='method' target='method-wxDb::TablePrivileges'>wxDb::TablePrivileges</ref>
      
     <ref type='method' target='method-wxDbTable::SetColDefs'>wxDbTable::SetColDefs</ref>
    </fseealso>
    <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 type='method' target='method-wxDb::TablePrivileges'>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 type='method' target='method-wxDbTable::SetColDefs'>wxDbTable::SetColDefs</ref>
      before calling Open().
     </p>
     <p>
      See the
      <ref type='unknown' 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>
    <fseealso>
     <ref type='method' target='method-wxDbTable::GetOrderByClause'>wxDbTable::GetOrderByClause</ref>
     , 
     <ref type='method' target='method-wxDbTable::SetFromClause'>wxDbTable::SetFromClause</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::GetOrderByClause'>wxDbTable::GetOrderByClause</ref>
      (the first form of this function) or
      <ref type='method' target='method-wxDbTable::SetOrderByClause'>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 type='method' target='method-wxDbTable::CanSelectForUpdate'>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 type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      to filter on records to be retrieved (e.g. All users with a first name of
      &quot;JOHN&quot;). Use
      <ref type='method' target='method-wxDbTable::SetOrderByClause'>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 type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::GetFirst'>wxDbTable::GetFirst</ref>
      (only if backward scrolling cursors are available) or
      <ref type='method' target='method-wxDbTable::GetNext'>wxDbTable::GetNext</ref>
      . Typically, no data from the result set is returned to the client driver
      until a request such as
      <ref type='method' target='method-wxDbTable::GetNext'>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 type='method' target='method-wxDbTable::SetColDefs'>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 type='class' 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 type='method' target='method-wxDbTable::Update'>wxDbTable::Update</ref>
      function after using this type of query. To update tables other than the
      base table, use the
      <ref type='method' target='method-wxDbTable::Update'>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 type='method' target='method-wxDbTable::GetFirst'>wxDbTable::GetFirst</ref>
      or
      <ref type='method' target='method-wxDbTable::GetNext'>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 type='method' target='method-wxDbTable::CanSelectForUpdate'>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 type='method' target='method-wxDbTable::QueryOnKeyFields'>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 type='method' target='method-wxDbTable::GetFirst'>wxDbTable::GetFirst</ref>
      or
      <ref type='method' target='method-wxDbTable::GetNext'>wxDbTable::GetNext</ref>
      .
     </p>
     <p>
      WHERE and FROM clauses specified using
      <ref type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDbTable::CanSelectForUpdate'>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 type='method' target='method-wxDbTable::GetFirst'>wxDbTable::GetFirst</ref>
      or
      <ref type='method' target='method-wxDbTable::GetNext'>wxDbTable::GetNext</ref>
      .
     </p>
     <p>
      WHERE and FROM clauses specified using
      <ref type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
      and
      <ref type='method' target='method-wxDbTable::SetFromClause'>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 type='method' target='method-wxDb::GetColumns'>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 type='method' target='method-wxDb::GetColumns'>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>
    <fseealso>
     <ref type='method' target='method-wxDbTable::GetNewCursor'>wxDbTable::GetNewCursor</ref>
     , 
     <ref type='method' target='method-wxDbTable::GetCursor'>wxDbTable::GetCursor</ref>
     , 
     <ref type='method' target='method-wxDbTable::SetCursor'>wxDbTable::SetCursor</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::GetCursor'>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 type='method' target='method-wxDbTable::From'>wxDbTable::From</ref>
      ,
      <ref type='method' target='method-wxDbTable::GetFromClause'>wxDbTable::GetFromClause</ref>
     </p>
    </example>
    <remarks>
     <p>
      Used by the
      <ref type='method' target='method-wxDbTable::Query'>wxDbTable::Query</ref>
      and
      <ref type='method' target='method-wxDbTable::Count'>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 type='method' target='method-wxDbTable::From'>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 type='method' target='method-wxDbTable::OrderBy'>wxDbTable::OrderBy</ref>
      ,
      <ref type='method' target='method-wxDbTable::GetOrderByClause'>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 type='method' target='method-wxDbTable::OrderBy'>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 type='method' target='method-wxDbTable::Where'>wxDbTable::Where</ref>
      ,
      <ref type='method' target='method-wxDbTable::GetWhereClause'>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 type='method' target='method-wxDbTable::Where'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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 type='method' target='method-wxDb::CommitTrans'>wxDb::CommitTrans</ref>
      or
      <ref type='method' target='method-wxDb::RollbackTrans'>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>
    <fseealso>
     <ref type='method' target='method-wxDbTable::GetWhereClause'>wxDbTable::GetWhereClause</ref>
     , 
     <ref type='method' target='method-wxDbTable::SetWhereClause'>wxDbTable::SetWhereClause</ref>
    </fseealso>
    <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 type='method' target='method-wxDbTable::GetWhereClause'>wxDbTable::GetWhereClause</ref>
      (the first form of this function) to return the current where clause or
      <ref type='method' target='method-wxDbTable::SetWhereClause'>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 ++">
    <fseealso>
     <ref type='method' target='method-wxDbTable::GetNext'>wxDbTable::GetNext</ref>
    </fseealso>
    <description>
     <p>
      Synonym for
      <ref type='method' target='method-wxDbTable::GetNext'>wxDbTable::GetNext</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDbTable" name="operator--">
   <function type="bool" name="operator --">
    <fseealso>
     <ref type='method' target='method-wxDbTable::GetPrev'>wxDbTable::GetPrev</ref>
    </fseealso>
    <description>
     <p>
      Synonym for
      <ref type='method' target='method-wxDbTable::GetPrev'>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"></p>
  <pre>
    tableName[0]    = 0;
    tableType[0]    = 0;
    tableRemarks[0] = 0;
    numCols         = 0;
    pColInf         = NULL;
</pre>
  <p></p>
  <p class="classdesc">
   Currently only used by
   <ref type='method' target='method-wxDb::GetCatalog'>wxDb::GetCatalog</ref>
   internally and
   <ref type='class' 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 type='class' target='wxDbColInf'>wxDbColInf</ref>
   array instance (using
   <ref type='method' target='method-wxDb::GetColumns'>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 type='unknown' 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">
    <fseealso>
     <ref type='method' target='method-wxDebugContext::SetCheckPrevious'>wxDebugContext::SetCheckPrevious</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDebugContext::SetDebugMode'>wxDebugContext::SetDebugMode</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxDebugContext::SetLevel'>wxDebugContext::SetLevel</ref>
    </fseealso>
    <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 type='class' target='wxLog'>wxLog</ref>
      functionality.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDebugContext" name="GetStream">
   <function type="ostream&amp;" name="GetStream">
    <fseealso>
     <ref type='method' target='method-wxDebugContext::SetStream'>wxDebugContext::SetStream</ref>
    </fseealso>
    <description>
     <p>
      Returns the output stream associated with the debug context.
     </p>
     <p>
      This is obsolete, replaced by
      <ref type='class' 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 type='class' target='wxLog'>wxLog</ref>
      functionality.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDebugContext" name="HasStream">
   <function type="bool" name="HasStream">
    <fseealso>
     <ref type='method' target='method-wxDebugContext::SetStream'>wxDebugContext::SetStream</ref>
     <ref type='method' target='method-wxDebugContext::GetStream'>wxDebugContext::GetStream</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDebugContext" name="PrintClasses">
   <function type="bool" name="PrintClasses">
    <fseealso>
     <ref type='method' target='method-wxDebugContext::PrintStatistics'>wxDebugContext::PrintStatistics</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDebugContext::PrintStatistics'>wxDebugContext::PrintStatistics</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDebugContext::GetCheckPrevious'>wxDebugContext::GetCheckPrevious</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDebugContext::GetDebugMode'>wxDebugContext::GetDebugMode</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDebugContext::GetLevel'>wxDebugContext::GetLevel</ref>
    </fseealso>
    <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 type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxDebugContext::GetStream'>wxDebugContext::GetStream</ref>
     <ref type='method' target='method-wxDebugContext::HasStream'>wxDebugContext::HasStream</ref>
    </fseealso>
    <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 type='method' target='method-wxApp::OnFatalException'>wxApp::OnFatalException()</ref>
   as shown in the
   <ref type='unknown' 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 type='class' target='wxDebugReportCompress'>wxDebugReportCompress</ref>
   to compress it in a single file) or uploaded to a Web server using
   <ref type='class' 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 class="structs">
   This enum is used for functions that report either the current state or the
   state during the last (fatal) exception:
  </p>
  <p class="structs"></p>
  <pre>
enum wxDebugReport::Context
{
    Context_Current,
    Context_Exception
};
</pre>
  <p></p>
 </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 type='method' target='method-wxDebugReport::IsOk'>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 type='method' target='method-wxDebugReport::Reset'>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 type='method' target='method-wxDebugReport::AddContext'>AddContext(Context_Current)</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDebugReport" name="AddCurrentDump">
   <function type="bool" name="AddCurrentDump">
    <description>
     <p>
      The same as
      <ref type='method' target='method-wxDebugReport::AddDump'>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 type='method' target='method-wxDebugReport::AddContext'>AddContext(Context_Exception)</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDebugReport" name="AddExceptionDump">
   <function type="bool" name="AddExceptionDump">
    <description>
     <p>
      The same as
      <ref type='method' target='method-wxDebugReport::AddDump'>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 type='class' target='wxDebugReportPreview'>wxDebugReportPreview</ref>
      .
     </p>
     <p>
      \wxheading{See also }
     </p>
     <p>
      <ref type='method' target='method-wxDebugReport::GetDirectory'>GetDirectory()</ref>
      ,
      <br/>

      <ref type='method' target='method-wxDebugReport::AddText'>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 type='method' target='method-wxDebugReport::AddFile'>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 type='method' target='method-wxDebugReport::AddContext'>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 type='method' target='method-wxDebugReport::AddFile'>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 type='method' target='method-wxDebugReport::GetDirectory'>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 type='method' target='method-wxApp::GetAppName'>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 type='class' 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 type='class' target='wxDebugReport'>wxDebugReport</ref>
   which compresses all the files in this debug report into a single .ZIP file
   in its
   <tt>Process()</tt>
   function.
  </p>
 </description>
  
 <category>
  Debugging features
 </category>
  
 <shortdesc>
  Class for creating compressed debug reports.
 </shortdesc>
  
 <parents>
  <ref type="class" 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 type='class' 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="class" 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 type='method' target='method-wxDebugReportPreview::Show'>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="class" 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>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 type='method' target='method-wxDebugReport::Process'>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 type='class' 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>
  <ref type="class" target="streambuf">streambuf</ref>
 </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 type='class' 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 type='class' 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="class" 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 type='method' target='method-wxRendererNative::GetGeneric'>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="\ldots"></parameter>
    </parameters>
    <description>
     <p>
      This class also provides all the virtual methods of
      <ref type='class' 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 type='class' target='wxDialUpManager'>wxDialUpManager</ref>
   .
  </p>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  Event send by 
  <ref type='class' target='wxDialUpManager'>wxDialUpManager</ref>
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='class' 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 type='method' target='method-wxDialUpManager::Create'>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 type='unknown' target='sampledialup'>dialup sample</ref>
  <br/>
   
  <ref type='class' 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 type='method' target='method-wxDialUpManager::Dial'>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 type='method' target='method-wxDialUpManager::SetConnectCommand'>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">
    <fseealso>
     <ref type='method' target='method-wxDialUpManager::Dial'>Dial</ref>
    </fseealso>
    <description>
     <p>
      Returns true if (async) dialing is in progress.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDialUpManager" name="CancelDialing">
   <function type="bool" name="CancelDialing">
    <fseealso>
     <ref type='method' target='method-wxDialUpManager::IsDialing'>IsDialing</ref>
    </fseealso>
    <description>
     <p>
      Cancel dialing the number initiated with
      <ref type='method' target='method-wxDialUpManager::Dial'>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 type='method' target='method-wxDialUpManager::SetWellKnownHost'>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>
    <fseealso>
     <ref type='method' target='method-wxDialUpManager::IsOnline'>IsOnline</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDialUpManager::Dial'>Dial</ref>
    </fseealso>
    <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 type='method' target='method-wxDialog::ShowModal'>ShowModal</ref>
   method while to show a dialog modelessly you simply use
   <ref type='method' target='method-wxDialog::Show'>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 type='class' target='wxCloseEvent'>wxCloseEvent</ref>
   handler for the dialog to respond to system close events.
  </p>
 </remarks>
  
 <parents>
  <ref type="class" target="wxTopLevelWindow">wxTopLevelWindow</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='unknown' target='wxdialogoverview'>wxDialog overview</ref>
  <ref type='class' target='wxFrame'>wxFrame</ref>
  , 
  <ref type='unknown' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxDialog::Create'>wxDialog::Create</ref>
    </fseealso>
    <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 type='unknown' 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 type='method' target='method-wxDialog::CreateStdDialogButtonSizer'>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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxDialog::ShowModal'>wxDialog::ShowModal</ref>
     , 
     <ref type='method' target='method-wxDialog::GetReturnCode'>wxDialog::GetReturnCode</ref>
     , 
     <ref type='method' target='method-wxDialog::SetReturnCode'>wxDialog::SetReturnCode</ref>
    </fseealso>
    <description>
     <p>
      Ends a modal dialog, passing a value to be returned from the
      <ref type='method' target='method-wxDialog::ShowModal'>wxDialog::ShowModal</ref>
      invocation.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDialog" name="GetAffirmativeId">
   <function type="int" name="GetAffirmativeId" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxDialog::SetAffirmativeId'>wxDialog::SetAffirmativeId</ref>
    </fseealso>
    <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="GetEscapeId">
   <function type="int" name="GetEscapeId" suffix="const">
    <fseealso>
     <ref type='unknown' target='wxdialogsetescapeid'>wxDialog::SetEscapeId</ref>
    </fseealso>
    <description>
     <p>
      Gets the identifier of the button to map presses of
      <tt>\textsc{ESC</tt>
      button to.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDialog" name="GetReturnCode">
   <function type="int" name="GetReturnCode">
    <fseealso>
     <ref type='method' target='method-wxDialog::SetReturnCode'>wxDialog::SetReturnCode</ref>
     <ref type='method' target='method-wxDialog::ShowModal'>wxDialog::ShowModal</ref>
     , 
     <ref type='method' target='method-wxDialog::EndModal'>wxDialog::EndModal</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDialog::OnOK'>wxDialog::OnOK</ref>
     <ref type='method' target='method-wxDialog::OnCancel'>wxDialog::OnCancel</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDialog" name="OnCancel">
   <function type="void" name="OnCancel">
    <parameters>
     <parameter type="wxCommandEvent&amp; " name="event"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDialog::OnOK'>wxDialog::OnOK</ref>
     <ref type='method' target='method-wxDialog::OnApply'>wxDialog::OnApply</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxDialog" name="OnOK">
   <function type="void" name="OnOK">
    <parameters>
     <parameter type="wxCommandEvent&amp; " name="event"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDialog::OnCancel'>wxDialog::OnCancel</ref>
     <ref type='method' target='method-wxDialog::OnApply'>wxDialog::OnApply</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxSysColourChangedEvent'>wxSysColourChangedEvent</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxDialog::GetAffirmativeId'>wxDialog::GetAffirmativeId</ref>
    </fseealso>
    <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="SetEscapeId">
   <function type="void" name="SetEscapeId">
    <parameters>
     <parameter type="int " name="id"></parameter>
    </parameters>
    <description>
     <p>
      Sets the identifier to be used when the user presses
      <tt>\textsc{ESC</tt>
      button in the dialog. By default, this is
      <tt>wxID_ANY</tt>
      meaning that the first suitable button is used: if there a
      <tt>wxID_CANCEL</tt>
      button, it is activated, otherwise
      <tt>wxID_OK</tt>
      button is activated if present. Another possible special value for
      <i>
       id
      </i>
      is
      <tt>wxID_NONE</tt>
      meaning that
      <tt>\textsc{ESC</tt>
      presses should be ignored. If another value is given, it is interpreted as
      the id of the button to map the escape key to.
     </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 type='class' 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 type='class' 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 type='method' target='method-wxDialog::ShowModal'>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>
    <fseealso>
     <ref type='method' target='method-wxDialog::GetReturnCode'>wxDialog::GetReturnCode</ref>
     <ref type='method' target='method-wxDialog::ShowModal'>wxDialog::ShowModal</ref>
     , 
     <ref type='method' target='method-wxDialog::EndModal'>wxDialog::EndModal</ref>
    </fseealso>
    <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 type='method' target='method-wxDialog::EndModal'>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">
    <fseealso>
     <ref type='method' target='method-wxDialog::EndModal'>wxDialog::EndModal</ref>
     , 
     <ref type='method' target='method-wxDialog::GetReturnCode'>wxDialog:GetReturnCode</ref>
     , 
     <ref type='method' target='method-wxDialog::SetReturnCode'>wxDialog::SetReturnCode</ref>
    </fseealso>
    <returnvalue>
     The return value is the value set with
     <ref type='method' target='method-wxDialog::SetReturnCode'>wxDialog::SetReturnCode</ref>
     .
    </returnvalue>
    <description>
     <p>
      Shows a modal dialog. Program flow does not return until the dialog has
      been dismissed with
      <ref type='method' target='method-wxDialog::EndModal'>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 type='method' target='method-wxDir::Traverse'>Traverse</ref>
   or a simpler
   <ref type='method' target='method-wxDir::GetAllFiles'>GetAllFiles</ref>
   function.
  </p>
  <p class="classdesc">
   Example of use:
  </p>
  <p class="classdesc"></p>
  <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></p>
 </description>
  
 <category>
  File related classes
 </category>
  
 <shortdesc>
  Class for enumerating files/subdirectories.
 </shortdesc>
  
 <parents></parents>
  
 <includes>
  <header name="wx/dir.h"/>
 </includes>
  
 <constants>
  <p class="consts">
   These flags define what kind of filename is included in the list of files
   enumerated by GetFirst/GetNext.
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
 </constants>
  
 <members>
  <member class="wxDir" name="wxDir">
   <function type="" name="wxDir">
    <description>
     <p>
      Default constructor, use
      <ref type='method' target='method-wxDir::Open'>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 type='method' target='method-wxDir::IsOpened'>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 type='method' target='method-wxDir::Traverse'>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 type='method' target='method-wxDir::GetFirst'>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 type='method' target='method-wxDir::Open'>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 type='class' 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 type='method' target='method-wxDirTraverser::OnDir'>sink.OnDir()</ref>
      is called and
      <ref type='method' target='method-wxDirTraverser::OnFile'>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 type='method' target='method-wxDir::GetAllFiles'>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="class" target="wxDialog">wxDialog</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dirdlg.h"/>
  <header name="wx/generic/dirdlgg.h"/>
 </includes>
  
 <windowstyles>
  <style name="wxDD_DEFAULT_STYLE">
   Equivalent to a combination of wxDEFAULT_DIALOG_STYLE, wxDD_NEW_DIR_BUTTON
   and wxRESIZE_BORDER (the last one is not used under wxWinCE).
  </style>
  <style name="wxDD_NEW_DIR_BUTTON">
   wxDD_NEW_DIR_BUTTON
  </style>
 </windowstyles>
  
 <seealso>
  <ref type='unknown' target='wxdirdialogoverview'>wxDirDialog overview</ref>
  <ref type='class' 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="wxDD_DEFAULT_STYLE">
      The dialog style. See
      <ref type='class' target='wxDirDialog'>wxDirDialog</ref>
     </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 type='method' target='method-wxDirDialog::ShowModal'>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 type='method' target='method-wxDir::Traverse'>Traverse</ref>
   function.
  </p>
  <p class="classdesc">
   Example of use (this works almost like
   <ref type='method' target='method-wxDir::GetAllFiles'>GetAllFiles</ref>
   ):
  </p>
  <p class="classdesc"></p>
  <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></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>
  <p class="consts">
   The elements of
   <tt>wxDirTraverseResult</tt>
   are the possible return values of the callback functions:
  </p>
  <p class="consts"></p>
  <pre>
enum wxDirTraverseResult
{
    wxDIR_IGNORE = -1,      // ignore this directory but continue with others
    wxDIR_STOP,             // stop traversing
    wxDIR_CONTINUE          // continue into this directory
};
</pre>
  <p></p>
 </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 type='unknown' target='wxclientdisplayrect'>wxClientDisplayRect</ref>
  <ref type='unknown' target='wxdisplaysize'>wxDisplaySize</ref>
  <ref type='unknown' 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 type='method' target='method-wxDisplay::GetCount'>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 type='class' 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 type='class' 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"></p>
  <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></p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <shortdesc>
  Class to work with shared libraries.
 </shortdesc>
  
 <parents></parents>
  
 <includes>
  <header name="wx/dynlib.h"/>
 </includes>
  
 <structs>
  <p class="structs">
   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 type='method' target='method-wxDllLoader::LoadLibrary'>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 type='method' target='method-wxDllLoader::UnloadLibrary'>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 type='method' target='method-wxDllLoader::LoadLibrary'>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 type='class' target='wxView'>wxView</ref>
   ,
   <ref type='class' target='wxDocument'>wxDocument</ref>
   ,
   <ref type='class' target='wxDocManager'>wxDocManager</ref>
   and
   <ref type='class' 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="class" target="wxFrame">wxFrame</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxView'>wxView</ref>
   ,
   <ref type='class' target='wxDocument'>wxDocument</ref>
   ,
   <ref type='class' target='wxDocManager'>wxDocManager</ref>
   and
   <ref type='class' 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="class" target="wxMDIChildFrame">wxMDIChildFrame</ref>
   
  <ref type="class" target="wxFrame">wxFrame</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxView'>wxView</ref>
   ,
   <ref type='class' target='wxDocument'>wxDocument</ref>
   ,
   <ref type='class' target='wxDocManager'>wxDocManager</ref>
   and
   <ref type='class' 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="class" target="wxMDIParentFrame">wxMDIParentFrame</ref>
   
  <ref type="class" target="wxFrame">wxFrame</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/docmdi.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='docviewoverview'>Document/view overview</ref>
  <ref type='class' 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 type='class' target='wxView'>wxView</ref>
   ,
   <ref type='class' target='wxDocument'>wxDocument</ref>
   and
   <ref type='class' 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="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/docview.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxdocmanageroverview'>wxDocManager overview</ref>
  <ref type='class' target='wxDocument'>wxDocument</ref>
  , 
  <ref type='class' target='wxView'>wxView</ref>
  <ref type='class' target='wxDocTemplate'>wxDocTemplate</ref>
  <ref type='class' 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 type='method' target='method-wxDocManager::Initialize'>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>
    <fseealso>
     <ref type='class' target='wxConfigBase'>wxConfig</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxConfigBase'>wxConfig</ref>
    </fseealso>
    <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 type='method' target='method-wxDocManager::Initialize'>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 type='class' target='wxView'>wxView</ref>
   ,
   <ref type='class' target='wxDocument'>wxDocument</ref>
   ,
   <ref type='class' target='wxDocManager'>wxDocManager</ref>
   and
   <ref type='class' 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="class" target="wxFrame">wxFrame</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/docview.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='docviewoverview'>Document/view overview</ref>
  <ref type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/docview.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxdoctemplateoverview'>wxDocTemplate overview</ref>
  <ref type='class' target='wxDocument'>wxDocument</ref>
  <ref type='class' 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 type='class' target='wxView'>wxView</ref>
   ,
   <ref type='class' target='wxDocTemplate'>wxDocTemplate</ref>
   and
   <ref type='class' target='wxDocManager'>wxDocManager</ref>
   classes.
  </p>
 </description>
  
 <category>
  Document/view framework
 </category>
  
 <shortdesc>
  Represents a document
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/docview.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxdocumentoverview'>wxDocument overview</ref>
  <ref type='class' target='wxView'>wxView</ref>
  , 
  <ref type='class' target='wxDocTemplate'>wxDocTemplate</ref>
  <ref type='class' 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 type='class' 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 type='unknown' 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 type='method' target='method-wxDocument::GetViews'>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 type='method' target='method-wxDocument::GetFirstView'>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 type='method' target='method-wxDocument::Modify'>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 type='method' target='method-wxDocument::IsModified'>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 type='class' 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 type='class' 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 type='unknown' 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 type='method' target='method-wxDragImage::DoDrawImage'>wxDragImage::DoDrawImage</ref>
   and
   <ref type='method' target='method-wxDragImage::GetImageRect'>wxDragImage::GetImageRect</ref>
   .
  </p>
  <p class="classdesc">
   Please see
   <tt>samples/dragimag</tt>
   for an example.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dragimag.h"/>
  <header name="wx/generic/dragimgg.h"/>
 </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 type='method' target='method-wxDragImage::DoDrawImage'>wxDragImage::DoDrawImage</ref>
      and
      <ref type='method' target='method-wxDragImage::GetImageRect'>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 type='method' target='method-wxDragImage::Show'>wxDragImage::Show</ref>
      and
      <ref type='method' target='method-wxDragImage::Move'>wxDragImage::Move</ref>
      to show the image on the screen.
     </p>
     <p>
      Call
      <ref type='method' target='method-wxDragImage::EndDrag'>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 type='method' target='method-wxDragImage::GetImageRect'>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 type='method' target='method-wxDragImage::DoDrawImage'>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 type='method' target='method-wxDragImage::Move'>wxDragImage::Move</ref>
      and
      <ref type='method' target='method-wxDragImage::Show'>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 type='method' target='method-wxDragImage::Show'>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 type='method' target='method-wxWindow::DragAcceptFiles'>wxWindow::DragAcceptFiles</ref>
   .
  </p>
  <p class="classdesc">
   Important note: this is a separate implementation to the more general drag
   and drop implementation documented
   <ref type='unknown' 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="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='unknown' 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 type='unknown' target='wxdndoverview'>Drag and drop overview</ref>
   and
   <ref type='unknown' 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>
  <p class="types">
   <ref target="wxDragResult"/>
   wxDragResult is defined as follows:
  </p>
  <p class="types"></p>
  <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>
  <p></p>
 </types>
  
 <seealso>
  <ref type='class' target='wxDropTarget'>wxDropTarget</ref>
   
  <ref type='class' target='wxTextDropTarget'>wxTextDropTarget</ref>
  <ref type='class' 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 type='method' target='method-wxDropSource::SetData'>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 type='unknown' 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 type='class' 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 type='class' 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 type='method' target='method-wxDropTarget::OnEnter'>OnEnter</ref>
   , possibly many times
   <ref type='method' target='method-wxDropTarget::OnDragOver'>OnDragOver</ref>
   ,
   <ref type='method' target='method-wxDropTarget::OnDrop'>OnDrop</ref>
   and finally
   <ref type='method' target='method-wxDropTarget::OnData'>OnData</ref>
   .
  </p>
  <p class="classdesc">
   See
   <ref type='unknown' target='wxdndoverview'>Drag and drop overview</ref>
   and
   <ref type='unknown' 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>
  <p class="types">
   <ref target="wxDragResult"/>
   wxDragResult is defined as follows:
  </p>
  <p class="types"></p>
  <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>
  <p></p>
 </types>
  
 <seealso>
  <ref type='class' target='wxDropSource'>wxDropSource</ref>
   
  <ref type='class' target='wxTextDropTarget'>wxTextDropTarget</ref>
  <ref type='class' target='wxFileDropTarget'>wxFileDropTarget</ref>
  , 
  <ref type='class' target='wxDataFormat'>wxDataFormat</ref>
  <ref type='class' 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 type='method' target='method-wxDropTarget::OnData'>OnData</ref>
      . By default, this method copies the data from the drop source to the
      <ref type='class' target='wxDataObject'>wxDataObject</ref>
      associated with this drop target, calling its
      <ref type='method' target='method-wxDataObject::SetData'>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 type='method' target='method-wxDropTarget::OnDrop'>OnDrop</ref>
      returns true. By default this will usually
      <ref type='method' target='method-wxDropTarget::GetData'>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 type='method' target='method-wxDropTarget::OnDragOver'>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 type='class' 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"/>
 </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 type='method' target='method-wxDynamicLibrary::Load'>Load</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxDynamicLibrary" name="CanonicalizeName">
   <function type="static wxString" name="CanonicalizeName">
    <parameters>
     <parameter type="const wxString&amp; " name="name"></parameter>
     <parameter type="wxDynamicLibraryCategory " name="cat" value="wxDL_LIBRARY"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxDynamicLibrary::CanonicalizePluginName'>CanonicalizePluginName</ref>
    </fseealso>
    <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="static 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 type='method' target='method-wxDynamicLibrary::CanonicalizeName'>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 type='method' target='method-wxDynamicLibrary::Unload'>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>
    <fseealso>
     <ref type='unknown' target='wxdynlibfunction'>wxDYNLIB_FUNCTION</ref>
    </fseealso>
    <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="GetSymbolAorW">
   <function type="void &#42;" name="GetSymbolAorW" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="name"></parameter>
    </parameters>
    <description>
     <p>
      This function is available only under Windows as it is only useful when
      dynamically loading symbols from standard Windows DLLs. Such functions
      have either
      <tt>'A'</tt>
      (in ANSI build) or
      <tt>'W'</tt>
      (in Unicode, or wide character build) suffix if they take string
      parameters. Using this function you can use just the base name of the
      function and the correct suffix is appende automatically depending on the
      current build. Otherwise, this method is identical to
      <ref type='method' target='method-wxDynamicLibrary::GetSymbol'>GetSymbol</ref>
      .
     </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 type='method' target='method-wxDynamicLibrary::GetSymbol'>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 type='class' 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 type='method' target='method-wxDynamicLibrary::Detach'>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 type='method' target='method-wxDynamicLibrary::ListLoaded'>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"/>
 </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:\backslashwindows\backslashsystem32\backslashkernel32.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 type='unknown' target='mbconvclasses'>wxMBConv classes</ref>
   instead if possible. 
  <ref type='class' 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 type='method' target='method-wxEncodingConverter::Init'>Init</ref>
  ).
 </note>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/encconv.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxFontMapper'>wxFontMapper</ref>
   
  <ref type='class' target='wxMBConv'>wxMBConv</ref>
   
  <ref type='unknown' 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 type='method' target='method-wxEncodingConverter::Convert'>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 type='method' target='method-wxEncodingConverter::Init'>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 type='method' target='method-wxEncodingConverter::Init'>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 type='method' target='method-wxEncodingConverter::Init'>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 type='method' target='method-wxEncodingConverter::Init'>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 type='method' target='method-wxEncodingConverter::Convert'>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 type='method' target='method-wxEncodingConverter::GetPlatformEquivalents'>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 type='method' target='method-wxEraseEvent::GetDC'>GetDC</ref>
   to draw on, don't create a wxPaintDC in the event handler.
  </p>
 </remarks>
  
 <parents>
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='unknown' 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 type='unknown' target='eventhandlingoverview'>Event handling overview</ref>
   .
  </p>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  The event base class
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/event.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxCommandEvent'>wxCommandEvent</ref>
  , 
  <ref type='class' 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 type='method' target='method-wxEvtHandler::AddPendingEvent'>wxEvtHandler::AddPendingEvent</ref>
      or
      <ref type='unknown' 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 type='class' 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 type='method' target='method-wxEvent::StopPropagation'>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 behavior) 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 type='method' target='method-wxEvent::ResumePropagation'>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="class" 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 type='method' target='method-wxEvtHandler::ProcessEvent'>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 type='method' target='method-wxEvent::Clone'>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 type='unknown' 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 type='method' target='method-wxEvtHandler::Connect'>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">
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::SetClientData'>wxEvtHandler::SetClientData</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::SetClientObject'>wxEvtHandler::SetClientObject</ref>
     , 
     <ref type='class' target='wxClientData'>wxClientData</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::SetEvtHandlerEnabled'>wxEvtHandler::SetEvtHandlerEnabled</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::SetNextHandler'>wxEvtHandler::SetNextHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::GetPreviousHandler'>wxEvtHandler::GetPreviousHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::SetPreviousHandler'>wxEvtHandler::SetPreviousHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PushEventHandler'>wxWindow::PushEventHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PopEventHandler'>wxWindow::PopEventHandler</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::SetPreviousHandler'>wxEvtHandler::SetPreviousHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::GetNextHandler'>wxEvtHandler::GetNextHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::SetNextHandler'>wxEvtHandler::SetNextHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PushEventHandler'>wxWindow::PushEventHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PopEventHandler'>wxWindow::PopEventHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::SearchEventTable'>wxEvtHandler::SearchEventTable</ref>
    </fseealso>
    <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 type='method' target='method-wxEvtHandler::SetEvtHandlerEnabled'>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 type='class' 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 type='method' target='method-wxEvent::Skip'>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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::ProcessEvent'>wxEvtHandler::ProcessEvent</ref>
    </fseealso>
    <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 type='method' target='method-wxEvent::Skip'>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 type='method' target='method-wxEvent::Skip'>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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::GetClientData'>wxEvtHandler::GetClientData</ref>
    </fseealso>
    <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 type='method' target='method-wxEvtHandler::SetClientObject'>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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::GetClientObject'>wxEvtHandler::GetClientObject</ref>
     , 
     <ref type='class' target='wxClientData'>wxClientData</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::GetEvtHandlerEnabled'>wxEvtHandler::GetEvtHandlerEnabled</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::GetNextHandler'>wxEvtHandler::GetNextHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::SetPreviousHandler'>wxEvtHandler::SetPreviousHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::GetPreviousHandler'>wxEvtHandler::GetPreviousHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PushEventHandler'>wxWindow::PushEventHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PopEventHandler'>wxWindow::PopEventHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxEvtHandler::GetPreviousHandler'>wxEvtHandler::GetPreviousHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::SetNextHandler'>wxEvtHandler::SetNextHandler</ref>
     , 
     <ref type='method' target='method-wxEvtHandler::GetNextHandler'>wxEvtHandler::GetNextHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PushEventHandler'>wxWindow::PushEventHandler</ref>
     , 
     <ref type='method' target='method-wxWindow::PopEventHandler'>wxWindow::PopEventHandler</ref>
    </fseealso>
    <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>
  <p class="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>
  </p>
 </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 type='method' target='method-wxFFile::IsOpened'>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 type='method' target='method-wxFFile::IsOpened'>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">
    <fseealso>
     <ref type='method' target='method-wxFFile::IsOpened'>IsOpened</ref>
    </fseealso>
    <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 type='class' target='wxFile'>wxFile</ref>
      is different as
      <ref type='method' target='method-wxFile::Eof'>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 type='class' target='wxFFile'>wxFFile</ref>
   whereas
   <ref type='class' target='wxFileInputStream'>wxFileInputStream</ref>
   is based in the
   <ref type='class' target='wxFile'>wxFile</ref>
   class.
  </p>
  <p class="classdesc">
   Note that
   <ref type='class' target='wxFile'>wxFile</ref>
   and
   <ref type='class' 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 type='method' target='method-wxFile::Eof'>wxFile::Eof</ref>
   and
   <ref type='method' target='method-wxFFile::Eof'>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 type='method' target='method-wxInputStream::SeekI'>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="class" target="wxInputStream">wxInputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/wfstream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBufferedInputStream'>wxBufferedInputStream</ref>
  <ref type='class' target='wxFFileOutputStream'>wxFFileOutputStream</ref>
  <ref type='class' 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 type='class' target='wxFFile'>wxFFile</ref>
   whereas
   <ref type='class' target='wxFFileInputStream'>wxFileInputStream</ref>
   is based in the
   <ref type='class' target='wxFile'>wxFile</ref>
   class.
  </p>
  <p class="classdesc">
   Note that
   <ref type='class' target='wxFile'>wxFile</ref>
   and
   <ref type='class' 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 type='method' target='method-wxFile::Eof'>wxFile::Eof</ref>
   and
   <ref type='method' target='method-wxFFile::Eof'>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 type='method' target='method-wxOutputStream::SeekO'>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="class" target="wxOutputStream">wxOutputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/wfstream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBufferedOutputStream'>wxBufferedOutputStream</ref>
  <ref type='class' target='wxFFileInputStream'>wxFFileInputStream</ref>
  <ref type='class' 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="class" target="wxFFileOutputStream">wxFFileOutputStream</ref>
  <ref type="class" target="wxFFileInputStream">wxFFileInputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/wfstream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/filesys.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxFileSystemHandler'>wxFileSystemHandler</ref>
   
  <ref type='class' target='wxFileSystem'>wxFileSystem</ref>
   
  <ref type='unknown' 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 type='method' target='method-wxFSFile::GetAnchor'>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 type='method' target='method-wxFTP::SendCommand'>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="class" target="wxProtocol">wxProtocol</ref>
 </parents>
  
 <includes>
  <header name="wx/protocol/ftp.h"/>
 </includes>
  
 <constants>
  <p class="consts">
   wxFTP defines constants corresponding to the two supported transfer modes:
  </p>
  <p class="consts"></p>
  <pre>
enum TransferMode
{
    ASCII,
    BINARY
};
</pre>
  <p></p>
 </constants>
  
 <seealso>
  <ref type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFTP::GetFilesList'>GetFilesList</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxOutputStream'>wxOutputStream</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxInputStream'>wxInputStream</ref>
    </fseealso>
    <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 type='class' 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>
  <p class="consts">
   wx/file.h defines the following constants:
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
  <p class="consts">
   These constants define the file access rights and are used with
   <ref type='method' target='method-wxFile::Create'>wxFile::Create</ref>
   and
   <ref type='method' target='method-wxFile::Open'>wxFile::Open</ref>
   .
  </p>
  <p class="consts">
   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 type='method' target='method-wxFile::Access'>wxFile::Access</ref>
   function.
  </p>
  <p class="consts">
   <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>
  </p>
  <p class="consts">
   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 type='method' target='method-wxFile::Seek'>Seek()</ref>
   :
  </p>
  <p class="consts">
   <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>
  </p>
 </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 type='method' target='method-wxFile::IsOpened'>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 type='method' target='method-wxFile::Attach'>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 type='method' target='method-wxFile::IsOpened'>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 type='class' target='wxFFile'>wxFFile</ref>
      is different as
      <ref type='method' target='method-wxFFile::Eof'>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 type='method' target='method-wxFile::Read'>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 type='method' target='method-wxFile::Write'>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 type='class' 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="class" 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>
    <fseealso>
     <ref type='method' target='method-wxFileConfig::Save'>Save</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxConfigBase::Flush'>Flush</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='unknown' target='wxchangeumask'>wxCHANGE_UMASK</ref>
    </fseealso>
    <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 type='class' 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="class" target="wxDataObjectSimple">wxDataObjectSimple</ref>
   
  <ref type="class" target="wxDataObject">wxDataObject</ref>
 </parents>
  
 <includes>
  <header name="wx/dataobj.h"/>
 </includes>
  
 <override>
  <p class="virtuals">
   None.
  </p>
 </override>
  
 <seealso>
  <ref type='class' target='wxDataObject'>wxDataObject</ref>
   
  <ref type='class' target='wxDataObjectSimple'>wxDataObjectSimple</ref>
   
  <ref type='class' target='wxTextDataObject'>wxTextDataObject</ref>
   
  <ref type='class' target='wxBitmapDataObject'>wxBitmapDataObject</ref>
   
  <ref type='class' target='wxDataObject'>wxDataObject</ref>
 </seealso>
  
 <members>
  <member class="wxFileDataObject" name="wxFileDataObject">
   <function type="" name="wxFileDataObject">
    <description>
     <p>
      Constructor.
     </p>
    </description>
   </function>
  </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 type='class' 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="class" target="wxDialog">wxDialog</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/filedlg.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxfiledialogoverview'>wxFileDialog overview</ref>
  <ref type='unknown' 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 type='method' target='method-wxFileDialog::ShowModal'>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 type='method' target='method-wxFileDialog::GetFilename'>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 type='method' target='method-wxFileDialog::GetPath'>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 type='unknown' 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 type='class' 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="class" target="wxDropTarget">wxDropTarget</ref>
 </parents>
  
 <includes>
  <header name="wx/dnd.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxdndoverview'>Drag and drop overview</ref>
  <ref type='class' target='wxDropSource'>wxDropSource</ref>
   
  <ref type='class' target='wxDropTarget'>wxDropTarget</ref>
  <ref type='class' 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 type='method' target='method-wxDropTarget::OnDrop'>wxDropTarget::OnDrop</ref>
      . This function is implemented appropriately for files, and calls
      <ref type='method' target='method-wxFileDropTarget::OnDropFiles'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/docview.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxfilehistoryoverview'>wxFileHistory overview</ref>
  <ref type='class' 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>
      <ref target="wxfilehistoryaddfilestomenu"/>
     </p>
     <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>
    <fseealso>
     <ref type='class' target='wxConfigBase'>wxConfig</ref>
    </fseealso>
    <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="RemoveFileFromHistory">
   <function type="void" name="RemoveFileFromHistory">
    <parameters>
     <parameter type="size_t " name="i"></parameter>
    </parameters>
    <description>
     <p>
      Removes the specified file from the history.
     </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>
    <fseealso>
     <ref type='class' target='wxConfigBase'>wxConfig</ref>
    </fseealso>
    <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 menus that are managed by this file
      history object. Also see
      <ref type='method' target='method-wxFileHistory::AddFilesToMenu'>AddFilesToMenu()</ref>
      for initializing the menu with filenames that are already in the history
      when this function is called, as this is not done automatically.
     </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 type='class' target='wxFile'>wxFile</ref>
   whereas
   <ref type='class' target='wxFFileInputStream'>wxFFileInputStream</ref>
   is based in the
   <ref type='class' target='wxFFile'>wxFFile</ref>
   class.
  </p>
  <p class="classdesc">
   Note that
   <ref type='class' target='wxFile'>wxFile</ref>
   and
   <ref type='class' 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 type='method' target='method-wxFile::Eof'>wxFile::Eof</ref>
   and
   <ref type='method' target='method-wxFFile::Eof'>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 type='method' target='method-wxInputStream::SeekI'>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="class" target="wxInputStream">wxInputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/wfstream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBufferedInputStream'>wxBufferedInputStream</ref>
  <ref type='class' target='wxFileOutputStream'>wxFileOutputStream</ref>
  <ref type='class' 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 type='unknown' 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 type='class' 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 class="structs">
   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 class="structs">
   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>
  <p class="structs"></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>
  <p></p>
 </structs>
  
 <members>
  <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>
    <fseealso>
     <ref type='method' target='method-wxFileName::GetCwd'>GetCwd</ref>
    </fseealso>
    <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 type='method' target='method-wxFileName::CreateTempFileName'>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 type='method' target='method-wxFileName::IsOk'>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">
    <fseealso>
     <ref type='method' target='method-wxFileName::SetExt'>SetExt</ref>
      
     <ref type='method' target='method-wxFileName::SetEmptyExt'>SetEmptyExt</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFileName::DirExists'>DirExists</ref>
    </fseealso>
    <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 type='method' target='method-wxFileName::DirName'>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>
    <fseealso>
     <ref type='method' target='method-wxFileName::AssignCwd'>AssignCwd</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFileName::GetPathSeparators'>GetPathSeparators</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFileName::GetPathSeparator'>GetPathSeparator</ref>
    </fseealso>
    <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 type='method' target='method-wxFileName::GetPathSeparators'>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 type='method' target='method-wxFileName::AppendDir'>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 type='method' target='method-wxFileName::Clear'>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 type='method' target='method-wxFileName::DirExists'>DirExists</ref>
      or
      <ref type='method' target='method-wxFileName::FileExists'>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>
    <fseealso>
     <ref type='method' target='method-wxFileName::MakeRelativeTo'>MakeRelativeTo</ref>
     , 
     <ref type='method' target='method-wxFileName::Normalize'>Normalize</ref>
     , 
     <ref type='method' target='method-wxFileName::IsAbsolute'>IsAbsolute</ref>
    </fseealso>
    <description>
     <p>
      Make the file name absolute. This is a shortcut for
      <tt><ref type='method' target='method-wxFileName::Normalize'>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>
    <fseealso>
     <ref type='method' target='method-wxFileName::Normalize'>Normalize</ref>
    </fseealso>
    <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 type='method' target='method-wxFileName::AppendDir'>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>
    <fseealso>
     <ref type='method' target='method-wxFileName::GetDirCount'>GetDirCount</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFileName::SetEmptyExt'>SetEmptyExt</ref>
      
     <ref type='method' target='method-wxFileName::ClearExt'>ClearExt</ref>
    </fseealso>
    <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 type='method' target='method-wxFileName::SetEmptyExt'>SetEmptyExt</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxFileName" name="SetEmptyExt">
   <function type="void" name="SetEmptyExt">
    <fseealso>
     <ref type='method' target='method-wxFileName::SetExt'>SetExt</ref>
      
     <ref type='method' target='method-wxFileName::ClearExt'>ClearExt</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFileName::SplitPath'>SplitPath</ref>
    </fseealso>
    <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 type='class' target='wxFile'>wxFile</ref>
   whereas
   <ref type='class' target='wxFFileInputStream'>wxFFileInputStream</ref>
   is based in the
   <ref type='class' target='wxFFile'>wxFFile</ref>
   class.
  </p>
  <p class="classdesc">
   Note that
   <ref type='class' target='wxFile'>wxFile</ref>
   and
   <ref type='class' 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 type='method' target='method-wxFile::Eof'>wxFile::Eof</ref>
   and
   <ref type='method' target='method-wxFFile::Eof'>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 type='method' target='method-wxOutputStream::SeekO'>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="class" target="wxOutputStream">wxOutputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/wfstream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBufferedOutputStream'>wxBufferedOutputStream</ref>
  <ref type='class' target='wxFileInputStream'>wxFileInputStream</ref>
  <ref type='class' 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="class" target="wxFileOutputStream">wxFileOutputStream</ref>
  <ref type="class" target="wxFileInputStream">wxFileInputStream</ref>
 </parents>
  
 <includes>
  <header name="wx/wfstream.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/filesys.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxFileSystemHandler'>wxFileSystemHandler</ref>
   
  <ref type='class' target='wxFSFile'>wxFSFile</ref>
   
  <ref type='unknown' 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 type='class' 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 type='method' target='method-wxFileSystem::OpenFile'>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 type='method' target='method-wxFileSystem::ChangePathTo'>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>
    <fseealso>
     <ref type='method' target='method-wxFileSystem::URLToFileName'>wxFileSystem::URLToFileName</ref>
     , 
     <ref type='class' target='wxFileName'>wxFileName</ref>
    </fseealso>
    <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 type='unknown' 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 type='method' target='method-wxFileSystem::FindFirst'>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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFileSystem::FileNameToURL'>wxFileSystem::FileNameToURL</ref>
      
     <ref type='class' target='wxFileName'>wxFileName</ref>
    </fseealso>
    <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 type='method' target='method-wxFileSystemHandler::CanOpen'>CanOpen</ref>
   and
   <ref type='method' target='method-wxFileSystemHandler::OpenFile'>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 type='unknown' target='fs'>overview</ref>
   if you don't know how locations are constructed.
  </p>
  <p class="classdesc">
   Also consult
   <ref type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/filesys.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxFileSystem'>wxFileSystem</ref>
   
  <ref type='class' target='wxFSFile'>wxFSFile</ref>
   
  <ref type='unknown' 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 type='method' target='method-wxFSFile::GetAnchor'>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 type='unknown' 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 type='method' target='method-wxFileSystemHandler::CanOpen'>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 type='method' target='method-wxFileSystem::FindFirst'>FindFirst</ref>
      .
     </p>
     <p>
      This method is only called if
      <ref type='method' target='method-wxFileSystemHandler::CanOpen'>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 type='method' target='method-wxMimeTypesManager::GetFileTypeFromMimeType'>wxMimeTypesManager::GetFileTypeFromMimeType</ref>
   and
   <ref type='method' target='method-wxMimeTypesManager::GetFileTypeFromExtension'>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>
  <p class="classdesc">
   \descsection{MessageParameters class}
   <ref target="wxfiletypemessageparameters"/>
  </p>
  <p class="classdesc">
   One of the most common usages of MIME is to encode an e-mail message. The
   MIME type of the encoded message is an example of a
   <i>
    message parameter
   </i>
   . These parameters are found in the message headers
   (&quot;Content-XXX&quot;). At the very least, they must specify the MIME type
   and the version of MIME used, but almost always they provide additional
   information about the message such as the original file name or the charset
   (for the text documents).
  </p>
  <p class="classdesc">
   These parameters may be useful to the program used to open, edit, view or
   print the message, so, for example, an e-mail client program will have to
   pass them to this program. Because wxFileType itself can not know about these
   parameters, it uses MessageParameters class to query them. The default
   implementation only requires the caller to provide the file name (always used
   by the program to be called - it must know which file to open) and the MIME
   type and supposes that there are no other parameters. If you wish to supply
   additional parameters, you must derive your own class from MessageParameters
   and override GetParamValue() function, for example:
  </p>
  <p class="classdesc"></p>
  <pre>
// provide the message parameters for the MIME type manager
class MailMessageParameters : public wxFileType::MessageParameters
{
public:
   MailMessageParameters(const wxString&amp; filename,
                         const wxString&amp; mimetype)
      : wxFileType::MessageParameters(filename, mimetype)
   {
   }

   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::MessageParameters::GetParamValue(name);
   }
};
</pre>
  <p></p>
  <p class="classdesc">
   Now you only need to create an object of this class and pass it to, for
   example,
   <ref type='method' target='method-wxFileType::GetOpenCommand'>GetOpenCommand</ref>
   like this:
  </p>
  <p class="classdesc"></p>
  <pre>
wxString command;
if ( filetype-&gt;GetOpenCommand(&amp;command,
                              MailMessageParameters(&quot;foo.txt&quot;, &quot;text/plain&quot;)) )
{
    // the full command for opening the text documents is in 'command'
    // (it might be &quot;notepad foo.txt&quot; under Windows or &quot;cat foo.txt&quot; under Unix)
}
else
{
    // we don't know how to handle such files...
}
</pre>
  <p></p>
  <p class="classdesc">
   <b>
    Windows:
   </b>
   As only the file name is used by the program associated with the given
   extension anyhow (but no other message parameters), there is no need to ever
   derive from MessageParameters class for a Windows-only program.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents></parents>
  
 <includes>
  <header name="wx/mimetype.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxMimeTypesManager'>wxMimeTypesManager</ref>
 </seealso>
  
 <members>
  <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 type='class' 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 type='method' target='method-wxFileType::GetMimeType'>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 type='method' target='method-wxMimeTypesManager::GetFileTypeFromExtension'>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 type='class' 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 type='unknown' 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 type='unknown' 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 type='unknown' target='wxexecute'>wxExecute</ref>
      ) in order to print the file of the given type. The name of the file is
      retrieved from
      <ref type='unknown' 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="class" target="wxInputStream">wxInputStream</ref>
   
  <ref type="class" 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="class" target="wxOutputStream">wxOutputStream</ref>
   
  <ref type="class" 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 
  <ref type='class' target='wxFindReplaceDialog'>wxFindReplaceDialog</ref>
 </shortdesc>
  
 <parents>
  <ref type="class" 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 type='class' 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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/fdrepdlg.h"/>
 </includes>
  
 <structs>
  <p class="structs">
   Flags used by
   <ref type='method' target='method-wxFindReplaceData::GetFlags'>wxFindReplaceData::GetFlags()</ref>
   and
   <ref type='method' target='method-wxFindDialogEvent::GetFlags'>wxFindDialogEvent::GetFlags()</ref>
   :
  </p>
  <p class="structs"></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></p>
  <p class="structs">
   These flags can be specified in
   <ref type='unknown' target='wxfindreplacedialogctor'>wxFindReplaceDialog ctor</ref>
   or
   <ref type='method' target='method-wxFindReplaceDialog::Create'>Create()</ref>
   :
  </p>
  <p class="structs"></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>
  <p></p>
 </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="class" 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 type='method' target='method-wxFindReplaceDialog::Create'>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 type='method' target='method-wxWindow::Show'>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 type='class' 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 type='class' 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 type='method' target='method-wxFlexGridSizer::SetFlexibleDirection'>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 type='method' target='method-wxFlexGridSizer::SetNonFlexibleGrowMode'>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="class" target="wxGridSizer">wxGridSizer</ref>
   
  <ref type="class" target="wxSizer">wxSizer</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/sizer.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxSizer'>wxSizer</ref>
  <ref type='unknown' 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 type='unknown' 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 type='method' target='method-wxFlexGridSizer::AddGrowableCol'>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">
    <fseealso>
     <ref type='method' target='method-wxFlexGridSizer::SetFlexibleDirection'>SetFlexibleDrection</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxFlexGridSizer::SetFlexibleDirection'>SetFlexibleDrection</ref>
      
     <ref type='method' target='method-wxFlexGridSizer::SetNonFlexibleGrowMode'>SetNonFlexibleGrowMode</ref>
    </fseealso>
    <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 type='unknown' 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 type='method' target='method-wxFlexGridSizer::SetFlexibleDirection'>SetFlexibleDirections()</ref>
      must have been called previously). Argument
      <i>
       mode
      </i>
      can be one of those documented in
      <ref type='method' target='method-wxFlexGridSizer::GetNonFlexibleGrowMode'>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 type='method' target='method-wxWindow::SetFocus'>SetFocus</ref>
   .
  </p>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  A window focus event
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='unknown' 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 type='class' target='wxSystemSettings'>wxSystemSettings</ref>
   .
  </p>
  <p class="classdesc">
   <ref type='class' target='wxSystemSettings'>wxSystemSettings</ref>
  </p>
 </description>
  
 <category>
  Graphics device interface
 </category>
  
 <shortdesc>
  Represents fonts
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxGDIObject">wxGDIObject</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/font.h"/>
 </includes>
  
 <constants>
  <p class="consts">
   The possible values for the
   <i>
    family
   </i>
   parameter of
   <ref type='unknown' target='wxfontctor'>wxFont constructor</ref>
   are (the old names are for compatibility only):
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
  <p class="consts">
   The possible values for the
   <i>
    weight
   </i>
   parameter are (the old names are for compatibility only):
  </p>
  <p class="consts"></p>
  <pre>
enum wxFontWeight
{
    wxFONTWEIGHT_NORMAL = wxNORMAL,
    wxFONTWEIGHT_LIGHT = wxLIGHT,
    wxFONTWEIGHT_BOLD = wxBOLD,
    wxFONTWEIGHT_MAX
};
</pre>
  <p></p>
  <p class="consts">
   The font flags which can be used during the font creation are:
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
  <p class="consts">
   The known font encodings are:
  </p>
  <p class="consts"></p>
  <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>
  <p></p>
 </constants>
  
 <predefs>
  <p class="predefs">
   Objects:
  </p>
  <p class="predefs">
   <b>
    wxNullFont
   </b>
  </p>
  <p class="predefs">
   Pointers:
  </p>
  <p class="predefs">
   <b>
    wxNORMAL_FONT
    <br/>
     wxSMALL_FONT
    <br/>
     wxITALIC_FONT
    <br/>
     wxSWISS_FONT
   </b>
  </p>
 </predefs>
  
 <seealso>
  <ref type='unknown' target='wxfontoverview'>wxFont overview</ref>
  <ref type='method' target='method-wxDC::SetFont'>wxDC::SetFont</ref>
  , 
  <ref type='method' target='method-wxDC::DrawText'>wxDC::DrawText</ref>
  <ref type='method' target='method-wxDC::GetTextExtent'>wxDC::GetTextExtent</ref>
  , 
  <ref type='class' target='wxFontDialog'>wxFontDialog</ref>
  <ref type='class' 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="const wxSize&amp; " 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 type='method' target='method-wxFont::New'>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 type='method' target='method-wxDC::SetFont'>wxDC::SetFont</ref>
      ,
      <ref type='method' target='method-wxDC::DrawText'>wxDC::DrawText</ref>
      and
      <ref type='method' target='method-wxDC::GetTextExtent'>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">
    <fseealso>
     <ref type='unknown' target='wxfontencodingoverview'>Font encoding overview</ref>
     , 
     <ref type='method' target='method-wxFont::SetDefaultEncoding'>SetDefaultEncoding</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxFont::SetFaceName'>wxFont::SetFaceName</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxFont::SetFamily'>wxFont::SetFamily</ref>
    </fseealso>
    <description>
     <p>
      Gets the font family. See
      <ref type='method' target='method-wxFont::SetFamily'>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">
    <fseealso>
     <ref type='method' target='method-wxFont::SetNativeFontInfo'>wxFont::SetNativeFontInfo</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxFont::SetPointSize'>wxFont::SetPointSize</ref>
    </fseealso>
    <description>
     <p>
      Gets the point size.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxFont" name="GetStyle">
   <function type="int" name="GetStyle" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxFont::SetStyle'>wxFont::SetStyle</ref>
    </fseealso>
    <description>
     <p>
      Gets the font style. See
      <ref type='unknown' 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">
    <fseealso>
     <ref type='method' target='method-wxFont::SetUnderlined'>wxFont::SetUnderlined</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxFont::SetWeight'>wxFont::SetWeight</ref>
    </fseealso>
    <description>
     <p>
      Gets the font weight. See
      <ref type='unknown' 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 type='unknown' 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>
    <fseealso>
     <ref type='unknown' target='wxfontencodingoverview'>Font encoding overview</ref>
     , 
     <ref type='method' target='method-wxFont::GetDefaultEncoding'>GetDefaultEncoding</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFont::GetFaceName'>wxFont::GetFaceName</ref>
     <ref type='method' target='method-wxFont::SetFamily'>wxFont::SetFamily</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxFont" name="SetFamily">
   <function type="void" name="SetFamily">
    <parameters>
     <parameter type="wxFontFamily " name="family"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxFont::GetFamily'>wxFont::GetFamily</ref>
     <ref type='method' target='method-wxFont::SetFaceName'>wxFont::SetFaceName</ref>
    </fseealso>
    <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 type='method' target='method-wxFont::GetNativeFontInfoDesc'>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>
    <fseealso>
     <ref type='method' target='method-wxFont::GetPointSize'>wxFont::GetPointSize</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFont::GetStyle'>wxFont::GetStyle</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFont::GetUnderlined'>wxFont::GetUnderlined</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFont::GetWeight'>wxFont::GetWeight</ref>
    </fseealso>
    <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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/cmndata.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxfontdialogoverview'>Overview</ref>
  <ref type='class' target='wxFont'>wxFont</ref>
  <ref type='class' 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="class" target="wxDialog">wxDialog</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/fontdlg.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='wxfontdialogoverview'>Overview</ref>
  ,
  <br/>
   
  <ref type='class' target='wxFontData'>wxFontData</ref>
  ,
  <br/>
   
  <ref type='unknown' 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 type='class' target='wxFontData'>font data</ref>
      object to be used to initialize the dialog controls. If the default
      constructor is used,
      <ref type='method' target='method-wxFontDialog::Create'>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 type='class' 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 type='unknown' target='wxfontencodingoverview'>encoding</ref>
   .
  </p>
  <p class="classdesc">
   To do this, you just have to call one of EnumerateXXX() functions - either
   <ref type='method' target='method-wxFontEnumerator::EnumerateFacenames'>EnumerateFacenames</ref>
   or
   <ref type='method' target='method-wxFontEnumerator::EnumerateEncodings'>EnumerateEncodings</ref>
   and the corresponding callback (
   <ref type='method' target='method-wxFontEnumerator::OnFacename'>OnFacename</ref>
   or
   <ref type='method' target='method-wxFontEnumerator::OnFontEncoding'>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>
  <p class="virtuals">
   Either
   <ref type='method' target='method-wxFontEnumerator::OnFacename'>OnFacename</ref>
   or
   <ref type='method' target='method-wxFontEnumerator::OnFontEncoding'>OnFontEncoding</ref>
   should be overridden depending on whether you plan to call
   <ref type='method' target='method-wxFontEnumerator::EnumerateFacenames'>EnumerateFacenames</ref>
   or
   <ref type='method' target='method-wxFontEnumerator::EnumerateEncodings'>EnumerateEncodings</ref>
   . Of course, if you call both of them, you should override both functions.
  </p>
 </override>
  
 <seealso>
  <ref type='unknown' target='wxfontencodingoverview'>Font encoding overview</ref>
   
  <ref type='unknown' target='samplefont'>Font sample</ref>
   
  <ref type='class' target='wxFont'>wxFont</ref>
   
  <ref type='class' 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 type='method' target='method-wxFontEnumerator::OnFacename'>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 type='method' target='method-wxFontEnumerator::OnFontEncoding'>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 type='method' target='method-wxFontEnumerator::EnumerateEncodings'>EnumerateEncodings</ref>
      . This is convenience function. It is based on default implementation of
      <ref type='method' target='method-wxFontEnumerator::OnFontEncoding'>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 type='method' target='method-wxFontEnumerator::EnumerateFacenames'>EnumerateFacenames</ref>
      . This is convenience function. It is based on default implementation of
      <ref type='method' target='method-wxFontEnumerator::OnFacename'>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 type='method' target='method-wxFontEnumerator::EnumerateFacenames'>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 type='method' target='method-wxFontEnumerator::EnumerateEncodings'>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="class" target="wxList">wxList</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/gdicmn.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='unknown' 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 type='class' 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 type='method' target='method-wxFontMapper::IsEncodingAvailable'>IsEncodingAvailable</ref>
   ), you may use these two classes to find font in some similar encoding (see
   <ref type='method' target='method-wxFontMapper::GetAltForEncoding'>GetAltForEncoding</ref>
   ) and convert the text to this encoding (
   <ref type='unknown' target='mbconvclasses'>wxMBConv classes</ref>
   ).
  </p>
  <p class="classdesc">
   Following code snippet demonstrates it:
  </p>
  <p class="classdesc"></p>
  <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></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 type='class' target='wxEncodingConverter'>wxEncodingConverter</ref>
   
  <ref type='unknown' 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 type='method' target='method-wxFontMapper::Get'>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">
    <fseealso>
     <ref type='method' target='method-wxFontMapper::Set'>wxFontMapper::Set</ref>
    </fseealso>
    <description>
     <p>
      Get the current font mapper object. If there is no current object, creates
      one.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxFontMapper" name="GetAllEncodingNames">
   <function type="static const wxChar&#42;&#42;" name="GetAllEncodingNames">
    <parameters>
     <parameter type="wxFontEncoding " name="encoding"></parameter>
    </parameters>
    <description>
     <p>
      Returns the array of all possible names for the given encoding. The array
      is \NULL-terminated. IF it isn't empty, the first name in it is the
      canonical encoding name, i.e. the same string as returned by
      <ref type='method' target='method-wxFontMapper::GetEncodingName'>GetEncodingName()</ref>
      .
     </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 type='method' target='method-wxFontMapper::GetSupportedEncodingsCount'>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 type='method' target='method-wxFontMapper::GetEncodingName'>GetEncodingName</ref>
      and is intentionally less general than
      <ref type='method' target='method-wxFontMapper::CharsetToEncoding'>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 type='method' target='method-wxFontMapper::GetEncodingName'>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>
    <fseealso>
     <ref type='method' target='method-wxFontMapper::GetEncodingFromName'>GetEncodingFromName</ref>
    </fseealso>
    <description>
     <p>
      Return internal string identifier for the encoding (see also
      <ref type='method' target='method-wxFontMapper::GetEncodingDescription'>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 type='method' target='method-wxFontMapper::GetEncoding'>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>
    <fseealso>
     <ref type='method' target='method-wxFontMapper::Get'>wxFontMapper::Get</ref>
    </fseealso>
    <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 type='class' 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 type='unknown' target='sizeroverview'>sizers</ref>
     </td>
    </tr>
    <tr>
     <td>
      <ref type='class' target='wxMenuEvent'>wxEVT_MENU_HIGHLIGHT</ref>
     </td>
     <td>
      The default implementation displays the 
      <ref type='method' target='method-wxMenuItem::GetHelp'>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 type='class' 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="class" target="wxTopLevelWindow">wxTopLevelWindow</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxMDIParentFrame'>wxMDIParentFrame</ref>
  <ref type='class' target='wxMDIChildFrame'>wxMDIChildFrame</ref>
  , 
  <ref type='class' target='wxMiniFrame'>wxMiniFrame</ref>
  <ref type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFrame::Create'>wxFrame::Create</ref>
    </fseealso>
    <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 type='unknown' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFrame::SetStatusText'>wxFrame::SetStatusText</ref>
     , 
     <ref type='method' target='method-wxFrame::OnCreateStatusBar'>wxFrame::OnCreateStatusBar</ref>
     , 
     <ref type='method' target='method-wxFrame::GetStatusBar'>wxFrame::GetStatusBar</ref>
    </fseealso>
    <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 type='method' target='method-wxFrame::OnCreateStatusBar'>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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateStatusBar'>wxFrame::CreateStatusBar</ref>
     , 
     <ref type='method' target='method-wxFrame::OnCreateToolBar'>wxFrame::OnCreateToolBar</ref>
     , 
     <ref type='method' target='method-wxFrame::SetToolBar'>wxFrame::SetToolBar</ref>
     , 
     <ref type='method' target='method-wxFrame::GetToolBar'>wxFrame::GetToolBar</ref>
    </fseealso>
    <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 type='method' target='method-wxFrame::OnCreateToolBar'>wxFrame::OnCreateToolBar</ref>
      .
     </p>
     <p>
      When a toolbar has been created with this function, or made known to the
      frame with
      <ref type='method' target='method-wxFrame::SetToolBar'>wxFrame::SetToolBar</ref>
      , the frame will manage the toolbar position and adjust the return value
      from
      <ref type='method' target='method-wxWindow::GetClientSize'>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">
    <fseealso>
     <ref type='method' target='method-wxFrame::SetMenuBar'>wxFrame::SetMenuBar</ref>
     <ref type='class' target='wxMenuBar'>wxMenuBar</ref>
     <ref type='class' target='wxMenu'>wxMenu</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxFrame" name="GetStatusBar">
   <function type="wxStatusBar&#42;" name="GetStatusBar" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateStatusBar'>wxFrame::CreateStatusBar</ref>
     <ref type='class' target='wxStatusBar'>wxStatusBar</ref>
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxFrame" name="GetStatusBarPane">
   <function type="int" name="GetStatusBarPane">
    <fseealso>
     <ref type='method' target='method-wxFrame::SetStatusBarPane'>wxFrame::SetStatusBarPane</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateToolBar'>wxFrame::CreateToolBar</ref>
     <ref type='class' target='wxToolBar'>wxToolBar</ref>
     , 
     <ref type='method' target='method-wxFrame::SetToolBar'>wxFrame::SetToolBar</ref>
    </fseealso>
    <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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateStatusBar'>wxFrame::CreateStatusBar</ref>
     <ref type='class' target='wxStatusBar'>wxStatusBar</ref>
     .
    </fseealso>
    <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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateToolBar'>wxFrame::CreateToolBar</ref>
     <ref type='class' target='wxToolBar'>wxToolBar</ref>
     .
    </fseealso>
    <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 type='class' 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 type='method' target='method-wxWindow::Layout'>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>
    <fseealso>
     <ref type='method' target='method-wxFrame::GetMenuBar'>wxFrame::GetMenuBar</ref>
     <ref type='class' target='wxMenuBar'>wxMenuBar</ref>
     <ref type='class' target='wxMenu'>wxMenu</ref>
     .
    </fseealso>
    <description></description>
   </function>
  </member>
   
  <member class="wxFrame" name="SetStatusBar">
   <function type="void" name="SetStatusBar">
    <parameters>
     <parameter type="wxStatusBar&#42; " name="statusBar"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateStatusBar'>wxFrame::CreateStatusBar</ref>
     <ref type='class' target='wxStatusBar'>wxStatusBar</ref>
     , 
     <ref type='method' target='method-wxFrame::GetStatusBar'>wxFrame::GetStatusBar</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateStatusBar'>wxFrame::CreateStatusBar</ref>
     <ref type='class' target='wxStatusBar'>wxStatusBar</ref>
    </fseealso>
    <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 type='method' target='method-wxFrame::CreateStatusBar'>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>
    <fseealso>
     <ref type='method' target='method-wxFrame::CreateToolBar'>wxFrame::CreateToolBar</ref>
     <ref type='class' target='wxToolBar'>wxToolBar</ref>
     , 
     <ref type='method' target='method-wxFrame::GetToolBar'>wxFrame::GetToolBar</ref>
    </fseealso>
    <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 type='class' 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 type='class' target='wxGridBagSizer'>wxGridBagSizer</ref>
   for tracking the items in the sizer. It adds grid position and spanning
   information to the normal
   <ref type='class' target='wxSizerItem'>wxSizerItem</ref>
   by adding
   <ref type='class' target='wxGBPosition'>wxGBPosition</ref>
   and
   <ref type='class' 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="class" 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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/gdiobj.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxPen'>wxPen</ref>
  <ref type='class' target='wxBrush'>wxBrush</ref>
  <ref type='class' 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 type='method' target='method-wxGLCanvas::SetCurrent'>wxGLCanvas::SetCurrent</ref>
   to direct normal OpenGL commands to the window, and then call
   <ref type='method' target='method-wxGLCanvas::SwapBuffers'>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="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/glcanvas.h"/>
 </includes>
  
 <windowstyles></windowstyles>
  
 <constants>
  <p class="consts">
   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.
  </p>
  <p class="consts">
   <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>
  </p>
 </constants>
  
 <seealso>
  <ref type='class' 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" value="wxDefaultPosition">
      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" value="wxDefaultSize">
      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">
      Context to share object resources with.
     </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" value="wxDefaultPosition">
      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" value="wxDefaultSize">
      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"></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" value="wxDefaultPosition">
      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" value="wxDefaultSize">
      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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/glcanvas.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' target='wxSlider'>wxSlider</ref>
  <ref type='class' 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 type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxGauge::Create'>wxGauge::Create</ref>
    </fseealso>
    <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 type='unknown' target='wxgaugector'>wxGauge::wxGauge</ref>
      for further details.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGauge" name="GetBezelFace">
   <function type="int" name="GetBezelFace" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxGauge::SetBezelFace'>wxGauge::SetBezelFace</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxGauge::SetRange'>wxGauge::SetRange</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxGauge::SetShadowWidth'>wxGauge::SetShadowWidth</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxGauge::SetValue'>wxGauge::SetValue</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxGauge::GetBezelFace'>wxGauge::GetBezelFace</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxGauge::GetRange'>wxGauge::GetRange</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxGauge::GetValue'>wxGauge::GetValue</ref>
    </fseealso>
    <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 type='class' target='wxTreeCtrl'>wxTreeCtrl</ref>
   window representing the directory hierarchy, and optionally, a
   <ref type='class' 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="class" target="wxControl">wxControl</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" 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 type='class' 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 type='class' 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 type='method' target='method-wxGenericDirCtrl::wxGenericDirCtrl'>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 type='unknown' target='validatoroverview'>Validator overview</ref>
   .
  </p>
 </description>
  
 <category>
  Validators
 </category>
  
 <shortdesc>
  Generic control validator class
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxValidator">wxValidator</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/valgen.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='validatoroverview'>Validator overview</ref>
  <ref type='class' target='wxValidator'>wxValidator</ref>
  , 
  <ref type='class' 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 type='unknown' 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 type='unknown' 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="class" target="wxScrolledWindow">wxScrolledWindow</ref>
   
  <ref type="class" target="wxWindow">wxWindow</ref>
   
  <ref type="class" target="wxEvtHandler">wxEvtHandler</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <windowstyles></windowstyles>
  
 <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>
  <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(id, func)">
   The user selected a group of contiguous cells; variant taking a window identifier. Processes a wxEVT_GRID_RANGE_SELECT.
  </event>
  <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>
  
 <seealso>
  <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
 </seealso>
  
 <members>
  <member class="wxGrid" name="wxGrid">
   <function type="" name="wxGrid">
    <description>
     <p>
      Default constructor
     </p>
    </description>
   </function>
    
   <function type="" name="wxGrid">
    <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="wxWANTS_CHARS"></parameter>
     <parameter type="const wxString&amp; " name="name" value="wxPanelNameStr"></parameter>
    </parameters>
    <description>
     <p>
      Constructor to create a grid object. Call either
      <ref type='method' target='method-wxGrid::CreateGrid'>wxGrid::CreateGrid</ref>
      or
      <ref type='method' target='method-wxGrid::SetTable'>wxGrid::SetTable</ref>
      directly after this to initialize the grid before using it.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="~wxGrid">
   <function type="" name="~wxGrid">
    <description>
     <p>
      Destructor. This will also destroy the associated grid table unless you
      passed a table object to the grid and specified that the grid should not
      take ownership of the table (see
      <ref type='method' target='method-wxGrid::SetTable'>wxGrid::SetTable</ref>
      ).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AppendCols">
   <function type="bool" name="AppendCols">
    <parameters>
     <parameter type="int " name="numCols" value="1"></parameter>
     <parameter type="bool " name="updateLabels" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Appends one or more new columns to the right of the grid and returns true
      if successful. The updateLabels argument is not used at present.
     </p>
     <p>
      If you are using a derived grid table class you will need to override
      <ref type='method' target='method-wxGridTableBase::AppendCols'>wxGridTableBase::AppendCols</ref>
      . See
      <ref type='method' target='method-wxGrid::InsertCols'>wxGrid::InsertCols</ref>
      for further information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AppendRows">
   <function type="bool" name="AppendRows">
    <parameters>
     <parameter type="int " name="numRows" value="1"></parameter>
     <parameter type="bool " name="updateLabels" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Appends one or more new rows to the bottom of the grid and returns true if
      successful. The updateLabels argument is not used at present.
     </p>
     <p>
      If you are using a derived grid table class you will need to override
      <ref type='method' target='method-wxGridTableBase::AppendRows'>wxGridTableBase::AppendRows</ref>
      . See
      <ref type='method' target='method-wxGrid::InsertRows'>wxGrid::InsertRows</ref>
      for further information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AutoSize">
   <function type="void" name="AutoSize">
    <note>
     <br/>
      wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Automatically sets the height and width of all rows and columns to fit
      their contents.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AutoSizeColOrRow">
   <function type="void" name="AutoSizeColOrRow">
    <parameters>
     <parameter type="int " name="n"></parameter>
     <parameter type="bool " name="setAsMin"></parameter>
     <parameter type="bool " name="column"></parameter>
    </parameters>
    <description>
     <p>
      Common part of AutoSizeColumn/Row() or row?
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AutoSizeColumn">
   <function type="void" name="AutoSizeColumn">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="bool " name="setAsMin" value="true"></parameter>
    </parameters>
    <note>
     <br/>
      wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Automatically sizes the column to fit its contents. If setAsMin is true
      the calculated width will also be set as the minimal width for the column.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AutoSizeColumns">
   <function type="void" name="AutoSizeColumns">
    <parameters>
     <parameter type="bool " name="setAsMin" value="true"></parameter>
    </parameters>
    <note>
     <br/>
      wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Automatically sizes all columns to fit their contents. If setAsMin is true
      the calculated widths will also be set as the minimal widths for the
      columns.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AutoSizeRow">
   <function type="void" name="AutoSizeRow">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="bool " name="setAsMin" value="true"></parameter>
    </parameters>
    <note>
     <br/>
      wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Automatically sizes the row to fit its contents. If setAsMin is true the
      calculated height will also be set as the minimal height for the row.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="AutoSizeRows">
   <function type="void" name="AutoSizeRows">
    <parameters>
     <parameter type="bool " name="setAsMin" value="true"></parameter>
    </parameters>
    <note>
     <br/>
      wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Automatically sizes all rows to fit their contents. If setAsMin is true
      the calculated heights will also be set as the minimal heights for the
      rows.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="BeginBatch">
   <function type="void" name="BeginBatch">
    <description>
     <p>
      Increments the grid's batch count. When the count is greater than zero
      repainting of the grid is suppressed. Each call to BeginBatch must be
      matched by a later call to
      <ref type='method' target='method-wxGrid::EndBatch'>wxGrid::EndBatch</ref>
      . Code that does a lot of grid modification can be enclosed between
      BeginBatch and EndBatch calls to avoid screen flicker. The final EndBatch
      will cause the grid to be repainted.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="BlockToDeviceRect">
   <function type="wxRect" name="BlockToDeviceRect">
    <parameters>
     <parameter type="const wxGridCellCoords &amp; " name="topLeft"></parameter>
     <parameter type="const wxGridCellCoords &amp; " name="bottomRight"></parameter>
    </parameters>
    <description>
     <p>
      This function returns the rectangle that encloses the block of cells
      limited by TopLeft and BottomRight cell in device coords and clipped to
      the client size of the grid window.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CanDragColSize">
   <function type="bool" name="CanDragColSize">
    <description>
     <p>
      Returns true if columns can be resized by dragging with the mouse. Columns
      can be resized by dragging the edges of their labels. If grid line
      dragging is enabled they can also be resized by dragging the right edge of
      the column in the grid cell area (see
      <ref type='method' target='method-wxGrid::EnableDragGridSize'>wxGrid::EnableDragGridSize</ref>
      ).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CanDragRowSize">
   <function type="bool" name="CanDragRowSize">
    <description>
     <p>
      Returns true if rows can be resized by dragging with the mouse. Rows can
      be resized by dragging the edges of their labels. If grid line dragging is
      enabled they can also be resized by dragging the lower edge of the row in
      the grid cell area (see
      <ref type='method' target='method-wxGrid::EnableDragGridSize'>wxGrid::EnableDragGridSize</ref>
      ).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CanDragGridSize">
   <function type="bool" name="CanDragGridSize">
    <description>
     <p>
      Return true if the dragging of grid lines to resize rows and columns is
      enabled or false otherwise.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CanEnableCellControl">
   <function type="bool" name="CanEnableCellControl" suffix="const">
    <description>
     <p>
      Returns true if the in-place edit control for the current grid cell can be
      used and false otherwise (e.g. if the current cell is read-only).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CanHaveAttributes">
   <function type="bool" name="CanHaveAttributes">
    <description>
     <p>
      Do we have some place to store attributes in?
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CellToRect">
   <function type="wxRect" name="CellToRect">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxRect" name="CellToRect">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
    </parameters>
    <description>
     <p>
      Return the rectangle corresponding to the grid cell's size and position in
      logical coordinates.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="ClearGrid">
   <function type="void" name="ClearGrid">
    <description>
     <p>
      Clears all data in the underlying grid table and repaints the grid. The
      table is not deleted by this function. If you are using a derived table
      class then you need to override
      <ref type='method' target='method-wxGridTableBase::Clear'>wxGridTableBase::Clear</ref>
      for this function to have any effect.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="ClearSelection">
   <function type="void" name="ClearSelection">
    <description>
     <p>
      Deselects all cells that are currently selected.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="CreateGrid">
   <function type="bool" name="CreateGrid">
    <parameters>
     <parameter type="int " name="numRows"></parameter>
     <parameter type="int " name="numCols"></parameter>
     <parameter type="wxGrid::wxGridSelectionModes " name="selmode" value="wxGrid::wxGridSelectCells"></parameter>
    </parameters>
    <description>
     <p>
      Creates a grid with the specified initial number of rows and columns. Call
      this directly after the grid constructor. When you use this function
      wxGrid will create and manage a simple table of string values for you. All
      of the grid data will be stored in memory.
     </p>
     <p>
      For applications with more complex data types or relationships, or for
      dealing with very large datasets, you should derive your own grid table
      class and pass a table object to the grid with
      <ref type='method' target='method-wxGrid::SetTable'>wxGrid::SetTable</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="DeleteCols">
   <function type="bool" name="DeleteCols">
    <parameters>
     <parameter type="int " name="pos" value="0"></parameter>
     <parameter type="int " name="numCols" value="1"></parameter>
     <parameter type="bool " name="updateLabels" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Deletes one or more columns from a grid starting at the specified position
      and returns true if successful. The updateLabels argument is not used at
      present.
     </p>
     <p>
      If you are using a derived grid table class you will need to override
      <ref type='method' target='method-wxGridTableBase::DeleteCols'>wxGridTableBase::DeleteCols</ref>
      . See
      <ref type='method' target='method-wxGrid::InsertCols'>wxGrid::InsertCols</ref>
      for further information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="DeleteRows">
   <function type="bool" name="DeleteRows">
    <parameters>
     <parameter type="int " name="pos" value="0"></parameter>
     <parameter type="int " name="numRows" value="1"></parameter>
     <parameter type="bool " name="updateLabels" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Deletes one or more rows from a grid starting at the specified position
      and returns true if successful. The updateLabels argument is not used at
      present.
     </p>
     <p>
      If you are using a derived grid table class you will need to override
      <ref type='method' target='method-wxGridTableBase::DeleteRows'>wxGridTableBase::DeleteRows</ref>
      . See
      <ref type='method' target='method-wxGrid::InsertRows'>wxGrid::InsertRows</ref>
      for further information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="DisableCellEditControl">
   <function type="void" name="DisableCellEditControl">
    <description>
     <p>
      Disables in-place editing of grid cells. Equivalent to calling
      EnableCellEditControl(false).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="DisableDragColSize">
   <function type="void" name="DisableDragColSize">
    <description>
     <p>
      Disables column sizing by dragging with the mouse. Equivalent to passing
      false to
      <ref type='method' target='method-wxGrid::EnableDragColSize'>wxGrid::EnableDragColSize</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="DisableDragGridSize">
   <function type="void" name="DisableDragGridSize">
    <description>
     <p>
      Disable mouse dragging of grid lines to resize rows and columns.
      Equivalent to passing false to
      <ref type='method' target='method-wxGrid::EnableDragGridSize'>wxGrid::EnableDragGridSize</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="DisableDragRowSize">
   <function type="void" name="DisableDragRowSize">
    <description>
     <p>
      Disables row sizing by dragging with the mouse. Equivalent to passing
      false to
      <ref type='method' target='method-wxGrid::EnableDragRowSize'>wxGrid::EnableDragRowSize</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EnableCellEditControl">
   <function type="void" name="EnableCellEditControl">
    <parameters>
     <parameter type="bool " name="enable" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Enables or disables in-place editing of grid cell data. The grid will
      issue either a wxEVT_GRID_EDITOR_SHOWN or wxEVT_GRID_EDITOR_HIDDEN event.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EnableDragColSize">
   <function type="void" name="EnableDragColSize">
    <parameters>
     <parameter type="bool " name="enable" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Enables or disables column sizing by dragging with the mouse.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EnableDragGridSize">
   <function type="void" name="EnableDragGridSize">
    <parameters>
     <parameter type="bool " name="enable" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Enables or disables row and column resizing by dragging gridlines with the
      mouse.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EnableDragRowSize">
   <function type="void" name="EnableDragRowSize">
    <parameters>
     <parameter type="bool " name="enable" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Enables or disables row sizing by dragging with the mouse.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EnableEditing">
   <function type="void" name="EnableEditing">
    <parameters>
     <parameter type="bool " name="edit"></parameter>
    </parameters>
    <description>
     <p>
      If the edit argument is false this function sets the whole grid as
      read-only. If the argument is true the grid is set to the default state
      where cells may be editable. In the default state you can set single grid
      cells and whole rows and columns to be editable or read-only via
      <ref type='method' target='method-wxGridCellAttr::SetReadOnly'>wxGridCellAttribute::SetReadOnly</ref>
      . For single cells you can also use the shortcut function
      <ref type='method' target='method-wxGrid::SetReadOnly'>wxGrid::SetReadOnly</ref>
      .
     </p>
     <p>
      For more information about controlling grid cell attributes see the
      <ref type='class' target='wxGridCellAttr'>wxGridCellAttr</ref>
      cell attribute class and the
      <ref type='unknown' target='gridoverview'>wxGrid classes overview</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EnableGridLines">
   <function type="void" name="EnableGridLines">
    <parameters>
     <parameter type="bool " name="enable" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Turns the drawing of grid lines on or off.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="EndBatch">
   <function type="void" name="EndBatch">
    <description>
     <p>
      Decrements the grid's batch count. When the count is greater than zero
      repainting of the grid is suppressed. Each previous call to
      <ref type='method' target='method-wxGrid::BeginBatch'>wxGrid::BeginBatch</ref>
      must be matched by a later call to EndBatch. Code that does a lot of grid
      modification can be enclosed between BeginBatch and EndBatch calls to
      avoid screen flicker. The final EndBatch will cause the grid to be
      repainted.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="Fit">
   <function type="void" name="Fit">
    <description>
     <p>
      Overridden wxWindow method.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="ForceRefresh">
   <function type="void" name="ForceRefresh">
    <description>
     <p>
      Causes immediate repainting of the grid. Use this instead of the usual
      wxWindow::Refresh.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetBatchCount">
   <function type="int" name="GetBatchCount">
    <description>
     <p>
      Returns the number of times that
      <ref type='method' target='method-wxGrid::BeginBatch'>wxGrid::BeginBatch</ref>
      has been called without (yet) matching calls to
      <ref type='method' target='method-wxGrid::EndBatch'>wxGrid::EndBatch</ref>
      . While the grid's batch count is greater than zero the display will not
      be updated.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellAlignment">
   <function type="void" name="GetCellAlignment">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="int&#42; " name="horiz"></parameter>
     <parameter type="int&#42; " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the arguments to the horizontal and vertical text alignment values
      for the grid cell at the specified location.
     </p>
     <p>
      Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
      <br/>
      Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellBackgroundColour">
   <function type="wxColour" name="GetCellBackgroundColour">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns the background colour of the cell at the specified location.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellEditor">
   <function type="wxGridCellEditor&#42;" name="GetCellEditor">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns a pointer to the editor for the cell at the specified location.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellFont">
   <function type="wxFont" name="GetCellFont">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns the font for text in the grid cell at the specified location.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellRenderer">
   <function type="wxGridCellRenderer&#42;" name="GetCellRenderer">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns a pointer to the renderer for the grid cell at the specified
      location.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellTextColour">
   <function type="wxColour" name="GetCellTextColour">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns the text colour for the grid cell at the specified location.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetCellValue">
   <function type="wxString" name="GetCellValue">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxString" name="GetCellValue">
    <parameters>
     <parameter type="const wxGridCellCoords&amp;" name="coords"></parameter>
    </parameters>
    <description>
     <p>
      Returns the string contained in the cell at the specified location. For
      simple applications where a grid object automatically uses a default grid
      table of string values you use this function together with
      <ref type='method' target='method-wxGrid::SetCellValue'>wxGrid::SetCellValue</ref>
      to access cell values.
     </p>
     <p>
      For more complex applications where you have derived your own grid table
      class that contains various data types (e.g. numeric, boolean or
      user-defined custom types) then you only use this function for those cells
      that contain string values.
     </p>
     <p>
      See
      <ref type='method' target='method-wxGridTableBase::CanGetValueAs'>wxGridTableBase::CanGetValueAs</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColLeft">
   <function type="int" name="GetColLeft" suffix="const">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColLabelAlignment">
   <function type="void" name="GetColLabelAlignment">
    <parameters>
     <parameter type="int&#42; " name="horiz"></parameter>
     <parameter type="int&#42; " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the arguments to the current column label alignment values.
     </p>
     <p>
      Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
      <br/>
      Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColLabelSize">
   <function type="int" name="GetColLabelSize">
    <description>
     <p>
      Returns the current height of the column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColLabelValue">
   <function type="wxString" name="GetColLabelValue">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns the specified column label. The default grid table class provides
      column labels of the form A,B...Z,AA,AB...ZZ,AAA... If you are using a
      custom grid table you can override
      <ref type='method' target='method-wxGridTableBase::GetColLabelValue'>wxGridTableBase::GetColLabelValue</ref>
      to provide your own labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColMinimalAcceptableWidth">
   <function type="int" name="GetColMinimalAcceptableWidth">
    <parameters></parameters>
    <description>
     <p>
      This returns the value of the lowest column width that can be handled
      correctly. See member
      <ref type='method' target='method-wxGrid::SetColMinimalAcceptableWidth'>SetColMinimalAcceptableWidth</ref>
      for details.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColMinimalWidth">
   <function type="int" name="GetColMinimalWidth" suffix="const">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Get the minimal width of the given column/row.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColRight">
   <function type="int" name="GetColRight" suffix="const">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetColSize">
   <function type="int" name="GetColSize">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns the width of the specified column.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultCellAlignment">
   <function type="void" name="GetDefaultCellAlignment">
    <parameters>
     <parameter type="int&#42; " name="horiz"></parameter>
     <parameter type="int&#42; " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the arguments to the current default horizontal and vertical text
      alignment values.
     </p>
     <p>
      Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
      <br/>
      Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultCellBackgroundColour">
   <function type="wxColour" name="GetDefaultCellBackgroundColour">
    <description>
     <p>
      Returns the current default background colour for grid cells.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultCellFont">
   <function type="wxFont" name="GetDefaultCellFont">
    <description>
     <p>
      Returns the current default font for grid cell text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultCellTextColour">
   <function type="wxColour" name="GetDefaultCellTextColour">
    <description>
     <p>
      Returns the current default colour for grid cell text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultColLabelSize">
   <function type="int" name="GetDefaultColLabelSize">
    <description>
     <p>
      Returns the default height for column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultColSize">
   <function type="int" name="GetDefaultColSize">
    <description>
     <p>
      Returns the current default width for grid columns.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultEditor">
   <function type="wxGridCellEditor&#42;" name="GetDefaultEditor" suffix="const">
    <description>
     <p>
      Returns a pointer to the current default grid cell editor.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultEditorForCell">
   <function type="wxGridCellEditor&#42;" name="GetDefaultEditorForCell" suffix="const">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxGridCellEditor&#42;" name="GetDefaultEditorForCell" suffix="const">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="c"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultEditorForType">
   <function type="wxGridCellEditor&#42;" name="GetDefaultEditorForType" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="typeName"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultRenderer">
   <function type="wxGridCellRenderer&#42;" name="GetDefaultRenderer" suffix="const">
    <description>
     <p>
      Returns a pointer to the current default grid cell renderer.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultRendererForCell">
   <function type="wxGridCellRenderer&#42;" name="GetDefaultRendererForCell" suffix="const">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultRendererForType">
   <function type="wxGridCellRenderer&#42;" name="GetDefaultRendererForType" suffix="const">
    <parameters>
     <parameter type="const wxString&amp; " name="typeName"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultRowLabelSize">
   <function type="int" name="GetDefaultRowLabelSize">
    <description>
     <p>
      Returns the default width for the row labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetDefaultRowSize">
   <function type="int" name="GetDefaultRowSize">
    <description>
     <p>
      Returns the current default height for grid rows.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetGridCursorCol">
   <function type="int" name="GetGridCursorCol">
    <description>
     <p>
      Returns the current grid cell column position.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetGridCursorRow">
   <function type="int" name="GetGridCursorRow">
    <description>
     <p>
      Returns the current grid cell row position.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetGridLineColour">
   <function type="wxColour" name="GetGridLineColour">
    <description>
     <p>
      Returns the colour used for grid lines.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GridLinesEnabled">
   <function type="bool" name="GridLinesEnabled">
    <description>
     <p>
      Returns true if drawing of grid lines is turned on, false otherwise.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetLabelBackgroundColour">
   <function type="wxColour" name="GetLabelBackgroundColour">
    <description>
     <p>
      Returns the colour used for the background of row and column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetLabelFont">
   <function type="wxFont" name="GetLabelFont">
    <description>
     <p>
      Returns the font used for row and column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetLabelTextColour">
   <function type="wxColour" name="GetLabelTextColour">
    <description>
     <p>
      Returns the colour used for row and column label text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetNumberCols">
   <function type="int" name="GetNumberCols">
    <description>
     <p>
      Returns the total number of grid columns (actually the number of columns
      in the underlying grid table).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetNumberRows">
   <function type="int" name="GetNumberRows">
    <description>
     <p>
      Returns the total number of grid rows (actually the number of rows in the
      underlying grid table).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetOrCreateCellAttr">
   <function type="wxGridCellAttr&#42;" name="GetOrCreateCellAttr" suffix="const">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetRowMinimalAcceptableHeight">
   <function type="int" name="GetRowMinimalAcceptableHeight">
    <parameters></parameters>
    <description>
     <p>
      This returns the value of the lowest row width that can be handled
      correctly. See member
      <ref type='method' target='method-wxGrid::SetRowMinimalAcceptableHeight'>SetRowMinimalAcceptableHeight</ref>
      for details.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetRowMinimalHeight">
   <function type="int" name="GetRowMinimalHeight" suffix="const">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetRowLabelAlignment">
   <function type="void" name="GetRowLabelAlignment">
    <parameters>
     <parameter type="int&#42; " name="horiz"></parameter>
     <parameter type="int&#42; " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the arguments to the current row label alignment values.
     </p>
     <p>
      Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT.
      <br/>
      Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetRowLabelSize">
   <function type="int" name="GetRowLabelSize">
    <description>
     <p>
      Returns the current width of the row labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetRowLabelValue">
   <function type="wxString" name="GetRowLabelValue">
    <parameters>
     <parameter type="int " name="row"></parameter>
    </parameters>
    <description>
     <p>
      Returns the specified row label. The default grid table class provides
      numeric row labels. If you are using a custom grid table you can override
      <ref type='method' target='method-wxGridTableBase::GetColLabelValue'>wxGridTableBase::GetRowLabelValue</ref>
      to provide your own labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetRowSize">
   <function type="int" name="GetRowSize">
    <parameters>
     <parameter type="int " name="row"></parameter>
    </parameters>
    <description>
     <p>
      Returns the height of the specified row.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetScrollLinesX">
   <function type="int" name="GetScrollLinesX" suffix="const">
    <description>
     <p>
      Returns the number of pixels per horizontal scroll increment. The default
      is 15.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetScrollLinesY">
   <function type="int" name="GetScrollLinesY" suffix="const">
    <description>
     <p>
      Returns the number of pixels per vertical scroll increment. The default is
      15.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectionMode">
   <function type="wxGrid::wxGridSelectionModes" name="GetSelectionMode" suffix="const">
    <description>
     <p>
      Returns the current selection mode, see
      <ref type='method' target='method-wxGrid::SetSelectionMode'>wxGrid::SetSelectionMode</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectedCells">
   <function type="wxGridCellCoordsArray" name="GetSelectedCells" suffix="const">
    <description>
     <p>
      Returns an array of singly selected cells.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectedCols">
   <function type="wxArrayInt" name="GetSelectedCols" suffix="const">
    <description>
     <p>
      Returns an array of selected cols.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectedRows">
   <function type="wxArrayInt" name="GetSelectedRows" suffix="const">
    <description>
     <p>
      Returns an array of selected rows.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectionBackground">
   <function type="wxColour" name="GetSelectionBackground" suffix="const">
    <description>
     <p>
      Access or update the selection fore/back colours
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectionBlockTopLeft">
   <function type="wxGridCellCoordsArray" name="GetSelectionBlockTopLeft" suffix="const">
    <description>
     <p>
      Returns an array of the top left corners of blocks of selected cells, see
      <ref type='method' target='method-wxGrid::GetSelectionBlockBottomRight'>wxGrid::GetSelectionBlockBottomRight</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectionBlockBottomRight">
   <function type="wxGridCellCoordsArray" name="GetSelectionBlockBottomRight" suffix="const">
    <description>
     <p>
      Returns an array of the bottom right corners of blocks of selected cells,
      see
      <ref type='method' target='method-wxGrid::GetSelectionBlockTopLeft'>wxGrid::GetSelectionBlockTopLeft</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetSelectionForeground">
   <function type="wxColour" name="GetSelectionForeground" suffix="const">
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetTable">
   <function type="wxGridTableBase &#42;" name="GetTable" suffix="const">
    <description>
     <p>
      Returns a base pointer to the current table object.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="GetViewWidth">
   <function type="int" name="GetViewWidth">
    <description>
     <p>
      Returned number of whole cols visible.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="HideCellEditControl">
   <function type="void" name="HideCellEditControl">
    <description>
     <p>
      Hides the in-place cell edit control.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="InitColWidths">
   <function type="void" name="InitColWidths">
    <description>
     <p>
      Init the m_colWidths/Rights arrays
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="InitRowHeights">
   <function type="void" name="InitRowHeights">
    <description>
     <p>
      NB:
      <i>
       never
      </i>
      access m_row/col arrays directly because they are created on demand,
      <i>
       always
      </i>
      use accessor functions instead!
     </p>
     <p>
      Init the m_rowHeights/Bottoms arrays with default values.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="InsertCols">
   <function type="bool" name="InsertCols">
    <parameters>
     <parameter type="int " name="pos" value="0"></parameter>
     <parameter type="int " name="numCols" value="1"></parameter>
     <parameter type="bool " name="updateLabels" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Inserts one or more new columns into a grid with the first new column at
      the specified position and returns true if successful. The updateLabels
      argument is not used at present.
     </p>
     <p>
      The sequence of actions begins with the grid object requesting the
      underlying grid table to insert new columns. If this is successful the
      table notifies the grid and the grid updates the display. For a default
      grid (one where you have called
      <ref type='method' target='method-wxGrid::CreateGrid'>wxGrid::CreateGrid</ref>
      ) this process is automatic. If you are using a custom grid table
      (specified with
      <ref type='method' target='method-wxGrid::SetTable'>wxGrid::SetTable</ref>
      ) then you must override
      <ref type='method' target='method-wxGridTableBase::InsertCols'>wxGridTableBase::InsertCols</ref>
      in your derived table class.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="InsertRows">
   <function type="bool" name="InsertRows">
    <parameters>
     <parameter type="int " name="pos" value="0"></parameter>
     <parameter type="int " name="numRows" value="1"></parameter>
     <parameter type="bool " name="updateLabels" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Inserts one or more new rows into a grid with the first new row at the
      specified position and returns true if successful. The updateLabels
      argument is not used at present.
     </p>
     <p>
      The sequence of actions begins with the grid object requesting the
      underlying grid table to insert new rows. If this is successful the table
      notifies the grid and the grid updates the display. For a default grid
      (one where you have called
      <ref type='method' target='method-wxGrid::CreateGrid'>wxGrid::CreateGrid</ref>
      ) this process is automatic. If you are using a custom grid table
      (specified with
      <ref type='method' target='method-wxGrid::SetTable'>wxGrid::SetTable</ref>
      ) then you must override
      <ref type='method' target='method-wxGridTableBase::InsertRows'>wxGridTableBase::InsertRows</ref>
      in your derived table class.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsCellEditControlEnabled">
   <function type="bool" name="IsCellEditControlEnabled" suffix="const">
    <description>
     <p>
      Returns true if the in-place edit control is currently enabled.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsCurrentCellReadOnly">
   <function type="bool" name="IsCurrentCellReadOnly" suffix="const">
    <description>
     <p>
      Returns true if the current cell has been set to read-only (see
      <ref type='method' target='method-wxGrid::SetReadOnly'>wxGrid::SetReadOnly</ref>
      ).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsEditable">
   <function type="bool" name="IsEditable">
    <description>
     <p>
      Returns false if the whole grid has been set as read-only or true
      otherwise. See
      <ref type='method' target='method-wxGrid::EnableEditing'>wxGrid::EnableEditing</ref>
      for more information about controlling the editing status of grid cells.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsInSelection">
   <function type="bool" name="IsInSelection" suffix="const">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="IsInSelection" suffix="const">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
    </parameters>
    <description>
     <p>
      Is this cell currently selected.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsReadOnly">
   <function type="bool" name="IsReadOnly" suffix="const">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Returns true if the cell at the specified location can't be edited. See
      also
      <ref type='method' target='method-wxGrid::IsReadOnly'>wxGrid::IsReadOnly</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsSelection">
   <function type="bool" name="IsSelection">
    <description>
     <p>
      Returns true if there are currently rows, columns or blocks of cells
      selected.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="IsVisible">
   <function type="bool" name="IsVisible">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="bool " name="wholeCellVisible" value="true"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="bool" name="IsVisible">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
     <parameter type="bool " name="wholeCellVisible" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Returns true if a cell is either wholly visible (the default) or at least
      partially visible in the grid window.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MakeCellVisible">
   <function type="void" name="MakeCellVisible">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="MakeCellVisible">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
    </parameters>
    <description>
     <p>
      Brings the specified cell into the visible grid cell area with minimal
      scrolling. Does nothing if the cell is already visible.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorDown">
   <function type="bool" name="MoveCursorDown">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor down by one row. If a block of cells was previously
      selected it will expand if the argument is true or be cleared if the
      argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for Down cursor key presses or Shift+Down to
      expand a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorLeft">
   <function type="bool" name="MoveCursorLeft">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor left by one column. If a block of cells was
      previously selected it will expand if the argument is true or be cleared
      if the argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for Left cursor key presses or Shift+Left to
      expand a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorRight">
   <function type="bool" name="MoveCursorRight">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor right by one column. If a block of cells was
      previously selected it will expand if the argument is true or be cleared
      if the argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for Right cursor key presses or Shift+Right to
      expand a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorUp">
   <function type="bool" name="MoveCursorUp">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor up by one row. If a block of cells was previously
      selected it will expand if the argument is true or be cleared if the
      argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for Up cursor key presses or Shift+Up to expand a
      selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorDownBlock">
   <function type="bool" name="MoveCursorDownBlock">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor down in the current column such that it skips to the
      beginning or end of a block of non-empty cells. If a block of cells was
      previously selected it will expand if the argument is true or be cleared
      if the argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for the Ctrl+Down key combination. Shift+Ctrl+Down
      expands a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorLeftBlock">
   <function type="bool" name="MoveCursorLeftBlock">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor left in the current row such that it skips to the
      beginning or end of a block of non-empty cells. If a block of cells was
      previously selected it will expand if the argument is true or be cleared
      if the argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for the Ctrl+Left key combination. Shift+Ctrl+left
      expands a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorRightBlock">
   <function type="bool" name="MoveCursorRightBlock">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor right in the current row such that it skips to the
      beginning or end of a block of non-empty cells. If a block of cells was
      previously selected it will expand if the argument is true or be cleared
      if the argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for the Ctrl+Right key combination.
      Shift+Ctrl+Right expands a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MoveCursorUpBlock">
   <function type="bool" name="MoveCursorUpBlock">
    <parameters>
     <parameter type="bool " name="expandSelection"></parameter>
    </parameters>
    <description>
     <p>
      Moves the grid cursor up in the current column such that it skips to the
      beginning or end of a block of non-empty cells. If a block of cells was
      previously selected it will expand if the argument is true or be cleared
      if the argument is false.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for the Ctrl+Up key combination. Shift+Ctrl+Up
      expands a selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MovePageDown">
   <function type="bool" name="MovePageDown">
    <description>
     <p>
      Moves the grid cursor down by some number of rows so that the previous
      bottom visible row becomes the top visible row.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for PgDn keypresses.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="MovePageUp">
   <function type="bool" name="MovePageUp">
    <description>
     <p>
      Moves the grid cursor up by some number of rows so that the previous top
      visible row becomes the bottom visible row.
     </p>
     <p>
      \wxheading{Keyboard}
      <br/>
      This function is called for PgUp keypresses.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="RegisterDataType">
   <function type="void" name="RegisterDataType">
    <parameters>
     <parameter type="const wxString&amp; " name="typeName"></parameter>
     <parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
     <parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
    </parameters>
    <description>
     <p>
      Methods for a registry for mapping data types to Renderers/Editors
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SaveEditControlValue">
   <function type="void" name="SaveEditControlValue">
    <description>
     <p>
      Sets the value of the current grid cell to the current in-place edit
      control value. This is called automatically when the grid cursor moves
      from the current cell to a new cell. It is also a good idea to call this
      function when closing a grid since any edits to the final cell location
      will not be saved otherwise.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SelectAll">
   <function type="void" name="SelectAll">
    <description>
     <p>
      Selects all cells in the grid.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SelectBlock">
   <function type="void" name="SelectBlock">
    <parameters>
     <parameter type="int " name="topRow"></parameter>
     <parameter type="int " name="leftCol"></parameter>
     <parameter type="int " name="bottomRow"></parameter>
     <parameter type="int " name="rightCol"></parameter>
     <parameter type="bool " name="addToSelected" value="false"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="SelectBlock">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="topLeft"></parameter>
     <parameter type="const wxGridCellCoords&amp; " name="bottomRight"></parameter>
     <parameter type="bool " name="addToSelected" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Selects a rectangular block of cells. If addToSelected is false then any
      existing selection will be deselected; if true the column will be added to
      the existing selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SelectCol">
   <function type="void" name="SelectCol">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="bool " name="addToSelected" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Selects the specified column. If addToSelected is false then any existing
      selection will be deselected; if true the column will be added to the
      existing selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SelectionToDeviceRect">
   <function type="wxRect" name="SelectionToDeviceRect">
    <description>
     <p>
      This function returns the rectangle that encloses the selected cells in
      device coords and clipped to the client size of the grid window.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SelectRow">
   <function type="void" name="SelectRow">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="bool " name="addToSelected" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Selects the specified row. If addToSelected is false then any existing
      selection will be deselected; if true the row will be added to the
      existing selection.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellAlignment">
   <function type="void" name="SetCellAlignment">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="int " name="horiz"></parameter>
     <parameter type="int " name="vert"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="SetCellAlignment">
    <parameters>
     <parameter type="int " name="align"></parameter>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Sets the horizontal and vertical alignment for grid cell text at the
      specified location.
     </p>
     <p>
      Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
      <br/>
      Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellBackgroundColour">
   <function type="void" name="SetCellBackgroundColour">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellEditor">
   <function type="void" name="SetCellEditor">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
    </parameters>
    <description>
     <p>
      Sets the editor for the grid cell at the specified location. The grid will
      take ownership of the pointer.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellFont">
   <function type="void" name="SetCellFont">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="const wxFont&amp; " name="font"></parameter>
    </parameters>
    <description>
     <p>
      Sets the font for text in the grid cell at the specified location.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellRenderer">
   <function type="void" name="SetCellRenderer">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
    </parameters>
    <description>
     <p>
      Sets the renderer for the grid cell at the specified location. The grid
      will take ownership of the pointer.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellTextColour">
   <function type="void" name="SetCellTextColour">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="SetCellTextColour">
    <parameters>
     <parameter type="const wxColour&amp; " name="val"></parameter>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="SetCellTextColour">
    <parameters>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the text colour for the grid cell at the specified location.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetCellValue">
   <function type="void" name="SetCellValue">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="const wxString&amp; " name="s"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="SetCellValue">
    <parameters>
     <parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
     <parameter type="const wxString&amp; " name="s"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="void" name="SetCellValue">
    <parameters>
     <parameter type="const wxString&amp; " name="val"></parameter>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Sets the string value for the cell at the specified location. For simple
      applications where a grid object automatically uses a default grid table
      of string values you use this function together with
      <ref type='method' target='method-wxGrid::GetCellValue'>wxGrid::GetCellValue</ref>
      to access cell values.
     </p>
     <p>
      For more complex applications where you have derived your own grid table
      class that contains various data types (e.g. numeric, boolean or
      user-defined custom types) then you only use this function for those cells
      that contain string values.
     </p>
     <p>
      The last form is for backward compatibility only.
     </p>
     <p>
      See
      <ref type='method' target='method-wxGridTableBase::CanGetValueAs'>wxGridTableBase::CanSetValueAs</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColAttr">
   <function type="void" name="SetColAttr">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
    </parameters>
    <description>
     <p>
      Sets the cell attributes for all cells in the specified column.
     </p>
     <p>
      For more information about controlling grid cell attributes see the
      <ref type='class' target='wxGridCellAttr'>wxGridCellAttr</ref>
      cell attribute class and the
      <ref type='unknown' target='gridoverview'>wxGrid classes overview</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColFormatBool">
   <function type="void" name="SetColFormatBool">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Sets the specified column to display boolean values. wxGrid displays
      boolean values with a checkbox.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColFormatNumber">
   <function type="void" name="SetColFormatNumber">
    <parameters>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Sets the specified column to display integer values.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColFormatFloat">
   <function type="void" name="SetColFormatFloat">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="int " name="width" value="-1"></parameter>
     <parameter type="int " name="precision" value="-1"></parameter>
    </parameters>
    <description>
     <p>
      Sets the specified column to display floating point values with the given
      width and precision.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColFormatCustom">
   <function type="void" name="SetColFormatCustom">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="const wxString&amp; " name="typeName"></parameter>
    </parameters>
    <description>
     <p>
      Sets the specified column to display data in a custom format. See the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information on working with custom data types.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColLabelAlignment">
   <function type="void" name="SetColLabelAlignment">
    <parameters>
     <parameter type="int " name="horiz"></parameter>
     <parameter type="int " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the horizontal and vertical alignment of column label text.
     </p>
     <p>
      Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
     </p>
     <p>
      Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColLabelSize">
   <function type="void" name="SetColLabelSize">
    <parameters>
     <parameter type="int " name="height"></parameter>
    </parameters>
    <description>
     <p>
      Sets the height of the column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColLabelValue">
   <function type="void" name="SetColLabelValue">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="const wxString&amp; " name="value"></parameter>
    </parameters>
    <description>
     <p>
      Set the value for the given column label. If you are using a derived grid
      table you must override
      <ref type='method' target='method-wxGridTableBase::SetColLabelValue'>wxGridTableBase::SetColLabelValue</ref>
      for this to have any effect.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColMinimalWidth">
   <function type="void" name="SetColMinimalWidth">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="int " name="width"></parameter>
    </parameters>
    <description>
     <p>
      Sets the minimal width for the specified column. This should normally be
      called when creating the grid because it will not resize a column that is
      already narrower than the minimal width. The width argument must be higher
      than the minimimal acceptable column width, see
      <ref type='method' target='method-wxGrid::GetColMinimalAcceptableWidth'>wxGrid::GetColMinimalAcceptableWidth</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColMinimalAcceptableWidth">
   <function type="void" name="SetColMinimalAcceptableWidth">
    <parameters>
     <parameter type="int " name="width"></parameter>
    </parameters>
    <description>
     <p>
      This modifies the minimum column width that can be handled correctly.
      Specifying a low value here allows smaller grid cells to be dealt with
      correctly. Specifying a value here which is much smaller than the actual
      minimum size will incur a performance penalty in the functions which
      perform grid cell index lookup on the basis of screen coordinates. This
      should normally be called when creating the grid because it will not
      resize existing columns with sizes smaller than the value specified here.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetColSize">
   <function type="void" name="SetColSize">
    <parameters>
     <parameter type="int " name="col"></parameter>
     <parameter type="int " name="width"></parameter>
    </parameters>
    <note>
     <br/>
      wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Sets the width of the specified column.
     </p>
     <p>
      This function does not refresh the grid. If you are calling it outside of
      a BeginBatch / EndBatch block you can use
      <ref type='method' target='method-wxGrid::ForceRefresh'>wxGrid::ForceRefresh</ref>
      to see the changes.
     </p>
     <p>
      Automatically sizes the column to fit its contents. If setAsMin is true
      the calculated width will also be set as the minimal width for the column.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultCellAlignment">
   <function type="void" name="SetDefaultCellAlignment">
    <parameters>
     <parameter type="int " name="horiz"></parameter>
     <parameter type="int " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default horizontal and vertical alignment for grid cell text.
     </p>
     <p>
      Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
     </p>
     <p>
      Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultCellBackgroundColour">
   <function type="void" name="SetDefaultCellBackgroundColour">
    <parameters>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default background colour for grid cells.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultCellFont">
   <function type="void" name="SetDefaultCellFont">
    <parameters>
     <parameter type="const wxFont&amp; " name="font"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default font to be used for grid cell text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultCellTextColour">
   <function type="void" name="SetDefaultCellTextColour">
    <parameters>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the current default colour for grid cell text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultEditor">
   <function type="void" name="SetDefaultEditor">
    <parameters>
     <parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default editor for grid cells. The grid will take ownership of
      the pointer.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultRenderer">
   <function type="void" name="SetDefaultRenderer">
    <parameters>
     <parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default renderer for grid cells. The grid will take ownership of
      the pointer.
     </p>
     <p>
      See
      <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
      and the
      <ref type='unknown' target='gridoverview'>wxGrid overview</ref>
      for more information about cell editors and renderers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultColSize">
   <function type="void" name="SetDefaultColSize">
    <parameters>
     <parameter type="int " name="width"></parameter>
     <parameter type="bool " name="resizeExistingCols" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default width for columns in the grid. This will only affect
      columns subsequently added to the grid unless resizeExistingCols is true.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetDefaultRowSize">
   <function type="void" name="SetDefaultRowSize">
    <parameters>
     <parameter type="int " name="height"></parameter>
     <parameter type="bool " name="resizeExistingRows" value="false"></parameter>
    </parameters>
    <description>
     <p>
      Sets the default height for rows in the grid. This will only affect rows
      subsequently added to the grid unless resizeExistingRows is true.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetGridCursor">
   <function type="void" name="SetGridCursor">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
    </parameters>
    <description>
     <p>
      Set the grid cursor to the specified cell. This function calls
      <ref type='method' target='method-wxGrid::MakeCellVisible'>wxGrid::MakeCellVisible</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetGridLineColour">
   <function type="void" name="SetGridLineColour">
    <parameters>
     <parameter type="const wxColour&amp;" name="colour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the colour used to draw grid lines.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetLabelBackgroundColour">
   <function type="void" name="SetLabelBackgroundColour">
    <parameters>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the background colour for row and column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetLabelFont">
   <function type="void" name="SetLabelFont">
    <parameters>
     <parameter type="const wxFont&amp; " name="font"></parameter>
    </parameters>
    <description>
     <p>
      Sets the font for row and column labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetLabelTextColour">
   <function type="void" name="SetLabelTextColour">
    <parameters>
     <parameter type="const wxColour&amp; " name="colour"></parameter>
    </parameters>
    <description>
     <p>
      Sets the colour for row and column label text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetMargins">
   <function type="void" name="SetMargins">
    <parameters>
     <parameter type="int " name="extraWidth"></parameter>
     <parameter type="int " name="extraHeight"></parameter>
    </parameters>
    <description>
     <p>
      A grid may occupy more space than needed for its rows/columns. This
      function allows to set how big this extra space is
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetOrCalcColumnSizes">
   <function type="int" name="SetOrCalcColumnSizes">
    <parameters>
     <parameter type="bool " name="calcOnly"></parameter>
     <parameter type="bool " name="setAsMin" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Common part of AutoSizeColumn/Row() and GetBestSize()
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetOrCalcRowSizes">
   <function type="int" name="SetOrCalcRowSizes">
    <parameters>
     <parameter type="bool " name="calcOnly"></parameter>
     <parameter type="bool " name="setAsMin" value="true"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetReadOnly">
   <function type="void" name="SetReadOnly">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="col"></parameter>
     <parameter type="bool " name="isReadOnly" value="true"></parameter>
    </parameters>
    <description>
     <p>
      Makes the cell at the specified location read-only or editable. See also
      <ref type='method' target='method-wxGrid::IsReadOnly'>wxGrid::IsReadOnly</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowAttr">
   <function type="void" name="SetRowAttr">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
    </parameters>
    <description>
     <p>
      Sets the cell attributes for all cells in the specified row. See the
      <ref type='class' target='wxGridCellAttr'>wxGridCellAttr</ref>
      class for more information about controlling cell attributes.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowLabelAlignment">
   <function type="void" name="SetRowLabelAlignment">
    <parameters>
     <parameter type="int " name="horiz"></parameter>
     <parameter type="int " name="vert"></parameter>
    </parameters>
    <description>
     <p>
      Sets the horizontal and vertical alignment of row label text.
     </p>
     <p>
      Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
      wxALIGN_RIGHT.
     </p>
     <p>
      Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
      wxALIGN_BOTTOM.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowLabelSize">
   <function type="void" name="SetRowLabelSize">
    <parameters>
     <parameter type="int " name="width"></parameter>
    </parameters>
    <description>
     <p>
      Sets the width of the row labels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowLabelValue">
   <function type="void" name="SetRowLabelValue">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="const wxString&amp; " name="value"></parameter>
    </parameters>
    <description>
     <p>
      Set the value for the given row label. If you are using a derived grid
      table you must override
      <ref type='method' target='method-wxGridTableBase::SetRowLabelValue'>wxGridTableBase::SetRowLabelValue</ref>
      for this to have any effect.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowMinimalHeight">
   <function type="void" name="SetRowMinimalHeight">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="height"></parameter>
    </parameters>
    <description>
     <p>
      Sets the minimal height for the specified row. This should normally be
      called when creating the grid because it will not resize a row that is
      already shorter than the minimal height. The height argument must be
      higher than the minimimal acceptable row height, see
      <ref type='method' target='method-wxGrid::GetRowMinimalAcceptableHeight'>wxGrid::GetRowMinimalAcceptableHeight</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowMinimalAcceptableHeight">
   <function type="void" name="SetRowMinimalAcceptableHeight">
    <parameters>
     <parameter type="int " name="height"></parameter>
    </parameters>
    <description>
     <p>
      This modifies the minimum row width that can be handled correctly.
      Specifying a low value here allows smaller grid cells to be dealt with
      correctly. Specifying a value here which is much smaller than the actual
      minimum size will incur a performance penalty in the functions which
      perform grid cell index lookup on the basis of screen coordinates. This
      should normally be called when creating the grid because it will not
      resize existing rows with sizes smaller than the value specified here.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetRowSize">
   <function type="void" name="SetRowSize">
    <parameters>
     <parameter type="int " name="row"></parameter>
     <parameter type="int " name="height"></parameter>
    </parameters>
    <note>
     wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used. The memory requirements for this could become prohibitive if your grid is very large.
    </note>
    <description>
     <p>
      Sets the height of the specified row.
     </p>
     <p>
      This function does not refresh the grid. If you are calling it outside of
      a BeginBatch / EndBatch block you can use
      <ref type='method' target='method-wxGrid::ForceRefresh'>wxGrid::ForceRefresh</ref>
      to see the changes.
     </p>
     <p>
      Automatically sizes the column to fit its contents. If setAsMin is true
      the calculated width will also be set as the minimal width for the column.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetScrollLinesX">
   <function type="void" name="SetScrollLinesX">
    <parameters>
     <parameter type="int " name="x"></parameter>
    </parameters>
    <description>
     <p>
      Sets the number of pixels per horizontal scroll increment. The default is
      15. Sometimes wxGrid has trouble setting the scrollbars correctly due to
      rounding errors: setting this to 1 can help.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetScrollLinesY">
   <function type="void" name="SetScrollLinesY">
    <parameters>
     <parameter type="int " name="y"></parameter>
    </parameters>
    <description>
     <p>
      Sets the number of pixels per vertical scroll increment. The default is
      15. Sometimes wxGrid has trouble setting the scrollbars correctly due to
      rounding errors: setting this to 1 can help.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetSelectionBackground">
   <function type="void" name="SetSelectionBackground">
    <parameters>
     <parameter type="const wxColour&amp; " name="c"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetSelectionForeground">
   <function type="void" name="SetSelectionForeground">
    <parameters>
     <parameter type="const wxColour&amp; " name="c"></parameter>
    </parameters>
    <description></description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetSelectionMode">
   <function type="void" name="SetSelectionMode">
    <parameters>
     <parameter type="wxGrid::wxGridSelectionModes " name="selmode"></parameter>
    </parameters>
    <description>
     <p>
      Set the selection behaviour of the grid.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="SetTable">
   <function type="bool" name="SetTable">
    <parameters>
     <parameter type="wxGridTableBase&#42; " name="table"></parameter>
     <parameter type="bool " name="takeOwnership" value="false"></parameter>
     <parameter type="wxGrid::wxGridSelectionModes " name="selmode" value="wxGrid::wxGridSelectCells"></parameter>
    </parameters>
    <description>
     <p>
      Passes a pointer to a custom grid table to be used by the grid. This
      should be called after the grid constructor and before using the grid
      object. If takeOwnership is set to true then the table will be deleted by
      the wxGrid destructor.
     </p>
     <p>
      Use this function instead of
      <ref type='method' target='method-wxGrid::CreateGrid'>wxGrid::CreateGrid</ref>
      when your application involves complex or non-string data or data sets
      that are too large to fit wholly in memory.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="ShowCellEditControl">
   <function type="void" name="ShowCellEditControl">
    <description>
     <p>
      Displays the in-place cell edit control for the current cell.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="XToCol">
   <function type="int" name="XToCol">
    <parameters>
     <parameter type="int " name="x"></parameter>
    </parameters>
    <description>
     <p>
      Returns the grid column that corresponds to the logical x coordinate.
      Returns
      <tt>wxNOT_FOUND</tt>
      if there is no column at the x position.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="XToEdgeOfCol">
   <function type="int" name="XToEdgeOfCol">
    <parameters>
     <parameter type="int " name="x"></parameter>
    </parameters>
    <description>
     <p>
      Returns the column whose right hand edge is close to the given logical x
      position. If no column edge is near to this position
      <tt>wxNOT_FOUND</tt>
      is returned.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="YToEdgeOfRow">
   <function type="int" name="YToEdgeOfRow">
    <parameters>
     <parameter type="int " name="y"></parameter>
    </parameters>
    <description>
     <p>
      Returns the row whose bottom edge is close to the given logical y
      position. If no row edge is near to this position
      <tt>wxNOT_FOUND</tt>
      is returned.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxGrid" name="YToRow">
   <function type="int" name="YToRow">
    <parameters>
     <parameter type="int " name="y"></parameter>
    </parameters>
    <description>
     <p>
      Returns the grid row that corresponds to the logical y coordinate. Returns
      <tt>wxNOT_FOUND</tt>
      if there is no row at the y position.
     </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="wxGridBagSizer">
 <description>
  <p class="classdesc">
   A
   <ref type='class' target='wxSizer'>wxSizer</ref>
   that can lay out items in a virtual grid like a
   <ref type='class' target='wxFlexGridSizer'>wxFlexGridSizer</ref>
   but in this case explicit positioning of the items is allowed using
   <ref type='class' target='wxGBPosition'>wxGBPosition</ref>
   , and items can optionally span more than one row and/or column using
   <ref type='class' 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="class" target="wxFlexGridSizer">wxFlexGridSizer</ref>
   
  <ref type="class" target="wxGridSizer">wxGridSizer</ref>
   
  <ref type="class" target="wxSizer">wxSizer</ref>
   
  <ref type="class" 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="class" target="wxGridCellEditor">wxGridCellEditor</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
  , 
  <ref type='class' target='wxGridCellFloatEditor'>wxGridCellFloatEditor</ref>
  , 
  <ref type='class' target='wxGridCellNumberEditor'>wxGridCellNumberEditor</ref>
  , 
  <ref type='class' target='wxGridCellTextEditor'>wxGridCellTextEditor</ref>
  , 
  <ref type='class' 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="class" target="wxGridCellRenderer">wxGridCellRenderer</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
  , 
  <ref type='class' target='wxGridCellStringRenderer'>wxGridCellStringRenderer</ref>
  , 
  <ref type='class' target='wxGridCellFloatRenderer'>wxGridCellFloatRenderer</ref>
  , 
  <ref type='class' 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="class" target="wxGridCellEditor">wxGridCellEditor</ref>
 </parents>
  
 <seealso>
  <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
  , 
  <ref type='class' target='wxGridCellFloatEditor'>wxGridCellFloatEditor</ref>
  , 
  <ref type='class' target='wxGridCellBoolEditor'>wxGridCellBoolEditor</ref>
  , 
  <ref type='class' target='wxGridCellTextEditor'>wxGridCellTextEditor</ref>
  , 
  <ref type='class' 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 type='class' target='wxGridCellTextEditor'>wxGridCellTextEditor</ref>
  , 
  <ref type='class' target='wxGridCellFloatEditor'>wxGridCellFloatEditor</ref>
  , 
  <ref type='class' target='wxGridCellBoolEditor'>wxGridCellBoolEditor</ref>
  , 
  <ref type='class' target='wxGridCellNumberEditor'>wxGridCellNumberEditor</ref>
  , 
  <ref type='class' 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="class" target="wxGridCellTextEditor">wxGridCellTextEditor</ref>
   
  <ref type="class" target="wxGridCellEditor">wxGridCellEditor</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
  , 
  <ref type='class' target='wxGridCellNumberEditor'>wxGridCellNumberEditor</ref>
  , 
  <ref type='class' target='wxGridCellBoolEditor'>wxGridCellBoolEditor</ref>
  , 
  <ref type='class' target='wxGridCellTextEditor'>wxGridCellTextEditor</ref>
  , 
  <ref type='class' 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="class" target="wxGridCellStringRenderer">wxGridCellStringRenderer</ref>
   
  <ref type="class" target="wxGridCellRenderer">wxGridCellRenderer</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
  , 
  <ref type='class' target='wxGridCellNumberRenderer'>wxGridCellNumberRenderer</ref>
  , 
  <ref type='class' target='wxGridCellStringRenderer'>wxGridCellStringRenderer</ref>
  , 
  <ref type='class' 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 type='unknown' 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 type='unknown' 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 type='unknown' 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 type='unknown' 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="class" target="wxGridCellTextEditor">wxGridCellTextEditor</ref>
   
  <ref type="class" target="wxGridCellEditor">wxGridCellEditor</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
  , 
  <ref type='class' target='wxGridCellFloatEditor'>wxGridCellFloatEditor</ref>
  , 
  <ref type='class' target='wxGridCellBoolEditor'>wxGridCellBoolEditor</ref>
  , 
  <ref type='class' target='wxGridCellTextEditor'>wxGridCellTextEditor</ref>
  , 
  <ref type='class' 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="class" target="wxGridellStringRenderer">wxGridellStringRenderer</ref>
   
  <ref type="class" target="wxGridCellRenderer">wxGridCellRenderer</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
  , 
  <ref type='class' target='wxGridCellStringRenderer'>wxGridCellStringRenderer</ref>
  , 
  <ref type='class' target='wxGridCellFloatRenderer'>wxGridCellFloatRenderer</ref>
  , 
  <ref type='class' 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 type='class' target='wxGridCellStringRenderer'>wxGridCellStringRenderer</ref>
  , 
  <ref type='class' target='wxGridCellNumberRenderer'>wxGridCellNumberRenderer</ref>
  , 
  <ref type='class' target='wxGridCellFloatRenderer'>wxGridCellFloatRenderer</ref>
  , 
  <ref type='class' 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="class" target="wxGridCellRenderer">wxGridCellRenderer</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellRenderer'>wxGridCellRenderer</ref>
  , 
  <ref type='class' target='wxGridCellNumberRenderer'>wxGridCellNumberRenderer</ref>
  , 
  <ref type='class' target='wxGridCellFloatRenderer'>wxGridCellFloatRenderer</ref>
  , 
  <ref type='class' 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="class" target="wxGridCellEditor">wxGridCellEditor</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxGridCellEditor'>wxGridCellEditor</ref>
  , 
  <ref type='class' target='wxGridCellFloatEditor'>wxGridCellFloatEditor</ref>
  , 
  <ref type='class' target='wxGridCellBoolEditor'>wxGridCellBoolEditor</ref>
  , 
  <ref type='class' target='wxGridCellNumberEditor'>wxGridCellNumberEditor</ref>
  , 
  <ref type='class' 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="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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="class" target="wxNotifyEvent">wxNotifyEvent</ref>
   
  <ref type="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/grid.h"/>
 </includes>
  
 <events></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="class" target="wxNotifyEvent">wxNotifyEvent</ref>
   
  <ref type="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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="class" target="wxNotifyEvent">wxNotifyEvent</ref>
   
  <ref type="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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="class" target="wxSizer">wxSizer</ref>
   
  <ref type="class" 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="class" 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="class" target="wxProtocol">wxProtocol</ref>
 </parents>
  
 <includes>
  <header name="wx/protocol/http.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxSocketBase'>wxSocketBase</ref>
  <ref type='class' 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>
    <fseealso>
     <ref type='class' target='wxInputStream'>wxInputStream</ref>
    </fseealso>
    <note>
     You can know the size of the file you are getting using 
     <ref type='method' target='method-wxStreamBase::GetSize'>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 type='method' target='method-wxInputStream::LastRead'>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"></p>
  <pre>
    WX_DECLARE_STRING_HASH_MAP( VALUE_T,     // type of the values
                                CLASSNAME ); // name of the class
</pre>
  <p></p>
  <p class="classdesc">
   Declares a hash map class named CLASSNAME, with
   <tt>wxString</tt>
   keys and VALUE_T values.
  </p>
  <p class="classdesc"></p>
  <pre>
    WX_DECLARE_VOIDPTR_HASH_MAP( VALUE_T,     // type of the values
                                 CLASSNAME ); // name of the class
</pre>
  <p></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"></p>
  <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>
  <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"></p>
  <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>
  <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>
  <p class="types">
   In the documentation below you should replace wxHashMap with the name you
   used in the class declaration.
  </p>
  <p class="types">
   <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 type='method' target='method-wxHashMap::insert'>insert()</ref>
     </td>
    </tr>
   </table>
  </p>
 </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>
  <p class="types">
   In the documentation below you should replace wxHashSet with the name you
   used in the class declaration.
  </p>
  <p class="types">
   <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 type='method' target='method-wxHashSet::insert'>insert()</ref>
     </td>
    </tr>
   </table>
  </p>
 </types>
  
 <iterators>
  <p class="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>
   .
  </p>
 </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 type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/hash.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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 type='class' 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 type='class' target='wxHtmlHelpController'>wxHtmlHelpController</ref>
     , a sophisticated help controller using
     <ref type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/help.h" comment="wxWidgets chooses the appropriate help controller class"/>
  <header name="wx/helpbase.h" comment="wxHelpControllerBase class"/>
  <header name="wx/helpwin.h" comment="Windows Help controller"/>
  <header name="wx/msw/helpchm.h" comment="MS HTML Help controller"/>
  <header name="wx/generic/helpext.h" comment="external HTML browser controller"/>
  <header name="wx/html/helpctrl.h" comment="wxHTML based help controller: wxHtmlHelpController"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxHtmlHelpController'>wxHtmlHelpController</ref>
  <ref type='unknown' 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 type='method' target='method-wxHelpController::DisplaySection'>wxHelpController::DisplaySection</ref>
      .
     </p>
     <p>
      <i>
       wxHtmlHelpController:
      </i>

      <i>
       sectionNo
      </i>
      is an identifier as specified in the
      <tt>.hhc</tt>
      file. See
      <ref type='unknown' target='helpformat'>Help files format</ref>
      .
     </p>
     <p>
      This function is for backward compatibility only, and applications should
      use
      <ref type='method' target='method-wxHelpController::DisplaySection'>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 type='unknown' 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 type='method' target='method-wxHtmlHelpController::KeywordSearch'>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 type='class' 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 type='method' target='method-wxWindow::SetHelpText'>wxWindow::SetHelpText</ref>
   .
  </p>
 </description>
  
 <category>
  Online help
 </category>
  
 <shortdesc>
  Class for context-sensitive help provision via a help controller
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxSimpleHelpProvider">wxSimpleHelpProvider</ref>
   
  <ref type="class" target="wxHelpProvider">wxHelpProvider</ref>
 </parents>
  
 <includes>
  <header name="wx/cshelp.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxHelpProvider'>wxHelpProvider</ref>
  <ref type='class' target='wxSimpleHelpProvider'>wxSimpleHelpProvider</ref>
   
  <ref type='class' target='wxContextHelp'>wxContextHelp</ref>
  <ref type='method' target='method-wxWindow::SetHelpText'>wxWindow::SetHelpText</ref>
   
  <ref type='method' target='method-wxWindow::GetHelpText'>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 type='class' 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="class" target="wxCommandEvent">wxCommandEvent</ref>
   
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='class' target='wxContextHelp'>wxContextHelp</ref>
  , 
  <ref type='class' target='wxDialog'>wxDialog</ref>
  , 
  <ref type='unknown' 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 type='class' target='wxContextHelp'>wxContextHelp</ref>
  <ref type='class' target='wxContextHelpButton'>wxContextHelpButton</ref>
   
  <ref type='class' target='wxSimpleHelpProvider'>wxSimpleHelpProvider</ref>
  <ref type='class' target='wxHelpControllerHelpProvider'>wxHelpControllerHelpProvider</ref>
   
  <ref type='method' target='method-wxWindow::SetHelpText'>wxWindow::SetHelpText</ref>
  <ref type='method' target='method-wxWindow::GetHelpText'>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 type='method' target='method-wxWindow::SetHelpText'>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 type='method' target='method-wxHelpProvider::GetHelp'>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 type='class' target='wxHtmlWindow'>wxHtmlWindow</ref>
   and
   <ref type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/html/htmlcell.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='cells'>Cells Overview</ref>
  , 
  <ref type='class' 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 type='method' target='method-wxHtmlCell::Draw'>Draw</ref>
      when the cell is certainly out of the screen (and thus invisible). This is
      not nonsense - some tags (like
      <ref type='class' 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 type='method' target='method-wxHtmlCell::GetNext'>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 type='method' target='method-wxHtmlCell::Find'>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 type='class' 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 type='method' target='method-wxHtmlCell::Layout'>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 type='method' target='method-wxHtmlCell::Layout'>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 type='class' target='wxHtmlWindow'>wxHtmlWindow</ref>
      this method of that cell is called. Default behavior is that it calls
      <ref type='method' target='method-wxHtmlWindow::LoadPage'>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 type='class' 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 type='method' target='method-wxHtmlContainerCell::InsertCell'>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 type='method' target='method-wxHtmlContainerCell::InsertCell'>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="class" 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="class" target="wxHtmlCell">wxHtmlCell</ref>
 </parents>
  
 <includes>
  <header name="wx/html/htmlcell.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' 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 type='method' target='method-wxHtmlContainerCell::GetIndentUnits'>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 type='method' target='method-wxHtmlContainerCell::SetAlignHor'>SetAlignHor</ref>
      and
      <ref type='method' target='method-wxHtmlContainerCell::SetAlignVer'>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 type='method' target='method-wxHtmlCell::Layout'>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 type='method' target='method-wxHtmlCell::Layout'>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 type='class' target='wxHtmlEasyPrinting'>wxHtmlEasyPrinting</ref>
   or
   <ref type='class' target='wxHtmlPrintout'>wxHtmlPrintout</ref>
   is strongly recommended.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" 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="const wxString&amp; " name="normal_face"></parameter>
     <parameter type="const wxString&amp; " name="fixed_face"></parameter>
     <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
    </parameters>
    <description>
     <p>
      Sets fonts. See
      <ref type='method' target='method-wxHtmlWindow::SetFonts'>wxHtmlWindow::SetFonts</ref>
      for detailed description.
     </p>
     <p>
      See also
      <ref type='method' target='method-wxHtmlDCRenderer::SetSize'>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 type='method' target='method-wxHtmlDCRenderer::Render'>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 type='class' target='wxFileSystem'>wxFileSystem</ref>
      for detailed explanation)
     </parameter>
    </parameters>
    <description>
     <p>
      Assign text to the renderer.
      <ref type='method' target='method-wxHtmlDCRenderer::Render'>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 type='method' target='method-wxHtmlDCRenderer::SetDC'>SetDC</ref></li>
       
      <li><ref type='method' target='method-wxHtmlDCRenderer::SetSize'>SetSize</ref></li>
       
      <li><ref type='method' target='method-wxHtmlDCRenderer::SetHtmlText'>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 type='method' target='method-wxHtmlDCRenderer::SetSize'>SetSize</ref>
      ) is smaller that total height and thus the page cannot fit into it. In
      that case you're supposed to call
      <ref type='method' target='method-wxHtmlDCRenderer::Render'>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="class" 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 type='method' target='method-wxPrinter::GetLastError'>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 type='method' target='method-wxPrinter::GetLastError'>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 type='method' target='method-wxPrinter::GetLastError'>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 type='method' target='method-wxPrinter::GetLastError'>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="const wxString&amp; " name="normal_face"></parameter>
     <parameter type="const wxString&amp; " name="fixed_face"></parameter>
     <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
    </parameters>
    <description>
     <p>
      Sets fonts. See
      <ref type='method' target='method-wxHtmlWindow::SetFonts'>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 type='class' 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 type='class' 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 type='class' target='wxHtmlWindow'>wxHtmlWindow</ref>
   . It allows you to read and display files of different file formats.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/html/htmlfilt.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' 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 type='class' 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 type='method' target='method-wxHtmlHelpController::AddBook'>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 type='unknown' 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 type='method' target='method-wxHtmlHelpController::SetTempDir'>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 type='class' 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 type='unknown' 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 type='method' target='method-wxConfigBase::Get'>wxConfigBase::Get</ref>
      and
      <ref type='method' target='method-wxConfigBase::Set'>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 type='class' target='wxHtmlHelpController'>wxHtmlHelpController</ref>
   and
   <ref type='class' 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="class" 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 type='class' 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="class" 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 type='method' target='method-wxHtmlHelpFrame::wxHtmlHelpFrame'>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 type='method' target='method-wxHtmlHelpController::ReadCustomization'>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 type='method' target='method-wxHtmlHelpController::WriteCustomization'>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="class" 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 type='method' target='method-wxHtmlWindow::OnLinkClicked'>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 type='method' target='method-wxHtmlWindow::OnLinkClicked'>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 type='method' target='method-wxHtmlLinkInfo::GetHref'>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 type='class' 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 type='method' target='method-wxHtmlListBox::OnGetItem'>OnGetItem()</ref>
   function.
  </p>
 </description>
  
 <category>
  Controls
 </category>
  
 <shortdesc>
  A listbox showing HTML content
 </shortdesc>
  
 <parents>
  <ref type="class" 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="long " name="style" value="0"></parameter>
     <parameter type="const wxString&amp; " name="name" value="wxVListBoxNameStr"></parameter>
    </parameters>
    <description>
     <p>
      Normal constructor which calls
      <ref type='method' target='method-wxHtmlListBox::Create'>Create()</ref>
      internally.
     </p>
    </description>
   </function>
    
   <function type="" name="wxHtmlListBox">
    <description>
     <p>
      Default constructor, you must call
      <ref type='method' target='method-wxHtmlListBox::Create'>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 type='method' target='method-wxVListBox::SetItemCount'>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 type='class' 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 type='method' target='method-wxFileSystem::ChangePathTo'>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>
    <fseealso>
     <ref type='method' target='method-wxHtmlListBox::GetSelectedTextColour'>GetSelectedTextColour</ref>
    </fseealso>
    <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 type='method' target='method-wxHtmlListBox::GetSelectedTextColour'>GetSelectedTextColour</ref>
      .
     </p>
     <p>
      It should be rarely, if ever, used because
      <ref type='method' target='method-wxVListBox::SetSelectionBackground'>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>
    <fseealso>
     <ref type='method' target='method-wxHtmlListBox::GetSelectedTextBgColour'>GetSelectedTextBgColour</ref>
     ,
     <br/>
      
     <ref type='method' target='method-wxVListBox::SetSelectionBackground'>SetSelectionBackground</ref>
     ,
     <br/>
      
     <ref type='method' target='method-wxSystemSettings::GetColour'>wxSystemSettings::GetColour</ref>
    </fseealso>
    <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 type='method' target='method-wxHtmlListBox::OnGetItem'>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 type='method' target='method-wxHtmlParser::Parse'>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 type='unknown' target='cells'>Cells Overview</ref>
  , 
  <ref type='unknown' target='handlers'>Tag Handlers Overview</ref>
  , 
  <ref type='class' 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 type='class' 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 type='method' target='method-wxHtmlParser::DoParsing'>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 type='method' target='method-wxHtmlWindow::OnOpeningURL'>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 type='method' target='method-wxHtmlParser::InitParser'>InitParser(source)</ref></li>
        
       <li>calls
        <ref type='method' target='method-wxHtmlParser::DoParsing'>DoParsing</ref></li>
        
       <li>calls
        <ref type='method' target='method-wxHtmlParser::GetProduct'>GetProduct</ref></li>
        
       <li>calls
        <ref type='method' target='method-wxHtmlParser::DoneParser'>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="const wxString&amp; " 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 type='method' target='method-wxHtmlParser::PopTagHandler'>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 type='method' target='method-wxHtmlTagHandler::GetSupportedTags'>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 type='method' target='method-wxHtmlParser::PushTagHandler'>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 type='method' target='method-wxHtmlParser::Parse'>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="class" 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 type='class' target='wxHtmlFilter'>wxHtmlFilter</ref>
      for further information.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlPrintout" name="SetFonts">
   <function type="void" name="SetFonts">
    <parameters>
     <parameter type="const wxString&amp; " name="normal_face"></parameter>
     <parameter type="const wxString&amp; " name="fixed_face"></parameter>
     <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
    </parameters>
    <description>
     <p>
      Sets fonts. See
      <ref type='method' target='method-wxHtmlWindow::SetFonts'>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 type='class' 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 type='unknown' 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 type='method' target='method-wxHtmlTag::HasParam'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/html/htmlpars.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='handlers'>Overview</ref>
  , 
  <ref type='class' 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 type='method' target='method-wxHtmlTagHandler::ParseInner'>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 type='class' 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 type='method' target='method-wxHtmlParser::DoParsing'>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 type='unknown' target='handlers'>TAGS_MODULE_&#42; macros</ref>
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents>
  <ref type="class" target="wxModule">wxModule</ref>
 </parents>
  
 <includes>
  <header name="wx/html/winpars.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='handlers'>Tag Handlers</ref>
  , 
  <ref type='class' target='wxHtmlTagHandler'>wxHtmlTagHandler</ref>
  , 
  <ref type='class' 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="class" 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 type='class' target='wxHtmlParser'>wxHtmlParser</ref>
   and its main goal is to parse HTML input so that it can be displayed in
   <ref type='class' target='wxHtmlWindow'>wxHtmlWindow</ref>
   . It uses a special
   <ref type='class' 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="class" target="wxHtmlParser">wxHtmlParser</ref>
 </parents>
  
 <includes>
  <header name="wx/html/winpars.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' 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 type='class' 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 type='unknown' 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 type='unknown' 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 type='method' target='method-wxHtmlWinParser::SetFontSize'>SetFontSize</ref>
      ,
      <ref type='method' target='method-wxHtmlWinParser::SetFontBold'>SetFontBold</ref>
      ,
      <ref type='method' target='method-wxHtmlWinParser::SetFontItalic'>SetFontItalic</ref>
      ,
      <ref type='method' target='method-wxHtmlWinParser::SetFontFixed'>SetFontFixed</ref>
      ,
      <ref type='method' target='method-wxHtmlWinParser::SetFontUnderlined'>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 type='unknown' 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 type='class' target='wxEncodingConverter'>wxEncodingConverter</ref>
      class used to do conversion between
      <ref type='method' target='method-wxHtmlWinParser::GetInputEncoding'>input encoding</ref>
      and
      <ref type='method' target='method-wxHtmlWinParser::GetOutputEncoding'>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 type='method' target='method-wxHtmlLinkInfo::GetHref'>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 type='unknown' 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 type='class' 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 type='method' target='method-wxHtmlContainerCell::SetAlignHor'>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 type='method' target='method-wxHtmlParser::Parse'>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="const wxString&amp; " name="normal_face"></parameter>
     <parameter type="const wxString&amp; " name="fixed_face"></parameter>
     <parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
    </parameters>
    <description>
     <p>
      Sets fonts. See
      <ref type='method' target='method-wxHtmlWindow::SetFonts'>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 type='class' 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="class" 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="wxHtmlWindow">
 <description>
  <p class="classdesc">
   wxHtmlWindow is probably the only class you will directly use unless you want
   to do something special (like adding new tag handlers or MIME filters).
  </p>
  <p class="classdesc">
   The purpose of this class is to display HTML pages (either local file or
   downloaded via HTTP protocol) in a window. The width of the window is
   constant - given in the constructor - and virtual height is changed
   dynamically depending on page size. Once the window is created you can set
   its content by calling
   <ref type='method' target='method-wxHtmlWindow::SetPage'>SetPage(text)</ref>
   ,
   <ref type='method' target='method-wxHtmlWindow::LoadPage'>LoadPage(filename)</ref>
   or
   <ref type='method' target='method-wxHtmlWindow::LoadFile'>LoadFile</ref>
   .
  </p>
 </description>
  
 <category>
  HTML classes
 </category>
  
 <shortdesc>
  HTML window class
 </shortdesc>
  
 <note>
  wxHtmlWindow uses the 
  <ref type='class' target='wxImage'>wxImage</ref>
   class for displaying images. Don't forget to initialize all image formats you need before loading any page! (See 
  <ref type='unknown' target='wxinitallimagehandlers'>wxInitAllImageHandlers</ref>
   and 
  <ref type='method' target='method-wxImage::AddHandler'>wxImage::AddHandler</ref>
  .)
 </note>
  
 <parents>
  <ref type="class" target="wxScrolledWindow">wxScrolledWindow</ref>
 </parents>
  
 <includes>
  <header name="wx/html/htmlwin.h"/>
 </includes>
  
 <windowstyles>
  <style name="wxHW_SCROLLBAR_NEVER">
   wxHW_SCROLLBAR_NEVER
  </style>
  <style name="wxHW_SCROLLBAR_AUTO">
   wxHW_SCROLLBAR_AUTO
  </style>
  <style name="wxHW_NO_SELECTION">
   wxHW_NO_SELECTION
  </style>
 </windowstyles>
  
 <members>
  <member class="wxHtmlWindow" name="wxHtmlWindow">
   <function type="" name="wxHtmlWindow">
    <description>
     <p>
      Default constructor.
     </p>
    </description>
   </function>
    
   <function type="" name="wxHtmlWindow">
    <parameters>
     <parameter type="wxWindow &#42;" name="parent"></parameter>
     <parameter type="wxWindowID " name="id" value="-1"></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="wxHW_DEFAULT_STYLE">
      Window style. See
      <ref type='class' target='wxHtmlWindow'>wxHtmlWindow</ref>
      .
     </parameter>
     <parameter type="const wxString&amp; " name="name" value="&quot;htmlWindow&quot;"></parameter>
    </parameters>
    <description>
     <p>
      Constructor. The parameters are the same as for the
      <ref type='class' target='wxScrolledWindow'>wxScrolledWindow</ref>
      constructor.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="AddFilter">
   <function type="static void" name="AddFilter">
    <parameters>
     <parameter type="wxHtmlFilter &#42;" name="filter"></parameter>
    </parameters>
    <description>
     <p>
      Adds
      <ref type='unknown' target='filters'>input filter</ref>
      to the static list of available filters. These filters are present by
      default:
     </p>
     <p>
      <ul>
       <li><tt>text/html</tt>
        MIME type</li>
        
       <li><tt>image/&#42;</tt>
        MIME types</li>
        
       <li>Plain Text filter (this filter is used if no other filter matches)</li>
      </ul>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="AppendToPage">
   <function type="bool" name="AppendToPage">
    <parameters>
     <parameter type="const wxString&amp; " name="source">
      HTML code fragment
     </parameter>
    </parameters>
    <returnvalue>
     false if an error occurred, true otherwise.
    </returnvalue>
    <description>
     <p>
      Appends HTML fragment to currently displayed text and refreshes the
      window.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="GetInternalRepresentation">
   <function type="wxHtmlContainerCell&#42;" name="GetInternalRepresentation" suffix="const">
    <description>
     <p>
      Returns pointer to the top-level container.
     </p>
     <p>
      See also
      <ref type='unknown' target='cells'>Cells Overview</ref>
      ,
      <ref type='unknown' target='printing'>Printing Overview</ref>
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="GetOpenedAnchor">
   <function type="wxString" name="GetOpenedAnchor">
    <description>
     <p>
      Returns anchor within currently opened page (see
      <ref type='method' target='method-wxHtmlWindow::GetOpenedPage'>GetOpenedPage</ref>
      ). If no page is opened or if the displayed page wasn't produced by call
      to LoadPage, empty string is returned.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="GetOpenedPage">
   <function type="wxString" name="GetOpenedPage">
    <description>
     <p>
      Returns full location of the opened page. If no page is opened or if the
      displayed page wasn't produced by call to LoadPage, empty string is
      returned.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="GetOpenedPageTitle">
   <function type="wxString" name="GetOpenedPageTitle">
    <description>
     <p>
      Returns title of the opened page or wxEmptyString if current page does not
      contain
      <tt>&lt;TITLE&gt;</tt>
      tag.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="GetRelatedFrame">
   <function type="wxFrame&#42;" name="GetRelatedFrame" suffix="const">
    <description>
     <p>
      Returns the related frame.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="HistoryBack">
   <function type="bool" name="HistoryBack">
    <description>
     <p>
      Moves back to the previous page. (each page displayed using
      <ref type='method' target='method-wxHtmlWindow::LoadPage'>LoadPage</ref>
      is stored in history list.)
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="HistoryCanBack">
   <function type="bool" name="HistoryCanBack">
    <description>
     <p>
      Returns true if it is possible to go back in the history (i.e.
      HistoryBack() won't fail).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="HistoryCanForward">
   <function type="bool" name="HistoryCanForward">
    <description>
     <p>
      Returns true if it is possible to go forward in the history (i.e.
      HistoryBack() won't fail).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="HistoryClear">
   <function type="void" name="HistoryClear">
    <description>
     <p>
      Clears history.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="HistoryForward">
   <function type="bool" name="HistoryForward">
    <description>
     <p>
      Moves to next page in history.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="LoadFile">
   <function type="virtual bool" name="LoadFile">
    <parameters>
     <parameter type="const wxFileName&amp; " name="filename"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxHtmlWindow::LoadPage'>LoadPage</ref>
    </fseealso>
    <returnvalue>
     false if an error occurred, true otherwise
    </returnvalue>
    <description>
     <p>
      Loads HTML page from file and displays it.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="LoadPage">
   <function type="virtual bool" name="LoadPage">
    <parameters>
     <parameter type="const wxString&amp; " name="location">
      The address of document. See
      <ref type='class' target='wxFileSystem'>wxFileSystem</ref>
      for details on address format and behaviour of &quot;opener&quot;.
     </parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxHtmlWindow::LoadFile'>LoadFile</ref>
    </fseealso>
    <returnvalue>
     false if an error occurred, true otherwise
    </returnvalue>
    <description>
     <p>
      Unlike SetPage this function first loads HTML page from
      <i>
       location
      </i>
      and then displays it. See example:
     </p>
     <pre>
htmlwin-&gt;LoadPage(&quot;help/myproject/index.htm&quot;);
</pre>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="OnCellClicked">
   <function type="virtual void" name="OnCellClicked">
    <parameters>
     <parameter type="wxHtmlCell &#42;" name="cell">
      The cell inside which the mouse was clicked, always a simple (i.e. non
      container) cell
     </parameter>
     <parameter type="wxCoord " name="x"></parameter>
     <parameter type="wxCoord " name="y"></parameter>
     <parameter type="const wxMouseEvent&amp; " name="event">
      The mouse event containing other information about the click
     </parameter>
    </parameters>
    <description>
     <p>
      This method is called when a mouse button is clicked inside wxHtmlWindow.
      The default behaviour is to call
      <ref type='method' target='method-wxHtmlWindow::OnLinkClicked'>OnLinkClicked</ref>
      if the cell contains a hypertext link.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="OnCellMouseHover">
   <function type="virtual void" name="OnCellMouseHover">
    <parameters>
     <parameter type="wxHtmlCell &#42;" name="cell">
      The cell inside which the mouse is currently, always a simple (i.e. non
      container) cell
     </parameter>
     <parameter type="wxCoord " name="x"></parameter>
     <parameter type="wxCoord " name="y"></parameter>
    </parameters>
    <description>
     <p>
      This method is called when a mouse moves over an HTML cell.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="OnLinkClicked">
   <function type="virtual void" name="OnLinkClicked">
    <parameters>
     <parameter type="const wxHtmlLinkInfo&amp; " name="link"></parameter>
    </parameters>
    <description>
     <p>
      Called when user clicks on hypertext link. Default behaviour is to call
      <ref type='method' target='method-wxHtmlWindow::LoadPage'>LoadPage</ref>
      and do nothing else.
     </p>
     <p>
      Also see
      <ref type='class' target='wxHtmlLinkInfo'>wxHtmlLinkInfo</ref>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="OnOpeningURL">
   <function type="virtual wxHtmlOpeningStatus" name="OnOpeningURL">
    <parameters>
     <parameter type="wxHtmlURLType " name="type"></parameter>
     <parameter type="const wxString&amp; " name="url">
      URL being opened.
     </parameter>
     <parameter type="wxString &#42;" name="redirect">
      Pointer to wxString variable that must be filled with an URL if
      OnOpeningURL returns
      <tt>wxHTML_REDIRECT</tt>
      .
     </parameter>
    </parameters>
    <returnvalue>
     <table>
      <tr>
       <td>
        <b>
         wxHTML_OPEN
        </b>
       </td>
       <td>
        Open the URL.
       </td>
      </tr>
       
      <tr>
       <td>
        <b>
         wxHTML_BLOCK
        </b>
       </td>
       <td>
        Deny access to the URL, 
        <ref type='method' target='method-wxHtmlParser::OpenURL'>wxHtmlParser::OpenURL</ref>
         will return NULL.
       </td>
      </tr>
       
      <tr>
       <td>
        <b>
         wxHTML_REDIRECT
        </b>
       </td>
       <td>
        Don't open 
        <i>
         url
        </i>
        , redirect to another URL. OnOpeningURL must fill 
        <i>
         &#42;redirect
        </i>
         with the new URL. OnOpeningURL will be called again on returned URL.
       </td>
      </tr>
     </table>
    </returnvalue>
    <description>
     <p>
      Called when an URL is being opened (either when the user clicks on a link
      or an image is loaded). The URL will be opened only if OnOpeningURL
      returns
      <tt>wxHTML_OPEN</tt>
      . This method is called by
      <ref type='method' target='method-wxHtmlParser::OpenURL'>wxHtmlParser::OpenURL</ref>
      . You can override OnOpeningURL to selectively block some URLs (e.g. for
      security reasons) or to redirect them elsewhere. Default behaviour is to
      always return
      <tt>wxHTML_OPEN</tt>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="OnSetTitle">
   <function type="virtual void" name="OnSetTitle">
    <parameters>
     <parameter type="const wxString&amp; " name="title"></parameter>
    </parameters>
    <description>
     <p>
      Called on parsing
      <tt>&lt;TITLE&gt;</tt>
      tag.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="ReadCustomization">
   <function type="virtual void" name="ReadCustomization">
    <parameters>
     <parameter type="wxConfigBase &#42;" name="cfg">
      wxConfig from which you want to read the configuration.
     </parameter>
     <parameter type="wxString " name="path" value="wxEmptyString">
      Optional path in config tree. If not given current path is used.
     </parameter>
    </parameters>
    <description>
     <p>
      This reads custom settings from wxConfig. It uses the path 'path' if
      given, otherwise it saves info into currently selected path. The values
      are stored in sub-path
      <tt>wxHtmlWindow</tt>
     </p>
     <p>
      Read values: all things set by SetFonts, SetBorders.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SelectAll">
   <function type="void" name="SelectAll">
    <fseealso>
     <ref type='method' target='method-wxHtmlWindow::SelectLine'>SelectLine</ref>
     , 
     <ref type='method' target='method-wxHtmlWindow::SelectWord'>SelectWord</ref>
    </fseealso>
    <description>
     <p>
      Selects all text in the window.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SelectionToText">
   <function type="wxString" name="SelectionToText">
    <description>
     <p>
      Returns current selection as plain text. Returns empty string if no text
      is currently selected.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SelectLine">
   <function type="void" name="SelectLine">
    <parameters>
     <parameter type="const wxPoint&amp; " name="pos"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxHtmlWindow::SelectAll'>SelectAll</ref>
     , 
     <ref type='method' target='method-wxHtmlWindow::SelectWord'>SelectWord</ref>
    </fseealso>
    <description>
     <p>
      Selects the line of text that
      <i>
       pos
      </i>
      points at. Note that
      <i>
       pos
      </i>
      is relative to the top of displayed page, not to window's origin, use
      <ref type='method' target='method-wxScrolledWindow::CalcUnscrolledPosition'>CalcUnscrolledPosition</ref>
      to convert physical coordinate.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SelectWord">
   <function type="void" name="SelectWord">
    <parameters>
     <parameter type="const wxPoint&amp; " name="pos"></parameter>
    </parameters>
    <fseealso>
     <ref type='method' target='method-wxHtmlWindow::SelectAll'>SelectAll</ref>
     , 
     <ref type='method' target='method-wxHtmlWindow::SelectLine'>SelectLine</ref>
    </fseealso>
    <description>
     <p>
      Selects the word at position
      <i>
       pos
      </i>
      . Note that
      <i>
       pos
      </i>
      is relative to the top of displayed page, not to window's origin, use
      <ref type='method' target='method-wxScrolledWindow::CalcUnscrolledPosition'>CalcUnscrolledPosition</ref>
      to convert physical coordinate.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SetBorders">
   <function type="void" name="SetBorders">
    <parameters>
     <parameter type="int " name="b">
      indentation from borders in pixels
     </parameter>
    </parameters>
    <description>
     <p>
      This function sets the space between border of window and HTML contents.
      See image:
     </p>
     <p>
      \helponly{\image{}{border.bmp}}
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SetFonts">
   <function type="void" name="SetFonts">
    <parameters>
     <parameter type="const wxString&amp; " name="normal_face">
      This is face name for normal (i.e. non-fixed) font. It can be either empty
      string (then the default face is chosen) or platform-specific face name.
      Examples are &quot;helvetica&quot; under Unix or &quot;Times New
      Roman&quot; under Windows.
     </parameter>
     <parameter type="const wxString&amp; " name="fixed_face">
      The same thing for fixed face ( &lt;TT&gt;..&lt;/TT&gt; )
     </parameter>
     <parameter type="const int &#42;" name="sizes" value="NULL">
      This is an array of 7 items of
      <i>
       int
      </i>
      type. The values represent size of font with HTML size from -2 to +4 (
      &lt;FONT SIZE=-2&gt; to &lt;FONT SIZE=+4&gt; ). Default sizes are used if
      <i>
       sizes
      </i>
      is NULL.
     </parameter>
    </parameters>
    <description>
     <p>
      This function sets font sizes and faces.
     </p>
     <p>
      \wxheading{Defaults}
     </p>
     <p>
      Default font sizes are defined by constants wxHTML_FONT_SIZE_1,
      wxHTML_FONT_SIZE_2, ..., wxHTML_FONT_SIZE_7. Note that they differ among
      platforms. Default face names are empty strings.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SetPage">
   <function type="bool" name="SetPage">
    <parameters>
     <parameter type="const wxString&amp; " name="source">
      The HTML document source to be displayed.
     </parameter>
    </parameters>
    <returnvalue>
     false if an error occurred, true otherwise.
    </returnvalue>
    <description>
     <p>
      Sets HTML page and display it. This won't
      <b>
       load
      </b>
      the page!! It will display the
      <i>
       source
      </i>
      . See example:
     </p>
     <pre>
htmlwin -&gt; SetPage(&quot;&lt;html&gt;&lt;body&gt;Hello, world!&lt;/body&gt;&lt;/html&gt;&quot;);
</pre>
     <p>
      If you want to load a document from some location use
      <ref type='method' target='method-wxHtmlWindow::LoadPage'>LoadPage</ref>
      instead.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SetRelatedFrame">
   <function type="void" name="SetRelatedFrame">
    <parameters>
     <parameter type="wxFrame&#42; " name="frame"></parameter>
     <parameter type="const wxString&amp; " name="format"></parameter>
    </parameters>
    <description>
     <p>
      Sets the frame in which page title will be displayed.
      <i>
       format
      </i>
      is format of frame title, e.g. &quot;HtmlHelp : %s&quot;. It must contain
      exactly one %s. This %s is substituted with HTML page title.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="SetRelatedStatusBar">
   <function type="void" name="SetRelatedStatusBar">
    <parameters>
     <parameter type="int " name="bar">
      statusbar slot number (0..n)
     </parameter>
    </parameters>
    <description>
     <p>
      <b>
       After
      </b>
      calling
      <ref type='method' target='method-wxHtmlWindow::SetRelatedFrame'>SetRelatedFrame</ref>
      , this sets statusbar slot where messages will be displayed. (Default is
      -1 = no messages.)
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="ToText">
   <function type="wxString" name="ToText">
    <description>
     <p>
      Returns content of currently displayed page as plain text.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxHtmlWindow" name="WriteCustomization">
   <function type="virtual void" name="WriteCustomization">
    <parameters>
     <parameter type="wxConfigBase &#42;" name="cfg">
      wxConfig to which you want to save the configuration.
     </parameter>
     <parameter type="wxString " name="path" value="wxEmptyString">
      Optional path in config tree. If not given, the current path is used.
     </parameter>
    </parameters>
    <description>
     <p>
      Saves custom settings into wxConfig. It uses the path 'path' if given,
      otherwise it saves info into currently selected path. Regardless of
      whether the path is given or not, the function creates sub-path
      <tt>wxHtmlWindow</tt>
      .
     </p>
     <p>
      Saved values: all things set by SetFonts, SetBorders.
     </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="wxIPV4address">
 <description></description>
  
 <category>
  Networking classes
 </category>
  
 <shortdesc>
  Represents an Internet address
 </shortdesc>
  
 <parents>
  <ref type="class" 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 type='method' target='method-wxIPV4address::LocalHost'>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 type='method' target='method-wxIPV4address::AnyAddress'>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 type='class' 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="class" 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 type='class' target='wxTreeCtrl'>wxTreeCtrl</ref>
   and
   <ref type='class' 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 type='unknown' target='wxbitmapoverview'>Bitmap and icon overview</ref>
   .
  </p>
 </remarks>
  
 <parents>
  <ref type="class" target="wxBitmap">wxBitmap</ref>
   
  <ref type="class" target="wxGDIObject">wxGDIObject</ref>
   
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/icon.h"/>
 </includes>
  
 <predefs>
  <p class="predefs">
   Objects:
  </p>
  <p class="predefs">
   <b>
    wxNullIcon
   </b>
  </p>
 </predefs>
  
 <seealso>
  <ref type='unknown' target='wxbitmapoverview'>Bitmap and icon overview</ref>
  <ref type='unknown' target='supportedbitmapformats'>supported bitmap file formats</ref>
   
  <ref type='method' target='method-wxDC::DrawIcon'>wxDC::DrawIcon</ref>
  <ref type='class' 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 type='class' target='wxIconLocation'>wxIconLocation</ref>
      .
     </parameter>
    </parameters>
    <fseealso></fseealso>
    <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 type='class' 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 type='method' target='method-wxIcon::LoadFile'>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">
    <fseealso>
     <ref type='method' target='method-wxIcon::GetHeight'>wxIcon::GetHeight</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='unknown' target='wxiconctor'>wxIcon::wxIcon</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxIcon::LoadFile'>wxIcon::LoadFile</ref>
      \end{comment}
    </fseealso>
    <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 type='method' target='method-wxDialog::SetIcons'>wxDialog::SetIcons</ref>
   and
   <ref type='method' target='method-wxTopLevelWindow::SetIcons'>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 type='class' target='wxIcon'>wxIcon</ref>
   from it.
  </p>
 </description>
  
 <category>
  Miscellaneous
 </category>
  
 <parents></parents>
  
 <includes>
  <header name="wx/iconloc.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxIcon'>wxIcon</ref>
  <ref type='method' target='method-wxFileType::GetIcon'>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="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='unknown' target='eventhandlingoverview'>Event handling overview</ref>
  , 
  <ref type='method' target='method-wxTopLevelWindow::Iconize'>wxTopLevelWindow::Iconize</ref>
  , 
  <ref type='method' target='method-wxTopLevelWindow::IsIconized'>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
   becomes idle. Note that, unless you do something specifically, the idle
   events are not sent if the system remains idle once it has become it, e.g.
   only a single idle event will be generated until something else resulting in
   more normal events happens and only then is the next idle event sent again.
   If you need to ensure a continuous stream of idle events, you can either use
   <ref type='method' target='method-wxIdleEvent::RequestMore'>RequestMore</ref>
   method in your handler or call
   <ref type='unknown' target='wxwakeupidle'>wxWakeUpIdle</ref>
   periodically (for example from timer event), but note that both of these
   approaches (and especially the first one) increase the system load and so
   should be avoided if possible.
  </p>
  <p class="classdesc">
   By default, idle events are sent to all windows (and also
   <ref type='class' target='wxApp'>wxApp</ref>
   , as usual). If this is causing a significant overhead in your application,
   you can call
   <ref type='method' target='method-wxIdleEvent::SetMode'>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>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  An idle event
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='unknown' target='eventhandlingoverview'>Event handling overview</ref>
  <ref type='class' target='wxUpdateUIEvent'>wxUpdateUIEvent</ref>
   
  <ref type='method' target='method-wxWindow::OnInternalIdle'>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>
    <fseealso>
     <ref type='method' target='method-wxIdleEvent::SetMode'>wxIdleEvent::SetMode</ref>
    </fseealso>
    <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 type='method' target='method-wxIdleEvent::SetMode'>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 type='method' target='method-wxIdleEvent::SetMode'>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>
    <fseealso>
     <ref type='method' target='method-wxIdleEvent::MoreRequested'>wxIdleEvent::MoreRequested</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxIdleEvent::RequestMore'>wxIdleEvent::RequestMore</ref>
    </fseealso>
    <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 type='method' target='method-wxBitmap::ConvertToImage'>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 type='class' target='wxDC'>wxDC</ref>
   . Instead, a platform-specific
   <ref type='class' target='wxBitmap'>wxBitmap</ref>
   object must be created from it using the
   <ref type='unknown' target='wxbitmapctor'>wxBitmap::wxBitmap(wxImage,int depth)</ref>
   constructor. This bitmap can then be drawn in a device context, using
   <ref type='method' target='method-wxDC::DrawBitmap'>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 type='class' 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 type='method' target='method-wxImage::GetAlpha'>GetAlpha</ref>
   you should check if this image contains an alpha channel with
   <ref type='method' target='method-wxImage::HasAlpha'>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 type='method' target='method-wxImage::AddHandler'>wxImage::AddHandler</ref>
   or
   <ref type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/image.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxBitmap'>wxBitmap</ref>
   
  <ref type='unknown' 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 type='method' target='method-wxBitmap::ConvertToImage'>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>
    <fseealso>
     <ref type='method' target='method-wxImage::LoadFile'>wxImage::LoadFile</ref>
    </fseealso>
    <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 type='method' target='method-wxImage::AddHandler'>wxImage::AddHandler</ref>
      or
      <ref type='unknown' target='wxinitallimagehandlers'>wxInitAllImageHandlers</ref>
      .
     </p>
     <p>
      Note: you can use
      <ref type='method' target='method-wxImage::GetOptionInt'>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>
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
    </fseealso>
    <description>
     <p>
      Adds a handler to the end of the static list of format handlers.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxImage" name="CanRead">
   <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 type='class' 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 type='method' target='method-wxImage::FindFirstUnusedColour'>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 type='unknown' 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>
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
    </fseealso>
    <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 type='method' target='method-wxImage::HasAlpha'>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 type='method' target='method-wxImage::GetData'>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\ldots 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 type='method' target='method-wxImage::SetData'>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">
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='method' target='method-wxImage::GetHeight'>wxImage::GetHeight</ref>
    </fseealso>
    <description>
     <p>
      Gets the width of the image in pixels.
     </p>
    </description>
   </function>
  </member>
   
  <member class="HSVValue" name="HSVValue">
   <function type="" name="HSVValue">
    <parameters>
     <parameter type="double " name="h" value="0.0"></parameter>
     <parameter type="double " name="s" value="0.0"></parameter>
     <parameter type="double " name="v" value="0.0"></parameter>
    </parameters>
    <description>
     <p>
      Constructor for HSVValue, an object that contains values for hue,
      saturation and value which represent the value of a color. It is used by
      <ref type='method' target='method-wxImage::HSVtoRGB'>wxImage::HSVtoRGB</ref>
      and
      <ref type='method' target='method-wxImage::RGBtoHSV'>wxImage::RGBtoHSV</ref>
      , which converts between HSV color space and RGB color space.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxImage" name="HSVtoRGB">
   <function type="wxImage::RGBValue" name="HSVtoRGB">
    <parameters>
     <parameter type="const HSVValue &amp; " name="hsv"></parameter>
    </parameters>
    <description>
     <p>
      Converts a color in HSV color space to RGB color space.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxImage" name="HasAlpha">
   <function type="bool" name="HasAlpha" suffix="const">
    <fseealso>
     <ref type='method' target='method-wxImage::GetAlpha'>GetAlpha</ref>
     <ref type='method' target='method-wxImage::SetAlpha'>SetAlpha</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::SetOption'>wxImage::SetOption</ref>
     , 
     <ref type='method' target='method-wxImage::GetOptionInt'>wxImage::GetOptionInt</ref>
     , 
     <ref type='method' target='method-wxImage::HasOption'>wxImage::HasOption</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::SetOption'>wxImage::SetOption</ref>
     , 
     <ref type='method' target='method-wxImage::GetOption'>wxImage::GetOption</ref>
    </fseealso>
    <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 type='method' target='method-wxImage::HasOption'>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>
    <fseealso>
     <ref type='method' target='method-wxImage::SetOption'>wxImage::SetOption</ref>
     , 
     <ref type='method' target='method-wxImage::GetOption'>wxImage::GetOption</ref>
     , 
     <ref type='method' target='method-wxImage::GetOptionInt'>wxImage::GetOptionInt</ref>
    </fseealso>
    <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">
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
      
     <ref type='unknown' target='wxinitallimagehandlers'>wxInitAllImageHandlers</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::SaveFile'>wxImage::SaveFile</ref>
    </fseealso>
    <remarks>
     <p>
      Depending on how wxWidgets has been configured, not all formats may be
      available.
     </p>
     <p>
      Note: you can use
      <ref type='method' target='method-wxImage::GetOptionInt'>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="RGBValue" name="RGBValue">
   <function type="" name="RGBValue">
    <parameters>
     <parameter type="unsigned char " name="r" value="0"></parameter>
     <parameter type="unsigned char " name="g" value="0"></parameter>
     <parameter type="unsigned char " name="b" value="0"></parameter>
    </parameters>
    <description>
     <p>
      Constructor for RGBValue, an object that contains values for red, green
      and blud which represent the value of a color. It is used by
      <ref type='method' target='method-wxImage::HSVtoRGB'>wxImage::HSVtoRGB</ref>
      and
      <ref type='method' target='method-wxImage::RGBtoHSV'>wxImage::RGBtoHSV</ref>
      , which converts between HSV color space and RGB color space.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxImage" name="RGBtoHSV">
   <function type="wxImage::HSVValue" name="RGBtoHSV">
    <parameters>
     <parameter type="const RGBValue&amp; " name="rgb"></parameter>
    </parameters>
    <description>
     <p>
      Converts a color in RGB color space to HSV color space.
     </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>
    <fseealso>
     <ref type='class' target='wxImageHandler'>wxImageHandler</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::Scale'>Scale</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::Size'>Size</ref>
    </fseealso>
    <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="RotateHue">
   <function type="void" name="RotateHue">
    <parameters>
     <parameter type="double " name="angle"></parameter>
    </parameters>
    <description>
     <p>
      Rotates the hue of each pixel in the image by
      <i>
       angle
      </i>
      , which is a double in the range of -1.0 to +1.0, where -1.0 corresponds
      to -360 degrees and +1.0 corresponds to +360 degrees.
     </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>
    <fseealso>
     <ref type='method' target='method-wxImage::LoadFile'>wxImage::LoadFile</ref>
    </fseealso>
    <remarks>
     <p>
      Depending on how wxWidgets has been configured, not all formats may be
      available.
     </p>
     <p>
      Note: you can use
      <ref type='method' target='method-wxImage::GetOptionInt'>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>
    <fseealso>
     <ref type='method' target='method-wxImage::Rescale'>Rescale</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::Resize'>Resize</ref>
    </fseealso>
    <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 type='method' target='method-wxImage::SetData'>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 type='method' target='method-wxImage::HasAlpha'>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 type='method' target='method-wxImage::GetData'>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>
    <fseealso>
     <ref type='method' target='method-wxImage::GetOption'>wxImage::GetOption</ref>
     , 
     <ref type='method' target='method-wxImage::GetOptionInt'>wxImage::GetOptionInt</ref>
     , 
     <ref type='method' target='method-wxImage::HasOption'>wxImage::HasOption</ref>
    </fseealso>
    <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 type='method' target='method-wxImage::GetData'>GetData</ref>
      method.
     </p>
    </description>
   </function>
    
   <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 type='method' target='method-wxImage::AddHandler'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/image.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxImage'>wxImage</ref>
   
  <ref type='unknown' 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>
    <fseealso>
     <ref type='method' target='method-wxImage::LoadFile'>wxImage::LoadFile</ref>
      
     <ref type='method' target='method-wxImage::SaveFile'>wxImage::SaveFile</ref>
      
     <ref type='method' target='method-wxImageHandler::SaveFile'>wxImageHandler::SaveFile</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxImage::LoadFile'>wxImage::LoadFile</ref>
      
     <ref type='method' target='method-wxImage::SaveFile'>wxImage::SaveFile</ref>
      
     <ref type='method' target='method-wxImageHandler::LoadFile'>wxImageHandler::LoadFile</ref>
    </fseealso>
    <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 type='class' target='wxTreeCtrl'>wxTreeCtrl</ref>
   and
   <ref type='class' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/imaglist.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxTreeCtrl'>wxTreeCtrl</ref>
  <ref type='class' 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>
    <fseealso>
     <ref type='method' target='method-wxImageList::Create'>wxImageList::Create</ref>
    </fseealso>
    <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 type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/layout.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='constraintsoverview'>Overview and examples</ref>
  , 
  <ref type='class' target='wxLayoutConstraints'>wxLayoutConstraints</ref>
  <ref type='method' target='method-wxWindow::SetConstraints'>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 type='method' target='method-wxWindow::TransferDataToWindow'>wxWindow::TransferDataToWindow</ref>
   .
  </p>
 </description>
  
 <category>
  Events
 </category>
  
 <shortdesc>
  A dialog initialisation event
 </shortdesc>
  
 <parents>
  <ref type="class" target="wxEvent">wxEvent</ref>
   
  <ref type="class" 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 type='unknown' 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="class" 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 type='method' target='method-wxInputStream::Read'>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 type='method' target='method-wxInputStream::LastRead'>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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/joystick.h"/>
 </includes>
  
 <seealso>
  <ref type='class' 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">
    <fseealso>
     <ref type='method' target='method-wxJoystick::SetCapture'>wxJoystick::SetCapture</ref>
     <ref type='class' target='wxJoystickEvent'>wxJoystickEvent</ref>
    </fseealso>
    <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>
    <fseealso>
     <ref type='method' target='method-wxJoystick::ReleaseCapture'>wxJoystick::ReleaseCapture</ref>
     <ref type='class' target='wxJoystickEvent'>wxJoystickEvent</ref>
    </fseealso>
    <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="class" 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 type='class' 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 type='unknown' 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 type='method' target='method-wxKeyEvent::ShiftDown'>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 type='unknown' 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="class" 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 type='method' target='method-wxKeyEvent::ControlDown'>ControlDown()</ref>
      and under Mac this is the same as
      <ref type='method' target='method-wxKeyEvent::MetaDown'>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 type='unknown' 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 type='method' target='method-wxKeyEvent::GetUnicodeKey'>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 type='class' 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="class" 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 type='class' 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 type='class' target='wxCalculateLayoutEvent'>wxCalculateLayoutEvent</ref>
   .
  </event>
 </events>
  
 <types>
  <p class="types"></p>
  <pre>
enum wxLayoutOrientation {
    wxLAYOUT_HORIZONTAL,
    wxLAYOUT_VERTICAL
};

enum wxLayoutAlignment {
    wxLAYOUT_NONE,
    wxLAYOUT_TOP,
    wxLAYOUT_LEFT,
    wxLAYOUT_RIGHT,
    wxLAYOUT_BOTTOM,
};
</pre>
  <p></p>
 </types>
  
 <seealso>
  <ref type='class' target='wxSashEvent'>wxSashEvent</ref>
  <ref type='class' target='wxSashLayoutWindow'>wxSashLayoutWindow</ref>
  <ref type='unknown' target='eventhandlingoverview'>Event handling overview</ref>
   
  <ref type='class' target='wxCalculateLayoutEvent'>wxCalculateLayoutEvent</ref>
  , 
  <ref type='class' target='wxQueryLayoutInfoEvent'>wxQueryLayoutInfoEvent</ref>
  , 
  <ref type='class' target='wxSashLayoutWindow'>wxSashLayoutWindow</ref>
  , 
  <ref type='class' 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 type='method' target='method-wxLayoutAlgorithm::LayoutWindow'>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 type='unknown' 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="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/layout.h"/>
 </includes>
  
 <seealso>
  <ref type='unknown' target='constraintsoverview'>Overview and examples</ref>
  , 
  <ref type='class' target='wxIndividualLayoutConstraint'>wxIndividualLayoutConstraint</ref>
  <ref type='method' target='method-wxWindow::SetConstraints'>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="wxList">
 <description>
  <p class="classdesc">
   wxList classes provide linked list functionality for wxWidgets, and for an
   application if it wishes. Depending on the form of constructor used, a list
   can be keyed on integer or string keys to provide a primitive look-up
   ability, but please note that this feature is
   <b>
    deprecated
   </b>
   . See
   <ref type='class' target='wxHashMap'>wxHashMap</ref>
   for a faster method of storage when random access is required.
  </p>
  <p class="classdesc">
   While wxList class in the previous versions of wxWidgets only could contain
   elements of type wxObject and had essentially untyped interface (thus
   allowing you to put apples in the list and read back oranges from it), the
   new wxList classes family may contain elements of any type and has much more
   strict type checking. Unfortunately, it also requires an additional line to
   be inserted in your program for each list class you use (which is the only
   solution short of using templates which is not done in wxWidgets because of
   portability issues).
  </p>
  <p class="classdesc">
   The general idea is to have the base class wxListBase working with
   <i>
    void &#42;
   </i>
   data but make all of its dangerous (because untyped) functions protected, so
   that they can only be used from derived classes which, in turn, expose a type
   safe interface. With this approach a new wxList-like class must be defined
   for each list type (i.e. list of ints, of wxStrings or of MyObjects). This is
   done with
   <i>
    WX_DECLARE_LIST
   </i>
   and
   <i>
    WX_DEFINE_LIST
   </i>
   macros like this (notice the similarity with WX_DECLARE_OBJARRAY and
   WX_IMPLEMENT_OBJARRAY macros):
  </p>
 </description>
  
 <category>
  Data structures
 </category>
  
 <shortdesc>
  A simple linked list implementation
 </shortdesc>
  
 <example>
  <pre>
    // this part might be in a header or source (.cpp) file
    class MyListElement
    {
        ... // whatever
    };

    // declare our list class: this macro declares and partly implements MyList
    // class (which derives from wxListBase)
    WX_DECLARE_LIST(MyListElement, MyList);

    ...

    // the only requirement for the rest is to be AFTER the full declaration of
    // MyListElement (for WX_DECLARE_LIST forward declaration is enough), but
    // usually it will be found in the source file and not in the header

    #include &lt;wx/listimpl.cpp&gt;
    WX_DEFINE_LIST(MyList);

    // now MyList class may be used as a usual wxList, but all of its methods
    // will take/return the objects of the right (i.e. MyListElement) type. You
    // also have MyList::Node type which is the type-safe version of wxNode.
    MyList list;
    MyListElement element;
    list.Append(element);      // ok
    list.Append(17);           // error: incorrect type

    // let's iterate over the list
    for ( MyList::Node &#42;node = list.GetFirst(); node; node = node-&gt;GetNext() )
    {
        MyListElement &#42;current = node-&gt;GetData();

        ...process the current element...
    }
</pre>
  <p>
   For compatibility with previous versions wxList and wxStringList classes are
   still defined, but their usage is deprecated and they will disappear in the
   future versions completely. The use of the latter is especially discouraged
   as it is not only unsafe but is also much less efficient than
   <ref type='class' target='wxArrayString'>wxArrayString</ref>
   class.
  </p>
  <p>
   In the documentation of the list classes below, the template notations are
   used even though these classes are not really templates at all -- but it
   helps to think about them as if they were. You should replace wxNode&lt;T&gt;
   with wxListName::Node and T itself with the list element type (i.e. the first
   parameter of WX_DECLARE_LIST).
  </p>
  <p>
   It is very common to iterate on a list as follows:
  </p>
  <pre>
  ...
  wxWindow &#42;win1 = new wxWindow(...);
  wxWindow &#42;win2 = new wxWindow(...);

  wxList SomeList;
  SomeList.Append(win1);
  SomeList.Append(win2);

  ...

  wxNode &#42;node = SomeList.GetFirst();
  while (node)
  {
    wxWindow &#42;win = node-&gt;GetData();
    ...
    node = node-&gt;GetNext();
  }
</pre>
  <p>
   To delete nodes in a list as the list is being traversed, replace
  </p>
  <pre>
    ...
    node = node-&gt;GetNext();
    ...
</pre>
  <p>
   with
  </p>
  <pre>
    ...
    delete win;
    delete node;
    node = SomeList.GetFirst();
    ...
</pre>
  <p>
   See
   <ref type='class' target='wxNode'>wxNode</ref>
   for members that retrieve the data associated with a node, and members for
   getting to the next or previous node.
  </p>
 </example>
  
 <parents>
  <ref type="class" target="wxObject">wxObject</ref>
 </parents>
  
 <includes>
  <header name="wx/list.h"/>
 </includes>
  
 <seealso>
  <ref type='class' target='wxNode'>wxNode</ref>
  , 
  <ref type='class' target='wxArray'>wxArray</ref>
 </seealso>
  
 <members>
  <member class="wxList" name="wxList">
   <function type="" name="wxList">
    <description></description>
   </function>
    
   <function type="" name="wxList">
    <parameters>
     <parameter type="int " name="n"></parameter>
     <parameter type="T &#42;" name="objects[]"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="" name="wxList">
    <parameters>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      <b>
       Note
      </b>
      : keyed lists are deprecated and should not be used in new code.
     </p>
    </description>
   </function>
    
   <function type="" name="wxList">
    <parameters>
     <parameter type="unsigned int " name="key_type"></parameter>
    </parameters>
    <description>
     <p>
      Constructors.
      <i>
       key_type
      </i>
      is one of wxKEY_NONE, wxKEY_INTEGER, or wxKEY_STRING, and indicates what
      sort of keying is required (if any).
     </p>
     <p>
      <i>
       objects
      </i>
      is an array of
      <i>
       n
      </i>
      objects with which to initialize the list.
     </p>
     <p>
      The variable-length argument list constructor must be supplied with a
      terminating NULL.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="~wxList">
   <function type="" name="~wxList">
    <description>
     <p>
      Destroys the list. Also destroys any remaining nodes, but does not destroy
      client data held in the nodes.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Append">
   <function type="wxNode&lt;T&gt; &#42;" name="Append">
    <parameters>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      <b>
       Note
      </b>
      : keyed lists are deprecated and should not be used in new code.
     </p>
    </description>
   </function>
    
   <function type="wxNode&lt;T&gt; &#42;" name="Append">
    <parameters>
     <parameter type="long " name="key"></parameter>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxNode&lt;T&gt; &#42;" name="Append">
    <parameters>
     <parameter type="const wxString&amp; " name="key"></parameter>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      Appends a new
      <ref type='class' target='wxNode'>wxNode</ref>
      to the end of the list and puts a pointer to the
      <i>
       object
      </i>
      in the node. The last two forms store a key with the object for later
      retrieval using the key. The new node is returned in each case.
     </p>
     <p>
      The key string is copied and stored by the list implementation.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Clear">
   <function type="void" name="Clear">
    <description>
     <p>
      Clears the list (but does not delete the client data stored with each node
      unless you called DeleteContents(
      <tt>true</tt>
      ), in which case it deletes data).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="DeleteContents">
   <function type="void" name="DeleteContents">
    <parameters>
     <parameter type="bool " name="destroy"></parameter>
    </parameters>
    <description>
     <p>
      If
      <i>
       destroy
      </i>
      is
      <tt>true</tt>
      , instructs the list to call
      <i>
       delete
      </i>
      on the client contents of a node whenever the node is destroyed. The
      default is
      <tt>false</tt>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="DeleteNode">
   <function type="bool" name="DeleteNode">
    <parameters>
     <parameter type="wxNode&lt;T&gt; &#42;" name="node"></parameter>
    </parameters>
    <description>
     <p>
      Deletes the given node from the list, returning
      <tt>true</tt>
      if successful.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="DeleteObject">
   <function type="bool" name="DeleteObject">
    <parameters>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      Finds the given client
      <i>
       object
      </i>
      and deletes the appropriate node from the list, returning
      <tt>true</tt>
      if successful. The application must delete the actual object separately.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Erase">
   <function type="void" name="Erase">
    <parameters>
     <parameter type="wxNode&lt;T&gt; &#42;" name="node"></parameter>
    </parameters>
    <description>
     <p>
      Removes element at given position.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Find">
   <function type="wxNode&lt;T&gt; &#42;" name="Find">
    <parameters>
     <parameter type="T &#42; " name="object"></parameter>
    </parameters>
    <description>
     <p>
      Returns the node whose client data is
      <i>
       object
      </i>
      or NULL if none found.
     </p>
     <p>
      <b>
       Note
      </b>
      : keyed lists are deprecated and should not be used in new code.
     </p>
    </description>
   </function>
    
   <function type="wxNode&lt;T&gt; &#42;" name="Find">
    <parameters>
     <parameter type="long " name="key"></parameter>
    </parameters>
    <description></description>
   </function>
    
   <function type="wxNode&lt;T&gt; &#42;" name="Find">
    <parameters>
     <parameter type="const wxString&amp; " name="key"></parameter>
    </parameters>
    <description>
     <p>
      Returns the node whose stored key matches
      <i>
       key
      </i>
      . Use on a keyed list only.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="GetCount">
   <function type="size_t" name="GetCount" suffix="const">
    <description>
     <p>
      Returns the number of elements in the list.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="GetFirst">
   <function type="wxNode&lt;T&gt; &#42;" name="GetFirst">
    <description>
     <p>
      Returns the first node in the list (NULL if the list is empty).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="GetLast">
   <function type="wxNode&lt;T&gt; &#42;" name="GetLast">
    <description>
     <p>
      Returns the last node in the list (NULL if the list is empty).
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="IndexOf">
   <function type="int" name="IndexOf">
    <parameters>
     <parameter type="T&#42; " name="obj "></parameter>
    </parameters>
    <description>
     <p>
      Returns the index of
      <i>
       obj
      </i>
      within the list or
      <tt>wxNOT_FOUND</tt>
      if
      <i>
       obj
      </i>
      is not found in the list.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Insert">
   <function type="wxNode&lt;T&gt; &#42;" name="Insert">
    <parameters>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      Insert object at front of list.
     </p>
    </description>
   </function>
    
   <function type="wxNode&lt;T&gt; &#42;" name="Insert">
    <parameters>
     <parameter type="size_t " name="position"></parameter>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      Insert object before
      <i>
       position
      </i>
      , i.e. the index of the new item in the list will be equal to
      <i>
       position
      </i>
      .
      <i>
       position
      </i>
      should be less than or equal to
      <ref type='method' target='method-wxList::GetCount'>GetCount</ref>
      ; if it is equal to it, this is the same as calling
      <ref type='method' target='method-wxList::Append'>Append</ref>
      .
     </p>
    </description>
   </function>
    
   <function type="wxNode&lt;T&gt; &#42;" name="Insert">
    <parameters>
     <parameter type="wxNode&lt;T&gt; &#42;" name="node"></parameter>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      Inserts the object before the given
      <i>
       node
      </i>
      .
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="IsEmpty">
   <function type="bool" name="IsEmpty" suffix="const">
    <description>
     <p>
      Returns
      <tt>true</tt>
      if the list is empty,
      <tt>false</tt>
      otherwise.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Item">
   <function type="wxNode&lt;T&gt; &#42;" name="Item" suffix="const">
    <parameters>
     <parameter type="size_t " name="index"></parameter>
    </parameters>
    <description>
     <p>
      Returns the node at given position in the list.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Member">
   <function type="wxNode&lt;T&gt; &#42;" name="Member">
    <parameters>
     <parameter type="T &#42;" name="object"></parameter>
    </parameters>
    <description>
     <p>
      <b>
       NB:
      </b>
      This function is deprecated, use
      <ref type='method' target='method-wxList::Find'>Find</ref>
      instead.
     </p>
     <p>
      Returns the node associated with
      <i>
       object
      </i>
      if it is in the list, NULL otherwise.
     </p>
    </description>
   </function>
  </member>
   
  <member class="wxList" name="Nth">
   <function type="wxNode&lt;T&gt; &#42;" name="Nth">
    <parameters>
     <parameter type="int " name="n"></parameter>
    </parameters>
   
