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

<!-- Generated on: Wed Jan  5 14:29:42 CET 2005 -->
<classes>
<class name="Debugging macros">
<description>(TODO: description)</description>
<category>Debugging features</category>
<shortdesc>Debug macros for assertion and checking</shortdesc>
<supported>
</supported>
</class><class name="Log functions">
<description>(TODO: description)</description>
<category>Logging features</category>
<shortdesc>Error and warning logging functions</shortdesc>
<supported>
</supported>
</class><class name="RTTI macros">
<description>(TODO: description)</description>
<category>Run-time class information system</category>
<shortdesc>Macros for manipulating run-time information</shortdesc>
<supported>
</supported>
</class><class name="WXDEBUG\_NEW">
<description>(TODO: description)</description>
<category>Debugging features</category>
<shortdesc>Use this macro to give further debugging information</shortdesc>
<supported>
</supported>
</class><class name="WXTRACE">
<description>(TODO: description)</description>
<category>Debugging features</category>
<shortdesc>Trace macro</shortdesc>
<supported>
</supported>
</class><class name="WXTRACELEVEL">
<description>(TODO: description)</description>
<category>Debugging features</category>
<shortdesc>Trace macro with levels</shortdesc>
<supported>
</supported>
</class><class name="wxAcceleratorEntry">
<description>
<p class="classdesc">
An object used by an application wishing to create an <ref target="wxacceleratortable">accelerator table</ref>.</p>
</description>
<category>Miscellaneous</category>
<parents>


</parents>
<includes>
<header name="wx/accel.h"/></includes>
<seealso>

<ref target="wxacceleratortable">wxAcceleratorTable</ref><ref target="wxwindowsetacceleratortable">wxWindow::SetAcceleratorTable</ref>

</seealso>
<members>
<member class="wxAcceleratorEntry" name="wxAcceleratorEntry"><function type="" name="wxAcceleratorEntry"><description>

Default constructor.

</description></function>
<function type="" name="wxAcceleratorEntry"><parameters><parameter type="int" name=" flags"></parameter><parameter type="int" name=" keyCode"></parameter><parameter type="int" name=" cmd"></parameter></parameters><description>

Constructor.









</description></function></member>
<member class="wxAcceleratorEntry" name="GetCommand"><function type="int" name="GetCommand" suffix="const"><description>

Returns the command identifier for the accelerator table entry.

</description></function></member>
<member class="wxAcceleratorEntry" name="GetFlags"><function type="int" name="GetFlags" suffix="const"><description>

Returns the flags for the accelerator table entry.

</description></function></member>
<member class="wxAcceleratorEntry" name="GetKeyCode"><function type="int" name="GetKeyCode" suffix="const"><description>

Returns the keycode for the accelerator table entry.

</description></function></member>
<member class="wxAcceleratorEntry" name="Set"><function type="void" name="Set"><parameters><parameter type="int" name=" flags"></parameter><parameter type="int" name=" keyCode"></parameter><parameter type="int" name=" cmd"></parameter></parameters><description>

Sets the accelerator entry parameters.









</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>

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).

</remarks>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/accel.h"/></includes>
<seealso>

<ref target="wxacceleratorentry">wxAcceleratorEntry</ref><ref target="wxwindowsetacceleratortable">wxWindow::SetAcceleratorTable</ref>

</seealso>
<members>
<member class="wxAcceleratorTable" name="wxAcceleratorTable"><function type="" name="wxAcceleratorTable"><description>

Default constructor.

</description></function>
<function type="" name="wxAcceleratorTable"><parameters><parameter type="const wxAcceleratorTable&amp; " name="bitmap"></parameter></parameters><description>

Copy constructor.

</description></function>
<function type="" name="wxAcceleratorTable"><parameters><parameter type="int" name=" n"></parameter><parameter type="wxAcceleratorEntry" name=" entries[]"></parameter></parameters><description>

Creates from an array of <ref target="wxacceleratorentry">wxAcceleratorEntry</ref> objects.

</description></function>
<function type="" name="wxAcceleratorTable"><parameters><parameter type="const wxString&amp;" name=" resource"></parameter></parameters><description>

Loads the accelerator table from a Windows resource (Windows only).













</description></function></member>
<member class="wxAcceleratorTable" name="~wxAcceleratorTable"><function type="" name="~wxAcceleratorTable"><description>

Destroys the wxAcceleratorTable object.

</description></function></member>
<member class="wxAcceleratorTable" name="Ok"><function type="bool" name="Ok" suffix="const"><description>

Returns true if the accelerator table is valid.

</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>

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.





</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>

Equality operator. This operator tests whether the internal data pointers are
equal (a fast test).





</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>

Inequality operator. This operator tests whether the internal data pointers are
unequal (a fast test).





</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">
<description>
<p class="classdesc">
The wxAccessible class allows wxWidgets applications, and
wxWidgets itself, to return extended information about user interface elements
to client applications such as screen readers. This is the
main way in which wxWidgets implements accessibility features.</p><p class="classdesc">At present, only Microsoft Active Accessibility is supported
by this class.</p><p class="classdesc">To use this class, derive from wxAccessible, implement appropriate
functions, and associate an object of the class with a
window using <ref target="wxwindowsetaccessible">wxWindow::SetAccessible</ref>.</p><p class="classdesc">All functions return an indication of success, failure, or not implemented
using values of the wxAccStatus enum type.</p><p class="classdesc">If you return wxACC_NOT_IMPLEMENTED from any function, the system will try to
implement the appropriate functionality. However this will not work with
all functions.</p><p class="classdesc">Most functions work with an <i> object id</i>, which can be zero to refer to
'this' UI element, or greater than zero to refer to the nth child element.
This allows you to specify elements that don't have a corresponding wxWindow or
wxAccessible; for example, the sash of a splitter window.</p><p class="classdesc">For details on the semantics of functions and types, please refer to the
Microsoft Active Accessibility 1.2 documentation.</p><p class="classdesc">This class is compiled into wxWidgets only if the wxUSE_ACCESSIBILITY setup
symbol is set to 1.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/access.h"/></includes>
<structs>

Functions return a wxAccStatus error code, which
may be one of the following:

<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>

Directions of navigation are represented by
the following:

<pre>
typedef enum
{
    wxNAVDIR_DOWN,
    wxNAVDIR_FIRSTCHILD,
    wxNAVDIR_LASTCHILD,
    wxNAVDIR_LEFT,
    wxNAVDIR_NEXT,
    wxNAVDIR_PREVIOUS,
    wxNAVDIR_RIGHT,
    wxNAVDIR_UP
} wxNavDir
</pre>

The role of a user interface element is represented
by the following type:

<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>

Objects are represented by the following type:

<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>

Selection actions are identified by
this type:

<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>

States are represented by the following:

<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>

Event identifiers that can be sent via <ref target="wxaccessiblenotifyevent">wxAccessible::NotifyEvent</ref> are
as follows:

<pre>
#define wxACC_EVENT_SYSTEM_SOUND              0x0001
#define wxACC_EVENT_SYSTEM_ALERT              0x0002
#define wxACC_EVENT_SYSTEM_FOREGROUND         0x0003
#define wxACC_EVENT_SYSTEM_MENUSTART          0x0004
#define wxACC_EVENT_SYSTEM_MENUEND            0x0005
#define wxACC_EVENT_SYSTEM_MENUPOPUPSTART     0x0006
#define wxACC_EVENT_SYSTEM_MENUPOPUPEND       0x0007
#define wxACC_EVENT_SYSTEM_CAPTURESTART       0x0008
#define wxACC_EVENT_SYSTEM_CAPTUREEND         0x0009
#define wxACC_EVENT_SYSTEM_MOVESIZESTART      0x000A
#define wxACC_EVENT_SYSTEM_MOVESIZEEND        0x000B
#define wxACC_EVENT_SYSTEM_CONTEXTHELPSTART   0x000C
#define wxACC_EVENT_SYSTEM_CONTEXTHELPEND     0x000D
#define wxACC_EVENT_SYSTEM_DRAGDROPSTART      0x000E
#define wxACC_EVENT_SYSTEM_DRAGDROPEND        0x000F
#define wxACC_EVENT_SYSTEM_DIALOGSTART        0x0010
#define wxACC_EVENT_SYSTEM_DIALOGEND          0x0011
#define wxACC_EVENT_SYSTEM_SCROLLINGSTART     0x0012
#define wxACC_EVENT_SYSTEM_SCROLLINGEND       0x0013
#define wxACC_EVENT_SYSTEM_SWITCHSTART        0x0014
#define wxACC_EVENT_SYSTEM_SWITCHEND          0x0015
#define wxACC_EVENT_SYSTEM_MINIMIZESTART      0x0016
#define wxACC_EVENT_SYSTEM_MINIMIZEEND        0x0017
#define wxACC_EVENT_OBJECT_CREATE                 0x8000
#define wxACC_EVENT_OBJECT_DESTROY                0x8001
#define wxACC_EVENT_OBJECT_SHOW                   0x8002
#define wxACC_EVENT_OBJECT_HIDE                   0x8003
#define wxACC_EVENT_OBJECT_REORDER                0x8004
#define wxACC_EVENT_OBJECT_FOCUS                  0x8005
#define wxACC_EVENT_OBJECT_SELECTION              0x8006
#define wxACC_EVENT_OBJECT_SELECTIONADD           0x8007
#define wxACC_EVENT_OBJECT_SELECTIONREMOVE        0x8008
#define wxACC_EVENT_OBJECT_SELECTIONWITHIN        0x8009
#define wxACC_EVENT_OBJECT_STATECHANGE            0x800A
#define wxACC_EVENT_OBJECT_LOCATIONCHANGE         0x800B
#define wxACC_EVENT_OBJECT_NAMECHANGE             0x800C
#define wxACC_EVENT_OBJECT_DESCRIPTIONCHANGE      0x800D
#define wxACC_EVENT_OBJECT_VALUECHANGE            0x800E
#define wxACC_EVENT_OBJECT_PARENTCHANGE           0x800F
#define wxACC_EVENT_OBJECT_HELPCHANGE             0x8010
#define wxACC_EVENT_OBJECT_DEFACTIONCHANGE        0x8011
#define wxACC_EVENT_OBJECT_ACCELERATORCHANGE      0x8012
</pre>

</structs>
<members>
<member class="wxAccessible" name="wxAccessible"><function type="" name="wxAccessible"><parameters><parameter type="wxWindow&#42; " name="win" value="NULL"></parameter></parameters><description>

Constructor, taking an optional window. The object can be associated with
a window later.

</description></function></member>
<member class="wxAccessible" name="~wxAccessible"><function type="" name="~wxAccessible"><description>

Destructor.

</description></function></member>
<member class="wxAccessible" name="DoDefaultAction"><function type="virtual wxAccStatus" name="DoDefaultAction"><parameters><parameter type="int " name="childId"></parameter></parameters><description>

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).

</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>

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.

</description></function></member>
<member class="wxAccessible" name="GetChildCount"><function type="virtual wxAccStatus" name="GetChildCount"><parameters><parameter type="int&#42; " name="childCount"></parameter></parameters><description>

Returns the number of children in <i> childCount</i>.

</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>

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;

</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>

Returns the description for this object or a child.

</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>

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'.

</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>

Returns help text for this object or a child, similar to tooltip text.

</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>

Returns the keyboard shortcut for this object or child.
Return e.g. ALT+K.

</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>

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.

</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>

Gets the name of the specified object.

</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>

Returns the parent of this object, or NULL.

</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>

Returns a role constant describing this object. See <ref target="wxaccessible">wxAccessible</ref> for a list
of these roles.

</description></function></member>
<member class="wxAccessible" name="GetSelections"><function type="virtual wxAccStatus" name="GetSelections"><parameters><parameter type="wxVariant&#42; " name="selections"></parameter></parameters><description>

Gets a variant representing the selected children
of this object.

Acceptable values are:

<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>

</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>

Returns a state constant. See <ref target="wxaccessible">wxAccessible</ref> for a list
of these states.

</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>

Returns a localized string representing the value for the object
or child.

</description></function></member>
<member class="wxAccessible" name="GetWindow"><function type="wxWindow&#42;" name="GetWindow"><description>

Returns the window associated with this object.

</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>

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.

<i> pt</i> is in screen coordinates.

</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>

Navigates from <i> fromId</i> to <i> toId</i>/<i> toObject</i>.

</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>

Allows the application to send an event when something changes in an accessible object.

</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>

Selects the object or child. See <ref target="wxaccessible">wxAccessible</ref> for a list
of the selection actions.

</description></function></member>
<member class="wxAccessible" name="SetWindow"><function type="void" name="SetWindow"><parameters><parameter type="wxWindow&#42; " name="window"></parameter></parameters><description>

Sets the window associated with this object.

</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>

A top-level window (a dialog or frame) receives an activate event when is
being activated or deactivated. This is indicated visually by the title
bar changing colour, and a subwindow gaining the keyboard focus.

An application is activated or deactivated when one of its frames becomes activated,
or a frame becomes inactivate resulting in all application frames being inactive. (Windows only)

Please note that usually you should call <ref target="wxeventskip">event.Skip()</ref> in
your handlers for these events as not doing so can result in strange effects,
especially on Mac platform.

</remarks>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/event.h"/></includes>
<events>
<event name="EVT_ACTIVATE(func)">Process a wxEVT_ACTIVATE event.</event><event name="EVT_ACTIVATE_APP(func)">Process a wxEVT_ACTIVATE_APP event.</event></events>
<seealso>

<ref target="eventhandlingoverview">Event handling overview</ref>,
<ref target="wxappisactive">wxApp::IsActive</ref>

</seealso>
<members>
<member class="wxActivateEvent" name="wxActivateEvent"><function type="" name="wxActivateEvent"><parameters><parameter type="WXTYPE " name="eventType" value="0"></parameter><parameter type="bool" name="active" value="true"></parameter><parameter type="int " name="id" value="0"></parameter></parameters><description>

Constructor.

</description></function></member>
<member class="wxActivateEvent" name="m_active"></member>
<member class="wxActivateEvent" name="GetActive"><function type="bool" name="GetActive" suffix="const"><description>

Returns true if the application or window is being activated, false otherwise.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxApp">
<description>
<p class="classdesc">
The <b>{ wxApp}</b> class represents the application itself. It is used
to:</p><p class="classdesc"><ul><li> set and get application-wide properties;
</li>
<li> implement the windowing system message or event loop;
</li>
<li> initiate application processing via <ref target="wxapponinit">wxApp::OnInit</ref>;
</li>
<li> allow default processing of events not handled by other
objects in the application.
</li></ul></p><p class="classdesc">You should use the macro IMPLEMENT_APP(appClass) in your application implementation
file to tell wxWidgets how to create an instance of your application class.</p><p class="classdesc">Use DECLARE_APP(appClass) in a header file if you want the wxGetApp function (which returns
a reference to your application object) to be visible to other files.</p>
</description>
<category>Miscellaneous</category>
<shortdesc>Application class</shortdesc>
<parents>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/app.h"/></includes>
<seealso>

<ref target="wxappoverview">wxApp overview</ref>

</seealso>
<members>
<member class="wxApp" name="wxApp"><function type="void" name="wxApp"><description>

Constructor. Called implicitly with a definition of a wxApp object.


</description></function></member>
<member class="wxApp" name="~wxApp"><function type="void" name="~wxApp"><description>

Destructor. Will be called implicitly on program exit if the wxApp
object is created on the stack.


</description></function></member>
<member class="wxApp" name="argc"></member>
<member class="wxApp" name="argv"></member>
<member class="wxApp" name="CreateLogTarget"><function type="virtual wxLog&#42;" name="CreateLogTarget"><seealso>

<ref target="wxlog">wxLog</ref>


</seealso><description>

Creates a wxLog class for the application to use for logging errors. The default
implementation returns a new wxLogGui class.

</description></function></member>
<member class="wxApp" name="Dispatch"><function type="virtual void" name="Dispatch"><seealso>

<ref target="wxapppending">wxApp::Pending</ref>


</seealso><description>

Dispatches the next event in the windowing system event queue.

This can be used for programming event loops, e.g.

<pre>
  while (app.Pending())
    Dispatch();
</pre>

</description></function></member>
<member class="wxApp" name="ExitMainLoop"><function type="virtual void" name="ExitMainLoop"><description>

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.


</description></function></member>
<member class="wxApp" name="FilterEvent"><function type="int" name="FilterEvent"><parameters><parameter type="wxEvent&amp; " name="event"></parameter></parameters><description>

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).


</description></function></member>
<member class="wxApp" name="GetAppName"><function type="wxString" name="GetAppName" suffix="const"><remarks>

wxWidgets sets this to a reasonable default before
calling <ref target="wxapponinit">wxApp::OnInit</ref>, but the application can reset it at will.


</remarks><description>

Returns the application name.

</description></function></member>
<member class="wxApp" name="GetClassName"><function type="wxString" name="GetClassName" suffix="const"><seealso>

<ref target="wxappsetclassname">wxApp::SetClassName</ref>


</seealso><description>

Gets the class name of the application. The class name may be used in a platform specific
manner to refer to the application.

</description></function></member>
<member class="wxApp" name="GetExitOnFrameDelete"><function type="bool" name="GetExitOnFrameDelete" suffix="const"><seealso>

<ref target="wxappsetexitonframedelete">wxApp::SetExitOnFrameDelete</ref>,<br/>
<ref target="wxappshutdownoverview">wxApp shutdown overview</ref>


</seealso><description>

Returns true if the application will exit when the top-level window is deleted, false
otherwise.

</description></function></member>
<member class="wxApp" name="GetInstance"><function type="static wxAppConsole &#42;" name="GetInstance"><seealso>

<ref target="wxappsetinstance">wxApp::SetInstance</ref>


</seealso><description>

Returns the one and only global application object.
Usually <tt>wxTheApp</tt> is usead instead.

</description></function></member>
<member class="wxApp" name="GetTopWindow"><function type="virtual wxWindow &#42;" name="GetTopWindow" suffix="const"><seealso>

<ref target="wxappsettopwindow">SetTopWindow</ref>


</seealso><remarks>

If the top window hasn't been set using <ref target="wxappsettopwindow">wxApp::SetTopWindow</ref>, this
function will find the first top-level window (frame or dialog) and return that.

</remarks><description>

Returns a pointer to the top window.

</description></function></member>
<member class="wxApp" name="GetUseBestVisual"><function type="bool" name="GetUseBestVisual" suffix="const"><seealso>

<ref target="wxappsetusebestvisual">SetUseBestVisual</ref>


</seealso><description>

Returns true if the application will use the best visual on systems that support
different visuals, false otherwise.

</description></function></member>
<member class="wxApp" name="GetVendorName"><function type="wxString" name="GetVendorName" suffix="const"><description>

Returns the application's vendor name.


</description></function></member>
<member class="wxApp" name="IsActive"><function type="bool" name="IsActive" suffix="const"><description>

Returns true if the application is active, i.e. if one of its windows is
currently in the foreground. If this function returns false and you need to
attract users attention to the application, you may use 
<ref target="wxtoplevelwindowrequestuserattention">wxTopLevelWindow::RequestUserAttention</ref> 
to do it.


</description></function></member>
<member class="wxApp" name="IsMainLoopRunning"><function type="static bool" name="IsMainLoopRunning"><description>

Returns true if the main event loop is currently running, i.e. if the
application is inside <ref target="wxapponrun">OnRun</ref>.

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.


</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>

Called by wxWidgets on creation of the application. Override this if you wish
to provide your own (environment-dependent) main loop.

</description></function></member>
<member class="wxApp" name="OnAssert"><function type="void" name="OnAssert"><parameters><parameter type="const wxChar " name="&#42;file"></parameter><parameter type="int " name="line">the line number in this file where the assert occured</parameter><parameter type="const wxChar " name="&#42;cond"></parameter><parameter type="const wxChar " name="&#42;msg"></parameter></parameters><description>

This function is called when an assert failure occurs, i.e. the condition
specified in <ref target="wxassert">wxASSERT</ref> macro evaluated to <tt> false</tt>.
It is only called in debug mode (when <tt> __WXDEBUG__</tt> is defined) as
asserts are not left in the release code at all.

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.












</description></function></member>
<member class="wxApp" name="OnCmdLineError"><function type="bool" name="OnCmdLineError"><parameters><parameter type="wxCmdLineParser&amp; " name="parser"></parameter></parameters><seealso>

<ref target="wxapponinitcmdline">OnInitCmdLine</ref>


</seealso><description>

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.

Return <tt> true</tt> to continue normal execution or <tt> false</tt> to return 
<tt> false</tt> from <ref target="wxapponinit">OnInit</ref> thus terminating the program.

</description></function></member>
<member class="wxApp" name="OnCmdLineHelp"><function type="bool" name="OnCmdLineHelp"><parameters><parameter type="wxCmdLineParser&amp; " name="parser"></parameter></parameters><seealso>

<ref target="wxapponinitcmdline">OnInitCmdLine</ref>


</seealso><description>

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.

Return <tt> true</tt> to continue normal execution or <tt> false</tt> to return 
<tt> false</tt> from <ref target="wxapponinit">OnInit</ref> thus terminating the program.

</description></function></member>
<member class="wxApp" name="OnCmdLineParsed"><function type="bool" name="OnCmdLineParsed"><parameters><parameter type="wxCmdLineParser&amp; " name="parser"></parameter></parameters><seealso>

<ref target="wxapponinitcmdline">OnInitCmdLine</ref>


</seealso><description>

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.

Don't forget to call the base class version unless you want to suppress
processing of the standard command line options.

Return <tt> true</tt> to continue normal execution or <tt> false</tt> to return 
<tt> false</tt> from <ref target="wxapponinit">OnInit</ref> thus terminating the program.

</description></function></member>
<member class="wxApp" name="OnExceptionInMainLoop"><function type="virtual bool" name="OnExceptionInMainLoop"><description>

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.

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.

Finally note that if the exception is rethrown from here, it can be caught in 
<ref target="wxapponunhandledexception">OnUnhandledException</ref>.


</description></function></member>
<member class="wxApp" name="OnExit"><function type="virtual int" name="OnExit"><description>

Override this member function for any processing which needs to be
done as the application is about to exit. OnExit is called after
destroying all application windows and controls, but before
wxWidgets cleanup. Note that it is not called at all if 
<ref target="wxapponinit">OnInit</ref> failed.

The return value of this function is currently ignored, return the same value
as returned by the base class method if you override it.


</description></function></member>
<member class="wxApp" name="OnFatalException"><function type="void" name="OnFatalException"><seealso>

<ref target="wxhandlefatalexceptions">wxHandleFatalExceptions</ref>





















































</seealso><description>

This function may be called if something fatal happens: an unhandled
exception under Win32 or a a fatal signal under Unix, for example. However,
this will not happen by default: you have to explicitly call 
<ref target="wxhandlefatalexceptions">wxHandleFatalExceptions</ref> to enable this.

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.

</description></function></member>
<member class="wxApp" name="OnInit"><function type="bool" name="OnInit"><description>

This must be provided by the application, and will usually create the
application's main window, optionally calling 
<ref target="wxappsettopwindow">wxApp::SetTopWindow</ref>. You may use 
<ref target="wxapponexit">OnExit</ref> to clean up anything initialized here, provided
that the function returns true.

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().

Return true to continue processing, false to exit the application
immediately.


</description></function></member>
<member class="wxApp" name="OnInitCmdLine"><function type="void" name="OnInitCmdLine"><parameters><parameter type="wxCmdLineParser&amp; " name="parser"></parameter></parameters><description>

Called from <ref target="wxapponinit">OnInit</ref> and may be used to initialize the
parser with the command line options for this application. The base class
versions adds support for a few standard options only.


</description></function></member>
<member class="wxApp" name="OnQueryEndSession"><function type="void" name="OnQueryEndSession"><parameters><parameter type="wxCloseEvent&amp; " name="event"></parameter></parameters><seealso>

<ref target="wxwindowclose">wxWindow::Close</ref>,
<ref target="wxcloseevent">wxCloseEvent</ref>


</seealso><remarks>

Under X, OnQueryEndSession is called in response to the `save session' event.

Under Windows, OnQueryEndSession is called in response to the WM_QUERYENDSESSION message.

</remarks><description>

This is an event handler function called when the operating system or GUI session is
about to close down. Typically, an application will try to save unsaved documents
at this point.

If <ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref> returns true, the application
is allowed to veto the shutdown by calling <ref target="wxcloseeventveto">wxCloseEvent::Veto</ref>.
The application might veto the shutdown after prompting for documents to be saved, and the
user has cancelled the save.

Use the EVT_QUERY_END_SESSION event table macro to handle query end session events.

You should check whether the application is forcing the deletion of the window
using <ref target="wxcloseeventgetforce">wxCloseEvent::GetForce</ref>. If this is true,
destroy the window using <ref target="wxwindowdestroy">wxWindow::Destroy</ref>.
If not, it is up to you whether you respond by destroying the window.

The default handler calls <ref target="wxwindowclose">wxWindow::Close</ref> on the top-level window,
and vetoes the shutdown if Close returns false. This will be sufficient for many applications.

</description></function></member>
<member class="wxApp" name="OnRun"><function type="virtual int" name="OnRun"><description>

This virtual function is where the execution of a program written in wxWidgets
starts. The default implementation just enters the main loop and starts
handling the events until it terminates, either because 
<ref target="wxappexitmainloop">ExitMainLoop</ref> has been explicitly called or because
the last frame has been deleted and 
<ref target="wxappgetexitonframedelete">GetExitOnFrameDelete</ref> flag is true (this
is the default).

The return value of this function becomes the exit code of the program, so it
should return 0 in case of successful termination.


</description></function></member>
<member class="wxApp" name="OnUnhandledException"><function type="virtual void" name="OnUnhandledException"><description>

This function is called when an unhandled C++ exception occurs inside 
<ref target="wxapponrun">OnRun()</ref> (the exceptions which occur during the program
startup and shutdown might not be caught at all).
Note that the exception type is lost by now, so if you want to really handle
the exception you should override <ref target="wxapponrun">OnRun()</ref> and put a
try/catch clause around the call to the base class version there.


</description></function></member>
<member class="wxApp" name="ProcessMessage"><function type="bool" name="ProcessMessage"><parameters><parameter type="WXMSG &#42;" name="msg"></parameter></parameters><description>

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:

<pre>
// Provide wxWidgets message loop compatibility
BOOL CTheApp::PreTranslateMessage(MSG &#42;msg)
{
  if (wxTheApp &amp;&amp; wxTheApp-&gt;ProcessMessage((WXMSW &#42;)msg))
    return true;
  else
    return CWinApp::PreTranslateMessage(msg);
}
</pre>


</description></function></member>
<member class="wxApp" name="Pending"><function type="virtual bool" name="Pending"><seealso>

<ref target="wxappdispatch">wxApp::Dispatch</ref>


</seealso><description>

Returns true if unprocessed events are in the window system event queue.

</description></function></member>
<member class="wxApp" name="SendIdleEvents"><function type="bool" name="SendIdleEvents"><parameters><parameter type="wxWindow&#42;" name=" win"></parameter><parameter type="wxIdleEvent&amp; " name="event"></parameter></parameters><seealso>

<ref target="wxidleevent">wxIdleEvent</ref>


</seealso><remarks>

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.

</remarks><description>

Sends idle events to a window and its children.

Please note that this function is internal to wxWidgets and shouldn't be used
by user code.

</description></function></member>
<member class="wxApp" name="SetAppName"><function type="void" name="SetAppName"><parameters><parameter type="const wxString&amp; " name="name"></parameter></parameters><seealso>

<ref target="wxappgetappname">wxApp::GetAppName</ref>


</seealso><description>

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.

</description></function></member>
<member class="wxApp" name="SetClassName"><function type="void" name="SetClassName"><parameters><parameter type="const wxString&amp; " name="name"></parameter></parameters><seealso>

<ref target="wxappgetclassname">wxApp::GetClassName</ref>


</seealso><description>

Sets the class name of the application. This may be used in a platform specific
manner to refer to the application.

</description></function></member>
<member class="wxApp" name="SetExitOnFrameDelete"><function type="void" name="SetExitOnFrameDelete"><parameters><parameter type="bool" name=" flag"></parameter></parameters><seealso>

<ref target="wxappgetexitonframedelete">wxApp::GetExitOnFrameDelete</ref>,<br/>
<ref target="wxappshutdownoverview">wxApp shutdown overview</ref>


</seealso><description>

Allows the programmer to specify whether the application will exit when the
top-level frame is deleted.





</description></function></member>
<member class="wxApp" name="SetInstance"><function type="static void" name="SetInstance"><parameters><parameter type="wxAppConsole&#42; " name="app">Replacement for the global application object.</parameter></parameters><seealso>

<ref target="wxappgetinstance">wxApp::GetInstance</ref>


</seealso><description>

Allows external code to modify global <tt>wxTheApp</tt>, but you should really
know what you're doing if you call it.





</description></function></member>
<member class="wxApp" name="SetTopWindow"><function type="void" name="SetTopWindow"><parameters><parameter type="wxWindow&#42; " name="window">The new top window.</parameter></parameters><seealso>

<ref target="wxappgettopwindow">wxApp::GetTopWindow</ref><ref target="wxapponinit">wxApp::OnInit</ref>



</seealso><description></description></function></member>
<member class="wxApp" name="SetVendorName"><function type="void" name="SetVendorName"><parameters><parameter type="const wxString&amp; " name="name"></parameter></parameters><seealso>

<ref target="wxappgetvendorname">wxApp::GetVendorName</ref>


</seealso><description>

Sets the name of application's vendor. The name will be used
in registry access. A default name is set by
wxWidgets.

</description></function></member>
<member class="wxApp" name="SetUseBestVisual"><function type="void" name="SetUseBestVisual"><parameters><parameter type="bool" name=" flag"></parameter></parameters><description>

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.

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.

This function currently only has effect under GTK.






</description></function></member>
<member class="wxApp" name="HandleEvent"><function type="virtual void" name="HandleEvent" suffix="const"><parameters><parameter type="wxEvtHandler" name=" &#42;handler"></parameter><parameter type="wxEventFunction" name=" func"></parameter><parameter type="wxEvent&amp; " name="event"></parameter></parameters><description>

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.


</description></function></member>
<member class="wxApp" name="Yield"><function type="bool" name="Yield"><parameters><parameter type="bool" name="onlyIfNeeded" value="false"></parameter></parameters><description>

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.

Caution should be exercised, however, since yielding may allow the
user to perform actions which are not compatible with the current task.
Disabling menu items or whole menus during processing can avoid unwanted
reentrance of code: see <ref target="wxsafeyield">::wxSafeYield</ref> for a better
function.

Note that Yield() will not flush the message logs. This is intentional as
calling Yield() is usually done to quickly update the screen and popping up a
message box dialog may be undesirable. If you do wish to flush the log
messages immediately (otherwise it will be done during the next idle loop
iteration), call <ref target="wxlogflushactive">wxLog::FlushActive</ref>.

Calling Yield() recursively is normally an error and an assert failure is
raised in debug build if such situation is detected. However if the the 
<i> onlyIfNeeded</i> parameter is <tt> true</tt>, the method will just silently
return <tt> false</tt> instead.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to
archive class factories such as <ref target="wxzipclassfactory">wxZipClassFactory</ref>.</p><p class="classdesc">For each supported archive type (such as zip) there is a class factory
derived from wxArchiveClassFactory, which allows archive objects to be
created in a generic way, without knowing the particular type of archive
being used.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/archive.h"/></includes>
<seealso>

<ref target="wxarc">Archive formats such as zip</ref><br/>
<ref target="wxarcgeneric">Generic archive programming</ref><br/>
<ref target="wxarchiveentry">wxArchiveEntry</ref><br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref><br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>

</seealso>
<members>
<member class="wxArchiveClassFactory" name="Get/SetConv"><function type="wxMBConv&amp;" name="GetConv" suffix="const"><description>

</description></function>
<function type="void" name="SetConv"><parameters><parameter type="wxMBConv&amp; " name="conv"></parameter></parameters><description>

The <ref target="wxmbconv">wxMBConv</ref> object that the created streams
will use when translating meta-data. The initial default, set by the
constructor, is wxConvLocal.


</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>

Calls the static GetInternalName() function for the archive entry type,
for example
 <ref target="wxzipentrygetinternalname">wxZipEntry::GetInternalName()</ref>.


</description></function></member>
<member class="wxArchiveClassFactory" name="NewEntry"><function type="wxArchiveEntry&#42;" name="NewEntry" suffix="const"><description>

Create a new <ref target="wxarchiveentry">wxArchiveEntry</ref> object of the
appropriate type.


</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>

Create a new <ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
or <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref> of the
appropriate type.







</description></function></member></members>
<supported>
</supported>
</class><class name="wxArchiveEntry">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to
archive entry classes such as <ref target="wxzipentry">wxZipEntry</ref>.
These hold the meta-data (filename, timestamp, etc.), for entries
in archive files such as zips and tars.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/archive.h"/></includes>
<seealso>

<ref target="wxarc">Archive formats such as zip</ref><br/>
<ref target="wxarcgeneric">Generic archive programming</ref><br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref><br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref><br/>
<ref target="wxarchivenotifier">wxArchiveNotifier</ref>

</seealso>
<members>
<member class="wxArchiveEntry" name="Clone"><function type="wxArchiveEntry&#42;" name="Clone" suffix="const"><description>

Returns a copy of this entry object.


</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>

The entry's timestamp.


</description></function></member>
<member class="wxArchiveEntry" name="GetInternalFormat"><function type="wxPathFormat" name="GetInternalFormat" suffix="const"><description>

Returns the path format used internally within the archive to store
filenames.


</description></function></member>
<member class="wxArchiveEntry" name="GetInternalName"><function type="wxString" name="GetInternalName" suffix="const"><seealso>

<ref target="wxarcbyname">Looking up an archive entry by name</ref>


</seealso><description>

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.

The names of directory entries are returned without any trailing path
separator. This gives a canonical name that can be used in comparisons.

</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>

The entry's name, by default in the native format. The name can include
directory components, i.e. it can be a full path.

If this is a directory entry, (i.e. if <ref target="wxarchiveentryisdir">IsDir()</ref>
is true) then GetName() returns the name with a trailing path separator.

Similarly, setting a name with a trailing path separator sets IsDir().


</description></function></member>
<member class="wxArchiveEntry" name="GetOffset"><function type="off_t" name="GetOffset" suffix="const"><description>

Returns a numeric value unique to the entry within the archive.


</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>

The size of the entry's data in bytes.


</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>

True if this is a directory entry.

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.

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.


</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>

True if the entry is a read-only file.


</description></function></member>
<member class="wxArchiveEntry" name="Set/UnsetNotifier"><function type="void" name="SetNotifier"><parameters><parameter type="wxArchiveNotifier&amp; " name="notifier"></parameter></parameters><description>

</description></function>
<function type="void" name="UnsetNotifier"><seealso>

<ref target="wxarcnoseek">Archives on non-seekable streams</ref><br/>
<ref target="wxarchivenotifier">wxArchiveNotifier</ref>







</seealso><description>

Sets the <ref target="wxarchivenotifier">notifier</ref> for this entry.
Whenever the <ref target="wxarchiveinputstream">wxArchiveInputStream</ref> updates
this entry, it will then invoke the associated
notifier's <ref target="wxarchivenotifieronentryupdated">OnEntryUpdated</ref>
method.

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).

</description></function></member></members>
<supported>
</supported>
</class><class name="wxArchiveInputStream">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to
archive input streams such as <ref target="wxzipinputstream">wxZipInputStream</ref>.</p><p class="classdesc"><ref target="wxarchiveinputstreamgetnextentry">GetNextEntry()</ref> returns an
 <ref target="wxarchiveentry">wxArchiveEntry</ref> object containing the meta-data
for the next entry in the archive (and gives away ownership). Reading from
the wxArchiveInputStream then returns the entry's data. Eof() becomes true
after an attempt has been made to read past the end of the entry's data.
When there are no more entries, GetNextEntry() returns NULL and sets Eof().</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxFilterInputStream">wxFilterInputStream</ref>

</parents>
<includes>
<header name="wx/archive.h"/></includes>
<structs>
<pre>
typedef wxArchiveEntry entry_type
</pre>

</structs>
<seealso>

<ref target="wxarc">Archive formats such as zip</ref><br/>
<ref target="wxarchiveentry">wxArchiveEntry</ref><br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>

</seealso>
<members>
<member class="wxArchiveInputStream" name="CloseEntry"><function type="bool" name="CloseEntry"><description>

Closes the current entry. On a non-seekable stream reads to the end of
the current entry first.


</description></function></member>
<member class="wxArchiveInputStream" name="GetNextEntry"><function type="wxArchiveEntry&#42;" name="GetNextEntry"><description>

Closes the current entry if one is open, then reads the meta-data for
the next entry and returns it in a <ref target="wxarchiveentry">wxArchiveEntry</ref>
object, giving away ownership. Reading this wxArchiveInputStream then
returns the entry's data.


</description></function></member>
<member class="wxArchiveInputStream" name="OpenEntry"><function type="bool" name="OpenEntry"><parameters><parameter type="wxArchiveEntry&amp; " name="entry"></parameter></parameters><seealso>

<ref target="wxarcbyname">Looking up an archive entry by name</ref>







</seealso><description>

Closes the current entry if one is open, then opens the entry specified
by the <ref target="wxarchiveentry">wxArchiveEntry</ref> object.

<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.

</description></function></member></members>
<supported>
</supported>
</class><class name="wxArchiveIterator">
<description>
<p class="classdesc">
An input iterator template class that can be used to transfer an archive's
catalogue to a container. It is only available if wxUSE_STL is set to 1
in setup.h, and the uses for it outlined below require a compiler which
supports member templates.</p><p class="classdesc"><pre>
template &lt;class Arc, class T = typename Arc::entry_type&#42;&gt;
class wxArchiveIterator
{
    // this constructor creates an 'end of sequence' object
    wxArchiveIterator();

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

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

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

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

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

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

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

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

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

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

</pre></p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/archive.h"/></includes>
<structs>
<pre>
typedef std::input_iterator_tag iterator_category
typedef T value_type
typedef ptrdiff_t difference_type
typedef T&#42; pointer
typedef T&amp; reference
</pre>

</structs>
<seealso>

<ref target="wxarchiveentry">wxArchiveEntry</ref><br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref><br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>

</seealso>
<members>
<member class="wxArchiveIterator" name="wxArchiveIterator"><function type="" name="wxArchiveIterator"><description>

Construct an 'end of sequence' instance.

</description></function>
<function type="" name="wxArchiveIterator"><parameters><parameter type="Arc&amp; " name="arc"></parameter></parameters><description>

Construct iterator that returns all the entries in the archive input
stream <i> arc</i>.


</description></function></member>
<member class="wxArchiveIterator" name="operator&#42;"><function type="const T&amp;" name="operator&#42;" suffix="const"><description>

Returns an entry object from the archive input stream, giving away
ownership.


</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>

Position the input iterator at the next entry in the archive input stream.







</description></function></member></members>
<supported>
</supported>
</class><class name="wxArchiveNotifier">
<description>
<p class="classdesc">
If you need to know when a
 <ref target="wxarchiveinputstream">wxArchiveInputStream</ref> updates a
 <ref target="wxarchiveentry">wxArchiveEntry</ref> object, you can create
a notifier by deriving from this abstract base class, overriding
 <ref target="wxarchivenotifieronentryupdated">OnEntryUpdated()</ref>.  An instance
of your notifier class can then be assigned to the wxArchiveEntry object
using <ref target="wxarchiveentrynotifier">wxArchiveEntry::SetNotifier()</ref>.
Your OnEntryUpdated() method will then be invoked whenever the input
stream updates the entry.</p><p class="classdesc">Setting a notifier is not usually necessary. It is used to handle
certain cases when modifying an archive in a pipeline (i.e. between
non-seekable streams).
See <ref target="wxarcnoseek">Archives on non-seekable streams</ref>.</p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/archive.h"/></includes>
<seealso>

<ref target="wxarcnoseek">Archives on non-seekable streams</ref><br/>
<ref target="wxarchiveentry">wxArchiveEntry</ref><br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref><br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>

</seealso>
<members>
<member class="wxArchiveNotifier" name="OnEntryUpdated"><function type="void" name="OnEntryUpdated"><parameters><parameter type="class wxArchiveEntry&amp; " name="entry"></parameter></parameters><description>

This method must be overridden in your derived class.







</description></function></member></members>
<supported>
</supported>
</class><class name="wxArchiveOutputStream">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to
archive output streams such as <ref target="wxzipoutputstream">wxZipOutputStream</ref>.</p><p class="classdesc"><ref target="wxarchiveoutputstreamputnextentry">PutNextEntry()</ref> is used
to create a new entry in the output archive, then the entry's data is
written to the wxArchiveOutputStream.  Another call to PutNextEntry()
closes the current entry and begins the next.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxFilterOutputStream">wxFilterOutputStream</ref>

</parents>
<includes>
<header name="wx/archive.h"/></includes>
<seealso>

<ref target="wxarc">Archive formats such as zip</ref><br/>
<ref target="wxarchiveentry">wxArchiveEntry</ref><br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref>

</seealso>
<members>
<member class="wxArchiveOutputStream" name="~wxArchiveOutputStream"><function type="" name="~wxArchiveOutputStream"><description>

Calls <ref target="wxarchiveoutputstreamclose">Close()</ref> if it has not already
been called.


</description></function></member>
<member class="wxArchiveOutputStream" name="Close"><function type="bool" name="Close"><description>

Closes the archive, returning true if it was successfully written.
Called by the destructor if not called explicitly.


</description></function></member>
<member class="wxArchiveOutputStream" name="CloseEntry"><function type="bool" name="CloseEntry"><description>

Close the current entry. It is called implicitly whenever another new
entry is created with <ref target="wxarchiveoutputstreamcopyentry">CopyEntry()</ref>
or <ref target="wxarchiveoutputstreamputnextentry">PutNextEntry()</ref>, or
when the archive is closed.


</description></function></member>
<member class="wxArchiveOutputStream" name="CopyArchiveMetaData"><function type="bool" name="CopyArchiveMetaData"><parameters><parameter type="wxArchiveInputStream&amp; " name="stream"></parameter></parameters><description>

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.

Since the position of the meta-data can vary between the various archive
formats, it is best to call CopyArchiveMetaData() before transferring
the entries.  The <ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
will then hold on to the meta-data and write it at the correct point in
the output file.

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.


</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>

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.

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.

<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>.


</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>

Create a new directory entry
(see <ref target="wxarchiveentryisdir">wxArchiveEntry::IsDir()</ref>)
with the given name and timestamp.

<ref target="wxarchiveoutputstreamputnextentry">PutNextEntry()</ref> can
also be used to create directory entries, by supplying a name with
a trailing path separator.


</description></function></member>
<member class="wxArchiveOutputStream" name="PutNextEntry"><function type="bool" name="PutNextEntry"><parameters><parameter type="wxArchiveEntry&#42; " name="entry"></parameter></parameters><description>

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.

</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>

Create a new entry with the given name, timestamp and size. The entry's
data can then be written by writing to this wxArchiveOutputStream.


</description></function></member></members>
<supported>
</supported>
</class><class name="wxArray">
<description>
<p class="classdesc">
This section describes the so called <i> dynamic arrays</i>. This is a C
array-like data structure i.e. the member access time is constant (and not
linear according to the number of container elements as for linked lists). However, these
arrays are dynamic in the sense that they will automatically allocate more
memory if there is not enough of it for adding a new element. They also perform
range checking on the index values but in debug mode only, so please be sure to
compile your application in debug mode to use it (see <ref target="debuggingoverview">debugging overview</ref> for
details). So, unlike the arrays in some other
languages, attempt to access an element beyond the arrays bound doesn't
automatically expand the array but provokes an assertion failure instead in
debug build and does nothing (except possibly crashing your program) in the
release build.</p><p class="classdesc">The array classes were designed to be reasonably efficient, both in terms of
run-time speed and memory consumption and the executable size. The speed of
array item access is, of course, constant (independent of the number of elements)
making them much more efficient than linked lists (<ref target="wxlist">wxList</ref>).
Adding items to the arrays is also implemented in more or less constant time -
but the price is preallocating the memory in advance. In the <ref target="wxarraymemorymanagement">memory management</ref> section
you may find some useful hints about optimizing wxArray memory usage. As for executable size, all
wxArray functions are inline, so they do not take <i> any space at all</i>.</p><p class="classdesc">wxWidgets has three different kinds of array. All of them derive from
wxBaseArray class which works with untyped data and can not be used directly.
The standard macros WX_DEFINE_ARRAY(), WX_DEFINE_SORTED_ARRAY() and
WX_DEFINE_OBJARRAY() are used to define a new class deriving from it. The
classes declared will be called in this documentation wxArray, wxSortedArray and
wxObjArray but you should keep in mind that no classes with such names actually
exist, each time you use one of WX_DEFINE_XXXARRAY macro you define a class
with a new name. In fact, these names are &quot;template&quot; names and each usage of one
of the macros mentioned above creates a template specialization for the given
element type.</p><p class="classdesc">wxArray is suitable for storing integer types and pointers which it does not
treat as objects in any way, i.e. the element pointed to by the pointer is not
deleted when the element is removed from the array. It should be noted that
all of wxArray's functions are inline, so it costs strictly nothing to define as
many array types as you want (either in terms of the executable size or the
speed) as long as at least one of them is defined and this is always the case
because wxArrays are used by wxWidgets internally. This class has one serious
limitation: it can only be used for storing integral types (bool, char, short,
int, long and their unsigned variants) or pointers (of any kind). An attempt
to use with objects of sizeof() greater than sizeof(long) will provoke a
runtime assertion failure, however declaring a wxArray of floats will not (on
the machines where sizeof(float) &lt;= sizeof(long)), yet it will <b>{ not}</b> work,
please use wxObjArray for storing floats and doubles (NB: a more efficient
wxArrayDouble class is scheduled for the next release of wxWidgets).</p><p class="classdesc">wxSortedArray is a wxArray variant which should be used when searching in the
array is a frequently used operation. It requires you to define an additional
function for comparing two elements of the array element type and always stores
its items in the sorted order (according to this function). Thus, it is 
 <ref target="wxarrayindex">Index()</ref> function execution time is $O(log(N))$ instead of
$O(N)$ for the usual arrays but the <ref target="wxarrayadd">Add()</ref> method is
slower: it is $O(log(N))$ instead of constant time (neglecting time spent in
memory allocation routine). However, in a usual situation elements are added to
an array much less often than searched inside it, so wxSortedArray may lead to
huge performance improvements compared to wxArray. Finally, it should be
noticed that, as wxArray, wxSortedArray can be only used for storing integral
types or pointers.</p><p class="classdesc">wxObjArray class treats its elements like &quot;objects&quot;. It may delete them when
they are removed from the array (invoking the correct destructor) and copies
them using the objects copy constructor. In order to implement this behaviour
the definition of the wxObjArray arrays is split in two parts: first, you should
declare the new wxObjArray class using WX_DECLARE_OBJARRAY() macro and then
you must include the file defining the implementation of template type:
&lt;wx/arrimpl.cpp&gt; and define the array class with WX_DEFINE_OBJARRAY() macro
from a point where the full (as opposed to `forward') declaration of the array
elements class is in scope. As it probably sounds very complicated here is an
example:</p><p class="classdesc"><pre>
#include &lt;wx/dynarray.h&gt;

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

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

class MyDirectory
{
...
    ArrayOfDirectories m_subdirectories; // all subdirectories
    ArrayOfFiles       m_files;          // all files in this directory
};

...

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

// that's all!
</pre></p><p class="classdesc">It is not as elegant as writing</p><p class="classdesc"><pre> 
typedef std::vector&lt;MyDirectory&gt; ArrayOfDirectories;
</pre></p><p class="classdesc">but is not that complicated and allows the code to be compiled with any, however
dumb, C++ compiler in the world.</p><p class="classdesc">Things are much simpler for wxArray and wxSortedArray however: it is enough
just to write</p><p class="classdesc"><pre> 
WX_DEFINE_ARRAY(int, ArrayOfDirectories);
WX_DEFINE_SORTED_ARRAY(int, ArrayOfFiles);
</pre></p><p class="classdesc">i.e. there is only one <tt> DEFINE</tt> macro and no need for separate 
<tt> DECLARE</tt> one.</p>
</description>
<category>Miscellaneous</category>
<includes>
<header name="wx/dynarray.h" comment="for wxArray and wxSortedArray and additionally &lt;wx/arrimpl.cpp&gt;"/></includes>
<seealso>

<ref target="wxcontaineroverview">Container classes overview</ref><ref target="wxlist">wxList</ref>

</seealso>
<members>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxObjArray" name=""></member>
<member class="wxArray" name="~wxArray"><function type="" name="~wxArray"><description>

</description></function>
<function type="" name="~wxSortedArray"><description>

</description></function>
<function type="" name="~wxObjArray"><description>

The wxObjArray destructor deletes all the items owned by the array. This is not
done by wxArray and wxSortedArray versions - you may use 
<ref target="wxcleararray">WX_CLEAR_ARRAY</ref> macro for this.

</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>

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>.

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.

You may also use <ref target="wxappendarray">WX_APPEND_ARRAY</ref> macro to append all
elements of one array to another one but it is more efficient to use 
<i> copies</i> parameter and modify the elements in place later if you plan to
append a lot of items.

</description></function></member>
<member class="wxArray" name="Alloc"><function type="void" name="Alloc"><parameters><parameter type="size_t " name="count"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxArray" name="Clear"><function type="void" name="Clear"><description>

This function does the same as <ref target="wxarrayempty">Empty()</ref> and additionally
frees the memory allocated to the array.

</description></function></member>
<member class="wxArray" name="Count"><function type="size_t" name="Count" suffix="const"><description>

Same as <ref target="wxarraygetcount">GetCount()</ref>. This function is deprecated -
it exists only for compatibility.

</description></function></member>
<member class="wxObjArray" name="Detach"><function type="T &#42;" name="Detach"><parameters><parameter type="size_t " name="index"></parameter></parameters><description>

Removes the element from the array, but, unlike, 
<ref target="wxarrayremove">Remove()</ref> doesn't delete it. The function returns the
pointer to the removed element.

</description></function></member>
<member class="wxArray" name="Empty"><function type="void" name="Empty"><description>

Empties the array. For wxObjArray classes, this destroys all of the array
elements. For wxArray and wxSortedArray this does nothing except marking the
array of being empty - this function does not free the allocated memory, use 
<ref target="wxarrayclear">Clear()</ref> for this.

</description></function></member>
<member class="wxArray" name="GetCount"><function type="size_t" name="GetCount" suffix="const"><description>

Return the number of items in the array.

</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>

The first version of the function is for wxArray and wxObjArray, the second is
for wxSortedArray only.

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.

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).

<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.

</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>

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.

Please see <ref target="wxarrayadd">Add()</ref> for explanation of the differences
between the overloaded versions of this function.

</description></function></member>
<member class="wxArray" name="IsEmpty"><function type="bool" name="IsEmpty" suffix="const"><description>

Returns true if the array is empty, false otherwise.

</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>

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.

The returned value is of type &quot;reference to the array element type&quot; for all of
the array classes.

</description></function></member>
<member class="wxArray" name="Last"><function type="T&amp;" name="Last" suffix="const"><description>

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.

The returned value is of type &quot;reference to the array element type&quot; for all of
the array classes.

</description></function></member>
<member class="wxArray" name="Remove"><function type="void" name="Remove"><parameters><parameter type="T " name="item"></parameter></parameters><description>

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.

When an element is removed from wxObjArray it is deleted by the array - use 
<ref target="wxobjarraydetach">Detach()</ref> if you don't want this to happen. On the
other hand, when an object is removed from a wxArray nothing happens - you
should delete it manually if required:

<pre>
T &#42;item = array[n];
delete item;
array.Remove(n)
</pre>

See also <ref target="wxcleararray">WX_CLEAR_ARRAY</ref> macro which deletes all
elements of a wxArray (supposed to contain pointers).

</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>

Removes <i> count</i> elements starting at <i> index</i> from the array. When an
element is removed from wxObjArray it is deleted by the array - use
<ref target="wxobjarraydetach">Detach()</ref> if you don't want this to happen. On
the other hand, when an object is removed from a wxArray nothing happens -
you should delete it manually if required:

<pre>
T &#42;item = array[n];
delete item;
array.RemoveAt(n)
</pre>

See also <ref target="wxcleararray">WX_CLEAR_ARRAY</ref> macro which deletes all
elements of a wxArray (supposed to contain pointers).

</description></function></member>
<member class="wxArray" name="SetCount"><function type="void" name="SetCount"><parameters><parameter type="size_t " name="count"></parameter><parameter type="T " name="defval" value="T(0)"></parameter></parameters><seealso>

<ref target="wxarraygetcount">GetCount</ref>

</seealso><description>

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>.

</description></function></member>
<member class="wxArray" name="Shrink"><function type="void" name="Shrink"><description>

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.

</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>

The notation CMPFUNC&lt;T&gt; should be read as if we had the following declaration:

<pre>
template int CMPFUNC(T &#42;first, T &#42;second);
</pre>

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>.

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.

wxSortedArray doesn't have this function because it is always sorted.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxArrayString">
<description>
<p class="classdesc">
wxArrayString is an efficient container for storing 
<ref target="wxstring">wxString</ref> objects. It has the same features as all 
<ref target="wxarray">wxArray</ref> classes, i.e. it dynamically expands when new items
are added to it (so it is as easy to use as a linked list), but the access
time to the elements is constant, instead of being linear in number of
elements as in the case of linked lists. It is also very size efficient and
doesn't take more space than a C array <i> wxString[]</i> type (wxArrayString
uses its knowledge of internals of wxString class to achieve this).</p><p class="classdesc">This class is used in the same way as other dynamic <ref target="wxarray">arrays</ref>,
except that no <i> WX_DEFINE_ARRAY</i> declaration is needed for it. When a
string is added or inserted in the array, a copy of the string is created, so
the original string may be safely deleted (e.g. if it was a <i> char &#42;</i> 
pointer the memory it was using can be freed immediately after this). In
general, there is no need to worry about string memory deallocation when using
this class - it will always free the memory it uses itself.</p><p class="classdesc">The references returned by <ref target="wxarraystringitem">Item</ref>, 
<ref target="wxarraystringlast">Last</ref> or 
<ref target="wxarraystringoperatorindex">operator[]</ref> are not constant, so the
array elements may be modified in place like this</p><p class="classdesc"><pre>
    array.Last().MakeUpper();
</pre></p><p class="classdesc">There is also a variant of wxArrayString called wxSortedArrayString which has
exactly the same methods as wxArrayString, but which always keeps the string
in it in (alphabetical) order. wxSortedArrayString uses binary search in its 
<ref target="wxarraystringindex">Index</ref> function (instead of linear search for
wxArrayString::Index) which makes it much more efficient if you add strings to
the array rarely (because, of course, you have to pay for Index() efficiency
by having Add() be slower) but search for them often. Several methods should
not be used with sorted array (basically, all which break the order of items)
which is mentioned in their description.</p><p class="classdesc">Final word: none of the methods of wxArrayString is virtual including its
destructor, so this class should not be used as a base class.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxArray">Although this is not true strictly speaking this class may be considered as a
specialization of wxArray class for the wxString member
data: it is not implemented like this but it does have all of the wxArray
functions.</ref>

</parents>
<includes>
<header name="wx/arrstr.h"/></includes>
<seealso>

<ref target="wxarray">wxArray</ref><ref target="wxstring">wxString</ref><ref target="wxstringoverview">wxString overview</ref>

</seealso>
<members>
<member class="wxArrayString" name="wxArrayString"><function type="" name="wxArrayString"><description>

</description></function>
<function type="" name="wxArrayString"><parameters><parameter type="const wxArrayString&amp;" name=" array"></parameter></parameters><description>

Default and copy constructors.

Note that when an array is assigned to a sorted array, its contents is
automatically sorted during construction.

</description></function></member>
<member class="wxArrayString" name="~wxArrayString"><function type="" name="~wxArrayString"><parameters></parameters><description>

Destructor frees memory occupied by the array strings. For the performance
reasons it is not virtual, so this class should not be derived from.

</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>

Assignment operator.

</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>

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.

</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>

Compares 2 arrays respecting the case. Returns true if the arrays have
different number of elements or if the elements don't match pairwise.

</description></function></member>
<member class="wxArrayString" name="operator[]"><function type="wxString&amp;" name="operator[]"><parameters><parameter type="size_t " name="nIndex"></parameter></parameters><description>

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.

This is the operator version of <ref target="wxarraystringitem">Item</ref> method.

</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>

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.

<b>{ Warning:}</b> For sorted arrays, the index of the inserted item will not be,
in general, equal to <ref target="wxarraystringgetcount">GetCount()</ref> - 1 because
the item is inserted at the correct position to keep the array sorted and not
appended.

See also <ref target="wxarraystringinsert">Insert</ref>

</description></function></member>
<member class="wxArrayString" name="Alloc"><function type="void" name="Alloc"><parameters><parameter type="size_t " name="nCount"></parameter></parameters><description>

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.

See also <ref target="wxarraymemorymanagement">Dynamic array memory management</ref>

</description></function></member>
<member class="wxArrayString" name="Clear"><function type="void" name="Clear"><description>

Clears the array contents and frees memory.

See also <ref target="wxarraystringempty">Empty</ref>

</description></function></member>
<member class="wxArrayString" name="Count"><function type="size_t" name="Count" suffix="const"><description>

Returns the number of items in the array. This function is deprecated and is
for backwards compatibility only, please use 
<ref target="wxarraystringgetcount">GetCount</ref> instead.

</description></function></member>
<member class="wxArrayString" name="Empty"><function type="void" name="Empty"><description>

Empties the array: after a call to this function 
<ref target="wxarraystringgetcount">GetCount</ref> will return 0. However, this
function does not free the memory used by the array and so should be used when
the array is going to be reused for storing other strings. Otherwise, you
should use <ref target="wxarraystringclear">Clear</ref> to empty the array and free
memory.

</description></function></member>
<member class="wxArrayString" name="GetCount"><function type="size_t" name="GetCount" suffix="const"><description>

Returns the number of items in the array.

</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>

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.

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.

Returns index of the first item matched or <tt> wxNOT_FOUND</tt> if there is no match.

</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>

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

<pre>
Insert(&quot;foo&quot;, 0);
</pre>

If <i> nIndex</i> is equal to <i> GetCount()</i> this function behaves as 
<ref target="wxarraystringadd">Add</ref>.

<b>{ Warning:}</b> this function should not be used with sorted arrays because it
could break the order of items and, for example, subsequent calls to 
<ref target="wxarraystringindex">Index()</ref> would then not work!

</description></function></member>
<member class="wxArrayString" name="IsEmpty"><function type="" name="IsEmpty"><parameters></parameters><description>

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.

</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>

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.

See also <ref target="wxarraystringoperatorindex">operator[]</ref> for the operator
version.

</description></function></member>
<member class="wxArrayString" name="Last"><function type="" name="Last"><parameters></parameters><description>

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.

</description></function></member>
<member class="wxArrayString" name="Remove"><function type="void" name="Remove"><parameters><parameter type="const char &#42;" name=" sz"></parameter></parameters><description>

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.

See also <ref target="wxarraystringindex">Index</ref>

</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>

Removes <i> count</i> items starting at position <i> nIndex</i> from the array.

</description></function></member>
<member class="wxArrayString" name="Shrink"><function type="void" name="Shrink"><description>

Releases the extra memory allocated by the array. This function is useful to
minimize the array memory consumption.

See also <ref target="wxarraystringalloc">Alloc</ref>, <ref target="wxarraymemorymanagement">Dynamic array memory management</ref>

</description></function></member>
<member class="wxArrayString" name="Sort"><function type="void" name="Sort"><parameters><parameter type="bool" name="reverseOrder" value="false"></parameter></parameters><description>

Sorts the array in alphabetical order or in reverse alphabetical order if 
<i> reverseOrder</i> is true. The sort is case-sensitive.

<b>{ Warning:}</b> this function should not be used with sorted array because it
could break the order of items and, for example, subsequent calls to 
<ref target="wxarraystringindex">Index()</ref> would then not work!

</description></function>
<function type="void" name="Sort"><parameters><parameter type="CompareFunction " name="compareFunction"></parameter></parameters><example>

The following example sorts strings by their length.

<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>

<b>{ Warning:}</b> this function should not be used with sorted array because it
could break the order of items and, for example, subsequent calls to 
<ref target="wxarraystringindex">Index()</ref> would then not work!

</example><description>

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.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
wxArtProvider class is used to customize the look of wxWidgets application.
When wxWidgets need to display an icon or a bitmap (e.g. in the standard file
dialog), it does not use hard-coded resource but asks wxArtProvider for it
instead. This way the users can plug in own wxArtProvider class and easily
replace standard art with his/her own version. It is easy thing to do: all
that is needed is to derive a class from wxArtProvider, override it's
<ref target="wxartprovidercreatebitmap">CreateBitmap</ref> method and register the
provider with
<ref target="wxartproviderpushprovider">wxArtProvider::PushProvider</ref>:</p><p class="classdesc"><pre>
  class MyProvider : public wxArtProvider
  {
  protected:
    wxBitmap CreateBitmap(const wxArtID&amp; id, 
                          const wxArtClient&amp; client,
                          const wxSize size)
    { ... }
  };
  ...
  wxArtProvider::PushProvider(new MyProvider);
</pre></p><p class="classdesc">There's another way of taking advantage of this class: you can use it in your code and use
platform native icons as provided by
<ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref> or 
<ref target="wxartprovidergeticon">wxArtProvider::GetIcon</ref> (NB: this is not yet really
possible as of wxWidgets 2.3.3, the set of wxArtProvider bitmaps is too
small). </p><p class="classdesc"><ref type="membersection" target="Identifying art resources">Identifying art resources</ref><ref target="artprovideridentifying"/></p><p class="classdesc">Every bitmap is known to wxArtProvider under an unique ID that is used by when
requesting a resource from it. The ID is represented by wxArtID type and can
have one of these predefined values (you can see bitmaps represented by these
constants in the <ref target="sampleartprovider">artprov</ref> sample):
<ul><li> wxART_ADD_BOOKMARK     
</li>
<li> wxART_DEL_BOOKMARK     
</li>
<li> wxART_HELP_SIDE_PANEL  
</li>
<li> wxART_HELP_SETTINGS    
</li>
<li> wxART_HELP_BOOK        
</li>
<li> wxART_HELP_FOLDER      
</li>
<li> wxART_HELP_PAGE        
</li>
<li> wxART_GO_BACK          
</li>
<li> wxART_GO_FORWARD       
</li>
<li> wxART_GO_UP            
</li>
<li> wxART_GO_DOWN          
</li>
<li> wxART_GO_TO_PARENT     
</li>
<li> wxART_GO_HOME          
</li>
<li> wxART_FILE_OPEN        
</li>
<li> wxART_PRINT            
</li>
<li> wxART_HELP             
</li>
<li> wxART_TIP              
</li>
<li> wxART_REPORT_VIEW      
</li>
<li> wxART_LIST_VIEW        
</li>
<li> wxART_NEW_DIR          
</li>
<li> wxART_FOLDER           
</li>
<li> wxART_GO_DIR_UP        
</li>
<li> wxART_EXECUTABLE_FILE  
</li>
<li> wxART_NORMAL_FILE      
</li>
<li> wxART_TICK_MARK        
</li>
<li> wxART_CROSS_MARK       
</li>
<li> wxART_ERROR            
</li>
<li> wxART_QUESTION         
</li>
<li> wxART_WARNING          
</li>
<li> wxART_INFORMATION      
</li>
<li> wxART_MISSING_IMAGE      
</li></ul></p><p class="classdesc">Additionally, any string recognized by custom art providers registered using
<ref target="wxartproviderpushprovider">PushProvider</ref> may be used.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/artprov.h"/></includes>
<seealso>

See the <ref target="sampleartprovider">artprov</ref> sample for an example of wxArtProvider usage.

</seealso>
<members>
<member class="wxArtProvider" name="CreateBitmap"><function type="wxBitmap" name="CreateBitmap"><parameters><parameter type="const wxArtID&amp; " name="id">wxArtID unique identifier of the bitmap.</parameter><parameter type="const wxArtClient&amp; " name="client">wxArtClient identifier of the client (i.e. who is asking for the bitmap).
This only servers as a hint.</parameter><parameter type="const wxSize&amp; " name="size">Preferred size of the bitmap. The function may return a bitmap of different
dimensions, it will be automatically rescaled to meet client's request.</parameter></parameters><note>

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

</note><description>

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).









</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>

Query registered providers for bitmap with given ID.









</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>

Same as <ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref>, but
return a wxIcon object (or wxNullIcon on failure).

</description></function></member>
<member class="wxArtProvider" name="PopProvider"><function type="static bool" name="PopProvider"><description>

Remove latest added provider and delete it.

</description></function></member>
<member class="wxArtProvider" name="PushProvider"><function type="static void" name="PushProvider"><parameters><parameter type="wxArtProvider&#42; " name="provider"></parameter></parameters><description>

Register new art provider (add it to the top of providers stack).

</description></function></member>
<member class="wxArtProvider" name="RemoveProvider"><function type="static bool" name="RemoveProvider"><parameters><parameter type="wxArtProvider&#42; " name="provider"></parameter></parameters><description>

Remove a provider from the stack. The provider must have been added previously
and is <i> not</i> deleted.

</description></function></member></members>
<supported>
</supported>
</class><class name="wxAutomationObject">
<description>
<p class="classdesc">
The <b>{ wxAutomationObject}</b> class represents an OLE automation object containing a single data member,
an IDispatch pointer. It contains a number of functions that make it easy to perform
automation operations, and set and get properties. The class makes heavy use of the <ref target="wxvariant">wxVariant</ref> class.</p><p class="classdesc">The usage of these classes is quite close to OLE automation usage in Visual Basic. The API is
high-level, and the application can specify multiple properties in a single string. The following example
gets the current Excel instance, and if it exists, makes the active cell bold.</p><p class="classdesc"><pre>
  wxAutomationObject excelObject;
  if (excelObject.GetInstance(&quot;Excel.Application&quot;))
      excelObject.PutProperty(&quot;ActiveCell.Font.Bold&quot;, true);
</pre></p><p class="classdesc">Note that this class obviously works under Windows only.</p>
</description>
<category>Miscellaneous</category>
<shortdesc>OLE automation class</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/msw/ole/automtn.h"/></includes>
<seealso>

<ref target="wxvariant">wxVariant</ref>

</seealso>
<members>
<member class="wxAutomationObject" name="wxAutomationObject"><function type="" name="wxAutomationObject"><parameters><parameter type="WXIDISPATCH&#42;" name="dispatchPtr" value="NULL"></parameter></parameters><description>

Constructor, taking an optional IDispatch pointer which will be released when the
object is deleted.

</description></function></member>
<member class="wxAutomationObject" name="~wxAutomationObject"><function type="" name="~wxAutomationObject"><description>

Destructor. If the internal IDispatch pointer is non-null, it will be released.

</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>

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:

<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>

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:

<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>

Creates a new object based on the class id, returning true if the object was successfully created,
or false if not.

</description></function></member>
<member class="wxAutomationObject" name="GetDispatchPtr"><function type="IDispatch&#42;" name="GetDispatchPtr" suffix="const"><description>

Gets the IDispatch pointer.

</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>

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.

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.

</description></function></member>
<member class="wxAutomationObject" name="GetObject"><function type="bool" name="GetObject" suffix="const"><parameters><parameter type="wxAutomationObject&amp;" name="obj"></parameter><parameter type="const wxString&amp;" name=" property"></parameter><parameter type="int" name="noArgs" value="0"></parameter><parameter type="wxVariant " name="args[]" value="NULL"></parameter></parameters><seealso>

<ref target="wxautomationobjectgetproperty">wxAutomationObject::GetProperty</ref>

</seealso><description>

Retrieves a property from this object, assumed to be a dispatch pointer, and initialises <i> obj</i> with it.
To avoid having to deal with IDispatch pointers directly, use this function in preference
to <ref target="wxautomationobjectgetproperty">wxAutomationObject::GetProperty</ref> when retrieving objects
from other objects.

Note that an IDispatch pointer is stored as a void&#42; pointer in wxVariant objects.

</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>

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:

<pre>
  wxVariant res = obj.GetProperty(&quot;Range&quot;, wxVariant(&quot;A1&quot;));
  wxVariant res = obj.GetProperty(&quot;Range&quot;, &quot;A1&quot;);
</pre>

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.

</description></function></member>
<member class="wxAutomationObject" name="Invoke"><function type="bool" name="Invoke" suffix="const"><parameters><parameter type="const wxString&amp;" name=" member"></parameter><parameter type="int" name=" action"></parameter><parameter type="wxVariant&amp; " name="retValue">Return value (ignored if there is no return value)</parameter><parameter type="int" name=" noArgs"></parameter><parameter type="wxVariant" name=" args[]"></parameter><parameter type="const wxVariant&#42;" name="ptrArgs[]" value="0"></parameter></parameters><remarks>

Two types of argument array are provided, so that when possible pointers are used for efficiency.

</remarks><returnvalue>

true if the operation was successful, false otherwise.

</returnvalue><description>

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.







.







</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>

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:

<pre>
  obj.PutProperty(&quot;Value&quot;, wxVariant(23));
  obj.PutProperty(&quot;Value&quot;, 23);
</pre>

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.

</description></function></member>
<member class="wxAutomationObject" name="SetDispatchPtr"><function type="void" name="SetDispatchPtr"><parameters><parameter type="WXIDISPATCH&#42;" name=" dispatchPtr"></parameter></parameters><description>

Sets the IDispatch pointer. This function does not check if there is already an IDispatch pointer.

You may need to cast from IDispatch&#42; to WXIDISPATCH&#42; when calling this function.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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.</p>
</description>
<category>Graphics device interface</category>
<shortdesc>Represents a bitmap</shortdesc>
<parents>
<ref type="help" target="wxGDIObject">wxGDIObject</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/bitmap.h"/></includes>
<predefs>

Objects:

<b>{ wxNullBitmap}</b>

</predefs>
<seealso>

<ref target="wxbitmapoverview">wxBitmap overview</ref>,
<ref target="supportedbitmapformats">supported bitmap file formats</ref>,
<ref target="wxdcblit">wxDC::Blit</ref>,
<ref target="wxicon">wxIcon</ref><ref target="wxcursor">wxCursor</ref><ref target="wxbitmap">wxBitmap</ref>,
<ref target="wxmemorydc">wxMemoryDC</ref>

</seealso>
<members>
<member class="wxBitmap" name="wxBitmap"><function type="" name="wxBitmap"><description>

Default constructor.

</description></function>
<function type="" name="wxBitmap"><parameters><parameter type="const wxBitmap&amp; " name="bitmap"></parameter></parameters><description>

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:

<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"></parameter><parameter type="int" name=" height"></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>

Creates a bitmap from the given data which is interpreted in platform-dependent
manner.

</description></function>
<function type="" name="wxBitmap"><parameters><parameter type="const char" name=" bits[]"></parameter><parameter type="int" name=" width"></parameter><parameter type="int" name=" height"></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>

Creates a bitmap from an array of bits.

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.

For other bit depths, the behaviour is platform dependent: under Windows, the
data is passed without any changes to the underlying <tt> CreateBitmap()</tt> API.
Under other platforms, only monochrome bitmaps may be created using this
constructor and <ref target="wximage">wxImage</ref> should be used for creating colour
bitmaps from static data.

</description></function>
<function type="" name="wxBitmap"><parameters><parameter type="int" name=" width"></parameter><parameter type="int" name=" height"></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>

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.

</description></function>
<function type="" name="wxBitmap"><parameters><parameter type="const char&#42;&#42;" name=" bits"></parameter></parameters><description>

Creates a bitmap from XPM data.

</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>

Loads a bitmap from a file or resource.

</description></function>
<function type="" name="wxBitmap"><parameters><parameter type="const wxImage&amp;" name=" img"></parameter><parameter type="int" name="depth" value="-1">Specifies the depth of the bitmap. If this is omitted, the display depth of the
screen is used.</parameter></parameters><seealso>

<ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref>





</seealso><remarks>

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.

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.

The fourth form constructs a bitmap from data whose type and value depends on
the value of the <i> type</i> argument.

The fifth form constructs a (usually monochrome) bitmap from an array of pixel values, under both
X and Windows.

The sixth form constructs a new bitmap.

The seventh form constructs a bitmap from pixmap (XPM) data, if wxWidgets has been configured
to incorporate this feature.

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:

<pre>
#include &quot;mybitmap.xpm&quot;

...

wxBitmap &#42;bitmap = new wxBitmap(mybitmap);
</pre>

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.

Under Windows, <i> type</i> defaults to wxBITMAP_TYPE_BMP_RESOURCE.
Under X, <i> type</i> defaults to wxBITMAP_TYPE_XPM.

</remarks><description>

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.

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).

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.

















</description></function></member>
<member class="wxBitmap" name="~wxBitmap"><function type="" name="~wxBitmap"><description>

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.

If the application omits to delete the bitmap explicitly, the bitmap will be
destroyed automatically by wxWidgets when the application exits.

Do not delete a bitmap that is selected into a memory device context.

</description></function></member>
<member class="wxBitmap" name="AddHandler"><function type="static void" name="AddHandler"><parameters><parameter type="wxBitmapHandler&#42;" name=" handler"></parameter></parameters><seealso>

<ref target="wxbitmaphandler">wxBitmapHandler</ref>

</seealso><description>

Adds a handler to the end of the static list of format handlers.



</description></function></member>
<member class="wxBitmap" name="CleanUpHandlers"><function type="static void" name="CleanUpHandlers"><description>

Deletes all bitmap handlers.

This function is called by wxWidgets on exit.

</description></function></member>
<member class="wxBitmap" name="ConvertToImage"><function type="wxImage" name="ConvertToImage"><description>

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.

</description></function></member>
<member class="wxBitmap" name="CopyFromIcon"><function type="bool" name="CopyFromIcon"><parameters><parameter type="const wxIcon&amp;" name=" icon"></parameter></parameters><description>

Creates the bitmap from an icon.

</description></function></member>
<member class="wxBitmap" name="Create"><function type="virtual bool" name="Create"><parameters><parameter type="int" name=" width"></parameter><parameter type="int" name=" height"></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>

Creates a fresh bitmap. If the final argument is omitted, the display depth of
the screen is used.

</description></function>
<function type="virtual bool" name="Create"><parameters><parameter type="void&#42;" name=" data"></parameter><parameter type="int" name=" type"></parameter><parameter type="int" name=" width"></parameter><parameter type="int" name=" height"></parameter><parameter type="int" name="depth" value="-1">The depth of the bitmap in pixels. If this is -1, the screen depth is used.</parameter></parameters><seealso>

<ref target="wxbitmapctor">wxBitmap::wxBitmap</ref>

</seealso><remarks>

The first form works on all platforms. The portability of the second form depends on the
type of data.

</remarks><returnvalue>

true if the call succeeded, false otherwise.

</returnvalue><description>

Creates a bitmap from the given data, which can be of arbitrary type.













</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>

Finds the handler with the given name.

</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="long" name=" bitmapType"></parameter></parameters><description>

Finds the handler associated with the given extension and type.

</description></function>
<function type="static wxBitmapHandler&#42;" name="FindHandler"><parameters><parameter type="long " name="bitmapType">The bitmap type, such as wxBITMAP_TYPE_BMP.</parameter></parameters><seealso>

<ref target="wxbitmaphandler">wxBitmapHandler</ref>

</seealso><returnvalue>

A pointer to the handler if found, NULL otherwise.

</returnvalue><description>

Finds the handler associated with the given bitmap type.







</description></function></member>
<member class="wxBitmap" name="GetDepth"><function type="int" name="GetDepth" suffix="const"><description>

Gets the colour depth of the bitmap. A value of 1 indicates a
monochrome bitmap.

</description></function></member>
<member class="wxBitmap" name="GetHandlers"><function type="static wxList&amp;" name="GetHandlers"><seealso>

<ref target="wxbitmaphandler">wxBitmapHandler</ref>

</seealso><description>

Returns the static list of bitmap format handlers.

</description></function></member>
<member class="wxBitmap" name="GetHeight"><function type="int" name="GetHeight" suffix="const"><description>

Gets the height of the bitmap in pixels.

</description></function></member>
<member class="wxBitmap" name="GetPalette"><function type="wxPalette&#42;" name="GetPalette" suffix="const"><seealso>

<ref target="wxpalette">wxPalette</ref>

</seealso><description>

Gets the associated palette (if any) which may have been loaded from a file
or set for the bitmap.

</description></function></member>
<member class="wxBitmap" name="GetMask"><function type="wxMask&#42;" name="GetMask" suffix="const"><seealso>

<ref target="wxbitmapsetmask">wxBitmap::SetMask</ref><ref target="wxmask">wxMask</ref>

</seealso><description></description></function></member>
<member class="wxBitmap" name="GetWidth"><function type="int" name="GetWidth" suffix="const"><seealso>

<ref target="wxbitmapgetheight">wxBitmap::GetHeight</ref>

</seealso><description>

Gets the width of the bitmap in pixels.

</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>

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.

</description></function></member>
<member class="wxBitmap" name="InitStandardHandlers"><function type="static void" name="InitStandardHandlers"><seealso>

<ref target="wxbitmaphandler">wxBitmapHandler</ref>

</seealso><description>

Adds the standard bitmap format handlers, which, depending on wxWidgets
configuration, can be handlers for Windows bitmap, Windows bitmap resource, and XPM.

This function is called by wxWidgets on startup.

</description></function></member>
<member class="wxBitmap" name="InsertHandler"><function type="static void" name="InsertHandler"><parameters><parameter type="wxBitmapHandler&#42;" name=" handler"></parameter></parameters><seealso>

<ref target="wxbitmaphandler">wxBitmapHandler</ref>

</seealso><description>

Adds a handler at the start of the static list of format handlers.



</description></function></member>
<member class="wxBitmap" name="LoadFile"><function type="bool" name="LoadFile"><parameters><parameter type="const wxString&amp;" name=" name"></parameter><parameter type="long" name=" type"></parameter></parameters><seealso>

<ref target="wxbitmapsavefile">wxBitmap::SaveFile</ref>

</seealso><remarks>

A palette may be associated with the bitmap if one exists (especially for
colour Windows bitmaps), and if the code supports it. You can check
if one has been created by using the <ref target="wxbitmapgetpalette">GetPalette</ref> member.

</remarks><returnvalue>

true if the operation succeeded, false otherwise.

</returnvalue><description>

Loads a bitmap from a file or resource.







</description></function></member>
<member class="wxBitmap" name="Ok"><function type="bool" name="Ok" suffix="const"><description>

Returns true if bitmap data is present.

</description></function></member>
<member class="wxBitmap" name="RemoveHandler"><function type="static bool" name="RemoveHandler"><parameters><parameter type="const wxString&amp; " name="name">The handler name.</parameter></parameters><seealso>

<ref target="wxbitmaphandler">wxBitmapHandler</ref>

</seealso><returnvalue>

true if the handler was found and removed, false otherwise.

</returnvalue><description>

Finds the handler with the given name, and removes it. The handler
is not deleted.



</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="int" name=" type"></parameter><parameter type="wxPalette&#42; " name="palette" value="NULL">An optional palette used for saving the bitmap.</parameter></parameters><seealso>

<ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref>

</seealso><remarks>

Depending on how wxWidgets has been configured, not all formats may be available.

</remarks><returnvalue>

true if the operation succeeded, false otherwise.

</returnvalue><description>

Saves a bitmap in the named file.











</description></function></member>
<member class="wxBitmap" name="SetDepth"><function type="void" name="SetDepth"><parameters><parameter type="int " name="depth">Bitmap depth.</parameter></parameters><description>

Sets the depth member (does not affect the bitmap data).





</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>

Sets the height member (does not affect the bitmap data).





</description></function></member>
<member class="wxBitmap" name="SetMask"><function type="void" name="SetMask"><parameters><parameter type="wxMask&#42; " name="mask"></parameter></parameters><seealso>

<ref target="wxbitmapgetmask">wxBitmap::GetMask</ref><ref target="wxmask">wxMask</ref>












</seealso><description></description></function></member>
<member class="wxBitmap" name="SetPalette"><function type="void" name="SetPalette"><parameters><parameter type="const wxPalette&amp; " name="palette">The palette to set.</parameter></parameters><seealso>

<ref target="wxpalette">wxPalette</ref>

</seealso><description>

Sets the associated palette.





</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>

Sets the width member (does not affect the bitmap data).





</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>

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.





</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>

Equality operator. This operator tests whether the internal data pointers are
equal (a fast test).





</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>

Inequality operator. This operator tests whether the internal data pointers are
unequal (a fast test).





</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBitmapButton">
<description>
<p class="classdesc">
A bitmap button is a control that contains a bitmap.
It may be placed on a <ref target="wxdialog">dialog box</ref> or <ref target="wxpanel">panel</ref>, or indeed
almost any other window.</p>
</description>
<category>Controls</category>
<shortdesc>Push button control, displaying a bitmap</shortdesc>
<remarks>

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.

</remarks>
<parents>
<ref type="help" target="wxButton">wxButton</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/bmpbuttn.h"/></includes>
<windowstyles>
<style name="wxBU_AUTODRAW">wxBU_AUTODRAW</style><style name="wxBU_LEFT" platforms="WIN32">Left-justifies the bitmap label. </style><style name="wxBU_TOP" platforms="WIN32">Aligns the bitmap label to the top of the button. </style><style name="wxBU_RIGHT" platforms="WIN32">Right-justifies the bitmap label. </style><style name="wxBU_BOTTOM" platforms="WIN32">Aligns the bitmap label to the bottom of the button. </style></windowstyles>
<events>
<event name="EVT_BUTTON(id, func)">Process a wxEVT_COMMAND_BUTTON_CLICKED event,
when the button is clicked.</event></events>
<seealso>

<ref target="wxbutton">wxButton</ref>

</seealso>
<members>
<member class="wxBitmapButton" name="wxBitmapButton"><function type="" name="wxBitmapButton"><description>

Default constructor.

</description></function>
<function type="" name="wxBitmapButton"><parameters><parameter type="wxWindow&#42; " name="parent">Parent window. Must not be NULL.</parameter><parameter type="wxWindowID " name="id">Button identifier. A value of -1 indicates a default value.</parameter><parameter type="const wxBitmap&amp; " name="bitmap">Bitmap to be displayed.</parameter><parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">Button position.</parameter><parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">Button size. If the default size (-1, -1) is specified then the button is sized
appropriately for the bitmap.</parameter><parameter type="long " name="style" value="wxBU_AUTODRAW">Window style. See <ref target="wxbitmapbutton">wxBitmapButton</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``button&quot;">Window name.</parameter></parameters><seealso>

<ref target="wxbitmapbuttoncreate">wxBitmapButton::Create</ref><ref target="wxvalidator">wxValidator</ref>

</seealso><description></description></function></member>
<member class="wxBitmapButton" name="~wxBitmapButton"><function type="" name="~wxBitmapButton"><description>

Destructor, destroying the button.

</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>

Button creation function for two-step creation. For more details, see <ref target="wxbitmapbuttonctor">wxBitmapButton::wxBitmapButton</ref>.

</description></function></member>
<member class="wxBitmapButton" name="GetBitmapDisabled"><function type="wxBitmap&amp;" name="GetBitmapDisabled" suffix="const"><seealso>

<ref target="wxbitmapbuttonsetbitmapdisabled">wxBitmapButton::SetBitmapDisabled</ref>

</seealso><returnvalue>

A reference to the disabled state bitmap.

</returnvalue><description>

Returns the bitmap for the disabled state.

</description></function></member>
<member class="wxBitmapButton" name="GetBitmapFocus"><function type="wxBitmap&amp;" name="GetBitmapFocus" suffix="const"><seealso>

<ref target="wxbitmapbuttonsetbitmapfocus">wxBitmapButton::SetBitmapFocus</ref>

</seealso><returnvalue>

A reference to the focused state bitmap.

</returnvalue><description>

Returns the bitmap for the focused state.

</description></function></member>
<member class="wxBitmapButton" name="GetBitmapLabel"><function type="wxBitmap&amp;" name="GetBitmapLabel" suffix="const"><seealso>

<ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>

</seealso><returnvalue>

A reference to the button's label bitmap.

</returnvalue><description>

Returns the label bitmap (the one passed to the constructor).

</description></function></member>
<member class="wxBitmapButton" name="GetBitmapSelected"><function type="wxBitmap&amp;" name="GetBitmapSelected" suffix="const"><seealso>

<ref target="wxbitmapbuttonsetbitmapselected">wxBitmapButton::SetBitmapSelected</ref>

</seealso><returnvalue>

A reference to the selected state bitmap.

</returnvalue><description>

Returns the bitmap for the selected state.

</description></function></member>
<member class="wxBitmapButton" name="SetBitmapDisabled"><function type="void" name="SetBitmapDisabled"><parameters><parameter type="const wxBitmap&amp; " name="bitmap">The bitmap to set.</parameter></parameters><seealso>

<ref target="wxbitmapbuttongetbitmapdisabled">wxBitmapButton::GetBitmapDisabled</ref>,
<ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>,
<ref target="wxbitmapbuttonsetbitmapselected">wxBitmapButton::SetBitmapSelected</ref>,
<ref target="wxbitmapbuttonsetbitmapfocus">wxBitmapButton::SetBitmapFocus</ref>

</seealso><description>

Sets the bitmap for the disabled button appearance.





</description></function></member>
<member class="wxBitmapButton" name="SetBitmapFocus"><function type="void" name="SetBitmapFocus"><parameters><parameter type="const wxBitmap&amp; " name="bitmap">The bitmap to set.</parameter></parameters><seealso>

<ref target="wxbitmapbuttongetbitmapfocus">wxBitmapButton::GetBitmapFocus</ref>,
<ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>,
<ref target="wxbitmapbuttonsetbitmapselected">wxBitmapButton::SetBitmapSelected</ref>,
<ref target="wxbitmapbuttonsetbitmapdisabled">wxBitmapButton::SetBitmapDisabled</ref>

</seealso><description>

Sets the bitmap for the button appearance when it has the keyboard focus.





</description></function></member>
<member class="wxBitmapButton" name="SetBitmapLabel"><function type="void" name="SetBitmapLabel"><parameters><parameter type="const wxBitmap&amp; " name="bitmap">The bitmap label to set.</parameter></parameters><seealso>

<ref target="wxbitmapbuttongetbitmaplabel">wxBitmapButton::GetBitmapLabel</ref>

</seealso><remarks>

This is the bitmap used for the unselected state, and for all other states
if no other bitmaps are provided.

</remarks><description>

Sets the bitmap label for the button.





</description></function></member>
<member class="wxBitmapButton" name="SetBitmapSelected"><function type="void" name="SetBitmapSelected"><parameters><parameter type="const wxBitmap&amp; " name="bitmap">The bitmap to set.</parameter></parameters><seealso>

<ref target="wxbitmapbuttongetbitmapselected">wxBitmapButton::GetBitmapSelected</ref>,
<ref target="wxbitmapbuttonsetbitmaplabel">wxBitmapButton::SetBitmapLabel</ref>,
<ref target="wxbitmapbuttonsetbitmapfocus">wxBitmapButton::SetBitmapFocus</ref>,
<ref target="wxbitmapbuttonsetbitmapdisabled">wxBitmapButton::SetBitmapDisabled</ref>

</seealso><description>

Sets the bitmap for the selected (depressed) button appearance.





</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBitmapDataObject">
<description>
<p class="classdesc">
wxBitmapDataObject is a specialization of wxDataObject for bitmap data. It can
be used without change to paste data into the 
<ref target="wxclipboard">wxClipboard</ref> or a <ref target="wxdropsource">wxDropSource</ref>. A
user may wish to derive a new class from this class for providing a bitmap
on-demand in order to minimize memory consumption when offering data in several
formats, such as a bitmap and GIF.</p>
</description>
<category>Drag and drop and clipboard classes</category>
<shortdesc>Bitmap data object class</shortdesc>
<parents>
<ref type="help" target="wxDataObjectSimple">wxDataObjectSimple</ref>
<ref type="help" target="wxDataObject">wxDataObject</ref>

</parents>
<includes>
<header name="wx/dataobj.h"/></includes>
<override>

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

</override>
<members>
<member class="wxBitmapDataObject" name="GetBitmap"><function type="virtual wxBitmap" name="GetBitmap" suffix="const"><description>

Returns the bitmap associated with the data object. You may wish to override
this method when offering data on-demand, but this is not required by
wxWidgets' internals. Use this method to get data in bitmap form from
the <ref target="wxclipboard">wxClipboard</ref>.

</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>

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.

</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">
<description>
<p class="classdesc">
<ref type="overview" target="wxbitmapoverview">Overview</ref></p><p class="classdesc">This is the base class for implementing bitmap file loading/saving, and bitmap creation from data.
It is used within wxBitmap and is not normally seen by the application.</p><p class="classdesc">If you wish to extend the capabilities of wxBitmap, derive a class from wxBitmapHandler
and add the handler using <ref target="wxbitmapaddhandler">wxBitmap::AddHandler</ref> in your
application initialisation.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/bitmap.h"/></includes>
<seealso>

<ref target="wxbitmap">wxBitmap</ref><ref target="wxicon">wxIcon</ref><ref target="wxcursor">wxCursor</ref>

</seealso>
<members>
<member class="wxBitmapHandler" name="wxBitmapHandler"><function type="" name="wxBitmapHandler"><description>

Default constructor. In your own default constructor, initialise the members
m_name, m_extension and m_type.

</description></function></member>
<member class="wxBitmapHandler" name="~wxBitmapHandler"><function type="" name="~wxBitmapHandler"><description>

Destroys the wxBitmapHandler object.

</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"></parameter><parameter type="int" name=" type"></parameter><parameter type="int" name=" width"></parameter><parameter type="int" name=" height"></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>

Creates a bitmap from the given data, which can be of arbitrary type. The wxBitmap object <i> bitmap</i> is
manipulated by this function.















</description></function></member>
<member class="wxBitmapHandler" name="GetName"><function type="wxString" name="GetName" suffix="const"><description>

Gets the name of this handler.

</description></function></member>
<member class="wxBitmapHandler" name="GetExtension"><function type="wxString" name="GetExtension" suffix="const"><description>

Gets the file extension associated with this handler.

</description></function></member>
<member class="wxBitmapHandler" name="GetType"><function type="long" name="GetType" suffix="const"><description>

Gets the bitmap type associated with this handler.

</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"></parameter><parameter type="long" name=" type"></parameter></parameters><seealso>

<ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref><br/>
<ref target="wxbitmapsavefile">wxBitmap::SaveFile</ref><br/>
<ref target="wxbitmaphandlersavefile">wxBitmapHandler::SaveFile</ref>

</seealso><returnvalue>

true if the operation succeeded, false otherwise.

</returnvalue><description>

Loads a bitmap from a file or resource, putting the resulting data into <i> bitmap</i>.









</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"></parameter><parameter type="wxPalette&#42; " name="palette" value="NULL">An optional palette used for saving the bitmap.</parameter></parameters><seealso>

<ref target="wxbitmaploadfile">wxBitmap::LoadFile</ref><br/>
<ref target="wxbitmapsavefile">wxBitmap::SaveFile</ref><br/>
<ref target="wxbitmaphandlerloadfile">wxBitmapHandler::LoadFile</ref>

</seealso><returnvalue>

true if the operation succeeded, false otherwise.

</returnvalue><description>

Saves a bitmap in the named file.











</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>

Sets the handler name.





</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>

Sets the handler extension.





</description></function></member>
<member class="wxBitmapHandler" name="SetType"><function type="void" name="SetType"><parameters><parameter type="long " name="type"></parameter></parameters><description>

Sets the handler type.







</description></function></member></members>
<supported>
<platform name="gtk" status="N"/><platform name="win32" status="Y"/><platform name="motif" status="N"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBoxSizer">
<description>
<p class="classdesc">
The basic idea behind a box sizer is that windows will most often be laid out in rather
simple basic geometry, typically in a row or a column or several hierarchies of either.</p><p class="classdesc">For more information, please see <ref target="boxsizerprogramming">Programming with wxBoxSizer</ref>.</p>
</description>
<category>Window layout</category>
<shortdesc>A sizer for laying out windows in a row or column</shortdesc>
<parents>
<ref type="help" target="wxSizer">wxSizer</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/sizer.h"/></includes>
<members>
<member class="wxBoxSizer" name="wxBoxSizer"><function type="" name="wxBoxSizer"><parameters><parameter type="int " name="orient"></parameter></parameters><description>

Constructor for a wxBoxSizer. <i> orient</i> may be either of wxVERTICAL
or wxHORIZONTAL for creating either a column sizer or a row sizer.

</description></function></member>
<member class="wxBoxSizer" name="RecalcSizes"><function type="void" name="RecalcSizes"><description>

Implements the calculation of a box sizer's dimensions and then sets
the size of its its children (calling <ref target="wxwindowsetsize">wxWindow::SetSize</ref> 
if the child is a window). It is used internally only and must not be called
by the user. Documented for information.

</description></function></member>
<member class="wxBoxSizer" name="CalcMin"><function type="wxSize" name="CalcMin"><description>

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.

</description></function></member>
<member class="wxBoxSizer" name="GetOrientation"><function type="int" name="GetOrientation"><description>

Returns the orientation of the box sizer, either wxVERTICAL
or wxHORIZONTAL.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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>

On a monochrome display, wxWidgets shows
all brushes as white unless the colour is really black.

Do not initialize objects on the stack before the program commences,
since other required structures may not have been set up yet. Instead,
define global pointers to objects and create them in <ref target="wxapponinit">wxApp::OnInit</ref> or
when required.

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>.

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.


</remarks>
<parents>
<ref type="help" target="wxGDIObject">wxGDIObject</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/brush.h"/></includes>
<predefs>

Objects:

<b>{ wxNullBrush}</b>

Pointers:

<b>{ wxBLUE_BRUSH<br/>
wxGREEN_BRUSH<br/>
wxWHITE_BRUSH<br/>
wxBLACK_BRUSH<br/>
wxGREY_BRUSH<br/>
wxMEDIUM_GREY_BRUSH<br/>
wxLIGHT_GREY_BRUSH<br/>
wxTRANSPARENT_BRUSH<br/>
wxCYAN_BRUSH<br/>
wxRED_BRUSH}</b>

</predefs>
<seealso>

<ref target="wxbrushlist">wxBrushList</ref><ref target="wxdc">wxDC</ref><ref target="wxdcsetbrush">wxDC::SetBrush</ref>

</seealso>
<members>
<member class="wxBrush" name="wxBrush"><function type="" name="wxBrush"><description>

Default constructor. The brush will be uninitialised, and <ref target="wxbrushok">wxBrush::Ok</ref> will
return false.

</description></function>
<function type="" name="wxBrush"><parameters><parameter type="const wxColour&amp;" name=" colour"></parameter><parameter type="int" name="style" value="wxSOLID"></parameter></parameters><description>

Constructs a brush from a colour object and style.

</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>

Constructs a brush from a colour name and style.

</description></function>
<function type="" name="wxBrush"><parameters><parameter type="const wxBitmap&amp; " name="stippleBitmap">A bitmap to use for stippling.</parameter></parameters><description>

Constructs a stippled brush using a bitmap.

</description></function>
<function type="" name="wxBrush"><parameters><parameter type="const wxBrush&amp;" name=" brush"></parameter></parameters><seealso>

<ref target="wxbrushlist">wxBrushList</ref><ref target="wxcolour">wxColour</ref><ref target="wxcolourdatabase">wxColourDatabase</ref>

</seealso><description></description></function></member>
<member class="wxBrush" name="~wxBrush"><function type="void" name="~wxBrush"><remarks>

The destructor may not delete the underlying brush object of the native windowing
system, since wxBrush uses a reference counting system for efficiency.

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.

</remarks><description>

Destructor.

</description></function></member>
<member class="wxBrush" name="GetColour"><function type="wxColour&amp;" name="GetColour" suffix="const"><seealso>

<ref target="wxbrushsetcolour">wxBrush::SetColour</ref>

</seealso><description>

Returns a reference to the brush colour.

</description></function></member>
<member class="wxBrush" name="GetStipple"><function type="wxBitmap &#42;" name="GetStipple" suffix="const"><seealso>

<ref target="wxbrushsetstipple">wxBrush::SetStipple</ref>

</seealso><description>

Gets a pointer to the stipple bitmap. If the brush does not have a wxSTIPPLE style,
this bitmap may be non-NULL but uninitialised (<ref target="wxbitmapok">wxBitmap::Ok</ref> returns false).

</description></function></member>
<member class="wxBrush" name="GetStyle"><function type="int" name="GetStyle" suffix="const"><seealso>

<ref target="wxbrushsetstyle">wxBrush::SetStyle</ref><ref target="wxbrushsetcolour">wxBrush::SetColour</ref>,
<ref target="wxbrushsetstipple">wxBrush::SetStipple</ref>

</seealso><description></description></function></member>
<member class="wxBrush" name="IsHatch"><function type="bool" name="IsHatch" suffix="const"><seealso>

<ref target="wxbrushgetstyle">wxBrush::GetStyle</ref>

</seealso><description>

Returns true if the style of the brush is any of hatched fills.

</description></function></member>
<member class="wxBrush" name="Ok"><function type="bool" name="Ok" suffix="const"><description>

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).

</description></function></member>
<member class="wxBrush" name="SetColour"><function type="void" name="SetColour"><parameters><parameter type="wxColour&amp; " name="colour"></parameter></parameters><description>

Sets the brush colour using a reference to a colour object.

</description></function>
<function type="void" name="SetColour"><parameters><parameter type="const wxString&amp; " name="colourName"></parameter></parameters><description>

Sets the brush colour using a colour name from the colour database.

</description></function>
<function type="void" name="SetColour"><parameters><parameter type="const unsigned char" name=" red"></parameter><parameter type="const unsigned char" name=" green"></parameter><parameter type="const unsigned char" name=" blue"></parameter></parameters><seealso>

<ref target="wxbrushgetcolour">wxBrush::GetColour</ref>

</seealso><description>

Sets the brush colour using red, green and blue values.

</description></function></member>
<member class="wxBrush" name="SetStipple"><function type="void" name="SetStipple"><parameters><parameter type="const wxBitmap&amp;" name=" bitmap"></parameter></parameters><seealso>

<ref target="wxbitmap">wxBitmap</ref>

</seealso><remarks>

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.

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.

Note that under Windows 95, only 8x8 pixel large stipple bitmaps are
supported, Windows 98 and NT as well as GTK support arbitrary bitmaps.

</remarks><description>

Sets the stipple bitmap.





</description></function></member>
<member class="wxBrush" name="SetStyle"><function type="void" name="SetStyle"><parameters><parameter type="int" name=" style"></parameter></parameters><seealso>

<ref target="wxbrushgetstyle">wxBrush::GetStyle</ref>

</seealso><description>

Sets the brush style.



</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>

Assignment operator, using reference counting. Returns a reference
to `this'.

</description></function></member>
<member class="wxBrush" name="operator $==$"><function type="bool" name="operator $==$"><parameters><parameter type="const wxBrush&amp; " name="brush"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxBrush" name="operator $!=$"><function type="bool" name="operator $!=$"><parameters><parameter type="const wxBrush&amp; " name="brush"></parameter></parameters><description>

Inequality operator. Two brushes are not equal if they contain pointers
to different underlying brush data. It does not compare each attribute.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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>

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.

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 referencing
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 referencing 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'.

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.

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.

</remarks>
<parents>
<ref type="help" target="wxList">wxList</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/gdicmn.h"/></includes>
<seealso>

<ref target="wxbrush">wxBrush</ref>

</seealso>
<members>
<member class="wxBrushList" name="wxBrushList"><function type="void" name="wxBrushList"><description>

Constructor. The application should not construct its own brush list:
use the object pointer <b>{ wxTheBrushList}</b>.

</description></function></member>
<member class="wxBrushList" name="AddBrush"><function type="void" name="AddBrush"><parameters><parameter type="wxBrush &#42;" name="brush"></parameter></parameters><description>

Used internally by wxWidgets to add a brush to the list.

</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"></parameter></parameters><description>

Finds a brush with the specified attributes and returns it, else creates a new brush, adds it
to the brush list, and returns it.

</description></function>
<function type="wxBrush &#42;" name="FindOrCreateBrush"><parameters><parameter type="const wxString&amp; " name="colourName">Colour name, which should be in the colour database.</parameter><parameter type="int" name=" style"></parameter></parameters><description>

Finds a brush with the specified attributes and returns it, else creates a new brush, adds it
to the brush list, and returns it.

Finds a brush of the given specification, or creates one and adds it to the list.









</description></function></member>
<member class="wxBrushList" name="RemoveBrush"><function type="void" name="RemoveBrush"><parameters><parameter type="wxBrush &#42;" name="brush"></parameter></parameters><description>

Used by wxWidgets to remove a brush from the list.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBufferedDC">
<description>
<p class="classdesc">
This simple class provides a simple way to avoid flicker: when drawing on it,
everything is in fact first drawn on an in-memory buffer (a 
<ref target="wxbitmap">wxBitmap</ref>) and then copied to the screen only once, when this
object is destroyed.</p><p class="classdesc">It can be used in the same way as any other device context. wxBufferedDC itself
typically replaces <ref target="wxclientdc">wxClientDC</ref>, if you want to use it in
your <tt>OnPaint()</tt> handler, you should look at
<ref target="wxbufferedpaintdc">wxBufferedPaintDC</ref>.</p>
</description>
<category>Device contexts</category>
<shortdesc>A helper device context for double buffered drawing.</shortdesc>
<parents>
<ref type="help" target="wxMemoryDC">wxMemoryDC</ref>
<ref type="help" target="wxDC">wxDC</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/dcbuffer.h"/></includes>
<seealso>

<ref target="wxdc">wxDC</ref>


</seealso>
<members>
<member class="wxBufferedDC" name="wxBufferedDC"><function type="" name="wxBufferedDC"><description>

</description></function>
<function type="" name="wxBufferedDC"><parameters><parameter type="wxDC &#42;" name="dc">The underlying DC: everything drawn to this object will be
flushed to this DC when this object is destroyed.  You may pass NULL
in order to just initialize the buffer, and not flush it.</parameter><parameter type="const wxSize&amp; " name="area">The size of the bitmap to be used for buffering (this bitmap is
created internally when it is not given explicitly).</parameter></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></parameters><description>

If you use the first, default, constructor, you must call one of the 
<ref target="wxbuffereddcinit">Init</ref> methods later in order to use the object.

The other constructors initialize the object immediately and <tt>Init()</tt> 
must not be called after using them.










</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></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></parameters><description>

These functions initialize the object created using the default constructor.
Please see <ref target="wxbuffereddcctor">constructors documentation</ref> for details.





</description></function></member>
<member class="wxBufferedDC" name="~wxBufferedDC"></member></members>
<supported>
</supported>
</class><class name="wxBufferedInputStream">
<description>
<p class="classdesc">
This stream acts as a cache. It caches the bytes read from the specified
input stream (See <ref target="wxfilterinputstream">wxFilterInputStream</ref>).
It uses wxStreamBuffer and sets the default in-buffer size to 1024 bytes.
This class may not be used without some other stream to read the data
from (such as a file stream or a memory stream).</p>
</description>
<category>Stream classes</category>
<shortdesc>Buffered input stream class</shortdesc>
<parents>
<ref type="help" target="wxFilterInputStream">wxFilterInputStream</ref>

</parents>
<includes>
<header name="wx/stream.h"/></includes>
<members>
</members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBufferedOutputStream">
<description>
<p class="classdesc">
This stream acts as a cache. It caches the bytes to be written to the specified
output stream (See <ref target="wxfilteroutputstream">wxFilterOutputStream</ref>). The
data is only written when the cache is full, when the buffered stream is
destroyed or when calling SeekO().</p><p class="classdesc">This class may not be used without some other stream to write the data
to (such as a file stream or a memory stream).</p>
</description>
<category>Stream classes</category>
<shortdesc>Buffered output stream class</shortdesc>
<parents>
<ref type="help" target="wxFilterOutputStream">wxFilterOutputStream</ref>

</parents>
<includes>
<header name="wx/stream.h"/></includes>
<seealso>

<ref target="wxstreambuffer">wxStreamBuffer</ref><ref target="wxoutputstream">wxOutputStream</ref>




</seealso>
<members>
<member class="wxBufferedOutputStream" name="wxBufferedOutputStream"><function type="" name="wxBufferedOutputStream"><parameters><parameter type="const wxOutputStream&amp;" name=" parent"></parameter></parameters><description>

Creates a buffered stream using a buffer of a default size of 1024 bytes for cashing
the stream <i> parent</i>.

</description></function></member>
<member class="wxBufferedOutputStream" name="~wxBufferedOutputStream"><function type="" name="~wxBufferedOutputStream"><description>

Destructor. Calls Sync() and destroys the internal buffer.

</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>

Calls Sync() and changes the stream position.

</description></function></member>
<member class="wxBufferedOutputStream" name="Sync"><function type="void" name="Sync"><description>

Flushes the buffer and calls Sync() on the parent stream.



</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBufferedPaintDC">
<description>
<p class="classdesc">
This is a subclass of <ref target="wxbuffereddc">wxBufferedDC</ref> which can be used
inside of an <tt>OnPaint()</tt> event handler. Just create an object of this class instead
of <ref target="wxpaintdc">wxPaintDC</ref> and that's all you have to do to (mostly)
avoid flicker. The only thing to watch out for is that if you are using this
class together with <ref target="wxscrolledwindow">wxScrolledWindow</ref>, you probably
do <b>not</b> want to call <ref target="wxscrolledwindowpreparedc">PrepareDC</ref> on it as it
already does this internally for the real underlying wxPaintDC.</p>
</description>
<category>Device contexts</category>
<shortdesc>A helper device context for double buffered drawing inside \textbf{OnPaint}.</shortdesc>
<parents>
<ref type="help" target="wxMemoryDC">wxMemoryDC</ref>
<ref type="help" target="wxDC">wxDC</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/dcbuffer.h"/></includes>
<members>
<member class="wxBufferedPaintDC" name="wxBufferedPaintDC"><function type="" name="wxBufferedPaintDC"><parameters><parameter type="wxWindow &#42;" name="window"></parameter><parameter type="const wxBitmap&amp; " name="buffer" value="wxNullBitmap"></parameter></parameters><description>

As with <ref target="wxbuffereddcctor">wxBufferedDC</ref>, you may either provide the
bitmap to be used for buffering or let this object create one internally (in
the latter case, the size of the client part of the window is used).


</description></function></member>
<member class="wxBufferedPaintDC" name="~wxBufferedPaintDC"></member></members>
<supported>
</supported>
</class><class name="wxBusyCursor">
<description>
<p class="classdesc">
This class makes it easy to tell your user that the program is temporarily busy.
Just create a wxBusyCursor object on the stack, and within the current scope,
the hourglass will be shown.</p><p class="classdesc">For example:</p><p class="classdesc"><pre>
  wxBusyCursor wait;

  for (int i = 0; i &lt; 100000; i++)
    DoACalculation();
</pre></p><p class="classdesc">It works by calling <ref target="wxbeginbusycursor">wxBeginBusyCursor</ref> in the constructor,
and <ref target="wxendbusycursor">wxEndBusyCursor</ref> in the destructor.</p>
</description>
<category>Miscellaneous</category>
<parents>


</parents>
<includes>
<header name="wx/utils.h"/></includes>
<seealso>

<ref target="wxbeginbusycursor">wxBeginBusyCursor</ref>,
<ref target="wxendbusycursor">wxEndBusyCursor</ref>,
<ref target="wxwindowdisabler">wxWindowDisabler</ref>

</seealso>
<members>
<member class="wxBusyCursor" name="wxBusyCursor"><function type="" name="wxBusyCursor"><parameters><parameter type="wxCursor&#42;" name="cursor" value="wxHOURGLASS_CURSOR"></parameter></parameters><description>

Constructs a busy cursor object, calling <ref target="wxbeginbusycursor">wxBeginBusyCursor</ref>.

</description></function></member>
<member class="wxBusyCursor" name="~wxBusyCursor"><function type="" name="~wxBusyCursor"><description>

Destroys the busy cursor object, calling <ref target="wxendbusycursor">wxEndBusyCursor</ref>.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxBusyInfo">
<description>
<p class="classdesc">
This class makes it easy to tell your user that the program is temporarily busy.
Just create a wxBusyInfo object on the stack, and within the current scope,
a message window will be shown.</p><p class="classdesc">For example:</p><p class="classdesc"><pre>
    wxBusyInfo wait(&quot;Please wait, working...&quot;);

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

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

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

        if ( !(i 
            wxTheApp-&gt;Yield();
    }
</pre></p><p class="classdesc">but take care to not cause undesirable reentrancies when doing it (see 
<ref target="wxappyield">wxApp::Yield()</ref> for more details). The simplest way to do
it is to use <ref target="wxwindowdisabler">wxWindowDisabler</ref> class as illustrated
in the above example.</p>
</description>
<category>Miscellaneous</category>
<parents>


</parents>
<includes>
<header name="wx/busyinfo.h"/></includes>
<members>
<member class="wxBusyInfo" name="wxBusyInfo"><function type="" name="wxBusyInfo"><parameters><parameter type="const wxString&amp;" name=" msg"></parameter><parameter type="wxParent " name="&#42;parent" value="NULL"></parameter></parameters><description>

Constructs a busy info window as child of <i> parent</i> and displays <i> msg</i>
in it.

<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.

</description></function></member>
<member class="wxBusyInfo" name="~wxBusyInfo"><function type="" name="~wxBusyInfo"><description>

Hides and closes the window containing the information text.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="N"/><platform name="nanox" status="N"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxButton">
<description>
<p class="classdesc">
A button is a control that contains a text string,
and is one of the most common elements of a GUI. It may be placed on a
<ref target="wxdialog">dialog box</ref> or <ref target="wxpanel">panel</ref>, or indeed
almost any other window.</p>
</description>
<category>Controls</category>
<shortdesc>Push button control, displaying text</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/button.h"/></includes>
<windowstyles>
<style name="wxBU_LEFT">Left-justifies the label. Windows and GTK+ only.</style><style name="wxBU_TOP">Aligns the label to the top of the button. Windows and GTK+ only.</style><style name="wxBU_RIGHT">Right-justifies the bitmap label. Windows and GTK+ only.</style><style name="wxBU_BOTTOM">Aligns the label to the bottom of the button. Windows and GTK+ only.</style><style name="wxBU_EXACTFIT">Creates the button as small as possible instead of making it of the standard size (which is the default behaviour ).</style><style name="wxNO_BORDER">Creates a flat button. Windows and GTK+ only.</style></windowstyles>
<events>
<event name="EVT_BUTTON(id, func)">Process a wxEVT_COMMAND_BUTTON_CLICKED event,
when the button is clicked.</event></events>
<seealso>

<ref target="wxbitmapbutton">wxBitmapButton</ref>

</seealso>
<members>
<member class="wxButton" name="wxButton"><function type="" name="wxButton"><description>

Default constructor.

</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"></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">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 text.</parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxbutton">wxButton</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``button&quot;">Window name.</parameter></parameters><seealso>

<ref target="wxbuttoncreate">wxButton::Create</ref><ref target="wxvalidator">wxValidator</ref>

</seealso><description></description></function></member>
<member class="wxButton" name="~wxButton"><function type="" name="~wxButton"><description>

Destructor, destroying the button.

</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"></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>

Button creation function for two-step creation. For more details, see
<ref target="wxbuttonctor">wxButton::wxButton</ref>.

</description></function></member>
<member class="wxButton" name="GetLabel"><function type="wxString" name="GetLabel" suffix="const"><seealso>

<ref target="wxbuttonsetlabel">wxButton::SetLabel</ref>

</seealso><returnvalue>

The button's label.

</returnvalue><description>

Returns the string label for the button.

</description></function></member>
<member class="wxButton" name="GetDefaultSize"><function type="wxSize" name="GetDefaultSize"><description>

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.

</description></function></member>
<member class="wxButton" name="SetDefault"><function type="void" name="SetDefault"><remarks>

Under Windows, only dialog box buttons respond to this function.  As
normal under Windows and Motif, pressing return causes the default button to
be depressed when the return key is pressed. See also <ref target="wxwindowsetfocus">wxWindow::SetFocus</ref>
which sets the keyboard focus for windows and text panel items,
and <ref target="wxpanelsetdefaultitem">wxPanel::SetDefaultItem</ref>.

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.

</remarks><description>

This sets the button to be the default item for the panel or dialog
box.

</description></function></member>
<member class="wxButton" name="SetLabel"><function type="void" name="SetLabel"><parameters><parameter type="const wxString&amp; " name="label">The label to set.</parameter></parameters><seealso>

<ref target="wxbuttongetlabel">wxButton::GetLabel</ref>

</seealso><description>

Sets the string label for the button.





</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCSConv">
<description>
<p class="classdesc">
This class converts between any character sets and Unicode.
It has one predefined instance, <b>{ wxConvLocal}</b>, for the
default user character set.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxMBConv">wxMBConv</ref>

</parents>
<includes>
<header name="wx/strconv.h"/></includes>
<seealso>

<ref target="wxmbconv">wxMBConv</ref>
<ref target="wxencodingconverter">wxEncodingConverter</ref>
<ref target="mbconvclasses">wxMBConv classes overview</ref>

</seealso>
<members>
<member class="wxCSConv" name="wxCSConv"><function type="" name="wxCSConv"><parameters><parameter type="const wxChar&#42; " name="charset"></parameter></parameters><description>

</description></function>
<function type="" name="wxCSConv"><parameters><parameter type="wxFontEncoding " name="encoding"></parameter></parameters><description>

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.


</description></function></member>
<member class="wxCSConv" name="~wxCSConv"><function type="" name="~wxCSConv"><description>

Destructor frees any resources needed to perform the conversion.


</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>

Converts from the selected character set to Unicode. Returns length of string written to destination buffer.

</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>

Converts from Unicode to the selected character set. Returns length of string written to destination buffer.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCalculateLayoutEvent">
<description>
<p class="classdesc">
This event is sent by <ref target="wxlayoutalgorithm">wxLayoutAlgorithm</ref> to
calculate the amount of the remaining client area that the window should
occupy.</p>
</description>
<category>Events</category>
<shortdesc>Used to calculate window layout</shortdesc>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/laywin.h"/></includes>
<events>
<event name="EVT_CALCULATE_LAYOUT(func)">Process a wxEVT_CALCULATE_LAYOUT event,
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.</event></events>
<seealso>

<ref target="wxquerylayoutinfoevent">wxQueryLayoutInfoEvent</ref>,
<ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>,
<ref target="wxlayoutalgorithm">wxLayoutAlgorithm</ref>.

</seealso>
<members>
<member class="wxCalculateLayoutEvent" name="wxCalculateLayoutEvent"><function type="" name="wxCalculateLayoutEvent"><parameters><parameter type="wxWindowID " name="id" value="0"></parameter></parameters><description>

Constructor.

</description></function></member>
<member class="wxCalculateLayoutEvent" name="GetFlags"><function type="int" name="GetFlags" suffix="const"><description>

Returns the flags associated with this event. Not currently used.

</description></function></member>
<member class="wxCalculateLayoutEvent" name="GetRect"><function type="wxRect" name="GetRect" suffix="const"><description>

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.

</description></function></member>
<member class="wxCalculateLayoutEvent" name="SetFlags"><function type="void" name="SetFlags"><parameters><parameter type="int " name="flags"></parameter></parameters><description>

Sets the flags associated with this event. Not currently used.

</description></function></member>
<member class="wxCalculateLayoutEvent" name="SetRect"><function type="void" name="SetRect"><parameters><parameter type="const wxRect&amp; " name="rect"></parameter></parameters><description>

Call this to specify the new remaining parent client area, after the space occupied by the
window has been subtracted.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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 interactively. For this,
it displays a window containing several parts: the control to pick the month
and the year at the top (either or both of them may be disabled) and a month
area below them which shows all the days in the month. The user can move the
current selection using the keyboard and select the date (generating 
<tt> EVT_CALENDAR</tt> event) by pressing <tt> &lt;Return&gt;</tt> or double clicking it.</p><p class="classdesc">It has advanced possibilities for the customization of its display. All global
settings (such as colours and fonts used) can, of course, be changed. But
also, the display style for each day in the month can be set independently
using <ref target="wxcalendardateattr">wxCalendarDateAttr</ref> class.</p><p class="classdesc">An item without custom attributes is drawn with the default colours and
font and without border, but setting custom attributes with 
<ref target="wxcalendarctrlsetattr">SetAttr</ref> allows to modify its appearance. Just
create a custom attribute object and set it for the day you want to be
displayed specially (note that the control will take ownership of the pointer,
i.e. it will delete it itself). A day may be marked as being a holiday, even
if it is not recognized as one by <ref target="tdateholidays">wxDateTime</ref> using 
<ref target="wxcalendardateattrsetholiday">SetHoliday</ref> method.</p><p class="classdesc">As the attributes are specified for each day, they may change when the month
is changed, so you will often want to update them in 
<tt> EVT_CALENDAR_MONTH</tt> event handler.</p>
</description>
<category>Controls</category>
<shortdesc>Date picker control</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/calctrl.h"/></includes>
<windowstyles>
<style name="wxCAL_SUNDAY_FIRST">Show Sunday as the first day in the week</style><style name="wxCAL_MONDAY_FIRST">Show Monday as the first day in the week</style><style name="wxCAL_SHOW_HOLIDAYS">Highlight holidays in the calendar</style><style name="wxCAL_NO_YEAR_CHANGE">Disable the year changing</style><style name="wxCAL_NO_MONTH_CHANGE">Disable the month (and, implicitly, the year) changing</style><style name="wxCAL_SHOW_SURROUNDING_WEEKS">Show the neighbouring weeks in the previous and next months</style><style name="wxCAL_SEQUENTIAL_MONTH_SELECTION">Use alternative, more compact, style for the month and year selection controls.</style></windowstyles>
<events>
<event name="EVT_CALENDAR(id, func)">A day was double clicked in the calendar.</event><event name="EVT_CALENDAR_SEL_CHANGED(id, func)">The selected date changed.</event><event name="EVT_CALENDAR_DAY(id, func)">The selected day changed.</event><event name="EVT_CALENDAR_MONTH(id, func)">The selected month changed.</event><event name="EVT_CALENDAR_YEAR(id, func)">The selected year changed.</event><event name="EVT_CALENDAR_WEEKDAY_CLICKED(id, func)">User clicked on the week day header</event></events>
<constants>

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

<pre>
enum wxCalendarHitTestResult
{
    wxCAL_HITTEST_NOWHERE,      // outside of anything
    wxCAL_HITTEST_HEADER,       // on the header (weekdays)
    wxCAL_HITTEST_DAY           // on a day in the calendar
}
</pre>

</constants>
<seealso>

<ref target="samplecalendar">Calendar sample</ref><br/>
<ref target="wxcalendardateattr">wxCalendarDateAttr</ref><br/>
<ref target="wxcalendarevent">wxCalendarEvent</ref>

</seealso>
<members>
<member class="wxCalendarCtrl" name="wxCalendarCtrl"><function type="" name="wxCalendarCtrl"><description>

Default constructor, use <ref target="wxcalendarctrlcreate">Create</ref> after it.

</description></function></member>
<member class="wxCalendarCtrl" name="wxCalendarCtrl"><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>

Does the same as <ref target="wxcalendarctrlcreate">Create</ref> method.

</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>

Creates the control. See <ref target="wxwindowctor">wxWindow</ref> for the meaning of
the parameters and the control overview for the possible styles.

</description></function></member>
<member class="wxCalendarCtrl" name="~wxCalendarCtrl"><function type="" name="~wxCalendarCtrl"><description>

Destroys the control.

</description></function></member>
<member class="wxCalendarCtrl" name="SetDate"><function type="void" name="SetDate"><parameters><parameter type="const wxDateTime&amp; " name="date"></parameter></parameters><description>

Sets the current date.

</description></function></member>
<member class="wxCalendarCtrl" name="GetDate"><function type="const wxDateTime&amp;" name="GetDate" suffix="const"><description>

Gets the currently selected date.

</description></function></member>
<member class="wxCalendarCtrl" name="EnableYearChange"><function type="void" name="EnableYearChange"><parameters><parameter type="bool " name="enable" value="true"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxCalendarCtrl" name="EnableMonthChange"><function type="void" name="EnableMonthChange"><parameters><parameter type="bool " name="enable" value="true"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxCalendarCtrl" name="EnableHolidayDisplay"><function type="void" name="EnableHolidayDisplay"><parameters><parameter type="bool " name="display" value="true"></parameter></parameters><description>

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.

</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>

Set the colours used for painting the weekdays at the top of the control.

</description></function></member>
<member class="wxCalendarCtrl" name="GetHeaderColourFg"><function type="const wxColour&amp;" name="GetHeaderColourFg" suffix="const"><seealso>

<ref target="wxcalendarctrlsetheadercolours">SetHeaderColours</ref>

</seealso><description>

Gets the foreground colour of the header part of the calendar window.

</description></function></member>
<member class="wxCalendarCtrl" name="GetHeaderColourBg"><function type="const wxColour&amp;" name="GetHeaderColourBg" suffix="const"><seealso>

<ref target="wxcalendarctrlsetheadercolours">SetHeaderColours</ref>

</seealso><description>

Gets the background colour of the header part of the calendar window.

</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>

Set the colours to be used for highlighting the currently selected date.

</description></function></member>
<member class="wxCalendarCtrl" name="GetHighlightColourFg"><function type="const wxColour&amp;" name="GetHighlightColourFg" suffix="const"><seealso>

<ref target="wxcalendarctrlsethighlightcolours">SetHighlightColours</ref>

</seealso><description>

Gets the foreground highlight colour.

</description></function></member>
<member class="wxCalendarCtrl" name="GetHighlightColourBg"><function type="const wxColour&amp;" name="GetHighlightColourBg" suffix="const"><seealso>

<ref target="wxcalendarctrlsethighlightcolours">SetHighlightColours</ref>

</seealso><description>

Gets the background highlight colour.

</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>

Sets the colours to be used for the holidays highlighting (only used if the
window style includes <tt> wxCAL_SHOW_HOLIDAYS</tt> flag).

</description></function></member>
<member class="wxCalendarCtrl" name="GetHolidayColourFg"><function type="const wxColour&amp;" name="GetHolidayColourFg" suffix="const"><seealso>

<ref target="wxcalendarctrlsetholidaycolours">SetHolidayColours</ref>

</seealso><description>

Return the foreground colour currently used for holiday highlighting.

</description></function></member>
<member class="wxCalendarCtrl" name="GetHolidayColourBg"><function type="const wxColour&amp;" name="GetHolidayColourBg" suffix="const"><seealso>

<ref target="wxcalendarctrlsetholidaycolours">SetHolidayColours</ref>

</seealso><description>

Return the background colour currently used for holiday highlighting.

</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>

Returns the attribute for the given date (should be in the range 1...31).

The returned pointer may be <tt> NULL</tt>.

</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>

Associates the attribute with the specified date (in the range 1...31).

If the pointer is <tt> NULL</tt>, the items attribute is cleared.

</description></function></member>
<member class="wxCalendarCtrl" name="SetHoliday"><function type="void" name="SetHoliday"><parameters><parameter type="size_t " name="day"></parameter></parameters><description>

Marks the specified day as being a holiday in the current month.

</description></function></member>
<member class="wxCalendarCtrl" name="ResetAttr"><function type="void" name="ResetAttr"><parameters><parameter type="size_t " name="day"></parameter></parameters><description>

Clears any attributes associated with the given day (in the range
1...31).

</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>

Returns one of <tt> wxCAL_HITTEST_XXX</tt> 
<ref target="wxcalendarctrl">constants</ref> and fills either <i> date</i> or 
<i> wd</i> pointer with the corresponding value depending on the hit test code.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCalendarDateAttr">
<description>
<p class="classdesc">
wxCalendarDateAttr is a custom attributes for a calendar date. The objects of
this class are used with <ref target="wxcalendarctrl">wxCalendarCtrl</ref>.</p>
</description>
<category>Miscellaneous</category>
<shortdesc>Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}</shortdesc>
<parents></parents>
<includes>
<header name="wx/calctrl.h"/>
</includes>
<constants>

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

<pre>
enum wxCalendarDateBorder
{
    wxCAL_BORDER_NONE,          // no border (default)
    wxCAL_BORDER_SQUARE,        // a rectangular border
    wxCAL_BORDER_ROUND          // a round border
}
</pre>

</constants>
<seealso>

<ref target="wxcalendarctrl">wxCalendarCtrl</ref>

</seealso>
<members>
<member class="wxCalendarDateAttr" name="wxCalendarDateAttr"><function type="" name="wxCalendarDateAttr"><description>

</description></function>
<function type="" name="wxCalendarDateAttr"><parameters><parameter type="const wxColour&amp; " name="colText"></parameter><parameter type="const wxColour&amp; " name="colBack" value="wxNullColour"></parameter><parameter type="const wxColour&amp; " name="colBorder" value="wxNullColour"></parameter><parameter type="const wxFont&amp; " name="font" value="wxNullFont"></parameter><parameter type="wxCalendarDateBorder " name="border" value="wxCAL_BORDER_NONE"></parameter></parameters><description>

</description></function>
<function type="" name="wxCalendarDateAttr"><parameters><parameter type="wxCalendarDateBorder " name="border"></parameter><parameter type="const wxColour&amp; " name="colBorder" value="wxNullColour"></parameter></parameters><description>

The constructors.

</description></function></member>
<member class="wxCalendarDateAttr" name="SetTextColour"><function type="void" name="SetTextColour"><parameters><parameter type="const wxColour&amp; " name="colText"></parameter></parameters><description>

Sets the text (foreground) colour to use.

</description></function></member>
<member class="wxCalendarDateAttr" name="SetBackgroundColour"><function type="void" name="SetBackgroundColour"><parameters><parameter type="const wxColour&amp; " name="colBack"></parameter></parameters><description>

Sets the text background colour to use.

</description></function></member>
<member class="wxCalendarDateAttr" name="SetBorderColour"><function type="void" name="SetBorderColour"><parameters><parameter type="const wxColour&amp; " name="col"></parameter></parameters><description>

Sets the border colour to use.

</description></function></member>
<member class="wxCalendarDateAttr" name="SetFont"><function type="void" name="SetFont"><parameters><parameter type="const wxFont&amp; " name="font"></parameter></parameters><description>

Sets the font to use.

</description></function></member>
<member class="wxCalendarDateAttr" name="SetBorder"><function type="void" name="SetBorder"><parameters><parameter type="wxCalendarDateBorder " name="border"></parameter></parameters><description>

Sets the <ref target="wxcalendardateattr">border kind</ref>

</description></function></member>
<member class="wxCalendarDateAttr" name="SetHoliday"><function type="void" name="SetHoliday"><parameters><parameter type="bool " name="holiday"></parameter></parameters><description>

Display the date with this attribute as a holiday.

</description></function></member>
<member class="wxCalendarDateAttr" name="HasTextColour"><function type="bool" name="HasTextColour" suffix="const"><description>

Returns <tt> true</tt> if this item has a non default text foreground colour.

</description></function></member>
<member class="wxCalendarDateAttr" name="HasBackgroundColour"><function type="bool" name="HasBackgroundColour" suffix="const"><description>

Returns <tt> true</tt> if this attribute specifies a non default text background colour.

</description></function></member>
<member class="wxCalendarDateAttr" name="HasBorderColour"><function type="bool" name="HasBorderColour" suffix="const"><description>

Returns <tt> true</tt> if this attribute specifies a non default border colour.

</description></function></member>
<member class="wxCalendarDateAttr" name="HasFont"><function type="bool" name="HasFont" suffix="const"><description>

Returns <tt> true</tt> if this attribute specifies a non default font.

</description></function></member>
<member class="wxCalendarDateAttr" name="HasBorder"><function type="bool" name="HasBorder" suffix="const"><description>

Returns <tt> true</tt> if this attribute specifies a non default (i.e. any) border.

</description></function></member>
<member class="wxCalendarDateAttr" name="IsHoliday"><function type="bool" name="IsHoliday" suffix="const"><description>

Returns <tt> true</tt> if this attribute specifies that this item should be
displayed as a holiday.

</description></function></member>
<member class="wxCalendarDateAttr" name="GetTextColour"><function type="const wxColour&amp;" name="GetTextColour" suffix="const"><description>

Returns the text colour to use for the item with this attribute.

</description></function></member>
<member class="wxCalendarDateAttr" name="GetBackgroundColour"><function type="const wxColour&amp;" name="GetBackgroundColour" suffix="const"><description>

Returns the background colour to use for the item with this attribute.

</description></function></member>
<member class="wxCalendarDateAttr" name="GetBorderColour"><function type="const wxColour&amp;" name="GetBorderColour" suffix="const"><description>

Returns the border colour to use for the item with this attribute.

</description></function></member>
<member class="wxCalendarDateAttr" name="GetFont"><function type="const wxFont&amp;" name="GetFont" suffix="const"><description>

Returns the font to use for the item with this attribute.

</description></function></member>
<member class="wxCalendarDateAttr" name="GetBorder"><function type="wxCalendarDateBorder" name="GetBorder" suffix="const"><description>

Returns the <ref target="wxcalendardateattr">border</ref> to use for the item with this attribute.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class>
<class name="wxCalendarEvent">
<description>
<p class="classdesc">
The wxCalendarEvent class is used together with 
<ref target="wxcalendarctrl">wxCalendarCtrl</ref>.</p>
</description>
<category>Events</category>
<shortdesc>Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}</shortdesc>
<includes>
<header name="wx/calctrl.h"/>
</includes>
<seealso>

<ref target="wxcalendarctrl">wxCalendarCtrl</ref>

</seealso>
<members>
<member class="wxCalendarEvent" name="GetDate"><function type="const wxDateTime&amp;" name="GetDate" suffix="const"><description>

Returns the date. This function may be called for all event types except 
<tt> EVT_CALENDAR_WEEKDAY_CLICKED</tt> one for which it doesn't make sense.

</description></function></member>
<member class="wxCalendarEvent" name="GetWeekDay"><function type="wxDateTime::WeekDay" name="GetWeekDay" suffix="const"><description>

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.

</description></function></member>
<member class="wxCalendarEvent" name="SetDate"><function type="void" name="SetDate"><parameters><parameter type="const wxDateTime&amp;" name=" date"></parameter></parameters><description>

Sets the date.

</description></function></member>
<member class="wxCalendarEvent" name="SetWeekDay"><function type="void" name="SetWeekDay"><parameters><parameter type="wxDateTime::WeekDay" name=" day"></parameter></parameters><description>

Sets the week day.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class>
<class name="wxCaret">
<description>
<p class="classdesc">
A caret is a blinking cursor showing the position where the typed text will
appear. The text controls usually have a caret but wxCaret class also allows
to use a caret in other windows.</p><p class="classdesc">Currently, the caret appears as a rectangle of the given size. In the future,
it will be possible to specify a bitmap to be used for the caret shape.</p><p class="classdesc">A caret is always associated with a window and the current caret can be
retrieved using <ref target="wxwindowgetcaret">wxWindow::GetCaret</ref>. The same caret
can't be reused in two different windows.</p>
</description>
<category>Miscellaneous</category>
<shortdesc>A caret (cursor) object</shortdesc>
<parents></parents>
<includes>
<header name="wx/caret.h"/></includes>
<structs>

</structs>
<members>
<member class="wxCaret" name="wxCaret"><function type="" name="wxCaret"><description>

Default constructor: you must use one of Create() functions later.

</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>

Create the caret of given (in pixels) width and height and associates it
with the given window.

</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>

Create the caret of given (in pixels) width and height and associates it
with the given window (same as constructor).

</description></function></member>
<member class="wxCaret" name="GetBlinkTime"><function type="static int" name="GetBlinkTime"><description>

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).

</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>

Get the caret position (in pixels).



</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>

Get the caret size.



</description></function></member>
<member class="wxCaret" name="GetWindow"><function type="wxWindow&#42;" name="GetWindow" suffix="const"><description>

Get the window the caret is associated with.

</description></function></member>
<member class="wxCaret" name="Hide"><function type="void" name="Hide"><description>

Same as <ref target="wxcaretshow">wxCaret::Show(false)</ref>.

</description></function></member>
<member class="wxCaret" name="IsOk"><function type="bool" name="IsOk" suffix="const"><description>

Returns true if the caret was created successfully.

</description></function></member>
<member class="wxCaret" name="IsVisible"><function type="bool" name="IsVisible" suffix="const"><description>

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).

</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>

Move the caret to given position (in logical coordinates).

</description></function></member>
<member class="wxCaret" name="SetBlinkTime"><function type="static void" name="SetBlinkTime"><parameters><parameter type="int " name="milliseconds"></parameter></parameters><seealso>

<ref target="wxcaretgetblinktime">GetBlinkTime</ref>

</seealso><remarks>

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.

</remarks><description>

Sets the blink time for all the carets.

</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>

Changes the size of the caret.

</description></function></member>
<member class="wxCaret" name="Show"><function type="void" name="Show"><parameters><parameter type="bool " name="show" value="true"></parameter></parameters><description>

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.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCheckBox">
<description>
<p class="classdesc">
A checkbox is a labelled box which by default is either on (checkmark is
visible) or off (no checkmark). Optionally (when the wxCHK_3STATE style flag
is set) it can have a third state, called the mixed or undetermined state.
Often this is used as a &quot;Does Not Apply&quot; state.</p>
</description>
<category>Controls</category>
<shortdesc>Checkbox control</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/checkbox.h"/></includes>
<windowstyles>
<style name="wxCHK_2STATE">Create a 2-state checkbox. This is the default.</style><style name="wxCHK_3STATE">wxCHK_3STATE</style><style name="wxCHK_ALLOW_3RD_STATE_FOR_USER">wxCHK_ALLOW_3RD_STATE_FOR_USER</style><style name="wxALIGN_RIGHT">Makes the text appear on the left of the checkbox.</style></windowstyles>
<events>
<event name="EVT_CHECKBOX(id, func)">Process a wxEVT_COMMAND_CHECKBOX_CLICKED event,
when the checkbox is clicked.</event></events>
<seealso>

<ref target="wxradiobutton">wxRadioButton</ref><ref target="wxcommandevent">wxCommandEvent</ref>

</seealso>
<members>
<member class="wxCheckBox" name="wxCheckBox"><function type="" name="wxCheckBox"><description>

Default constructor.

</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"></parameter><parameter type="const wxString&amp; " name="label">Text to be displayed next to the checkbox.</parameter><parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">Checkbox position. If the position (-1, -1) is specified then a default position is chosen.</parameter><parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">Checkbox size. If the default size (-1, -1) is specified then a default size is chosen.</parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxcheckbox">wxCheckBox</ref>.</parameter><parameter type="const wxValidator&amp; " name="val"></parameter><parameter type="const wxString&amp; " name="name" value="``checkBox&quot;">Window name.</parameter></parameters><seealso>

<ref target="wxcheckboxcreate">wxCheckBox::Create</ref><ref target="wxvalidator">wxValidator</ref>

</seealso><description></description></function></member>
<member class="wxCheckBox" name="~wxCheckBox"><function type="" name="~wxCheckBox"><description>

Destructor, destroying the checkbox.

</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>

Creates the checkbox for two-step construction. See <ref target="wxcheckboxctor">wxCheckBox::wxCheckBox</ref>
for details.

</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>

Gets the state of a 2-state checkbox.

</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>

Gets the state of a 3-state checkbox.

</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>

Returns whether or not the user can set the checkbox to the third state.

</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>

Returns whether or not the checkbox is a 3-state checkbox.

</description></function></member>
<member class="wxCheckBox" name="IsChecked"><function type="bool" name="IsChecked" suffix="const"><description>

This is just a maybe more readable synonym for 
<ref target="wxcheckboxgetvalue">GetValue</ref>: just as the latter, it returns 
true if the checkbox is checked and false otherwise.

</description></function></member>
<member class="wxCheckBox" name="SetValue"><function type="void" name="SetValue"><parameters><parameter type="bool" name=" state"></parameter></parameters><description>

Sets the checkbox to the given state. This does not cause a
wxEVT_COMMAND_CHECKBOX_CLICKED event to get emitted.





</description></function></member>
<member class="wxCheckBox" name="Set3StateValue"><function type="void" name="Set3StateValue"><parameters><parameter type="const wxCheckBoxState" name=" state"></parameter></parameters><description>

Sets the checkbox to the given state. This does not cause a
wxEVT_COMMAND_CHECKBOX_CLICKED event to get emitted.




</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">This class is currently implemented under Windows and GTK. When using this
class under Windows wxWidgets must be compiled with USE_OWNER_DRAWN set to 1.</p><p class="classdesc">Only the new functions for this class are documented; see also <ref target="wxlistbox">wxListBox</ref>.</p><p class="classdesc">Please note that wxCheckListBox uses client data in its implementation,
and therefore this is not available to the application.</p>
</description>
<category>Controls</category>
<shortdesc>A listbox with a checkbox to the left of each item</shortdesc>
<parents>
<ref type="help" target="wxListBox">wxListBox</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/checklst.h"/></includes>
<windowstyles>
</windowstyles>
<events>
<event name="EVT_CHECKLISTBOX(id, func)">Process a wxEVT_COMMAND_CHECKLISTBOX_TOGGLED event,
when an item in the check list box is checked or unchecked.</event></events>
<seealso>

<ref target="wxlistbox">wxListBox</ref><ref target="wxchoice">wxChoice</ref><ref target="wxcombobox">wxComboBox</ref><ref target="wxlistctrl">wxListCtrl</ref>,
<ref target="wxcommandevent">wxCommandEvent</ref>

</seealso>
<members>
<member class="wxCheckListBox" name="wxCheckListBox"><function type="" name="wxCheckListBox"><description>

Default constructor.

</description></function>
<function type="" name="wxCheckListBox"><parameters><parameter type="wxWindow&#42;" name=" parent"></parameter><parameter type="wxWindowID" name=" id"></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"></parameter><parameter type="const wxString " name="choices[]" value="NULL"></parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxchecklistbox">wxCheckListBox</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``listBox&quot;">Window name.</parameter></parameters><description>

</description></function>
<function type="" name="wxCheckListBox"><parameters><parameter type="wxWindow&#42;" name=" parent"></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">An array of strings with which to initialise the control.</parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxchecklistbox">wxCheckListBox</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``listBox&quot;">Window name.</parameter></parameters><description>

Constructor, creating and showing a list box.

























</description></function></member>
<member class="wxCheckListBox" name="~wxCheckListBox"><function type="void" name="~wxCheckListBox"><description>

Destructor, destroying the list box.

</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>

Checks the given item. Note that calling this method doesn't result in
wxEVT_COMMAND_CHECKLISTBOX_TOGGLE being emitted.







</description></function></member>
<member class="wxCheckListBox" name="IsChecked"><function type="bool" name="IsChecked" suffix="const"><parameters><parameter type="int" name=" item"></parameter></parameters><description>

Returns true if the given item is checked, false otherwise.






</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="N"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxChoice">
<description>
<p class="classdesc">
A choice item is used to select one of a list of strings. Unlike a
listbox, only the selection is visible until the user pulls down the
menu of choices.</p>
</description>
<category>Controls</category>
<shortdesc>Choice control (a combobox without the editable area)</shortdesc>
<parents>
<ref type="help" target="wxControlWithItems">wxControlWithItems</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/choice.h"/></includes>
<windowstyles>
</windowstyles>
<events>
<event name="EVT_CHOICE(id, func)">Process a wxEVT_COMMAND_CHOICE_SELECTED event,
when an item on the list is selected.</event></events>
<seealso>

<ref target="wxlistbox">wxListBox</ref><ref target="wxcombobox">wxComboBox</ref>,
<ref target="wxcommandevent">wxCommandEvent</ref>

</seealso>
<members>
<member class="wxChoice" name="wxChoice"><function type="" name="wxChoice"><description>

Default constructor.

</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"></parameter><parameter type="const wxPoint&amp; " name="pos">Window position.</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">Window style. See <ref target="wxchoice">wxChoice</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``choice&quot;">Window name.</parameter></parameters><description>

</description></function>
<function type="" name="wxChoice"><parameters><parameter type="wxWindow &#42;" name="parent">Parent window. Must not be NULL.</parameter><parameter type="wxWindowID" name=" id"></parameter><parameter type="const wxPoint&amp; " name="pos">Window position.</parameter><parameter type="const wxSize&amp;" name=" size"></parameter><parameter type="const wxArrayString&amp; " name="choices">An array of strings with which to initialise the choice control.</parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxchoice">wxChoice</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``choice&quot;">Window name.</parameter></parameters><seealso>

<ref target="wxchoicecreate">wxChoice::Create</ref><ref target="wxvalidator">wxValidator</ref>





</seealso><description></description></function></member>
<member class="wxChoice" name="~wxChoice"><function type="" name="~wxChoice"><description>

Destructor, destroying the choice item.

</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 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 wxString&amp; " name="name" value="``choice&quot;"></parameter></parameters><description>

Creates the choice for two-step construction. See <ref target="wxchoicector">wxChoice::wxChoice</ref>.

</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>

Deletes the item with the given index from the control.





</description></function></member>
<member class="wxChoice" name="GetColumns"><function type="int" name="GetColumns" suffix="const"><remarks>

This is implemented for Motif only and always returns 1 for the other
platforms.

</remarks><description>

Gets the number of columns in this choice item.

</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>

This is implemented for Motif only and doesn't do anything under other
platforms.

</remarks><description>

Sets the number of columns in this choice item.





</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxChoicebook">
<description>
<p class="classdesc">
wxChoicebook is a class similar to <ref target="wxnotebook">wxNotebook</ref> but which
uses a <ref target="wxchoice">wxChoice</ref> to show the labels instead of the
tabs.</p><p class="classdesc">There is no documentation for this class yet but its usage is
identical to wxNotebook (except for the features clearly related to tabs
only), so please refer to that class documentation for now. You can also
use the <ref target="samplenotebook">notebook sample</ref> to see wxChoicebook in action.</p>
</description>
<category>Miscellaneous windows</category>
<shortdesc>Similar to notebook but using choice control</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/choicebk.h"/></includes>
<windowstyles>
<style name="wxCHB_DEFAULT">wxCHB_DEFAULT</style><style name="wxCHB_TOP">Place labels above the page area.</style><style name="wxCHB_LEFT">Place labels on the left side.</style><style name="wxCHB_RIGHT">Place labels on the right side.</style><style name="wxCHB_BOTTOM">Place labels below the page area.</style></windowstyles>
<members>
</members>
<supported>
</supported>
</class><class name="wxClassInfo">
<description>
<p class="classdesc">
This class stores meta-information about classes. Instances of this class are
not generally defined directly by an application, but indirectly through use
of macros such as <b>{ DECLARE_DYNAMIC_CLASS}</b> and <b>{ IMPLEMENT_DYNAMIC_CLASS}</b>.</p>
</description>
<category>Run-time class information system</category>
<shortdesc>Holds run-time class information</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/object.h"/></includes>
<seealso>

<ref target="wxclassinfooverview">Overview</ref><ref target="wxobject">wxObject</ref>

</seealso>
<members>
<member class="wxClassInfo" name="wxClassInfo"><function type="" name="wxClassInfo"><parameters><parameter type="wxChar &#42; " name="className"></parameter><parameter type="wxChar &#42; " name="baseClass1"></parameter><parameter type="wxChar &#42; " name="baseClass2"></parameter><parameter type="int" name=" size"></parameter><parameter type="wxObjectConstructorFn " name="fn"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxClassInfo" name="CreateObject"><function type="wxObject&#42;" name="CreateObject"><description>

Creates an object of the appropriate kind. Returns NULL if the class has not been declared
dynamically creatable (typically, it is an abstract class).

</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>

Finds the wxClassInfo object for a class of the given string name.

</description></function></member>
<member class="wxClassInfo" name="GetBaseClassName1"><function type="wxChar &#42;" name="GetBaseClassName1" suffix="const"><description>

Returns the name of the first base class (NULL if none).

</description></function></member>
<member class="wxClassInfo" name="GetBaseClassName2"><function type="wxChar &#42;" name="GetBaseClassName2" suffix="const"><description>

Returns the name of the second base class (NULL if none).

</description></function></member>
<member class="wxClassInfo" name="GetClassName"><function type="wxChar &#42;" name="GetClassName" suffix="const"><description>

Returns the string form of the class name.

</description></function></member>
<member class="wxClassInfo" name="GetSize"><function type="int" name="GetSize" suffix="const"><description>

Returns the size of the class.

</description></function></member>
<member class="wxClassInfo" name="InitializeClasses"><function type="static void" name="InitializeClasses"><description>

Initializes pointers in the wxClassInfo objects for fast execution
of IsKindOf. Called in base wxWidgets library initialization.

</description></function></member>
<member class="wxClassInfo" name="IsKindOf"><function type="bool" name="IsKindOf"><parameters><parameter type="wxClassInfo&#42; " name="info"></parameter></parameters><description>

Returns true if this class is a kind of (inherits from) the given class.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxClient">
<description>
<p class="classdesc">
A wxClient object represents the client part of a client-server
DDE-like (Dynamic Data Exchange) conversation. The actual
DDE-based implementation using wxDDEClient is available on Windows
only, but a platform-independent, socket-based version of this
API is available using wxTCPClient, which has the same API.</p><p class="classdesc">To create a client which can communicate with a suitable server,
you need to derive a class from wxConnection and another from
wxClient. The custom wxConnection class will intercept
communications in a `conversation' with a server, and the custom
wxClient is required so that a user-overridden
<ref target="wxclientonmakeconnection">wxClient::OnMakeConnection</ref> 
member can return a wxConnection of the required class, when a
connection is made. Look at the IPC sample and the 
<ref target="ipcoverview">Interprocess communications overview</ref> for
an example of how to do this.</p>
</description>
<category>Miscellaneous</category>
<parents><ref type="help" target="wxClientBase">wxClientBase</ref><ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/ipc.h"/></includes>
<seealso>

<ref target="wxserver">wxServer</ref>
<ref target="wxconnection">wxConnection</ref><ref target="ipcoverview">Interprocess communications overview</ref>

</seealso>
<members>
<member class="wxClient" name="wxClient"><function type="" name="wxClient"><description>

Constructs a client object.

</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>

Tries to make a connection with a server by host (machine name
under UNIX - use 'localhost' for same machine; ignored when using
native DDE in Windows), service name and topic string. If the
server allows a connection, a wxConnection object will be
returned. The type of wxConnection returned can be altered by
overriding the 
<ref target="wxclientonmakeconnection">wxClient::OnMakeConnection</ref> 
member to return your own derived connection object.

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.

<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!

</description></function></member>
<member class="wxClient" name="OnMakeConnection"><function type="wxConnectionBase &#42;" name="OnMakeConnection"><description>

Called by <ref target="wxclientmakeconnection">wxClient::MakeConnection</ref>, by
default this simply returns a new wxConnection object. Override
this method to return a wxConnection descendant customised for the
application.

The advantage of deriving your own connection class is that it
will enable you to intercept messages initiated by the server,
such as <ref target="wxconnectiononadvise">wxConnection::OnAdvise</ref>. You
may also want to store application-specific data in instances of
the new class.

</description></function></member>
<member class="wxClient" name="ValidHost"><function type="bool" name="ValidHost"><parameters><parameter type="const wxString&amp; " name="host"></parameter></parameters><description>

Returns true if this is a valid host name, false otherwise. This always
returns true under MS Windows.

</description></function></member></members>
<supported>
</supported>
</class>
<class name="wxClientDC">
<description>
<p class="classdesc">
A wxClientDC must be constructed if an application wishes to paint on the
client area of a window from outside an <b>{ OnPaint}</b> event.
This should normally be constructed as a temporary stack object; don't store
a wxClientDC object.</p><p class="classdesc">To draw on a window from within <b>{ OnPaint}</b>, construct a <ref target="wxpaintdc">wxPaintDC</ref> object.</p><p class="classdesc">To draw on the whole window including decorations, construct a <ref target="wxwindowdc">wxWindowDC</ref> object
(Windows only).</p>
</description>
<category>Device contexts</category>
<shortdesc>A device context to access the client area outside {\bf OnPaint} events</shortdesc>
<parents>
<ref type="help" target="wxWindowDC">wxWindowDC</ref>
<ref type="help" target="wxDC">wxDC</ref>

</parents>
<includes>
<header name="wx/dcclient.h"/></includes>
<seealso>

<ref target="wxdc">wxDC</ref><ref target="wxmemorydc">wxMemoryDC</ref><ref target="wxpaintdc">wxPaintDC</ref>,
<ref target="wxwindowdc">wxWindowDC</ref><ref target="wxscreendc">wxScreenDC</ref>

</seealso>
<members>
<member class="wxClientDC" name="wxClientDC"><function type="" name="wxClientDC"><parameters><parameter type="wxWindow&#42;" name=" window"></parameter></parameters><description>

Constructor. Pass a pointer to the window on which you wish to paint.



</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="P"/><platform name="nanox" status="P"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxClientData">
<description>
<p class="classdesc">
All classes deriving from <ref target="wxevthandler">wxEvtHandler</ref>
(such as all controls and <ref target="wxapp">wxApp</ref>)
can hold arbitrary data which is here referred to as &quot;client data&quot;.
This is useful e.g. for scripting languages which need to handle
shadow objects for most of wxWidgets' classes and which store
a handle to such a shadow class as client data in that class.
This data can either be of type void - in which case the data
<i> container</i> does not take care of freeing the data again
or it is of type wxClientData or its derivatives. In that case the
container (e.g. a control) will free the memory itself later.
Note that you <i> must not</i> assign both void data and data
derived from the wxClientData class to a container.</p><p class="classdesc">Some controls can hold various items and these controls can
additionally hold client data for each item. This is the case for
<ref target="wxchoice">wxChoice</ref>, <ref target="wxcombobox">wxComboBox</ref>
and <ref target="wxlistbox">wxListBox</ref>. <ref target="wxtreectrl">wxTreeCtrl</ref>
has a specialized class <ref target="wxtreeitemdata">wxTreeItemData</ref>
for each item in the tree.</p><p class="classdesc">If you want to add client data to your own classes, you may
use the mix-in class <ref target="wxclientdatacontainer">wxClientDataContainer</ref>.</p>
</description>
<category>Miscellaneous</category>
<includes>
<header name="wx/clntdata.h"/></includes>
<seealso>

<ref target="wxevthandler">wxEvtHandler</ref><ref target="wxtreeitemdata">wxTreeItemData</ref>,
<ref target="wxstringclientdata">wxStringClientData</ref><ref target="wxclientdatacontainer">wxClientDataContainer</ref>

</seealso>
<members>
<member class="wxClientData" name="wxClientData"><function type="" name="wxClientData"><description>

Constructor.

</description></function></member>
<member class="wxClientData" name="~wxClientData"><function type="" name="~wxClientData"><description>

Virtual destructor.

</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="clntdata.h"/></includes>
<structs>

</structs>
<seealso>

<ref target="wxevthandler">wxEvtHandler</ref><ref target="wxclientdata">wxClientData</ref>

</seealso>
<members>
<member class="wxClientDataContainer" name="wxClientDataContainer"><function type="" name="wxClientDataContainer"><description>


</description></function></member>
<member class="wxClientDataContainer" name="~wxClientDataContainer"><function type="" name="~wxClientDataContainer"><description>


</description></function></member>
<member class="wxClientDataContainer" name="GetClientData"><function type="void&#42;" name="GetClientData" suffix="const"><description>

Get the untyped client data.

</description></function></member>
<member class="wxClientDataContainer" name="GetClientObject"><function type="wxClientData&#42;" name="GetClientObject" suffix="const"><description>

Get a pointer to the client data object.

</description></function></member>
<member class="wxClientDataContainer" name="SetClientData"><function type="void" name="SetClientData"><parameters><parameter type="void&#42; " name="data"></parameter></parameters><description>

Set the untyped client data.

</description></function></member>
<member class="wxClientDataContainer" name="SetClientObject"><function type="void" name="SetClientObject"><parameters><parameter type="wxClientData&#42; " name="data"></parameter></parameters><description>

Set the client data object. Any previous object will be deleted.

</description></function></member></members>
<supported>
</supported>
</class><class name="wxClipboard">
<description>
<p class="classdesc">
A class for manipulating the clipboard. Note that this is not compatible with the
clipboard class from wxWidgets 1.xx, which has the same name but a different implementation.</p><p class="classdesc">To use the clipboard, you call member functions of the global <b>{ wxTheClipboard}</b> object.</p><p class="classdesc">See also the <ref target="wxdataobjectoverview">wxDataObject overview</ref> for further information.</p><p class="classdesc">Call <ref target="wxclipboardopen">wxClipboard::Open</ref> to get ownership of the clipboard. If this operation returns true, you
now own the clipboard. Call <ref target="wxclipboardsetdata">wxClipboard::SetData</ref> to put data
on the clipboard, or <ref target="wxclipboardgetdata">wxClipboard::GetData</ref> to
retrieve data from the clipboard. Call <ref target="wxclipboardclose">wxClipboard::Close</ref> to close
the clipboard and relinquish ownership. You should keep the clipboard open only momentarily.</p><p class="classdesc">For example:</p><p class="classdesc"><pre>
  // Write some text to the clipboard
  if (wxTheClipboard-&gt;Open())
  {
    // This data objects are held by the clipboard, 
    // so do not delete them in the app.
    wxTheClipboard-&gt;SetData( new wxTextDataObject(&quot;Some text&quot;) );
    wxTheClipboard-&gt;Close();
  }

  // Read some text
  if (wxTheClipboard-&gt;Open())
  {
    if (wxTheClipboard-&gt;IsSupported( wxDF_TEXT ))
    {
      wxTextDataObject data;
      wxTheClipboard-&gt;GetData( data );
      wxMessageBox( data.GetText() );
    }  
    wxTheClipboard-&gt;Close();
  }
</pre></p>
</description>
<category>Drag and drop and clipboard classes</category>
<shortdesc>Clipboard class</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/clipbrd.h"/></includes>
<seealso>

<ref target="wxdndoverview">Drag and drop overview</ref><ref target="wxdataobject">wxDataObject</ref>

</seealso>
<members>
<member class="wxClipboard" name="wxClipboard"><function type="" name="wxClipboard"><description>

Constructor.

</description></function></member>
<member class="wxClipboard" name="~wxClipboard"><function type="" name="~wxClipboard"><description>

Destructor.

</description></function></member>
<member class="wxClipboard" name="AddData"><function type="bool" name="AddData"><parameters><parameter type="wxDataObject&#42;" name=" data"></parameter></parameters><seealso>

<ref target="wxclipboardsetdata">wxClipboard::SetData</ref>

</seealso><description>

Call this function to add the data object to the clipboard. You may call
this function repeatedly after having cleared the clipboard using <ref target="wxclipboardclear">wxClipboard::Clear</ref>.

After this function has been called, the clipboard owns the data, so do not delete
the data explicitly.

</description></function></member>
<member class="wxClipboard" name="Clear"><function type="void" name="Clear"><description>

Clears the global clipboard object and the system's clipboard if possible.

</description></function></member>
<member class="wxClipboard" name="Close"><function type="void" name="Close"><description>

Call this function to close the clipboard, having opened it with <ref target="wxclipboardopen">wxClipboard::Open</ref>.

</description></function></member>
<member class="wxClipboard" name="Flush"><function type="bool" name="Flush"><description>

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.

</description></function></member>
<member class="wxClipboard" name="GetData"><function type="bool" name="GetData"><parameters><parameter type="wxDataObject&amp;" name=" data"></parameter></parameters><description>

Call this function to fill <i> data</i> with data on the clipboard, if available in the required
format. Returns true on success.

</description></function></member>
<member class="wxClipboard" name="IsOpened"><function type="bool" name="IsOpened" suffix="const"><description>

Returns true if the clipboard has been opened.

</description></function></member>
<member class="wxClipboard" name="IsSupported"><function type="bool" name="IsSupported"><parameters><parameter type="const wxDataFormat&amp;" name=" format"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxClipboard" name="Open"><function type="bool" name="Open"><description>

Call this function to open the clipboard before calling <ref target="wxclipboardsetdata">wxClipboard::SetData</ref> 
and <ref target="wxclipboardgetdata">wxClipboard::GetData</ref>.

Call <ref target="wxclipboardclose">wxClipboard::Close</ref> when you have finished with the clipboard. You
should keep the clipboard open for only a very short time.

Returns true on success. This should be tested (as in the sample shown above).

</description></function></member>
<member class="wxClipboard" name="SetData"><function type="bool" name="SetData"><parameters><parameter type="wxDataObject&#42;" name=" data"></parameter></parameters><seealso>

<ref target="wxclipboardadddata">wxClipboard::AddData</ref>

</seealso><description>

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.

After this function has been called, the clipboard owns the data, so do not delete
the data explicitly.

</description></function></member>
<member class="wxClipboard" name="UsePrimarySelection"><function type="void" name="UsePrimarySelection"><parameters><parameter type="bool" name="primary" value="true"></parameter></parameters><description>

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.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="N"/><platform name="nanox" status="N"/><platform name="mgl" status="N"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCloseEvent">
<description>
<p class="classdesc">
This event class contains information about window and session close events.</p><p class="classdesc">The handler function for EVT_CLOSE is called when the user has tried to close a a frame
or dialog box using the window manager (X) or system menu (Windows). It can
also be invoked by the application itself programmatically, for example by
calling the <ref target="wxwindowclose">wxWindow::Close</ref> function.</p><p class="classdesc">You should check whether the application is forcing the deletion of the window
using <ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref>. If this is <tt> false</tt>,
you <i> must</i> destroy the window using <ref target="wxwindowdestroy">wxWindow::Destroy</ref>.
If the return value is true, it is up to you whether you respond by destroying the window.</p><p class="classdesc">If you don't destroy the window, you should call <ref target="wxcloseeventveto">wxCloseEvent::Veto</ref> to
let the calling code know that you did not destroy the window. This allows the <ref target="wxwindowclose">wxWindow::Close</ref> function
to return <tt> true</tt> or <tt> false</tt> depending on whether the close instruction was honoured or not.</p>
</description>
<category>Events</category>
<shortdesc>A close window or end session event</shortdesc>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>

</parents>
<includes>
<header name="wx/event.h"/></includes>
<events>
<event name="EVT_CLOSE(func)">Process a close event, supplying the member function. This
event applies to wxFrame and wxDialog classes.</event><event name="EVT_QUERY_END_SESSION(func)">Process a query end session event, supplying the member function.
This event applies to wxApp only.</event><event name="EVT_END_SESSION(func)">Process an end session event, supplying the member function.
This event applies to wxApp only.</event></events>
<seealso>

<ref target="wxwindowclose">wxWindow::Close</ref>,
<ref target="wxapponqueryendsession">wxApp::OnQueryEndSession</ref>,


<ref target="windowdeletionoverview">Window deletion overview</ref>

</seealso>
<members>
<member class="wxCloseEvent" name="wxCloseEvent"><function type="" name="wxCloseEvent"><parameters><parameter type="WXTYPE" name="commandEventType" value="0"></parameter><parameter type="int" name="id" value="0"></parameter></parameters><description>

Constructor.

</description></function></member>
<member class="wxCloseEvent" name="CanVeto"><function type="bool" name="CanVeto"><description>

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.

</description></function></member>
<member class="wxCloseEvent" name="GetLoggingOff"><function type="bool" name="GetLoggingOff" suffix="const"><description>

Returns true if the user is logging off.

</description></function></member>
<member class="wxCloseEvent" name="GetSessionEnding"><function type="bool" name="GetSessionEnding" suffix="const"><description>

Returns true if the session is ending.

</description></function></member>
<member class="wxCloseEvent" name="GetForce"><function type="bool" name="GetForce" suffix="const"><description>

Returns true if the application wishes to force the window to close.
This will shortly be obsolete, replaced by CanVeto.

</description></function></member>
<member class="wxCloseEvent" name="SetCanVeto"><function type="void" name="SetCanVeto"><parameters><parameter type="bool" name=" canVeto"></parameter></parameters><description>

Sets the 'can veto' flag.

</description></function></member>
<member class="wxCloseEvent" name="SetForce"><function type="void" name="SetForce" suffix="const"><parameters><parameter type="bool" name=" force"></parameter></parameters><description>

Sets the 'force' flag.

</description></function></member>
<member class="wxCloseEvent" name="SetLoggingOff"><function type="void" name="SetLoggingOff" suffix="const"><parameters><parameter type="bool" name=" loggingOff"></parameter></parameters><description>

Sets the 'logging off' flag.

</description></function></member>
<member class="wxCloseEvent" name="Veto"><function type="void" name="Veto"><parameters><parameter type="bool" name="veto" value="true"></parameter></parameters><description>

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.

You can only veto a shutdown if <ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref> returns
true.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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>(TODO: description)</description>
<category>Miscellaneous</category>
<shortdesc>Command line parser class</shortdesc>
<supported>
</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 target="wxcolourdatabase">wxColourDatabase</ref> for how a pointer to a predefined,
named colour may be returned instead of creating a new colour.</p><p class="classdesc">Valid RGB values are in the range 0 to 255.</p><p class="classdesc">You can retrieve the current system colour settings with <ref target="wxsystemsettings">wxSystemSettings</ref>.</p>
</description>
<category>Graphics device interface</category>
<shortdesc>Represents the red, blue and green elements of a colour</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/colour.h"/></includes>
<predefs>

Objects:

<b>{ wxNullColour}</b>

Pointers:

<b>{ wxBLACK<br/>
wxWHITE<br/>
wxRED<br/>
wxBLUE<br/>
wxGREEN<br/>
wxCYAN<br/>
wxLIGHT_GREY}</b>

</predefs>
<seealso>

<ref target="wxcolourdatabase">wxColourDatabase</ref><ref target="wxpen">wxPen</ref><ref target="wxbrush">wxBrush</ref>,
<ref target="wxcolourdialog">wxColourDialog</ref><ref target="wxsystemsettings">wxSystemSettings</ref>

</seealso>
<members>
<member class="wxColour" name="wxColour"><function type="" name="wxColour"><description>

Default constructor.

</description></function>
<function type="" name="wxColour"><parameters><parameter type="const unsigned char" name=" red"></parameter><parameter type="const unsigned char" name=" green"></parameter><parameter type="const unsigned char" name=" blue"></parameter></parameters><description>

Constructs a colour from red, green and blue values.

</description></function>
<function type="" name="wxColour"><parameters><parameter type="const wxString&amp; " name="colourNname"></parameter></parameters><description>

Constructs a colour object using a colour name
listed in <b>{ wxTheColourDatabase}</b>.

</description></function>
<function type="" name="wxColour"><parameters><parameter type="const wxColour&amp;" name=" colour"></parameter></parameters><seealso>

<ref target="wxcolourdatabase">wxColourDatabase</ref>





</seealso><description>

Copy constructor.













</description></function></member>
<member class="wxColour" name="Blue"><function type="unsigned char" name="Blue" suffix="const"><description>

Returns the blue intensity.


</description></function></member>
<member class="wxColour" name="GetPixel"><function type="long" name="GetPixel" suffix="const"><description>

Returns a pixel value which is platform-dependent. On Windows, a COLORREF is returned.
On X, an allocated pixel value is returned.

-1 is returned if the pixel is invalid (on X, unallocated).


</description></function></member>
<member class="wxColour" name="Green"><function type="unsigned char" name="Green" suffix="const"><description>

Returns the green intensity.


</description></function></member>
<member class="wxColour" name="Ok"><function type="bool" name="Ok" suffix="const"><description>

Returns true if the colour object is valid (the colour has been initialised with RGB values).


</description></function></member>
<member class="wxColour" name="Red"><function type="unsigned char" name="Red" suffix="const"><description>

Returns the red intensity.


</description></function></member>
<member class="wxColour" name="Set"><function type="void" name="Set"><parameters><parameter type="const unsigned char" name=" red"></parameter><parameter type="const unsigned char" name=" green"></parameter><parameter type="const unsigned char" name=" blue"></parameter></parameters><description>

Sets the RGB intensity values.


</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>

Assignment operator, taking another colour object.

</description></function>
<function type="wxColour&amp;" name="operator $=$"><parameters><parameter type="const wxString&amp;" name=" colourName"></parameter></parameters><seealso>

<ref target="wxcolourdatabase">wxColourDatabase</ref>


</seealso><description>

Assignment operator, using a colour name to be found in the colour database.

</description></function></member>
<member class="wxColour" name="operator $==$"><function type="bool" name="operator $==$"><parameters><parameter type="const wxColour&amp;" name=" colour"></parameter></parameters><description>

Tests the equality of two colours by comparing individual red, green blue colours.


</description></function></member>
<member class="wxColour" name="operator $!=$"><function type="bool" name="operator $!=$"><parameters><parameter type="const wxColour&amp;" name=" colour"></parameter></parameters><description>

Tests the inequality of two colours by comparing individual red, green blue colours.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxColourData">
<description>
<p class="classdesc">
This class holds a variety of information related to colour dialogs.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/cmndata.h"/></includes>
<seealso>

<ref target="wxcolour">wxColour</ref><ref target="wxcolourdialog">wxColourDialog</ref><ref target="wxcolourdialogoverview">wxColourDialog overview</ref>

</seealso>
<members>
<member class="wxColourData" name="wxColourData"><function type="" name="wxColourData"><description>

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.


</description></function></member>
<member class="wxColourData" name="~wxColourData"><function type="" name="~wxColourData"><description>

Destructor.


</description></function></member>
<member class="wxColourData" name="GetChooseFull"><function type="bool" name="GetChooseFull" suffix="const"><description>

Under Windows, determines whether the Windows colour dialog will display the full dialog
with custom colour selection controls. Has no meaning under other platforms.

The default value is true.


</description></function></member>
<member class="wxColourData" name="GetColour"><function type="wxColour&amp;" name="GetColour" suffix="const"><description>

Gets the current colour associated with the colour dialog.

The default colour is black.


</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>

Gets the <i> i</i>th custom colour associated with the colour dialog. <i> i</i> should
be an integer between 0 and 15.

The default custom colours are invalid colours.


</description></function></member>
<member class="wxColourData" name="SetChooseFull"><function type="void" name="SetChooseFull"><parameters><parameter type="const bool " name="flag"></parameter></parameters><description>

Under Windows, tells the Windows colour dialog to display the full dialog
with custom colour selection controls. Under other platforms, has no effect.

The default value is true.


</description></function></member>
<member class="wxColourData" name="SetColour"><function type="void" name="SetColour"><parameters><parameter type="const wxColour&amp;" name=" colour"></parameter></parameters><description>

Sets the default colour for the colour dialog.

The default colour is black.


</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>

Sets the <i> i</i>th custom colour for the colour dialog. <i> i</i> should
be an integer between 0 and 15.

The default custom colours are invalid colours.


</description></function></member>
<member class="wxColourData" name="operator $=$"><function type="void" name="operator $=$"><parameters><parameter type="const wxColourData&amp;" name=" data"></parameter></parameters><description>

Assignment operator for the colour data.




</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxColourDatabase">
<description>
<p class="classdesc">
wxWidgets maintains a database of standard RGB colours for a predefined
set of named colours (such as ``BLACK'', ``LIGHT GREY''). The
application may add to this set if desired by using 
<ref target="wxcolourdatabaseaddcolour">AddColour</ref> and may use it to look up
colours by names using <ref target="wxcolourdatabasefind">Find</ref> or find the names
for the standard colour suing <ref target="wxcolourdatabasefindname">FindName</ref>.</p><p class="classdesc">There is one predefined instance of this class called 
<b>{ wxTheColourDatabase}</b>.</p>
</description>
<category>Miscellaneous</category>
<remarks>

The standard database contains at least the following colours:

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.

</remarks>
<parents>


</parents>
<includes>
<header name="wx/gdicmn.h"/></includes>
<seealso>

<ref target="wxcolour">wxColour</ref>

</seealso>
<members>
<member class="wxColourDatabase" name="wxColourDatabase"><function type="" name="wxColourDatabase"><description>

Constructs the colour database. It will be initialized at the first use.


</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"><parameters><parameter type="const wxString&amp; " name="colourName"></parameter><parameter type="wxColour&#42; " name="colour"></parameter></parameters><description>

Adds a colour to the database. If a colour with the same name already exists,
it is replaced.

Please note that the overload taking a pointer is deprecated and will be
removed in the next wxWidgets version, please don't use it.


</description></function></member>
<member class="wxColourDatabase" name="Find"><function type="wxColour" name="FindColour"><parameters><parameter type="const wxString&amp; " name="colourName"></parameter></parameters><description>

Finds a colour given the name. Returns an invalid colour object (that is, such
that its <ref target="wxcolourok">Ok()</ref> method returns false) if the colour wasn't
found in the database.


</description></function></member>
<member class="wxColourDatabase" name="FindColour"><function type="wxColour&#42;" name="FindColour"><parameters><parameter type="const wxString&amp; " name="colourName"></parameter></parameters><description>

Finds a colour given the name. Returns <tt> NULL</tt> if not found or a pointer which
must be deleted by the caller otherwise.

Please note that this method is deprecated and will be removed in the next
wxWidgets version, please use <ref target="wxcolourdatabasefind">Find</ref> instead of
it.


</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>

Finds a colour name given the colour. Returns an empty string if the colour is
not found in the database.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxColourDialog">
<description>
<p class="classdesc">
This class represents the colour chooser dialog.</p>
</description>
<category>Common dialogs</category>
<shortdesc>Colour chooser dialog</shortdesc>
<parents>
<ref type="help" target="wxDialog">wxDialog</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/colordlg.h"/></includes>
<seealso>

<ref target="wxcolourdialogoverview">wxColourDialog Overview</ref>,<br/>
<ref target="wxcolour">wxColour</ref>,<br/>
<ref target="wxcolourdata">wxColourData</ref>,<br/>
<ref target="wxgetcolourfromuser">wxGetColourFromUser</ref>

</seealso>
<members>
<member class="wxColourDialog" name="wxColourDialog"><function type="" name="wxColourDialog"><parameters><parameter type="wxWindow&#42; " name="parent"></parameter><parameter type="wxColourData&#42; " name="data" value="NULL"></parameter></parameters><seealso>

<ref target="wxcolourdata">wxColourData</ref>

</seealso><description>

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).

</description></function></member>
<member class="wxColourDialog" name="~wxColourDialog"><function type="" name="~wxColourDialog"><description>

Destructor.

</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>

Same as <ref target="wxcolourdialogctor">constructor</ref>.

</description></function></member>
<member class="wxColourDialog" name="GetColourData"><function type="wxColourData&amp;" name="GetColourData"><description>

Returns the <ref target="wxcolourdata">colour data</ref> associated with the colour dialog.

</description></function></member>
<member class="wxColourDialog" name="ShowModal"><function type="int" name="ShowModal"><description>

Shows the dialog, returning wxID_OK if the user pressed OK, and wxID_CANCEL
otherwise.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxComboBox">
<description>
<p class="classdesc">
A combobox is like a combination of an edit control and a listbox. It can be
displayed as static list with editable or read-only text field; or a drop-down list with
text field; or a drop-down list without a text field.</p><p class="classdesc">A combobox permits a single selection only. Combobox items are numbered from zero.</p>
</description>
<category>Controls</category>
<shortdesc>A choice with an editable area</shortdesc>
<parents>
<ref type="help" target="wxControlWithItems">wxControlWithItems</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/combobox.h"/></includes>
<windowstyles>
<style name="wxCB_SIMPLE">Creates a combobox with a permanently displayed list. Windows only. </style><style name="wxCB_DROPDOWN">Creates a combobox with a drop-down list.</style><style name="wxCB_READONLY">wxCB_READONLY</style><style name="wxCB_SORT">Sorts the entries in the list alphabetically.</style></windowstyles>
<events>
<event name="EVT_COMBOBOX(id, func)">Process a wxEVT_COMMAND_COMBOBOX_SELECTED event,
when an item on the list is selected. Note that calling 
<ref target="wxcomboboxgetvalue">GetValue</ref> returns the new value of selection.</event><event name="EVT_TEXT(id, func)">Process a wxEVT_COMMAND_TEXT_UPDATED event,
when the combobox text changes.</event><event name="EVT_TEXT_ENTER(id, func)">Process a wxEVT_COMMAND_TEXT_ENTER event,
when &lt;RETURN&gt; is pressed in the combobox.</event></events>
<seealso>

<ref target="wxlistbox">wxListBox</ref><ref target="wxtextctrl">wxTextCtrl</ref><ref target="wxchoice">wxChoice</ref>,
<ref target="wxcommandevent">wxCommandEvent</ref>

</seealso>
<members>
<member class="wxComboBox" name="wxComboBox"><function type="" name="wxComboBox"><description>

Default constructor.

</description></function>
<function type="" name="wxComboBox"><parameters><parameter type="wxWindow&#42;" name=" parent"></parameter><parameter type="wxWindowID" name=" id"></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"></parameter><parameter type="const wxString " name="choices[]"></parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxcombobox">wxComboBox</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``comboBox&quot;">Window name.</parameter></parameters><description>

</description></function>
<function type="" name="wxComboBox"><parameters><parameter type="wxWindow&#42;" name=" parent"></parameter><parameter type="wxWindowID" name=" id"></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"></parameter><parameter type="const wxSize&amp;" name=" size"></parameter><parameter type="const wxArrayString&amp; " name="choices">An array of strings with which to initialise the control.</parameter><parameter type="long" name="style" value="0">Window style. See <ref target="wxcombobox">wxComboBox</ref>.</parameter><parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">Window validator.</parameter><parameter type="const wxString&amp; " name="name" value="``comboBox&quot;">Window name.</parameter></parameters><seealso>

<ref target="wxcomboboxcreate">wxComboBox::Create</ref><ref target="wxvalidator">wxValidator</ref>





</seealso><description></description></function></member>
<member class="wxComboBox" name="~wxComboBox"><function type="" name="~wxComboBox"><description>

Destructor, destroying the combobox.

</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>

Creates the combobox for two-step construction. Derived classes
should call or replace this function. See <ref target="wxcomboboxctor">wxComboBox::wxComboBox</ref>
for further details.

</description></function></member>
<member class="wxComboBox" name="CanCopy"><function type="bool" name="CanCopy" suffix="const"><description>

Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
Only available on Windows.

</description></function></member>
<member class="wxComboBox" name="CanCut"><function type="bool" name="CanCut" suffix="const"><description>

Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
Only available on Windows.

</description></function></member>
<member class="wxComboBox" name="CanPaste"><function type="bool" name="CanPaste" suffix="const"><description>

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.

</description></function></member>
<member class="wxComboBox" name="CanRedo"><function type="bool" name="CanRedo" suffix="const"><description>

Returns true if the combobox is editable and the last undo can be redone.
Only available on Windows.
 
</description></function></member>
<member class="wxComboBox" name="CanUndo"><function type="bool" name="CanUndo" suffix="const"><description>

Returns true if the combobox is editable and the last edit can be undone.
Only available on Windows.
 
</description></function></member>
<member class="wxComboBox" name="Copy"><function type="void" name="Copy"><description>

Copies the selected text to the clipboard.

</description></function></member>
<member class="wxComboBox" name="Cut"><function type="void" name="Cut"><description>

Copies the selected text to the clipboard and removes the selection.

</description></function></member>
<member class="wxComboBox" name="GetInsertionPoint"><function type="long" name="GetInsertionPoint" suffix="const"><description>

Returns the insertion point for the combobox's text field.

</description></function></member>
<member class="wxComboBox" name="GetLastPosition"><function type="long" name="GetLastPosition" suffix="const"><description>

Returns the last position in the combobox text field.

</description></function></member>
<member class="wxComboBox" name="GetValue"><function type="wxString" name="GetValue" suffix="const"><description>

Returns the current value in the combobox text field.

</description></function></member>
<member class="wxComboBox" name="Paste"><function type="void" name="Paste"><description>

Pastes text from the clipboard to the text field.

</description></function></member>
<member class="wxComboBox" name="Redo"><function type="void" name="Redo"><description>

Redoes the last undo in the text field. Windows only.

</description></function></member>
<member class="wxComboBox" name="Replace"><function type="void" name="Replace"><parameters><parameter type="long" name=" from"></parameter><parameter type="long" name=" to"></parameter><parameter type="const wxString&amp; " name="text">The text to insert.</parameter></parameters><description>

Replaces the text between two positions with the given text, in the combobox text field.









</description></function></member>
<member class="wxComboBox" name="Remove"><function type="void" name="Remove"><parameters><parameter type="long" name=" from"></parameter><parameter type="long" name=" to"></parameter></parameters><description>

Removes the text between the two positions in the combobox text field.







</description></function></member>
<member class="wxComboBox" name="SetInsertionPoint"><function type="void" name="SetInsertionPoint"><parameters><parameter type="long" name=" pos"></parameter></parameters><description>

Sets the insertion point in the combobox text field.





</description></function></member>
<member class="wxComboBox" name="SetInsertionPointEnd"><function type="void" name="SetInsertionPointEnd"><description>

Sets the insertion point at the end of the combobox text field.

</description></function></member>
<member class="wxComboBox" name="SetSelection"><function type="void" name="SetSelection"><parameters><parameter type="long" name=" from"></parameter><parameter type="long" name=" to"></parameter></parameters><description>

Selects the text between the two positions, in the combobox text field.









</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>

Sets the text for the combobox text field.

<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.





</description></function></member>
<member class="wxComboBox" name="Undo"><function type="void" name="Undo"><description>

Undoes the last edit in the text field. Windows only.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
wxCommand is a base class for modelling an application command,
which is an action usually performed by selecting a menu item, pressing
a toolbar button or any other means provided by the application to
change the data or view.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/cmdproc.h"/></includes>
<seealso>

<ref type="overview" target="wxcommandoverview">Overview</ref>

</seealso>
<members>
<member class="wxCommand" name="wxCommand"><function type="" name="wxCommand"><parameters><parameter type="bool" name="canUndo" value="false"></parameter><parameter type="const wxString&amp; " name="name" value="NULL"></parameter></parameters><description>

Constructor. wxCommand is an abstract class, so you will need to derive
a new class and call this constructor from your own constructor.

<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).

<i> name</i> must be supplied for the command processor to display the command name
in the application's edit menu.

</description></function></member>
<member class="wxCommand" name="~wxCommand"><function type="" name="~wxCommand"><description>

Destructor.

</description></function></member>
<member class="wxCommand" name="CanUndo"><function type="bool" name="CanUndo"><description>

Returns true if the command can be undone, false otherwise.

</description></function></member>
<member class="wxCommand" name="Do"><function type="bool" name="Do"><description>

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.

</description></function></member>
<member class="wxCommand" name="GetName"><function type="wxString" name="GetName"><description>

Returns the command name.

</description></function></member>
<member class="wxCommand" name="Undo"><function type="bool" name="Undo"><description>

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.

How you implement this command is totally application dependent, but typical
strategies include:

<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>

The docview sample uses the first method, to remove or restore segments
in the drawing.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCommandEvent">
<description>
<p class="classdesc">
This event class contains information about command events, which originate from a variety of
simple controls. More complex controls, such as <ref target="wxtreectrl">wxTreeCtrl</ref>, have separate command event classes.</p>
</description>
<category>Events</category>
<shortdesc>An event from a variety of standard controls</shortdesc>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>

</parents>
<includes>
<header name="wx/event.h"/></includes>
<events>
<event name="EVT_COMMAND(id, event, func)">Process a command, supplying the window identifier,
command event identifier, and member function.</event><event name="EVT_COMMAND_RANGE(id1, id2, event, func)">Process a command for a range
of window identifiers, supplying the minimum and maximum window identifiers,
command event identifier, and member function.</event><event name="EVT_BUTTON(id, func)">Process a wxEVT_COMMAND_BUTTON_CLICKED command,
which is generated by a wxButton control.</event><event name="EVT_CHECKBOX(id, func)">Process a wxEVT_COMMAND_CHECKBOX_CLICKED command,
which is generated by a wxCheckBox control.</event><event name="EVT_CHOICE(id, func)">Process a wxEVT_COMMAND_CHOICE_SELECTED command,
which is generated by a wxChoice control.</event><event name="EVT_COMBOBOX(id, func)">Process a wxEVT_COMMAND_COMBOBOX_SELECTED command,
which is generated by a wxComboBox control.</event><event name="EVT_LISTBOX(id, func)">Process a wxEVT_COMMAND_LISTBOX_SELECTED command,
which is generated by a wxListBox control.</event><event name="EVT_LISTBOX_DCLICK(id, func)">Process a wxEVT_COMMAND_LISTBOX_DOUBLECLICKED command,
which is generated by a wxListBox control.</event><event name="EVT_MENU(id, func)">Process a wxEVT_COMMAND_MENU_SELECTED command,
which is generated by a menu item.</event><event name="EVT_MENU_RANGE(id1, id2, func)">Process a wxEVT_COMMAND_MENU_RANGE command,
which is generated by a range of menu items.</event><event name="EVT_CONTEXT_MENU(func)">Process the event generated
when the user has requested a popup menu to appear by pressing a special
keyboard key (under Windows) or by right clicking the mouse.</event><event name="EVT_RADIOBOX(id, func)">Process a wxEVT_COMMAND_RADIOBOX_SELECTED command,
which is generated by a wxRadioBox control.</event><event name="EVT_RADIOBUTTON(id, func)">Process a wxEVT_COMMAND_RADIOBUTTON_SELECTED command,
which is generated by a wxRadioButton control.</event><event name="EVT_SCROLLBAR(id, func)">Process a wxEVT_COMMAND_SCROLLBAR_UPDATED command,
which is generated by a wxScrollBar control. This is provided for compatibility only;
more specific scrollbar event macros should be used instead (see <ref target="wxscrollevent">wxScrollEvent</ref>).</event><event name="EVT_SLIDER(id, func)">Process a wxEVT_COMMAND_SLIDER_UPDATED command,
which is generated by a wxSlider control.</event><event name="EVT_TEXT(id, func)">Process a wxEVT_COMMAND_TEXT_UPDATED command,
which is generated by a wxTextCtrl control.</event><event name="EVT_TEXT_ENTER(id, func)">Process a wxEVT_COMMAND_TEXT_ENTER command,
which is generated by a wxTextCtrl control. Note that you must use
wxTE_PROCESS_ENTER flag when creating the control if you want it to generate
such events.</event><event name="EVT_TEXT_MAXLEN(id, func)">Process a wxEVT_COMMAND_TEXT_MAXLEN command,
which is generated by a wxTextCtrl control when the user tries to enter more
characters into it than the limit previously set with 
<ref target="wxtextctrlsetmaxlength">SetMaxLength</ref>.</event><event name="EVT_TOOL(id, func)">Process a wxEVT_COMMAND_TOOL_CLICKED event
(a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool.</event><event name="EVT_TOOL_RANGE(id1, id2, func)">Process a wxEVT_COMMAND_TOOL_CLICKED event
for a range of identifiers. Pass the ids of the tools.</event><event name="EVT_TOOL_RCLICKED(id, func)">Process a wxEVT_COMMAND_TOOL_RCLICKED event.
Pass the id of the tool.</event><event name="EVT_TOOL_RCLICKED_RANGE(id1, id2, func)">Process a wxEVT_COMMAND_TOOL_RCLICKED event
for a range of ids. Pass the ids of the tools.</event><event name="EVT_TOOL_ENTER(id, func)">Process a wxEVT_COMMAND_TOOL_ENTER event.
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.</event><event name="EVT_COMMAND_LEFT_CLICK(id, func)">Process a wxEVT_COMMAND_LEFT_CLICK command,
which is generated by a control (Windows 95 and NT only).</event><event name="EVT_COMMAND_LEFT_DCLICK(id, func)">Process a wxEVT_COMMAND_LEFT_DCLICK command,
which is generated by a control (Windows 95 and NT only).</event><event name="EVT_COMMAND_RIGHT_CLICK(id, func)">Process a wxEVT_COMMAND_RIGHT_CLICK command,
which is generated by a control (Windows 95 and NT only).</event><event name="EVT_COMMAND_SET_FOCUS(id, func)">Process a wxEVT_COMMAND_SET_FOCUS command,
which is generated by a control (Windows 95 and NT only).</event><event name="EVT_COMMAND_KILL_FOCUS(id, func)">Process a wxEVT_COMMAND_KILL_FOCUS command,
which is generated by a control (Windows 95 and NT only).</event><event name="EVT_COMMAND_ENTER(id, func)">Process a wxEVT_COMMAND_ENTER command,
which is generated by a control.</event></events>
<members>
<member class="wxCommandEvent" name="m_clientData"></member>
<member class="wxCommandEvent" name="m_commandInt"></member>
<member class="wxCommandEvent" name="m_commandString"></member>
<member class="wxCommandEvent" name="m_extraLong"></member>
<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>

Constructor.

</description></function></member>
<member class="wxCommandEvent" name="Checked"><function type="bool" name="Checked" suffix="const"><description>

Deprecated, use <ref target="wxcommandeventischecked">IsChecked</ref> instead.

</description></function></member>
<member class="wxCommandEvent" name="GetClientData"><function type="void&#42;" name="GetClientData"><description>

Returns client data pointer for a listbox or choice selection event
(not valid for a deselection).

</description></function></member>
<member class="wxCommandEvent" name="GetClientObject"><function type="wxClientData &#42;" name="GetClientObject"><description>

Returns client object pointer for a listbox or choice selection event
(not valid for a deselection).

</description></function></member>
<member class="wxCommandEvent" name="GetExtraLong"><function type="long" name="GetExtraLong"><description>

Returns the <b>{ m_extraLong}</b> member.

</description></function></member>
<member class="wxCommandEvent" name="GetInt"><function type="int" name="GetInt"><description>

Returns the <b>{ m_commandInt}</b> member.

</description></function></member>
<member class="wxCommandEvent" name="GetSelection"><function type="int" name="GetSelection"><description>

Returns item index for a listbox or choice selection event (not valid for
a deselection).

</description></function></member>
<member class="wxCommandEvent" name="GetString"><function type="wxString" name="GetString"><description>

Returns item string for a listbox or choice selection event (not valid for
a deselection).

</description></function></member>
<member class="wxCommandEvent" name="IsChecked"><function type="bool" name="IsChecked" suffix="const"><description>

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).

</description></function></member>
<member class="wxCommandEvent" name="IsSelection"><function type="bool" name="IsSelection"><description>

For a listbox or similar event, returns true if it is a selection, false if it
is a deselection.

</description></function></member>
<member class="wxCommandEvent" name="SetClientData"><function type="void" name="SetClientData"><parameters><parameter type="void&#42;" name=" clientData"></parameter></parameters><description>

Sets the client data for this event.

</description></function></member>
<member class="wxCommandEvent" name="SetClientObject"><function type="void" name="SetClientObject"><parameters><parameter type="wxClientData&#42;" name=" clientObject"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxCommandEvent" name="SetExtraLong"><function type="void" name="SetExtraLong"><parameters><parameter type="int" name=" extraLong"></parameter></parameters><description>

Sets the <b>{ m_extraLong}</b> member.

</description></function></member>
<member class="wxCommandEvent" name="SetInt"><function type="void" name="SetInt"><parameters><parameter type="int" name=" intCommand"></parameter></parameters><description>

Sets the <b>{ m_commandInt}</b> member.

</description></function></member>
<member class="wxCommandEvent" name="SetString"><function type="void" name="SetString"><parameters><parameter type="const wxString&amp;" name=" string"></parameter></parameters><description>

Sets the <b>{ m_commandString}</b> member.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCommandProcessor">
<description>
<p class="classdesc">
wxCommandProcessor is a class that maintains a history of wxCommands,
with undo/redo functionality built-in. Derive a new class from this
if you want different behaviour.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/cmdproc.h"/></includes>
<seealso>

<ref target="wxcommandprocessoroverview">wxCommandProcessor overview</ref><ref target="wxcommand">wxCommand</ref>

</seealso>
<members>
<member class="wxCommandProcessor" name="wxCommandProcessor"><function type="" name="wxCommandProcessor"><parameters><parameter type="int" name="maxCommands" value="-1"></parameter></parameters><description>

Constructor.

<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.

</description></function></member>
<member class="wxCommandProcessor" name="~wxCommandProcessor"><function type="" name="~wxCommandProcessor"><description>

Destructor.

</description></function></member>
<member class="wxCommandProcessor" name="CanUndo"><function type="virtual bool" name="CanUndo"><description>

Returns true if the currently-active command can be undone, false otherwise.

</description></function></member>
<member class="wxCommandProcessor" name="ClearCommands"><function type="virtual void" name="ClearCommands"><description>

Deletes all the commands in the list and sets the current command pointer to NULL.

</description></function></member>
<member class="wxCommandProcessor" name="Redo"><function type="virtual bool" name="Redo"><description>

Executes (redoes) the current command (the command that has just been undone if any).

</description></function></member>
<member class="wxCommandProcessor" name="GetCommands"><function type="wxList&amp;" name="GetCommands" suffix="const"><description>

Returns the list of commands.

</description></function></member>
<member class="wxCommandProcessor" name="GetMaxCommands"><function type="int" name="GetMaxCommands" suffix="const"><description>

Returns the maximum number of commands that the command processor stores.

</description></function></member>
<member class="wxCommandProcessor" name="GetEditMenu"><function type="wxMenu&#42;" name="GetEditMenu" suffix="const"><description>

Returns the edit menu associated with the command processor.

</description></function></member>
<member class="wxCommandProcessor" name="GetRedoAccelerator"><function type="const wxString&amp;" name="GetRedoAccelerator" suffix="const"><description>

Returns the string that will be appended to the Redo menu item.

</description></function></member>
<member class="wxCommandProcessor" name="GetRedoMenuLabel"><function type="wxString" name="GetRedoMenuLabel" suffix="const"><description>

Returns the string that will be shown for the redo menu item.

</description></function></member>
<member class="wxCommandProcessor" name="GetUndoAccelerator"><function type="const wxString&amp;" name="GetUndoAccelerator" suffix="const"><description>

Returns the string that will be appended to the Undo menu item.

</description></function></member>
<member class="wxCommandProcessor" name="GetUndoMenuLabel"><function type="wxString" name="GetUndoMenuLabel" suffix="const"><description>

Returns the string that will be shown for the undo menu item.

</description></function></member>
<member class="wxCommandProcessor" name="Initialize"><function type="virtual void" name="Initialize"><description>

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).

</description></function></member>
<member class="wxCommandProcessor" name="SetEditMenu"><function type="void" name="SetEditMenu"><parameters><parameter type="wxMenu&#42; " name="menu"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxCommandProcessor" name="SetMenuStrings"><function type="void" name="SetMenuStrings"><description>

Sets the menu labels according to the currently set menu and the current
command state.

</description></function></member>
<member class="wxCommandProcessor" name="SetRedoAccelerator"><function type="void" name="SetRedoAccelerator"><parameters><parameter type="const wxString&amp;" name="accel"></parameter></parameters><description>

Sets the string that will be appended to the Redo menu item.

</description></function></member>
<member class="wxCommandProcessor" name="SetUndoAccelerator"><function type="void" name="SetUndoAccelerator"><parameters><parameter type="const wxString&amp;" name="accel"></parameter></parameters><description>

Sets the string that will be appended to the Undo menu item.

</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>

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.

<i> storeIt</i> indicates whether the successful command should be stored
in the history list.

</description></function></member>
<member class="wxCommandProcessor" name="Undo"><function type="virtual bool" name="Undo"><description>

Undoes the command just executed.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCondition">
<description>
<p class="classdesc">
wxCondition variables correspond to pthread conditions or to Win32 event
objects. They may be used in a multithreaded application to wait until the
given condition becomes true which happens when the condition becomes signaled.</p><p class="classdesc">For example, if a worker thread is doing some long task and another thread has
to wait until it is finished, the latter thread will wait on the condition
object and the worker thread will signal it on exit (this example is not
perfect because in this particular case it would be much better to just 
<ref target="wxthreadwait">Wait()</ref> for the worker thread, but if there are several
worker threads it already makes much more sense).</p><p class="classdesc">Note that a call to <ref target="wxconditionsignal">Signal()</ref> may happen before the
other thread calls <ref target="wxconditionwait">Wait()</ref> and, just as with the
pthread conditions, the signal is then lost and so if you want to be sure that
you don't miss it you must keep the mutex associated with the condition
initially locked and lock it again before calling 
<ref target="wxconditionsignal">Signal()</ref>. Of course, this means that this call is
going to block until <ref target="wxconditionwait">Wait()</ref> is called by another
thread.</p>
</description>
<category>Threading classes</category>
<shortdesc>Condition class</shortdesc>
<example>

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:

<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>

Of course, here it would be much better to simply use a joinable thread and
call <ref target="wxthreadwait">wxThread::Wait</ref> on it, but this example does
illustrate the importance of properly locking the mutex when using
wxCondition.

</example>
<parents>


</parents>
<includes>
<header name="wx/thread.h"/></includes>
<constants>

The following return codes are returned by wxCondition member functions:

<pre>
enum wxCondError
{
    wxCOND_NO_ERROR = 0,    // successful completion
    wxCOND_INVALID,         // object hasn't been initialized successfully
    wxCOND_TIMEOUT,         // WaitTimeout() has timed out
    wxCOND_MISC_ERROR       // some other error
};
</pre>

</constants>
<seealso>

<ref target="wxthread">wxThread</ref><ref target="wxmutex">wxMutex</ref>

</seealso>
<members>
<member class="wxCondition" name="wxCondition"><function type="" name="wxCondition"><parameters><parameter type="wxMutex&amp; " name="mutex"></parameter></parameters><description>

Default and only constructor. The <i> mutex</i> must be locked by the caller
before calling <ref target="wxconditionwait">Wait</ref> function.

Use <ref target="wxconditionisok">IsOk</ref> to check if the object was successfully
initialized.

</description></function></member>
<member class="wxCondition" name="~wxCondition"><function type="" name="~wxCondition"><description>

Destroys the wxCondition object. The destructor is not virtual so this class
should not be used polymorphically.

</description></function></member>
<member class="wxCondition" name="Broadcast"><function type="void" name="Broadcast"><seealso>

<ref target="wxconditionsignal">wxCondition::Signal</ref>

</seealso><description>

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.

</description></function></member>
<member class="wxCondition" name="IsOk"><function type="bool" name="IsOk" suffix="const"><description>

Returns <tt> true</tt> if the object had been initialized successfully, <tt> false</tt> 
if an error occured.

</description></function></member>
<member class="wxCondition" name="Signal"><function type="void" name="Signal"><seealso>

<ref target="wxconditionbroadcast">wxCondition::Broadcast</ref>

</seealso><description>

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.

Note that this method may be called whether the mutex associated with this
condition is locked or not.

</description></function></member>
<member class="wxCondition" name="Wait"><function type="wxCondError" name="Wait"><seealso>

<ref target="wxconditionwaittimeout">WaitTimeout</ref>


</seealso><returnvalue>

Returns <tt> wxCOND_NO_ERROR</tt> on success, another value if an error occured.

</returnvalue><description>

Waits until the condition is signalled.

This method atomically releases the lock on the mutex associated with this
condition (this is why it must be locked prior to calling Wait) and puts the
thread to sleep until <ref target="wxconditionsignal">Signal</ref> or 
<ref target="wxconditionbroadcast">Broadcast</ref> is called.

Note that even if <ref target="wxconditionsignal">Signal</ref> had been called before
Wait without waking up any thread, the thread would still wait for another one
and so it is important to ensure that the condition will be signalled after
Wait or the thread may sleep forever.

</description></function></member>
<member class="wxCondition" name="WaitTimeout"><function type="wxCondError" name="Wait"><parameters><parameter type="unsigned long" name=" 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>

Waits until the condition is signalled or the timeout has elapsed.

This method is identical to <ref target="wxconditionwait">Wait</ref> except that it
returns, with the return code of <tt> wxCOND_TIMEOUT</tt> as soon as the given
timeout expires.





</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxConfig">
<description>(TODO: description)</description>
<category>Miscellaneous</category>
<shortdesc>Classes for configuration reading/writing (using either INI files or registry)</shortdesc>
<supported>
</supported>
</class><class name="wxConnection">
<description>
<p class="classdesc">
A wxConnection object represents the connection between a client
and a server. It is created by making a connection using a
<ref target="wxclient">wxClient</ref> object, or by the acceptance of a
connection by a <ref target="wxserver">wxServer</ref> object. The
bulk of a DDE-like (Dynamic Data Exchange) conversation is
controlled by calling members in a <b>{ wxConnection}</b> object or
by overriding its members. The actual DDE-based implementation
using wxDDEConnection is available on Windows only, but a
platform-independent, socket-based version of this API is
available using wxTCPConnection, which has the same API.</p><p class="classdesc">An application should normally derive a new connection class from
wxConnection, in order to override the communication event
handlers to do something interesting.</p>
</description>
<category>Miscellaneous</category>
<parents><ref type="help" target="wxConnectionBase">wxConnectionBase</ref><ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/ipc.h"/></includes>
<types>

<ref target="wxIPCFormat"/>wxIPCFormat is defined as follows:

<pre>
enum wxIPCFormat
{
  wxIPC_INVALID =          0,
  wxIPC_TEXT =             1,  /&#42; CF_TEXT &#42;/
  wxIPC_BITMAP =           2,  /&#42; CF_BITMAP &#42;/
  wxIPC_METAFILE =         3,  /&#42; CF_METAFILEPICT &#42;/
  wxIPC_SYLK =             4,
  wxIPC_DIF =              5,
  wxIPC_TIFF =             6,
  wxIPC_OEMTEXT =          7,  /&#42; CF_OEMTEXT &#42;/
  wxIPC_DIB =              8,  /&#42; CF_DIB &#42;/
  wxIPC_PALETTE =          9,
  wxIPC_PENDATA =          10,
  wxIPC_RIFF =             11,
  wxIPC_WAVE =             12,
  wxIPC_UNICODETEXT =      13,
  wxIPC_ENHMETAFILE =      14,
  wxIPC_FILENAME =         15, /&#42; CF_HDROP &#42;/
  wxIPC_LOCALE =           16,
  wxIPC_PRIVATE =          20
};
</pre>

</types>
<seealso>

<ref target="wxclient">wxClient</ref><ref target="wxserver">wxServer</ref>,
<ref target="ipcoverview">Interprocess communications overview</ref>

</seealso>
<members>
<member class="wxConnection" name="wxConnection"><function type="" name="wxConnection"><description>

</description></function>
<function type="" name="wxConnection"><parameters><parameter type="char&#42; " name="buffer"></parameter><parameter type="int" name=" size"></parameter></parameters><description>

Constructs a connection object. If no user-defined connection
object is to be derived from wxConnection, then the constructor
should not be called directly, since the default connection
object will be provided on requesting (or accepting) a
connection. However, if the user defines his or her own derived
connection object, the <ref target="wxserveronacceptconnection">wxServer::OnAcceptConnection</ref>
and/or <ref target="wxclientonmakeconnection">wxClient::OnMakeConnection</ref> 
members should be replaced by functions which construct the new
connection object.

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.

</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>

Called by the server application to advise the client of a change
in the data associated with the given item. Causes the client
connection's <ref target="wxconnectiononadvise">wxConnection::OnAdvise</ref> member
to be called. Returns true if successful.

</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>

Called by the client application to execute a command on the
server. Can also be used to transfer arbitrary data to the server
(similar to <ref target="wxconnectionpoke">wxConnection::Poke</ref> in
that respect). Causes the server connection's <ref target="wxconnectiononexecute">wxConnection::OnExecute</ref> 
member to be called. Returns true if successful.

</description></function></member>
<member class="wxConnection" name="Disconnect"><function type="bool" name="Disconnect"><description>

Called by the client or server application to disconnect from the
other program; it causes the <ref target="wxconnectionondisconnect">wxConnection::OnDisconnect</ref> 
message to be sent to the corresponding connection object in the
other program. Returns true if successful or already disconnected.
The application that calls <b>{ Disconnect}</b> must explicitly delete
its side of the connection.

</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>

Message sent to the client application when the server notifies
it of a change in the data associated with the given item, using
<ref target="wxconnectionadvise">Advise</ref>.

</description></function></member>
<member class="wxConnection" name="OnDisconnect"><function type="virtual bool" name="OnDisconnect"><description>

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.

</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>

Message sent to the server application when the client notifies
it to execute the given data, using <ref target="wxconnectionexecute">Execute</ref>.
Note that there is no item associated with this message.

</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>

Message sent to the server application when the client notifies it to
accept the given data.

</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>

Message sent to the server application when the client calls 
<ref target="wxconnectionrequest">wxConnection::Request</ref>. The
server's <ref target="wxconnectiononrequest">OnRequest</ref> method
should respond by returning a character string, or NULL to
indicate no data, and setting &#42;size. The character string must of
course persist after the call returns.

</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>

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.

</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>

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.

</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>

Called by the client application to poke data into the server.
Can be used to transfer arbitrary data to the server. Causes the
server connection's <ref target="wxconnectiononpoke">wxConnection::OnPoke</ref> member to
be called. If size is -1 the size is computed from the string
length of data.

Returns true if successful.

</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>

Called by the client application to request data from the server.
Causes the server connection's <ref target="wxconnectiononrequest">wxConnection::OnRequest</ref> 
member to be called. Size may be NULL or a pointer to a variable
to receive the size of the requested item.

Returns a character string (actually a pointer to the
connection's buffer) if successful, NULL otherwise. This buffer
does not need to be deleted.

</description></function></member>
<member class="wxConnection" name="StartAdvise"><function type="bool" name="StartAdvise"><parameters><parameter type="const wxString&amp; " name="item"></parameter></parameters><description>

Called by the client application to ask if an advise loop can be
started with the server. Causes the server connection's 
<ref target="wxconnectiononstartadvise">wxConnection::OnStartAdvise</ref>
member to be called. Returns true if the server okays it, false
otherwise.

</description></function></member>
<member class="wxConnection" name="StopAdvise"><function type="bool" name="StopAdvise"><parameters><parameter type="const wxString&amp; " name="item"></parameter></parameters><description>

Called by the client application to ask if an advise loop can be
stopped. Causes the server connection's <ref target="wxconnectiononstopadvise">wxConnection::OnStopAdvise</ref> 
member to be called. Returns true if the server okays it, false
otherwise.

</description></function></member></members>
<supported>
</supported>
</class>
<class name="wxContextHelp">
<description>
<p class="classdesc">
This class changes the cursor to a query and puts the application into a 'context-sensitive help mode'.
When the user left-clicks on a window within the specified window, a wxEVT_HELP event is
sent to that control, and the application may respond to it by popping up some help.</p><p class="classdesc">For example:</p><p class="classdesc"><pre>
  wxContextHelp contextHelp(myWindow);
</pre></p><p class="classdesc">There are a couple of ways to invoke this behaviour implicitly:</p><p class="classdesc"><ul><li> Use the wxDIALOG_EX_CONTEXTHELP style for a dialog (Windows only). This will put a question mark
in the titlebar, and Windows will put the application into context-sensitive help mode automatically,
with further programming.
</li>
<li> Create a <ref target="wxcontexthelpbutton">wxContextHelpButton</ref>, whose predefined behaviour is to create a context help object.
Normally you will write your application so that this button is only added to a dialog for non-Windows platforms
(use wxDIALOG_EX_CONTEXTHELP on Windows).
</li></ul></p>
</description>
<category>Online help</category>
<shortdesc>Class to put application into context-sensitive help mode</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/cshelp.h"/></includes>
<seealso>

<ref target="wxhelpevent">wxHelpEvent</ref>
<ref target="wxhelpcontroller">wxHelpController</ref>
<ref target="wxcontexthelpbutton">wxContextHelpButton</ref>

</seealso>
<members>
<member class="wxContextHelp" name="wxContextHelp"><function type="" name="wxContextHelp"><parameters><parameter type="wxWindow&#42;" name="window" value="NULL"></parameter><parameter type="bool" name="doNow" value="true"></parameter></parameters><description>

Constructs a context help object, calling <ref target="wxcontexthelpbegincontexthelp">BeginContextHelp</ref> if
<i> doNow</i> is true (the default).

If <i> window</i> is NULL, the top window is used.

</description></function></member>
<member class="wxContextHelp" name="~wxContextHelp"><function type="" name="~wxContextHelp"><description>

Destroys the context help object.

</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>

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.

Returns true if the application was successfully put into context-sensitive help mode.
This function only returns when the event loop has finished.

</description></function></member>
<member class="wxContextHelp" name="EndContextHelp"><function type="bool" name="EndContextHelp"><description>

Ends context-sensitive help mode. Not normally called by the application.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
Instances of this class may be used to add a question mark button that when pressed, puts the
application into context-help mode. It does this by creating a <ref target="wxcontexthelp">wxContextHelp</ref> object which itself
generates a wxEVT_HELP event when the user clicks on a window.</p><p class="classdesc">On Windows, you may add a question-mark icon to a dialog by use of the wxDIALOG_EX_CONTEXTHELP extra style, but
on other platforms you will have to add a button explicitly, usually next to OK, Cancel or similar buttons.</p>
</description>
<category>Online help</category>
<shortdesc>Button class for putting application into context-sensitive help mode</shortdesc>
<parents>
<ref type="help" target="wxBitmapButton">wxBitmapButton</ref>
<ref type="help" target="wxButton">wxButton</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/cshelp.h"/></includes>
<seealso>

<ref target="wxbitmapbutton">wxBitmapButton</ref><ref target="wxcontexthelp">wxContextHelp</ref>

</seealso>
<members>
<member class="wxContextHelpButton" name="wxContextHelpButton"><function type="" name="wxContextHelpButton"><description>

Default constructor.

</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>

Normally you need pass only the parent window to the constructor, and use the defaults for the remaining parameters.

</remarks><description>

Constructor, creating and showing a context help button.













</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxControl">
<description>
<p class="classdesc">
This is the base class for a control or ``widget''.</p><p class="classdesc">A control is generally a small window which processes user input and/or
displays one or more item of data.</p>
</description>
<category>Controls</category>
<shortdesc>The base class for controls</shortdesc>
<parents>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/control.h"/></includes>
<seealso>

<ref target="wxvalidator">wxValidator</ref>

</seealso>
<members>
<member class="wxControl" name="Command"><function type="void" name="Command"><parameters><parameter type="wxCommandEvent&amp; " name="event"></parameter></parameters><description>

Simulates the effect of the user issuing a command to the item. See <ref target="wxcommandevent">wxCommandEvent</ref>.


</description></function></member>
<member class="wxControl" name="GetLabel"><function type="wxString&amp;" name="GetLabel"><description>

Returns the control's text.


</description></function></member>
<member class="wxControl" name="SetLabel"><function type="void" name="SetLabel"><parameters><parameter type="const wxString&amp; " name="label"></parameter></parameters><description>

Sets the item's text.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxControlWithItems">
<description>
<p class="classdesc">
This class is an abstract base class for some wxWidgets controls which contain
several items, such as <ref target="wxlistbox">wxListBox</ref> and 
<ref target="wxchecklistbox">wxCheckListBox</ref> derived from it, 
<ref target="wxchoice">wxChoice</ref> and <ref target="wxcombobox">wxComboBox</ref>.</p><p class="classdesc">It defines the methods for accessing the controls items and although each of
the derived classes implements them differently, they still all conform to the
same interface.</p><p class="classdesc">The items in a wxControlWithItems have (non empty) string labels and,
optionally, client data associated with them. Client data may be of two
different kinds: either simple untyped (<tt> void &#42;</tt>) pointers which are simply
stored by the control but not used in any way by it, or typed pointers
(<tt> wxClientData &#42;</tt>) which are owned by the control meaning that the typed
client data (and only it) will be deleted when an item is 
<ref target="wxcontrolwithitemsdelete">deleted</ref> or the entire control is 
<ref target="wxcontrolwithitemsclear">cleared</ref> (which also happens when it is
destroyed). Finally note that in the same control all items must have client
data of the same type (typed or untyped), if any. This type is determined by
the first call to <ref target="wxcontrolwithitemsappend">Append</ref> (the version with
client data pointer) or <ref target="wxcontrolwithitemssetclientdata">SetClientData</ref>.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/ctrlsub.h" comment="but usually never included directly"/></includes>
<members>
<member class="wxControlWithItems" name="Append"><function type="int" name="Append"><parameters><parameter type="const wxString&amp; " name=" item"></parameter></parameters><description>

Adds the item to the end of the list box.

</description></function>
<function type="int" name="Append"><parameters><parameter type="const wxString&amp; " name=" item"></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"></parameter><parameter type="wxClientData &#42;" name="clientData">Client data to associate with the item.</parameter></parameters><description>

Adds the item to the end of the list box, associating the given, typed or
untyped, client data pointer with the item.

</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>

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.







</description></function></member>
<member class="wxControlWithItems" name="Clear"><function type="void" name="Clear"><description>

Removes all items from the control.

<i> Clear()</i> also deletes the client data of the existing items if it is owned
by the control.

</description></function></member>
<member class="wxControlWithItems" name="Delete"><function type="void" name="Delete"><parameters><parameter type="int" name=" n"></parameter></parameters><seealso>

<ref target="wxcontrolwithitemsclear">Clear</ref>

</seealso><description>

Deletes an item from the control. The client data associated with the item
will be also deleted if it is owned by the control.

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.





</description></function></member>
<member class="wxControlWithItems" name="FindString"><function type="int" name="FindString"><parameters><parameter type="const wxString&amp; " name="string">String to find.</parameter></parameters><returnvalue>

The zero-based position of the item, or <tt> wxNOT_FOUND</tt> if the string was
not found.


</returnvalue><description>

Finds an item whose label matches the given string.





</description></function></member>
<member class="wxControlWithItems" name="GetClientData"><function type="void &#42;" name="GetClientData" suffix="const"><parameters><parameter type="int" name=" n"></parameter></parameters><returnvalue>

A pointer to the client data, or <tt> NULL</tt> if not present.


</returnvalue><description>

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).





</description></function></member>
<member class="wxControlWithItems" name="GetClientObject"><function type="wxClientData &#42;" name="GetClientObject" suffix="const"><parameters><parameter type="int" name=" n"></parameter></parameters><returnvalue>

A pointer to the client data, or <tt> NULL</tt> if not present.


</returnvalue><description>

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).





</description></function></member>
<member class="wxControlWithItems" name="GetCount"><function type="int" name="GetCount" suffix="const"><seealso>

<ref target="wxcontrolwithitemsisempty">IsEmpty</ref>


</seealso><description>

Returns the number of items in the control.

</description></function></member>
<member class="wxControlWithItems" name="GetSelection"><function type="int" name="GetSelection" suffix="const"><seealso>

<ref target="wxcontrolwithitemssetselection">SetSelection</ref>,
<ref target="wxcontrolwithitemsgetstringselection">GetStringSelection</ref>


</seealso><remarks>

This method can be used with single selection list boxes only, you should use 
<ref target="wxlistboxgetselections">wxListBox::GetSelections</ref> for the list boxes
with <tt> wxLB_MULTIPLE</tt> style.

</remarks><returnvalue>

The position of the current selection.

</returnvalue><description>

Returns the index of the selected item or <tt> wxNOT_FOUND</tt> if no item is
selected.

</description></function></member>
<member class="wxControlWithItems" name="GetString"><function type="wxString" name="GetString" suffix="const"><parameters><parameter type="int" name=" n"></parameter></parameters><returnvalue>

The label of the item or an empty string if the position was invalid.


</returnvalue><description>

Returns the label of the item with the given index.





</description></function></member>
<member class="wxControlWithItems" name="GetStringSelection"><function type="wxString" name="GetStringSelection" suffix="const"><seealso>

<ref target="wxcontrolwithitemsgetselection">GetSelection</ref>


</seealso><description>

Returns the label of the selected item or an empty string if no item is
selected.

</description></function></member>
<member class="wxControlWithItems" name="Insert"><function type="int" name="Insert"><parameters><parameter type="const wxString&amp; " name=" item"></parameter><parameter type="int " name="pos">Position to insert item before, zero based.</parameter></parameters><description>

Inserts the item into the list before pos.
Not valid for <tt> wxLB_SORT</tt> or <tt> wxCB_SORT</tt> styles, use Append instead.

</description></function>
<function type="int" name="Insert"><parameters><parameter type="const wxString&amp; " name=" item"></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"></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>

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.









</description></function></member>
<member class="wxControlWithItems" name="IsEmpty"><function type="bool" name="IsEmpty" suffix="const"><seealso>

<ref target="wxcontrolwithitemsgetcount">GetCount</ref>


</seealso><description>

Returns <tt> true</tt> if the control is empty or <tt> false</tt> if it has some items.

</description></function></member>
<member class="wxControlWithItems" name="Number"><function type="int" name="Number" suffix="const"><description>

<b>{ Obsolescence note:}</b> This method is obsolete and was replaced with
<ref target="wxcontrolwithitemsgetcount">GetCount</ref>, please use the new method in
the new code. This method is only available if wxWidgets was compiled with 
<tt> WXWIN_COMPATIBILITY_2_2</tt> defined and will disappear completely in
future versions.


</description></function></member>
<member class="wxControlWithItems" name="SetClientData"><function type="void" name="SetClientData"><parameters><parameter type="int" name=" n"></parameter><parameter type="void &#42;" name="data">The client data to associate with the item.</parameter></parameters><description>

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.








</description></function></member>
<member class="wxControlWithItems" name="SetClientObject"><function type="void" name="SetClientObject"><parameters><parameter type="int" name=" n"></parameter><parameter type="wxClientData &#42;" name="data">The client data to associate with the item.</parameter></parameters><description>

Associates the given typed client data pointer with the given item: the 
<i> data</i> object will be deleted when the item is deleted (either explicitly
by using <ref target="wxcontrolwithitemsdelete">Deletes</ref> or implicitly when the
control itself is destroyed).

Note that it is an error to call this function if any untyped client data
pointers had been associated with the control items before.








</description></function></member>
<member class="wxControlWithItems" name="SetSelection"><function type="void" name="SetSelection"><parameters><parameter type="int" name=" n"></parameter></parameters><seealso>

<ref target="wxcontrolwithitemssetstring">SetString</ref>,
<ref target="wxcontrolwithitemssetstringselection">SetStringSelection</ref>


</seealso><description>

Sets the selection to the given item <i>n</i> or removes the selection entirely
if <i>n</i> $==$ <tt> wxNOT_FOUND</tt>.

Note that this does not cause any command events to be emitted.





</description></function></member>
<member class="wxControlWithItems" name="SetString"><function type="void" name="SetString"><parameters><parameter type="int" name=" n"></parameter><parameter type="const wxString&amp; " name=" string"></parameter></parameters><description>

Sets the label for the given item.








</description></function></member>
<member class="wxControlWithItems" name="SetStringSelection"><function type="void" name="SetStringSelection"><parameters><parameter type="const wxString&amp; " name=" string"></parameter></parameters><seealso>

<ref target="wxcontrolwithitemssetselection">SetSelection</ref>


</seealso><description>

Selects the item with the specified string in the control. This doesn't cause
any command events being emitted.





</description></function></member></members>
<supported>
</supported>
</class><class name="wxCountingOutputStream">
<description>
<p class="classdesc">
wxCountingOutputStream is a specialized output stream which does not write any data anyway,
instead it counts how many bytes would get written if this were a normal stream. This
can sometimes be useful or required if some data gets serialized to a stream or compressed
by using stream compression and thus the final size of the stream cannot be known other
than pretending to write the stream. One case where the resulting size would have to be
known is if the data has to be written to a piece of memory and the memory has to be
allocated before writing to it (which is probably always the case when writing to a 
memory stream).</p>
</description>
<category>Stream classes</category>
<shortdesc>Stream class for querying what size a stream would have.</shortdesc>
<parents>
<ref type="help" target="wxOutputStream">wxOutputStream</ref>
<ref type="help" target="wxStreamBase">wxStreamBase</ref>

</parents>
<includes>
<header name="wx/stream.h"/></includes>
<members>
<member class="wxCountingOutputStream" name="wxCountingOutputStream"><function type="" name="wxCountingOutputStream"><description>

Creates a wxCountingOutputStream object.

</description></function></member>
<member class="wxCountingOutputStream" name="~wxCountingOutputStream"><function type="" name="~wxCountingOutputStream"><description>

Destructor.

</description></function></member>
<member class="wxCountingOutputStream" name="GetSize"><function type="size_t" name="GetSize" suffix="const"><description>

Returns the current size of the stream.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCriticalSection">
<description>
<p class="classdesc">
A critical section object is used for exactly the same purpose as 
<ref target="wxmutex">mutexes</ref>. The only difference is that under Windows platform
critical sections are only visible inside one process, while mutexes may be
shared between processes, so using critical sections is slightly more
efficient. The terminology is also slightly different: mutex may be locked (or
acquired) and unlocked (or released) while critical section is entered and left
by the program.</p><p class="classdesc">Finally, you should try to use 
<ref target="wxcriticalsectionlocker">wxCriticalSectionLocker</ref> class whenever
possible instead of directly using wxCriticalSection for the same reasons 
<ref target="wxmutexlocker">wxMutexLocker</ref> is preferrable to 
<ref target="wxmutex">wxMutex</ref> - please see wxMutex for an example.</p>
</description>
<category>Threading classes</category>
<shortdesc>Critical section class</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/thread.h"/></includes>
<seealso>

<ref target="wxthread">wxThread</ref><ref target="wxcondition">wxCondition</ref>
<ref target="wxcriticalsectionlocker">wxCriticalSectionLocker</ref>

</seealso>
<members>
<member class="wxCriticalSection" name="wxCriticalSection"><function type="" name="wxCriticalSection"><description>

Default constructor initializes critical section object.

</description></function></member>
<member class="wxCriticalSection" name="~wxCriticalSection"><function type="" name="~wxCriticalSection"><description>

Destructor frees the resources.

</description></function></member>
<member class="wxCriticalSection" name="Enter"><function type="void " name="Enter"><description>

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.

</description></function></member>
<member class="wxCriticalSection" name="Leave"><function type="void " name="Leave"><description>

Leave the critical section allowing other threads use the global data protected
by it. There is no error return for this function.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCriticalSectionLocker">
<description>
<p class="classdesc">
This is a small helper class to be used with <ref target="wxcriticalsection">wxCriticalSection</ref> 
objects. A wxCriticalSectionLocker enters the critical section in the
constructor and leaves it in the destructor making it much more difficult to
forget to leave a critical section (which, in general, will lead to serious
and difficult to debug problems).</p><p class="classdesc">Example of using it:</p><p class="classdesc"><pre>
void Set Foo()
{
    // gs_critSect is some (global) critical section guarding access to the
    // object &quot;foo&quot;
    wxCriticalSectionLocker locker(gs_critSect);

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

        return;
    }

    // do something else
    ...

    return;
}
</pre></p><p class="classdesc">Without wxCriticalSectionLocker, you would need to remember to manually leave
the critical section before each <tt> return</tt>.</p>
</description>
<category>Threading classes</category>
<shortdesc>Critical section locker utility class</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/thread.h"/></includes>
<seealso>

<ref target="wxcriticalsection">wxCriticalSection</ref>
<ref target="wxmutexlocker">wxMutexLocker</ref>

</seealso>
<members>
<member class="wxCriticalSectionLocker" name="wxCriticalSectionLocker"><function type="" name="wxCriticalSectionLocker"><parameters><parameter type="wxCriticalSection&amp; " name="criticalsection"></parameter></parameters><description>

Constructs a wxCriticalSectionLocker object associated with given
<i> criticalsection</i> and enters it.

</description></function></member>
<member class="wxCriticalSectionLocker" name="~wxCriticalSectionLocker"><function type="" name="~wxCriticalSectionLocker"><description>

Destructor leaves the critical section.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCursor">
<description>
<p class="classdesc">
A cursor is a small bitmap usually used for denoting where the mouse
pointer is, with a picture that might indicate the interpretation of a
mouse click. As with icons, cursors in X and MS Windows are created
in a different manner. Therefore, separate cursors will be created for the
different environments.  Platform-specific methods for creating a <b>{
wxCursor}</b> object are catered for, and this is an occasion where
conditional compilation will probably be required (see <ref target="wxicon">wxIcon</ref> for
an example).</p><p class="classdesc">A single cursor object may be used in many windows (any subwindow type).
The wxWidgets convention is to set the cursor for a window, as in X,
rather than to set it globally as in MS Windows, although a
global <ref target="wxsetcursor">::wxSetCursor</ref> is also available for MS Windows use.</p>
</description>
<category>Graphics device interface</category>
<shortdesc>A small, transparent bitmap representing the cursor</shortdesc>
<parents>
<ref type="help" target="wxBitmap">wxBitmap</ref>
<ref type="help" target="wxGDIObject">wxGDIObject</ref>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/cursor.h"/></includes>
<predefs>

Objects:

<b>{ wxNullCursor}</b>

Pointers:

<b>{ wxSTANDARD_CURSOR<br/>
wxHOURGLASS_CURSOR<br/>
wxCROSS_CURSOR}</b>

</predefs>
<seealso>

<ref target="wxbitmap">wxBitmap</ref><ref target="wxicon">wxIcon</ref><ref target="wxwindowsetcursor">wxWindow::SetCursor</ref>,
<ref target="wxsetcursor">::wxSetCursor</ref>

</seealso>
<members>
<member class="wxCursor" name="wxCursor"><function type="" name="wxCursor"><description>

Default constructor.

</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"></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>

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.

If either <i> hotSpotX</i> or <i> hotSpotY</i> is -1, the hotspot will be the centre of the cursor image (Motif only).

</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>

Constructs a cursor by passing a string resource name or filename.

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.

<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.

</description></function>
<function type="" name="wxCursor"><parameters><parameter type="int" name=" cursorId"></parameter></parameters><description>

Constructs a cursor using a cursor identifier.

</description></function>
<function type="" name="wxCursor"><parameters><parameter type="const wxImage&amp;" name=" image"></parameter></parameters><description>

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.

In MSW the foreground will be white and the background black. The cursor is resized to 32x32
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 the cursor is resized to 16x16 and currently only shown as black/white (mask respected).

</description></function>
<function type="" name="wxCursor"><parameters><parameter type="const wxCursor&amp;" name=" cursor"></parameter></parameters><example>

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+.

<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>

Copy constructor. This uses reference counting so is a cheap operation.

























</description></function></member>
<member class="wxCursor" name="~wxCursor"><function type="" name="~wxCursor"><description>

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.

</description></function></member>
<member class="wxCursor" name="Ok"><function type="bool" name="Ok" suffix="const"><description>

Returns true if cursor data is present.

</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>

Assignment operator, using reference counting. Returns a reference
to `this'.

</description></function></member>
<member class="wxCursor" name="operator $==$"><function type="bool" name="operator $==$"><parameters><parameter type="const wxCursor&amp; " name="cursor"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxCursor" name="operator $!=$"><function type="bool" name="operator $!=$"><parameters><parameter type="const wxCursor&amp; " name="cursor"></parameter></parameters><description>

Inequality operator. Two cursors are not equal if they contain pointers
to different underlying cursor data. It does not compare each attribute.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="N"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxCustomDataObject">
<description>
<p class="classdesc">
wxCustomDataObject is a specialization of 
<ref target="wxdataobjectsimple">wxDataObjectSimple</ref> for some
application-specific data in arbitrary (either custom or one of the standard
ones). The only restriction is that it is supposed that this data can be
copied bitwise (i.e. with <tt> memcpy()</tt>), so it would be a bad idea to make
it contain a C++ object (though C struct is fine).</p><p class="classdesc">By default, wxCustomDataObject stores the data inside in a buffer. To put the
data into the buffer you may use either 
<ref target="wxcustomdataobjectsetdata">SetData</ref> or 
<ref target="wxcustomdataobjecttakedata">TakeData</ref> depending on whether you want
the object to make a copy of data or not.</p><p class="classdesc">If you already store the data in another place, it may be more convenient and
efficient to provide the data on-demand which is possible too if you override
the virtual functions mentioned below.</p>
</description>
<category>Drag and drop and clipboard classes</category>
<shortdesc>Custom data object class</shortdesc>
<parents>
<ref type="help" target="wxDataObjectSimple">wxDataObjectSimple</ref>
<ref type="help" target="wxDataObject">wxDataObject</ref>

</parents>
<includes>
<header name="wx/dataobj.h"/></includes>
<override>

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

</override>
<seealso>

<ref target="wxdataobject">wxDataObject</ref>

</seealso>
<members>
<member class="wxCustomDataObject" name="wxCustomDataObject"><function type="" name="wxCustomDataObject"><parameters><parameter type="const wxDataFormat&amp; " name="format" value="wxFormatInvalid"></parameter></parameters><description>

The constructor accepts a <i> format</i> argument which specifies the (single)
format supported by this object. If it isn't set here, 
<ref target="wxdataobjectsimplesetformat">SetFormat</ref> should be used.

</description></function></member>
<member class="wxCustomDataObject" name="~wxCustomDataObject"><function type="" name="~wxCustomDataObject"><description>

The destructor will free the data hold by the object. Notice that although it
calls a virtual <ref target="wxcustomdataobjectfree">Free()</ref> function, the base
class version will always be called (C++ doesn't allow calling virtual
functions from constructors or destructors), so if you override <tt> Free()</tt>, you
should override the destructor in your class as well (which would probably
just call the derived class' version of <tt> Free()</tt>).

</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>

This function is called to allocate <i> size</i> bytes of memory from SetData().
The default version just uses the operator new.

</description></function></member>
<member class="wxCustomDataObject" name="Free"><function type="virtual void" name="Free"><description>

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.

</description></function></member>
<member class="wxCustomDataObject" name="GetSize"><function type="virtual size_t" name="GetSize" suffix="const"><description>

Returns the data size in bytes.

</description></function></member>
<member class="wxCustomDataObject" name="GetData"><function type="virtual void &#42;" name="GetData" suffix="const"><description>

Returns a pointer to the data.

</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 " name="&#42;data"></parameter></parameters><description>

Set the data. The data object will make an internal copy.



</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 " name="&#42;data"></parameter></parameters><description>

Like <ref target="wxcustomdataobjectsetdata">SetData</ref>, but doesn't copy the data -
instead the object takes ownership of the pointer.



</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
A wxDC is a <i> device context</i> onto which graphics and text can be drawn.
It is intended to represent a number of output devices in a generic way,
so a window can have a device context associated with it, and a printer also has a device context.
In this way, the same piece of code may write to a number of different devices,
if the device context is used as a parameter.</p><p class="classdesc">Derived types of wxDC have documentation for specific features
only, so refer to this section for most device context information.</p><p class="classdesc">Please note that in addition to the versions of the methods documented here,
there are also versions which accept single <tt> wxPoint</tt> parameter instead of
two <tt> wxCoord</tt> ones or <tt> wxPoint</tt> and <tt> wxSize</tt> instead of four of
them.</p>
</description>
<category>Device contexts</category>
<shortdesc>The device context base class</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/dc.h"/></includes>
<seealso>

<ref target="dcoverview">Overview</ref>

</seealso>
<members>
<member class="wxDC" name="wxDC"><function type="" name="wxDC"><description>

Constructor.


</description></function></member>
<member class="wxDC" name="~wxDC"><function type="" name="~wxDC"><description>

Destructor.


</description></function></member>
<member class="wxDC" name="BeginDrawing"><function type="void" name="BeginDrawing"><description>

Allows optimization of drawing code under MS Windows. Enclose
drawing primitives between <b>{ BeginDrawing}</b> and <b>{ EndDrawing}</b>
calls.

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.


</description></function></member>
<member class="wxDC" name="Blit"><function type="bool" name="Blit"><parameters><parameter type="wxCoord" name=" xdest"></parameter><parameter type="wxCoord" name=" ydest"></parameter><parameter type="wxCoord" name=" width"></parameter><parameter type="wxCoord" name=" height"></parameter><parameter type="wxDC&#42; " name="source">Source device context.</parameter><parameter type="wxCoord" name=" xsrc"></parameter><parameter type="wxCoord" name=" ysrc"></parameter><parameter type="int" name="logicalFunc" value="wxCOPY">Logical function to use: see <ref target="wxdcsetlogicalfunction">wxDC::SetLogicalFunction</ref>.</parameter><parameter type="bool " name="useMask" value="false">If true, Blit does a transparent blit using the mask that is associated with the bitmap
selected into the source device context. The Windows implementation does the following if MaskBlt cannot be used:

<ol><li> Creates a temporary bitmap and copies the destination area into it.
</li>
<li> Copies the source area into the temporary bitmap using the specified logical function.
</li>
<li> Sets the masked area in the temporary bitmap to BLACK by ANDing the
mask bitmap with the temp bitmap with the foreground colour set to WHITE
and the bg colour set to BLACK.
</li>
<li> Sets the unmasked area in the destination area to BLACK by ANDing the
mask bitmap with the destination area with the foreground colour set to BLACK
and the background colour set to WHITE.
</li>
<li> ORs the temporary bitmap with the destination area.
</li>
<li> Deletes the temporary bitmap.
</li></ol>

This sequence of operations ensures that the source's transparent area need not be black,
and logical functions are supported.

<b>{ Note:}</b> on Windows, blitting with masks can be speeded up considerably by compiling
wxWidgets with the wxUSE_DC_CACHE option enabled. You can also influence whether MaskBlt
or the explicit mask blitting code above is used, by using <ref target="wxsystemoptions">wxSystemOptions</ref> and
setting the <b>{ no-maskblt}</b> option to 1.

</parameter><parameter type="wxCoord" name="xsrcMask" value="-1">Source x position on the mask. If both xsrcMask and ysrcMask are -1, xsrc and ysrc
will be assumed for the mask source position. Currently only implemented on Windows.</parameter><parameter type="wxCoord" name="ysrcMask" value="-1">Source y position on the mask. If both xsrcMask and ysrcMask are -1, xsrc and ysrc
will be assumed for the mask source position. Currently only implemented on Windows.</parameter></parameters><seealso>

<ref target="wxmemorydc">wxMemoryDC</ref><ref target="wxbitmap">wxBitmap</ref><ref target="wxmask">wxMask</ref>

\begin{comment}

</seealso><description></description></function></member>
<member class="wxDC" name="CacheEnabled"><function type="static bool" name="CacheEnabled"><seealso>

<ref target="wxdcenablecache">wxDC::EnableCache</ref><ref target="wxDC::ClearCache">wxDC::ClearCache</ref>
\end{comment}


</seealso><description></description></function></member>
<member class="wxDC" name="CalcBoundingBox"><function type="void" name="CalcBoundingBox"><parameters><parameter type="wxCoord " name="x"></parameter><parameter type="wxCoord " name="y"></parameter></parameters><seealso>

<ref target="wxdcresetboundingbox">ResetBoundingBox</ref>


</seealso><description>

Adds the specified point to the bounding box which can be retrieved with 
<ref target="wxdcminx">MinX</ref>, <ref target="wxdcmaxx">MaxX</ref> and 
<ref target="wxdcminy">MinY</ref>, <ref target="wxdcmaxy">MaxY</ref> functions.

</description></function></member>
<member class="wxDC" name="Clear"><function type="void" name="Clear"><description>

Clears the device context using the current background brush.

\begin{comment}

</description></function></member>
<member class="wxDC" name="ClearCache"><function type="static void" name="ClearCache"><seealso>

<ref target="wxdcenablecache">wxDC::EnableCache</ref><ref target="wxDC::CacheEnabled">wxDC::CacheEnabled</ref>
\end{comment}


</seealso><description></description></function></member>
<member class="wxDC" name="ComputeScaleAndOrigin"><function type="virtual void" name="ComputeScaleAndOrigin"><description>

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.


</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>

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.


</description></function></member>
<member class="wxDC" name="DestroyClippingRegion"><function type="void" name="DestroyClippingRegion"><description>

Destroys the current clipping region so that none of the DC is clipped.
See also <ref target="wxdcsetclippingregion">wxDC::SetClippingRegion</ref>.


</description></function></member>
<member class="wxDC" name="DeviceToLogicalX"><function type="wxCoord" name="DeviceToLogicalX"><parameters><parameter type="wxCoord" name=" x"></parameter></parameters><description>

Convert device X coordinate to logical coordinate, using the current
mapping mode.


</description></function></member>
<member class="wxDC" name="DeviceToLogicalXRel"><function type="wxCoord" name="DeviceToLogicalXRel"><parameters><parameter type="wxCoord" name=" x"></parameter></parameters><description>

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.


</description></function></member>
<member class="wxDC" name="DeviceToLogicalY"><function type="wxCoord" name="DeviceToLogicalY"><parameters><parameter type="wxCoord" name=" y"></parameter></parameters><description>

Converts device Y coordinate to logical coordinate, using the current
mapping mode.


</description></function></member>
<member class="wxDC" name="DeviceToLogicalYRel"><function type="wxCoord" name="DeviceToLogicalYRel"><parameters><parameter type="wxCoord" name=" y"></parameter></parameters><description>

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.


</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>

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.

The arc is drawn in an anticlockwise direction from the start point to the end point.


</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>

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.

When drawing a mono-bitmap, the current text foreground colour will be used to draw the foreground
of the bitmap (all bits set to 1), and the current text background colour to draw the background
(all bits set to 0). See also <ref target="wxdcsettextforeground">SetTextForeground</ref>, 
<ref target="wxdcsettextbackground">SetTextBackground</ref> and <ref target="wxmemorydc">wxMemoryDC</ref>.


</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>

Draws a check mark inside the given rectangle.


</description></function></member>
<member class="wxDC" name="DrawCircle"><function type="void" name="DrawCircle"><parameters><parameter type="wxCoord" name=" x"></parameter><parameter type="wxCoord" name=" y"></parameter><parameter type="wxCoord" name=" radius"></parameter></parameters><description>

</description></function>
<function type="void" name="DrawCircle"><parameters><parameter type="const wxPoint&amp;" name=" pt"></parameter><parameter type="wxCoord" name=" radius"></parameter></parameters><seealso>

<ref target="wxdcdrawellipse">DrawEllipse</ref>


</seealso><description>

Draws a circle with the given centre and radius.

</description></function></member>
<member class="wxDC" name="DrawEllipse"><function type="void" name="DrawEllipse"><parameters><parameter type="wxCoord" name=" x"></parameter><parameter type="wxCoord" name=" y"></parameter><parameter type="wxCoord" name=" width"></parameter><parameter type="wxCoord" name=" height"></parameter></parameters><description>

</description></function>
<function type="void" name="DrawEllipse"><parameters><parameter type="const wxPoint&amp;" name=" pt"></parameter><parameter type="const wxSize&amp;" name=" size"></parameter></parameters><description>

</description></function>
<function type="void" name="DrawEllipse"><parameters><parameter type="const wxRect&amp;" name=" rect"></parameter></parameters><seealso>

<ref target="wxdcdrawcircle">DrawCircle</ref>


</seealso><description>

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.

</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>

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.

<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.

<i> width</i> and <i> height</i> specify the width and height of the rectangle that contains
the ellipse.

<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.


</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>

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.


</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>

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.


</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>

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).


</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>

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.






</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>

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.

The last argument specifies the fill rule: <b>{ wxODDEVEN_RULE}</b> (the
default) or <b>{ wxWINDING_RULE}</b>.

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.

Note that wxWidgets automatically closes the first and last points.






</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>

Draws two or more filled polygons using an array of <i> points</i>, adding the
optional offset coordinates.

Notice that for the platforms providing a native implementation
of this function (Windows and PostScript-based wxDC currently), this is more
efficient than using <ref target="wxdcdrawpolygon">DrawPolygon</ref> in a loop.

<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.

The last argument specifies the fill rule: <b>{ wxODDEVEN_RULE}</b> (the default)
or <b>{ wxWINDING_RULE}</b>.

The current pen is used for drawing the outline, and the current brush for
filling the shape.  Using a transparent brush suppresses filling.

The polygons maybe disjoint or overlapping. Each polygon specified in a call to
<b>{ DrawPolyPolygon}</b> must be closed. Unlike polygons created by the
<ref target="wxdcdrawpolygon">DrawPolygon</ref> member function, the polygons created by
<b>{ DrawPolyPolygon}</b> are not closed automatically.






</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>

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..


</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>

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.


</description></function></member>
<member class="wxDC" name="DrawRotatedText"><function type="void" name="DrawRotatedText"><parameters><parameter type="const wxString&amp; " name="text"></parameter><parameter type="wxCoord" name=" x"></parameter><parameter type="wxCoord" name=" y"></parameter><parameter type="double" name=" angle"></parameter></parameters><seealso>

<ref target="wxdcdrawtext">DrawText</ref>


</seealso><description>

Draws the text rotated by <i> angle</i> degrees.

<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.

</description></function></member>
<member class="wxDC" name="DrawRoundedRectangle"><function type="void" name="DrawRoundedRectangle"><parameters><parameter type="wxCoord" name=" x"></parameter><parameter type="wxCoord" name=" y"></parameter><parameter type="wxCoord" name=" width"></parameter><parameter type="wxCoord" name=" height"></parameter><parameter type="double" name="radius" value="20"></parameter></parameters><description>

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.

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.


</description></function></member>
<member class="wxDC" name="DrawSpline"><function type="void" name="DrawSpline"><parameters><parameter type="wxList &#42;" name="points"></parameter></parameters><description>

Draws a spline between all given control points, using the current
pen.  Doesn't delete the wxList and contents. The spline is drawn
using a series of lines, using an algorithm taken from the X drawing
program `XFIG'.

</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>

Draws a three-point spline using the current pen.






</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>

Draws a text string at the specified point, using the current text font,
and the current text foreground and background colours.

The coordinates refer to the top-left corner of the rectangle bounding
the string. See <ref target="wxdcgettextextent">wxDC::GetTextExtent</ref> for how
to get the dimensions of a text string, which can be used to position the
text more precisely.

<b>{ NB:}</b> under wxGTK the current 
<ref target="wxdcgetlogicalfunction">logical function</ref> is used by this function
but it is ignored by wxMSW. Thus, you should avoid using logical functions
with this function in portable programs.

\begin{comment}

</description></function></member>
<member class="wxDC" name="EnableCache"><function type="static void" name="EnableCache"><parameters><parameter type="bool" name=" enableCache"></parameter></parameters><seealso>

<ref target="wxdccacheenabled">wxDC::CacheEnabled</ref><ref target="wxDC::ClearCache">wxDC::ClearCache</ref>
\end{comment}


</seealso><description></description></function></member>
<member class="wxDC" name="EndDoc"><function type="void" name="EndDoc"><description>

Ends a document (only relevant when outputting to a printer).


</description></function></member>
<member class="wxDC" name="EndDrawing"><function type="void" name="EndDrawing"><description>

Allows optimization of drawing code under MS Windows. Enclose
drawing primitives between <b>{ BeginDrawing}</b> and <b>{ EndDrawing}</b>
calls.


</description></function></member>
<member class="wxDC" name="EndPage"><function type="void" name="EndPage"><description>

Ends a document page (only relevant when outputting to a printer).


</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>

Flood fills the device context starting from the given point, using
the <i> current brush colour</i>, and using a style:

<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>

Returns false if the operation failed.

<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.


</description></function></member>
<member class="wxDC" name="GetBackground"><function type="const wxBrush&amp;" name="GetBackground" suffix="const"><description>

Gets the brush used for painting the background (see <ref target="wxdcsetbackground">wxDC::SetBackground</ref>).


</description></function></member>
<member class="wxDC" name="GetBackgroundMode"><function type="int" name="GetBackgroundMode" suffix="const"><seealso>

<ref target="wxdcsetbackgroundmode">SetBackgroundMode</ref>


</seealso><description>

Returns the current background mode: <tt> wxSOLID</tt> or <tt> wxTRANSPARENT</tt>.

</description></function></member>
<member class="wxDC" name="GetBrush"><function type="const wxBrush&amp;" name="GetBrush" suffix="const"><description>

Gets the current brush (see <ref target="wxdcsetbrush">wxDC::SetBrush</ref>).


</description></function></member>
<member class="wxDC" name="GetCharHeight"><function type="wxCoord" name="GetCharHeight"><description>

Gets the character height of the currently set font.


</description></function></member>
<member class="wxDC" name="GetCharWidth"><function type="wxCoord" name="GetCharWidth"><description>

Gets the average character width of the currently set font.


</description></function></member>
<member class="wxDC" name="GetClippingBox"><function type="void" name="GetClippingBox"><parameters><parameter type="wxCoord" name=" &#42;x"></parameter><parameter type="wxCoord" name=" &#42;y"></parameter><parameter type="wxCoord" name=" &#42;width"></parameter><parameter type="wxCoord" name=" &#42;height"></parameter></parameters><description>

Gets the rectangle surrounding the current clipping region.






</description></function></member>
<member class="wxDC" name="GetFont"><function type="const wxFont&amp;" name="GetFont" suffix="const"><description>

Gets the current font (see <ref target="wxdcsetfont">wxDC::SetFont</ref>).


</description></function></member>
<member class="wxDC" name="GetLogicalFunction"><function type="int" name="GetLogicalFunction"><description>

Gets the current logical function (see <ref target="wxdcsetlogicalfunction">wxDC::SetLogicalFunction</ref>).


</description></function></member>
<member class="wxDC" name="GetMapMode"><function type="int" name="GetMapMode"><description>

Gets the <i> mapping mode</i> for the device context (see <ref target="wxdcsetmapmode">wxDC::SetMapMode</ref>).


</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>

Fills the <i> widths</i> array with the widths from the begining of 
<i> text</i> to the coresponding character of <i> text</i>.  The generic
version simply builds a running total of the widths of each character
using <ref target="wxdcgettextextent">GetTextExtent</ref>, however if the
various platforms have a native API function that is faster or more
accurate than the generic implementaiton then it should be used
instead. 




</description></function></member>
<member class="wxDC" name="GetPen"><function type="const wxPen&amp;" name="GetPen" suffix="const"><description>

Gets the current pen (see <ref target="wxdcsetpen">wxDC::SetPen</ref>).


</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>

Sets <i> colour</i> to the colour at the specified location.
Not available for wxPostScriptDC or wxMetafileDC.





</description></function></member>
<member class="wxDC" name="GetPPI"><function type="wxSize" name="GetPPI" suffix="const"><description>

Returns the resolution of the device in pixels per inch.

</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>

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:

<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>

Returns the horizontal and vertical resolution in millimetres.

</description></function></member>
<member class="wxDC" name="GetTextBackground"><function type="const wxColour&amp;" name="GetTextBackground" suffix="const"><description>

Gets the current text background colour (see <ref target="wxdcsettextbackground">wxDC::SetTextBackground</ref>).


</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>

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).

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.

See also <ref target="wxfont">wxFont</ref>, <ref target="wxdcsetfont">wxDC::SetFont</ref>.






</description></function></member>
<member class="wxDC" name="GetTextForeground"><function type="const wxColour&amp;" name="GetTextForeground" suffix="const"><description>

Gets the current text foreground colour (see <ref target="wxdcsettextforeground">wxDC::SetTextForeground</ref>).


</description></function></member>
<member class="wxDC" name="GetUserScale"><function type="void" name="GetUserScale"><parameters><parameter type="double" name=" &#42;x"></parameter><parameter type="double" name=" &#42;y"></parameter></parameters><description>

Gets the current user scale factor (set by <ref target="wxdcsetuserscale">SetUserScale</ref>).




</description></function></member>
<member class="wxDC" name="LogicalToDeviceX"><function type="wxCoord" name="LogicalToDeviceX"><parameters><parameter type="wxCoord" name=" x"></parameter></parameters><description>

Converts logical X coordinate to device coordinate, using the current
mapping mode.


</description></function></member>
<member class="wxDC" name="LogicalToDeviceXRel"><function type="wxCoord" name="LogicalToDeviceXRel"><parameters><parameter type="wxCoord" name=" x"></parameter></parameters><description>

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.


</description></function></member>
<member class="wxDC" name="LogicalToDeviceY"><function type="wxCoord" name="LogicalToDeviceY"><parameters><parameter type="wxCoord" name=" y"></parameter></parameters><description>

Converts logical Y coordinate to device coordinate, using the current
mapping mode.


</description></function></member>
<member class="wxDC" name="LogicalToDeviceYRel"><function type="wxCoord" name="LogicalToDeviceYRel"><parameters><parameter type="wxCoord" name=" y"></parameter></parameters><description>

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.


</description></function></member>
<member class="wxDC" name="MaxX"><function type="wxCoord" name="MaxX"><description>

Gets the maximum horizontal extent used in drawing commands so far.


</description></function></member>
<member class="wxDC" name="MaxY"><function type="wxCoord" name="MaxY"><description>

Gets the maximum vertical extent used in drawing commands so far.


</description></function></member>
<member class="wxDC" name="MinX"><function type="wxCoord" name="MinX"><description>

Gets the minimum horizontal extent used in drawing commands so far.


</description></function></member>
<member class="wxDC" name="MinY"><function type="wxCoord" name="MinY"><description>

Gets the minimum vertical extent used in drawing commands so far.


</description></function></member>
<member class="wxDC" name="Ok"><function type="bool" name="Ok"><description>

Returns true if the DC is ok to use.


</description></function></member>
<member class="wxDC" name="ResetBoundingBox"><function type="void" name="ResetBoundingBox"><seealso>

<ref target="wxdccalcboundingbox">CalcBoundingBox</ref>


</seealso><description>

Resets the bounding box: after a call to this function, the bounding box
doesn't contain anything.

</description></function></member>
<member class="wxDC" name="SetAxisOrientation"><function type="void" name="SetAxisOrientation"><parameters><parameter type="bool" name=" xLeftRight"></parameter><parameter type="bool" name=" yBottomUp"></parameter></parameters><description>

Sets the x and y axis orientation (i.e., the direction from lowest to
highest values on the axis). The default orientation is the natural
orientation, e.g. x axis from left to right and y axis from bottom up.








</description></function></member>
<member class="wxDC" name="SetBackground"><function type="void" name="SetBackground"><parameters><parameter type="const wxBrush&amp; " name="brush"></parameter></parameters><description>

Sets the current background brush for the DC.


</description></function></member>
<member class="wxDC" name="SetBackgroundMode"><function type="void" name="SetBackgroundMode"><parameters><parameter type="int" name=" mode"></parameter></parameters><description>

<i> mode</i> may be one of wxSOLID and wxTRANSPARENT. This setting determines
whether text will be drawn with a background colour or not.


</description></function></member>
<member class="wxDC" name="SetBrush"><function type="void" name="SetBrush"><parameters><parameter type="const wxBrush&amp; " name="brush"></parameter></parameters><description>

Sets the current brush for the DC.

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.

See also <ref target="wxbrush">wxBrush</ref>.

See also <ref target="wxmemorydc">wxMemoryDC</ref> for the interpretation of colours
when drawing into a monochrome bitmap.

 
</description></function></member>
<member class="wxDC" name="SetClippingRegion"><function type="void" name="SetClippingRegion"><parameters><parameter type="wxCoord" name=" x"></parameter><parameter type="wxCoord" name=" y"></parameter><parameter type="wxCoord" name=" width"></parameter><parameter type="wxCoord" name=" height"></parameter></parameters><description>

</description></function>
<function type="void" name="SetClippingRegion"><parameters><parameter type="const wxPoint&amp; " name="pt"></parameter><parameter type="const wxSize&amp; " name="sz"></parameter></parameters><description>

</description></function>
<function type="void" name="SetClippingRegion"><parameters><parameter type="const wxRect&amp;" name=" rect"></parameter></parameters><description>

</description></function>
<function type="void" name="SetClippingRegion"><parameters><parameter type="const wxRegion&amp;" name=" region"></parameter></parameters><seealso>

<ref target="wxdcdestroyclippingregion">wxDC::DestroyClippingRegion</ref><ref target="wxregion">wxRegion</ref>


</seealso><description></description></function></member>
<member class="wxDC" name="SetDeviceOrigin"><function type="void" name="SetDeviceOrigin"><parameters><parameter type="wxCoord" name=" x"></parameter><parameter type="wxCoord" name=" y"></parameter></parameters><description>

Sets the device origin (i.e., the origin in pixels after scaling has been
applied).

This function may be useful in Windows printing
operations for placing a graphic on a page.


</description></function></member>
<member class="wxDC" name="SetFont"><function type="void" name="SetFont"><parameters><parameter type="const wxFont&amp; " name="font"></parameter></parameters><description>

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.

See also <ref target="wxfont">wxFont</ref>.


</description></function></member>
<member class="wxDC" name="SetLogicalFunction"><function type="void" name="SetLogicalFunction"><parameters><parameter type="int" name=" function"></parameter></parameters><description>

Sets the current logical function for the device context.  This determines how
a source pixel (from a pen or brush colour, or source device context if
using <ref target="wxdcblit">wxDC::Blit</ref>) combines with a destination pixel in the
current device context.

The possible values
and their meaning in terms of source and destination pixel values are
as follows:

<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>

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.


</description></function></member>
<member class="wxDC" name="SetMapMode"><function type="void" name="SetMapMode"><parameters><parameter type="int" name=" int"></parameter></parameters><description>

The <i> mapping mode</i> of the device context defines the unit of
measurement used to convert logical units to device units. Note that
in X, text drawing isn't handled consistently with the mapping mode; a
font is always specified in point size. However, setting the <i>
user scale</i> (see <ref target="wxdcsetuserscale">wxDC::SetUserScale</ref>) scales the text appropriately. In
Windows, scalable TrueType fonts are always used; in X, results depend
on availability of fonts, but usually a reasonable match is found.

The coordinate origin is always at the top left of the screen/printer.

Drawing to a Windows printer device context uses the current mapping mode,
but mapping mode is currently ignored for PostScript output.

The mapping mode can be one of the following:

<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>

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.

See <ref target="wxpalette">wxPalette</ref> for further details. 


</description></function></member>
<member class="wxDC" name="SetPen"><function type="void" name="SetPen"><parameters><parameter type="const wxPen&amp; " name="pen"></parameter></parameters><description>

Sets the current pen for the DC.

If the argument is wxNullPen, the current pen is selected out of the device
context, and the original pen restored.

See also <ref target="wxmemorydc">wxMemoryDC</ref> for the interpretation of colours
when drawing into a monochrome bitmap.


</description></function></member>
<member class="wxDC" name="SetTextBackground"><function type="void" name="SetTextBackground"><parameters><parameter type="const wxColour&amp; " name="colour"></parameter></parameters><description>

Sets the current text background colour for the DC.


</description></function></member>
<member class="wxDC" name="SetTextForeground"><function type="void" name="SetTextForeground"><parameters><parameter type="const wxColour&amp; " name="colour"></parameter></parameters><description>

Sets the current text foreground colour for the DC.

See also <ref target="wxmemorydc">wxMemoryDC</ref> for the interpretation of colours
when drawing into a monochrome bitmap.


</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>

Sets the user scaling factor, useful for applications which require
`zooming'.


</description></function></member>
<member class="wxDC" name="StartDoc"><function type="bool" name="StartDoc"><parameters><parameter type="const wxString&amp; " name="message"></parameter></parameters><description>

Starts a document (only relevant when outputting to a printer).
Message is a message to show whilst printing.


</description></function></member>
<member class="wxDC" name="StartPage"><function type="bool" name="StartPage"><description>

Starts a document page (only relevant when outputting to a printer).

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxDCClipper">
<description>
<p class="classdesc">
This is a small helper class which sets the specified DC to its constructor
clipping region and then automatically destroys it in its destructor. Using
it ensures that an unwanted clipping region is not left set on the DC.</p>
</description>
<category>Graphics device interface</category>
<shortdesc>Wraps the operations of setting and destroying the clipping region</shortdesc>
<parents></parents>
<includes>
<header name="wx/dc.h"/></includes>
<seealso>

<ref target="wxdc">wxDC</ref>

</seealso>
<members>
<member class="wxDCClipper" name="wxDCClipper"><function type="" name="wxDCClipper"><parameters><parameter type="wxDC&amp; " name="dc"></parameter><parameter type="wxCoord " name="x"></parameter><parameter type="wxCoord " name="y"></parameter><parameter type="wxCoord " name="w"></parameter><parameter type="wxCoord " name="h"></parameter></parameters><description>

</description></function>
<function type="" name="wxDCClipper"><parameters><parameter type="wxDC&amp; " name="dc"></parameter><parameter type="const wxRect&amp;" name=" rect"></parameter></parameters><description>

Constructor: sets the the clipping region for the given device context to the
specified rectangle.


</description></function></member>
<member class="wxDCClipper" name="~wxDCClipper"><function type="" name="~wxDCClipper"><description>

Destructor: destroys the clipping region set in the constructor.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
A wxDDEClient object represents the client part of a client-server DDE
(Dynamic Data Exchange) conversation.</p><p class="classdesc">To create a client which can communicate with a suitable server,
you need to derive a class from wxDDEConnection and another from wxDDEClient.
The custom wxDDEConnection class will intercept communications in
a `conversation' with a server, and the custom wxDDEServer is required
so that a user-overridden <ref target="wxddeclientonmakeconnection">wxDDEClient::OnMakeConnection</ref> member can return
a wxDDEConnection of the required class, when a connection is made.</p><p class="classdesc">This DDE-based implementation is
available on Windows only, but a platform-independent, socket-based version
of this API is available using <ref target="wxtcpclient">wxTCPClient</ref>.</p>
</description>
<category>Miscellaneous</category>
<parents><ref type="help" target="wxClientBase">wxClientBase</ref><ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/dde.h"/></includes>
<seealso>

<ref target="wxddeserver">wxDDEServer</ref><ref target="wxddeconnection">wxDDEConnection</ref>
<ref target="ipcoverview">Interprocess communications overview</ref>

</seealso>
<members>
<member class="wxDDEClient" name="wxDDEClient"><function type="" name="wxDDEClient"><description>

Constructs a client object.

</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>

Tries to make a connection with a server specified by the host
(machine name under UNIX, ignored under Windows), service name (must
contain an integer port number under UNIX), and topic string. If the
server allows a connection, a wxDDEConnection object will be returned.
The type of wxDDEConnection returned can be altered by overriding
the <ref target="wxddeclientonmakeconnection">wxDDEClient::OnMakeConnection</ref> member to return your own
derived connection object.

</description></function></member>
<member class="wxDDEClient" name="OnMakeConnection"><function type="wxConnectionBase &#42;" name="OnMakeConnection"><description>

The type of <ref target="wxddeconnection">wxDDEConnection</ref> returned from a <ref target="wxddeclientmakeconnection">wxDDEClient::MakeConnection</ref> call can
be altered by deriving the <b>{ OnMakeConnection}</b> member to return your
own derived connection object. By default, a wxDDEConnection
object is returned.

The advantage of deriving your own connection class is that it will
enable you to intercept messages initiated by the server, such
as <ref target="wxconnectiononadvise">wxDDEConnection::OnAdvise</ref>. You may also want to
store application-specific data in instances of the new class.

</description></function></member>
<member class="wxDDEClient" name="ValidHost"><function type="bool" name="ValidHost"><parameters><parameter type="const wxString&amp; " name="host"></parameter></parameters><description>

Returns true if this is a valid host name, false otherwise. This always
returns true under MS Windows.

</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">
<description>
<p class="classdesc">
A wxDDEConnection object represents the connection between a client and a
server. It can be created by making a connection using a
<ref target="wxddeclient">wxDDEClient</ref> object, or by the acceptance of a connection by a
<ref target="wxddeserver">wxDDEServer</ref> object. The bulk of a DDE (Dynamic Data Exchange)
conversation is controlled by
calling members in a <b>{ wxDDEConnection}</b> object or by overriding its
members.</p><p class="classdesc">An application should normally derive a new connection class from
wxDDEConnection, in order to override the communication event handlers
to do something interesting.</p><p class="classdesc">This DDE-based implementation is available on Windows only,
but a platform-independent, socket-based version
of this API is available using <ref target="wxtcpconnection">wxTCPConnection</ref>.</p>
</description>
<category>Miscellaneous</category>
<parents><ref type="help" target="wxConnectionBase">wxConnectionBase</ref><ref type="help" target="wxObject">wxObject</ref>

</parents>
<includes>
<header name="wx/dde.h"/></includes>
<types>

<ref target="wxIPCFormat"/>wxIPCFormat is defined as follows:

<pre>
enum wxIPCFormat
{
  wxIPC_INVALID =          0,
  wxIPC_TEXT =             1,  /&#42; CF_TEXT &#42;/
  wxIPC_BITMAP =           2,  /&#42; CF_BITMAP &#42;/
  wxIPC_METAFILE =         3,  /&#42; CF_METAFILEPICT &#42;/
  wxIPC_SYLK =             4,
  wxIPC_DIF =              5,
  wxIPC_TIFF =             6,
  wxIPC_OEMTEXT =          7,  /&#42; CF_OEMTEXT &#42;/
  wxIPC_DIB =              8,  /&#42; CF_DIB &#42;/
  wxIPC_PALETTE =          9,
  wxIPC_PENDATA =          10,
  wxIPC_RIFF =             11,
  wxIPC_WAVE =             12,
  wxIPC_UNICODETEXT =      13,
  wxIPC_ENHMETAFILE =      14,
  wxIPC_FILENAME =         15, /&#42; CF_HDROP &#42;/
  wxIPC_LOCALE =           16,
  wxIPC_PRIVATE =          20
};
</pre>

</types>
<seealso>

<ref target="wxddeclient">wxDDEClient</ref><ref target="wxddeserver">wxDDEServer</ref><ref target="ipcoverview">Interprocess communications overview</ref>

</seealso>
<members>
<member class="wxDDEConnection" name="wxDDEConnection"><function type="" name="wxDDEConnection"><description>

</description></function>
<function type="" name="wxDDEConnection"><parameters><parameter type="char&#42; " name="buffer"></parameter><parameter type="int" name=" size"></parameter></parameters><description>

Constructs a connection object. If no user-defined connection object is
to be derived from wxDDEConnection, then the constructor should not be
called directly, since the default connection object will be provided on
requesting (or accepting) a connection. However, if the user defines his
or her own derived connection object, the <ref target="wxddeserveronacceptconnection">wxDDEServer::OnAcceptConnection</ref>
and/or <ref target="wxddeclientonmakeconnection">wxDDEClient::OnMakeConnection</ref> members should be replaced by
functions which construct the new connection object. If the arguments of
the wxDDEConnection constructor are void, then a default buffer is
associated with the connection. Otherwise, the programmer must provide a
a buffer and size of the buffer for the connection object to use in
transactions.

</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>

Called by the server application to advise the client of a change in
the data associated with the given item. Causes the client
connection's <ref target="wxddeconnectiononadvise">wxDDEConnection::OnAdvise</ref>
member to be called. Returns true if successful.

</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>

Called by the client application to execute a command on the server. Can
also be used to transfer arbitrary data to the server (similar
to <ref target="wxddeconnectionpoke">wxDDEConnection::Poke</ref> in that respect). Causes the
server connection's <ref target="wxddeconnectiononexecute">wxDDEConnection::OnExecute</ref> member to be
called. Returns true if successful.

</description></function></member>
<member class="wxDDEConnection" name="Disconnect"><function type="bool" name="Disconnect"><description>

Called by the client or server application to disconnect from the other
program; it causes the <ref target="wxddeconnectionondisconnect">wxDDEConnection::OnDisconnect</ref> message
to be sent to the corresponding connection object in the other
program. The default behaviour of <b>{ OnDisconnect}</b> is to delete the
connection, but the calling application must explicitly delete its
side of the connection having called <b>{ Disconnect}</b>. Returns true if
successful.

</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>

Message sent to the client application when the server notifies it of a
change in the data associated with the given item.

</description></function></member>
<member class="wxDDEConnection" name="OnDisconnect"><function type="virtual bool" name="OnDisconnect"><description>

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.

</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>

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.

</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>

Message sent to the server application when the client notifies it to
accept the given data.

</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>

Message sent to the server application when the client
calls <ref target="wxddeconnectionrequest">wxDDEConnection::Request</ref>. The server
should respond by returning a character string from <b>{ OnRequest}</b>,
or NULL to indicate no data.

</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>

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.

</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>

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.

</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>

Called by the client application to poke data into the server. Can be
used to transfer arbitrary data to the server. Causes the server
connection's <ref target="wxddeconnectiononpoke">wxDDEConnection::OnPoke</ref> member
to be called. Returns true if successful.

</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>

Called by the client application to request data from the server. Causes
the server connection's <ref target="wxddeconnectiononrequest">wxDDEConnection::OnRequest</ref> member to be called. Returns a
character string (actually a pointer to the connection's buffer) if
successful, NULL otherwise.

</description></function></member>
<member class="wxDDEConnection" name="StartAdvise"><function type="bool" name="StartAdvise"><parameters><parameter type="const wxString&amp; " name="item"></parameter></parameters><description>

Called by the client application to ask if an advise loop can be started
with the server. Causes the server connection's <ref target="wxddeconnectiononstartadvise">wxDDEConnection::OnStartAdvise</ref>
member to be called. Returns true if the server okays it, false
otherwise.

</description></function></member>
<member class="wxDDEConnection" name="StopAdvise"><function type="bool" name="StopAdvise"><parameters><parameter type="const wxString&amp; " name="item"></parameter></parameters><description>

Called by the client application to ask if an advise loop can be
stopped. Causes the server connection's <ref target="wxddeconnectiononstopadvise">wxDDEConnection::OnStopAdvise</ref> member
to be called. Returns true if the server okays it, false otherwise.

</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">
<description>
<p class="classdesc">
A wxDDEServer object represents the server part of a client-server DDE
(Dynamic Data Exchange) conversation.</p><p class="classdesc">This DDE-based implementation is
available on Windows only, but a platform-independent, socket-based version
of this API is available using <ref target="wxtcpserver">wxTCPServer</ref>.</p>
</description>
<category>Miscellaneous</category>
<parents><ref type="help" target="wxServerBase">wxServerBase</ref></parents>
<includes>
<header name="wx/dde.h"/></includes>
<seealso>

<ref target="wxddeclient">wxDDEClient</ref><ref target="wxddeconnection">wxDDEConnection</ref><ref target="ipcoverview">IPC overview</ref>

</seealso>
<members>
<member class="wxDDEServer" name="wxDDEServer"><function type="" name="wxDDEServer"><description>

Constructs a server object.

</description></function></member>
<member class="wxDDEServer" name="Create"><function type="bool" name="Create"><parameters><parameter type="const wxString&amp; " name="service"></parameter></parameters><description>

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).

</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>

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.

</description></function></member></members>
<supported>
<platform name="gtk" status="N"/><platform name="win32" status="Y"/><platform name="motif" status="N"/><platform name="x11" status="N"/><platform name="nanox" status="N"/><platform name="mgl" status="N"/><platform name="macos" status="N"/><platform name="os2" status="N"/></supported>
</class>
<class name="wxDataFormat">
<description>
<p class="classdesc">
A wxDataFormat is an encapsulation of a platform-specific format handle which
is used by the system for the clipboard and drag and drop operations. The
applications are usually only interested in, for example, pasting data from the
clipboard only if the data is in a format the program understands and a data
format is something which uniquely identifies this format.</p><p class="classdesc">On the system level, a data format is usually just a number (<tt> CLIPFORMAT</tt>
under Windows or <tt> Atom</tt> under X11, for example) and the standard formats
are, indeed, just numbers which can be implicitly converted to wxDataFormat.
The standard formats are:</p><p class="classdesc"><table>
<tr><td>wxDF_INVALID</td><td>An invalid format - used as default argument for
functions taking a wxDataFormat argument sometimes</td></tr>
<tr><td>wxDF_TEXT</td><td>Text format (wxString)</td></tr>
<tr><td>wxDF_BITMAP</td><td>A bitmap (wxBitmap)</td></tr>
<tr><td>wxDF_METAFILE</td><td>A metafile (wxMetafile, Windows only)</td></tr>
<tr><td>wxDF_FILENAME</td><td>A list of filenames</td></tr>
<tr><td>wxDF_HTML</td><td>An HTML string. This is only valid when passed to wxSetClipboardData
when compiled with Visual C++ in non-Unicode mode</td></tr>
</table></p><p class="classdesc">As mentioned above, these standard formats may be passed to any function taking
wxDataFormat argument because wxDataFormat has an implicit conversion from
them (or, to be precise from the type <tt> wxDataFormat::NativeFormat</tt> which is
the type used by the underlying platform for data formats).</p><p class="classdesc">Aside the standard formats, the application may also use custom formats which
are identified by their names (strings) and not numeric identifiers. Although
internally custom format must be created (or <i> registered</i>) first, you
shouldn't care about it because it is done automatically the first time the
wxDataFormat object corresponding to a given format name is created. The only
implication of this is that you should avoid having global wxDataFormat objects
with non-default constructor because their constructors are executed before the
program has time to perform all necessary initialisations and so an attempt to
do clipboard format registration at this time will usually lead to a crash!</p>
</description>
<category>Drag and drop and clipboard classes</category>
<shortdesc>Represents a data format</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/dataobj.h"/>
</includes>
<override>

None

</override>
<seealso>

<ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
<ref target="samplednd">DnD sample</ref>
<ref target="wxdataobject">wxDataObject</ref>

</seealso>
<members>
<member class="wxDataFormat" name="wxDataFormat"><function type="" name="wxDataFormat"><parameters><parameter type="NativeFormat" name="format" value="wxDF_INVALID"></parameter></parameters><description>

Constructs a data format object for one of the standard data formats or an
empty data object (use <ref target="wxdataformatsettype">SetType</ref> or 
<ref target="wxdataformatsetid">SetId</ref> later in this case)



</description></function></member>
<member class="wxDataFormat" name="wxDataFormat"><function type="" name="wxDataFormat"><parameters><parameter type="const wxChar " name="&#42;format"></parameter></parameters><description>

Constructs a data format object for a custom format identified by its name 
<i> format</i>.



</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>

Returns true if the formats are equal.

</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>

Returns true if the formats are different.

</description></function></member>
<member class="wxDataFormat" name="GetId"><function type="wxString" name="GetId" suffix="const"><description>

Returns the name of a custom format (this function will fail for a standard
format).

</description></function></member>
<member class="wxDataFormat" name="GetType"><function type="NativeFormat" name="GetType" suffix="const"><description>

Returns the platform-specific number identifying the format.

</description></function></member>
<member class="wxDataFormat" name="SetId"><function type="void" name="SetId"><parameters><parameter type="const wxChar " name="&#42;format"></parameter></parameters><description>

Sets the format to be the custom format identified by the given name.

</description></function></member>
<member class="wxDataFormat" name="SetType"><function type="void" name="SetType"><parameters><parameter type="NativeFormat" name=" format"></parameter></parameters><description>

Sets the format to the given value, which should be one of wxDF_XXX constants.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class>
<class name="wxDataInputStream">
<description>
<p class="classdesc">
This class provides functions that read binary data types in a
portable way. Data can be read in either big-endian or little-endian
format, little-endian being the default on all architectures.</p><p class="classdesc">If you want to read data from text files (or streams) use 
<ref target="wxtextinputstream">wxTextInputStream</ref> instead.</p><p class="classdesc">The &gt;&gt; operator is overloaded and you can use this class like a standard C++ iostream.
Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
and on a typical 32-bit computer, none of these match to the &quot;long&quot; type (wxInt32
is defined as signed int on 32-bit architectures) so that you cannot use long. To avoid
problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.</p><p class="classdesc">For example:</p><p class="classdesc"><pre>
  wxFileInputStream input( &quot;mytext.dat&quot; );
  wxDataInputStream store( input );
  wxUint8 i1;
  float f2;
  wxString line;

  store &gt;&gt; i1;       // read a 8 bit integer.
  store &gt;&gt; i1 &gt;&gt; f2; // read a 8 bit integer followed by float.
  store &gt;&gt; line;     // read a text line
</pre></p><p class="classdesc">See also <ref target="wxdataoutputstream">wxDataOutputStream</ref>. </p>
</description>
<category>Stream classes</category>
<shortdesc>Platform-independent binary data input stream class</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/datstrm.h"/></includes>
<members>
<member class="wxDataInputStream" name="wxDataInputStream"><function type="" name="wxDataInputStream"><parameters><parameter type="wxInputStream&amp;" name=" stream"></parameter></parameters><description>

</description></function>
<function type="" name="wxDataInputStream"><parameters><parameter type="wxInputStream&amp;" name=" stream"></parameter><parameter type="wxMBConv&amp;" name="conv" value="wxMBConvUTF8">Charset conversion object object used to decode strings in Unicode 
mode (see <ref target="wxdatainputstreamreadstring">wxDataInputStream::ReadString</ref>
documentation for detailed description). Note that you must not destroy
<i> conv</i> before you destroy this wxDataInputStream instance!</parameter></parameters><description>

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.







</description></function></member>
<member class="wxDataInputStream" name="~wxDataInputStream"><function type="" name="~wxDataInputStream"><description>

Destroys the wxDataInputStream object.

</description></function></member>
<member class="wxDataInputStream" name="BigEndianOrdered"><function type="void" name="BigEndianOrdered"><parameters><parameter type="bool" name=" be_order"></parameter></parameters><description>

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).
  
</description></function></member>
<member class="wxDataInputStream" name="Read8"><function type="wxUint8" name="Read8"><description>

Reads a single byte from the stream.

</description></function>
<function type="void" name="Read8"><parameters><parameter type="wxUint8 &#42;" name="buffer"></parameter><parameter type="size_t " name="size"></parameter></parameters><description>

Reads bytes from the stream in a specified buffer. The amount of
bytes to read is specified by the <i> size</i> variable.

</description></function></member>
<member class="wxDataInputStream" name="Read16"><function type="wxUint16" name="Read16"><description>

Reads a 16 bit unsigned integer from the stream.

</description></function>
<function type="void" name="Read16"><parameters><parameter type="wxUint16 &#42;" name="buffer"></parameter><parameter type="size_t " name="size"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxDataInputStream" name="Read32"><function type="wxUint32" name="Read32"><description>

Reads a 32 bit unsigned integer from the stream.

</description></function>
<function type="void" name="Read32"><parameters><parameter type="wxUint32 &#42;" name="buffer"></parameter><parameter type="size_t " name="size"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxDataInputStream" name="Read64"><function type="wxUint64" name="Read64"><description>

Reads a 64 bit unsigned integer from the stream.

</description></function>
<function type="void" name="Read64"><parameters><parameter type="wxUint64 &#42;" name="buffer"></parameter><parameter type="size_t " name="size"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxDataInputStream" name="ReadDouble"><function type="double" name="ReadDouble"><description>

Reads a double (IEEE encoded) from the stream.

</description></function>
<function type="void" name="ReadDouble"><parameters><parameter type="double &#42;" name="buffer"></parameter><parameter type="size_t " name="size"></parameter></parameters><description>

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.

</description></function></member>
<member class="wxDataInputStream" name="ReadString"><function type="wxString" name="ReadString"><description>

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.

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.

See also <ref target="wxdataoutputstreamwritestring">wxDataOutputStream::WriteString</ref>.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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">
<description>
<p class="classdesc">
A wxDataObject represents data that can be copied to or from the clipboard, or
dragged and dropped. The important thing about wxDataObject is that this is a
'smart' piece of data unlike 'dumb' data containers such as memory
buffers or files. Being 'smart' here means that the data object itself should
know what data formats it supports and how to render itself in each of
its supported formats.</p><p class="classdesc">A supported format, incidentally, is exactly the format in which the data can
be requested from a data object or from which the data object may be set. In
the general case, an object may support different formats on 'input' and
'output', i.e. it may be able to render itself in a given format but not be
created from data on this format or vice versa. wxDataObject defines an
enumeration type</p><p class="classdesc"><pre>
enum Direction
{
    Get  = 0x01,    // format is supported by GetDataHere()
    Set  = 0x02     // format is supported by SetData()
};
</pre></p><p class="classdesc">which distinguishes between them. See 
<ref target="wxdataformat">wxDataFormat</ref> documentation for more about formats.</p><p class="classdesc">Not surprisingly, being 'smart' comes at a price of added complexity. This is
reasonable for the situations when you really need to support multiple formats,
but may be annoying if you only want to do something simple like cut and paste
text.</p><p class="classdesc">To provide a solution for both cases, wxWidgets has two predefined classes
which derive from wxDataObject: <ref target="wxdataobjectsimple">wxDataObjectSimple</ref> and 
<ref target="wxdataobjectcomposite">wxDataObjectComposite</ref>. 
<ref target="wxdataobjectsimple">wxDataObjectSimple</ref> is
the simplest wxDataObject possible and only holds data in a single format (such
as HTML or text) and <ref target="wxdataobjectcomposite">wxDataObjectComposite</ref> is
the simplest way to implement a wxDataObject that does support multiple formats
because it achieves this by simply holding several wxDataObjectSimple objects.</p><p class="classdesc">So, you have several solutions when you need a wxDataObject class (and you need
one as soon as you want to transfer data via the clipboard or drag and drop):</p><p class="classdesc"><table>
<tr><td><b>{ 1. Use one of the built-in classes}</b></td><td>You may use wxTextDataObject,
wxBitmapDataObject or wxFileDataObject in the simplest cases when you only need
to support one format and your data is either text, bitmap or list of files.</td></tr>
<tr><td><b>{ 2. Use wxDataObjectSimple}</b></td><td>Deriving from wxDataObjectSimple is the simplest
solution for custom data - you will only support one format and so probably
won't be able to communicate with other programs, but data transfer will work
in your program (or between different copies of it).</td></tr>
<tr><td><b>{ 3. Use wxDataObjectComposite}</b></td><td>This is a simple but powerful
solution which allows you to support any number of formats (either
standard or custom if you combine it with the previous solution).</td></tr>
<tr><td><b>{ 4. Use wxDataObject directly}</b></td><td>This is the solution for
maximal flexibility and efficiency, but it is also the most difficult to
implement.</td></tr>
</table></p><p class="classdesc">Please note that the easiest way to use drag and drop and the clipboard with
multiple formats is by using wxDataObjectComposite, but it is not the most
efficient one as each wxDataObjectSimple would contain the whole data in its
respective formats. Now imagine that you want to paste 200 pages of text in
your proprietary format, as well as Word, RTF, HTML, Unicode and plain text to
the clipboard and even today's computers are in trouble. For this case, you
will have to derive from wxDataObject directly and make it enumerate its
formats and provide the data in the requested format on demand.</p><p class="classdesc">Note that neither the GTK+ data transfer mechanisms for clipboard and
drag and drop, nor OLE data transfer, copy any data until another application
actually requests the data. This is in contrast to the 'feel' offered to the
user of a program who would normally think that the data resides in the
clipboard after having pressed 'Copy' - in reality it is only declared to be
available.</p><p class="classdesc">There are several predefined data object classes derived from
wxDataObjectSimple: <ref target="wxfiledataobject">wxFileDataObject</ref>, 
<ref target="wxtextdataobject">wxTextDataObject</ref> and 
<ref target="wxbitmapdataobject">wxBitmapDataObject</ref> which can be used without
change.</p><p class="classdesc">You may also derive your own data object classes from 
<ref target="wxcustomdataobject">wxCustomDataObject</ref> for user-defined types. The
format of user-defined data is given as a mime-type string literal, such as
&quot;application/word&quot; or &quot;image/png&quot;. These strings are used as they are under
Unix (so far only GTK+) to identify a format and are translated into their
Windows equivalent under Win32 (using the OLE IDataObject for data exchange to
and from the clipboard and for drag and drop). Note that the format string
translation under Windows is not yet finished.</p>
</description>
<category>Drag and drop and clipboard classes</category>
<shortdesc>Data object class</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/dataobj.h"/></includes>
<override>

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

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

</override>
<seealso>

<ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
<ref target="samplednd">DnD sample</ref>
<ref target="wxfiledataobject">wxFileDataObject</ref>
<ref target="wxtextdataobject">wxTextDataObject</ref>
<ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
<ref target="wxcustomdataobject">wxCustomDataObject</ref>
<ref target="wxdroptarget">wxDropTarget</ref>
<ref target="wxdropsource">wxDropSource</ref>
<ref target="wxtextdroptarget">wxTextDropTarget</ref>
<ref target="wxfiledroptarget">wxFileDropTarget</ref>

</seealso>
<members>
<member class="wxDataObject" name="wxDataObject"><function type="" name="wxDataObject"><description>

Constructor.

</description></function></member>
<member class="wxDataObject" name="~wxDataObject"><function type="" name="~wxDataObject"><description>

Destructor.

</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>

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.



</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 " name="&#42;buf"></parameter></parameters><description>

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.

</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>

Returns the data size of the given format <i> format</i>.

</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>

Returns the number of available formats for rendering or setting the data.

</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>

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.

</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 " name="&#42;buf"></parameter></parameters><description>

Set the data in the format <i> format</i> of the length <i> len</i> provided in the
buffer <i> buf</i>.

Returns true on success, false on failure.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="N"/><platform name="nanox" status="N"/><platform name="mgl" status="N"/><platform name="macos" status="N"/><platform name="os2" status="Y"/></supported>
</class><class name="wxDataObjectComposite">
<description>
<p class="classdesc">
wxDataObjectComposite is the simplest 
<ref target="wxdataobject">wxDataObject</ref> derivation which may be used to support
multiple formats. It contains several 
<ref target="wxdataobjectsimple">wxDataObjectSimple</ref> objects and supports any
format supported by at least one of them. Only one of these data objects is
<i> preferred</i> (the first one if not explicitly changed by using the second
parameter of <ref target="wxdataobjectcompositeadd">Add</ref>) and its format determines
the preferred format of the composite data object as well.</p><p class="classdesc">See <ref target="wxdataobject">wxDataObject</ref> documentation for the reasons why you
might prefer to use wxDataObject directly instead of wxDataObjectComposite for
efficiency reasons.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxDataObject">wxDataObject</ref>

</parents>
<includes>
<header name="wx/dataobj.h"/></includes>
<override>

None, this class should be used directly.

</override>
<seealso>

<ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
<ref target="wxdataobject">wxDataObject</ref>
<ref target="wxdataobjectsimple">wxDataObjectSimple</ref>
<ref target="wxfiledataobject">wxFileDataObject</ref>
<ref target="wxtextdataobject">wxTextDataObject</ref>
<ref target="wxbitmapdataobject">wxBitmapDataObject</ref>

</seealso>
<members>
<member class="wxDataObjectComposite" name="wxDataObjectComposite"><function type="" name="wxDataObjectComposite"><description>

The default constructor.

</description></function></member>
<member class="wxDataObjectComposite" name="Add"><function type="void" name="Add"><parameters><parameter type="wxDataObjectSimple " name="&#42;dataObject"></parameter><parameter type="bool " name="preferred" value="false"></parameter></parameters><description>

Adds the <i> dataObject</i> to the list of supported objects and it becomes the
preferred object if <i> preferred</i> is true.


</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="N"/><platform name="nanox" status="N"/><platform name="mgl" status="N"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class><class name="wxDataObjectSimple">
<description>
<p class="classdesc">
This is the simplest possible implementation of the 
<ref target="wxdataobject">wxDataObject</ref> class. The data object of (a class derived
from) this class only supports one format, so the number of virtual functions
to be implemented is reduced.</p><p class="classdesc">Notice that this is still an abstract base class and cannot be used but should
be derived from.</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxDataObject">wxDataObject</ref>

</parents>
<includes>
<header name="wx/dataobj.h"/></includes>
<override>

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

</override>
<seealso>

<ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
<ref target="samplednd">DnD sample</ref>
<ref target="wxfiledataobject">wxFileDataObject</ref>
<ref target="wxtextdataobject">wxTextDataObject</ref>
<ref target="wxbitmapdataobject">wxBitmapDataObject</ref>

</seealso>
<members>
<member class="wxDataObjectSimple" name="wxDataObjectSimple"><function type="" name="wxDataObjectSimple"><parameters><parameter type="const wxDataFormat&amp;" name="format" value="wxFormatInvalid"></parameter></parameters><description>

Constructor accepts the supported format (none by default) which may also be
set later with <ref target="wxdataobjectsimplesetformat">SetFormat</ref>.

</description></function></member>
<member class="wxDataObjectSimple" name="GetFormat"><function type="const wxDataFormat&amp;" name="GetFormat" suffix="const"><description>

Returns the (one and only one) format supported by this object. It is supposed
that the format is supported in both directions.

</description></function></member>
<member class="wxDataObjectSimple" name="SetFormat"><function type="void" name="SetFormat"><parameters><parameter type="const wxDataFormat&amp;" name=" format"></parameter></parameters><description>

Sets the supported format.

</description></function></member>
<member class="wxDataObjectSimple" name="GetDataSize"><function type="virtual size_t" name="GetDataSize" suffix="const"><description>

Gets the size of our data. Must be implemented in the derived class if the
object supports rendering its data.

</description></function></member>
<member class="wxDataObjectSimple" name="GetDataHere"><function type="virtual bool" name="GetDataHere" suffix="const"><parameters><parameter type="void " name="&#42;buf"></parameter></parameters><description>

Copy the data to the buffer, return true on success. Must be implemented in the
derived class if the object supports rendering its data.



</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 " name="&#42;buf"></parameter></parameters><description>

Copy the data from the buffer, return true on success. Must be implemented in
the derived class if the object supports setting its data.



</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="N"/><platform name="nanox" status="N"/><platform name="mgl" status="N"/><platform name="macos" status="N"/><platform name="os2" status="Y"/></supported>
</class><class name="wxDataOutputStream">
<description>
<p class="classdesc">
This class provides functions that write binary data types in a
portable way. Data can be written in either big-endian or little-endian
format, little-endian being the default on all architectures.</p><p class="classdesc">If you want to write data to text files (or streams) use 
<ref target="wxtextoutputstream">wxTextOutputStream</ref> instead.</p><p class="classdesc">The &lt;&lt; operator is overloaded and you can use this class like a standard 
C++ iostream. See <ref target="wxdatainputstream">wxDataInputStream</ref> for its 
usage and caveats.</p><p class="classdesc">See also <ref target="wxdatainputstream">wxDataInputStream</ref>. </p>
</description>
<category>Stream classes</category>
<shortdesc>Platform-independent binary data output stream class</shortdesc>
<parents>


</parents>
<includes>
<header name="wx/datstrm.h"/>
</includes>
<members>
<member class="wxDataOutputStream" name="wxDataOutputStream"><function type="" name="wxDataOutputStream"><parameters><parameter type="wxOutputStream&amp;" name=" stream"></parameter></parameters><description>

</description></function>
<function type="" name="wxDataOutputStream"><parameters><parameter type="wxOutputStream&amp;" name=" stream"></parameter><parameter type="wxMBConv&amp;" name="conv" value="wxMBConvUTF8">Charset conversion object object used to encoding Unicode 
strings before writing them to the stream
in Unicode mode (see <ref target="wxdataoutputstreamwritestring">wxDataOutputStream::WriteString</ref>
documentation for detailed description). Note that you must not destroy
<i> conv</i> before you destroy this wxDataOutputStream instance! It is
recommended to use default value (UTF-8).</parameter></parameters><description>

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.







</description></function></member>
<member class="wxDataOutputStream" name="~wxDataOutputStream"><function type="" name="~wxDataOutputStream"><description>

Destroys the wxDataOutputStream object.

</description></function></member>
<member class="wxDataOutputStream" name="BigEndianOrdered"><function type="void" name="BigEndianOrdered"><parameters><parameter type="bool" name=" be_order"></parameter></parameters><description>

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.
 
</description></function></member>
<member class="wxDataOutputStream" name="Write8"><function type="void" name="Write8"><parameters></parameters><description>

Writes the single byte <i> i8</i> to the stream.

</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>

Writes an array of bytes to the stream. The amount of bytes to write is
specified with the <i> size</i> variable.

</description></function></member>
<member class="wxDataOutputStream" name="Write16"><function type="void" name="Write16"><parameters></parameters><description>

Writes the 16 bit unsigned integer <i> i16</i> to the stream.

</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>

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.

</description></function></member>
<member class="wxDataOutputStream" name="Write32"><function type="void" name="Write32"><parameters></parameters><description>

Writes the 32 bit unsigned integer <i> i32</i> to the stream.

</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>

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.

</description></function></member>
<member class="wxDataOutputStream" name="Write64"><function type="void" name="Write64"><parameters></parameters><description>

Writes the 64 bit unsigned integer <i> i64</i> to the stream.

</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>

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.

</description></function></member>
<member class="wxDataOutputStream" name="WriteDouble"><function type="void" name="WriteDouble"><parameters></parameters><description>

Writes the double <i> f</i> to the stream using the IEEE format.

</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>

Writes an array of double to the stream. The amount of double to write is
specified with the <i> size</i> variable.

</description></function></member>
<member class="wxDataOutputStream" name="WriteString"><function type="void" name="WriteString"><parameters></parameters><description>

Writes <i> string</i> to the stream. Actually, this method writes the size of
the string before writing <i> string</i> itself.

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.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><platform name="nanox" status="Y"/><platform name="mgl" status="Y"/><platform name="macos" status="Y"/><platform name="os2" status="Y"/></supported>
</class>
<class name="wxDateSpan">
<description>
<p class="classdesc">
This class is a &quot;logical time span&quot; and is useful for implementing program
logic for such things as &quot;add one month to the date&quot; which, in general,
doesn't mean to add $60&#42;60&#42;24&#42;31$ seconds to it, but to take the same date
the next month (to understand that this is indeed different consider adding
one month to Feb, 15 -- we want to get Mar, 15, of course).</p><p class="classdesc">When adding a month to the date, all lesser components (days, hours, ...)
won't be changed unless the resulting date would be invalid: for example,
Jan 31 + 1 month will be Feb 28, not (non existing) Feb 31.</p><p class="classdesc">Because of this feature, adding and subtracting back again the same
wxDateSpan will <b>{ not}</b>, in general give back the original date: Feb 28 - 1
month will be Jan 28, not Jan 31!</p><p class="classdesc">wxDateSpan objects can be either positive or negative. They may be
multiplied by scalars which multiply all deltas by the scalar: i.e.
$2&#42;(1  month and  1  day)$ is 2 months and 2 days. They can
be added together and with <ref target="wxdatetime">wxDateTime</ref> or 
<ref target="wxtimespan">wxTimeSpan</ref>, but the type of result is different for each
case.</p><p class="classdesc">Beware about weeks: if you specify both weeks and days, the total number of
days added will be $7&#42;weeks + days$! See also GetTotalDays()
function.</p><p class="classdesc">Equality operators are defined for wxDateSpans. Two datespans are equal if
and only if they both give the same target date when added to <b>{ every}</b>
source date. Thus wxDateSpan::Months(1) is not equal to wxDateSpan::Days(30),
because they don't give the same date when added to 1 Feb. But
wxDateSpan::Days(14) is equal to wxDateSpan::Weeks(2)</p><p class="classdesc">Finally, notice that for adding hours, minutes and so on you don't need this
class at all: <ref target="wxtimespan">wxTimeSpan</ref> will do the job because there
are no subtleties associated with those (we don't support leap seconds).</p>
</description>
<category>Data structures</category>
<shortdesc>A logical time interval.</shortdesc>
<parents></parents>
<includes>
<header name="wx/datetime.h"/></includes>
<seealso>

<ref target="wxdatetimeoverview">Date classes overview</ref>,
<ref target="wxdatetime">wxDateTime</ref>


</seealso>
<members>
<member class="wxDateSpan" name="wxDateSpan"><function type="" name="wxDateSpan"><parameters><parameter type="int " name="years" value="0"></parameter><parameter type="int " name="months" value="0"></parameter><parameter type="int " name="weeks" value="0"></parameter><parameter type="int " name="days" value="0"></parameter></parameters><description>

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.


</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>

Returns the sum of two date spans. The first version returns a new object, the
second and third ones modify this object in place.


</description></function></member>
<member class="wxDateSpan" name="Day"><function type="static wxDateSpan" name="Day"><seealso>

<ref target="wxdatespandays">Days</ref>


</seealso><description>

Returns a date span object corresponding to one day.

</description></function></member>
<member class="wxDateSpan" name="Days"><function type="static wxDateSpan" name="Days"><parameters><parameter type="int " name="days"></parameter></parameters><seealso>

<ref target="wxdatespanday">Day</ref>


</seealso><description>

Returns a date span object corresponding to the given number of days.

</description></function></member>
<member class="wxDateSpan" name="GetDays"><function type="int" name="GetDays" suffix="const"><seealso>

<ref target="wxdatespangettotaldays">GetTotalDays</ref>


</seealso><description>

Returns the number of days (only, that it not counting the weeks component!)
in this date span.

</description></function></member>
<member class="wxDateSpan" name="GetMonths"><function type="int" name="GetMonths" suffix="const"><description>

Returns the number of the months (not counting the years) in this date span.


</description></function></member>
<member class="wxDateSpan" name="GetTotalDays"><function type="int" name="GetTotalDays" suffix="const"><seealso>

<ref target="wxdatespangetweeks">GetWeeks</ref><ref target="wxdatespangetdays">GetDays</ref>


</seealso><description></description></function></member>
<member class="wxDateSpan" name="GetWeeks"><function type="int" name="GetWeeks" suffix="const"><seealso>

<ref target="wxdatespangettotaldays">GetTotalDays</ref>


</seealso><description>

Returns the number of weeks in this date span.

</description></function></member>
<member class="wxDateSpan" name="GetYears"><function type="int" name="GetYears" suffix="const"><description>

Returns the number of years in this date span.


</description></function></member>
<member class="wxDateSpan" name="Month"><function type="static wxDateSpan" name="Month"><seealso>

<ref target="wxdatespanmonths">Months</ref>


</seealso><description>

Returns a date span object corresponding to one month.

</description></function></member>
<member class="wxDateSpan" name="Months"><function type="static wxDateSpan" name="Months"><parameters><parameter type="int " name="mon"></parameter></parameters><seealso>

<ref target="wxdatespanmonth">Month</ref>


</seealso><description>

Returns a date span object corresponding to the given number of months.

</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>

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.

The first version returns a new object, the second and third ones modify this
object in place.


</description></function></member>
<member class="wxDateSpan" name="Negate"><function type="wxDateSpan" name="Negate" suffix="const"><seealso>

<ref target="wxdatespanneg">Neg</ref>


</seealso><description>

Returns the date span with the opposite sign.

</description></function></member>
<member class="wxDateSpan" name="Neg"><function type="wxDateSpan&amp;" name="Neg"><description>

</description></function>
<function type="wxDateSpan&amp;" name="operator$-$"><seealso>

<ref target="wxdatespannegate">Negate</ref>


</seealso><description>

Changes the sign of this date span.

</description></function></member>
<member class="wxDateSpan" name="SetDays"><function type="wxDateSpan&amp;" name="SetDays"><parameters><parameter type="int " name="n"></parameter></parameters><description>

Sets the number of days (without modifying any other components) in this date
span.


</description></function></member>
<member class="wxDateSpan" name="SetYears"><function type="wxDateSpan&amp;" name="SetYears"><parameters><parameter type="int " name="n"></parameter></parameters><description>

Sets the number of years (without modifying any other components) in this date
span.


</description></function></member>
<member class="wxDateSpan" name="SetMonths"><function type="wxDateSpan&amp;" name="SetMonths"><parameters><parameter type="int " name="n"></parameter></parameters><description>

Sets the number of months (without modifying any other components) in this
date span.


</description></function></member>
<member class="wxDateSpan" name="SetWeeks"><function type="wxDateSpan&amp;" name="SetWeeks"><parameters><parameter type="int " name="n"></parameter></parameters><description>

Sets the number of weeks (without modifying any other components) in this date
span.


</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>

Returns the difference of two date spans. The first version returns a new
object, the second and third ones modify this object in place.


</description></function></member>
<member class="wxDateSpan" name="Week"><function type="static wxDateSpan" name="Week"><seealso>

<ref target="wxdatespanweeks">Weeks</ref>


</seealso><description>

Returns a date span object corresponding to one week.

</description></function></member>
<member class="wxDateSpan" name="Weeks"><function type="static wxDateSpan" name="Weeks"><parameters><parameter type="int " name="weeks"></parameter></parameters><seealso>

<ref target="wxdatespanweek">Week</ref>


</seealso><description>

Returns a date span object corresponding to the given number of weeks.

</description></function></member>
<member class="wxDateSpan" name="Year"><function type="static wxDateSpan" name="Year"><seealso>

<ref target="wxdatespanyears">Years</ref>


</seealso><description>

Returns a date span object corresponding to one year.

</description></function></member>
<member class="wxDateSpan" name="Years"><function type="static wxDateSpan" name="Years"><parameters><parameter type="int " name="years"></parameter></parameters><seealso>

<ref target="wxdatespanyear">Year</ref>


</seealso><description>

Returns a date span object corresponding to the given number of years.

</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>

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).


</description></function></member>
<member class="wxDateSpan" name="operator$!=$"><function type="bool" name="operator$!=$" suffix="const"><parameters><parameter type="wxDateSpan&amp;" name=" other"></parameter></parameters><seealso>

<ref target="wxdatespanoperatorequal">operator==</ref>

</seealso><description>

Returns <tt> true</tt> if this date span is different from the other one.

</description></function></member></members>
<supported>
<platform name="gtk" status="Y"/><platform name="win32" status="Y"/><platform name="motif" status="Y"/><platform name="x11" status="Y"/><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>(TODO: description)</description>
<category>Data structures</category>
<shortdesc>A class for date/time manipulations</shortdesc>
<supported>
</supported>
</class><class name="wxDateTimeHolidayAuthority">
<description>(TODO: description)</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>(TODO: description)</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>(TODO: description)</description>
<category>Database classes</category>
<shortdesc>ODBC database connection</shortdesc>
<supported>
</supported>
</class><class name="wxDbColDataPtr">
<description>(TODO: description)</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">
<description>
<p class="classdesc">
This class is used to hold information about the columns bound to an
instance of a wxDbTable object.</p><p class="classdesc">Each instance of this class describes one column in the wxDbTable
object.  When calling the <ref target="wxdbctor">wxDb constructor</ref>, a
parameter passed in indicates the number of columns that will be defined for
the wxDbTable object.  The constructor uses this information to allocate
adequate memory for all of the column descriptions in your wxDbTable object.
Private member wxDbTable::colDefs is a pointer to this chunk of memory
maintained by the wxDbTable class (and can be retrieved using the
<ref target="wxdbtablegetcoldefs">wxDbTable::GetColDefs</ref> function).
To access the nth column definition of your wxDbTable object, just reference
wxDbColDefs element [n - 1].</p><p class="classdesc">Typically, <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref> is used to
populate an array of these data structures for the wxDbTable instance.</p><p class="classdesc">Currently there are no accessor functions for this class, so all members are
public.</p><p class="classdesc"><pre>
    wxChar  ColName[DB_MAX_COLUMN_NAME_LEN+1];  // Column Name
    int     DbDataType;    - Logical Data Type;
                             e.g. DB_DATA_TYPE_INTEGER
    SWORD   SqlCtype;      - C data type; e.g. SQL_C_LONG
    void   &#42;PtrDataObj;    - Address of the data object
    int     SzDataObj;     - Size, in bytes, of the data object
    bool    KeyField;      - Is column part of the PRIMARY KEY for the
                             table? -- Date fields should NOT be
                             KeyFields
    bool    Updateable;    - Column is updateable?
    bool    InsertAllowed; - Column included in INSERT statements?
    bool    DerivedCol;    - Column is a derived value?
    SDWORD  CbValue;       - !!!Internal use only!!!
    bool    Null;          - NOT FULLY IMPLEMENTED
                             Allows NULL values in Inserts and Updates
</pre></p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<includes>
<header name="wx/db.h"/>
</includes>
<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">
<description>(TODO: description)</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><ref target="wxdbcolforformat"/>

Work in progress, and should be inter-related with wxLocale eventually.

</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">
<description>(TODO: description)</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>(TODO: description)</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<supported>
</supported>
</class><class name="wxDbGridColInfo">
<description>
<p class="classdesc">
This class is used  to define columns to be shown, names of the columns,
order and type of data, when using <ref target="wxdbgridtablebase">wxdbGridTableBase</ref> to display
a Table or query in a <ref target="wxgrid">wxGrid</ref></p><p class="classdesc">See the database grid example in <ref target="wxdbgridtablebase">wxDbGridTableBase</ref> for
an introduction to using the wxDbGrid classes.</p>
</description>
<category>Miscellaneous</category>
<includes>
<header name="wx/dbgrid.h"/></includes>
<members>
<member class="wxDbGridColInfo" name="wxDbGridColInfo"><function type="" name="wxDbGridColInfo"><parameters><parameter type="int " name="colNumber">Column number in the <ref target="wxdbtable">wxDbTable</ref> instance to be used (first column is 0).</parameter><parameter type="wxString " name="type">Column type ,wxString specifying the grid name for the datatype in this column, or
 use wxGRID_VALUE_DBAUTO to determine the type automatically from the <ref target="wxdbcoldef">wxDbColDef</ref> definition</parameter><parameter type="wxString " name="title">The column label to be used in the grid display</parameter><parameter type="wxDbGridColInfo &#42;" name="next">A pointer to the next wxDbGridColInfo structure if using one-step
construction, NULL  terminates the list. Use Null also if using two step construction.</parameter></parameters><description>

Default constructor. See the database grid example in <ref target="wxdbgridtablebase">wxDbGridTableBase</ref> to
see two different ways for adding columns.








See the database grid example in <ref target="wxdbgridtablebase">wxDbGridTableBase</ref> to
see two different ways for adding columns.

</description></function></member>
<member class="wxDbGridColInfo" name="~wxDbGridColInfo"><function type="" name="~wxDbGridColInfo"><parameters></parameters><description>

Destructor.

</description></function></member>
<member class="wxDbGridColInfo" name="AddColInfo"><function type="void" name="AddColInfo"><parameters><parameter type="int " name="colNumber">Column number in the <ref target="wxdbtable">wxDbTable</ref> instance to be used (first column is 0).</parameter><parameter type="wxString " name="type">Column type ,wxString specifying the grid name for the datatype in this column, or
 use wxGRID_VALUE_DBAUTO to determine the type automatically from the <ref target="wxdbcoldef">wxDbColDef</ref> definition</parameter><parameter type="wxString " name="title">The column label to be used in the grid display</parameter></parameters><remarks>

As wxDbTable must be defined with to have columns which match those  to by a wxDbGridColInfo
info structure as this is the structure which informs the grid of how you want to display your 
<ref target="wxdbtable">wxDbTable</ref>. If no datatype conversion or the referenced column number does not exist the
the behavior is undefined.

See the example at <ref target="wxdbgridcolinfoctor">wxDbGridColInfo::wxDbGridColInfo</ref>.

</remarks><description>

Use this member function for adding columns. See the database
grid example in <ref target="wxdbgridtablebase">wxDbGridTableBase</ref> to
see two different ways for adding columns.

It is important to note that this class is merely a specifier to the <ref target="wxdbgridtablebase">wxDbGridTableBase</ref> 
constructor. Changes made to this datatype after the <ref target="wxdbgridtablebase">wxDbGridTableBase</ref> is called will
not have any effect.






</description></function></member></members>
<supported>
</supported>
</class><class name="wxDbIdxDef">
<description>(TODO: description)</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<supported>
</supported>
</class><class name="wxDbIndexDef">
<description>(TODO: description)</description>
<category>Miscellaneous</category>
<members>
</members>
<supported>
</supported>
</class><class name="wxDbInf">
<description>(TODO: description)</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">
<description>
<p class="classdesc">
A wxDbTable instance provides re-usable access to rows of data in
a table contained within the associated ODBC datasource</p><p class="classdesc">See the <ref target="odbcoverview">database classes overview</ref> for
an introduction to using the ODBC classes.</p>
</description>
<category>Database classes</category>
<shortdesc>Provides access to a database table</shortdesc>
<includes>
<header name="wx/dbtable.h" comment="&lt;wx/db.h&gt;"/></includes>
<members>
<member class="wxDbTable" name="wxDbTable"><function type="" name="wxDbTable"><parameters><parameter type="wxDb &#42;" name="pwxDb">Pointer to the wxDb instance to be used by this wxDbTable
instance.</parameter><parameter type="const wxString &amp;" name="tblName">The name of the table in the RDBMS.</parameter><parameter type="const UWORD " name="numColumns">The number of columns in the table.  (Do NOT include the ROWID
column in the count if using Oracle).</parameter><parameter type="const wxString &amp;" name="qryTblName" value="&quot;&quot;"><i> OPTIONAL</i>.  The name of the table or view to base
your queries on.  This argument allows you to specify a table/view other than
the base table for this object to base your queries on.  This allows you to
query on a view for example, but all of the INSERT, UPDATE and DELETES will
still be performed on the base table for this wxDbTable object.  Basing your
queries on a view can provide a substantial performance increase in cases where
your queries involve many tables with multiple joins.  Default is &quot;&quot;.</parameter><parameter type="bool " name="qryOnly" value="!wxDB_QUERY_ONLY"><i> OPTIONAL</i>.  Indicates whether the table will be
accessible for query purposes only, or should the table create the necessary
cursors to be able to insert, update, and delete data from the table.
Default is !wxDB_QUERY_ONLY.</parameter><parameter type="const wxString &amp;" name="tblPath" value="&quot;&quot;"><i> OPTIONAL</i>.  Some datasources (such as dBase)
require a path to where the table is stored on the system.  Default is &quot;&quot;.</parameter></parameters><description>

Default constructor.










</description></function></member>
<member class="wxDbTable" name="wxDbTable"><function type="virtual" name="~wxDbTable"><parameters></parameters><description>

Virtual default destructor.

</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>

This member function constructs a SQL DELETE statement.  This can be used for
debugging purposes if you are having problems executing your SQL statement.

WHERE and FROM clauses specified using <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref> are ignored by
this function.

</remarks><description>

Constructs the full SQL statement that can be used to delete all rows matching
the criteria in the pWhereClause.







</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>

This member function constructs a SQL SELECT statement.  This can be used for
debugging purposes if you are having problems executing your SQL statement.

WHERE and FROM clauses specified using
<ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref> are ignored by
this function.

</remarks><description>

Constructs the full SQL statement that can be used to select all rows matching
the criteria in the pWhereClause.  This function is called internally in the
wxDbTable class whenever the function <ref target="wxdbtablequery">wxDbTable::Query</ref>
is called.

NOTE: Only the columns specified in <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
statements are included in the list of columns returned by the SQL statement
created by a call to this function.







</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>

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.

WHERE and FROM clauses specified using <ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref> are ignored by
this function.

</remarks><description>

Constructs the full SQL statement that can be used to update all rows matching
the criteria in the pWhereClause.

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.

NOTE: Only the columns specified in <ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
statements are included in the list of columns updated by the SQL statement
created by a call to this function.  Any column definitions that were defined
as being non-updateable will be excluded from the SQL UPDATE statement created
by this function.







</description></function></member>
<member class="wxDbTable" name="BuildWhereStmt"><function type="void" name="BuildSelectStmt"><parameters><parameter type="wxString &amp;" name="pWhereClause">Pointer to storage for the SQL statement retrieved.
To be sure you have adequate space allocated for the SQL statement, allocate
DB_MAX_STATEMENT_LEN bytes.</parameter><parameter type="int " name="typeOfWhere">The type of where clause to generate.  Can be one of
two values:  DB_WHERE_KEYFIELDS or DB_WHERE_MATCHING.</parameter><parameter type="const wxString &amp;" name="qualTableName" value="&quot;&quot;"><i> OPTIONAL</i>.  Prepended to all base table
column names.  For use when a FROM clause has been specified with the
<ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>,
to clarify which table a column name reference belongs to.  Default is &quot;&quot;.</parameter><parameter type="bool " name="useLikeComparison" value="false"><i> OPTIONAL</i>.  Should the constructed WHERE
clause utilize the LIKE comparison operator.  If false, then the '='
operator is used.  Default is false.</parameter></parameters><remarks>

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.

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.

</remarks><description>

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'.








</description></function></member>
<member class="wxDbTable" name="CanSelectForUpdate"><function type="bool" name="CanSelectForUpdate"><remarks>

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;.

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.

</remarks><description>

Use this function to determine if the datasource supports SELECT ... FOR UPDATE.
When the keywords &quot;FOR UPDATE&quot; are included as part of your SQL SELECT statement,
all records <i> retrieved</i> (not just queried, but actually retrieved using
<ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>, etc) from the result set are
locked.

</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>

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.

</remarks><description>

CURRENTLY ONLY POSSIBLE IF USING ORACLE.

--- CURRENTLY DISABLED FOR &#42;ALL&#42; DATASOURCES --- NOV 1 2000 - gt

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.

Use of the ROWID feature is always handled by the class library except in the
case of <ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>.  Since
you are passing in the SQL SELECT statement,
it is up to you to include the ROWID column in your query.  If you do not,
the application will still work, but may not be as optimized.  The ROWID is
always the last column in the column list in your SQL SELECT statement.
The ROWID is not a column in the normal sense and should not be considered
part of the column definitions for the wxDbTable object.

</description></function></member>
<member class="wxDbTable" name="ClearMemberVar"><function type="void" name="ClearMemberVar"><parameters><parameter type="UWORD " name="colNumber">Column number that is to be cleared.  This number (between 0
and (numColumns-1)) is the index of the column definition created using the
<ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref> function.</parameter><parameter type="bool " name="setToNull" value="false"><i> OPTIONAL</i>.  Indicates whether the column should be
flagged as being a NULL value stored in the bound memory variable.  If true,
then any value stored in the bound member variable is cleared.  Default is
false.</parameter></parameters><description>

Same as <ref target="wxdbtableclearmembervars">wxDbTable::ClearMemberVars</ref> except
that this function clears only the specified column of its values, and
optionally sets the column to be a NULL column.




</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>

This is useful before calling functions such as
<ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref> or
<ref target="wxdbtabledeletematching">wxDbTable::DeleteMatching</ref> since these
functions build their WHERE clauses from non-zero columns.  To call either
<ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref> or
<ref target="wxdbtabledeletematching">wxDbTable::DeleteMatching</ref> use this sequence:

<pre>
1)  ClearMemberVars()
2)  Assign columns values you wish to match on
3)  Call wxDbTable::QueryMatching() or wxDbTable::DeleteMatching()
</pre>

</remarks><description>

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.



</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>

Typically handled internally by the ODBC class library, but may be used by the
programmer if desired.

DO NOT CLOSE THE wxDB_DEFAULT_CURSOR!

</remarks><description>

Closes the specified cursor associated with the wxDbTable object.





</description></function></member>
<member class="wxDbTable" name="Count"><function type="ULONG " name="Count"><parameters><parameter type="const wxString &amp;" name="args" value="&quot;&#42;&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>

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().

WHERE and FROM clauses specified using
<ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and <ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref> ARE used by
this function.

</remarks><description>

Returns the number of records which would be in the result set using the
current query parameters specified in the WHERE and FROM clauses.





</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="wxDbIndexDef &#42;" name="pIndexDefs">A pointer to an array wxDbIndexDef structures. </parameter><parameter type="bool " name="attemptDrop" value="true"><i> OPTIONAL</i>.  Indicates if the function should try
to execute a <ref target="wxdbtabledropindex">wxDbTable::DropIndex</ref> on the index
name provided before trying to create the index name.  Default is true.</parameter></parameters><example>

<pre>
    // Create a secondary index on the PARTS table
    wxDbIndexDef  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>

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.

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.

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.

The fourth parameter specifies which columns make up the index using the
wxDbIndexDef 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 wxDbIndexDef structure.

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.

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.

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.

It is not necessary to call <ref target="wxdbcommittrans">wxDb::CommitTrans</ref>
after executing this function.

</remarks><description>

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 
