<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Generated on: Fri Aug 19 19:06:28 CEST 2005 -->
<classes>
<class name="wxAcceleratorEntry">
<description>
<p class="classdesc">
An object used by an application wishing to create an
<ref target="wxacceleratortable">accelerator table</ref>
.
</p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/accel.h"/>
</includes>
<seealso>
<ref target="wxacceleratortable">wxAcceleratorTable</ref>
<ref target="wxwindowsetacceleratortable">wxWindow::SetAcceleratorTable</ref>
</seealso>
<members>
<member class="wxAcceleratorEntry" name="wxAcceleratorEntry">
<function type="" name="wxAcceleratorEntry">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxAcceleratorEntry">
<parameters>
<parameter type="int " name="flags">
One of wxACCEL_ALT, wxACCEL_SHIFT, wxACCEL_CTRL and wxACCEL_NORMAL. Indicates
which modifier key is held down.
</parameter>
<parameter type="int " name="keyCode">
The keycode to be detected. See
<ref target="keycodes">Keycodes</ref>
for a full list of keycodes.
</parameter>
<parameter type="int " name="cmd">
The menu or control command identifier.
</parameter>
</parameters>
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorEntry" name="GetCommand">
<function type="int" name="GetCommand" suffix="const">
<description>
<p>
Returns the command identifier for the accelerator table entry.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorEntry" name="GetFlags">
<function type="int" name="GetFlags" suffix="const">
<description>
<p>
Returns the flags for the accelerator table entry.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorEntry" name="GetKeyCode">
<function type="int" name="GetKeyCode" suffix="const">
<description>
<p>
Returns the keycode for the accelerator table entry.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorEntry" name="Set">
<function type="void" name="Set">
<parameters>
<parameter type="int " name="flags">
One of wxACCEL_ALT, wxACCEL_SHIFT, wxACCEL_CTRL and wxACCEL_NORMAL. Indicates
which modifier key is held down.
</parameter>
<parameter type="int " name="keyCode">
The keycode to be detected. See
<ref target="keycodes">Keycodes</ref>
for a full list of keycodes.
</parameter>
<parameter type="int " name="cmd">
The menu or control command identifier.
</parameter>
</parameters>
<description>
<p>
Sets the accelerator entry parameters.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxAcceleratorTable">
<description>
<p class="classdesc">
An accelerator table allows the application to specify a table of keyboard
shortcuts for menus or other commands. On Windows, menu or button commands are
supported; on GTK, only menu commands are supported.
</p>
<p class="classdesc">
The object
<b>wxNullAcceleratorTable</b>
is defined to be a table with no data, and is the initial accelerator table for
a window.
</p>
</description>
<category>Miscellaneous</category>
<shortdesc>Accelerator table</shortdesc>
<example>
<pre>
  wxAcceleratorEntry entries[4];
  entries[0].Set(wxACCEL_CTRL,  (int) 'N',     ID_NEW_WINDOW);
  entries[1].Set(wxACCEL_CTRL,  (int) 'X',     wxID_EXIT);
  entries[2].Set(wxACCEL_SHIFT, (int) 'A',     ID_ABOUT);
  entries[3].Set(wxACCEL_NORMAL,  WXK_DELETE,    wxID_CUT);
  wxAcceleratorTable accel(4, entries);
  frame-&gt;SetAcceleratorTable(accel);
</pre>
</example>
<remarks>
<p>
An accelerator takes precedence over normal processing and can be a convenient
way to program some event handling. For example, you can use an accelerator
table to enable a dialog with a multi-line text control to accept CTRL-Enter as
meaning `OK' (but not in GTK+ at present).
</p>
</remarks>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/accel.h"/>
</includes>
<seealso>
<ref target="wxacceleratorentry">wxAcceleratorEntry</ref>
<ref target="wxwindowsetacceleratortable">wxWindow::SetAcceleratorTable</ref>
</seealso>
<members>
<member class="wxAcceleratorTable" name="wxAcceleratorTable">
<function type="" name="wxAcceleratorTable">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxAcceleratorTable">
<parameters>
<parameter type="const wxAcceleratorTable&amp; " name="bitmap"></parameter>
</parameters>
<description>
<p>
Copy constructor.
</p>
</description>
</function>
<function type="" name="wxAcceleratorTable">
<parameters>
<parameter type="int " name="n">
Number of accelerator entries.
</parameter>
<parameter type="wxAcceleratorEntry " name="entries[]"></parameter>
</parameters>
<description>
<p>
Creates from an array of
<ref target="wxacceleratorentry">wxAcceleratorEntry</ref>
objects.
</p>
</description>
</function>
<function type="" name="wxAcceleratorTable" specific="msw">
<parameters>
<parameter type="const wxString&amp; " name="resource">
Name of a Windows accelerator.
</parameter>
</parameters>
<description>
<p>
Loads the accelerator table from a Windows resource (Windows only).
</p>
</description>
</function>
</member>
<member class="wxAcceleratorTable" name="~wxAcceleratorTable">
<function type="" name="~wxAcceleratorTable">
<description>
<p>
Destroys the wxAcceleratorTable object.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorTable" name="Ok">
<function type="bool" name="Ok" suffix="const">
<description>
<p>
Returns true if the accelerator table is valid.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorTable" name="operator $=$">
<function type="wxAcceleratorTable&amp; " name="operator $=$">
<parameters>
<parameter type="const wxAcceleratorTable&amp; " name="accel">
Accelerator table to assign.
</parameter>
</parameters>
<returnvalue>
Returns reference to this object.
</returnvalue>
<description>
<p>
Assignment operator. This operator does not copy any data, but instead passes a
pointer to the data in
<i>accel</i>
and increments a reference counter. It is a fast operation.
</p>
</description>
</function>
</member>
<member class="wxAcceleratorTable" name="operator $==$">
<function type="bool" name="operator $==$">
<parameters>
<parameter type="const wxAcceleratorTable&amp; " name="accel">
Accelerator table to compare with
</parameter>
</parameters>
<returnvalue>
Returns true if the accelerator tables were effectively equal, false otherwise.
</returnvalue>
<description>
<p>
Equality operator. This operator tests whether the internal data pointers are
equal (a fast test).
</p>
</description>
</function>
</member>
<member class="wxAcceleratorTable" name="operator $!=$">
<function type="bool" name="operator $!=$">
<parameters>
<parameter type="const wxAcceleratorTable&amp; " name="accel">
Accelerator table to compare with
</parameter>
</parameters>
<returnvalue>
Returns true if the accelerator tables were unequal, false otherwise.
</returnvalue>
<description>
<p>
Inequality operator. This operator tests whether the internal data pointers are
unequal (a fast test).
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxAccessible" needdefine="wxACCESSIBILITY">
<description>
<p class="classdesc">
The wxAccessible class allows wxWidgets applications, and wxWidgets itself, to
return extended information about user interface elements to client applications
such as screen readers. This is the main way in which wxWidgets implements
accessibility features.
</p>
<p class="classdesc">
At present, only Microsoft Active Accessibility is supported by this class.
</p>
<p class="classdesc">
To use this class, derive from wxAccessible, implement appropriate functions,
and associate an object of the class with a window using
<ref target="wxwindowsetaccessible">wxWindow::SetAccessible</ref>
.
</p>
<p class="classdesc">
All functions return an indication of success, failure, or not implemented using
values of the wxAccStatus enum type.
</p>
<p class="classdesc">
If you return wxACC_NOT_IMPLEMENTED from any function, the system will try to
implement the appropriate functionality. However this will not work with all
functions.
</p>
<p class="classdesc">
Most functions work with an
<i>object id</i>
, which can be zero to refer to 'this' UI element, or greater than zero to refer
to the nth child element. This allows you to specify elements that don't have a
corresponding wxWindow or wxAccessible; for example, the sash of a splitter
window.
</p>
<p class="classdesc">
For details on the semantics of functions and types, please refer to the
Microsoft Active Accessibility 1.2 documentation.
</p>
<p class="classdesc">
This class is compiled into wxWidgets only if the wxUSE_ACCESSIBILITY setup
symbol is set to 1.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/access.h"/>
</includes>
<structs>
<p>
Functions return a wxAccStatus error code, which may be one of the following:
</p>
<pre>
typedef enum
{
    wxACC_FAIL,            // The function failed
    wxACC_FALSE,           // The function returned false
    wxACC_OK,              // The function completed successfully
    wxACC_NOT_IMPLEMENTED, // The function is not implemented
    wxACC_NOT_SUPPORTED    // The function is not supported
} wxAccStatus
</pre>
<p>
Directions of navigation are represented by the following:
</p>
<pre>
typedef enum
{
    wxNAVDIR_DOWN,
    wxNAVDIR_FIRSTCHILD,
    wxNAVDIR_LASTCHILD,
    wxNAVDIR_LEFT,
    wxNAVDIR_NEXT,
    wxNAVDIR_PREVIOUS,
    wxNAVDIR_RIGHT,
    wxNAVDIR_UP
} wxNavDir
</pre>
<p>
The role of a user interface element is represented by the following type:
</p>
<pre>
typedef enum {  
    wxROLE_NONE,
    wxROLE_SYSTEM_ALERT,
    wxROLE_SYSTEM_ANIMATION,
    wxROLE_SYSTEM_APPLICATION,
    wxROLE_SYSTEM_BORDER,
    wxROLE_SYSTEM_BUTTONDROPDOWN,
    wxROLE_SYSTEM_BUTTONDROPDOWNGRID,
    wxROLE_SYSTEM_BUTTONMENU,
    wxROLE_SYSTEM_CARET,
    wxROLE_SYSTEM_CELL,
    wxROLE_SYSTEM_CHARACTER,
    wxROLE_SYSTEM_CHART,
    wxROLE_SYSTEM_CHECKBUTTON,
    wxROLE_SYSTEM_CLIENT,
    wxROLE_SYSTEM_CLOCK,
    wxROLE_SYSTEM_COLUMN,
    wxROLE_SYSTEM_COLUMNHEADER,
    wxROLE_SYSTEM_COMBOBOX,
    wxROLE_SYSTEM_CURSOR,
    wxROLE_SYSTEM_DIAGRAM,
    wxROLE_SYSTEM_DIAL,
    wxROLE_SYSTEM_DIALOG,
    wxROLE_SYSTEM_DOCUMENT,
    wxROLE_SYSTEM_DROPLIST,
    wxROLE_SYSTEM_EQUATION,
    wxROLE_SYSTEM_GRAPHIC,
    wxROLE_SYSTEM_GRIP,
    wxROLE_SYSTEM_GROUPING,
    wxROLE_SYSTEM_HELPBALLOON,
    wxROLE_SYSTEM_HOTKEYFIELD,
    wxROLE_SYSTEM_INDICATOR,
    wxROLE_SYSTEM_LINK,
    wxROLE_SYSTEM_LIST,
    wxROLE_SYSTEM_LISTITEM,
    wxROLE_SYSTEM_MENUBAR,
    wxROLE_SYSTEM_MENUITEM,
    wxROLE_SYSTEM_MENUPOPUP,
    wxROLE_SYSTEM_OUTLINE,
    wxROLE_SYSTEM_OUTLINEITEM,
    wxROLE_SYSTEM_PAGETAB,
    wxROLE_SYSTEM_PAGETABLIST,
    wxROLE_SYSTEM_PANE,
    wxROLE_SYSTEM_PROGRESSBAR,
    wxROLE_SYSTEM_PROPERTYPAGE,
    wxROLE_SYSTEM_PUSHBUTTON,
    wxROLE_SYSTEM_RADIOBUTTON,
    wxROLE_SYSTEM_ROW,
    wxROLE_SYSTEM_ROWHEADER,
    wxROLE_SYSTEM_SCROLLBAR,
    wxROLE_SYSTEM_SEPARATOR,
    wxROLE_SYSTEM_SLIDER,
    wxROLE_SYSTEM_SOUND,
    wxROLE_SYSTEM_SPINBUTTON,
    wxROLE_SYSTEM_STATICTEXT,
    wxROLE_SYSTEM_STATUSBAR,
    wxROLE_SYSTEM_TABLE,
    wxROLE_SYSTEM_TEXT,
    wxROLE_SYSTEM_TITLEBAR,
    wxROLE_SYSTEM_TOOLBAR,
    wxROLE_SYSTEM_TOOLTIP,
    wxROLE_SYSTEM_WHITESPACE,
    wxROLE_SYSTEM_WINDOW
} wxAccRole
</pre>
<p>
Objects are represented by the following type:
</p>
<pre>
typedef enum {
    wxOBJID_WINDOW =    0x00000000,
    wxOBJID_SYSMENU =   0xFFFFFFFF,
    wxOBJID_TITLEBAR =  0xFFFFFFFE,
    wxOBJID_MENU =      0xFFFFFFFD,
    wxOBJID_CLIENT =    0xFFFFFFFC,
    wxOBJID_VSCROLL =   0xFFFFFFFB,
    wxOBJID_HSCROLL =   0xFFFFFFFA,
    wxOBJID_SIZEGRIP =  0xFFFFFFF9,
    wxOBJID_CARET =     0xFFFFFFF8,
    wxOBJID_CURSOR =    0xFFFFFFF7,
    wxOBJID_ALERT =     0xFFFFFFF6,
    wxOBJID_SOUND =     0xFFFFFFF5
} wxAccObject
</pre>
<p>
Selection actions are identified by this type:
</p>
<pre>
typedef enum
{
    wxACC_SEL_NONE            = 0,
    wxACC_SEL_TAKEFOCUS       = 1,
    wxACC_SEL_TAKESELECTION   = 2,
    wxACC_SEL_EXTENDSELECTION = 4,
    wxACC_SEL_ADDSELECTION    = 8,
    wxACC_SEL_REMOVESELECTION = 16
} wxAccSelectionFlags
</pre>
<p>
States are represented by the following:
</p>
<pre>
#define wxACC_STATE_SYSTEM_ALERT_HIGH       0x00000001
#define wxACC_STATE_SYSTEM_ALERT_MEDIUM     0x00000002
#define wxACC_STATE_SYSTEM_ALERT_LOW        0x00000004
#define wxACC_STATE_SYSTEM_ANIMATED         0x00000008
#define wxACC_STATE_SYSTEM_BUSY             0x00000010
#define wxACC_STATE_SYSTEM_CHECKED          0x00000020
#define wxACC_STATE_SYSTEM_COLLAPSED        0x00000040
#define wxACC_STATE_SYSTEM_DEFAULT          0x00000080
#define wxACC_STATE_SYSTEM_EXPANDED         0x00000100
#define wxACC_STATE_SYSTEM_EXTSELECTABLE    0x00000200
#define wxACC_STATE_SYSTEM_FLOATING         0x00000400
#define wxACC_STATE_SYSTEM_FOCUSABLE        0x00000800
#define wxACC_STATE_SYSTEM_FOCUSED          0x00001000
#define wxACC_STATE_SYSTEM_HOTTRACKED       0x00002000
#define wxACC_STATE_SYSTEM_INVISIBLE        0x00004000
#define wxACC_STATE_SYSTEM_MARQUEED         0x00008000
#define wxACC_STATE_SYSTEM_MIXED            0x00010000
#define wxACC_STATE_SYSTEM_MULTISELECTABLE  0x00020000
#define wxACC_STATE_SYSTEM_OFFSCREEN        0x00040000
#define wxACC_STATE_SYSTEM_PRESSED          0x00080000
#define wxACC_STATE_SYSTEM_PROTECTED        0x00100000
#define wxACC_STATE_SYSTEM_READONLY         0x00200000
#define wxACC_STATE_SYSTEM_SELECTABLE       0x00400000
#define wxACC_STATE_SYSTEM_SELECTED         0x00800000
#define wxACC_STATE_SYSTEM_SELFVOICING      0x01000000
#define wxACC_STATE_SYSTEM_UNAVAILABLE      0x02000000
</pre>
<p>
Event identifiers that can be sent via
<ref target="wxaccessiblenotifyevent">wxAccessible::NotifyEvent</ref>
are as follows:
</p>
<pre>
#define wxACC_EVENT_SYSTEM_SOUND              0x0001
#define wxACC_EVENT_SYSTEM_ALERT              0x0002
#define wxACC_EVENT_SYSTEM_FOREGROUND         0x0003
#define wxACC_EVENT_SYSTEM_MENUSTART          0x0004
#define wxACC_EVENT_SYSTEM_MENUEND            0x0005
#define wxACC_EVENT_SYSTEM_MENUPOPUPSTART     0x0006
#define wxACC_EVENT_SYSTEM_MENUPOPUPEND       0x0007
#define wxACC_EVENT_SYSTEM_CAPTURESTART       0x0008
#define wxACC_EVENT_SYSTEM_CAPTUREEND         0x0009
#define wxACC_EVENT_SYSTEM_MOVESIZESTART      0x000A
#define wxACC_EVENT_SYSTEM_MOVESIZEEND        0x000B
#define wxACC_EVENT_SYSTEM_CONTEXTHELPSTART   0x000C
#define wxACC_EVENT_SYSTEM_CONTEXTHELPEND     0x000D
#define wxACC_EVENT_SYSTEM_DRAGDROPSTART      0x000E
#define wxACC_EVENT_SYSTEM_DRAGDROPEND        0x000F
#define wxACC_EVENT_SYSTEM_DIALOGSTART        0x0010
#define wxACC_EVENT_SYSTEM_DIALOGEND          0x0011
#define wxACC_EVENT_SYSTEM_SCROLLINGSTART     0x0012
#define wxACC_EVENT_SYSTEM_SCROLLINGEND       0x0013
#define wxACC_EVENT_SYSTEM_SWITCHSTART        0x0014
#define wxACC_EVENT_SYSTEM_SWITCHEND          0x0015
#define wxACC_EVENT_SYSTEM_MINIMIZESTART      0x0016
#define wxACC_EVENT_SYSTEM_MINIMIZEEND        0x0017
#define wxACC_EVENT_OBJECT_CREATE                 0x8000
#define wxACC_EVENT_OBJECT_DESTROY                0x8001
#define wxACC_EVENT_OBJECT_SHOW                   0x8002
#define wxACC_EVENT_OBJECT_HIDE                   0x8003
#define wxACC_EVENT_OBJECT_REORDER                0x8004
#define wxACC_EVENT_OBJECT_FOCUS                  0x8005
#define wxACC_EVENT_OBJECT_SELECTION              0x8006
#define wxACC_EVENT_OBJECT_SELECTIONADD           0x8007
#define wxACC_EVENT_OBJECT_SELECTIONREMOVE        0x8008
#define wxACC_EVENT_OBJECT_SELECTIONWITHIN        0x8009
#define wxACC_EVENT_OBJECT_STATECHANGE            0x800A
#define wxACC_EVENT_OBJECT_LOCATIONCHANGE         0x800B
#define wxACC_EVENT_OBJECT_NAMECHANGE             0x800C
#define wxACC_EVENT_OBJECT_DESCRIPTIONCHANGE      0x800D
#define wxACC_EVENT_OBJECT_VALUECHANGE            0x800E
#define wxACC_EVENT_OBJECT_PARENTCHANGE           0x800F
#define wxACC_EVENT_OBJECT_HELPCHANGE             0x8010
#define wxACC_EVENT_OBJECT_DEFACTIONCHANGE        0x8011
#define wxACC_EVENT_OBJECT_ACCELERATORCHANGE      0x8012
</pre>
</structs>
<members>
<member class="wxAccessible" name="wxAccessible">
<function type="" name="wxAccessible">
<parameters>
<parameter type="wxWindow&#42; " name="win" value="NULL"></parameter>
</parameters>
<description>
<p>
Constructor, taking an optional window. The object can be associated with a
window later.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="~wxAccessible">
<function type="" name="~wxAccessible">
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="DoDefaultAction">
<function type="virtual wxAccStatus" name="DoDefaultAction">
<parameters>
<parameter type="int " name="childId"></parameter>
</parameters>
<description>
<p>
Performs the default action for the object.
<i>childId</i>
is 0 (the action for this object) or greater than 0 (the action for a child).
Return wxACC_NOT_SUPPORTED if there is no default action for this window (e.g.
an edit control).
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetChild">
<function type="virtual wxAccStatus" name="GetChild">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxAccessible&#42;&#42; " name="child"></parameter>
</parameters>
<description>
<p>
Gets the specified child (starting from 1). If
<i>child</i>
is NULL and the return value is wxACC_OK, this means that the child is a simple
element and not an accessible object.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetChildCount">
<function type="virtual wxAccStatus" name="GetChildCount">
<parameters>
<parameter type="int&#42; " name="childCount"></parameter>
</parameters>
<description>
<p>
Returns the number of children in
<i>childCount</i>
.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetDefaultAction">
<function type="virtual wxAccStatus" name="GetDefaultAction">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxString&#42; " name="actionName"></parameter>
</parameters>
<description>
<p>
Gets the default action for this object (0) or a child (greater than 0). Return
wxACC_OK even if there is no action.
<i>actionName</i>
is the action, or the empty string if there is no action. The retrieved string
describes the action that is performed on an object, not what the object does as
a result. For example, a toolbar button that prints a document has a default
action of &quot;Press&quot; rather than &quot;Prints the current document.&quot;
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetDescription">
<function type="virtual wxAccStatus" name="GetDescription">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxString&#42; " name="description"></parameter>
</parameters>
<description>
<p>
Returns the description for this object or a child.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetFocus">
<function type="virtual wxAccStatus" name="GetFocus">
<parameters>
<parameter type="int&#42; " name="childId"></parameter>
<parameter type="wxAccessible&#42;&#42; " name="child"></parameter>
</parameters>
<description>
<p>
Gets the window with the keyboard focus. If childId is 0 and child is NULL, no
object in this subhierarchy has the focus. If this object has the focus, child
should be 'this'.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetHelpText">
<function type="virtual wxAccStatus" name="GetHelpText">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxString&#42; " name="helpText"></parameter>
</parameters>
<description>
<p>
Returns help text for this object or a child, similar to tooltip text.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetKeyboardShortcut">
<function type="virtual wxAccStatus" name="GetKeyboardShortcut">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxString&#42; " name="shortcut"></parameter>
</parameters>
<description>
<p>
Returns the keyboard shortcut for this object or child. Return e.g. ALT+K.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetLocation">
<function type="virtual wxAccStatus" name="GetLocation">
<parameters>
<parameter type="wxRect&amp; " name="rect"></parameter>
<parameter type="int " name="elementId"></parameter>
</parameters>
<description>
<p>
Returns the rectangle for this object (id is 0) or a child element (id is
greater than 0).
<i>rect</i>
is in screen coordinates.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetName">
<function type="virtual wxAccStatus" name="GetName">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxString&#42; " name="name"></parameter>
</parameters>
<description>
<p>
Gets the name of the specified object.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetParent">
<function type="virtual wxAccStatus" name="GetParent">
<parameters>
<parameter type="wxAccessible&#42;&#42; " name="parent"></parameter>
</parameters>
<description>
<p>
Returns the parent of this object, or NULL.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetRole">
<function type="virtual wxAccStatus" name="GetRole">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxAccRole&#42; " name="role"></parameter>
</parameters>
<description>
<p>
Returns a role constant describing this object. See
<ref target="wxaccessible">wxAccessible</ref>
for a list of these roles.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetSelections">
<function type="virtual wxAccStatus" name="GetSelections">
<parameters>
<parameter type="wxVariant&#42; " name="selections"></parameter>
</parameters>
<description>
<p>
Gets a variant representing the selected children of this object.
</p>
<p>
Acceptable values are:
</p>
<p>
<ul>
<li>a null variant (IsNull() returns TRUE)</li>
<li>a list variant (GetType() == wxT(&quot;list&quot;))</li>
<li>an integer representing the selected child element, or 0 if this object is
selected (GetType() == wxT(&quot;long&quot;))</li>
<li>a &quot;void&#42;&quot; pointer to a wxAccessible child object</li>
</ul>
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetState">
<function type="virtual wxAccStatus" name="GetState">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="long&#42; " name="state"></parameter>
</parameters>
<description>
<p>
Returns a state constant. See
<ref target="wxaccessible">wxAccessible</ref>
for a list of these states.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetValue">
<function type="virtual wxAccStatus" name="GetValue">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxString&#42; " name="strValue"></parameter>
</parameters>
<description>
<p>
Returns a localized string representing the value for the object or child.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="GetWindow">
<function type="wxWindow&#42;" name="GetWindow">
<description>
<p>
Returns the window associated with this object.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="HitTest">
<function type="virtual wxAccStatus" name="HitTest">
<parameters>
<parameter type="const wxPoint&amp; " name="pt"></parameter>
<parameter type="int&#42; " name="childId"></parameter>
<parameter type="wxAccessible&#42;&#42; " name="childObject"></parameter>
</parameters>
<description>
<p>
Returns a status value and object id to indicate whether the given point was on
this or a child object. Can return either a child object, or an integer
representing the child element, starting from 1.
</p>
<p>
<i>pt</i>
is in screen coordinates.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="Navigate">
<function type="virtual wxAccStatus" name="Navigate">
<parameters>
<parameter type="wxNavDir " name="navDir"></parameter>
<parameter type="int " name="fromId"></parameter>
<parameter type="int&#42; " name="toId"></parameter>
<parameter type="wxAccessible&#42;&#42; " name="toObject"></parameter>
</parameters>
<description>
<p>
Navigates from
<i>fromId</i>
to
<i>toId</i>
/
<i>toObject</i>
.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="NotifyEvent">
<function type="virtual static void" name="NotifyEvent">
<parameters>
<parameter type="int " name="eventType"></parameter>
<parameter type="wxWindow&#42; " name="window"></parameter>
<parameter type="wxAccObject " name="objectType"></parameter>
<parameter type="int " name="objectType"></parameter>
</parameters>
<description>
<p>
Allows the application to send an event when something changes in an accessible
object.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="Select">
<function type="virtual wxAccStatus" name="Select">
<parameters>
<parameter type="int " name="childId"></parameter>
<parameter type="wxAccSelectionFlags " name="selectFlags"></parameter>
</parameters>
<description>
<p>
Selects the object or child. See
<ref target="wxaccessible">wxAccessible</ref>
for a list of the selection actions.
</p>
</description>
</function>
</member>
<member class="wxAccessible" name="SetWindow">
<function type="void" name="SetWindow">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
</parameters>
<description>
<p>
Sets the window associated with this object.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxActivateEvent">
<description>
<p class="classdesc">
An activate event is sent when a window or application is being activated or
deactivated.
</p>
</description>
<category>Events</category>
<shortdesc>A window or application activation event</shortdesc>
<remarks>
<p>
A top-level window (a dialog or frame) receives an activate event when is being
activated or deactivated. This is indicated visually by the title bar changing
colour, and a subwindow gaining the keyboard focus.
</p>
<p>
An application is activated or deactivated when one of its frames becomes
activated, or a frame becomes inactivate resulting in all application frames
being inactive. (Windows only)
</p>
<p>
Please note that usually you should call
<ref target="wxeventskip">event.Skip()</ref>
in your handlers for these events as not doing so can result in strange effects.
</p>
</remarks>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/event.h"/>
</includes>
<events>
<event name="EVT_ACTIVATE(func)">Process a wxEVT_ACTIVATE event.</event>
<event name="EVT_ACTIVATE_APP(func)">Process a wxEVT_ACTIVATE_APP event.</event>
<event name="EVT_HIBERNATE(func)">Process a hibernate event, supplying the member function.
This event applies to wxApp only, and only on Windows SmartPhone and PocketPC. It is generated when the
system is low on memory; the application should free up as much memory as possible, and restore
full working when it receives a wxEVT_ACTIVATE or wxEVT_ACTIVATE_APP event.</event>
</events>
<seealso>
<ref target="eventhandlingoverview">Event handling overview</ref>
,
<ref target="wxappisactive">wxApp::IsActive</ref>
</seealso>
<members>
<member class="wxActivateEvent" name="wxActivateEvent">
<function type="" name="wxActivateEvent">
<parameters>
<parameter type="WXTYPE " name="eventType" value="0"></parameter>
<parameter type="bool " name="active" value="true"></parameter>
<parameter type="int " name="id" value="0"></parameter>
</parameters>
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxActivateEvent" name="GetActive">
<function type="bool" name="GetActive" suffix="const">
<description>
<p>
Returns true if the application or window is being activated, false otherwise.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxApp">
<description>
<p class="classdesc">
The
<b>wxApp</b>
class represents the application itself. It is used to:
</p>
<p class="classdesc">
<ul>
<li>set and get application-wide properties;</li>
<li>implement the windowing system message or event loop;</li>
<li>initiate application processing via
<ref target="wxapponinit">wxApp::OnInit</ref>
;</li>
<li>allow default processing of events not handled by other objects in the
application.</li>
</ul>
</p>
<p class="classdesc">
You should use the macro IMPLEMENT_APP(appClass) in your application
implementation file to tell wxWidgets how to create an instance of your
application class.
</p>
<p class="classdesc">
Use DECLARE_APP(appClass) in a header file if you want the wxGetApp function
(which returns a reference to your application object) to be visible to other
files.
</p>
</description>
<category>Miscellaneous</category>
<shortdesc>Application class</shortdesc>
<parents>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/app.h"/>
</includes>
<seealso>
<ref target="wxappoverview">wxApp overview</ref>
</seealso>
<members>
<member class="wxApp" name="wxApp">
<function type="" name="wxApp">
<description>
<p>
Constructor. Called implicitly with a definition of a wxApp object.
</p>
</description>
</function>
</member>
<member class="wxApp" name="~wxApp">
<function type="" name="~wxApp">
<description>
<p>
Destructor. Will be called implicitly on program exit if the wxApp object is
created on the stack.
</p>
</description>
</function>
</member>
<member class="wxApp" name="argc"></member>
<member class="wxApp" name="argv"></member>
<member class="wxApp" name="CreateLogTarget">
<function type="virtual wxLog&#42;" name="CreateLogTarget">
<seealso>
<ref target="wxlog">wxLog</ref>
</seealso>
<description>
<p>
Creates a wxLog class for the application to use for logging errors. The default
implementation returns a new wxLogGui class.
</p>
</description>
</function>
</member>
<member class="wxApp" name="Dispatch">
<function type="virtual void" name="Dispatch">
<seealso>
<ref target="wxapppending">wxApp::Pending</ref>
</seealso>
<description>
<p>
Dispatches the next event in the windowing system event queue.
</p>
<p>
This can be used for programming event loops, e.g.
</p>
<pre>
  while (app.Pending())
    Dispatch();
</pre>
</description>
</function>
</member>
<member class="wxApp" name="ExitMainLoop">
<function type="virtual void" name="ExitMainLoop">
<description>
<p>
Call this to explicitly exit the main message (event) loop. You should normally
exit the main loop (and the application) by deleting the top window.
</p>
</description>
</function>
</member>
<member class="wxApp" name="FilterEvent">
<function type="int" name="FilterEvent">
<parameters>
<parameter type="wxEvent&amp; " name="event"></parameter>
</parameters>
<description>
<p>
This function is called before processing any event and allows the application
to preempt the processing of some events. If this method returns $-1$ the event
is processed normally, otherwise either
<tt>true</tt>
or
<tt>false</tt>
should be returned and the event processing stops immediately considering that
the event had been already processed (for the former return value) or that it is
not going to be processed at all (for the latter one).
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetAppName">
<function type="wxString" name="GetAppName" suffix="const">
<remarks>
<p>
wxWidgets sets this to a reasonable default before calling
<ref target="wxapponinit">wxApp::OnInit</ref>
, but the application can reset it at will.
</p>
</remarks>
<description>
<p>
Returns the application name.
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetClassName">
<function type="wxString" name="GetClassName" suffix="const">
<seealso>
<ref target="wxappsetclassname">wxApp::SetClassName</ref>
</seealso>
<description>
<p>
Gets the class name of the application. The class name may be used in a platform
specific manner to refer to the application.
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetExitOnFrameDelete">
<function type="bool" name="GetExitOnFrameDelete" suffix="const">
<seealso>
<ref target="wxappsetexitonframedelete">wxApp::SetExitOnFrameDelete</ref>
,
<br/>
<ref target="wxappshutdownoverview">wxApp shutdown overview</ref>
</seealso>
<description>
<p>
Returns true if the application will exit when the top-level window is deleted,
false otherwise.
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetInstance">
<function type="static wxAppConsole &#42;" name="GetInstance">
<seealso>
<ref target="wxappsetinstance">wxApp::SetInstance</ref>
</seealso>
<description>
<p>
Returns the one and only global application object. Usually
<tt>wxTheApp</tt>
is usead instead.
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetTopWindow">
<function type="virtual wxWindow &#42;" name="GetTopWindow" suffix="const">
<seealso>
<ref target="wxappsettopwindow">SetTopWindow</ref>
</seealso>
<remarks>
<p>
If the top window hasn't been set using
<ref target="wxappsettopwindow">wxApp::SetTopWindow</ref>
, this function will find the first top-level window (frame or dialog) and
return that.
</p>
</remarks>
<description>
<p>
Returns a pointer to the top window.
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetUseBestVisual">
<function type="bool" name="GetUseBestVisual" suffix="const">
<seealso>
<ref target="wxappsetusebestvisual">SetUseBestVisual</ref>
</seealso>
<description>
<p>
Returns true if the application will use the best visual on systems that support
different visuals, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxApp" name="GetVendorName">
<function type="wxString" name="GetVendorName" suffix="const">
<description>
<p>
Returns the application's vendor name.
</p>
</description>
</function>
</member>
<member class="wxApp" name="IsActive">
<function type="bool" name="IsActive" suffix="const">
<description>
<p>
Returns true if the application is active, i.e. if one of its windows is
currently in the foreground. If this function returns false and you need to
attract users attention to the application, you may use
<ref target="wxtoplevelwindowrequestuserattention">wxTopLevelWindow::RequestUserAttention</ref>
to do it.
</p>
</description>
</function>
</member>
<member class="wxApp" name="IsMainLoopRunning">
<function type="static bool" name="IsMainLoopRunning">
<description>
<p>
Returns true if the main event loop is currently running, i.e. if the
application is inside
<ref target="wxapponrun">OnRun</ref>
.
</p>
<p>
This can be useful to test whether the events can be dispatched. For example, if
this function returns false, non-blocking sockets cannot be used because the
events from them would never be processed.
</p>
</description>
</function>
</member>
<member class="wxApp" name="MainLoop">
<function type="virtual int" name="MainLoop">
<returnvalue>
Returns 0 under X, and the wParam of the WM_QUIT message under Windows.
</returnvalue>
<description>
<p>
Called by wxWidgets on creation of the application. Override this if you wish to
provide your own (environment-dependent) main loop.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnAssert" needdefine="__WXDEBUG__">
<function type="void" name="OnAssert">
<parameters>
<parameter type="const wxChar &#42;" name="file">
the name of the source file where the assert occurred
</parameter>
<parameter type="int " name="line">
the line number in this file where the assert occurred
</parameter>
<parameter type="const wxChar &#42;" name="cond">
the condition of the failed assert in string form
</parameter>
<parameter type="const wxChar &#42;" name="msg">
the message specified as argument to
<ref target="wxassertmsg">wxASSERT_MSG</ref>
or
<ref target="wxfailmsg">wxFAIL_MSG</ref>
, will be
<tt>NULL</tt>
if just
<ref target="wxassert">wxASSERT</ref>
or
<ref target="wxfail">wxFAIL</ref>
was used
</parameter>
</parameters>
<description>
<p>
This function is called when an assert failure occurs, i.e. the condition
specified in
<ref target="wxassert">wxASSERT</ref>
macro evaluated to
<tt>false</tt>
. It is only called in debug mode (when
<tt>__WXDEBUG__</tt>
is defined) as asserts are not left in the release code at all.
</p>
<p>
The base class version show the default assert failure dialog box proposing to
the user to stop the program, continue or ignore all subsequent asserts.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnCmdLineError">
<function type="bool" name="OnCmdLineError">
<parameters>
<parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
</parameters>
<seealso>
<ref target="wxapponinitcmdline">OnInitCmdLine</ref>
</seealso>
<description>
<p>
Called when command line parsing fails (i.e. an incorrect command line option
was specified by the user). The default behaviour is to show the program usage
text and abort the program.
</p>
<p>
Return
<tt>true</tt>
to continue normal execution or
<tt>false</tt>
to return
<tt>false</tt>
from
<ref target="wxapponinit">OnInit</ref>
thus terminating the program.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnCmdLineHelp">
<function type="bool" name="OnCmdLineHelp">
<parameters>
<parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
</parameters>
<seealso>
<ref target="wxapponinitcmdline">OnInitCmdLine</ref>
</seealso>
<description>
<p>
Called when the help option (
<tt>--help</tt>
) was specified on the command line. The default behaviour is to show the
program usage text and abort the program.
</p>
<p>
Return
<tt>true</tt>
to continue normal execution or
<tt>false</tt>
to return
<tt>false</tt>
from
<ref target="wxapponinit">OnInit</ref>
thus terminating the program.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnCmdLineParsed">
<function type="bool" name="OnCmdLineParsed">
<parameters>
<parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
</parameters>
<seealso>
<ref target="wxapponinitcmdline">OnInitCmdLine</ref>
</seealso>
<description>
<p>
Called after the command line had been successfully parsed. You may override
this method to test for the values of the various parameters which could be set
from the command line.
</p>
<p>
Don't forget to call the base class version unless you want to suppress
processing of the standard command line options.
</p>
<p>
Return
<tt>true</tt>
to continue normal execution or
<tt>false</tt>
to return
<tt>false</tt>
from
<ref target="wxapponinit">OnInit</ref>
thus terminating the program.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnExceptionInMainLoop">
<function type="virtual bool" name="OnExceptionInMainLoop">
<description>
<p>
This function is called if an unhandled exception occurs inside the main
application event loop. It can return true to ignore the exception and to
continue running the loop or false to exit the loop and terminate the program.
In the latter case it can also use C++
<tt>throw</tt>
keyword to rethrow the current exception.
</p>
<p>
The default behaviour of this function is the latter in all ports except under
Windows where a dialog is shown to the user which allows him to choose between
the different options. You may override this function in your class to do
something more appropriate.
</p>
<p>
Finally note that if the exception is rethrown from here, it can be caught in
<ref target="wxapponunhandledexception">OnUnhandledException</ref>
.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnExit">
<function type="virtual int" name="OnExit">
<description>
<p>
Override this member function for any processing which needs to be done as the
application is about to exit. OnExit is called after destroying all application
windows and controls, but before wxWidgets cleanup. Note that it is not called
at all if
<ref target="wxapponinit">OnInit</ref>
failed.
</p>
<p>
The return value of this function is currently ignored, return the same value as
returned by the base class method if you override it.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnFatalException">
<function type="void" name="OnFatalException">
<seealso>
<ref target="wxhandlefatalexceptions">wxHandleFatalExceptions</ref>
</seealso>
<description>
<p>
This function may be called if something fatal happens: an unhandled exception
under Win32 or a a fatal signal under Unix, for example. However, this will not
happen by default: you have to explicitly call
<ref target="wxhandlefatalexceptions">wxHandleFatalExceptions</ref>
to enable this.
</p>
<p>
Generally speaking, this function should only show a message to the user and
return. You may attempt to save unsaved data but this is not guaranteed to work
and, in fact, probably won't.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnInit">
<function type="bool" name="OnInit">
<description>
<p>
This must be provided by the application, and will usually create the
application's main window, optionally calling
<ref target="wxappsettopwindow">wxApp::SetTopWindow</ref>
. You may use
<ref target="wxapponexit">OnExit</ref>
to clean up anything initialized here, provided that the function returns true.
</p>
<p>
Notice that if you want to to use the command line processing provided by
wxWidgets you have to call the base class version in the derived class OnInit().
</p>
<p>
Return true to continue processing, false to exit the application immediately.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnInitCmdLine">
<function type="void" name="OnInitCmdLine">
<parameters>
<parameter type="wxCmdLineParser&amp; " name="parser"></parameter>
</parameters>
<description>
<p>
Called from
<ref target="wxapponinit">OnInit</ref>
and may be used to initialize the parser with the command line options for this
application. The base class versions adds support for a few standard options
only.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnRun">
<function type="virtual int" name="OnRun">
<description>
<p>
This virtual function is where the execution of a program written in wxWidgets
starts. The default implementation just enters the main loop and starts handling
the events until it terminates, either because
<ref target="wxappexitmainloop">ExitMainLoop</ref>
has been explicitly called or because the last frame has been deleted and
<ref target="wxappgetexitonframedelete">GetExitOnFrameDelete</ref>
flag is true (this is the default).
</p>
<p>
The return value of this function becomes the exit code of the program, so it
should return 0 in case of successful termination.
</p>
</description>
</function>
</member>
<member class="wxApp" name="OnUnhandledException">
<function type="virtual void" name="OnUnhandledException">
<description>
<p>
This function is called when an unhandled C++ exception occurs inside
<ref target="wxapponrun">OnRun()</ref>
(the exceptions which occur during the program startup and shutdown might not be
caught at all). Note that the exception type is lost by now, so if you want to
really handle the exception you should override
<ref target="wxapponrun">OnRun()</ref>
and put a try/catch clause around the call to the base class version there.
</p>
</description>
</function>
</member>
<member class="wxApp" name="ProcessMessage">
<function type="bool" name="ProcessMessage" specific="msw">
<parameters>
<parameter type="WXMSG &#42;" name="msg"></parameter>
</parameters>
<description>
<p>
Windows-only function for processing a message. This function is called from the
main message loop, checking for windows that may wish to process it. The
function returns true if the message was processed, false otherwise. If you use
wxWidgets with another class library with its own message loop, you should make
sure that this function is called to allow wxWidgets to receive messages. For
example, to allow co-existence with the Microsoft Foundation Classes, override
the PreTranslateMessage function:
</p>
<pre>
// Provide wxWidgets message loop compatibility
BOOL CTheApp::PreTranslateMessage(MSG &#42;msg)
{
  if (wxTheApp &amp;&amp; wxTheApp-&gt;ProcessMessage((WXMSW &#42;)msg))
    return true;
  else
    return CWinApp::PreTranslateMessage(msg);
}
</pre>
</description>
</function>
</member>
<member class="wxApp" name="Pending">
<function type="virtual bool" name="Pending">
<seealso>
<ref target="wxappdispatch">wxApp::Dispatch</ref>
</seealso>
<description>
<p>
Returns true if unprocessed events are in the window system event queue.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SendIdleEvents">
<function type="bool" name="SendIdleEvents">
<parameters>
<parameter type="wxWindow&#42; " name="win"></parameter>
<parameter type="wxIdleEvent&amp; " name="event"></parameter>
</parameters>
<seealso>
<ref target="wxidleevent">wxIdleEvent</ref>
</seealso>
<remarks>
<p>
These functions poll the top-level windows, and their children, for idle event
processing. If true is returned, more OnIdle processing is requested by one or
more window.
</p>
</remarks>
<description>
<p>
Sends idle events to a window and its children.
</p>
<p>
Please note that this function is internal to wxWidgets and shouldn't be used by
user code.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SetAppName">
<function type="void" name="SetAppName">
<parameters>
<parameter type="const wxString&amp; " name="name"></parameter>
</parameters>
<seealso>
<ref target="wxappgetappname">wxApp::GetAppName</ref>
</seealso>
<description>
<p>
Sets the name of the application. The name may be used in dialogs (for example
by the document/view framework). A default name is set by wxWidgets.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SetClassName">
<function type="void" name="SetClassName">
<parameters>
<parameter type="const wxString&amp; " name="name"></parameter>
</parameters>
<seealso>
<ref target="wxappgetclassname">wxApp::GetClassName</ref>
</seealso>
<description>
<p>
Sets the class name of the application. This may be used in a platform specific
manner to refer to the application.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SetExitOnFrameDelete">
<function type="void" name="SetExitOnFrameDelete">
<parameters>
<parameter type="bool " name="flag">
If true (the default), the application will exit when the top-level frame is
deleted. If false, the application will continue to run.
</parameter>
</parameters>
<seealso>
<ref target="wxappgetexitonframedelete">wxApp::GetExitOnFrameDelete</ref>
,
<br/>
<ref target="wxappshutdownoverview">wxApp shutdown overview</ref>
</seealso>
<description>
<p>
Allows the programmer to specify whether the application will exit when the
top-level frame is deleted.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SetInstance">
<function type="static void" name="SetInstance">
<parameters>
<parameter type="wxAppConsole&#42; " name="app">
Replacement for the global application object.
</parameter>
</parameters>
<seealso>
<ref target="wxappgetinstance">wxApp::GetInstance</ref>
</seealso>
<description>
<p>
Allows external code to modify global
<tt>wxTheApp</tt>
, but you should really know what you're doing if you call it.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SetTopWindow">
<function type="void" name="SetTopWindow">
<parameters>
<parameter type="wxWindow&#42; " name="window">
The new top window.
</parameter>
</parameters>
<seealso>
<ref target="wxappgettopwindow">wxApp::GetTopWindow</ref>
<ref target="wxapponinit">wxApp::OnInit</ref>
</seealso>
<description></description>
</function>
</member>
<member class="wxApp" name="SetVendorName">
<function type="void" name="SetVendorName">
<parameters>
<parameter type="const wxString&amp; " name="name"></parameter>
</parameters>
<seealso>
<ref target="wxappgetvendorname">wxApp::GetVendorName</ref>
</seealso>
<description>
<p>
Sets the name of application's vendor. The name will be used in registry access.
A default name is set by wxWidgets.
</p>
</description>
</function>
</member>
<member class="wxApp" name="SetUseBestVisual">
<function type="void" name="SetUseBestVisual">
<parameters>
<parameter type="bool " name="flag">
If true, the app will use the best visual.
</parameter>
</parameters>
<description>
<p>
Allows the programmer to specify whether the application will use the best
visual on systems that support several visual on the same display. This is
typically the case under Solaris and IRIX, where the default visual is only
8-bit whereas certain applications are supposed to run in TrueColour mode.
</p>
<p>
Note that this function has to be called in the constructor of the
<tt>wxApp</tt>
instance and won't have any effect when called later on.
</p>
<p>
This function currently only has effect under GTK.
</p>
</description>
</function>
</member>
<member class="wxApp" name="HandleEvent">
<function type="virtual void" name="HandleEvent" suffix="const">
<parameters>
<parameter type="wxEvtHandler &#42;" name="handler"></parameter>
<parameter type="wxEventFunction " name="func"></parameter>
<parameter type="wxEvent&amp; " name="event"></parameter>
</parameters>
<description>
<p>
This function simply invokes the given method
<i>func</i>
of the specified event handler
<i>handler</i>
with the
<i>event</i>
as parameter. It exists solely to allow to catch the C++ exceptions which could
be thrown by all event handlers in the application in one place: if you want to
do this, override this function in your wxApp-derived class and add try/catch
clause(s) to it.
</p>
</description>
</function>
</member>
<member class="wxApp" name="Yield">
<function type="bool" name="Yield">
<parameters>
<parameter type="bool " name="onlyIfNeeded" value="false"></parameter>
</parameters>
<description>
<p>
Yields control to pending messages in the windowing system. This can be useful,
for example, when a time-consuming process writes to a text window. Without an
occasional yield, the text window will not be updated properly, and on systems
with cooperative multitasking, such as Windows 3.1 other processes will not
respond.
</p>
<p>
Caution should be exercised, however, since yielding may allow the user to
perform actions which are not compatible with the current task. Disabling menu
items or whole menus during processing can avoid unwanted reentrance of code:
see
<ref target="wxsafeyield">::wxSafeYield</ref>
for a better function.
</p>
<p>
Note that Yield() will not flush the message logs. This is intentional as
calling Yield() is usually done to quickly update the screen and popping up a
message box dialog may be undesirable. If you do wish to flush the log messages
immediately (otherwise it will be done during the next idle loop iteration),
call
<ref target="wxlogflushactive">wxLog::FlushActive</ref>
.
</p>
<p>
Calling Yield() recursively is normally an error and an assert failure is raised
in debug build if such situation is detected. However if the
<i>onlyIfNeeded</i>
parameter is
<tt>true</tt>
, the method will just silently return
<tt>false</tt>
instead.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxArchiveClassFactory" annotation="abstract">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to archive class
factories such as
<ref target="wxzipclassfactory">wxZipClassFactory</ref>
.
</p>
<p class="classdesc">
For each supported archive type (such as zip) there is a class factory derived
from wxArchiveClassFactory, which allows archive objects to be created in a
generic way, without knowing the particular type of archive being used.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/archive.h"/>
</includes>
<seealso>
<ref target="wxarc">Archive formats such as zip</ref>
<br/>
<ref target="wxarcgeneric">Generic archive programming</ref>
<br/>
<ref target="wxarchiveentry">wxArchiveEntry</ref>
<br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
<br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
</seealso>
<members>
<member class="wxArchiveClassFactory" name="Get/SetConv">
<function type="wxMBConv&amp;" name="GetConv" suffix="const">
<description></description>
</function>
<function type="void" name="SetConv">
<parameters>
<parameter type="wxMBConv&amp; " name="conv"></parameter>
</parameters>
<description>
<p>
The
<ref target="wxmbconv">wxMBConv</ref>
object that the created streams will use when translating meta-data. The initial
default, set by the constructor, is wxConvLocal.
</p>
</description>
</function>
</member>
<member class="wxArchiveClassFactory" name="GetInternalName">
<function type="wxString" name="GetInternalName" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="name"></parameter>
<parameter type="wxPathFormat " name="format" value="wxPATH_NATIVE"></parameter>
</parameters>
<description>
<p>
Calls the static GetInternalName() function for the archive entry type, for
example
<ref target="wxzipentrygetinternalname">wxZipEntry::GetInternalName()</ref>
.
</p>
</description>
</function>
</member>
<member class="wxArchiveClassFactory" name="NewEntry">
<function type="wxArchiveEntry&#42;" name="NewEntry" suffix="const">
<description>
<p>
Create a new
<ref target="wxarchiveentry">wxArchiveEntry</ref>
object of the appropriate type.
</p>
</description>
</function>
</member>
<member class="wxArchiveClassFactory" name="NewStream">
<function type="wxArchiveInputStream&#42;" name="NewStream" suffix="const">
<parameters>
<parameter type="wxInputStream&amp; " name="stream"></parameter>
</parameters>
<description></description>
</function>
<function type="wxArchiveOutputStream&#42;" name="NewStream" suffix="const">
<parameters>
<parameter type="wxOutputStream&amp; " name="stream"></parameter>
</parameters>
<description>
<p>
Create a new
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
or
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
of the appropriate type.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxArchiveEntry" annotation="abstract">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to archive entry
classes such as
<ref target="wxzipentry">wxZipEntry</ref>
. These hold the meta-data (filename, timestamp, etc.), for entries in archive
files such as zips and tars.
</p>
<p class="classdesc">
<heading>Non-seekable streams</heading>
</p>
<p class="classdesc">
This information applies only when reading archives from non-seekable streams.
When the stream is seekable
<ref target="wxarchiveinputstreamgetnextentry">GetNextEntry()</ref>
returns a fully populated
<ref target="wxarchiveentry">wxArchiveEntry</ref>
. See '
<ref target="wxarcnoseek">Archives on non-seekable streams</ref>
' for more information.
</p>
<p class="classdesc">
For generic programming, when the worst case must be assumed, you can rely on
all the fields of wxArchiveEntry being fully populated when GetNextEntry()
returns, with the the following exceptions:
</p>
<p class="classdesc">
<table>
<tr>
<td>
<ref target="wxarchiveentrysize">GetSize()</ref>
</td>
<td>Guaranteed to be
available after the entry has been read to <ref target="wxinputstreameof">Eof()</ref>,
or <ref target="wxarchiveinputstreamcloseentry">CloseEntry()</ref> has been called</td>
</tr>
<tr>
<td>
<ref target="wxarchiveentryisreadonly">IsReadOnly()</ref>
</td>
<td>Guaranteed to
be available after the end of the archive has been reached, i.e. after
GetNextEntry() returns NULL and Eof() is true</td>
</tr>
</table>
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/archive.h"/>
</includes>
<seealso>
<ref target="wxarc">Archive formats such as zip</ref>
<br/>
<ref target="wxarcgeneric">Generic archive programming</ref>
<br/>
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
<br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
<br/>
<ref target="wxarchivenotifier">wxArchiveNotifier</ref>
</seealso>
<members>
<member class="wxArchiveEntry" name="Clone">
<function type="wxArchiveEntry&#42;" name="Clone" suffix="const">
<description>
<p>
Returns a copy of this entry object.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="Get/SetDateTime">
<function type="wxDateTime" name="GetDateTime" suffix="const">
<description></description>
</function>
<function type="void" name="SetDateTime">
<parameters>
<parameter type="const wxDateTime&amp; " name="dt"></parameter>
</parameters>
<description>
<p>
The entry's timestamp.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="GetInternalFormat">
<function type="wxPathFormat" name="GetInternalFormat" suffix="const">
<description>
<p>
Returns the path format used internally within the archive to store filenames.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="GetInternalName">
<function type="wxString" name="GetInternalName" suffix="const">
<seealso>
<ref target="wxarcbyname">Looking up an archive entry by name</ref>
</seealso>
<description>
<p>
Returns the entry's filename in the internal format used within the archive. The
name can include directory components, i.e. it can be a full path.
</p>
<p>
The names of directory entries are returned without any trailing path separator.
This gives a canonical name that can be used in comparisons.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="Get/SetName">
<function type="wxString" name="GetName" suffix="const">
<parameters>
<parameter type="wxPathFormat " name="format" value="wxPATH_NATIVE"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetName">
<parameters>
<parameter type="const wxString&amp; " name="name"></parameter>
<parameter type="wxPathFormat " name="format" value="wxPATH_NATIVE"></parameter>
</parameters>
<description>
<p>
The entry's name, by default in the native format. The name can include
directory components, i.e. it can be a full path.
</p>
<p>
If this is a directory entry, (i.e. if
<ref target="wxarchiveentryisdir">IsDir()</ref>
is true) then GetName() returns the name with a trailing path separator.
</p>
<p>
Similarly, setting a name with a trailing path separator sets IsDir().
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="GetOffset">
<function type="off_t" name="GetOffset" suffix="const">
<description>
<p>
Returns a numeric value unique to the entry within the archive.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="Get/SetSize">
<function type="off_t" name="GetSize" suffix="const">
<description></description>
</function>
<function type="void" name="SetSize">
<parameters>
<parameter type="off_t " name="size"></parameter>
</parameters>
<description>
<p>
The size of the entry's data in bytes.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="IsDir/SetIsDir">
<function type="bool" name="IsDir" suffix="const">
<description></description>
</function>
<function type="void" name="SetIsDir">
<parameters>
<parameter type="bool " name="isDir" value="true"></parameter>
</parameters>
<description>
<p>
True if this is a directory entry.
</p>
<p>
Directory entries are entries with no data, which are used to store the
meta-data of directories. They also make it possible for completely empty
directories to be stored.
</p>
<p>
The names of entries within an archive can be complete paths, and unarchivers
typically create whatever directories are necessary as they restore files, even
if the archive contains no explicit directory entries.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="IsReadOnly/SetIsReadOnly">
<function type="bool" name="IsReadOnly" suffix="const">
<description></description>
</function>
<function type="void" name="SetIsReadOnly">
<parameters>
<parameter type="bool " name="isReadOnly" value="true"></parameter>
</parameters>
<description>
<p>
True if the entry is a read-only file.
</p>
</description>
</function>
</member>
<member class="wxArchiveEntry" name="Set/UnsetNotifier">
<function type="void" name="SetNotifier">
<parameters>
<parameter type="wxArchiveNotifier&amp; " name="notifier"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="UnsetNotifier">
<seealso>
<ref target="wxarcnoseek">Archives on non-seekable streams</ref>
<br/>
<ref target="wxarchivenotifier">wxArchiveNotifier</ref>
</seealso>
<description>
<p>
Sets the
<ref target="wxarchivenotifier">notifier</ref>
for this entry. Whenever the
<ref target="wxarchiveinputstream">wxArchiveInputStream</ref>
updates this entry, it will then invoke the associated notifier's
<ref target="wxarchivenotifieronentryupdated">OnEntryUpdated</ref>
method.
</p>
<p>
Setting a notifier is not usually necessary. It is used to handle certain cases
when modifying an archive in a pipeline (i.e. between non-seekable streams).
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxArchiveInputStream">
<description>
<p class="classdesc">
An abstract base class which serves as a common interface to archive input
streams such as
<ref target="wxzipinputstream">wxZipInputStream</ref>
.
</p>
<p class="classdesc">
<ref target="wxarchiveinputstreamgetnextentry">GetNextEntry()</ref>
returns an
<ref target="wxarchiveentry">wxArchiveEntry</ref>
object containing the meta-data for the next entry in the archive (and gives
away ownership). Reading from the wxArchiveInputStream then returns the entry's
data. Eof() becomes true after an attempt has been made to read past the end of
the entry's data. When there are no more entries, GetNextEntry() returns NULL
and sets Eof().
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxFilterInputStream">wxFilterInputStream</ref>
</parents>
<includes>
<header name="wx/archive.h"/>
</includes>
<structs>
<pre>
typedef wxArchiveEntry entry_type
</pre>
</structs>
<seealso>
<ref target="wxarc">Archive formats such as zip</ref>
<br/>
<ref target="wxarchiveentry">wxArchiveEntry</ref>
<br/>
<ref target="wxarchiveoutputstream">wxArchiveOutputStream</ref>
</seealso>
<members>
<member class="wxArchiveInputStream" name="CloseEntry">
<function type="bool" name="CloseEntry">
<description>
<p>
Closes the current entry. On a non-seekable stream reads to the end of the
current entry first.
</p>
</description>
</function>
</member>
<member class="wxArchiveInputStream" name="GetNextEntry">
<function type="wxArchiveEntry&#42;" name="GetNextEntry">
<description>
<p>
Closes the current entry if one is open, then reads the meta-data for the next
entry and returns it in a
<ref target="wxarchiveentry">wxArchiveEntry</ref>
object, giving away ownership. Reading this wxArchiveInputStream then returns
the entry's data.
</p>
</description>
</function>
</member>
<member class="wxArchiveInputStream" name="OpenEntry">
<function type="bool" name="OpenEntry">
<parameters>
<parameter type="wxArchiveEntry&amp; " name="entry"></parameter>
</parameters>
<seealso>
<ref target="wxarcbyname">Looking up an archive entry by name</ref>
</seealso>
<description>
<p>
Closes the current entry if one is open, then opens the entry specified by the
<ref target="wxarchiveentry">wxArchiveEntry</ref>
object.
</p>
<p>
<i>entry</i>
must be from the same archive file that this wxArchiveInputStream is reading,
and it must be reading it from a seekable stream.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxArchiveIterator" needdefine="wxUSE_STL">
<description>
<p class="classdesc">
An input iterator template class that can be used to transfer an archive's
catalogue to a container. It is only available if wxUSE_STL is set to 1 in
setup.h, and the uses for it outlined below require a compiler which supports
member templates.
</p>
<p class="classdesc">
<pre>
template &lt;class Arc, class T = typename Arc::entry_type&#42;&gt;
class wxArchiveIterator
{
    // this constructor creates an 'end of sequence' object
    wxArchiveIterator();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

...

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

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

...

wxArrayString array;

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

array.Sort(CompareStringLen);
</pre>
<p>
<b>Warning:</b>
this function should not be used with sorted array because it could break the
order of items and, for example, subsequent calls to
<ref target="wxarraystringindex">Index()</ref>
would then not work!
</p>
</example>
<description>
<p>
Sorts the array using the specified
<i>compareFunction</i>
for item comparison.
<i>CompareFunction</i>
is defined as a function taking two
<i>const
wxString&amp;</i>
parameters and returning an
<i>int</i>
value less than, equal to or greater than 0 if the first string is less than,
equal to or greater than the second one.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxArtProvider" annotation="abstract">
<description>
<p class="classdesc">
wxArtProvider class is used to customize the look of wxWidgets application. When
wxWidgets needs to display an icon or a bitmap (e.g. in the standard file
dialog), it does not use a hard-coded resource but asks wxArtProvider for it
instead. This way users can plug in their own wxArtProvider class and easily
replace standard art with their own version. All that is needed is to derive a
class from wxArtProvider, override its
<ref target="wxartprovidercreatebitmap">CreateBitmap</ref>
method and register the provider with
<ref target="wxartproviderpushprovider">wxArtProvider::PushProvider</ref>
:
</p>
<p class="classdesc">
<pre>
  class MyProvider : public wxArtProvider
  {
  protected:
    wxBitmap CreateBitmap(const wxArtID&amp; id, 
                          const wxArtClient&amp; client,
                          const wxSize size)
    { ... }
  };
  ...
  wxArtProvider::PushProvider(new MyProvider);
</pre>
</p>
<p class="classdesc">
There's another way of taking advantage of this class: you can use it in your
code and use platform native icons as provided by
<ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref>
or
<ref target="wxartprovidergeticon">wxArtProvider::GetIcon</ref>
(NB: this is not yet really possible as of wxWidgets 2.3.3, the set of
wxArtProvider bitmaps is too small).
</p>
<p class="classdesc">
<ref type="membersection" target="Identifying art resources">Identifying art resources</ref>
<ref target="artprovideridentifying"/>
</p>
<p class="classdesc">
Every bitmap is known to wxArtProvider under an unique ID that is used by when
requesting a resource from it. The ID is represented by wxArtID type and can
have one of these predefined values (you can see bitmaps represented by these
constants in the
<ref target="sampleartprovider">artprov</ref>
sample):
<ul>
<li>wxART_ADD_BOOKMARK</li>
<li>wxART_DEL_BOOKMARK</li>
<li>wxART_HELP_SIDE_PANEL</li>
<li>wxART_HELP_SETTINGS</li>
<li>wxART_HELP_BOOK</li>
<li>wxART_HELP_FOLDER</li>
<li>wxART_HELP_PAGE</li>
<li>wxART_GO_BACK</li>
<li>wxART_GO_FORWARD</li>
<li>wxART_GO_UP</li>
<li>wxART_GO_DOWN</li>
<li>wxART_GO_TO_PARENT</li>
<li>wxART_GO_HOME</li>
<li>wxART_FILE_OPEN</li>
<li>wxART_PRINT</li>
<li>wxART_HELP</li>
<li>wxART_TIP</li>
<li>wxART_REPORT_VIEW</li>
<li>wxART_LIST_VIEW</li>
<li>wxART_NEW_DIR</li>
<li>wxART_FOLDER</li>
<li>wxART_GO_DIR_UP</li>
<li>wxART_EXECUTABLE_FILE</li>
<li>wxART_NORMAL_FILE</li>
<li>wxART_TICK_MARK</li>
<li>wxART_CROSS_MARK</li>
<li>wxART_ERROR</li>
<li>wxART_QUESTION</li>
<li>wxART_WARNING</li>
<li>wxART_INFORMATION</li>
<li>wxART_MISSING_IMAGE</li>
</ul>
</p>
<p class="classdesc">
Additionally, any string recognized by custom art providers registered using
<ref target="wxartproviderpushprovider">PushProvider</ref>
may be used.
</p>
<p class="classdesc">
<heading>GTK+ Note</heading>
</p>
<p class="classdesc">
When running under GTK+ 2, GTK+ stock item IDs (e.g.
<tt>&quot;gtk-cdrom&quot;</tt>
) may be used as well. Additionally, if wxGTK was compiled against GTK+ &gt;=
2.4, then it is also possible to load icons from current icon theme by
specifying their name (without extension and directory components). Icon themes
recognized by GTK+ follow the
<a href="freedesktop.org Icon Themes specification">http://freedesktop.org/Standards/icon-theme-spec</a>
. Note that themes are not guaranteed to contain all icons, so wxArtProvider may
return
<tt>wxNullBitmap</tt>
or
<tt>wxNullIcon</tt>
. Default theme is typically installed in
<tt>/usr/share/icons/hicolor</tt>
.
</p>
<p class="classdesc">
<ref type="membersection" target="Clients">Clients</ref>
<ref target="artproviderclients"/>
</p>
<p class="classdesc">
Client is the entity that calls wxArtProvider's GetBitmap or GetIcon function.
It is represented by wxClientID type and can have one of these values:
<ul>
<li>wxART_TOOLBAR</li>
<li>wxART_MENU</li>
<li>wxART_BUTTON</li>
<li>wxART_FRAME_ICON</li>
<li>wxART_CMN_DIALOG</li>
<li>wxART_HELP_BROWSER</li>
<li>wxART_MESSAGE_BOX</li>
<li>wxART_OTHER (used for all requests that don't fit into any of the categories
above)</li>
</ul>
Client ID servers as a hint to wxArtProvider that is supposed to help it to
choose the best looking bitmap. For example it is often desirable to use
slightly different icons in menus and toolbars even though they represent the
same action (e.g.
<tt>wx_ART_FILE_OPEN</tt>
). Remember that this is really only a hint for wxArtProvider -- it is common
that
<ref target="wxartprovidergetbitmap">wxArtProvider::GetBitmap</ref>
returns identical bitmap for different
<i>client</i>
values!
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/artprov.h"/>
</includes>
<seealso>
See the
<ref target="sampleartprovider">artprov</ref>
sample for an example of wxArtProvider usage.
</seealso>
<members>
<member class="wxArtProvider" name="CreateBitmap">
<function type="wxBitmap" name="CreateBitmap">
<parameters>
<parameter type="const wxArtID&amp; " name="id">
wxArtID unique identifier of the bitmap.
</parameter>
<parameter type="const wxArtClient&amp; " name="client">
wxArtClient identifier of the client (i.e. who is asking for the bitmap). This
only servers as a hint.
</parameter>
<parameter type="const wxSize&amp; " name="size">
Preferred size of the bitmap. The function may return a bitmap of different
dimensions, it will be automatically rescaled to meet client's request.
</parameter>
</parameters>
<note>

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

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

Objects:

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

...

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

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

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

Objects:

<b>wxNullBrush</b>

Pointers:

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

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

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

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

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

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

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

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

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

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

  // Read some text
  if (wxTheClipboard-&gt;Open())
  {
    if (wxTheClipboard-&gt;IsSupported( wxDF_TEXT ))
    {
      wxTextDataObject data;
      wxTheClipboard-&gt;GetData( data );
      wxMessageBox( data.GetText() );
    }  
    wxTheClipboard-&gt;Close();
  }
</pre>
</p>
</description>
<category>Drag and drop and clipboard classes</category>
<shortdesc>Clipboard class</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/clipbrd.h"/>
</includes>
<seealso>
<ref target="wxdndoverview">Drag and drop overview</ref>
<ref target="wxdataobject">wxDataObject</ref>
</seealso>
<members>
<member class="wxClipboard" name="wxClipboard">
<function type="" name="wxClipboard">
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="~wxClipboard">
<function type="" name="~wxClipboard">
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="AddData">
<function type="bool" name="AddData">
<parameters>
<parameter type="wxDataObject&#42; " name="data"></parameter>
</parameters>
<seealso>
<ref target="wxclipboardsetdata">wxClipboard::SetData</ref>
</seealso>
<description>
<p>
Call this function to add the data object to the clipboard. You may call this
function repeatedly after having cleared the clipboard using
<ref target="wxclipboardclear">wxClipboard::Clear</ref>
.
</p>
<p>
After this function has been called, the clipboard owns the data, so do not
delete the data explicitly.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="Clear">
<function type="void" name="Clear">
<description>
<p>
Clears the global clipboard object and the system's clipboard if possible.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="Close">
<function type="void" name="Close">
<description>
<p>
Call this function to close the clipboard, having opened it with
<ref target="wxclipboardopen">wxClipboard::Open</ref>
.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="Flush">
<function type="bool" name="Flush">
<description>
<p>
Flushes the clipboard: this means that the data which is currently on clipboard
will stay available even after the application exits (possibly eating memory),
otherwise the clipboard will be emptied on exit. Returns false if the operation
is unsuccessful for any reason.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="GetData">
<function type="bool" name="GetData">
<parameters>
<parameter type="wxDataObject&amp; " name="data"></parameter>
</parameters>
<description>
<p>
Call this function to fill
<i>data</i>
with data on the clipboard, if available in the required format. Returns true on
success.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="IsOpened">
<function type="bool" name="IsOpened" suffix="const">
<description>
<p>
Returns true if the clipboard has been opened.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="IsSupported">
<function type="bool" name="IsSupported">
<parameters>
<parameter type="const wxDataFormat&amp; " name="format"></parameter>
</parameters>
<description>
<p>
Returns true if there is data which matches the data format of the given data
object currently
<b>available</b>
(IsSupported sounds like a misnomer, FIXME: better deprecate this name?) on the
clipboard.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="Open">
<function type="bool" name="Open">
<description>
<p>
Call this function to open the clipboard before calling
<ref target="wxclipboardsetdata">wxClipboard::SetData</ref>
and
<ref target="wxclipboardgetdata">wxClipboard::GetData</ref>
.
</p>
<p>
Call
<ref target="wxclipboardclose">wxClipboard::Close</ref>
when you have finished with the clipboard. You should keep the clipboard open
for only a very short time.
</p>
<p>
Returns true on success. This should be tested (as in the sample shown above).
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="SetData">
<function type="bool" name="SetData">
<parameters>
<parameter type="wxDataObject&#42; " name="data"></parameter>
</parameters>
<seealso>
<ref target="wxclipboardadddata">wxClipboard::AddData</ref>
</seealso>
<description>
<p>
Call this function to set the data object to the clipboard. This function will
clear all previous contents in the clipboard, so calling it several times does
not make any sense.
</p>
<p>
After this function has been called, the clipboard owns the data, so do not
delete the data explicitly.
</p>
</description>
</function>
</member>
<member class="wxClipboard" name="UsePrimarySelection">
<function type="void" name="UsePrimarySelection">
<parameters>
<parameter type="bool " name="primary" value="true"></parameter>
</parameters>
<description>
<p>
On platforms supporting it (currently only GTK), selects the so called PRIMARY
SELECTION as the clipboard as opposed to the normal clipboard, if
<i>primary</i>
is true.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxCloseEvent">
<description>
<p class="classdesc">
This event class contains information about window and session close events.
</p>
<p class="classdesc">
The handler function for EVT_CLOSE is called when the user has tried to close a
a frame or dialog box using the window manager (X) or system menu (Windows). It
can also be invoked by the application itself programmatically, for example by
calling the
<ref target="wxwindowclose">wxWindow::Close</ref>
function.
</p>
<p class="classdesc">
You should check whether the application is forcing the deletion of the window
using
<ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref>
. If this is
<tt>false</tt>
, you
<i>must</i>
destroy the window using
<ref target="wxwindowdestroy">wxWindow::Destroy</ref>
. If the return value is true, it is up to you whether you respond by destroying
the window.
</p>
<p class="classdesc">
If you don't destroy the window, you should call
<ref target="wxcloseeventveto">wxCloseEvent::Veto</ref>
to let the calling code know that you did not destroy the window. This allows
the
<ref target="wxwindowclose">wxWindow::Close</ref>
function to return
<tt>true</tt>
or
<tt>false</tt>
depending on whether the close instruction was honoured or not.
</p>
</description>
<category>Events</category>
<shortdesc>A close window or end session event</shortdesc>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>
</parents>
<includes>
<header name="wx/event.h"/>
</includes>
<events>
<event name="EVT_CLOSE(func)">Process a close event, supplying the member function. This
event applies to wxFrame and wxDialog classes.</event>
<event name="EVT_QUERY_END_SESSION(func)">Process a query end session event, supplying the member function.
This event applies to wxApp only.</event>
<event name="EVT_END_SESSION(func)">Process an end session event, supplying the member function.
This event applies to wxApp only.</event>
</events>
<seealso>
<ref target="wxwindowclose">wxWindow::Close</ref>
,
<ref target="windowdeletionoverview">Window deletion overview</ref>
</seealso>
<members>
<member class="wxCloseEvent" name="wxCloseEvent">
<function type="" name="wxCloseEvent">
<parameters>
<parameter type="WXTYPE " name="commandEventType" value="0"></parameter>
<parameter type="int " name="id" value="0"></parameter>
</parameters>
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="CanVeto">
<function type="bool" name="CanVeto">
<description>
<p>
Returns true if you can veto a system shutdown or a window close event. Vetoing
a window close event is not possible if the calling code wishes to force the
application to exit, and so this function must be called to check this.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="GetLoggingOff">
<function type="bool" name="GetLoggingOff" suffix="const">
<description>
<p>
Returns true if the user is just logging off or false if the system is shutting
down. This method can only be called for end session and query end session
events, it doesn't make sense for close window event.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="GetForce">
<function type="bool" name="GetForce" suffix="const" obsolete="yes">
<description>
<p>
Returns true if the application wishes to force the window to close. This will
shortly be obsolete, replaced by CanVeto.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="SetCanVeto">
<function type="void" name="SetCanVeto">
<parameters>
<parameter type="bool " name="canVeto"></parameter>
</parameters>
<description>
<p>
Sets the 'can veto' flag.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="SetForce">
<function type="void" name="SetForce" suffix="const" obsolete="yes">
<parameters>
<parameter type="bool " name="force"></parameter>
</parameters>
<description>
<p>
Sets the 'force' flag.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="SetLoggingOff">
<function type="void" name="SetLoggingOff" suffix="const">
<parameters>
<parameter type="bool " name="loggingOff"></parameter>
</parameters>
<description>
<p>
Sets the 'logging off' flag.
</p>
</description>
</function>
</member>
<member class="wxCloseEvent" name="Veto">
<function type="void" name="Veto">
<parameters>
<parameter type="bool " name="veto" value="true"></parameter>
</parameters>
<description>
<p>
Call this from your event handler to veto a system shutdown or to signal to the
calling application that a window close did not happen.
</p>
<p>
You can only veto a shutdown if
<ref target="wxcloseeventcanveto">wxCloseEvent::CanVeto</ref>
returns true.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxCmdLineParser">
<description>
<p class="classdesc">
wxCmdLineParser is a class for parsing the command line.
</p>
<p class="classdesc">
It has the following features:
</p>
<p class="classdesc">
<ol>
<li>distinguishes options, switches and parameters; allows option grouping</li>
<li>allows both short and long options</li>
<li>automatically generates the usage message from the command line description</li>
<li>does type checks on the options values (number, date, ...).</li>
</ol>
</p>
<p class="classdesc">
To use it you should follow these steps:
</p>
<p class="classdesc">
<ol>
<li><ref target="wxcmdlineparserconstruction">construct</ref>
an object of this class giving it the command line to parse and optionally its
description or use
<tt>AddXXX()</tt>
functions later</li>
<li>call
<tt>Parse()</tt></li>
<li>use
<tt>Found()</tt>
to retrieve the results</li>
</ol>
</p>
<p class="classdesc">
In the documentation below the following terminology is used:
</p>
<p class="classdesc">
<table>
<tr>
<td>switch</td>
<td>This is a boolean option which can be given or not, but
which doesn't have any value. We use the word switch to distinguish such boolean
options from more generic options like those described below. For example, 
<tt>-v</tt> might be a switch meaning &quot;enable verbose mode&quot;.</td>
</tr>
<tr>
<td>option</td>
<td>Option for us here is something which comes with a value 0
unlike a switch. For example, <tt>-o:filename</tt> might be an option which allows
to specify the name of the output file.</td>
</tr>
<tr>
<td>parameter</td>
<td>This is a required program argument.</td>
</tr>
</table>
</p>
</description>
<category>Miscellaneous</category>
<shortdesc>Command line parser class</shortdesc>
<parents></parents>
<includes>
<header name="wx/cmdline.h"/>
</includes>
<constants>

The structure wxCmdLineEntryDesc is used to describe the one command
line switch, option or parameter. An array of such structures should be passed
to <ref target="wxcmdlineparsersetdesc">SetDesc()</ref>. Also, the meanings of parameters
of the <tt>AddXXX()</tt> functions are the same as of the corresponding fields in
this structure:

<pre>
struct wxCmdLineEntryDesc
{
    wxCmdLineEntryType kind;
    const wxChar &#42;shortName;
    const wxChar &#42;longName;
    const wxChar &#42;description;
    wxCmdLineParamType type;
    int flags;
};
</pre>

The type of a command line entity is in the <tt>kind</tt> field and may be one of
the following constants:

<pre>
enum wxCmdLineEntryType
{
    wxCMD_LINE_SWITCH,
    wxCMD_LINE_OPTION,
    wxCMD_LINE_PARAM,
    wxCMD_LINE_NONE         // use this to terminate the list
}
</pre>

The field <tt>shortName</tt> is the usual, short, name of the switch or the option.
<tt>longName</tt> is the corresponding long name or NULL if the option has no long
name. Both of these fields are unused for the parameters. Both the short and
long option names can contain only letters, digits and the underscores.

<tt>description</tt> is used by the <ref target="wxcmdlineparserusage">Usage()</ref> method
to construct a help message explaining the syntax of the program.

The possible values of <tt>type</tt> which specifies the type of the value accepted
by an option or parameter are:

<pre>
enum wxCmdLineParamType
{
    wxCMD_LINE_VAL_STRING,  // default
    wxCMD_LINE_VAL_NUMBER,
    wxCMD_LINE_VAL_DATE,
    wxCMD_LINE_VAL_NONE
}
</pre>

Finally, the <tt>flags</tt> field is a combination of the following bit masks:

<pre>
enum
{
    wxCMD_LINE_OPTION_MANDATORY = 0x01, // this option must be given
    wxCMD_LINE_PARAM_OPTIONAL   = 0x02, // the parameter may be omitted
    wxCMD_LINE_PARAM_MULTIPLE   = 0x04, // the parameter may be repeated
    wxCMD_LINE_OPTION_HELP      = 0x08, // this option is a help request
    wxCMD_LINE_NEEDS_SEPARATOR  = 0x10, // must have sep before the value
}
</pre>

Notice that by default (i.e. if flags are just 0), options are optional (sic)
and each call to <ref target="wxcmdlineparseraddparam">AddParam()</ref> allows one more
parameter - this may be changed by giving non-default flags to it, i.e. use 
<tt>wxCMD_LINE_OPTION_MANDATORY</tt> to require that the option is given and 
<tt>wxCMD_LINE_PARAM_OPTIONAL</tt> to make a parameter optional. Also, 
<tt>wxCMD_LINE_PARAM_MULTIPLE</tt> may be specified if the programs accepts a
variable number of parameters - but it only can be given for the last parameter
in the command line description. If you use this flag, you will probably need to
use <ref target="wxcmdlineparsergetparamcount">GetParamCount</ref> to retrieve the number
of parameters effectively specified after calling 
<ref target="wxcmdlineparserparse">Parse</ref>.

The last flag <tt>wxCMD_LINE_NEEDS_SEPARATOR</tt> can be specified to require a
separator (either a colon, an equal sign or white space) between the option
name and its value. By default, no separator is required.

</constants>
<seealso>
<ref target="wxappargc">wxApp::argc</ref>
and
<ref target="wxappargv">wxApp::argv</ref>
<br/>
console sample
</seealso>
<members>
<member class="wxCmdLineParser" name="wxCmdLineParser">
<function type="" name="wxCmdLineParser">
<description>
<p>
Default constructor. You must use
<ref target="wxcmdlineparsersetcmdlineargc">SetCmdLine</ref>
later.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="wxCmdLineParser">
<function type="" name="wxCmdLineParser">
<parameters>
<parameter type="int " name="argc"></parameter>
<parameter type="char&#42;&#42; " name="argv"></parameter>
</parameters>
<description></description>
</function>
<function type="" name="wxCmdLineParser">
<parameters>
<parameter type="int " name="argc"></parameter>
<parameter type="wchar_t&#42;&#42; " name="argv"></parameter>
</parameters>
<description>
<p>
Constructor specifies the command line to parse. This is the traditional (Unix)
command line format. The parameters
<i>argc</i>
and
<i>argv</i>
have the same meaning as for
<tt>main()</tt>
function.
</p>
<p>
The second overloaded constructor is only available in Unicode build. The first
one is available in both ANSI and Unicode modes because under some platforms the
command line arguments are passed as ASCII strings even to Unicode programs.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="wxCmdLineParser">
<function type="" name="wxCmdLineParser">
<parameters>
<parameter type="const wxString&amp; " name="cmdline"></parameter>
</parameters>
<description>
<p>
Constructor specifies the command line to parse in Windows format. The parameter
<i>cmdline</i>
has the same meaning as the corresponding parameter of
<tt>WinMain()</tt>
.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="wxCmdLineParser">
<function type="" name="wxCmdLineParser">
<parameters>
<parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
</parameters>
<description>
<p>
Same as
<ref target="wxcmdlineparserwxcmdlineparserdef">wxCmdLineParser</ref>
, but also specifies the
<ref target="wxcmdlineparsersetdesc">command line description</ref>
.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="wxCmdLineParser">
<function type="" name="wxCmdLineParser">
<parameters>
<parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
<parameter type="int " name="argc"></parameter>
<parameter type="char&#42;&#42; " name="argv"></parameter>
</parameters>
<description>
<p>
Same as
<ref target="wxcmdlineparserwxcmdlineparserargc">wxCmdLineParser</ref>
, but also specifies the
<ref target="wxcmdlineparsersetdesc">command line description</ref>
.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="wxCmdLineParser">
<function type="" name="wxCmdLineParser">
<parameters>
<parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
<parameter type="const wxString&amp; " name="cmdline"></parameter>
</parameters>
<description>
<p>
Same as
<ref target="wxcmdlineparserwxcmdlineparserstr">wxCmdLineParser</ref>
, but also specifies the
<ref target="wxcmdlineparsersetdesc">command line description</ref>
.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="ConvertStringToArgs">
<function type="static wxArrayString" name="ConvertStringToArgs">
<parameters>
<parameter type="const wxChar &#42;" name="cmdline"></parameter>
</parameters>
<description>
<p>
Breaks down the string containing the full command line in words. The words are
separated by whitespace. The quotes can be used in the input string to quote the
white space and the back slashes can be used to quote the quotes.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="SetCmdLine">
<function type="void" name="SetCmdLine">
<parameters>
<parameter type="int " name="argc"></parameter>
<parameter type="char&#42;&#42; " name="argv"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetCmdLine">
<parameters>
<parameter type="int " name="argc"></parameter>
<parameter type="wchar_t&#42;&#42; " name="argv"></parameter>
</parameters>
<seealso>
<ref target="wxcmdlineparserwxcmdlineparserargc">wxCmdLineParser</ref>
</seealso>
<description>
<p>
Set command line to parse after using one of the constructors which don't do it.
The second overload of this function is only available in Unicode build.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="SetCmdLine">
<function type="void" name="SetCmdLine">
<parameters>
<parameter type="const wxString&amp; " name="cmdline"></parameter>
</parameters>
<seealso>
<ref target="wxcmdlineparserwxcmdlineparserstr">wxCmdLineParser</ref>
</seealso>
<description>
<p>
Set command line to parse after using one of the constructors which don't do it.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="~wxCmdLineParser">
<function type="" name="~wxCmdLineParser">
<description>
<p>
Frees resources allocated by the object.
</p>
<p>
<b>NB:</b>
destructor is not virtual, don't use this class polymorphically.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="SetSwitchChars">
<function type="void" name="SetSwitchChars">
<parameters>
<parameter type="const wxString&amp; " name="switchChars"></parameter>
</parameters>
<description>
<p>
<i>switchChars</i>
contains all characters with which an option or switch may start. Default is
<tt>&quot;-&quot;</tt>
for Unix,
<tt>&quot;-/&quot;</tt>
for Windows.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="EnableLongOptions">
<function type="void" name="EnableLongOptions">
<parameters>
<parameter type="bool " name="enable" value="true"></parameter>
</parameters>
<seealso>
<ref target="wxcmdlineparsercustomization">Customization</ref>
and
<ref target="wxcmdlineparserarelongoptionsenabled">AreLongOptionsEnabled</ref>
</seealso>
<description>
<p>
Enable or disable support for the long options.
</p>
<p>
As long options are not (yet) POSIX-compliant, this option allows to disable
them.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="DisableLongOptions">
<function type="void" name="DisableLongOptions">
<description>
<p>
Identical to
<ref target="wxcmdlineparserenablelongoptions">EnableLongOptions(false)</ref>
.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="AreLongOptionsEnabled">
<function type="bool" name="AreLongOptionsEnabled">
<seealso>
<ref target="wxcmdlineparserenablelongoptions">EnableLongOptions</ref>
</seealso>
<description>
<p>
Returns true if long options are enabled, otherwise false.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="SetLogo">
<function type="void" name="SetLogo">
<parameters>
<parameter type="const wxString&amp; " name="logo"></parameter>
</parameters>
<description>
<p>
<i>logo</i>
is some extra text which will be shown by
<ref target="wxcmdlineparserusage">Usage</ref>
method.
</p>
</description>
</function>
</member>
<member class="wxCmdLineParser" name="SetDesc">
<function type="void" name="SetDesc">
<parameters>
<parameter type="const wxCmdLineEntryDesc&#42; " name="desc"></parameter>
</parameters>
<description>
<p>
Construct the command line description
</p>
<p>
Take the command line description from the wxCMD_LINE_NONE terminated table.
</p>
<p>
Example of usage:
</p>
<pre>
static const wxCmdLineEntryDesc cmdLineDesc[] =
{
    { wxCMD_LINE_SWITCH, &quot;v&quot;, &quot;verbose&quot;, &quot;be verbose&quot; },
    { wxCMD_LINE_SWITCH, &quot;q&quot;, &quot;quiet&quot;,   &quot;be quiet&quot; },

    { wxCMD_LINE_OPTION, &quot;o&quot;, &quot;output&quot;,  &quot;output file&quot; },
    { wxCMD_LINE_OPTION, &quot;i&quot;, &quot;input&quot;,   &quot;input dir&quot; },
    { wxCMD_LINE_OPTION, &quot;s&quot;, &quot;size&quot;,    &quot;output block size&quot;, wxCMD_LINE_VAL_NUMBER },
    { wxCMD_LINE_OPTION, &quot;d&quot;, &quot;date&quot;,    &quot;output file date&quot;, wxCMD_LINE_VAL_DATE },

    { wxCMD_LINE_PARAM,  NULL, NULL, &quot;input file&quot;, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE },

    { wxCMD_LINE_NONE }
};

wxCmdLineParser parser;

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

Objects:

<b>wxNullColour</b>

Pointers:

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

        Create();
    }

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

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

        return 0;
    }

private:
    wxCondition &#42;m_condition;
    wxMutex &#42;m_mutex;
};

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

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

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

    thread-&gt;Run();

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

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

The following return codes are returned by wxCondition member functions:

<pre>
enum wxCondError
{
    wxCOND_NO_ERROR = 0,    // successful completion
    wxCOND_INVALID,         // object hasn't been initialized successfully
    wxCOND_TIMEOUT,         // WaitTimeout() has timed out
    wxCOND_MISC_ERROR       // some other error
};
</pre>
</constants>
<seealso>
<ref target="wxthread">wxThread</ref>
<ref target="wxmutex">wxMutex</ref>
</seealso>
<members>
<member class="wxCondition" name="wxCondition">
<function type="" name="wxCondition">
<parameters>
<parameter type="wxMutex&amp; " name="mutex"></parameter>
</parameters>
<description>
<p>
Default and only constructor. The
<i>mutex</i>
must be locked by the caller before calling
<ref target="wxconditionwait">Wait</ref>
function.
</p>
<p>
Use
<ref target="wxconditionisok">IsOk</ref>
to check if the object was successfully initialized.
</p>
</description>
</function>
</member>
<member class="wxCondition" name="~wxCondition">
<function type="" name="~wxCondition">
<description>
<p>
Destroys the wxCondition object. The destructor is not virtual so this class
should not be used polymorphically.
</p>
</description>
</function>
</member>
<member class="wxCondition" name="Broadcast">
<function type="void" name="Broadcast">
<seealso>
<ref target="wxconditionsignal">wxCondition::Signal</ref>
</seealso>
<description>
<p>
Broadcasts to all waiting threads, waking all of them up. Note that this method
may be called whether the mutex associated with this condition is locked or not.
</p>
</description>
</function>
</member>
<member class="wxCondition" name="IsOk">
<function type="bool" name="IsOk" suffix="const">
<description>
<p>
Returns
<tt>true</tt>
if the object had been initialized successfully,
<tt>false</tt>
if an error occurred.
</p>
</description>
</function>
</member>
<member class="wxCondition" name="Signal">
<function type="void" name="Signal">
<seealso>
<ref target="wxconditionbroadcast">wxCondition::Broadcast</ref>
</seealso>
<description>
<p>
Signals the object waking up at most one thread. If several threads are waiting
on the same condition, the exact thread which is woken up is undefined. If no
threads are waiting, the signal is lost and the condition would have to be
signalled again to wake up any thread which may start waiting on it later.
</p>
<p>
Note that this method may be called whether the mutex associated with this
condition is locked or not.
</p>
</description>
</function>
</member>
<member class="wxCondition" name="Wait">
<function type="wxCondError" name="Wait">
<seealso>
<ref target="wxconditionwaittimeout">WaitTimeout</ref>
</seealso>
<returnvalue>
Returns
<tt>wxCOND_NO_ERROR</tt>
on success, another value if an error occurred.
</returnvalue>
<description>
<p>
Waits until the condition is signalled.
</p>
<p>
This method atomically releases the lock on the mutex associated with this
condition (this is why it must be locked prior to calling Wait) and puts the
thread to sleep until
<ref target="wxconditionsignal">Signal</ref>
or
<ref target="wxconditionbroadcast">Broadcast</ref>
is called.
</p>
<p>
Note that even if
<ref target="wxconditionsignal">Signal</ref>
had been called before Wait without waking up any thread, the thread would still
wait for another one and so it is important to ensure that the condition will be
signalled after Wait or the thread may sleep forever.
</p>
</description>
</function>
</member>
<member class="wxCondition" name="WaitTimeout">
<function type="wxCondError" name="WaitTimeout">
<parameters>
<parameter type="unsigned long " name="milliseconds">
Timeout in milliseconds
</parameter>
</parameters>
<returnvalue>
Returns
<tt>wxCOND_NO_ERROR</tt>
if the condition was signalled,
<tt>wxCOND_TIMEOUT</tt>
if the timeout elapsed before this happened or another error code from
wxCondError enum.
</returnvalue>
<description>
<p>
Waits until the condition is signalled or the timeout has elapsed.
</p>
<p>
This method is identical to
<ref target="wxconditionwait">Wait</ref>
except that it returns, with the return code of
<tt>wxCOND_TIMEOUT</tt>
as soon as the given timeout expires.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxConfigBase">
<description>
<p class="classdesc">
wxConfigBase class defines the basic interface of all config classes. It can not
be used by itself (it is an abstract base class) and you will always use one of
its derivations:
<ref target="wxfileconfig">wxFileConfig</ref>
, wxRegConfig or any other.
</p>
<p class="classdesc">
However, usually you don't even need to know the precise nature of the class
you're working with but you would just use the wxConfigBase methods. This allows
you to write the same code regardless of whether you're working with the
registry under Win32 or text-based config files under Unix (or even Windows 3.1
.INI files if you're really unlucky). To make writing the portable code even
easier, wxWidgets provides a typedef wxConfig which is mapped onto the native
wxConfigBase implementation on the given platform: i.e. wxRegConfig under Win32
and wxFileConfig otherwise.
</p>
<p class="classdesc">
See
<ref target="wxconfigoverview">config overview</ref>
for the descriptions of all features of this class.
</p>
<p class="classdesc">
It is highly recommended to use static functions
<i>Get()</i>
and/or
<i>Set()</i>
, so please have a
<ref target="wxconfigstaticfunctions">look at them.</ref>
</p>
</description>
<category>Miscellaneous</category>
<example>
<p>
Here is how you would typically use this class:
</p>
<pre>
  // using wxConfig instead of writing wxFileConfig or wxRegConfig enhances
  // portability of the code
  wxConfig &#42;config = new wxConfig(&quot;MyAppName&quot;);

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

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

  // the changes will be written back automatically
  delete config;
</pre>
<p>
This basic example, of course, doesn't show all wxConfig features, such as
enumerating, testing for existence and deleting the entries and groups of
entries in the config file, its abilities to automatically store the default
values or expand the environment variables on the fly. However, the main idea is
that using this class is easy and that it should normally do what you expect it
to.
</p>
<p>
NB: in the documentation of this class, the words &quot;config file&quot; also
mean &quot;registry hive&quot; for wxRegConfig and, generally speaking, might
mean any physical storage where a wxConfigBase-derived class stores its data.
</p>
</example>
<parents></parents>
<includes>
<header name="wx/config.h" comment="to let wxWidgets choose a wxConfig class for your platform"/>
<header name="wx/confbase.h" comment="base config class"/>
<header name="wx/fileconf.h" comment="wxFileConfig class"/>
<header name="wx/msw/regconf.h" comment="wxRegConfig class"/>
</includes>
<members>
<member class="wxConfigBase" name="wxConfigBase">
<function type="" name="wxConfigBase">
<parameters>
<parameter type="const wxString&amp; " name="appName" value="wxEmptyString">
The application name. If this is empty, the class will normally use
<ref target="wxappgetappname">wxApp::GetAppName</ref>
to set it. The application name is used in the registry key on Windows, and can
be used to deduce the local filename parameter if that is missing.
</parameter>
<parameter type="const wxString&amp; " name="vendorName" value="wxEmptyString">
The vendor name. If this is empty, it is assumed that no vendor name is wanted,
if this is optional for the current config class. The vendor name is appended to
the application name for wxRegConfig.
</parameter>
<parameter type="const wxString&amp; " name="localFilename" value="wxEmptyString">
Some config classes require a local filename. If this is not present, but
required, the application name will be used instead.
</parameter>
<parameter type="const wxString&amp; " name="globalFilename" value="wxEmptyString">
Some config classes require a global filename. If this is not present, but
required, the application name will be used instead.
</parameter>
<parameter type="long " name="style" value="0">
Can be one of wxCONFIG_USE_LOCAL_FILE and wxCONFIG_USE_GLOBAL_FILE. The style
interpretation depends on the config class and is ignored by some. For
wxFileConfig, these styles determine whether a local or global config file is
created or used. If the flag is present but the parameter is empty, the
parameter will be set to a default. If the parameter is present but the style
flag not, the relevant flag will be added to the style. For wxFileConfig you can
also add wxCONFIG_USE_RELATIVE_PATH by logically or'ing it to either of the
_FILE options to tell wxFileConfig to use relative instead of absolute paths.
For wxFileConfig, you can also add wxCONFIG_USE_NO_ESCAPE_CHARACTERS which will
turn off character escaping for the values of entries stored in the config file:
for example a
<i>foo</i>
key with some backslash characters will be stored as
<tt>foo=C:\mydir</tt>
instead of the usual storage of
<tt>foo=C:$\backslash\backslash$mydir</tt>
. For wxRegConfig, this flag refers to HKLM, and provides read-only access. The
wxCONFIG_USE_NO_ESCAPE_CHARACTERS style can be helpful if your config file must
be read or written to by a non-wxWidgets program (which might not understand the
escape characters). Note, however, that if wxCONFIG_USE_NO_ESCAPE_CHARACTERS
style is used, it is is now your application's responsibility to ensure that
there is no newline or other illegal characters in a value, before writing that
value to the file.
</parameter>
<parameter type="wxMBConv&amp; " name="conv" value="wxConvUTF8">
This parameter is only used by wxFileConfig when compiled in Unicode mode. It
specifies the encoding in which the configuration file is written.
</parameter>
</parameters>
<remarks>
<p>
By default, environment variable expansion is on and recording defaults is off.
</p>
</remarks>
<description>
<p>
This is the default and only constructor of the wxConfigBase class, and derived
classes.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="~wxConfigBase">
<function type="" name="~wxConfigBase">
<description>
<p>
Empty but ensures that dtor of all derived classes is virtual.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Create">
<function type="static wxConfigBase &#42;" name="Create">
<description>
<p>
Create a new config object: this function will create the &quot;best&quot;
implementation of wxConfig available for the current platform, see comments near
the definition of wxCONFIG_WIN32_NATIVE for details. It returns the created
object and also sets it as the current one.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="DontCreateOnDemand">
<function type="void" name="DontCreateOnDemand">
<description>
<p>
Calling this function will prevent
<i>Get()</i>
from automatically creating a new config object if the current one is NULL. It
might be useful to call it near the program end to prevent
&quot;accidental&quot; creation of a new config object.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="DeleteAll">
<function type="bool" name="DeleteAll">
<description>
<p>
Delete the whole underlying object (disk file, registry key, ...). Primarly for
use by uninstallation routine.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="DeleteEntry">
<function type="bool" name="DeleteEntry">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="bool " name="bDeleteGroupIfEmpty" value="true"></parameter>
</parameters>
<description>
<p>
Deletes the specified entry and the group it belongs to if it was the last key
in it and the second parameter is true.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="DeleteGroup">
<function type="bool" name="DeleteGroup">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
</parameters>
<description>
<p>
Delete the group (with all subgroups)
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Exists">
<function type="bool" name="Exists" suffix="const">
<parameters>
<parameter type="wxString&amp; " name="strName"></parameter>
</parameters>
<description>
<p>
returns true if either a group or an entry with a given name exists
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Flush">
<function type="bool" name="Flush">
<parameters>
<parameter type="bool " name="bCurrentOnly" value="false"></parameter>
</parameters>
<description>
<p>
permanently writes all changes (otherwise, they're only written from object's
destructor)
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Get">
<function type="static wxConfigBase &#42;" name="Get">
<parameters>
<parameter type="bool " name="CreateOnDemand" value="true"></parameter>
</parameters>
<description>
<p>
Get the current config object. If there is no current object and
<i>CreateOnDemand</i>
is true, creates one (using
<i>Create</i>
) unless DontCreateOnDemand was called previously.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetAppName">
<function type="wxString" name="GetAppName" suffix="const">
<description>
<p>
Returns the application name.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetEntryType">
<function type="enum wxConfigBase::EntryType" name="GetEntryType" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="name"></parameter>
</parameters>
<description>
<p>
Returns the type of the given entry or
<i>Unknown</i>
if the entry doesn't exist. This function should be used to decide which version
of Read() should be used because some of wxConfig implementations will complain
about type mismatch otherwise: e.g., an attempt to read a string value from an
integer key with wxRegConfig will fail.
</p>
<p>
The result is an element of enum EntryType:
</p>
<pre>
  enum EntryType
  {
    Type_Unknown,
    Type_String,
    Type_Boolean,
    Type_Integer,
    Type_Float
  };
</pre>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetFirstGroup">
<function type="bool" name="GetFirstGroup" suffix="const">
<parameters>
<parameter type="wxString&amp; " name="str"></parameter>
<parameter type="long&amp; " name="index"></parameter>
</parameters>
<description>
<p>
Gets the first group.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetFirstEntry">
<function type="bool" name="GetFirstEntry" suffix="const">
<parameters>
<parameter type="wxString&amp; " name="str"></parameter>
<parameter type="long&amp; " name="index"></parameter>
</parameters>
<description>
<p>
Gets the first entry.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetNextGroup">
<function type="bool" name="GetNextGroup" suffix="const">
<parameters>
<parameter type="wxString&amp; " name="str"></parameter>
<parameter type="long&amp; " name="index"></parameter>
</parameters>
<description>
<p>
Gets the next group.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetNextEntry">
<function type="bool" name="GetNextEntry" suffix="const">
<parameters>
<parameter type="wxString&amp; " name="str"></parameter>
<parameter type="long&amp; " name="index"></parameter>
</parameters>
<description>
<p>
Gets the next entry.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetNumberOfEntries">
<function type="uint " name="GetNumberOfEntries" suffix="const">
<parameters>
<parameter type="bool " name="bRecursive" value="false"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxConfigBase" name="GetNumberOfGroups">
<function type="uint" name="GetNumberOfGroups" suffix="const">
<parameters>
<parameter type="bool " name="bRecursive" value="false"></parameter>
</parameters>
<description>
<p>
Get number of entries/subgroups in the current group, with or without its
subgroups.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetPath">
<function type="const wxString&amp;" name="GetPath" suffix="const">
<description>
<p>
Retrieve the current path (always as absolute path).
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="GetVendorName">
<function type="wxString" name="GetVendorName" suffix="const">
<description>
<p>
Returns the vendor name.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="HasEntry">
<function type="bool" name="HasEntry" suffix="const">
<parameters>
<parameter type="wxString&amp; " name="strName"></parameter>
</parameters>
<description>
<p>
returns true if the entry by this name exists
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="HasGroup">
<function type="bool" name="HasGroup" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="strName"></parameter>
</parameters>
<description>
<p>
returns true if the group by this name exists
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="IsExpandingEnvVars">
<function type="bool" name="IsExpandingEnvVars" suffix="const">
<description>
<p>
Returns true if we are expanding environment variables in key values.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="IsRecordingDefaults">
<function type="bool" name="IsRecordingDefaults" suffix="const">
<description>
<p>
Returns true if we are writing defaults back to the config file.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Read">
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="key"></parameter>
<parameter type="wxString&#42; " name="str"></parameter>
</parameters>
<description>
<p>
Read a string from the key, returning true if the value was read. If the key was
not found,
<i>str</i>
is not changed.
</p>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="key"></parameter>
<parameter type="wxString&#42; " name="str"></parameter>
<parameter type="const wxString&amp; " name="defaultVal"></parameter>
</parameters>
<description>
<p>
Read a string from the key. The default value is returned if the key was not
found.
</p>
<p>
Returns true if value was really read, false if the default was used.
</p>
</description>
</function>
<function type="wxString" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="key"></parameter>
<parameter type="const
wxString&amp; " name="defaultVal"></parameter>
</parameters>
<description>
<p>
Another version of
<i>Read()</i>
, returning the string value directly.
</p>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="long&#42; " name="l"></parameter>
</parameters>
<description>
<p>
Reads a long value, returning true if the value was found. If the value was not
found,
<i>l</i>
is not changed.
</p>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="long&#42; " name="l"></parameter>
<parameter type="long " name="defaultVal"></parameter>
</parameters>
<description>
<p>
Reads a long value, returning true if the value was found. If the value was not
found,
<i>defaultVal</i>
is used instead.
</p>
</description>
</function>
<function type="long " name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="key"></parameter>
<parameter type="long " name="defaultVal"></parameter>
</parameters>
<description>
<p>
Reads a long value from the key and returns it.
<i>defaultVal</i>
is returned if the key is not found.
</p>
<p>
NB: writing
</p>
<pre>
    conf-&gt;Read(&quot;key&quot;, 0);
</pre>
<p>
won't work because the call is ambiguous: compiler can not choose between two
<i>Read</i>
functions. Instead, write:
</p>
<pre>
    conf-&gt;Read(&quot;key&quot;, 0l);
</pre>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="double&#42; " name="d"></parameter>
</parameters>
<description>
<p>
Reads a double value, returning true if the value was found. If the value was
not found,
<i>d</i>
is not changed.
</p>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="double&#42; " name="d"></parameter>
<parameter type="double " name="defaultVal"></parameter>
</parameters>
<description>
<p>
Reads a double value, returning true if the value was found. If the value was
not found,
<i>defaultVal</i>
is used instead.
</p>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="bool&#42; " name="b"></parameter>
</parameters>
<description>
<p>
Reads a bool value, returning true if the value was found. If the value was not
found,
<i>b</i>
is not changed.
</p>
</description>
</function>
<function type="bool" name="Read" suffix="const">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="bool&#42; " name="d"></parameter>
<parameter type="bool " name="defaultVal"></parameter>
</parameters>
<description>
<p>
Reads a bool value, returning true if the value was found. If the value was not
found,
<i>defaultVal</i>
is used instead.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="RenameEntry">
<function type="bool" name="RenameEntry">
<parameters>
<parameter type="const wxString&amp;  " name="oldName"></parameter>
<parameter type="const wxString&amp;  " name="newName"></parameter>
</parameters>
<description>
<p>
Renames an entry in the current group. The entries names (both the old and the
new one) shouldn't contain backslashes, i.e. only simple names and not arbitrary
paths are accepted by this function.
</p>
<p>
Returns false if
<i>oldName</i>
doesn't exist or if
<i>newName</i>
already exists.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="RenameGroup">
<function type="bool" name="RenameGroup">
<parameters>
<parameter type="const wxString&amp;  " name="oldName"></parameter>
<parameter type="const wxString&amp;  " name="newName"></parameter>
</parameters>
<description>
<p>
Renames a subgroup of the current group. The subgroup names (both the old and
the new one) shouldn't contain backslashes, i.e. only simple names and not
arbitrary paths are accepted by this function.
</p>
<p>
Returns false if
<i>oldName</i>
doesn't exist or if
<i>newName</i>
already exists.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Set">
<function type="static wxConfigBase &#42;" name="Set">
<parameters>
<parameter type="wxConfigBase &#42;" name="pConfig"></parameter>
</parameters>
<description>
<p>
Sets the config object as the current one, returns the pointer to the previous
current object (both the parameter and returned value may be NULL)
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="SetExpandEnvVars">
<function type="void" name="SetExpandEnvVars ">
<parameters>
<parameter type="bool " name="bDoIt" value="true"></parameter>
</parameters>
<description>
<p>
Determine whether we wish to expand environment variables in key values.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="SetPath">
<function type="void" name="SetPath">
<parameters>
<parameter type="const wxString&amp; " name="strPath"></parameter>
</parameters>
<description>
<p>
Set current path: if the first character is '/', it is the absolute path,
otherwise it is a relative path. '..' is supported. If strPath doesn't exist it
is created.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="SetRecordDefaults">
<function type="void" name="SetRecordDefaults">
<parameters>
<parameter type="bool " name="bDoIt" value="true"></parameter>
</parameters>
<description>
<p>
Sets whether defaults are recorded to the config file whenever an attempt to
read the value which is not present in it is done.
</p>
<p>
If on (default is off) all default values for the settings used by the program
are written back to the config file. This allows the user to see what config
options may be changed and is probably useful only for wxFileConfig.
</p>
</description>
</function>
</member>
<member class="wxConfigBase" name="Write">
<function type="bool" name="Write">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="const wxString&amp; 
" name="value"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="Write">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="long " name="value"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="Write">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="double " name="value"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="Write">
<parameters>
<parameter type="const wxString&amp;  " name="key"></parameter>
<parameter type="bool " name="value"></parameter>
</parameters>
<description>
<p>
These functions write the specified value to the config file and return true on
success.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxConnection">
<description>
<p class="classdesc">
A wxConnection object represents the connection between a client and a server.
It is created by making a connection using a
<ref target="wxclient">wxClient</ref>
object, or by the acceptance of a connection by a
<ref target="wxserver">wxServer</ref>
object. The bulk of a DDE-like (Dynamic Data Exchange) conversation is
controlled by calling members in a
<b>wxConnection</b>
object or by overriding its members. The actual DDE-based implementation using
wxDDEConnection is available on Windows only, but a platform-independent,
socket-based version of this API is available using wxTCPConnection, which has
the same API.
</p>
<p class="classdesc">
An application should normally derive a new connection class from wxConnection,
in order to override the communication event handlers to do something
interesting.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxConnectionBase">wxConnectionBase</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/ipc.h"/>
</includes>
<types>
<ref target="wxIPCFormat"/>wxIPCFormat is defined as follows:

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

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

        return;
    }

    // do something else
    ...

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

Objects:

<b>wxNullCursor</b>

Pointers:

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

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

#ifdef __WXMSW__
wxBitmap down_bitmap(down_bits, 32, 32);
wxBitmap down_mask_bitmap(down_mask, 32, 32);

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

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

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

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

None

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

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

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

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

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

None, this class should be used directly.

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

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

</override>
<seealso>
<ref target="wxdndoverview">Clipboard and drag and drop overview</ref>
<ref target="samplednd">DnD sample</ref>
<ref target="wxfiledataobject">wxFileDataObject</ref>
<ref target="wxtextdataobject">wxTextDataObject</ref>
<ref target="wxbitmapdataobject">wxBitmapDataObject</ref>
</seealso>
<members>
<member class="wxDataObjectSimple" name="wxDataObjectSimple">
<function type="" name="wxDataObjectSimple">
<parameters>
<parameter type="const wxDataFormat&amp; " name="format" value="wxFormatInvalid"></parameter>
</parameters>
<description>
<p>
Constructor accepts the supported format (none by default) which may also be set
later with
<ref target="wxdataobjectsimplesetformat">SetFormat</ref>
.
</p>
</description>
</function>
</member>
<member class="wxDataObjectSimple" name="GetFormat">
<function type="const wxDataFormat&amp;" name="GetFormat" suffix="const">
<description>
<p>
Returns the (one and only one) format supported by this object. It is supposed
that the format is supported in both directions.
</p>
</description>
</function>
</member>
<member class="wxDataObjectSimple" name="SetFormat">
<function type="void" name="SetFormat">
<parameters>
<parameter type="const wxDataFormat&amp; " name="format"></parameter>
</parameters>
<description>
<p>
Sets the supported format.
</p>
</description>
</function>
</member>
<member class="wxDataObjectSimple" name="GetDataSize">
<function type="virtual size_t" name="GetDataSize" suffix="const">
<description>
<p>
Gets the size of our data. Must be implemented in the derived class if the
object supports rendering its data.
</p>
</description>
</function>
</member>
<member class="wxDataObjectSimple" name="GetDataHere">
<function type="virtual bool" name="GetDataHere" suffix="const">
<parameters>
<parameter type="void &#42;" name="buf"></parameter>
</parameters>
<description>
<p>
Copy the data to the buffer, return true on success. Must be implemented in the
derived class if the object supports rendering its data.
</p>
</description>
</function>
</member>
<member class="wxDataObjectSimple" name="SetData">
<function type="virtual bool" name="SetData">
<parameters>
<parameter type="size_t " name="len"></parameter>
<parameter type="const void &#42;" name="buf"></parameter>
</parameters>
<description>
<p>
Copy the data from the buffer, return true on success. Must be implemented in
the derived class if the object supports setting its data.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDataOutputStream">
<description>
<p class="classdesc">
This class provides functions that write binary data types in a portable way.
Data can be written in either big-endian or little-endian format, little-endian
being the default on all architectures.
</p>
<p class="classdesc">
If you want to write data to text files (or streams) use
<ref target="wxtextoutputstream">wxTextOutputStream</ref>
instead.
</p>
<p class="classdesc">
The &lt;&lt; operator is overloaded and you can use this class like a standard
C++ iostream. See
<ref target="wxdatainputstream">wxDataInputStream</ref>
for its usage and caveats.
</p>
<p class="classdesc">
See also
<ref target="wxdatainputstream">wxDataInputStream</ref>
.
</p>
</description>
<category>Stream classes</category>
<shortdesc>Platform-independent binary data output stream class</shortdesc>
<parents></parents>
<includes>
<header name="wx/datstrm.h"/>
</includes>
<members>
<member class="wxDataOutputStream" name="wxDataOutputStream">
<function type="" name="wxDataOutputStream">
<parameters>
<parameter type="wxOutputStream&amp; " name="stream">
The output stream.
</parameter>
</parameters>
<description></description>
</function>
<function type="" name="wxDataOutputStream">
<parameters>
<parameter type="wxOutputStream&amp; " name="stream">
The output stream.
</parameter>
<parameter type="wxMBConv&amp; " name="conv" value="wxMBConvUTF8">
Charset conversion object object used to encoding Unicode strings before writing
them to the stream in Unicode mode (see
<ref target="wxdataoutputstreamwritestring">wxDataOutputStream::WriteString</ref>
documentation for detailed description). Note that you must not destroy
<i>conv</i>
before you destroy this wxDataOutputStream instance! It is recommended to use
default value (UTF-8).
</parameter>
</parameters>
<description>
<p>
Constructs a datastream object from an output stream. Only write methods will be
available. The second form is only available in Unicode build of wxWidgets.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="~wxDataOutputStream">
<function type="" name="~wxDataOutputStream">
<description>
<p>
Destroys the wxDataOutputStream object.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="BigEndianOrdered">
<function type="void" name="BigEndianOrdered">
<parameters>
<parameter type="bool " name="be_order"></parameter>
</parameters>
<description>
<p>
If
<i>be_order</i>
is true, all data will be written in big-endian order, e.g. for reading on a
Sparc or from Java-Streams (which always use big-endian order), otherwise data
will be written in little-endian order.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="Write8">
<function type="void" name="Write8">
<parameters>
<parameter type="wxUint8 " name="i8"></parameter>
</parameters>
<description>
<p>
Writes the single byte
<i>i8</i>
to the stream.
</p>
</description>
</function>
<function type="void" name="Write8">
<parameters>
<parameter type="const wxUint8 &#42;" name="buffer"></parameter>
<parameter type="size_t " name="size"></parameter>
</parameters>
<description>
<p>
Writes an array of bytes to the stream. The amount of bytes to write is
specified with the
<i>size</i>
variable.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="Write16">
<function type="void" name="Write16">
<parameters>
<parameter type="wxUint16 " name="i16"></parameter>
</parameters>
<description>
<p>
Writes the 16 bit unsigned integer
<i>i16</i>
to the stream.
</p>
</description>
</function>
<function type="void" name="Write16">
<parameters>
<parameter type="const wxUint16 &#42;" name="buffer"></parameter>
<parameter type="size_t " name="size"></parameter>
</parameters>
<description>
<p>
Writes an array of 16 bit unsigned integer to the stream. The amount of 16 bit
unsigned integer to write is specified with the
<i>size</i>
variable.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="Write32">
<function type="void" name="Write32">
<parameters>
<parameter type="wxUint32 " name="i32"></parameter>
</parameters>
<description>
<p>
Writes the 32 bit unsigned integer
<i>i32</i>
to the stream.
</p>
</description>
</function>
<function type="void" name="Write32">
<parameters>
<parameter type="const wxUint32 &#42;" name="buffer"></parameter>
<parameter type="size_t " name="size"></parameter>
</parameters>
<description>
<p>
Writes an array of 32 bit unsigned integer to the stream. The amount of 32 bit
unsigned integer to write is specified with the
<i>size</i>
variable.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="Write64">
<function type="void" name="Write64">
<parameters>
<parameter type="wxUint64 " name="i64"></parameter>
</parameters>
<description>
<p>
Writes the 64 bit unsigned integer
<i>i64</i>
to the stream.
</p>
</description>
</function>
<function type="void" name="Write64">
<parameters>
<parameter type="const wxUint64 &#42;" name="buffer"></parameter>
<parameter type="size_t " name="size"></parameter>
</parameters>
<description>
<p>
Writes an array of 64 bit unsigned integer to the stream. The amount of 64 bit
unsigned integer to write is specified with the
<i>size</i>
variable.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="WriteDouble">
<function type="void" name="WriteDouble">
<parameters>
<parameter type="double " name="f"></parameter>
</parameters>
<description>
<p>
Writes the double
<i>f</i>
to the stream using the IEEE format.
</p>
</description>
</function>
<function type="void" name="WriteDouble">
<parameters>
<parameter type="const double &#42;" name="buffer"></parameter>
<parameter type="size_t " name="size"></parameter>
</parameters>
<description>
<p>
Writes an array of double to the stream. The amount of double to write is
specified with the
<i>size</i>
variable.
</p>
</description>
</function>
</member>
<member class="wxDataOutputStream" name="WriteString">
<function type="void" name="WriteString">
<parameters>
<parameter type="const wxString&amp;" name="string"></parameter>
</parameters>
<description>
<p>
Writes
<i>string</i>
to the stream. Actually, this method writes the size of the string before
writing
<i>string</i>
itself.
</p>
<p>
In ANSI build of wxWidgets, the string is written to the stream in exactly same
way it is represented in memory. In Unicode build, however, the string is first
converted to multibyte representation with
<i>conv</i>
object passed to stream's constructor (consequently, ANSI application can read
data written by Unicode application, as long as they agree on encoding) and this
representation is written to the stream. UTF-8 is used by default.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDateEvent">
<description>
<p class="classdesc">
This event class holds information about a date change and is used together with
<ref target="wxdatepickerctrl">wxDatePickerCtrl</ref>
. It also serves as a base class for
<ref target="wxcalendarevent">wxCalendarEvent</ref>
.
</p>
</description>
<category>Events</category>
<shortdesc>Used with \helpref{wxDatePickerCtrl}{wxdatepickerctrl}</shortdesc>
<parents>
<ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/dateevt.h"/>
</includes>
<members>
<member class="wxDateEvent" name="GetDate">
<function type="const wxDateTime&amp;" name="GetDate" suffix="const">
<description>
<p>
Returns the date.
</p>
</description>
</function>
</member>
<member class="wxDateEvent" name="SetDate">
<function type="void" name="SetDate">
<parameters>
<parameter type="const wxDateTime&amp; " name="date"></parameter>
</parameters>
<description>
<p>
Sets the date carried by the event, normally only used by the library
internally.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxDatePickerCtrl" needdefine="wxUSE_DATEPICKCTRL">
<description>
<p class="classdesc">
This control allows the user to select a date. Unlike
<ref target="wxcalendarctrl">wxCalendarCtrl</ref>
, which is a relatively big control, wxDatePickerCtrl is implemented as a small
window showing the currently selected date. The control can be edited using the
keyboard, and can also display a popup window for more user-friendly date
selection, depending on the styles used and the platform, except PalmOS where
date is selected using native dialog.
</p>
<p class="classdesc">
It is only available if
<tt>wxUSE_DATEPICKCTRL</tt>
is set to 1.
</p>
</description>
<category>Controls</category>
<shortdesc>Small date picker control</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/datectrl.h"/>
</includes>
<windowstyles>
<style name="wxDP_SPIN">
wxDP_SPIN
</style>
<style name="wxDP_DROPDOWN">
wxDP_DROPDOWN
</style>
<style name="wxDP_DEFAULT">
wxDP_DEFAULT
</style>
<style name="wxDP_ALLOWNONE">
wxDP_ALLOWNONE
</style>
<style name="wxDP_SHOWCENTURY">
wxDP_SHOWCENTURY
</style>
</windowstyles>
<events>
<event name="EVT_DATE_CHANGED(id, func)">This event fires when the user
changes the current selection in the control.</event>
</events>
<seealso>
<ref target="wxcalendarctrl">wxCalendarCtrl</ref>
,
<br/>
<ref target="wxdateevent">wxDateEvent</ref>
</seealso>
<members>
<member class="wxDatePickerCtrl" name="wxDatePickerCtrl">
<function type="" name="wxDatePickerCtrl">
<parameters>
<parameter type="wxWindow &#42;" name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxDateTime&amp; " name="dt" value="wxDefaultDateTime"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxDP_DEFAULT"></parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
<parameter type="const wxString&amp; " name="name" value="``datectrl&quot;"></parameter>
</parameters>
<description>
<p>
Initializes the object and calls
<ref target="wxdatepickerctrlcreate">Create</ref>
with all the parameters.
</p>
</description>
</function>
</member>
<member class="wxDatePickerCtrl" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow &#42;" name="parent">
Parent window, must not be non-
<tt>NULL</tt>
.
</parameter>
<parameter type="wxWindowID " name="id">
The identifier for the control.
</parameter>
<parameter type="const wxDateTime&amp; " name="dt" value="wxDefaultDateTime">
The initial value of the control, if an invalid date (such as the default value)
is used, the control is set to today.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Initial position.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Initial size. If left at default value, the control chooses its own best size by
using the height approximately equal to a text control and width large enough to
show the date string fully.
</parameter>
<parameter type="long " name="style" value="wxDP_DEFAULT">
The window style, should be left at 0 as there are no special styles for this
control in this version.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
Validator which can be used for additional date checks.
</parameter>
<parameter type="const wxString&amp; " name="name" value="``datectrl&quot;">
Control name.
</parameter>
</parameters>
<returnvalue>
true if the control was successfully created or false if creation failed.
</returnvalue>
<description></description>
</function>
</member>
<member class="wxDatePickerCtrl" name="GetRange">
<function type="bool" name="GetRange" suffix="const">
<parameters>
<parameter type="wxDateTime &#42;" name="dt1">
Pointer to the object which receives the lower range limit or becomes invalid if
it is not set. May be
<tt>NULL</tt>
if the caller is not interested in lower limit
</parameter>
<parameter type="wxDateTime &#42;" name="dt2">
Same as above but for the upper limit
</parameter>
</parameters>
<returnvalue>
false if no range limits are currently set, true if at least one bound is set.
</returnvalue>
<description>
<p>
If the control had been previously limited to a range of dates using
<ref target="wxdatepickerctrlsetrange">SetRange()</ref>
, returns the lower and upper bounds of this range. If no range is set (or only
one of the bounds is set),
<i>dt1</i>
and/or
<i>dt2</i>
are set to be invalid.
</p>
</description>
</function>
</member>
<member class="wxDatePickerCtrl" name="GetValue">
<function type="wxDateTime" name="GetValue" suffix="const">
<description>
<p>
Returns the currently selected. If there is no selection or the selection is
outside of the current range, an invalid object is returned.
</p>
</description>
</function>
</member>
<member class="wxDatePickerCtrl" name="SetRange">
<function type="void" name="SetRange">
<parameters>
<parameter type="const wxDateTime&amp; " name="dt1"></parameter>
<parameter type="const wxDateTime&amp; " name="dt2"></parameter>
</parameters>
<remarks>
<p>
If the current value of the control is outside of the newly set range bounds,
the behaviour is undefined.
</p>
</remarks>
<description>
<p>
Sets the valid range for the date selection. If
<i>dt1</i>
is valid, it becomes the earliest date (inclusive) accepted by the control. If
<i>dt2</i>
is valid, it becomes the latest possible date.
</p>
</description>
</function>
</member>
<member class="wxDatePickerCtrl" name="SetValue">
<function type="void" name="SetValue">
<parameters>
<parameter type="const wxDateTime&amp; " name="dt"></parameter>
</parameters>
<description>
<p>
Changes the current value of the control. The date should be valid and included
in the currently selected range, if any.
</p>
<p>
Calling this method does not result in a date change event.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxDateSpan">
<description>
<p class="classdesc">
This class is a &quot;logical time span&quot; and is useful for implementing
program logic for such things as &quot;add one month to the date&quot; which, in
general, doesn't mean to add $60&#42;60&#42;24&#42;31$ seconds to it, but to
take the same date the next month (to understand that this is indeed different
consider adding one month to Feb, 15 -- we want to get Mar, 15, of course).
</p>
<p class="classdesc">
When adding a month to the date, all lesser components (days, hours, ...) won't
be changed unless the resulting date would be invalid: for example, Jan 31 + 1
month will be Feb 28, not (non existing) Feb 31.
</p>
<p class="classdesc">
Because of this feature, adding and subtracting back again the same wxDateSpan
will
<b>not</b>
, in general give back the original date: Feb 28 - 1 month will be Jan 28, not
Jan 31!
</p>
<p class="classdesc">
wxDateSpan objects can be either positive or negative. They may be multiplied by
scalars which multiply all deltas by the scalar: i.e. $2&#42;(1 month and 1
day)$ is 2 months and 2 days. They can be added together and with
<ref target="wxdatetime">wxDateTime</ref>
or
<ref target="wxtimespan">wxTimeSpan</ref>
, but the type of result is different for each case.
</p>
<p class="classdesc">
Beware about weeks: if you specify both weeks and days, the total number of days
added will be $7&#42;weeks + days$! See also GetTotalDays() function.
</p>
<p class="classdesc">
Equality operators are defined for wxDateSpans. Two datespans are equal if and
only if they both give the same target date when added to
<b>every</b>
source date. Thus wxDateSpan::Months(1) is not equal to wxDateSpan::Days(30),
because they don't give the same date when added to 1 Feb. But
wxDateSpan::Days(14) is equal to wxDateSpan::Weeks(2)
</p>
<p class="classdesc">
Finally, notice that for adding hours, minutes and so on you don't need this
class at all:
<ref target="wxtimespan">wxTimeSpan</ref>
will do the job because there are no subtleties associated with those (we don't
support leap seconds).
</p>
</description>
<category>Data structures</category>
<shortdesc>A logical time interval.</shortdesc>
<parents></parents>
<includes>
<header name="wx/datetime.h"/>
</includes>
<seealso>
<ref target="wxdatetimeoverview">Date classes overview</ref>
,
<ref target="wxdatetime">wxDateTime</ref>
</seealso>
<members>
<member class="wxDateSpan" name="wxDateSpan">
<function type="" name="wxDateSpan">
<parameters>
<parameter type="int " name="years" value="0"></parameter>
<parameter type="int " name="months" value="0"></parameter>
<parameter type="int " name="weeks" value="0"></parameter>
<parameter type="int " name="days" value="0"></parameter>
</parameters>
<description>
<p>
Constructs the date span object for the given number of years, months, weeks and
days. Note that the weeks and days add together if both are given.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Add">
<function type="wxDateSpan" name="Add" suffix="const">
<parameters>
<parameter type="const wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description></description>
</function>
<function type="wxDateSpan&amp;" name="Add">
<parameters>
<parameter type="const wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description></description>
</function>
<function type="wxDateSpan&amp;" name="operator$+=$">
<parameters>
<parameter type="const wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description>
<p>
Returns the sum of two date spans. The first version returns a new object, the
second and third ones modify this object in place.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Day">
<function type="static wxDateSpan" name="Day">
<seealso>
<ref target="wxdatespandays">Days</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to one day.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Days">
<function type="static wxDateSpan" name="Days">
<parameters>
<parameter type="int " name="days"></parameter>
</parameters>
<seealso>
<ref target="wxdatespanday">Day</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to the given number of days.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="GetDays">
<function type="int" name="GetDays" suffix="const">
<seealso>
<ref target="wxdatespangettotaldays">GetTotalDays</ref>
</seealso>
<description>
<p>
Returns the number of days (only, that it not counting the weeks component!) in
this date span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="GetMonths">
<function type="int" name="GetMonths" suffix="const">
<description>
<p>
Returns the number of the months (not counting the years) in this date span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="GetTotalDays">
<function type="int" name="GetTotalDays" suffix="const">
<seealso>
<ref target="wxdatespangetweeks">GetWeeks</ref>
<ref target="wxdatespangetdays">GetDays</ref>
</seealso>
<description></description>
</function>
</member>
<member class="wxDateSpan" name="GetWeeks">
<function type="int" name="GetWeeks" suffix="const">
<seealso>
<ref target="wxdatespangettotaldays">GetTotalDays</ref>
</seealso>
<description>
<p>
Returns the number of weeks in this date span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="GetYears">
<function type="int" name="GetYears" suffix="const">
<description>
<p>
Returns the number of years in this date span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Month">
<function type="static wxDateSpan" name="Month">
<seealso>
<ref target="wxdatespanmonths">Months</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to one month.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Months">
<function type="static wxDateSpan" name="Months">
<parameters>
<parameter type="int " name="mon"></parameter>
</parameters>
<seealso>
<ref target="wxdatespanmonth">Month</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to the given number of months.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Multiply">
<function type="wxDateSpan" name="Multiply" suffix="const">
<parameters>
<parameter type="int " name="factor"></parameter>
</parameters>
<description></description>
</function>
<function type="wxDateSpan&amp;" name="Multiply">
<parameters>
<parameter type="int " name="factor"></parameter>
</parameters>
<description></description>
</function>
<function type="wxDateSpan&amp;" name="operator$&#42;=$">
<parameters>
<parameter type="int " name="factor"></parameter>
</parameters>
<description>
<p>
Returns the product of the date span by the specified
<i>factor</i>
. The product is computed by multiplying each of the components by the factor.
</p>
<p>
The first version returns a new object, the second and third ones modify this
object in place.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Negate">
<function type="wxDateSpan" name="Negate" suffix="const">
<seealso>
<ref target="wxdatespanneg">Neg</ref>
</seealso>
<description>
<p>
Returns the date span with the opposite sign.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Neg">
<function type="wxDateSpan&amp;" name="Neg">
<description></description>
</function>
<function type="wxDateSpan&amp;" name="operator$-$">
<seealso>
<ref target="wxdatespannegate">Negate</ref>
</seealso>
<description>
<p>
Changes the sign of this date span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="SetDays">
<function type="wxDateSpan&amp;" name="SetDays">
<parameters>
<parameter type="int " name="n"></parameter>
</parameters>
<description>
<p>
Sets the number of days (without modifying any other components) in this date
span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="SetYears">
<function type="wxDateSpan&amp;" name="SetYears">
<parameters>
<parameter type="int " name="n"></parameter>
</parameters>
<description>
<p>
Sets the number of years (without modifying any other components) in this date
span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="SetMonths">
<function type="wxDateSpan&amp;" name="SetMonths">
<parameters>
<parameter type="int " name="n"></parameter>
</parameters>
<description>
<p>
Sets the number of months (without modifying any other components) in this date
span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="SetWeeks">
<function type="wxDateSpan&amp;" name="SetWeeks">
<parameters>
<parameter type="int " name="n"></parameter>
</parameters>
<description>
<p>
Sets the number of weeks (without modifying any other components) in this date
span.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Subtract">
<function type="wxDateSpan" name="Subtract" suffix="const">
<parameters>
<parameter type="const wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description></description>
</function>
<function type="wxDateSpan&amp;" name="Subtract">
<parameters>
<parameter type="const wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description></description>
</function>
<function type="wxDateSpan&amp;" name="operator$+=$">
<parameters>
<parameter type="const wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description>
<p>
Returns the difference of two date spans. The first version returns a new
object, the second and third ones modify this object in place.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Week">
<function type="static wxDateSpan" name="Week">
<seealso>
<ref target="wxdatespanweeks">Weeks</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to one week.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Weeks">
<function type="static wxDateSpan" name="Weeks">
<parameters>
<parameter type="int " name="weeks"></parameter>
</parameters>
<seealso>
<ref target="wxdatespanweek">Week</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to the given number of weeks.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Year">
<function type="static wxDateSpan" name="Year">
<seealso>
<ref target="wxdatespanyears">Years</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to one year.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="Years">
<function type="static wxDateSpan" name="Years">
<parameters>
<parameter type="int " name="years"></parameter>
</parameters>
<seealso>
<ref target="wxdatespanyear">Year</ref>
</seealso>
<description>
<p>
Returns a date span object corresponding to the given number of years.
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="operator$==$">
<function type="bool" name="operator$==$" suffix="const">
<parameters>
<parameter type="wxDateSpan&amp; " name="other"></parameter>
</parameters>
<description>
<p>
Returns
<tt>true</tt>
if this date span is equal to the other one. Two date spans are considered equal
if and only if they have the same number of years and months and the same total
number of days (counting both days and weeks).
</p>
</description>
</function>
</member>
<member class="wxDateSpan" name="operator$!=$">
<function type="bool" name="operator$!=$" suffix="const">
<parameters>
<parameter type="wxDateSpan&amp; " name="other"></parameter>
</parameters>
<seealso>
<ref target="wxdatespanoperatorequal">operator==</ref>
</seealso>
<description>
<p>
Returns
<tt>true</tt>
if this date span is different from the other one.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDateTime">
<description>
<p class="classdesc">
wxDateTime class represents an absolute moment in the time.
</p>
</description>
<category>Data structures</category>
<shortdesc>A class for date/time manipulations</shortdesc>
<parents></parents>
<includes>
<header name="wx/datetime.h"/>
</includes>
<constants>

Global constant <tt>wxDefaultDateTime</tt> and synonym for it <tt>wxInvalidDateTime</tt> are defined. This constant will be different from any valid
wxDateTime object.

All the following constants are defined inside wxDateTime class (i.e., to refer to
them you should prepend their names with <tt>wxDateTime::</tt>).

Time zone symbolic names:

<pre>
    enum TZ
    {
        // the time in the current time zone
        Local,

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

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

        // some symbolic names for TZ

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

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

        // Australia

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

        // Universal Coordinated Time = the new and politically correct name
        // for GMT
        UTC = GMT0
    };
</pre>

Month names: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec and
Inv_Month for an invalid.month value are the values of <tt>wxDateTime::Month</tt>
enum.

Likewise, Sun, Mon, Tue, Wed, Thu, Fri, Sat, and Inv_WeekDay are the values in
<tt>wxDateTime::WeekDay</tt> enum.

Finally, Inv_Year is defined to be an invalid value for year parameter.

<ref target="wxdatetimegetmonthname">GetMonthName()</ref> and
<ref target="wxdatetimegetweekdayname">GetWeekDayName</ref> functions use the following
flags:

<pre>
    enum NameFlags
    {
        Name_Full = 0x01,       // return full name
        Name_Abbr = 0x02        // return abbreviated name
    };
</pre>

Several functions accept an extra parameter specifying the calendar to use
(although most of them only support now the Gregorian calendar). This
parameters is one of the following values:

<pre>
    enum Calendar
    {
        Gregorian,  // calendar currently in use in Western countries
        Julian      // calendar in use since -45 until the 1582 (or later)
    };
</pre>

Date calculations often depend on the country and wxDateTime allows to set the
country whose conventions should be used using
<ref target="wxdatetimesetcountry">SetCountry</ref>. It takes one of the following
values as parameter:

<pre>
    enum Country
    {
        Country_Unknown, // no special information for this country
        Country_Default, // set the default country with SetCountry() method
                         // or use the default country with any other

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

        Russia,

        USA
    };
</pre>

Different parts of the world use different conventions for the week start.
In some countries, the week starts on Sunday, while in others -- on Monday.
The ISO standard doesn't address this issue, so we support both conventions in
the functions whose result depends on it (<ref target="wxdatetimegetweekofyear">GetWeekOfYear</ref> and
<ref target="wxdatetimegetweekofmonth">GetWeekOfMonth</ref>).

The desired behvaiour may be specified by giving one of the following
constants as argument to these functions:

<pre>
    enum WeekFlags
    {
        Default_First,   // Sunday_First for US, Monday_First for the rest
        Monday_First,    // week starts with a Monday
        Sunday_First     // week starts with a Sunday
    };
</pre>
</constants>
<types>

The type <tt>wxDateTime_t</tt> is typedefed as <tt>unsigned short</tt> and is used
to contain the number of years, hours, minutes, seconds and milliseconds.

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

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

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

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

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

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

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

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

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

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

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

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

    REFERENCES  : Is the connected user permitted to refer to one or
                  more columns of the table within a constraint (for
                  example, a unique, referential, or table check
                  constraint).
</pre>
<pre>
         userID == NULL  ... NOT ALLOWED!
         userID == ""    ... UserID set equal to 'this->uid'
         userID != ""    ... UserID set equal to 'userID'
</pre>
<pre>
         schema == NULL  ... Any owner (DEFAULT)
         schema == ""    ... Owned by 'this->uid'
         schema != ""    ... Owned by userID specified in 'schema'
</pre>
</description>
</function>
</member>
<member class="wxDb" name="TranslateSqlState">
<function type="int " name="TranslateSqlState">
<parameters>
<parameter type="const wxString &amp;" name="SQLState">
State to be converted.
</parameter>
</parameters>
<returnvalue>
Returns the internal class DB\_ERR code. See
<ref target="wxdb">wxDb::DB\_STATUS</ref>
definition.
</returnvalue>
<description>
<p>
Converts an ODBC sqlstate to an internal error code.
</p>
</description>
</function>
</member>
<member class="wxDb" name="WriteSqlLog">
<function type="bool" name="WriteSqlLog">
<parameters>
<parameter type="const wxString &amp;" name="logMsg">
Free form string to be written to the log file.
</parameter>
</parameters>
<seealso>
<ref target="wxdbsetsqllogging">wxDb::SetSqlLogging</ref>
</seealso>
<remarks>
<p>
Very useful debugging tool that may be turned on/off during run time (see (see
<ref target="wxdbsetsqllogging">wxDb::SetSqlLogging</ref>
for details on turning logging on/off). The passed in string
<i> logMsg</i>
will be written to a log file if SQL logging is turned on.
</p>
<p>
\wxheading{Return value}
</p>
<p>
If SQL logging is off when a call to WriteSqlLog() is made, or there is a
failure to write the log message to the log file, the function returns false
without performing the requested log, otherwise true is returned.
</p>
</remarks>
<description></description>
</function>
</member>
</members>
</class>
<class name="wxDbColDataPtr" needdefine="wxUSE_ODBC">
<description>
<p>
(TODO: description)
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<members></members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbColDef" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
This class is used to hold information about the columns bound to an instance of
a wxDbTable object.
</p>
<p class="classdesc">
Each instance of this class describes one column in the wxDbTable object. When
calling the
<ref target="wxdbctor">wxDb constructor</ref>
, a parameter passed in indicates the number of columns that will be defined for
the wxDbTable object. The constructor uses this information to allocate adequate
memory for all of the column descriptions in your wxDbTable object. Private
member wxDbTable::colDefs is a pointer to this chunk of memory maintained by the
wxDbTable class (and can be retrieved using the
<ref target="wxdbtablegetcoldefs">wxDbTable::GetColDefs</ref>
function). To access the nth column definition of your wxDbTable object, just
reference wxDbColDefs element [n - 1].
</p>
<p class="classdesc">
Typically,
<ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
is used to populate an array of these data structures for the wxDbTable
instance.
</p>
<p class="classdesc">
Currently there are no accessor functions for this class, so all members are
public.
</p>
<p class="classdesc">
<pre>
    wxChar  ColName[DB_MAX_COLUMN_NAME_LEN+1];  // Column Name
    int     DbDataType;    - Logical Data Type;
                             e.g. DB_DATA_TYPE_INTEGER
    SWORD   SqlCtype;      - C data type; e.g. SQL_C_LONG
    void   &#42;PtrDataObj;    - Address of the data object
    int     SzDataObj;     - Size, in bytes, of the data object
    bool    KeyField;      - Is column part of the PRIMARY KEY for the
                             table? -- Date fields should NOT be
                             KeyFields
    bool    Updateable;    - Column is updateable?
    bool    InsertAllowed; - Column included in INSERT statements?
    bool    DerivedCol;    - Column is a derived value?
    SDWORD  CbValue;       - !!!Internal use only!!!
    bool    Null;          - NOT FULLY IMPLEMENTED
                             Allows NULL values in Inserts and Updates
</pre>
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<includes>
<header name="wx/db.h"/>
</includes>
<seealso>
<ref target="odbcoverview">database classes overview</ref>
,
<ref target="wxdbtablegetcoldefs">wxDbTable::GetColDefs</ref>
<ref target="wxdbctor">wxDb constructor</ref>
</seealso>
<members>
<member class="wxDbColDef" name="Initialize"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbColFor" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
Beginning support for handling international formatting specifically on dates
and floats.
</p>
<p class="classdesc">
<pre>
    wxString       s_Field;       // Formated String for Output
    wxString       s_Format[7];   // Formated Objects - TIMESTAMP has
                                     the biggest (7)
    wxString       s_Amount[7];   // Formated Objects - amount of
                                     things that can be formatted
    int            i_Amount[7];   // Formated Objects -
                                        TT MM YYYY HH MM SS m
    int            i_Nation;      // 0 = timestamp
                                     1 = EU
                                     2 = UK
                                     3 = International
                                     4 = US
    int            i_dbDataType;  // conversion of the 'sqlDataType'
                                     to the generic data type used by
                                     these classes
    SWORD          i_sqlDataType;
</pre>
</p>
<p class="classdesc">
The constructor for this class initializes all the values to zero or NULL.
</p>
<p class="classdesc">
The destructor does nothing at this time.
</p>
<p class="classdesc">
Only one function is provided with this class currently.
</p>
<p class="classdesc">
See the
<ref target="odbcoverview">database classes overview</ref>
for an introduction to using the ODBC classes.
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<includes>
<header name="wx/db.h"/>
</includes>
<members>
<member class="wxDbColFor" name="Format">
<function type="int " name="Format">
<parameters>
<parameter type="int " name="Nation"></parameter>
<parameter type="int " name="dbDataType"></parameter>
<parameter type="SWORD " name="sqlDataType"></parameter>
<parameter type="short " name="columnSize"></parameter>
<parameter type="short " name="decimalDigits"></parameter>
</parameters>
<description>
<p>
<ref target="wxdbcolforformat"/>
</p>
<p>
Work in progress, and should be inter-related with wxLocale eventually.
</p>
</description>
</function>
</member>
<member class="wxDbColFor" name="Initialize"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbColInf" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
Used with the
<ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
functions for obtaining all retrievable information about a column's definition.
</p>
<p class="classdesc">
<pre>
    wxChar       catalog[128+1];
    wxChar       schema[128+1];
    wxChar       tableName[DB_MAX_TABLE_NAME_LEN+1];
    wxChar       colName[DB_MAX_COLUMN_NAME_LEN+1];
    SWORD        sqlDataType;
    wxChar       typeName[128+1];
    SWORD        columnSize;
    SWORD        bufferLength;
    short        decimalDigits;
    short        numPrecRadix;
    short        nullable;
    wxChar       remarks[254+1];
    int          dbDataType;  // conversion of the 'sqlDataType'
                              // to the generic data type used by
                              // these classes
    int          PkCol;       // Primary key column
                                    0 = No
                                    1 = First Key
                                    2 = Second Key, etc...
    wxChar       PkTableName[DB_MAX_TABLE_NAME_LEN+1];
                              // Tables that use this PKey as a FKey
    int          FkCol;       // Foreign key column
                                    0 = No
                                    1 = First Key
                                    2 = Second Key, etc...
    wxChar       FkTableName[DB_MAX_TABLE_NAME_LEN+1];
                              // Foreign key table name
    wxDbColFor  &#42;pColFor;     // How should this column be formatted
</pre>
</p>
<p class="classdesc">
The constructor for this class initializes all the values to zero, &quot;&quot;,
or NULL.
</p>
<p class="classdesc">
The destructor for this class takes care of deleting the pColFor member if it is
non-NULL.
</p>
<p class="classdesc">
See the
<ref target="odbcoverview">database classes overview</ref>
for an introduction to using the ODBC classes.
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<includes>
<header name="wx/db.h"/>
</includes>
<members>
<member class="wxDbColInf" name="Initialize"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbConnectInf">
<description>
<p class="classdesc">
This class is used for holding the data necessary for connecting to the ODBC
datasource. That information includes: SQL environment handle, datasource name,
user ID, password and default directory path (used with dBase). Other optional
fields held in this class are and file type, both for future functions planned
to be added for creating/manipulating datasource definitions.
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<members>
<member class="wxDbConnectInf" name="wxDbConnectInf">
<function type="" name="wxDbConnectInf">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxDbConnectInf">
<parameters>
<parameter type="HENV " name="henv">
Environment handle used for this connection. See
<ref target="wxdbconnectinfallochenv">wxDConnectInf::AllocHenv</ref>
for how to create an SQL environment handle. NOTE: Passing in a NULL for this
parameter will inform the constructor that it should create its own SQL
environment handle. If NULL is passed for this parameter, the constructor will
call
<ref target="wxdbconnectinfallochenv">wxDConnectInf::AllocHenv</ref>
internally. A flag is set internally also to indicate that the HENV was created
by the constructor so that when the default class destructor is called, the
destructor will call
<ref target="wxdbconnectinffreehenv">wxDConnectInf::FreeHenv</ref>
to free the environment handle automatically.
</parameter>
<parameter type="const wxString &amp;" name="dsn">
Name of the datasource to be used in creating wxDb instances for creating
connection(s) to a datasource.
</parameter>
<parameter type="const wxString &amp;" name="userID" value="&quot;&quot;">
<i>OPTIONAL</i>
Many datasources allow (or even require) use of a username to determine
privileges that connecting user is allowed to have when accessing the datasource
or the data tables. Default is &quot;&quot;.
</parameter>
<parameter type="const wxString &amp;" name="password">
<i>OPTIONAL</i>
Password to be associated with the user ID specified in 'userID'. Default is
&quot;&quot;.
</parameter>
<parameter type="const wxString &amp;" name="defaultDir" value="&quot;&quot;">
<i>OPTIONAL</i>
Used for datasources which require the path to where the data file is stored to
be specified. dBase is one example of the type of datasource which requires this
information. Default is &quot;&quot;.
</parameter>
<parameter type="const wxString &amp;" name="description" value="&quot;&quot;">
<i>OPTIONAL</i>
<b>FUTURE USE</b>
Default is &quot;&quot;.
</parameter>
<parameter type="const wxString &amp;" name="fileType" value="&quot;&quot;">
<i>OPTIONAL</i>
<b>FUTURE USE</b>
Default is &quot;&quot;.
</parameter>
</parameters>
<example>
<pre>
   wxDbConnectInf &#42;DbConnectInf;

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

	....the rest of the program

	delete DbConnectInf;
</pre>
<p>
\wxheading{See also}
</p>
<p>
<ref target="wxdbconnectinfallochenv">wxDConnectInf::AllocHenv</ref>
,
<ref target="wxdbconnectinffreehenv">wxDConnectInf::FreeHenv</ref>
</p>
</example>
<remarks>
<p>
It is strongly recommended that programs use the longer form of the constructor
and allow the constructor to create the SQL environment handle automatically,
and manage the destruction of the handle.
</p>
</remarks>
<description>
<p>
Constructor which allows initial settings of all the classes member variables.
</p>
<p>
See the special note below on the henv parameter for forcing this constructor to
create a SQL environment handle automatically, rather than needing to pass one
in to the function.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="~wxDbConnectInf">
<function type="" name="~wxDbConnectInf">
<parameters></parameters>
<description>
<p>
Handles the default destruction of the instance of the class. If the long form
of the
<ref target="wxdbconnectinf">wxDConnectInf</ref>
was used, then this destructor also takes care of calling
<ref target="wxdbconnectinffreehenv">wxDConnectInf::FreeHenv</ref>
to free the SQL environment handle.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="AllocHenv">
<function type="bool " name="AllocHenv">
<remarks>
<p>
This function can be automatically called by the long from of the
<ref target="wxdbconnectinf">wxDbConnectInf</ref>
constructor.
</p>
</remarks>
<description>
<p>
Allocates a SQL environment handle that will be used to interface with an ODBC
datasource.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="FreeHenv">
<function type="void" name="FreeHenv">
<remarks>
<p>
If the SQL environment handle was created using the long form of the
<ref target="wxdbconnectinf">wxDbConnectInf</ref>
constructor, then the flag indicating that the HENV should be destroyed when the
classes destructor is called is reset to be false, so that any future handles
created using the
<ref target="wxdbconnectinfallochenv">wxDbConnectInf::AllocHenv</ref>
function must be manually released with a call to this function.
</p>
</remarks>
<description>
<p>
Frees the SQL environment handle being managed by the instance of this class.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="Initialize"></member>
<member class="wxDbConnectInf" name="GetAuthStr">
<function type="const wxChar &#42;" name="GetAuthStr">
<description>
<p>
Accessor function to return the password assigned for this class instance that
will be used with the user ID.
</p>
<p>
Synonymous with
<ref target="wxdbconnectinfgetpassword">wxDbConnectInf::GetPassword</ref>
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetDefaultDir">
<function type="const wxChar &#42;" name="GetDefaultDir">
<description>
<p>
Accessor function to return the default directory in which the datasource's data
table is stored. This directory is only used for file based datasources like
dBase. MS-Access does not require this to be set, as the path is set in the ODBC
Administrator for MS-Access.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetDescription">
<function type="const wxChar &#42;" name="GetDescription">
<description>
<p>
Accessor function to return the description assigned for this class instance.
</p>
<p>
NOTE: Description is a FUTURE USE item and is unused currently.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetDsn">
<function type="const wxChar &#42;" name="GetDsn">
<description>
<p>
Accessor function to return the datasource name assigned for this class
instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetFileType">
<function type="const wxChar &#42;" name="GetFileType">
<description>
<p>
Accessor function to return the filetype of the ODBC datasource assigned for
this class instance.
</p>
<p>
NOTE: FileType is a FUTURE USE item and is unused currently.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetHenv">
<function type="const HENV" name="GetHenv">
<description>
<p>
Accessor function to return the SQL environment handle being managed by this
class instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetPassword">
<function type="const wxChar &#42;" name="GetPassword">
<description>
<p>
Accessor function to return the password assigned for this class instance that
will be used with the user ID.
</p>
<p>
Synonymous with
<ref target="wxdbconnectinfgetauthstr">wxDbConnectInf::GetAuthStr</ref>
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetUid">
<function type="const wxChar &#42;" name="GetUid">
<description>
<p>
Accessor function to return the user ID assigned for this class instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="GetUserID">
<function type="const wxChar &#42;" name="GetUserID">
<description>
<p>
Accessor function to return the user ID assigned for this class instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetAuthStr">
<function type="void" name="SetAuthStr">
<parameters></parameters>
<description>
<p>
Accessor function to assign the password for this class instance that will be
used with the user ID.
</p>
<p>
Synonymous with
<ref target="wxdbconnectinfsetpassword">wxDbConnectInf::SetPassword</ref>
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetDefaultDir">
<function type="void" name="SetDefaultDir">
<parameters></parameters>
<description>
<p>
Accessor function to assign the default directory in which the datasource's data
table is stored. This directory is only used for file based datasources like
dBase. MS-Access does not require this to be set, as the path is set in the ODBC
Administrator for MS-Access.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetDescription">
<function type="void" name="SetDescription">
<parameters></parameters>
<description>
<p>
Accessor function to assign the description assigned for this class instance.
</p>
<p>
NOTE: Description is a FUTURE USE item and is unused currently.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetDsn">
<function type="void" name="SetDsn">
<parameters></parameters>
<description>
<p>
Accessor function to assign the datasource name for this class instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetFileType">
<function type="void" name="SetFileType">
<parameters></parameters>
<description>
<p>
Accessor function to return the filetype of the ODBC datasource assigned for
this class instance.
</p>
<p>
NOTE: FileType is a FUTURE USE item and is unused currently.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetHenv">
<function type="void" name="SetHenv">
<parameters>
<parameter type="const HENV " name="henv"></parameter>
</parameters>
<description>
<p>
Accessor function to set the SQL environment handle for this class instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetPassword">
<function type="void" name="SetPassword">
<parameters></parameters>
<description>
<p>
Accessor function to assign the password for this class instance that will be
used with the user ID.
</p>
<p>
Synonymous with
<ref target="wxdbconnectinfsetauthstr">wxDbConnectInf::SetAuthStr</ref>
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetUid">
<function type="void" name="SetUid">
<parameters></parameters>
<description>
<p>
Accessor function to set the user ID for this class instance.
</p>
</description>
</function>
</member>
<member class="wxDbConnectInf" name="SetUserID">
<function type="void" name="SetUserID">
<parameters></parameters>
<description>
<p>
Accessor function to assign the user ID for this class instance.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbGridColInfo" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
This class is used to define columns to be shown, names of the columns, order
and type of data, when using
<ref target="wxdbgridtablebase">wxdbGridTableBase</ref>
to display a Table or query in a
<ref target="wxgrid">wxGrid</ref>
</p>
<p class="classdesc">
See the database grid example in
<ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
for an introduction to using the wxDbGrid classes.
</p>
</description>
<category>Miscellaneous</category>
<includes>
<header name="wx/dbgrid.h"/>
</includes>
<members>
<member class="wxDbGridColInfo" name="wxDbGridColInfo">
<function type="" name="wxDbGridColInfo">
<parameters>
<parameter type="int " name="colNumber">
Column number in the
<ref target="wxdbtable">wxDbTable</ref>
instance to be used (first column is 0).
</parameter>
<parameter type="wxString " name="type">
Column type ,wxString specifying the grid name for the datatype in this column,
or use wxGRID_VALUE_DBAUTO to determine the type automatically from the
<ref target="wxdbcoldef">wxDbColDef</ref>
definition
</parameter>
<parameter type="wxString " name="title">
The column label to be used in the grid display
</parameter>
<parameter type="wxDbGridColInfo &#42;" name="next">
A pointer to the next wxDbGridColInfo structure if using one-step construction,
NULL terminates the list. Use Null also if using two step construction.
</parameter>
</parameters>
<description>
<p>
Default constructor. See the database grid example in
<ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
to see two different ways for adding columns.
</p>
<p>
See the database grid example in
<ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
to see two different ways for adding columns.
</p>
</description>
</function>
</member>
<member class="wxDbGridColInfo" name="~wxDbGridColInfo">
<function type="" name="~wxDbGridColInfo">
<parameters></parameters>
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxDbGridColInfo" name="AddColInfo">
<function type="void" name="AddColInfo">
<parameters>
<parameter type="int " name="colNumber">
Column number in the
<ref target="wxdbtable">wxDbTable</ref>
instance to be used (first column is 0).
</parameter>
<parameter type="wxString " name="type">
Column type ,wxString specifying the grid name for the datatype in this column,
or use wxGRID_VALUE_DBAUTO to determine the type automatically from the
<ref target="wxdbcoldef">wxDbColDef</ref>
definition
</parameter>
<parameter type="wxString " name="title">
The column label to be used in the grid display
</parameter>
</parameters>
<remarks>
<p>
As wxDbTable must be defined with to have columns which match those to by a
wxDbGridColInfo info structure as this is the structure which informs the grid
of how you want to display your
<ref target="wxdbtable">wxDbTable</ref>
. If no datatype conversion or the referenced column number does not exist the
the behavior is undefined.
</p>
<p>
See the example at
<ref target="wxdbgridcolinfoctor">wxDbGridColInfo::wxDbGridColInfo</ref>
.
</p>
</remarks>
<description>
<p>
Use this member function for adding columns. See the database grid example in
<ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
to see two different ways for adding columns.
</p>
<p>
It is important to note that this class is merely a specifier to the
<ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
constructor. Changes made to this datatype after the
<ref target="wxdbgridtablebase">wxDbGridTableBase</ref>
is called will not have any effect.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxDbGridTableBase">
<description>
<p class="classdesc">
You can view a database table in a grid using this class.
</p>
<p class="classdesc">
If you are deriving your own wxDbTable subclass for your table , then you may
consider overriding GetCol() and SetCol() to provide calculated fields. This
does work but care should be taken when using wxDbGridTableBase in this way.
</p>
<p class="classdesc">
The constructor and AssignDbTable() call allows you to specify the ownership if
the wxDbTable object pointer. If you tell wxGridTableBase to take ownership , it
will delete the passed wxDbTable when an new on is assigned or wxGridTableBase's
destructor is called. However no checks for aliasing are done so
Assign(table,..,true); Assign(table,..,true); is an error. If you need to
requery an table object the preferred way is that the client keeps ownership.
</p>
</description>
<category>Miscellaneous</category>
<example>
<pre>
	// First step, let's define wxDbTable
	int numColumns = 2;
	wxDbTable &#42;table = new wxDbTable (db, tblName, numColumns);
	int int_var;
	wxChar string_name[255];
	table-&gt;SetColDef (0, &quot;column 0&quot;, DB_DATA_TYPE_INTEGER, &amp;int_var,
			SQL_C_LONG, sizeof(int_var), true);
	table-&gt;SetColDef (1, &quot;column 1&quot;, DB_DATA_TYPE_VARCHAR, &amp;string_name,
			SQL_C_LONG, sizeof(string_name), false);

    // now let's define columns in the grid

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

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

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

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

    wxDbGridTableBase &#42;dbgrid = new wxDbGridTableBase(table, columns, wxUSE_QUERY, true);
    delete columns;  // not needed anymore
    wxGrid &#42;grid = new wxGrid ( ... );
    grid-&gt;SetTable(dbgrid, true);
    grid-&gt;Fit();
</pre>
</example>
<parents>
<ref type="help" target="wxGridTableBase">wxGridTableBase</ref>
</parents>
<includes>
<header name="wx/dbgrid.h"/>
</includes>
<members>
<member class="wxDbGridTableBase" name="wxDbGridTableBase">
<function type="" name="wxDbGridTableBase">
<parameters>
<parameter type="wxDbTable &#42;" name="tab">
The database table you want to display. Must be opened and queried before
display the grid. See the example
<ref target="wxdbgridtablebase">above</ref>
.
</parameter>
<parameter type="wxDbGridColInfo &#42;" name="ColInfo">
Columns titles, and other values. See
<ref target="wxdbgridcolinfo">wxDbGridColInfo</ref>
.
</parameter>
<parameter type="int " name="count" value="wxUSE_QUERY">
You can use a query result set (wxUSE_QUERY, to use
wxDbTable::Count(wxDbTable::Count() or you can fix the total number of rows
(count &gt;= 0) to display, or specify it if you already know the size in avoid
calling
</parameter>
<parameter type="bool " name="takeOwnership" value="true">
If true, this class deletes wxDbTable when it stops referring to it, if false
application must take care of deleting it.
</parameter>
</parameters>
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxDbGridTableBase" name="ValidateRow">
<function type="void" name="ValidateRow">
<parameters>
<parameter type="int " name="row">
Row where validation must be done.
</parameter>
</parameters>
<description>
<p>
It ensures that the row data is fetched from the database, and it the wxDbTable
local buffer, the row number passed should be the grid row.
</p>
</description>
</function>
</member>
<member class="wxDbGridTableBase" name="UpdateRow">
<function type="bool" name="UpdateRow">
<parameters>
<parameter type="int " name="row">
Row you want to update.
</parameter>
</parameters>
<description>
<p>
If row has changed it forces that row to be written back to the database,
however support for detecting whether insert/update is required is currently not
in wxDbTable, so this function is currently unsupported.
</p>
</description>
</function>
</member>
<member class="wxDbGridTableBase" name="AssignDbTable">
<function type="bool" name="AssignDbTable">
<parameters>
<parameter type="wxDbTable &#42;" name="tab">
Database table you want to assign to the grid.
</parameter>
<parameter type="int " name="count" value="wxUSE_QUERY">
Number of rows you want to show or wxUSE_QUERY for using a query.
</parameter>
<parameter type="bool " name="takeOwnership" value="true">
If false, user must take care of deleting tab after deleting the
wxDbGridTableBase. If true, deletion is made by destructor class.
</parameter>
</parameters>
<description>
<p>
Resets the grid for using with a new database table, but using the same columns
definition. This can be useful when re-querying the database and want to see the
changes.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxDbIdxDef" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
Used in creation of non-primary indexes. Currently there are no member functions
for this class.
</p>
<p class="classdesc">
<pre>
        wxChar  ColName[DB_MAX_COLUMN_NAME_LEN+1]
                                  // Name of column
        bool    Ascending         // Is index maintained in
                                     ASCENDING sequence?
</pre>
</p>
<p class="classdesc">
There are no constructors/destructors as of this time, and no member functions.
</p>
<p class="classdesc">
See the
<ref target="odbcoverview">database classes overview</ref>
for an introduction to using the ODBC classes.
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<members></members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbInf" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
Contains information regarding the database connection (datasource name, number
of tables, etc). A pointer to a wxDbTableInf is included in this class so a
program can create a wxDbTableInf array instance to maintain all information
about all tables in the datasource to have all the datasource's information in
one memory structure.
</p>
<p class="classdesc">
Primarily, this class is used internally by the wxWidgets ODBC classes.
</p>
<p class="classdesc">
<pre>
    wxChar        catalog[128+1];
    wxChar        schema[128+1];  // typically means owner of table(s)
    int           numTables;      // How many tables does this
                                     datasource have
    wxDbTableInf &#42;pTableInf;      // Equals a new
                                     wxDbTableInf[numTables];
</pre>
</p>
<p class="classdesc">
The constructor for this class initializes all the values to zero, &quot;&quot;,
or NULL.
</p>
<p class="classdesc">
The destructor for this class takes care of deleting the pTableInf member if it
is non-NULL.
</p>
<p class="classdesc">
See the
<ref target="odbcoverview">database classes overview</ref>
for an introduction to using the ODBC classes.
</p>
</description>
<category>Database classes</category>
<shortdesc></shortdesc>
<includes>
<header name="wx/db.h"/>
</includes>
<members>
<member class="wxDbInf" name="Initialize"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxDbTable" needdefine="wxUSE_ODBC">
<description>
<p class="classdesc">
A wxDbTable instance provides re-usable access to rows of data in a table
contained within the associated ODBC datasource
</p>
<p class="classdesc">
See the
<ref target="odbcoverview">database classes overview</ref>
for an introduction to using the ODBC classes.
</p>
</description>
<category>Database classes</category>
<shortdesc>Provides access to a database table</shortdesc>
<includes>
<header name="wx/dbtable.h"/>
<header name="wx/db.h"/>
</includes>
<members>
<member class="wxDbTable" name="wxDbTable">
<function type="" name="wxDbTable">
<parameters>
<parameter type="wxDb &#42;" name="pwxDb">
Pointer to the wxDb instance to be used by this wxDbTable instance.
</parameter>
<parameter type="const wxString &amp;" name="tblName">
The name of the table in the RDBMS.
</parameter>
<parameter type="const UWORD " name="numColumns">
The number of columns in the table. (Do NOT include the ROWID column in the
count if using Oracle).
</parameter>
<parameter type="const wxString &amp;" name="qryTblName" value="&quot;&quot;">
<i>OPTIONAL</i>
. The name of the table or view to base your queries on. This argument allows
you to specify a table/view other than the base table for this object to base
your queries on. This allows you to query on a view for example, but all of the
INSERT, UPDATE and DELETES will still be performed on the base table for this
wxDbTable object. Basing your queries on a view can provide a substantial
performance increase in cases where your queries involve many tables with
multiple joins. Default is &quot;&quot;.
</parameter>
<parameter type="bool " name="qryOnly" value="!wxDB_QUERY_ONLY">
<i>OPTIONAL</i>
. Indicates whether the table will be accessible for query purposes only, or
should the table create the necessary cursors to be able to insert, update, and
delete data from the table. Default is !wxDB_QUERY_ONLY.
</parameter>
<parameter type="const wxString &amp;" name="tblPath" value="&quot;&quot;">
<i>OPTIONAL</i>
. Some datasources (such as dBase) require a path to where the table is stored
on the system. Default is &quot;&quot;.
</parameter>
</parameters>
<description>
<p>
Default constructor.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="wxDbTable">
<function type="virtual" name="~wxDbTable">
<parameters></parameters>
<description>
<p>
Virtual default destructor.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="BuildDeleteStmt">
<function type="void" name="BuildDeleteStmt">
<parameters>
<parameter type="wxString &amp;" name="pSqlStmt">
Pointer to buffer for the SQL statement retrieved. To be sure you have adequate
space allocated for the SQL statement, allocate DB_MAX_STATEMENT_LEN bytes.
</parameter>
<parameter type="int " name="typeOfDel">
The type of delete statement being performed. Can be one of three values:
DB_DEL_KEYFIELDS, DB_DEL_WHERE or DB_DEL_MATCHING
</parameter>
<parameter type="const wxString &amp;" name="pWhereClause" value="&quot;&quot;">
<i>OPTIONAL</i>
. If the typeOfDel is DB_DEL_WHERE, then you must also pass in a SQL WHERE
clause in this argument. Default is &quot;&quot;.
</parameter>
</parameters>
<remarks>
<p>
This member function constructs a SQL DELETE statement. This can be used for
debugging purposes if you are having problems executing your SQL statement.
</p>
<p>
WHERE and FROM clauses specified using
<ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and
<ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
are ignored by this function.
</p>
</remarks>
<description>
<p>
Constructs the full SQL statement that can be used to delete all rows matching
the criteria in the pWhereClause.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="BuildSelectStmt">
<function type="void" name="BuildSelectStmt">
<parameters>
<parameter type="wxString &amp;" name="pSqlStmt">
Pointer to storage for the SQL statement retrieved. To be sure you have adequate
space allocated for the SQL statement, allocate DB_MAX_STATEMENT_LEN bytes.
</parameter>
<parameter type="int " name="typeOfSelect">
The type of select statement being performed. Can be one of four values:
DB_SELECT_KEYFIELDS, DB_SELECT_WHERE, DB_SELECT_MATCHING or DB_SELECT_STATEMENT.
</parameter>
<parameter type="bool " name="distinct">
Whether to select distinct records only.
</parameter>
</parameters>
<remarks>
<p>
This member function constructs a SQL SELECT statement. This can be used for
debugging purposes if you are having problems executing your SQL statement.
</p>
<p>
WHERE and FROM clauses specified using
<ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and
<ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
are ignored by this function.
</p>
</remarks>
<description>
<p>
Constructs the full SQL statement that can be used to select all rows matching
the criteria in the pWhereClause. This function is called internally in the
wxDbTable class whenever the function
<ref target="wxdbtablequery">wxDbTable::Query</ref>
is called.
</p>
<p>
NOTE: Only the columns specified in
<ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
statements are included in the list of columns returned by the SQL statement
created by a call to this function.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="BuildUpdateStmt">
<function type="void" name="BuildUpdateStmt">
<parameters>
<parameter type="wxString &amp;" name="pSqlStmt">
Pointer to storage for the SQL statement retrieved. To be sure you have adequate
space allocated for the SQL statement, allocate DB_MAX_STATEMENT_LEN bytes.
</parameter>
<parameter type="int " name="typeOfUpd"></parameter>
<parameter type="const wxString &amp;" name="pWhereClause" value="&quot;&quot;">
<i>OPTIONAL</i>
. If the typeOfUpdate is DB_UPD_WHERE, then you must also pass in a SQL WHERE
clause in this argument. Default is &quot;&quot;.
</parameter>
</parameters>
<remarks>
<p>
This member function allows you to see what the SQL UPDATE statement looks like
that the ODBC class library builds. This can be used for debugging purposes if
you are having problems executing your SQL statement.
</p>
<p>
WHERE and FROM clauses specified using
<ref target="wxdbtablesetwhereclause">wxDbTable::SetWhereClause</ref>
and
<ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
are ignored by this function.
</p>
</remarks>
<description>
<p>
Constructs the full SQL statement that can be used to update all rows matching
the criteria in the pWhereClause.
</p>
<p>
If typeOfUpdate is DB_UPD_KEYFIELDS, then the current values in the bound
columns are used to determine which row(s) in the table are to be updated. The
exception to this is when a datasource supports ROW IDs (Oracle). The ROW ID
column is used for efficiency purposes when available.
</p>
<p>
NOTE: Only the columns specified in
<ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
statements are included in the list of columns updated by the SQL statement
created by a call to this function. Any column definitions that were defined as
being non-updateable will be excluded from the SQL UPDATE statement created by
this function.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="BuildWhereClause">
<function type="void" name="BuildWhereClause">
<parameters>
<parameter type="wxString &amp;" name="pWhereClause">
Pointer to storage for the SQL statement retrieved. To be sure you have adequate
space allocated for the SQL statement, allocate DB_MAX_STATEMENT_LEN bytes.
</parameter>
<parameter type="int " name="typeOfWhere">
The type of where clause to generate. Can be one of two values:
DB_WHERE_KEYFIELDS or DB_WHERE_MATCHING.
</parameter>
<parameter type="const wxString &amp;" name="qualTableName" value="&quot;&quot;">
<i>OPTIONAL</i>
. Prepended to all base table column names. For use when a FROM clause has been
specified with the
<ref target="wxdbtablesetfromclause">wxDbTable::SetFromClause</ref>
, to clarify which table a column name reference belongs to. Default is
&quot;&quot;.
</parameter>
<parameter type="bool " name="useLikeComparison" value="false">
<i>OPTIONAL</i>
. Should the constructed WHERE clause utilize the LIKE comparison operator. If
false, then the '=' operator is used. Default is false.
</parameter>
</parameters>
<remarks>
<p>
This member function allows you to see what the SQL WHERE clause looks like that
the ODBC class library builds. This can be used for debugging purposes if you
are having problems executing your own SQL statements.
</p>
<p>
If using 'typeOfWhere' set to DB_WHERE_MATCHING, any bound columns currently
containing a NULL value are not included in the WHERE clause's list of columns
to use in the comparison.
</p>
</remarks>
<description>
<p>
Constructs the portion of a SQL statement which would follow the word 'WHERE' in
a SQL statement to be passed to the datasource. The returned string does NOT
include the word 'WHERE'.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="CanSelectForUpdate">
<function type="bool" name="CanSelectForUpdate">
<remarks>
<p>
Not all datasources support the &quot;FOR UPDATE&quot; clause, so you must use
this member function to determine if the datasource currently connected to
supports this behavior or not before trying to select using &quot;FOR
UPDATE&quot;.
</p>
<p>
If the wxDbTable instance was created with the parameter wxDB_QUERY_ONLY, then
this function will return false. For all known databases which do not support
the FOR UPDATE clause, this function will return false also.
</p>
</remarks>
<description>
<p>
Use this function to determine if the datasource supports SELECT ... FOR UPDATE.
When the keywords &quot;FOR UPDATE&quot; are included as part of your SQL SELECT
statement, all records
<i>retrieved</i>
(not just queried, but actually retrieved using
<ref target="wxdbtablegetnext">wxDbTable::GetNext</ref>
, etc) from the result set are locked.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="CanUpdateByROWID">
<function type="bool" name="CanUpdateByROWID">
<example>
<pre>
    // Incomplete code sample
    wxDbTable parts;
    .....
    if (parts.CanUpdateByROWID())
    {
        // Note that the ROWID column must always be the last column selected
        sqlStmt = &quot;SELECT PART_NUM, PART_DESC, ROWID&quot; FROM PARTS&quot;;
    }
    else
        sqlStmt = &quot;SELECT PART_NUM, PART_DESC FROM PARTS&quot;;
</pre>
</example>
<remarks>
<p>
The decision to include the ROWID in your SQL SELECT statement must be deferred
until runtime since it depends on whether you are connected to an Oracle
datasource or not.
</p>
</remarks>
<description>
<p>
CURRENTLY ONLY POSSIBLE IF USING ORACLE.
</p>
<p>
--- CURRENTLY DISABLED FOR &#42;ALL&#42; DATASOURCES --- NOV 1 2000 - gt
</p>
<p>
Every Oracle table has a hidden column named ROWID. This is a pointer to the
physical location of the record in the datasource and allows for very fast
updates and deletes. The key is to retrieve this ROWID during your query so it
is available during an update or delete operation.
</p>
<p>
Use of the ROWID feature is always handled by the class library except in the
case of
<ref target="wxdbtablequerybysqlstmt">wxDbTable::QueryBySqlStmt</ref>
. Since you are passing in the SQL SELECT statement, it is up to you to include
the ROWID column in your query. If you do not, the application will still work,
but may not be as optimized. The ROWID is always the last column in the column
list in your SQL SELECT statement. The ROWID is not a column in the normal sense
and should not be considered part of the column definitions for the wxDbTable
object.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="ClearMemberVar">
<function type="void" name="ClearMemberVar">
<parameters>
<parameter type="UWORD " name="colNumber">
Column number that is to be cleared. This number (between 0 and (numColumns-1))
is the index of the column definition created using the
<ref target="wxdbtablesetcoldefs">wxDbTable::SetColDefs</ref>
function.
</parameter>
<parameter type="bool " name="setToNull" value="false">
<i>OPTIONAL</i>
. Indicates whether the column should be flagged as being a NULL value stored in
the bound memory variable. If true, then any value stored in the bound member
variable is cleared. Default is false.
</parameter>
</parameters>
<description>
<p>
Same as
<ref target="wxdbtableclearmembervars">wxDbTable::ClearMemberVars</ref>
except that this function clears only the specified column of its values, and
optionally sets the column to be a NULL column.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="ClearMemberVars">
<function type="void" name="ClearMemberVars">
<parameters>
<parameter type="bool " name="setToNull" value="false">
<i>OPTIONAL</i>
. Indicates whether all columns should be flagged as having a NULL value stored
in the bound memory variable. If true, then any value stored in the bound member
variable is cleared. Default is false.
</parameter>
</parameters>
<remarks>
<p>
This is useful before calling functions such as
<ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
or
<ref target="wxdbtabledeletematching">wxDbTable::DeleteMatching</ref>
since these functions build their WHERE clauses from non-zero columns. To call
either
<ref target="wxdbtablequerymatching">wxDbTable::QueryMatching</ref>
or
<ref target="wxdbtabledeletematching">wxDbTable::DeleteMatching</ref>
use this sequence:
</p>
<pre>
1)  ClearMemberVars()
2)  Assign columns values you wish to match on
3)  Call wxDbTable::QueryMatching() or wxDbTable::DeleteMatching()
</pre>
</remarks>
<description>
<p>
Initializes all bound columns of the wxDbTable instance to zero. In the case of
a string, zero is copied to the first byte of the string.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="CloseCursor">
<function type="bool" name="CloseCursor">
<parameters>
<parameter type="HSTMT" name="cursor">
The cursor to be closed.
</parameter>
</parameters>
<remarks>
<p>
Typically handled internally by the ODBC class library, but may be used by the
programmer if desired.
</p>
<p>
DO NOT CLOSE THE wxDB_DEFAULT_CURSOR!
</p>
</remarks>
<description>
<p>
Closes the specified cursor associated with the wxDbTable object.
</p>
</description>
</function>
</member>
<member class="wxDbTable" name="Count">
<function type="ULONG " name="Count">
<parameters>
<parameter type="const wxString &amp;" name="args" value="&quot;*&quot;">
<i>OPTIONAL</i>
. This argument allows the use of the DISTINCT keyword against a column name to
cause the returned count to only indicate the number of rows in the result set
that have a unique value in the specified column. An example is shown below.
Default is &quot;&#42;&quot;, meaning a count of the total number of rows
matching is returned, regardless of uniqueness.
</parameter>
</parameters>
<example>
<pre>

    USERS TABLE

    FIRST_NAME      LAST_NAME
    -----------     ----------
    John            Doe
    Richard         Smith
    Michael         Jones
    John            Carpenter

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

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

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

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

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

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

    DB_FAILURE              Insert failed (value = 0)

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

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

    // Table Join returning 3 columns
    SELECT PART_NUM, part_desc, sd_name
        from parts, storage_devices
        where parts.storage_device_id =
              storage_devices.storage_device_id

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

    // Order by clause; ROWID, scalar function
    SELECT PART_NUM, substring(part_desc, 1, 10), qty_on_hand + 1, ROWID
        from parts
        where warehouse = 10
        order by PART_NUM desc           // descending order

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

    // Shortcut using this function
    SetColDefs(0, &quot;PART_NUM&quot;, DB_DATA_TYPE_VARCHAR, PartNumber,
               SQL_C_WXCHAR, PART_NUMBER_LEN, true, false, true, false);
</pre>
</example>
<remarks>
<p>
If
<i>pData</i>
is to hold a string of characters, be sure to include enough space for the NULL
terminator in pData and in the byte count of
<i>size</i>
.
</p>
<p>
Using the first form of this function, if the column definition is not able to
be created, a value of false is returned. If the specified index of the column
exceeds the number of columns defined in the wxDbTable instance, an assert is
thrown and logged (in debug builds) and a false is returned.
</p>
<p>
A failure to create the column definition in the second form results in a value
of NULL being returned.
</p>
<p>
Both forms of this function provide a shortcut for defining the columns in your
wxDbTable object. Use this function in any derived wxDbTable constructor when
describing the column/columns in the wxDbTable object.
</p>
<p>
The second form of this function is primarily used when the
<ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
function was used to query the datasource for the column definitions, so that
the column definitions are already stored in wxDbColInf form. One example use of
using
<ref target="wxdbgetcolumns">wxDb::GetColumns</ref>
then using this function is if a data table existed in one datasource, and the
table's column definitions were to be copied over to another datasource or
table.
</p>
</remarks>
<description>
<pre>
    DB_DATA_TYPE_VARCHAR        : strings
    DB_DATA_TYPE_INTEGER        : non-floating point numbers
    DB_DATA_TYPE_FLOAT          : floating point numbers
    DB_DATA_TYPE_DATE           : dates
</pre>
<pre>
    SQL_C_CHAR      // string - deprecated: use SQL_C_WXCHAR
    SQL_C_WXCHAR    // string - Used transparently in unicode or non-unicode builds
    SQL_C_LONG
    SQL_C_ULONG
    SQL_C_SHORT
    SQL_C_USHORT
    SQL_C_FLOAT
    SQL_C_DOUBLE
    SQL_C_NUMERIC
    SQL_C_TIMESTAMP

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

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

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

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

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

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

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

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

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

    wxString filename;

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

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

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

<pre>
enum
{
    wxDIR_FILES     = 0x0001,       // include files
    wxDIR_DIRS      = 0x0002,       // include directories
    wxDIR_HIDDEN    = 0x0004,       // include hidden files
    wxDIR_DOTDOT    = 0x0008,       // include '.' and '..'

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

        virtual wxDirTraverseResult OnFile(const wxString&amp; filename)
        {
            m_files.Add(filename);
            return wxDIR_CONTINUE;
        }

        virtual wxDirTraverseResult OnDir(const wxString&amp; WXUNUSED(dirname))
        {
            return wxDIR_CONTINUE;
        }

    private:
        wxArrayString&amp; m_files;
    };

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

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

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

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

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

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

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

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

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

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

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

<tt>wchar_t</tt> versions of the method are not available if wxWidgets was compiled
with <tt>wxUSE_WCHAR_T</tt> set to 0.


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

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

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

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

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

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

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

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

wxFTP defines constants corresponding to the two supported transfer modes:

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

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

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

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

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

  ftp.Connect(&quot;a.host.domain&quot;);
  ftp.ChDir(&quot;a_directory&quot;);
  in_stream = ftp.GetInputStream(&quot;a_file_to_get&quot;);

  data = new char[in_stream-&gt;GetSize()];

  in_stream-&gt;Read(data, in_stream-&gt;GetSize());
  if (in_stream-&gt;LastError() != wxStream_NOERROR) {
    // Do something.
  }

  delete in_stream; /&#42; Close the DATA connection &#42;/

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

wx/file.h defines the following constants:

<pre>
#define wxS_IRUSR 00400
#define wxS_IWUSR 00200
#define wxS_IXUSR 00100

#define wxS_IRGRP 00040
#define wxS_IWGRP 00020
#define wxS_IXGRP 00010

#define wxS_IROTH 00004
#define wxS_IWOTH 00002
#define wxS_IXOTH 00001

// default mode for the new files: corresponds to umask 022
#define wxS_DEFAULT  (wxS_IRUSR | wxS_IWUSR | wxS_IRGRP | wxS_IWGRP | wxS_IROTH | wxS_IWOTH)
</pre>

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

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


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

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


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

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

None.

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

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

You can call:

<pre>
wxFileSystem::AddHandler(new My_FS_Handler);
</pre>

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

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

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

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

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

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

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

    // whole word search/replace selected
    wxFR_WHOLEWORD  = 2,

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

    // don't allow changing the search direction
    wxFR_NOUPDOWN      = 2,

    // don't allow case sensitive searching
    wxFR_NOMATCHCASE   = 4,

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

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

<pre>
enum wxFontFamily
{
    wxFONTFAMILY_DEFAULT = wxDEFAULT,
    wxFONTFAMILY_DECORATIVE = wxDECORATIVE,
    wxFONTFAMILY_ROMAN = wxROMAN,
    wxFONTFAMILY_SCRIPT = wxSCRIPT,
    wxFONTFAMILY_SWISS = wxSWISS,
    wxFONTFAMILY_MODERN = wxMODERN,
    wxFONTFAMILY_TELETYPE = wxTELETYPE,
    wxFONTFAMILY_MAX
};
</pre>

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

<pre>
enum wxFontWeight
{
    wxFONTWEIGHT_NORMAL = wxNORMAL,
    wxFONTWEIGHT_LIGHT = wxLIGHT,
    wxFONTWEIGHT_BOLD = wxBOLD,
    wxFONTWEIGHT_MAX
};
</pre>

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

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

    // slant flags (default: no slant)
    wxFONTFLAG_ITALIC           = 1 &lt;&lt; 0,
    wxFONTFLAG_SLANT            = 1 &lt;&lt; 1,

    // weight flags (default: medium)
    wxFONTFLAG_LIGHT            = 1 &lt;&lt; 2,
    wxFONTFLAG_BOLD             = 1 &lt;&lt; 3,

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

    // underlined/strikethrough flags (default: no lines)
    wxFONTFLAG_UNDERLINED       = 1 &lt;&lt; 6,
    wxFONTFLAG_STRIKETHROUGH    = 1 &lt;&lt; 7,
};
</pre>

The known font encodings are:

<pre>
enum wxFontEncoding
{
    wxFONTENCODING_SYSTEM = -1,     // system default
    wxFONTENCODING_DEFAULT,         // current default encoding

    // ISO8859 standard defines a number of single-byte charsets
    wxFONTENCODING_ISO8859_1,       // West European (Latin1)
    wxFONTENCODING_ISO8859_2,       // Central and East European (Latin2)
    wxFONTENCODING_ISO8859_3,       // Esperanto (Latin3)
    wxFONTENCODING_ISO8859_4,       // Baltic (old) (Latin4)
    wxFONTENCODING_ISO8859_5,       // Cyrillic
    wxFONTENCODING_ISO8859_6,       // Arabic
    wxFONTENCODING_ISO8859_7,       // Greek
    wxFONTENCODING_ISO8859_8,       // Hebrew
    wxFONTENCODING_ISO8859_9,       // Turkish (Latin5)
    wxFONTENCODING_ISO8859_10,      // Variation of Latin4 (Latin6)
    wxFONTENCODING_ISO8859_11,      // Thai
    wxFONTENCODING_ISO8859_12,      // doesn't exist currently, but put it
                                    // here anyhow to make all ISO8859
                                    // consecutive numbers
    wxFONTENCODING_ISO8859_13,      // Baltic (Latin7)
    wxFONTENCODING_ISO8859_14,      // Latin8
    wxFONTENCODING_ISO8859_15,      // Latin9 (a.k.a. Latin0, includes euro)
    wxFONTENCODING_ISO8859_MAX,

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

    // what would we do without Microsoft? They have their own encodings
        // for DOS
    wxFONTENCODING_CP437,           // original MS-DOS codepage
    wxFONTENCODING_CP850,           // CP437 merged with Latin1
    wxFONTENCODING_CP852,           // CP437 merged with Latin2
    wxFONTENCODING_CP855,           // another cyrillic encoding
    wxFONTENCODING_CP866,           // and another one
        // and for Windows
    wxFONTENCODING_CP874,           // WinThai
    wxFONTENCODING_CP1250,          // WinLatin2
    wxFONTENCODING_CP1251,          // WinCyrillic
    wxFONTENCODING_CP1252,          // WinLatin1
    wxFONTENCODING_CP1253,          // WinGreek (8859-7)
    wxFONTENCODING_CP1254,          // WinTurkish
    wxFONTENCODING_CP1255,          // WinHebrew
    wxFONTENCODING_CP1256,          // WinArabic
    wxFONTENCODING_CP1257,          // WinBaltic (same as Latin 7)
    wxFONTENCODING_CP12_MAX,

    wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
    wxFONTENCODING_UTF8,            // UTF-8 Unicode encoding

    wxFONTENCODING_UNICODE,         // Unicode - currently used only by
                                    // wxEncodingConverter class

    wxFONTENCODING_MAX
};
</pre>
</constants>
<predefs>

Objects:

<b>wxNullFont</b>

Pointers:

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

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

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

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


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

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


<table>
<tr>
<td>WX_GL_RGBA</td>
<td>Use true colour</td>
</tr>
<tr>
<td>WX_GL_BUFFER_SIZE</td>
<td>Bits for buffer if not WX_GL_RGBA</td>
</tr>
<tr>
<td>WX_GL_LEVEL</td>
<td>0 for main buffer, &gt;0 for overlay, &lt;0 for underlay</td>
</tr>
<tr>
<td>WX_GL_DOUBLEBUFFER</td>
<td>Use doublebuffer</td>
</tr>
<tr>
<td>WX_GL_STEREO</td>
<td>Use stereoscopic display</td>
</tr>
<tr>
<td>WX_GL_AUX_BUFFERS</td>
<td>Number of auxiliary buffers (not all implementation support this option)</td>
</tr>
<tr>
<td>WX_GL_MIN_RED</td>
<td>Use red buffer with most bits (&gt; MIN_RED bits)</td>
</tr>
<tr>
<td>WX_GL_MIN_GREEN</td>
<td>Use green buffer with most bits (&gt; MIN_GREEN bits) </td>
</tr>
<tr>
<td>WX_GL_MIN_BLUE</td>
<td>Use blue buffer with most bits (&gt; MIN_BLUE bits) </td>
</tr>
<tr>
<td>WX_GL_MIN_ALPHA</td>
<td>Use alpha buffer with most bits (&gt; MIN_ALPHA bits)</td>
</tr>
<tr>
<td>WX_GL_DEPTH_SIZE</td>
<td>Bits for Z-buffer (0,16,32)</td>
</tr>
<tr>
<td>WX_GL_STENCIL_SIZE</td>
<td>Bits for stencil buffer</td>
</tr>
<tr>
<td>WX_GL_MIN_ACCUM_RED</td>
<td>Use red accum buffer with most bits (&gt; MIN_ACCUM_RED bits)</td>
</tr>
<tr>
<td>WX_GL_MIN_ACCUM_GREEN</td>
<td>Use green buffer with most bits (&gt; MIN_ACCUM_GREEN bits)</td>
</tr>
<tr>
<td>WX_GL_MIN_ACCUM_BLUE</td>
<td>Use blue buffer with most bits (&gt; MIN_ACCUM_BLUE bits)</td>
</tr>
<tr>
<td>WX_GL_MIN_ACCUM_ALPHA</td>
<td>Use blue buffer with most bits (&gt; MIN_ACCUM_ALPHA bits)</td>
</tr>
</table>
</constants>
<seealso>
<ref target="wxglcontext">wxGLContext</ref>
</seealso>
<members>
<member class="wxGLCanvas" name="wxGLCanvas">
<function type="void" name="wxGLCanvas">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Pointer to a parent window.
</parameter>
<parameter type="wxWindowID " name="id" value="-1">
Window identifier. If -1, will automatically create an identifier.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Window position. wxDefaultPosition is (-1, -1) which indicates that wxWidgets
should generate a default position for the window.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets should
generate a default size for the window. If no suitable size can be found, the
window will be sized to 20x20 pixels so that the window is visible but obviously
not correctly sized.
</parameter>
<parameter type="long " name="style" value="0">
Window style.
</parameter>
<parameter type="const wxString&amp; " name="name" value="&quot;GLCanvas&quot;">
Window name.
</parameter>
<parameter type="int&#42; " name="attribList" value="0">
Array of int. With this parameter you can set the device context attributes
associated to this window. This array is zero-terminated: it should be set up
with constants described in the table above. If a constant should be followed by
a value, put it in the next array position. For example, the WX_GL_DEPTH_SIZE
should be followed by the value that indicates the number of bits for the depth
buffer, so:
</parameter>
<parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette">
If the window has the palette, it should by pass this value. Note: palette and
WX_GL_RGBA are mutually exclusive.
</parameter>
</parameters>
<description></description>
</function>
<function type="void" name="wxGLCanvas">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Pointer to a parent window.
</parameter>
<parameter type="wxGLCanvas&#42;  " name="sharedCanvas" value="NULL"></parameter>
<parameter type="wxWindowID " name="id" value="-1">
Window identifier. If -1, will automatically create an identifier.
</parameter>
<parameter type="const wxPoint&amp; " name="pos">
Window position. wxDefaultPosition is (-1, -1) which indicates that wxWidgets
should generate a default position for the window.
</parameter>
<parameter type="const wxSize&amp; " name="size">
Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets should
generate a default size for the window. If no suitable size can be found, the
window will be sized to 20x20 pixels so that the window is visible but obviously
not correctly sized.
</parameter>
<parameter type="long " name="style" value="0">
Window style.
</parameter>
<parameter type="const wxString&amp; " name="name" value="&quot;GLCanvas&quot;">
Window name.
</parameter>
<parameter type="int&#42; " name="attribList" value="0">
Array of int. With this parameter you can set the device context attributes
associated to this window. This array is zero-terminated: it should be set up
with constants described in the table above. If a constant should be followed by
a value, put it in the next array position. For example, the WX_GL_DEPTH_SIZE
should be followed by the value that indicates the number of bits for the depth
buffer, so:
</parameter>
<parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette">
If the window has the palette, it should by pass this value. Note: palette and
WX_GL_RGBA are mutually exclusive.
</parameter>
</parameters>
<description></description>
</function>
<function type="void" name="wxGLCanvas">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Pointer to a parent window.
</parameter>
<parameter type="wxGLContext&#42;  " name="sharedContext" value="NULL"></parameter>
<parameter type="wxWindowID " name="id" value="-1">
Window identifier. If -1, will automatically create an identifier.
</parameter>
<parameter type="const wxPoint&amp; " name="pos">
Window position. wxDefaultPosition is (-1, -1) which indicates that wxWidgets
should generate a default position for the window.
</parameter>
<parameter type="const wxSize&amp; " name="size">
Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets should
generate a default size for the window. If no suitable size can be found, the
window will be sized to 20x20 pixels so that the window is visible but obviously
not correctly sized.
</parameter>
<parameter type="long " name="style" value="0">
Window style.
</parameter>
<parameter type="const wxString&amp; " name="name" value="&quot;GLCanvas&quot;">
Window name.
</parameter>
<parameter type="int&#42; " name="attribList" value="0">
Array of int. With this parameter you can set the device context attributes
associated to this window. This array is zero-terminated: it should be set up
with constants described in the table above. If a constant should be followed by
a value, put it in the next array position. For example, the WX_GL_DEPTH_SIZE
should be followed by the value that indicates the number of bits for the depth
buffer, so:
</parameter>
<parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette">
If the window has the palette, it should by pass this value. Note: palette and
WX_GL_RGBA are mutually exclusive.
</parameter>
</parameters>
<description>
<p>
Constructor.
</p>
<pre>
attribList[index]= WX_GL_DEPTH_SIZE;
attribList[index+1]=32;
and so on.
</pre>
</description>
</function>
</member>
<member class="wxGLCanvas" name="GetContext">
<function type="wxGLContext&#42;" name="GetContext">
<description>
<p>
Obtains the context that is associated with this canvas.
</p>
</description>
</function>
</member>
<member class="wxGLCanvas" name="SetCurrent">
<function type="void" name="SetCurrent">
<description>
<p>
Sets this canvas as the current recipient of OpenGL calls. Each canvas contains
an OpenGL device context that has been created during the creation of this
window. So this call sets the current device context as the target device
context for OpenGL operations.
</p>
<p>
Note that this function may only be called after the window has been shown.
</p>
</description>
</function>
</member>
<member class="wxGLCanvas" name="SetColour">
<function type="void" name="SetColour">
<parameters>
<parameter type="const char&#42; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the current colour for this window, using the wxWidgets colour database to
find a named colour.
</p>
</description>
</function>
</member>
<member class="wxGLCanvas" name="SwapBuffers">
<function type="void" name="SwapBuffers">
<description>
<p>
Displays the previous OpenGL commands on the window.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGLContext" needdefine="wxUSE_GLCANVAS">
<description>
<p class="classdesc">
wxGLContext is a class for sharing OpenGL data resources, such as display lists,
with another
<ref target="wxglcanvas">wxGLCanvas</ref>
.
</p>
<p class="classdesc">
By sharing data resources, you can prevent code duplication, save memory, and
ultimately help optimize your application.
</p>
<p class="classdesc">
As an example, let's say you want to draw a ball on two different windows that
is identical on each one, but the dimensions of one is slightly different than
the other one. What you would do is create your display lists in the shared
context, and then translate each ball on the individual canvas's context. This
way the actual data for the ball is only created once (in the shared context),
and you won't have to duplicate your development efforts on the second ball.
</p>
<p class="classdesc">
Note that some wxGLContext features are extremely platform-specific - its best
to check your native platform's glcanvas header (on windows
include/wx/msw/glcanvas.h) to see what features your native platform provides.
</p>
</description>
<category>Miscellaneous</category>
<shortdesc>Class to ease sharing of OpenGL data resources.</shortdesc>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/glcanvas.h"/>
</includes>
<seealso>
<ref target="wxglcanvas">wxGLCanvas</ref>
</seealso>
<members>
<member class="wxGLContext" name="wxGLContext">
<function type="void" name="wxGLContext">
<parameters>
<parameter type="bool " name="isRGB"></parameter>
<parameter type="wxGLCanvas&#42; " name="win">
Canvas to associate this shared context with.
</parameter>
<parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="wxGLContext">
<parameters>
<parameter type="bool " name="isRGB"></parameter>
<parameter type="wxGLCanvas&#42; " name="win">
Canvas to associate this shared context with.
</parameter>
<parameter type="const wxPalette&amp; " name="palette" value="wxNullPalette"></parameter>
<parameter type="const wxGLContext&#42; " name="other">
Context to share data resources with.
</parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGLContext" name="GetWindow">
<function type="const wxWindow&#42;" name="GetWindow">
<description>
<p>
Obtains the window that is associated with this context.
</p>
</description>
</function>
</member>
<member class="wxGLContext" name="SetCurrent">
<function type="void" name="SetCurrent">
<description>
<p>
Sets this context as the current recipient of OpenGL calls. Each context
contains an OpenGL device context that has been created during the creation of
this window. So this call sets the current device context as the target device
context for OpenGL operations.
</p>
</description>
</function>
</member>
<member class="wxGLContext" name="SetColour">
<function type="void" name="SetColour">
<parameters>
<parameter type="const char&#42; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the current colour for this context, using the wxWidgets colour database to
find a named colour.
</p>
</description>
</function>
</member>
<member class="wxGLContext" name="SwapBuffers">
<function type="void" name="SwapBuffers">
<description>
<p>
Displays the previous OpenGL commands on the associated window.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxGauge">
<description>
<p class="classdesc">
A gauge is a horizontal or vertical bar which shows a quantity (often time).
There are no user commands for the gauge.
</p>
</description>
<category>Controls</category>
<shortdesc>A control to represent a varying quantity, such as time remaining</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/gauge.h"/>
</includes>
<windowstyles>
<style name="wxGA_HORIZONTAL">
Creates a horizontal gauge.
</style>
<style name="wxGA_VERTICAL">
Creates a vertical gauge.
</style>
<style name="wxGA_SMOOTH">
Creates smooth progress bar with one pixel wide update step (not supported by
all platforms).
</style>
</windowstyles>
<events></events>
<seealso>
<ref target="wxslider">wxSlider</ref>
<ref target="wxscrollbar">wxScrollBar</ref>
</seealso>
<members>
<member class="wxGauge" name="wxGauge">
<function type="" name="wxGauge">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGauge">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Window parent.
</parameter>
<parameter type="wxWindowID " name="id">
Window identifier.
</parameter>
<parameter type="int " name="range">
Integer range (maximum value) of the gauge.
</parameter>
<parameter type="const wxPoint&amp;  " name="pos" value="wxDefaultPosition">
Window position.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Window size.
</parameter>
<parameter type="long " name="style" value="wxGA_HORIZONTAL">
Gauge style. See
<ref target="wxgauge">wxGauge</ref>
.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
<parameter type="const wxString&amp; " name="name" value="``gauge&quot;">
Window name.
</parameter>
</parameters>
<seealso>
<ref target="wxgaugecreate">wxGauge::Create</ref>
</seealso>
<description>
<p>
Constructor, creating and showing a gauge.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="~wxGauge">
<function type="" name="~wxGauge">
<description>
<p>
Destructor, destroying the gauge.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="int " name="range"></parameter>
<parameter type="const wxPoint&amp;  " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxGA_HORIZONTAL"></parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
<parameter type="const wxString&amp; " name="name" value="``gauge&quot;"></parameter>
</parameters>
<description>
<p>
Creates the gauge for two-step construction. See
<ref target="wxgaugector">wxGauge::wxGauge</ref>
for further details.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="GetBezelFace">
<function type="int" name="GetBezelFace" suffix="const">
<seealso>
<ref target="wxgaugesetbezelface">wxGauge::SetBezelFace</ref>
</seealso>
<remarks>
<p>
This method is not implemented (returns 0) for most platforms.
</p>
</remarks>
<description>
<p>
Returns the width of the 3D bezel face.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="GetRange">
<function type="int" name="GetRange" suffix="const">
<seealso>
<ref target="wxgaugesetrange">wxGauge::SetRange</ref>
</seealso>
<remarks>
<p>
This method is not implemented (doesn't do anything) for most platforms.
</p>
</remarks>
<description>
<p>
Returns the maximum position of the gauge.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="GetShadowWidth">
<function type="int" name="GetShadowWidth" suffix="const">
<seealso>
<ref target="wxgaugesetshadowwidth">wxGauge::SetShadowWidth</ref>
</seealso>
<remarks>
<p>
This method is not implemented (returns 0) for most platforms.
</p>
</remarks>
<description>
<p>
Returns the 3D shadow margin width.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="GetValue">
<function type="int" name="GetValue" suffix="const">
<seealso>
<ref target="wxgaugesetvalue">wxGauge::SetValue</ref>
</seealso>
<description>
<p>
Returns the current position of the gauge.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="IsVertical">
<function type="bool" name="IsVertical" suffix="const">
<description>
<p>
Returns true if the gauge is vertical (has
<tt>wxGA_VERTICAL</tt>
style) and false otherwise.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="SetBezelFace">
<function type="void" name="SetBezelFace">
<parameters>
<parameter type="int " name="width"></parameter>
</parameters>
<seealso>
<ref target="wxgaugegetbezelface">wxGauge::GetBezelFace</ref>
</seealso>
<remarks>
<p>
This method is not implemented (doesn't do anything) for most platforms.
</p>
</remarks>
<description>
<p>
Sets the 3D bezel face width.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="SetRange">
<function type="void" name="SetRange">
<parameters>
<parameter type="int " name="range"></parameter>
</parameters>
<seealso>
<ref target="wxgaugegetrange">wxGauge::GetRange</ref>
</seealso>
<description>
<p>
Sets the range (maximum value) of the gauge.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="SetShadowWidth">
<function type="void" name="SetShadowWidth">
<parameters>
<parameter type="int " name="width"></parameter>
</parameters>
<remarks>
<p>
This method is not implemented (doesn't do anything) for most platforms.
</p>
</remarks>
<description>
<p>
Sets the 3D shadow width.
</p>
</description>
</function>
</member>
<member class="wxGauge" name="SetValue">
<function type="void" name="SetValue">
<parameters>
<parameter type="int " name="pos">
Position for the gauge level.
</parameter>
</parameters>
<seealso>
<ref target="wxgaugegetvalue">wxGauge::GetValue</ref>
</seealso>
<description>
<p>
Sets the position of the gauge.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGenericDirCtrl">
<description>
<p class="classdesc">
This control can be used to place a directory listing (with optional files) on
an arbitrary window.
</p>
<p class="classdesc">
The control contains a
<ref target="wxtreectrl">wxTreeCtrl</ref>
window representing the directory hierarchy, and optionally, a
<ref target="wxchoice">wxChoice</ref>
window containing a list of filters.
</p>
</description>
<category>Controls</category>
<shortdesc>A control for displaying a directory tree</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/dirctrl.h"/>
</includes>
<windowstyles></windowstyles>
<structs></structs>
<members>
<member class="wxGenericDirCtrl" name="wxGenericDirCtrl">
<function type="" name="wxGenericDirCtrl">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGenericDirCtrl">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Parent window.
</parameter>
<parameter type="const wxWindowID " name="id" value="-1">
Window identifier.
</parameter>
<parameter type="const wxString&amp; " name="dir" value="wxDirDialogDefaultFolderStr">
Initial folder.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Position.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Size.
</parameter>
<parameter type="long " name="style" value="wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER">
Window style. Please see
<ref target="wxgenericdirctrl">wxGenericDirCtrl</ref>
for a list of possible styles.
</parameter>
<parameter type="const wxString&amp; " name="filter" value="wxEmptyString">
A filter string, using the same syntax as that for
<ref target="wxfiledialog">wxFileDialog</ref>
. This may be empty if filters are not being used. Example: ``All files
(&#42;.&#42;)|&#42;.&#42;|JPEG files (&#42;.jpg)|&#42;.jpg&quot;
</parameter>
<parameter type="int " name="defaultFilter" value="0">
The zero-indexed default filter setting.
</parameter>
<parameter type="const wxString&amp; " name="name" value="wxTreeCtrlNameStr">
The window name.
</parameter>
</parameters>
<description>
<p>
Main constructor.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="~wxGenericDirCtrl">
<function type="" name="~wxGenericDirCtrl">
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="const wxWindowID " name="id" value="-1"></parameter>
<parameter type="const wxString&amp; " name="dir" value="wxDirDialogDefaultFolderStr"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER"></parameter>
<parameter type="const wxString&amp; " name="filter" value="wxEmptyString"></parameter>
<parameter type="int " name="defaultFilter" value="0"></parameter>
<parameter type="const wxString&amp; " name="name" value="wxTreeCtrlNameStr"></parameter>
</parameters>
<description>
<p>
Create function for two-step construction. See
<ref target="wxgenericdirctrlwxgenericdirctrl">wxGenericDirCtrl::wxGenericDirCtrl</ref>
for details.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="Init">
<function type="void" name="Init">
<description>
<p>
Initializes variables.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="CollapseTree">
<function type="void" name="CollapseTree">
<description>
<p>
Collapses the entire tree.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="ExpandPath">
<function type="bool" name="ExpandPath">
<parameters>
<parameter type="const wxString&amp; " name="path"></parameter>
</parameters>
<description>
<p>
Tries to expand as much of the given path as possible, so that the filename or
directory is visible in the tree control.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetDefaultPath">
<function type="wxString" name="GetDefaultPath" suffix="const">
<description>
<p>
Gets the default path.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetPath">
<function type="wxString" name="GetPath" suffix="const">
<description>
<p>
Gets the currently-selected directory or filename.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetFilePath">
<function type="wxString" name="GetFilePath" suffix="const">
<description>
<p>
Gets selected filename path only (else empty string).
</p>
<p>
This function doesn't count a directory as a selection.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetFilter">
<function type="wxString" name="GetFilter" suffix="const">
<description>
<p>
Returns the filter string.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetFilterIndex">
<function type="int" name="GetFilterIndex" suffix="const">
<description>
<p>
Returns the current filter index (zero-based).
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetFilterListCtrl">
<function type="wxDirFilterListCtrl&#42;" name="GetFilterListCtrl" suffix="const">
<description>
<p>
Returns a pointer to the filter list control (if present).
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetRootId">
<function type="wxTreeItemId" name="GetRootId">
<description>
<p>
Returns the root id for the tree control.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="GetTreeCtrl">
<function type="wxTreeCtrl&#42;" name="GetTreeCtrl" suffix="const">
<description>
<p>
Returns a pointer to the tree control.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="ReCreateTree">
<function type="void" name="ReCreateTree">
<description>
<p>
Collapse and expand the tree, thus re-creating it from scratch. May be used to
update the displayed directory content.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="SetDefaultPath">
<function type="void" name="SetDefaultPath">
<parameters>
<parameter type="const wxString&amp; " name="path"></parameter>
</parameters>
<description>
<p>
Sets the default path.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="SetFilter">
<function type="void" name="SetFilter">
<parameters>
<parameter type="const wxString&amp; " name="filter"></parameter>
</parameters>
<description>
<p>
Sets the filter string.
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="SetFilterIndex">
<function type="void" name="SetFilterIndex">
<parameters>
<parameter type="int " name="n"></parameter>
</parameters>
<description>
<p>
Sets the current filter index (zero-based).
</p>
</description>
</function>
</member>
<member class="wxGenericDirCtrl" name="SetPath">
<function type="void" name="SetPath">
<parameters>
<parameter type="const wxString&amp; " name="path"></parameter>
</parameters>
<description>
<p>
Sets the current path.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGenericValidator">
<description>
<p class="classdesc">
wxGenericValidator performs data transfer (but not validation or filtering) for
the following basic controls: wxButton, wxCheckBox, wxListBox, wxStaticText,
wxRadioButton, wxRadioBox, wxChoice, wxComboBox, wxGauge, wxSlider, wxScrollBar,
wxSpinButton, wxTextCtrl, wxCheckListBox.
</p>
<p class="classdesc">
It checks the type of the window and uses an appropriate type for that window.
For example, wxButton and wxTextCtrl transfer data to and from a wxString
variable; wxListBox uses a wxArrayInt; wxCheckBox uses a bool.
</p>
<p class="classdesc">
For more information, please see
<ref target="validatoroverview">Validator overview</ref>
.
</p>
</description>
<category>Validators</category>
<shortdesc>Generic control validator class</shortdesc>
<parents>
<ref type="help" target="wxValidator">wxValidator</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/valgen.h"/>
</includes>
<seealso>
<ref target="validatoroverview">Validator overview</ref>
<ref target="wxvalidator">wxValidator</ref>
,
<ref target="wxtextvalidator">wxTextValidator</ref>
</seealso>
<members>
<member class="wxGenericValidator" name="wxGenericValidator">
<function type="" name="wxGenericValidator">
<parameters>
<parameter type="const wxGenericValidator&amp; " name="validator">
Validator to copy.
</parameter>
</parameters>
<description>
<p>
Copy constructor.
</p>
</description>
</function>
<function type="" name="wxGenericValidator">
<parameters>
<parameter type="bool&#42; " name="valPtr">
A pointer to a variable that contains the value. This variable should have a
lifetime equal to or longer than the validator lifetime (which is usually
determined by the lifetime of the window).
</parameter>
</parameters>
<description>
<p>
Constructor taking a bool pointer. This will be used for wxCheckBox and
wxRadioButton.
</p>
</description>
</function>
<function type="" name="wxGenericValidator">
<parameters>
<parameter type="wxString&#42; " name="valPtr">
A pointer to a variable that contains the value. This variable should have a
lifetime equal to or longer than the validator lifetime (which is usually
determined by the lifetime of the window).
</parameter>
</parameters>
<description>
<p>
Constructor taking a wxString pointer. This will be used for wxButton,
wxComboBox, wxStaticText, wxTextCtrl.
</p>
</description>
</function>
<function type="" name="wxGenericValidator">
<parameters>
<parameter type="int&#42; " name="valPtr">
A pointer to a variable that contains the value. This variable should have a
lifetime equal to or longer than the validator lifetime (which is usually
determined by the lifetime of the window).
</parameter>
</parameters>
<description>
<p>
Constructor taking an integer pointer. This will be used for wxGauge,
wxScrollBar, wxRadioBox, wxSpinButton, wxChoice.
</p>
</description>
</function>
<function type="" name="wxGenericValidator">
<parameters>
<parameter type="wxArrayInt&#42; " name="valPtr">
A pointer to a variable that contains the value. This variable should have a
lifetime equal to or longer than the validator lifetime (which is usually
determined by the lifetime of the window).
</parameter>
</parameters>
<description>
<p>
Constructor taking a wxArrayInt pointer. This will be used for wxListBox,
wxCheckListBox.
</p>
</description>
</function>
</member>
<member class="wxGenericValidator" name="~wxGenericValidator">
<function type="" name="~wxGenericValidator">
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxGenericValidator" name="Clone">
<function type="virtual wxValidator&#42;" name="Clone" suffix="const">
<description>
<p>
Clones the generic validator using the copy constructor.
</p>
</description>
</function>
</member>
<member class="wxGenericValidator" name="TransferFromWindow">
<function type="virtual bool" name="TransferFromWindow">
<parameters></parameters>
<description>
<p>
Transfers the value from the window to the appropriate data type.
</p>
</description>
</function>
</member>
<member class="wxGenericValidator" name="TransferToWindow">
<function type="virtual bool" name="TransferToWindow">
<parameters></parameters>
<description>
<p>
Transfers the value to the window.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGrid">
<description>
<p class="classdesc">
wxGrid and its related classes are used for displaying and editing tabular data.
They provide a rich set of features for display, editing, and interacting with a
variety of data sources. For simple applications, and to help you get started,
wxGrid is the only class you need to refer to directly. It will set up default
instances of the other classes and manage them for you. For more complex
applications you can derive your own classes for custom grid views, grid data
tables, cell editors and renderers. The
<ref target="gridoverview">wxGrid classes overview</ref>
has examples of simple and more complex applications, explains the relationship
between the various grid classes and has a summary of the keyboard shortcuts and
mouse functions provided by wxGrid.
</p>
<p class="classdesc">
wxGrid has been greatly expanded and redesigned for wxWidgets 2.2 onwards. If
you have been using the old wxGrid class you will probably want to have a look
at the
<ref target="gridoverview">wxGrid classes overview</ref>
to see how things have changed. The new grid classes are reasonably
backward-compatible but there are some exceptions. There are also easier ways of
doing many things compared to the previous implementation.
</p>
</description>
<category>Miscellaneous windows</category>
<shortdesc>A grid (table) window</shortdesc>
<parents>
<ref type="help" target="wxScrolledWindow">wxScrolledWindow</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<windowstyles></windowstyles>
<events>
<event name="EVT_GRID_COL_SIZE(func)">The user resized a column by dragging it. Processes a wxEVT_GRID_COL_SIZE.</event>
<event name="EVT_GRID_ROW_SIZE(func)">The user resized a row by dragging it. Processes a wxEVT_GRID_ROW_SIZE.</event>
<event name="EVT_GRID_CMD_COL_SIZE(func)">The user resized a column by dragging it; variant taking a window identifier. Processes a wxEVT_GRID_COL_SIZE.</event>
<event name="EVT_GRID_CMD_ROW_SIZE(func)">The user resized a row by dragging it; variant taking a window identifier. Processes a wxEVT_GRID_ROW_SIZE.</event>
<event name="EVT_GRID_RANGE_SELECT(func)">The user selected a group of contiguous cells. Processes a wxEVT_GRID_RANGE_SELECT.</event>
<event name="EVT_GRID_CMD_RANGE_SELECT(id, func)">The user selected a group of contiguous cells; variant taking a window identifier. Processes a wxEVT_GRID_RANGE_SELECT.</event>
<event name="EVT_GRID_EDITOR_CREATED(func)">The editor for a cell was created. Processes a wxEVT_GRID_EDITOR_CREATED.</event>
<event name="EVT_GRID_CMD_EDITOR_CREATED(id, func)">The editor for a cell was created; variant taking a window identifier. Processes a wxEVT_GRID_EDITOR_CREATED.</event>
</events>
<seealso>
<ref target="gridoverview">wxGrid overview</ref>
</seealso>
<members>
<member class="wxGrid" name="wxGrid">
<function type="" name="wxGrid">
<description>
<p>
Default constructor
</p>
</description>
</function>
<function type="" name="wxGrid">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxWANTS_CHARS"></parameter>
<parameter type="const wxString&amp; " name="name" value="wxPanelNameStr"></parameter>
</parameters>
<description>
<p>
Constructor to create a grid object. Call either
<ref target="wxgridcreategrid">wxGrid::CreateGrid</ref>
or
<ref target="wxgridsettable">wxGrid::SetTable</ref>
directly after this to initialize the grid before using it.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="~wxGrid">
<function type="" name="~wxGrid">
<description>
<p>
Destructor. This will also destroy the associated grid table unless you passed a
table object to the grid and specified that the grid should not take ownership
of the table (see
<ref target="wxgridsettable">wxGrid::SetTable</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AppendCols">
<function type="bool" name="AppendCols">
<parameters>
<parameter type="int " name="numCols" value="1"></parameter>
<parameter type="bool " name="updateLabels" value="true"></parameter>
</parameters>
<description>
<p>
Appends one or more new columns to the right of the grid and returns true if
successful. The updateLabels argument is not used at present.
</p>
<p>
If you are using a derived grid table class you will need to override
<ref target="wxgridtablebaseappendcols">wxGridTableBase::AppendCols</ref>
. See
<ref target="wxgridinsertcols">wxGrid::InsertCols</ref>
for further information.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AppendRows">
<function type="bool" name="AppendRows">
<parameters>
<parameter type="int " name="numRows" value="1"></parameter>
<parameter type="bool " name="updateLabels" value="true"></parameter>
</parameters>
<description>
<p>
Appends one or more new rows to the bottom of the grid and returns true if
successful. The updateLabels argument is not used at present.
</p>
<p>
If you are using a derived grid table class you will need to override
<ref target="wxgridtablebaseappendrows">wxGridTableBase::AppendRows</ref>
. See
<ref target="wxgridinsertrows">wxGrid::InsertRows</ref>
for further information.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AutoSize">
<function type="void" name="AutoSize">
<note>
<br/>
wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Automatically sets the height and width of all rows and columns to fit their
contents.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AutoSizeColOrRow">
<function type="void" name="AutoSizeColOrRow">
<parameters>
<parameter type="int " name="n"></parameter>
<parameter type="bool " name="setAsMin"></parameter>
<parameter type="bool " name="column"></parameter>
</parameters>
<description>
<p>
Common part of AutoSizeColumn/Row() or row?
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AutoSizeColumn">
<function type="void" name="AutoSizeColumn">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="bool " name="setAsMin" value="true"></parameter>
</parameters>
<note>
<br/>
wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Automatically sizes the column to fit its contents. If setAsMin is true the
calculated width will also be set as the minimal width for the column.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AutoSizeColumns">
<function type="void" name="AutoSizeColumns">
<parameters>
<parameter type="bool " name="setAsMin" value="true"></parameter>
</parameters>
<note>
<br/>
wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Automatically sizes all columns to fit their contents. If setAsMin is true the
calculated widths will also be set as the minimal widths for the columns.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AutoSizeRow">
<function type="void" name="AutoSizeRow">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="bool " name="setAsMin" value="true"></parameter>
</parameters>
<note>
<br/>
wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Automatically sizes the row to fit its contents. If setAsMin is true the
calculated height will also be set as the minimal height for the row.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="AutoSizeRows">
<function type="void" name="AutoSizeRows">
<parameters>
<parameter type="bool " name="setAsMin" value="true"></parameter>
</parameters>
<note>
<br/>
wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Automatically sizes all rows to fit their contents. If setAsMin is true the
calculated heights will also be set as the minimal heights for the rows.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="BeginBatch">
<function type="void" name="BeginBatch">
<description>
<p>
Increments the grid's batch count. When the count is greater than zero
repainting of the grid is suppressed. Each call to BeginBatch must be matched by
a later call to
<ref target="wxgridendbatch">wxGrid::EndBatch</ref>
. Code that does a lot of grid modification can be enclosed between BeginBatch
and EndBatch calls to avoid screen flicker. The final EndBatch will cause the
grid to be repainted.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="BlockToDeviceRect">
<function type="wxRect" name="BlockToDeviceRect">
<parameters>
<parameter type="const wxGridCellCoords &amp; " name="topLeft"></parameter>
<parameter type="const wxGridCellCoords &amp; " name="bottomRight"></parameter>
</parameters>
<description>
<p>
This function returns the rectangle that encloses the block of cells limited by
TopLeft and BottomRight cell in device coords and clipped to the client size of
the grid window.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CanDragColSize">
<function type="bool" name="CanDragColSize">
<description>
<p>
Returns true if columns can be resized by dragging with the mouse. Columns can
be resized by dragging the edges of their labels. If grid line dragging is
enabled they can also be resized by dragging the right edge of the column in the
grid cell area (see
<ref target="wxgridenabledraggridsize">wxGrid::EnableDragGridSize</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CanDragRowSize">
<function type="bool" name="CanDragRowSize">
<description>
<p>
Returns true if rows can be resized by dragging with the mouse. Rows can be
resized by dragging the edges of their labels. If grid line dragging is enabled
they can also be resized by dragging the lower edge of the row in the grid cell
area (see
<ref target="wxgridenabledraggridsize">wxGrid::EnableDragGridSize</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CanDragGridSize">
<function type="bool" name="CanDragGridSize">
<description>
<p>
Return true if the dragging of grid lines to resize rows and columns is enabled
or false otherwise.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CanEnableCellControl">
<function type="bool" name="CanEnableCellControl" suffix="const">
<description>
<p>
Returns true if the in-place edit control for the current grid cell can be used
and false otherwise (e.g. if the current cell is read-only).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CanHaveAttributes">
<function type="bool" name="CanHaveAttributes">
<description>
<p>
Do we have some place to store attributes in?
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CellToRect">
<function type="wxRect" name="CellToRect">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
<function type="wxRect" name="CellToRect">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
</parameters>
<description>
<p>
Return the rectangle corresponding to the grid cell's size and position in
logical coordinates.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="ClearGrid">
<function type="void" name="ClearGrid">
<description>
<p>
Clears all data in the underlying grid table and repaints the grid. The table is
not deleted by this function. If you are using a derived table class then you
need to override
<ref target="wxgridtablebaseclear">wxGridTableBase::Clear</ref>
for this function to have any effect.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="ClearSelection">
<function type="void" name="ClearSelection">
<description>
<p>
Deselects all cells that are currently selected.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="CreateGrid">
<function type="bool" name="CreateGrid">
<parameters>
<parameter type="int " name="numRows"></parameter>
<parameter type="int " name="numCols"></parameter>
<parameter type="wxGrid::wxGridSelectionModes " name="selmode" value="wxGrid::wxGridSelectCells"></parameter>
</parameters>
<description>
<p>
Creates a grid with the specified initial number of rows and columns. Call this
directly after the grid constructor. When you use this function wxGrid will
create and manage a simple table of string values for you. All of the grid data
will be stored in memory.
</p>
<p>
For applications with more complex data types or relationships, or for dealing
with very large datasets, you should derive your own grid table class and pass a
table object to the grid with
<ref target="wxgridsettable">wxGrid::SetTable</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="DeleteCols">
<function type="bool" name="DeleteCols">
<parameters>
<parameter type="int " name="pos" value="0"></parameter>
<parameter type="int " name="numCols" value="1"></parameter>
<parameter type="bool " name="updateLabels" value="true"></parameter>
</parameters>
<description>
<p>
Deletes one or more columns from a grid starting at the specified position and
returns true if successful. The updateLabels argument is not used at present.
</p>
<p>
If you are using a derived grid table class you will need to override
<ref target="wxgridtablebasedeletecols">wxGridTableBase::DeleteCols</ref>
. See
<ref target="wxgridinsertcols">wxGrid::InsertCols</ref>
for further information.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="DeleteRows">
<function type="bool" name="DeleteRows">
<parameters>
<parameter type="int " name="pos" value="0"></parameter>
<parameter type="int " name="numRows" value="1"></parameter>
<parameter type="bool " name="updateLabels" value="true"></parameter>
</parameters>
<description>
<p>
Deletes one or more rows from a grid starting at the specified position and
returns true if successful. The updateLabels argument is not used at present.
</p>
<p>
If you are using a derived grid table class you will need to override
<ref target="wxgridtablebasedeleterows">wxGridTableBase::DeleteRows</ref>
. See
<ref target="wxgridinsertrows">wxGrid::InsertRows</ref>
for further information.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="DisableCellEditControl">
<function type="void" name="DisableCellEditControl">
<description>
<p>
Disables in-place editing of grid cells. Equivalent to calling
EnableCellEditControl(false).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="DisableDragColSize">
<function type="void" name="DisableDragColSize">
<description>
<p>
Disables column sizing by dragging with the mouse. Equivalent to passing false
to
<ref target="wxgridenabledragcolsize">wxGrid::EnableDragColSize</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="DisableDragGridSize">
<function type="void" name="DisableDragGridSize">
<description>
<p>
Disable mouse dragging of grid lines to resize rows and columns. Equivalent to
passing false to
<ref target="wxgridenabledraggridsize">wxGrid::EnableDragGridSize</ref>
</p>
</description>
</function>
</member>
<member class="wxGrid" name="DisableDragRowSize">
<function type="void" name="DisableDragRowSize">
<description>
<p>
Disables row sizing by dragging with the mouse. Equivalent to passing false to
<ref target="wxgridenabledragrowsize">wxGrid::EnableDragRowSize</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EnableCellEditControl">
<function type="void" name="EnableCellEditControl">
<parameters>
<parameter type="bool " name="enable" value="true"></parameter>
</parameters>
<description>
<p>
Enables or disables in-place editing of grid cell data. The grid will issue
either a wxEVT_GRID_EDITOR_SHOWN or wxEVT_GRID_EDITOR_HIDDEN event.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EnableDragColSize">
<function type="void" name="EnableDragColSize">
<parameters>
<parameter type="bool " name="enable" value="true"></parameter>
</parameters>
<description>
<p>
Enables or disables column sizing by dragging with the mouse.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EnableDragGridSize">
<function type="void" name="EnableDragGridSize">
<parameters>
<parameter type="bool " name="enable" value="true"></parameter>
</parameters>
<description>
<p>
Enables or disables row and column resizing by dragging gridlines with the
mouse.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EnableDragRowSize">
<function type="void" name="EnableDragRowSize">
<parameters>
<parameter type="bool " name="enable" value="true"></parameter>
</parameters>
<description>
<p>
Enables or disables row sizing by dragging with the mouse.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EnableEditing">
<function type="void" name="EnableEditing">
<parameters>
<parameter type="bool " name="edit"></parameter>
</parameters>
<description>
<p>
If the edit argument is false this function sets the whole grid as read-only. If
the argument is true the grid is set to the default state where cells may be
editable. In the default state you can set single grid cells and whole rows and
columns to be editable or read-only via
<ref target="wxgridcellattrsetreadonly">wxGridCellAttribute::SetReadOnly</ref>
. For single cells you can also use the shortcut function
<ref target="wxgridsetreadonly">wxGrid::SetReadOnly</ref>
.
</p>
<p>
For more information about controlling grid cell attributes see the
<ref target="wxgridcellattr">wxGridCellAttr</ref>
cell attribute class and the
<ref target="gridoverview">wxGrid classes overview</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EnableGridLines">
<function type="void" name="EnableGridLines">
<parameters>
<parameter type="bool " name="enable" value="true"></parameter>
</parameters>
<description>
<p>
Turns the drawing of grid lines on or off.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="EndBatch">
<function type="void" name="EndBatch">
<description>
<p>
Decrements the grid's batch count. When the count is greater than zero
repainting of the grid is suppressed. Each previous call to
<ref target="wxgridbeginbatch">wxGrid::BeginBatch</ref>
must be matched by a later call to EndBatch. Code that does a lot of grid
modification can be enclosed between BeginBatch and EndBatch calls to avoid
screen flicker. The final EndBatch will cause the grid to be repainted.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="Fit">
<function type="void" name="Fit">
<description>
<p>
Overridden wxWindow method.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="ForceRefresh">
<function type="void" name="ForceRefresh">
<description>
<p>
Causes immediate repainting of the grid. Use this instead of the usual
wxWindow::Refresh.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetBatchCount">
<function type="int" name="GetBatchCount">
<description>
<p>
Returns the number of times that
<ref target="wxgridbeginbatch">wxGrid::BeginBatch</ref>
has been called without (yet) matching calls to
<ref target="wxgridendbatch">wxGrid::EndBatch</ref>
. While the grid's batch count is greater than zero the display will not be
updated.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellAlignment">
<function type="void" name="GetCellAlignment">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="int&#42; " name="horiz"></parameter>
<parameter type="int&#42; " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the arguments to the horizontal and vertical text alignment values for the
grid cell at the specified location.
</p>
<p>
Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
<br/>
Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellBackgroundColour">
<function type="wxColour" name="GetCellBackgroundColour">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns the background colour of the cell at the specified location.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellEditor">
<function type="wxGridCellEditor&#42;" name="GetCellEditor">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns a pointer to the editor for the cell at the specified location.
</p>
<p>
See
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellFont">
<function type="wxFont" name="GetCellFont">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns the font for text in the grid cell at the specified location.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellRenderer">
<function type="wxGridCellRenderer&#42;" name="GetCellRenderer">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns a pointer to the renderer for the grid cell at the specified location.
</p>
<p>
See
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellTextColour">
<function type="wxColour" name="GetCellTextColour">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns the text colour for the grid cell at the specified location.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetCellValue">
<function type="wxString" name="GetCellValue">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
<function type="wxString" name="GetCellValue">
<parameters>
<parameter type="const wxGridCellCoords&amp;" name="coords"></parameter>
</parameters>
<description>
<p>
Returns the string contained in the cell at the specified location. For simple
applications where a grid object automatically uses a default grid table of
string values you use this function together with
<ref target="wxgridsetcellvalue">wxGrid::SetCellValue</ref>
to access cell values.
</p>
<p>
For more complex applications where you have derived your own grid table class
that contains various data types (e.g. numeric, boolean or user-defined custom
types) then you only use this function for those cells that contain string
values.
</p>
<p>
See
<ref target="wxgridtablebasecangetvalueas">wxGridTableBase::CanGetValueAs</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetColLeft">
<function type="int" name="GetColLeft" suffix="const">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetColLabelAlignment">
<function type="void" name="GetColLabelAlignment">
<parameters>
<parameter type="int&#42; " name="horiz"></parameter>
<parameter type="int&#42; " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the arguments to the current column label alignment values.
</p>
<p>
Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
<br/>
Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetColLabelSize">
<function type="int" name="GetColLabelSize">
<description>
<p>
Returns the current height of the column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetColLabelValue">
<function type="wxString" name="GetColLabelValue">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns the specified column label. The default grid table class provides column
labels of the form A,B...Z,AA,AB...ZZ,AAA... If you are using a custom grid
table you can override
<ref target="wxgridtablebasegetcollabelvalue">wxGridTableBase::GetColLabelValue</ref>
to provide your own labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetColMinimalAcceptableWidth">
<function type="int" name="GetColMinimalAcceptableWidth">
<parameters></parameters>
<description>
<p>
This returns the value of the lowest column width that can be handled correctly.
See member
<ref target="wxgridsetcolminimalacceptablewidth">SetColMinimalAcceptableWidth</ref>
for details.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetColMinimalWidth">
<function type="int" name="GetColMinimalWidth" suffix="const">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Get the minimal width of the given column/row.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetColRight">
<function type="int" name="GetColRight" suffix="const">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetColSize">
<function type="int" name="GetColSize">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns the width of the specified column.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultCellAlignment">
<function type="void" name="GetDefaultCellAlignment">
<parameters>
<parameter type="int&#42; " name="horiz"></parameter>
<parameter type="int&#42; " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the arguments to the current default horizontal and vertical text alignment
values.
</p>
<p>
Horizontal alignment will be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
<br/>
Vertical alignment will be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultCellBackgroundColour">
<function type="wxColour" name="GetDefaultCellBackgroundColour">
<description>
<p>
Returns the current default background colour for grid cells.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultCellFont">
<function type="wxFont" name="GetDefaultCellFont">
<description>
<p>
Returns the current default font for grid cell text.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultCellTextColour">
<function type="wxColour" name="GetDefaultCellTextColour">
<description>
<p>
Returns the current default colour for grid cell text.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultColLabelSize">
<function type="int" name="GetDefaultColLabelSize">
<description>
<p>
Returns the default height for column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultColSize">
<function type="int" name="GetDefaultColSize">
<description>
<p>
Returns the current default width for grid columns.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultEditor">
<function type="wxGridCellEditor&#42;" name="GetDefaultEditor" suffix="const">
<description>
<p>
Returns a pointer to the current default grid cell editor.
</p>
<p>
See
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultEditorForCell">
<function type="wxGridCellEditor&#42;" name="GetDefaultEditorForCell" suffix="const">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
<function type="wxGridCellEditor&#42;" name="GetDefaultEditorForCell" suffix="const">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="c"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetDefaultEditorForType">
<function type="wxGridCellEditor&#42;" name="GetDefaultEditorForType" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="typeName"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetDefaultRenderer">
<function type="wxGridCellRenderer&#42;" name="GetDefaultRenderer" suffix="const">
<description>
<p>
Returns a pointer to the current default grid cell renderer.
</p>
<p>
See
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultRendererForCell">
<function type="wxGridCellRenderer&#42;" name="GetDefaultRendererForCell" suffix="const">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetDefaultRendererForType">
<function type="wxGridCellRenderer&#42;" name="GetDefaultRendererForType" suffix="const">
<parameters>
<parameter type="const wxString&amp; " name="typeName"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetDefaultRowLabelSize">
<function type="int" name="GetDefaultRowLabelSize">
<description>
<p>
Returns the default width for the row labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetDefaultRowSize">
<function type="int" name="GetDefaultRowSize">
<description>
<p>
Returns the current default height for grid rows.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetGridCursorCol">
<function type="int" name="GetGridCursorCol">
<description>
<p>
Returns the current grid cell column position.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetGridCursorRow">
<function type="int" name="GetGridCursorRow">
<description>
<p>
Returns the current grid cell row position.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetGridLineColour">
<function type="wxColour" name="GetGridLineColour">
<description>
<p>
Returns the colour used for grid lines.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GridLinesEnabled">
<function type="bool" name="GridLinesEnabled">
<description>
<p>
Returns true if drawing of grid lines is turned on, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetLabelBackgroundColour">
<function type="wxColour" name="GetLabelBackgroundColour">
<description>
<p>
Returns the colour used for the background of row and column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetLabelFont">
<function type="wxFont" name="GetLabelFont">
<description>
<p>
Returns the font used for row and column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetLabelTextColour">
<function type="wxColour" name="GetLabelTextColour">
<description>
<p>
Returns the colour used for row and column label text.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetNumberCols">
<function type="int" name="GetNumberCols">
<description>
<p>
Returns the total number of grid columns (actually the number of columns in the
underlying grid table).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetNumberRows">
<function type="int" name="GetNumberRows">
<description>
<p>
Returns the total number of grid rows (actually the number of rows in the
underlying grid table).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetOrCreateCellAttr">
<function type="wxGridCellAttr&#42;" name="GetOrCreateCellAttr" suffix="const">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetRowMinimalAcceptableHeight">
<function type="int" name="GetRowMinimalAcceptableHeight">
<parameters></parameters>
<description>
<p>
This returns the value of the lowest row width that can be handled correctly.
See member
<ref target="wxgridsetrowminimalacceptableheight">SetRowMinimalAcceptableHeight</ref>
for details.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetRowMinimalHeight">
<function type="int" name="GetRowMinimalHeight" suffix="const">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="GetRowLabelAlignment">
<function type="void" name="GetRowLabelAlignment">
<parameters>
<parameter type="int&#42; " name="horiz"></parameter>
<parameter type="int&#42; " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the arguments to the current row label alignment values.
</p>
<p>
Horizontal alignment will be one of wxLEFT, wxCENTRE or wxRIGHT.
<br/>
Vertical alignment will be one of wxTOP, wxCENTRE or wxBOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetRowLabelSize">
<function type="int" name="GetRowLabelSize">
<description>
<p>
Returns the current width of the row labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetRowLabelValue">
<function type="wxString" name="GetRowLabelValue">
<parameters>
<parameter type="int " name="row"></parameter>
</parameters>
<description>
<p>
Returns the specified row label. The default grid table class provides numeric
row labels. If you are using a custom grid table you can override
<ref target="wxgridtablebasegetcollabelvalue">wxGridTableBase::GetRowLabelValue</ref>
to provide your own labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetRowSize">
<function type="int" name="GetRowSize">
<parameters>
<parameter type="int " name="row"></parameter>
</parameters>
<description>
<p>
Returns the height of the specified row.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetScrollLinesX">
<function type="int" name="GetScrollLinesX" suffix="const">
<description>
<p>
Returns the number of pixels per horizontal scroll increment. The default is 15.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetScrollLinesY">
<function type="int" name="GetScrollLinesY" suffix="const">
<description>
<p>
Returns the number of pixels per vertical scroll increment. The default is 15.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectionMode">
<function type="wxGrid::wxGridSelectionModes" name="GetSelectionMode" suffix="const">
<description>
<p>
Returns the current selection mode, see
<ref target="wxgridsetselectionmode">wxGrid::SetSelectionMode</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectedCells">
<function type="wxGridCellCoordsArray" name="GetSelectedCells" suffix="const">
<description>
<p>
Returns an array of singly selected cells.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectedCols">
<function type="wxArrayInt" name="GetSelectedCols" suffix="const">
<description>
<p>
Returns an array of selected cols.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectedRows">
<function type="wxArrayInt" name="GetSelectedRows" suffix="const">
<description>
<p>
Returns an array of selected rows.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectionBackground">
<function type="wxColour" name="GetSelectionBackground" suffix="const">
<description>
<p>
Access or update the selection fore/back colours
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectionBlockTopLeft">
<function type="wxGridCellCoordsArray" name="GetSelectionBlockTopLeft" suffix="const">
<description>
<p>
Returns an array of the top left corners of blocks of selected cells, see
<ref target="wxgridgetselectionblockbottomright">wxGrid::GetSelectionBlockBottomRight</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectionBlockBottomRight">
<function type="wxGridCellCoordsArray" name="GetSelectionBlockBottomRight" suffix="const">
<description>
<p>
Returns an array of the bottom right corners of blocks of selected cells, see
<ref target="wxgridgetselectionblocktopleft">wxGrid::GetSelectionBlockTopLeft</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetSelectionForeground">
<function type="wxColour" name="GetSelectionForeground" suffix="const">
<description></description>
</function>
</member>
<member class="wxGrid" name="GetTable">
<function type="wxGridTableBase &#42;" name="GetTable" suffix="const">
<description>
<p>
Returns a base pointer to the current table object.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="GetViewWidth">
<function type="int" name="GetViewWidth">
<description>
<p>
Returned number of whole cols visible.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="HideCellEditControl">
<function type="void" name="HideCellEditControl">
<description>
<p>
Hides the in-place cell edit control.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="InitColWidths">
<function type="void" name="InitColWidths">
<description>
<p>
Init the m_colWidths/Rights arrays
</p>
</description>
</function>
</member>
<member class="wxGrid" name="InitRowHeights">
<function type="void" name="InitRowHeights">
<description>
<p>
NB:
<i>never</i>
access m_row/col arrays directly because they are created on demand,
<i>always</i>
use accessor functions instead!
</p>
<p>
Init the m_rowHeights/Bottoms arrays with default values.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="InsertCols">
<function type="bool" name="InsertCols">
<parameters>
<parameter type="int " name="pos" value="0"></parameter>
<parameter type="int " name="numCols" value="1"></parameter>
<parameter type="bool " name="updateLabels" value="true"></parameter>
</parameters>
<description>
<p>
Inserts one or more new columns into a grid with the first new column at the
specified position and returns true if successful. The updateLabels argument is
not used at present.
</p>
<p>
The sequence of actions begins with the grid object requesting the underlying
grid table to insert new columns. If this is successful the table notifies the
grid and the grid updates the display. For a default grid (one where you have
called
<ref target="wxgridcreategrid">wxGrid::CreateGrid</ref>
) this process is automatic. If you are using a custom grid table (specified
with
<ref target="wxgridsettable">wxGrid::SetTable</ref>
) then you must override
<ref target="wxgridtablebaseinsertcols">wxGridTableBase::InsertCols</ref>
in your derived table class.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="InsertRows">
<function type="bool" name="InsertRows">
<parameters>
<parameter type="int " name="pos" value="0"></parameter>
<parameter type="int " name="numRows" value="1"></parameter>
<parameter type="bool " name="updateLabels" value="true"></parameter>
</parameters>
<description>
<p>
Inserts one or more new rows into a grid with the first new row at the specified
position and returns true if successful. The updateLabels argument is not used
at present.
</p>
<p>
The sequence of actions begins with the grid object requesting the underlying
grid table to insert new rows. If this is successful the table notifies the grid
and the grid updates the display. For a default grid (one where you have called
<ref target="wxgridcreategrid">wxGrid::CreateGrid</ref>
) this process is automatic. If you are using a custom grid table (specified
with
<ref target="wxgridsettable">wxGrid::SetTable</ref>
) then you must override
<ref target="wxgridtablebaseinsertrows">wxGridTableBase::InsertRows</ref>
in your derived table class.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsCellEditControlEnabled">
<function type="bool" name="IsCellEditControlEnabled" suffix="const">
<description>
<p>
Returns true if the in-place edit control is currently enabled.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsCurrentCellReadOnly">
<function type="bool" name="IsCurrentCellReadOnly" suffix="const">
<description>
<p>
Returns true if the current cell has been set to read-only (see
<ref target="wxgridsetreadonly">wxGrid::SetReadOnly</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsEditable">
<function type="bool" name="IsEditable">
<description>
<p>
Returns false if the whole grid has been set as read-only or true otherwise. See
<ref target="wxgridenableediting">wxGrid::EnableEditing</ref>
for more information about controlling the editing status of grid cells.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsInSelection">
<function type="bool" name="IsInSelection" suffix="const">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="IsInSelection" suffix="const">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
</parameters>
<description>
<p>
Is this cell currently selected.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsReadOnly">
<function type="bool" name="IsReadOnly" suffix="const">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Returns true if the cell at the specified location can't be edited. See also
<ref target="wxgridisreadonly">wxGrid::IsReadOnly</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsSelection">
<function type="bool" name="IsSelection">
<description>
<p>
Returns true if there are currently rows, columns or blocks of cells selected.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="IsVisible">
<function type="bool" name="IsVisible">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="bool " name="wholeCellVisible" value="true"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="IsVisible">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
<parameter type="bool " name="wholeCellVisible" value="true"></parameter>
</parameters>
<description>
<p>
Returns true if a cell is either wholly visible (the default) or at least
partially visible in the grid window.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MakeCellVisible">
<function type="void" name="MakeCellVisible">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="MakeCellVisible">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
</parameters>
<description>
<p>
Brings the specified cell into the visible grid cell area with minimal
scrolling. Does nothing if the cell is already visible.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorDown">
<function type="bool" name="MoveCursorDown">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor down by one row. If a block of cells was previously
selected it will expand if the argument is true or be cleared if the argument is
false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for Down cursor key presses or Shift+Down to expand a
selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorLeft">
<function type="bool" name="MoveCursorLeft">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor left by one column. If a block of cells was previously
selected it will expand if the argument is true or be cleared if the argument is
false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for Left cursor key presses or Shift+Left to expand a
selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorRight">
<function type="bool" name="MoveCursorRight">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor right by one column. If a block of cells was previously
selected it will expand if the argument is true or be cleared if the argument is
false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for Right cursor key presses or Shift+Right to expand a
selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorUp">
<function type="bool" name="MoveCursorUp">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor up by one row. If a block of cells was previously selected
it will expand if the argument is true or be cleared if the argument is false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for Up cursor key presses or Shift+Up to expand a
selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorDownBlock">
<function type="bool" name="MoveCursorDownBlock">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor down in the current column such that it skips to the
beginning or end of a block of non-empty cells. If a block of cells was
previously selected it will expand if the argument is true or be cleared if the
argument is false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for the Ctrl+Down key combination. Shift+Ctrl+Down
expands a selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorLeftBlock">
<function type="bool" name="MoveCursorLeftBlock">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor left in the current row such that it skips to the
beginning or end of a block of non-empty cells. If a block of cells was
previously selected it will expand if the argument is true or be cleared if the
argument is false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for the Ctrl+Left key combination. Shift+Ctrl+left
expands a selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorRightBlock">
<function type="bool" name="MoveCursorRightBlock">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor right in the current row such that it skips to the
beginning or end of a block of non-empty cells. If a block of cells was
previously selected it will expand if the argument is true or be cleared if the
argument is false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for the Ctrl+Right key combination. Shift+Ctrl+Right
expands a selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MoveCursorUpBlock">
<function type="bool" name="MoveCursorUpBlock">
<parameters>
<parameter type="bool " name="expandSelection"></parameter>
</parameters>
<description>
<p>
Moves the grid cursor up in the current column such that it skips to the
beginning or end of a block of non-empty cells. If a block of cells was
previously selected it will expand if the argument is true or be cleared if the
argument is false.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for the Ctrl+Up key combination. Shift+Ctrl+Up expands a
selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MovePageDown">
<function type="bool" name="MovePageDown">
<description>
<p>
Moves the grid cursor down by some number of rows so that the previous bottom
visible row becomes the top visible row.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for PgDn keypresses.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="MovePageUp">
<function type="bool" name="MovePageUp">
<description>
<p>
Moves the grid cursor up by some number of rows so that the previous top visible
row becomes the bottom visible row.
</p>
<p>
\wxheading{Keyboard}
<br/>
This function is called for PgUp keypresses.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="RegisterDataType">
<function type="void" name="RegisterDataType">
<parameters>
<parameter type="const wxString&amp; " name="typeName"></parameter>
<parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
<parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
</parameters>
<description>
<p>
Methods for a registry for mapping data types to Renderers/Editors
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SaveEditControlValue">
<function type="void" name="SaveEditControlValue">
<description>
<p>
Sets the value of the current grid cell to the current in-place edit control
value. This is called automatically when the grid cursor moves from the current
cell to a new cell. It is also a good idea to call this function when closing a
grid since any edits to the final cell location will not be saved otherwise.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SelectAll">
<function type="void" name="SelectAll">
<description>
<p>
Selects all cells in the grid.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SelectBlock">
<function type="void" name="SelectBlock">
<parameters>
<parameter type="int " name="topRow"></parameter>
<parameter type="int " name="leftCol"></parameter>
<parameter type="int " name="bottomRow"></parameter>
<parameter type="int " name="rightCol"></parameter>
<parameter type="bool " name="addToSelected" value="false"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SelectBlock">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="topLeft"></parameter>
<parameter type="const wxGridCellCoords&amp; " name="bottomRight"></parameter>
<parameter type="bool " name="addToSelected" value="false"></parameter>
</parameters>
<description>
<p>
Selects a rectangular block of cells. If addToSelected is false then any
existing selection will be deselected; if true the column will be added to the
existing selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SelectCol">
<function type="void" name="SelectCol">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="bool " name="addToSelected" value="false"></parameter>
</parameters>
<description>
<p>
Selects the specified column. If addToSelected is false then any existing
selection will be deselected; if true the column will be added to the existing
selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SelectionToDeviceRect">
<function type="wxRect" name="SelectionToDeviceRect">
<description>
<p>
This function returns the rectangle that encloses the selected cells in device
coords and clipped to the client size of the grid window.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SelectRow">
<function type="void" name="SelectRow">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="bool " name="addToSelected" value="false"></parameter>
</parameters>
<description>
<p>
Selects the specified row. If addToSelected is false then any existing selection
will be deselected; if true the row will be added to the existing selection.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetCellAlignment">
<function type="void" name="SetCellAlignment">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="int " name="horiz"></parameter>
<parameter type="int " name="vert"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetCellAlignment">
<parameters>
<parameter type="int " name="align"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Sets the horizontal and vertical alignment for grid cell text at the specified
location.
</p>
<p>
Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
<br/>
Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetCellBackgroundColour">
<function type="void" name="SetCellBackgroundColour">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="SetCellEditor">
<function type="void" name="SetCellEditor">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
</parameters>
<description>
<p>
Sets the editor for the grid cell at the specified location. The grid will take
ownership of the pointer.
</p>
<p>
See
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetCellFont">
<function type="void" name="SetCellFont">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets the font for text in the grid cell at the specified location.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetCellRenderer">
<function type="void" name="SetCellRenderer">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
</parameters>
<description>
<p>
Sets the renderer for the grid cell at the specified location. The grid will
take ownership of the pointer.
</p>
<p>
See
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetCellTextColour">
<function type="void" name="SetCellTextColour">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetCellTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="val"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetCellTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the text colour for the grid cell at the specified location.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetCellValue">
<function type="void" name="SetCellValue">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="s"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetCellValue">
<parameters>
<parameter type="const wxGridCellCoords&amp; " name="coords"></parameter>
<parameter type="const wxString&amp; " name="s"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetCellValue">
<parameters>
<parameter type="const wxString&amp; " name="val"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Sets the string value for the cell at the specified location. For simple
applications where a grid object automatically uses a default grid table of
string values you use this function together with
<ref target="wxgridgetcellvalue">wxGrid::GetCellValue</ref>
to access cell values.
</p>
<p>
For more complex applications where you have derived your own grid table class
that contains various data types (e.g. numeric, boolean or user-defined custom
types) then you only use this function for those cells that contain string
values.
</p>
<p>
The last form is for backward compatibility only.
</p>
<p>
See
<ref target="wxgridtablebasecangetvalueas">wxGridTableBase::CanSetValueAs</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColAttr">
<function type="void" name="SetColAttr">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
</parameters>
<description>
<p>
Sets the cell attributes for all cells in the specified column.
</p>
<p>
For more information about controlling grid cell attributes see the
<ref target="wxgridcellattr">wxGridCellAttr</ref>
cell attribute class and the
<ref target="gridoverview">wxGrid classes overview</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColFormatBool">
<function type="void" name="SetColFormatBool">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Sets the specified column to display boolean values. wxGrid displays boolean
values with a checkbox.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColFormatNumber">
<function type="void" name="SetColFormatNumber">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Sets the specified column to display integer values.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColFormatFloat">
<function type="void" name="SetColFormatFloat">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="int " name="width" value="-1"></parameter>
<parameter type="int " name="precision" value="-1"></parameter>
</parameters>
<description>
<p>
Sets the specified column to display floating point values with the given width
and precision.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColFormatCustom">
<function type="void" name="SetColFormatCustom">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="typeName"></parameter>
</parameters>
<description>
<p>
Sets the specified column to display data in a custom format. See the
<ref target="gridoverview">wxGrid overview</ref>
for more information on working with custom data types.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColLabelAlignment">
<function type="void" name="SetColLabelAlignment">
<parameters>
<parameter type="int " name="horiz"></parameter>
<parameter type="int " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the horizontal and vertical alignment of column label text.
</p>
<p>
Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
</p>
<p>
Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColLabelSize">
<function type="void" name="SetColLabelSize">
<parameters>
<parameter type="int " name="height"></parameter>
</parameters>
<description>
<p>
Sets the height of the column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColLabelValue">
<function type="void" name="SetColLabelValue">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="value"></parameter>
</parameters>
<description>
<p>
Set the value for the given column label. If you are using a derived grid table
you must override
<ref target="wxgridtablebasesetcollabelvalue">wxGridTableBase::SetColLabelValue</ref>
for this to have any effect.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColMinimalWidth">
<function type="void" name="SetColMinimalWidth">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="int " name="width"></parameter>
</parameters>
<description>
<p>
Sets the minimal width for the specified column. This should normally be called
when creating the grid because it will not resize a column that is already
narrower than the minimal width. The width argument must be higher than the
minimimal acceptable column width, see
<ref target="wxgridgetcolminimalacceptablewidth">wxGrid::GetColMinimalAcceptableWidth</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColMinimalAcceptableWidth">
<function type="void" name="SetColMinimalAcceptableWidth">
<parameters>
<parameter type="int " name="width"></parameter>
</parameters>
<description>
<p>
This modifies the minimum column width that can be handled correctly. Specifying
a low value here allows smaller grid cells to be dealt with correctly.
Specifying a value here which is much smaller than the actual minimum size will
incur a performance penalty in the functions which perform grid cell index
lookup on the basis of screen coordinates. This should normally be called when
creating the grid because it will not resize existing columns with sizes smaller
than the value specified here.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetColSize">
<function type="void" name="SetColSize">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="int " name="width"></parameter>
</parameters>
<note>
<br/>
wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Sets the width of the specified column.
</p>
<p>
This function does not refresh the grid. If you are calling it outside of a
BeginBatch / EndBatch block you can use
<ref target="wxgridforcerefresh">wxGrid::ForceRefresh</ref>
to see the changes.
</p>
<p>
Automatically sizes the column to fit its contents. If setAsMin is true the
calculated width will also be set as the minimal width for the column.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultCellAlignment">
<function type="void" name="SetDefaultCellAlignment">
<parameters>
<parameter type="int " name="horiz"></parameter>
<parameter type="int " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the default horizontal and vertical alignment for grid cell text.
</p>
<p>
Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
</p>
<p>
Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultCellBackgroundColour">
<function type="void" name="SetDefaultCellBackgroundColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the default background colour for grid cells.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultCellFont">
<function type="void" name="SetDefaultCellFont">
<parameters>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets the default font to be used for grid cell text.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultCellTextColour">
<function type="void" name="SetDefaultCellTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the current default colour for grid cell text.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultEditor">
<function type="void" name="SetDefaultEditor">
<parameters>
<parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
</parameters>
<description>
<p>
Sets the default editor for grid cells. The grid will take ownership of the
pointer.
</p>
<p>
See
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultRenderer">
<function type="void" name="SetDefaultRenderer">
<parameters>
<parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
</parameters>
<description>
<p>
Sets the default renderer for grid cells. The grid will take ownership of the
pointer.
</p>
<p>
See
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
and the
<ref target="gridoverview">wxGrid overview</ref>
for more information about cell editors and renderers.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultColSize">
<function type="void" name="SetDefaultColSize">
<parameters>
<parameter type="int " name="width"></parameter>
<parameter type="bool " name="resizeExistingCols" value="false"></parameter>
</parameters>
<description>
<p>
Sets the default width for columns in the grid. This will only affect columns
subsequently added to the grid unless resizeExistingCols is true.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetDefaultRowSize">
<function type="void" name="SetDefaultRowSize">
<parameters>
<parameter type="int " name="height"></parameter>
<parameter type="bool " name="resizeExistingRows" value="false"></parameter>
</parameters>
<description>
<p>
Sets the default height for rows in the grid. This will only affect rows
subsequently added to the grid unless resizeExistingRows is true.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetGridCursor">
<function type="void" name="SetGridCursor">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Set the grid cursor to the specified cell. This function calls
<ref target="wxgridmakecellvisible">wxGrid::MakeCellVisible</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetGridLineColour">
<function type="void" name="SetGridLineColour">
<parameters>
<parameter type="const wxColour&amp;" name="colour"></parameter>
</parameters>
<description>
<p>
Sets the colour used to draw grid lines.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetLabelBackgroundColour">
<function type="void" name="SetLabelBackgroundColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the background colour for row and column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetLabelFont">
<function type="void" name="SetLabelFont">
<parameters>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets the font for row and column labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetLabelTextColour">
<function type="void" name="SetLabelTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets the colour for row and column label text.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetMargins">
<function type="void" name="SetMargins">
<parameters>
<parameter type="int " name="extraWidth"></parameter>
<parameter type="int " name="extraHeight"></parameter>
</parameters>
<description>
<p>
A grid may occupy more space than needed for its rows/columns. This function
allows to set how big this extra space is
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetOrCalcColumnSizes">
<function type="int" name="SetOrCalcColumnSizes">
<parameters>
<parameter type="bool " name="calcOnly"></parameter>
<parameter type="bool " name="setAsMin" value="true"></parameter>
</parameters>
<description>
<p>
Common part of AutoSizeColumn/Row() and GetBestSize()
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetOrCalcRowSizes">
<function type="int" name="SetOrCalcRowSizes">
<parameters>
<parameter type="bool " name="calcOnly"></parameter>
<parameter type="bool " name="setAsMin" value="true"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="SetReadOnly">
<function type="void" name="SetReadOnly">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="bool " name="isReadOnly" value="true"></parameter>
</parameters>
<description>
<p>
Makes the cell at the specified location read-only or editable. See also
<ref target="wxgridisreadonly">wxGrid::IsReadOnly</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowAttr">
<function type="void" name="SetRowAttr">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
</parameters>
<description>
<p>
Sets the cell attributes for all cells in the specified row. See the
<ref target="wxgridcellattr">wxGridCellAttr</ref>
class for more information about controlling cell attributes.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowLabelAlignment">
<function type="void" name="SetRowLabelAlignment">
<parameters>
<parameter type="int " name="horiz"></parameter>
<parameter type="int " name="vert"></parameter>
</parameters>
<description>
<p>
Sets the horizontal and vertical alignment of row label text.
</p>
<p>
Horizontal alignment should be one of wxALIGN_LEFT, wxALIGN_CENTRE or
wxALIGN_RIGHT.
</p>
<p>
Vertical alignment should be one of wxALIGN_TOP, wxALIGN_CENTRE or
wxALIGN_BOTTOM.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowLabelSize">
<function type="void" name="SetRowLabelSize">
<parameters>
<parameter type="int " name="width"></parameter>
</parameters>
<description>
<p>
Sets the width of the row labels.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowLabelValue">
<function type="void" name="SetRowLabelValue">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="const wxString&amp; " name="value"></parameter>
</parameters>
<description>
<p>
Set the value for the given row label. If you are using a derived grid table you
must override
<ref target="wxgridtablebasesetrowlabelvalue">wxGridTableBase::SetRowLabelValue</ref>
for this to have any effect.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowMinimalHeight">
<function type="void" name="SetRowMinimalHeight">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="height"></parameter>
</parameters>
<description>
<p>
Sets the minimal height for the specified row. This should normally be called
when creating the grid because it will not resize a row that is already shorter
than the minimal height. The height argument must be higher than the minimimal
acceptable row height, see
<ref target="wxgridgetrowminimalacceptableheight">wxGrid::GetRowMinimalAcceptableHeight</ref>
.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowMinimalAcceptableHeight">
<function type="void" name="SetRowMinimalAcceptableHeight">
<parameters>
<parameter type="int " name="height"></parameter>
</parameters>
<description>
<p>
This modifies the minimum row width that can be handled correctly. Specifying a
low value here allows smaller grid cells to be dealt with correctly. Specifying
a value here which is much smaller than the actual minimum size will incur a
performance penalty in the functions which perform grid cell index lookup on the
basis of screen coordinates. This should normally be called when creating the
grid because it will not resize existing rows with sizes smaller than the value
specified here.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetRowSize">
<function type="void" name="SetRowSize">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="height"></parameter>
</parameters>
<note>

wxGrid sets up arrays to store individual row and column sizes when non-default sizes are used.
The memory requirements for this could become prohibitive if your grid is very large. 

</note>
<description>
<p>
Sets the height of the specified row.
</p>
<p>
This function does not refresh the grid. If you are calling it outside of a
BeginBatch / EndBatch block you can use
<ref target="wxgridforcerefresh">wxGrid::ForceRefresh</ref>
to see the changes.
</p>
<p>
Automatically sizes the column to fit its contents. If setAsMin is true the
calculated width will also be set as the minimal width for the column.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetScrollLinesX">
<function type="void" name="SetScrollLinesX">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Sets the number of pixels per horizontal scroll increment. The default is 15.
Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
errors: setting this to 1 can help.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetScrollLinesY">
<function type="void" name="SetScrollLinesY">
<parameters>
<parameter type="int " name="y"></parameter>
</parameters>
<description>
<p>
Sets the number of pixels per vertical scroll increment. The default is 15.
Sometimes wxGrid has trouble setting the scrollbars correctly due to rounding
errors: setting this to 1 can help.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetSelectionBackground">
<function type="void" name="SetSelectionBackground">
<parameters>
<parameter type="const wxColour&amp; " name="c"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="SetSelectionForeground">
<function type="void" name="SetSelectionForeground">
<parameters>
<parameter type="const wxColour&amp; " name="c"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGrid" name="SetSelectionMode">
<function type="void" name="SetSelectionMode">
<parameters>
<parameter type="wxGrid::wxGridSelectionModes " name="selmode"></parameter>
</parameters>
<description>
<p>
Set the selection behaviour of the grid.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="SetTable">
<function type="bool" name="SetTable">
<parameters>
<parameter type="wxGridTableBase&#42; " name="table"></parameter>
<parameter type="bool " name="takeOwnership" value="false"></parameter>
<parameter type="wxGrid::wxGridSelectionModes " name="selmode" value="wxGrid::wxGridSelectCells"></parameter>
</parameters>
<description>
<p>
Passes a pointer to a custom grid table to be used by the grid. This should be
called after the grid constructor and before using the grid object. If
takeOwnership is set to true then the table will be deleted by the wxGrid
destructor.
</p>
<p>
Use this function instead of
<ref target="wxgridcreategrid">wxGrid::CreateGrid</ref>
when your application involves complex or non-string data or data sets that are
too large to fit wholly in memory.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="ShowCellEditControl">
<function type="void" name="ShowCellEditControl">
<description>
<p>
Displays the in-place cell edit control for the current cell.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="XToCol">
<function type="int" name="XToCol">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Returns the grid column that corresponds to the logical x coordinate. Returns
<tt>wxNOT_FOUND</tt>
if there is no column at the x position.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="XToEdgeOfCol">
<function type="int" name="XToEdgeOfCol">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Returns the column whose right hand edge is close to the given logical x
position. If no column edge is near to this position
<tt>wxNOT_FOUND</tt>
is returned.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="YToEdgeOfRow">
<function type="int" name="YToEdgeOfRow">
<parameters>
<parameter type="int " name="y"></parameter>
</parameters>
<description>
<p>
Returns the row whose bottom edge is close to the given logical y position. If
no row edge is near to this position
<tt>wxNOT_FOUND</tt>
is returned.
</p>
</description>
</function>
</member>
<member class="wxGrid" name="YToRow">
<function type="int" name="YToRow">
<parameters>
<parameter type="int " name="y"></parameter>
</parameters>
<description>
<p>
Returns the grid row that corresponds to the logical y coordinate. Returns
<tt>wxNOT_FOUND</tt>
if there is no row at the y position.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridBagSizer">
<description>
<p class="classdesc">
A
<ref target="wxsizer">wxSizer</ref>
that can lay out items in a virtual grid like a
<ref target="wxflexgridsizer">wxFlexGridSizer</ref>
but in this case explicit positioning of the items is allowed using
<ref target="wxgbposition">wxGBPosition</ref>
, and items can optionally span more than one row and/or column using
<ref target="wxgbspan">wxGBSpan</ref>
.
</p>
</description>
<category>Window layout</category>
<shortdesc>Another grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.</shortdesc>
<parents>
<ref type="help" target="wxFlexGridSizer">wxFlexGridSizer</ref>
<ref type="help" target="wxGridSizer">wxGridSizer</ref>
<ref type="help" target="wxSizer">wxSizer</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/gbsizer.h"/>
</includes>
<members>
<member class="wxGridBagSizer" name="wxGridBagSizer">
<function type="" name="wxGridBagSizer">
<parameters>
<parameter type="int " name="vgap" value="0"></parameter>
<parameter type="int " name="hgap" value="0"></parameter>
</parameters>
<description>
<p>
Constructor, with optional parameters to specify the gap between the rows and
columns.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="Add">
<function type="wxSizerItem&#42;" name="Add">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
<parameter type="const wxGBSpan&amp; " name="span" value="wxDefaultSpan"></parameter>
<parameter type="int " name="flag" value="0"></parameter>
<parameter type="int " name="border" value="0"></parameter>
<parameter type="wxObject&#42; " name="userData" value="NULL"></parameter>
</parameters>
<description></description>
</function>
<function type="wxSizerItem&#42;" name="Add">
<parameters>
<parameter type="wxSizer&#42; " name="sizer"></parameter>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
<parameter type="const wxGBSpan&amp; " name="span" value="wxDefaultSpan"></parameter>
<parameter type="int " name="flag" value="0"></parameter>
<parameter type="int " name="border" value="0"></parameter>
<parameter type="wxObject&#42; " name="userData" value="NULL"></parameter>
</parameters>
<description></description>
</function>
<function type="wxSizerItem&#42;" name="Add">
<parameters>
<parameter type="int " name="width"></parameter>
<parameter type="int " name="height"></parameter>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
<parameter type="const wxGBSpan&amp; " name="span" value="wxDefaultSpan"></parameter>
<parameter type="int " name="flag" value="0"></parameter>
<parameter type="int " name="border" value="0"></parameter>
<parameter type="wxObject&#42; " name="userData" value="NULL"></parameter>
</parameters>
<description></description>
</function>
<function type="wxSizerItem&#42;" name="Add">
<parameters>
<parameter type="wxGBSizerItem&#42; " name="item"></parameter>
</parameters>
<description>
<p>
The Add methods return a valid pointer if the item was successfully placed at
the given position, NULL if something was already there.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="CalcMin">
<function type="wxSize" name="CalcMin">
<description>
<p>
Called when the managed size of the sizer is needed or when layout needs done.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="CheckForIntersection">
<function type="bool" name="CheckForIntersection">
<parameters>
<parameter type="wxGBSizerItem&#42; " name="item"></parameter>
<parameter type="wxGBSizerItem&#42; " name="excludeItem" value="NULL"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="CheckForIntersection">
<parameters>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
<parameter type="const wxGBSpan&amp; " name="span"></parameter>
<parameter type="wxGBSizerItem&#42; " name="excludeItem" value="NULL"></parameter>
</parameters>
<description>
<p>
Look at all items and see if any intersect (or would overlap) the given item.
Returns true if so, false if there would be no overlap. If an excludeItem is
given then it will not be checked for intersection, for example it may be the
item we are checking the position of.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="FindItem">
<function type="wxGBSizerItem&#42;" name="FindItem">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
</parameters>
<description></description>
</function>
<function type="wxGBSizerItem&#42;" name="FindItem">
<parameters>
<parameter type="wxSizer&#42; " name="sizer"></parameter>
</parameters>
<description>
<p>
Find the sizer item for the given window or subsizer, returns NULL if not found.
(non-recursive)
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="FindItemAtPoint">
<function type="wxGBSizerItem&#42;" name="FindItemAtPoint">
<parameters>
<parameter type="const wxPoint&amp; " name="pt"></parameter>
</parameters>
<description>
<p>
Return the sizer item located at the point given in pt, or NULL if there is no
item at that point. The (x,y) coordinates in pt correspond to the client
coordinates of the window using the sizer for layout. (non-recursive)
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="FindItemAtPosition">
<function type="wxGBSizerItem&#42;" name="FindItemAtPosition">
<parameters>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
</parameters>
<description>
<p>
Return the sizer item for the given grid cell, or NULL if there is no item at
that position. (non-recursive)
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="FindItemWithData">
<function type="wxGBSizerItem&#42;" name="FindItemWithData">
<parameters>
<parameter type="const wxObject&#42; " name="userData"></parameter>
</parameters>
<description>
<p>
Return the sizer item that has a matching user data (it only compares pointer
values) or NULL if not found. (non-recursive)
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="GetCellSize">
<function type="wxSize" name="GetCellSize" suffix="const">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Get the size of the specified cell, including hgap and vgap. Only valid after a
Layout.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="GetEmptyCellSize">
<function type="wxSize" name="GetEmptyCellSize" suffix="const">
<description>
<p>
Get the size used for cells in the grid with no item.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="GetItemPosition">
<function type="wxGBPosition" name="GetItemPosition">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
</parameters>
<description></description>
</function>
<function type="wxGBPosition" name="GetItemPosition">
<parameters>
<parameter type="wxSizer&#42; " name="sizer"></parameter>
</parameters>
<description></description>
</function>
<function type="wxGBPosition" name="GetItemPosition">
<parameters>
<parameter type="size_t " name="index"></parameter>
</parameters>
<description>
<p>
Get the grid position of the specified item.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="GetItemSpan">
<function type="wxGBSpan" name="GetItemSpan">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
</parameters>
<description></description>
</function>
<function type="wxGBSpan" name="GetItemSpan">
<parameters>
<parameter type="wxSizer&#42; " name="sizer"></parameter>
</parameters>
<description></description>
</function>
<function type="wxGBSpan" name="GetItemSpan">
<parameters>
<parameter type="size_t " name="index"></parameter>
</parameters>
<description>
<p>
Get the row/col spanning of the specified item
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="RecalcSizes">
<function type="void" name="RecalcSizes">
<description>
<p>
Called when the managed size of the sizer is needed or when layout needs done.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="SetEmptyCellSize">
<function type="void" name="SetEmptyCellSize">
<parameters>
<parameter type="const wxSize&amp; " name="sz"></parameter>
</parameters>
<description>
<p>
Set the size used for cells in the grid with no item.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="SetItemPosition">
<function type="bool" name="SetItemPosition">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="SetItemPosition">
<parameters>
<parameter type="wxSizer&#42; " name="sizer"></parameter>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="SetItemPosition">
<parameters>
<parameter type="size_t " name="index"></parameter>
<parameter type="const wxGBPosition&amp; " name="pos"></parameter>
</parameters>
<description>
<p>
Set the grid position of the specified item. Returns true on success. If the
move is not allowed (because an item is already there) then false is returned.
</p>
</description>
</function>
</member>
<member class="wxGridBagSizer" name="SetItemSpan">
<function type="bool" name="SetItemSpan">
<parameters>
<parameter type="wxWindow&#42; " name="window"></parameter>
<parameter type="const wxGBSpan&amp; " name="span"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="SetItemSpan">
<parameters>
<parameter type="wxSizer&#42; " name="sizer"></parameter>
<parameter type="const wxGBSpan&amp; " name="span"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="SetItemSpan">
<parameters>
<parameter type="size_t " name="index"></parameter>
<parameter type="const wxGBSpan&amp; " name="span"></parameter>
</parameters>
<description>
<p>
Set the row/col spanning of the specified item. Returns true on success. If the
move is not allowed (because an item is already there) then false is returned.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxGridCellAttr">
<description>
<p class="classdesc">
This class can be used to alter the cells' appearance in the grid by changing
their colour/font/... from default. An object of this class may be returned by
wxGridTable::GetAttr().
</p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<members>
<member class="wxGridCellAttr" name="wxGridCellAttr">
<function type="" name="wxGridCellAttr">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGridCellAttr">
<parameters>
<parameter type="const wxColour&amp; " name="colText"></parameter>
<parameter type="const wxColour&amp; " name="colBack"></parameter>
<parameter type="const wxFont&amp; " name="font"></parameter>
<parameter type="int " name="hAlign"></parameter>
<parameter type="int " name="vAlign"></parameter>
</parameters>
<description>
<p>
VZ: considering the number of members wxGridCellAttr has now, this ctor seems to
be pretty useless... may be we should just remove it?
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="Clone">
<function type="wxGridCellAttr&#42;" name="Clone" suffix="const">
<description>
<p>
Creates a new copy of this object.
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="IncRef">
<function type="void" name="IncRef">
<description>
<p>
This class is ref counted: it is created with ref count of 1, so calling
DecRef() once will delete it. Calling IncRef() allows to lock it until the
matching DecRef() is called
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="DecRef">
<function type="void" name="DecRef">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="SetTextColour">
<function type="void" name="SetTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="colText"></parameter>
</parameters>
<description>
<p>
Sets the text colour.
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="SetBackgroundColour">
<function type="void" name="SetBackgroundColour">
<parameters>
<parameter type="const wxColour&amp; " name="colBack"></parameter>
</parameters>
<description>
<p>
Sets the background colour.
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="SetFont">
<function type="void" name="SetFont">
<parameters>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets the font.
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="SetAlignment">
<function type="void" name="SetAlignment">
<parameters>
<parameter type="int " name="hAlign"></parameter>
<parameter type="int " name="vAlign"></parameter>
</parameters>
<description>
<p>
Sets the alignment.
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="SetReadOnly">
<function type="void" name="SetReadOnly">
<parameters>
<parameter type="bool " name="isReadOnly" value="true"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="SetRenderer">
<function type="void" name="SetRenderer">
<parameters>
<parameter type="wxGridCellRenderer&#42; " name="renderer"></parameter>
</parameters>
<description>
<p>
takes ownership of the pointer
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="SetEditor">
<function type="void" name="SetEditor">
<parameters>
<parameter type="wxGridCellEditor&#42; " name="editor"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="HasTextColour">
<function type="bool" name="HasTextColour" suffix="const">
<description>
<p>
accessors
</p>
</description>
</function>
</member>
<member class="wxGridCellAttr" name="HasBackgroundColour">
<function type="bool" name="HasBackgroundColour" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="HasFont">
<function type="bool" name="HasFont" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="HasAlignment">
<function type="bool" name="HasAlignment" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="HasRenderer">
<function type="bool" name="HasRenderer" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="HasEditor">
<function type="bool" name="HasEditor" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="GetTextColour">
<function type="const wxColour&amp;" name="GetTextColour" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="GetBackgroundColour">
<function type="const wxColour&amp;" name="GetBackgroundColour" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="GetFont">
<function type="const wxFont&amp;" name="GetFont" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="GetAlignment">
<function type="void" name="GetAlignment" suffix="const">
<parameters>
<parameter type="int&#42; " name="hAlign"></parameter>
<parameter type="int&#42; " name="vAlign"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="GetRenderer">
<function type="wxGridCellRenderer&#42;" name="GetRenderer" suffix="const">
<parameters>
<parameter type="wxGrid&#42; " name="grid"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="GetEditor">
<function type="wxGridCellEditor&#42;" name="GetEditor" suffix="const">
<parameters>
<parameter type="wxGrid&#42; " name="grid"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="IsReadOnly">
<function type="bool" name="IsReadOnly" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridCellAttr" name="SetDefAttr">
<function type="void" name="SetDefAttr">
<parameters>
<parameter type="wxGridCellAttr&#42; " name="defAttr"></parameter>
</parameters>
<description></description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellBoolEditor">
<description>
<p class="classdesc">
The editor for boolean data.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
,
<ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
,
<ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
,
<ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
,
<ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
</seealso>
<members>
<member class="wxGridCellBoolEditor" name="wxGridCellBoolEditor">
<function type="" name="wxGridCellBoolEditor">
<parameters></parameters>
<description>
<p>
Default constructor.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellBoolRenderer">
<description>
<p class="classdesc">
This class may be used to format boolean data in a cell. for string cells.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
,
<ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
,
<ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
,
<ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
</seealso>
<members>
<member class="wxGridCellBoolRenderer" name="wxGridCellBoolRenderer">
<function type="" name="wxGridCellBoolRenderer">
<parameters></parameters>
<description>
<p>
Default constructor
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellChoiceEditor">
<description>
<p class="classdesc">
The editor for string data allowing to choose from a list of strings.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
</parents>
<seealso>
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
,
<ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
,
<ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
,
<ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
,
<ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
</seealso>
<members>
<member class="wxGridCellChoiceEditor" name="wxGridCellChoiceEditor">
<function type="" name="wxGridCellChoiceEditor">
<parameters>
<parameter type="size_t " name="count" value="0">
Number of strings from which the user can choose.
</parameter>
<parameter type="const wxString " name="choices[]" value="NULL"></parameter>
<parameter type="bool " name="allowOthers" value="false">
If allowOthers if true, the user can type a string not in choices array.
</parameter>
</parameters>
<description></description>
</function>
<function type="" name="wxGridCellChoiceEditor">
<parameters>
<parameter type="const wxArrayString&amp; " name="choices">
An array of strings from which the user can choose.
</parameter>
<parameter type="bool " name="allowOthers" value="false">
If allowOthers if true, the user can type a string not in choices array.
</parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellChoiceEditor" name="SetParameters">
<function type="void" name="SetParameters">
<parameters>
<parameter type="const wxString&amp; " name="params"></parameter>
</parameters>
<description>
<p>
Parameters string format is &quot;item1[,item2[...,itemN]]&quot;
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellEditor" annotation="abstract">
<description>
<p class="classdesc">
This class is responsible for providing and manipulating the in-place edit
controls for the grid. Instances of wxGridCellEditor (actually, instances of
derived classes since it is an abstract class) can be associated with the cell
attributes for individual cells, rows, columns, or even for the entire grid.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellWorker">wxGridCellWorker</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
,
<ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
,
<ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
,
<ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
,
<ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
</seealso>
<members>
<member class="wxGridCellEditor" name="wxGridCellEditor">
<function type="" name="wxGridCellEditor">
<description></description>
</function>
</member>
<member class="wxGridCellEditor" name="IsCreated">
<function type="bool" name="IsCreated">
<description></description>
</function>
</member>
<member class="wxGridCellEditor" name="Create">
<function type="void" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="wxEvtHandler&#42; " name="evtHandler"></parameter>
</parameters>
<description>
<p>
Creates the actual edit control.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="SetSize">
<function type="void" name="SetSize">
<parameters>
<parameter type="const wxRect&amp; " name="rect"></parameter>
</parameters>
<description>
<p>
Size and position the edit control.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="Show">
<function type="void" name="Show">
<parameters>
<parameter type="bool " name="show"></parameter>
<parameter type="wxGridCellAttr&#42; " name="attr" value="NULL"></parameter>
</parameters>
<description>
<p>
Show or hide the edit control, use the specified attributes to set colours/fonts
for it.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="PaintBackground">
<function type="void" name="PaintBackground">
<parameters>
<parameter type="const wxRect&amp; " name="rectCell"></parameter>
<parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
</parameters>
<description>
<p>
Draws the part of the cell not occupied by the control: the base class version
just fills it with background colour from the attribute.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="BeginEdit">
<function type="void" name="BeginEdit">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="wxGrid&#42; " name="grid"></parameter>
</parameters>
<description>
<p>
Fetch the value from the table and prepare the edit control to begin editing.
Set the focus to the edit control.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="EndEdit">
<function type="bool" name="EndEdit">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="wxGrid&#42; " name="grid"></parameter>
</parameters>
<description>
<p>
Complete the editing of the current cell. Returns true if the value has changed.
If necessary, the control may be destroyed.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="Reset">
<function type="void" name="Reset">
<description>
<p>
Reset the value in the control back to its starting value.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="StartingKey">
<function type="void" name="StartingKey">
<parameters>
<parameter type="wxKeyEvent&amp; " name="event"></parameter>
</parameters>
<description>
<p>
If the editor is enabled by pressing keys on the grid, this will be called to
let the editor do something about that first key if desired.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="StartingClick">
<function type="void" name="StartingClick">
<description>
<p>
If the editor is enabled by clicking on the cell, this method will be called.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="HandleReturn">
<function type="void" name="HandleReturn">
<parameters>
<parameter type="wxKeyEvent&amp; " name="event"></parameter>
</parameters>
<description>
<p>
Some types of controls on some platforms may need some help with the Return key.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="Destroy">
<function type="void" name="Destroy">
<description>
<p>
Final cleanup.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="Clone">
<function type="wxGridCellEditor&#42;" name="Clone" suffix="const">
<description>
<p>
Create a new object which is the copy of this one.
</p>
</description>
</function>
</member>
<member class="wxGridCellEditor" name="~wxGridCellEditor">
<function type="" name="~wxGridCellEditor">
<description>
<p>
The dtor is private because only DecRef() can delete us.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellFloatEditor">
<description>
<p class="classdesc">
The editor for floating point numbers data.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellTextEditor">wxGridCellTextEditor</ref>
<ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
,
<ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
,
<ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
,
<ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
,
<ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
</seealso>
<members>
<member class="wxGridCellFloatEditor" name="wxGridCellFloatEditor">
<function type="" name="wxGridCellFloatEditor">
<parameters>
<parameter type="int " name="width" value="-1">
Minimum number of characters to be shown.
</parameter>
<parameter type="int " name="precision" value="-1">
Number of digits after the decimal dot.
</parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellFloatEditor" name="SetParameters">
<function type="void" name="SetParameters">
<parameters>
<parameter type="const wxString&amp; " name="params"></parameter>
</parameters>
<description>
<p>
Parameters string format is &quot;width,precision&quot;
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellFloatRenderer">
<description>
<p class="classdesc">
This class may be used to format floating point data in a cell.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellStringRenderer">wxGridCellStringRenderer</ref>
<ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
,
<ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
,
<ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
,
<ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
</seealso>
<members>
<member class="wxGridCellFloatRenderer" name="wxGridCellFloatRenderer">
<function type="" name="wxGridCellFloatRenderer">
<parameters>
<parameter type="int " name="width" value="-1">
Minimum number of characters to be shown.
</parameter>
<parameter type="int " name="precision" value="-1">
Number of digits after the decimal dot.
</parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridCellFloatRenderer" name="GetPrecision">
<function type="int" name="GetPrecision" suffix="const">
<description>
<p>
Returns the precision ( see
<ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGridCellFloatRenderer" name="GetWidth">
<function type="int" name="GetWidth" suffix="const">
<description>
<p>
Returns the width ( see
<ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGridCellFloatRenderer" name="SetParameters">
<function type="void" name="SetParameters">
<parameters>
<parameter type="const wxString&amp; " name="params"></parameter>
</parameters>
<description>
<p>
Parameters string format is &quot;width[,precision]&quot;.
</p>
</description>
</function>
</member>
<member class="wxGridCellFloatRenderer" name="SetPrecision">
<function type="void" name="SetPrecision">
<parameters>
<parameter type="int " name="precision"></parameter>
</parameters>
<description>
<p>
Sets the precision ( see
<ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
).
</p>
</description>
</function>
</member>
<member class="wxGridCellFloatRenderer" name="SetWidth">
<function type="void" name="SetWidth">
<parameters>
<parameter type="int " name="width"></parameter>
</parameters>
<description>
<p>
Sets the width ( see
<ref target="wxgridcellfloatrendererconstr">wxGridCellFloatRenderer</ref>
)
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellNumberEditor" annotation="abstract">
<description>
<p class="classdesc">
The editor for numeric integer data.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellTextEditor">wxGridCellTextEditor</ref>
<ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
,
<ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
,
<ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
,
<ref target="wxgridcelltexteditor">wxGridCellTextEditor</ref>
,
<ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
</seealso>
<members>
<member class="wxGridCellNumberEditor" name="wxGridCellNumberEditor">
<function type="" name="wxGridCellNumberEditor">
<parameters>
<parameter type="int " name="min" value="-1"></parameter>
<parameter type="int " name="max" value="-1"></parameter>
</parameters>
<description>
<p>
Allows to specify the range for acceptable data; if min == max == -1, no range
checking is done
</p>
</description>
</function>
</member>
<member class="wxGridCellNumberEditor" name="GetString">
<function type="wxString" name="GetString" suffix="const">
<description>
<p>
String representation of the value.
</p>
</description>
</function>
</member>
<member class="wxGridCellNumberEditor" name="HasRange">
<function type="bool" name="HasRange" suffix="const">
<description>
<p>
If the return value is true, the editor uses a wxSpinCtrl to get user input,
otherwise it uses a wxTextCtrl.
</p>
</description>
</function>
</member>
<member class="wxGridCellNumberEditor" name="SetParameters">
<function type="void" name="SetParameters">
<parameters>
<parameter type="const wxString&amp; " name="params"></parameter>
</parameters>
<description>
<p>
Parameters string format is &quot;min,max&quot;.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellNumberRenderer">
<description>
<p class="classdesc">
This class may be used to format integer data in a cell.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridellStringRenderer">wxGridellStringRenderer</ref>
<ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
,
<ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
,
<ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
,
<ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
</seealso>
<members>
<member class="wxGridCellNumberRenderer" name="wxGridCellNumberRenderer">
<function type="" name="wxGridCellNumberRenderer">
<parameters></parameters>
<description>
<p>
Default constructor
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellRenderer">
<description>
<p class="classdesc">
This class is responsible for actually drawing the cell in the grid. You may
pass it to the wxGridCellAttr (below) to change the format of one given cell or
to wxGrid::SetDefaultRenderer() to change the view of all cells. This is an
abstract class, and you will normally use one of the predefined derived classes
or derive your own class from it.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellWorker">wxGridCellWorker</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcellstringrenderer">wxGridCellStringRenderer</ref>
,
<ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
,
<ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
,
<ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
</seealso>
<members>
<member class="wxGridCellRenderer" name="Draw">
<function type="void" name="Draw">
<parameters>
<parameter type="wxGrid&amp; " name="grid"></parameter>
<parameter type="wxGridCellAttr&amp; " name="attr"></parameter>
<parameter type="wxDC&amp; " name="dc"></parameter>
<parameter type="const wxRect&amp; " name="rect"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="bool " name="isSelected"></parameter>
</parameters>
<description>
<p>
Draw the given cell on the provided DC inside the given rectangle using the
style specified by the attribute and the default or selected state corresponding
to the isSelected value.
</p>
<p>
This pure virtual function has a default implementation which will prepare the
DC using the given attribute: it will draw the rectangle with the background
colour from attr and set the text colour and font.
</p>
</description>
</function>
</member>
<member class="wxGridCellRenderer" name="GetBestSize">
<function type="wxSize" name="GetBestSize">
<parameters>
<parameter type="wxGrid&amp; " name="grid"></parameter>
<parameter type="wxGridCellAttr&amp; " name="attr"></parameter>
<parameter type="wxDC&amp; " name="dc"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Get the preferred size of the cell for its contents.
</p>
</description>
</function>
</member>
<member class="wxGridCellRenderer" name="Clone">
<function type="wxGridCellRenderer&#42;" name="Clone" suffix="const">
<description></description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellStringRenderer">
<description>
<p class="classdesc">
This class may be used to format string data in a cell; it is the default for
string cells.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellRenderer">wxGridCellRenderer</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcellrenderer">wxGridCellRenderer</ref>
,
<ref target="wxgridcellnumberrenderer">wxGridCellNumberRenderer</ref>
,
<ref target="wxgridcellfloatrenderer">wxGridCellFloatRenderer</ref>
,
<ref target="wxgridcellboolrenderer">wxGridCellBoolRenderer</ref>
</seealso>
<members>
<member class="wxGridCellStringRenderer" name="wxGridCellStringRenderer">
<function type="" name="wxGridCellStringRenderer">
<parameters></parameters>
<description>
<p>
Default constructor
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridCellTextEditor">
<description>
<p class="classdesc">
The editor for string/text data.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxGridCellEditor">wxGridCellEditor</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<seealso>
<ref target="wxgridcelleditor">wxGridCellEditor</ref>
,
<ref target="wxgridcellfloateditor">wxGridCellFloatEditor</ref>
,
<ref target="wxgridcellbooleditor">wxGridCellBoolEditor</ref>
,
<ref target="wxgridcellnumbereditor">wxGridCellNumberEditor</ref>
,
<ref target="wxgridcellchoiceeditor">wxGridCellChoiceEditor</ref>
</seealso>
<members>
<member class="wxGridCellTextEditor" name="wxGridCellTextEditor">
<function type="" name="wxGridCellTextEditor">
<description>
<p>
Default constructor.
</p>
</description>
</function>
</member>
<member class="wxGridCellTextEditor" name="SetParameters">
<function type="void" name="SetParameters">
<parameters>
<parameter type="const wxString&amp; " name="params"></parameter>
</parameters>
<description>
<p>
The parameters string format is &quot;n&quot; where n is a number representing
the maximum width.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridEditorCreatedEvent">
<description></description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<events>
<event name="EVT_GRID_EDITOR_CREATED(func)">The editor for a cell was created. Processes a wxEVT_GRID_EDITOR_CREATED.</event>
<event name="EVT_GRID_CMD_EDITOR_CREATED(id, func)">The editor for a cell was created; variant taking a window identifier. Processes a wxEVT_GRID_EDITOR_CREATED.</event>
</events>
<members>
<member class="wxGridEditorCreatedEvent" name="wxGridEditorCreatedEvent">
<function type="" name="wxGridEditorCreatedEvent">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGridEditorCreatedEvent">
<parameters>
<parameter type="int " name="id"></parameter>
<parameter type="wxEventType " name="type"></parameter>
<parameter type="wxObject&#42; " name="obj"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="wxControl&#42; " name="ctrl"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridEditorCreatedEvent" name="GetCol">
<function type="int" name="GetCol">
<description>
<p>
Returns the column at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridEditorCreatedEvent" name="GetControl">
<function type="wxControl&#42;" name="GetControl">
<description>
<p>
Returns the edit control.
</p>
</description>
</function>
</member>
<member class="wxGridEditorCreatedEvent" name="GetRow">
<function type="int" name="GetRow">
<description>
<p>
Returns the row at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridEditorCreatedEvent" name="SetCol">
<function type="void" name="SetCol">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Sets the column at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridEditorCreatedEvent" name="SetControl">
<function type="void" name="SetControl">
<parameters>
<parameter type="wxControl&#42; " name="ctrl"></parameter>
</parameters>
<description>
<p>
Sets the edit control.
</p>
</description>
</function>
</member>
<member class="wxGridEditorCreatedEvent" name="SetRow">
<function type="void" name="SetRow">
<parameters>
<parameter type="int " name="row"></parameter>
</parameters>
<description>
<p>
Sets the row at which the event occurred.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridEvent">
<description>
<p class="classdesc">
This event class contains information about various grid events.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
<ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<events></events>
<members>
<member class="wxGridEvent" name="wxGridEvent">
<function type="" name="wxGridEvent">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGridEvent">
<parameters>
<parameter type="int " name="id"></parameter>
<parameter type="wxEventType " name="type"></parameter>
<parameter type="wxObject&#42; " name="obj"></parameter>
<parameter type="int " name="row" value="-1"></parameter>
<parameter type="int " name="col" value="-1"></parameter>
<parameter type="int " name="x" value="-1"></parameter>
<parameter type="int " name="y" value="-1"></parameter>
<parameter type="bool " name="sel" value="true"></parameter>
<parameter type="bool " name="control" value="false"></parameter>
<parameter type="bool " name="shift" value="false"></parameter>
<parameter type="bool " name="alt" value="false"></parameter>
<parameter type="bool " name="meta" value="false"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridEvent" name="AltDown">
<function type="bool" name="AltDown">
<description>
<p>
Returns true if the Alt key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="ControlDown">
<function type="bool" name="ControlDown">
<description>
<p>
Returns true if the Control key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="GetCol">
<function type="int" name="GetCol">
<description>
<p>
Column at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="GetPosition">
<function type="wxPoint" name="GetPosition">
<description>
<p>
Position in pixels at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="GetRow">
<function type="int" name="GetRow">
<description>
<p>
Row at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="MetaDown">
<function type="bool" name="MetaDown">
<description>
<p>
Returns true if the Meta key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="Selecting">
<function type="bool" name="Selecting">
<description>
<p>
Returns true if the user deselected a cell, false if the user deselected a cell.
</p>
</description>
</function>
</member>
<member class="wxGridEvent" name="ShiftDown">
<function type="bool" name="ShiftDown">
<description>
<p>
Returns true if the Shift key was down at the time of the event.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridRangeSelectEvent">
<description></description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
<ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<events>
<event name="EVT_GRID_RANGE_SELECT(func)">The user selected a group of contiguous cells. Processes a wxEVT_GRID_RANGE_SELECT.</event>
<event name="EVT_GRID_CMD_RANGE_SELECT(func)">The user selected a group of contiguous cells; variant taking a window identifier. Processes a wxEVT_GRID_RANGE_SELECT.</event>
</events>
<members>
<member class="wxGridRangeSelectEvent" name="wxGridRangeSelectEvent">
<function type="" name="wxGridRangeSelectEvent">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGridRangeSelectEvent">
<parameters>
<parameter type="int " name="id"></parameter>
<parameter type="wxEventType " name="type"></parameter>
<parameter type="wxObject&#42; " name="obj"></parameter>
<parameter type="const wxGridCellCoords&amp; " name="topLeft"></parameter>
<parameter type="const wxGridCellCoords&amp; " name="bottomRight"></parameter>
<parameter type="bool " name="sel" value="true"></parameter>
<parameter type="bool " name="control" value="false"></parameter>
<parameter type="bool " name="shift" value="false"></parameter>
<parameter type="bool " name="alt" value="false"></parameter>
<parameter type="bool " name="meta" value="false"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="AltDown">
<function type="bool" name="AltDown">
<description>
<p>
Returns true if the Alt key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="ControlDown">
<function type="bool" name="ControlDown">
<description>
<p>
Returns true if the Control key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="GetBottomRightCoords">
<function type="wxGridCellCoords" name="GetBottomRightCoords">
<description>
<p>
Top left corner of the rectangular area that was (de)selected.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="GetBottomRow">
<function type="int" name="GetBottomRow">
<description>
<p>
Bottom row of the rectangular area that was (de)selected.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="GetLeftCol">
<function type="int" name="GetLeftCol">
<description>
<p>
Left column of the rectangular area that was (de)selected.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="GetRightCol">
<function type="int" name="GetRightCol">
<description>
<p>
Right column of the rectangular area that was (de)selected.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="GetTopLeftCoords">
<function type="wxGridCellCoords" name="GetTopLeftCoords">
<description>
<p>
Top left corner of the rectangular area that was (de)selected.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="GetTopRow">
<function type="int" name="GetTopRow">
<description>
<p>
Top row of the rectangular area that was (de)selected.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="MetaDown">
<function type="bool" name="MetaDown">
<description>
<p>
Returns true if the Meta key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="Selecting">
<function type="bool" name="Selecting">
<description>
<p>
Returns true if the area was selected, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxGridRangeSelectEvent" name="ShiftDown">
<function type="bool" name="ShiftDown">
<description>
<p>
Returns true if the Shift key was down at the time of the event.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridSizeEvent">
<description>
<p class="classdesc">
This event class contains information about a row/column resize event.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
<ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<events>
<event name="EVT_GRID_COL_SIZE(func)">The user resized a column by dragging it. Processes a wxEVT_GRID_COL_SIZE.</event>
<event name="EVT_GRID_ROW_SIZE(func)">The user resized a row by dragging it. Processes a wxEVT_GRID_ROW_SIZE.</event>
<event name="EVT_GRID_CMD_COL_SIZE(func)">The user resized a column by dragging it; variant taking a window identifier. Processes a wxEVT_GRID_COL_SIZE.</event>
<event name="EVT_GRID_CMD_ROW_SIZE(func)">The user resized a row by dragging it; variant taking a window identifier. Processes a wxEVT_GRID_ROW_SIZE.</event>
</events>
<members>
<member class="wxGridSizeEvent" name="wxGridSizeEvent">
<function type="" name="wxGridSizeEvent">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxGridSizeEvent">
<parameters>
<parameter type="int " name="id"></parameter>
<parameter type="wxEventType " name="type"></parameter>
<parameter type="wxObject&#42; " name="obj"></parameter>
<parameter type="int " name="rowOrCol" value="-1"></parameter>
<parameter type="int " name="x" value="-1"></parameter>
<parameter type="int " name="y" value="-1"></parameter>
<parameter type="bool " name="control" value="false"></parameter>
<parameter type="bool " name="shift" value="false"></parameter>
<parameter type="bool " name="alt" value="false"></parameter>
<parameter type="bool " name="meta" value="false"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridSizeEvent" name="AltDown">
<function type="bool" name="AltDown">
<description>
<p>
Returns true if the Alt key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridSizeEvent" name="ControlDown">
<function type="bool" name="ControlDown">
<description>
<p>
Returns true if the Control key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridSizeEvent" name="GetPosition">
<function type="wxPoint" name="GetPosition">
<description>
<p>
Position in pixels at which the event occurred.
</p>
</description>
</function>
</member>
<member class="wxGridSizeEvent" name="GetRowOrCol">
<function type="int" name="GetRowOrCol">
<description>
<p>
Row or column at that was resized.
</p>
</description>
</function>
</member>
<member class="wxGridSizeEvent" name="MetaDown">
<function type="bool" name="MetaDown">
<description>
<p>
Returns true if the Meta key was down at the time of the event.
</p>
</description>
</function>
</member>
<member class="wxGridSizeEvent" name="ShiftDown">
<function type="bool" name="ShiftDown">
<description>
<p>
Returns true if the Shift key was down at the time of the event.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridSizer">
<description>
<p class="classdesc">
A grid sizer is a sizer which lays out its children in a two-dimensional table
with all table fields having the same size, i.e. the width of each field is the
width of the widest child, the height of each field is the height of the tallest
child.
</p>
</description>
<category>Window layout</category>
<shortdesc>A sizer for laying out windows in a grid with all fields having the same size</shortdesc>
<parents>
<ref type="help" target="wxSizer">wxSizer</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/sizer.h"/>
</includes>
<members>
<member class="wxGridSizer" name="wxGridSizer">
<function type="" name="wxGridSizer">
<parameters>
<parameter type="int " name="rows"></parameter>
<parameter type="int " name="cols"></parameter>
<parameter type="int " name="vgap"></parameter>
<parameter type="int " name="hgap"></parameter>
</parameters>
<description></description>
</function>
<function type="" name="wxGridSizer">
<parameters>
<parameter type="int " name="cols"></parameter>
<parameter type="int " name="vgap" value="0"></parameter>
<parameter type="int " name="hgap" value="0"></parameter>
</parameters>
<description>
<p>
Constructor for a wxGridSizer.
<i>rows</i>
and
<i>cols</i>
determine the number of columns and rows in the sizer - if either of the
parameters is zero, it will be calculated to form the total number of children
in the sizer, thus making the sizer grow dynamically.
<i>vgap</i>
and
<i>hgap</i>
define extra space between all children.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="GetCols">
<function type="int" name="GetCols">
<parameters></parameters>
<description>
<p>
Returns the number of columns in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="GetHGap">
<function type="int" name="GetHGap">
<parameters></parameters>
<description>
<p>
Returns the horizontal gap (in pixels) between cells in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="GetRows">
<function type="int" name="GetRows">
<parameters></parameters>
<description>
<p>
Returns the number of rows in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="GetVGap">
<function type="int" name="GetVGap">
<parameters></parameters>
<description>
<p>
Returns the vertical gap (in pixels) between the cells in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="SetCols">
<function type="void" name="SetCols">
<parameters>
<parameter type="int " name="cols"></parameter>
</parameters>
<description>
<p>
Sets the number of columns in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="SetHGap">
<function type="void" name="SetHGap">
<parameters>
<parameter type="int " name="gap"></parameter>
</parameters>
<description>
<p>
Sets the horizontal gap (in pixels) between cells in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="SetRows">
<function type="void" name="SetRows">
<parameters>
<parameter type="int " name="rows"></parameter>
</parameters>
<description>
<p>
Sets the number of rows in the sizer.
</p>
</description>
</function>
</member>
<member class="wxGridSizer" name="SetVGap">
<function type="void" name="SetVGap">
<parameters>
<parameter type="int " name="gap"></parameter>
</parameters>
<description>
<p>
Sets the vertical gap (in pixels) between the cells in the sizer.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxGridTableBase" annotation="abstract">
<description>
<p class="classdesc">
Grid table classes.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/grid.h"/>
</includes>
<members>
<member class="wxGridTableBase" name="wxGridTableBase">
<function type="" name="wxGridTableBase">
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="~wxGridTableBase">
<function type="" name="~wxGridTableBase">
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetNumberRows">
<function type="int" name="GetNumberRows">
<description>
<p>
You must override these functions in a derived table class.
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="GetNumberCols">
<function type="int" name="GetNumberCols">
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="IsEmptyCell">
<function type="bool" name="IsEmptyCell">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetValue">
<function type="wxString" name="GetValue">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetValue">
<function type="void" name="SetValue">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="value"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetTypeName">
<function type="wxString" name="GetTypeName">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Data type determination and value access.
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="CanGetValueAs">
<function type="bool" name="CanGetValueAs">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="typeName"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="CanSetValueAs">
<function type="bool" name="CanSetValueAs">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="typeName"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetValueAsLong">
<function type="long" name="GetValueAsLong">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetValueAsDouble">
<function type="double" name="GetValueAsDouble">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetValueAsBool">
<function type="bool" name="GetValueAsBool">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetValueAsLong">
<function type="void" name="SetValueAsLong">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="long " name="value"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetValueAsDouble">
<function type="void" name="SetValueAsDouble">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="double " name="value"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetValueAsBool">
<function type="void" name="SetValueAsBool">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="bool " name="value"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetValueAsCustom">
<function type="void&#42;" name="GetValueAsCustom">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="typeName"></parameter>
</parameters>
<description>
<p>
For user defined types
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="SetValueAsCustom">
<function type="void" name="SetValueAsCustom">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="typeName"></parameter>
<parameter type="void&#42; " name="value"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetView">
<function type="void" name="SetView">
<parameters>
<parameter type="wxGrid&#42; " name="grid"></parameter>
</parameters>
<description>
<p>
Overriding these is optional
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="GetView">
<function type="wxGrid &#42;" name="GetView" suffix="const">
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="Clear">
<function type="void" name="Clear">
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="InsertRows">
<function type="bool" name="InsertRows">
<parameters>
<parameter type="size_t " name="pos" value="0"></parameter>
<parameter type="size_t " name="numRows" value="1"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="AppendRows">
<function type="bool" name="AppendRows">
<parameters>
<parameter type="size_t " name="numRows" value="1"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="DeleteRows">
<function type="bool" name="DeleteRows">
<parameters>
<parameter type="size_t " name="pos" value="0"></parameter>
<parameter type="size_t " name="numRows" value="1"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="InsertCols">
<function type="bool" name="InsertCols">
<parameters>
<parameter type="size_t " name="pos" value="0"></parameter>
<parameter type="size_t " name="numCols" value="1"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="AppendCols">
<function type="bool" name="AppendCols">
<parameters>
<parameter type="size_t " name="numCols" value="1"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="DeleteCols">
<function type="bool" name="DeleteCols">
<parameters>
<parameter type="size_t " name="pos" value="0"></parameter>
<parameter type="size_t " name="numCols" value="1"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetRowLabelValue">
<function type="wxString" name="GetRowLabelValue">
<parameters>
<parameter type="int " name="row"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetColLabelValue">
<function type="wxString" name="GetColLabelValue">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetRowLabelValue">
<function type="void" name="SetRowLabelValue">
<parameters>
<parameter type="int " name="WXUNUSED(row)"></parameter>
<parameter type="const " name="wxString&amp;"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetColLabelValue">
<function type="void" name="SetColLabelValue">
<parameters>
<parameter type="int " name="WXUNUSED(col)"></parameter>
<parameter type="const " name="wxString&amp;"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetAttrProvider">
<function type="void" name="SetAttrProvider">
<parameters>
<parameter type="wxGridCellAttrProvider&#42; " name="attrProvider"></parameter>
</parameters>
<description>
<p>
Attribute handling give us the attr provider to use - we take ownership of the
pointer
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="GetAttrProvider">
<function type="wxGridCellAttrProvider&#42;" name="GetAttrProvider" suffix="const">
<description>
<p>
get the currently used attr provider (may be NULL)
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="CanHaveAttributes">
<function type="bool" name="CanHaveAttributes">
<description>
<p>
Does this table allow attributes? Default implementation creates a
wxGridCellAttrProvider if necessary.
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="UpdateAttrRows">
<function type="void" name="UpdateAttrRows">
<parameters>
<parameter type="size_t " name="pos"></parameter>
<parameter type="int " name="numRows"></parameter>
</parameters>
<description>
<p>
change row/col number in attribute if needed
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="UpdateAttrCols">
<function type="void" name="UpdateAttrCols">
<parameters>
<parameter type="size_t " name="pos"></parameter>
<parameter type="int " name="numCols"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="GetAttr">
<function type="wxGridCellAttr&#42;" name="GetAttr">
<parameters>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
by default forwarded to wxGridCellAttrProvider if any. May be overridden to
handle attributes directly in the table.
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="SetAttr">
<function type="void" name="SetAttr">
<parameters>
<parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
<parameter type="int " name="row"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
these functions take ownership of the pointer
</p>
</description>
</function>
</member>
<member class="wxGridTableBase" name="SetRowAttr">
<function type="void" name="SetRowAttr">
<parameters>
<parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
<parameter type="int " name="row"></parameter>
</parameters>
<description></description>
</function>
</member>
<member class="wxGridTableBase" name="SetColAttr">
<function type="void" name="SetColAttr">
<parameters>
<parameter type="wxGridCellAttr&#42; " name="attr"></parameter>
<parameter type="int " name="col"></parameter>
</parameters>
<description></description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxHTTP">
<description></description>
<category>Networking classes</category>
<shortdesc>HTTP protocol class</shortdesc>
<parents>
<ref type="help" target="wxProtocol">wxProtocol</ref>
</parents>
<includes>
<header name="wx/protocol/http.h"/>
</includes>
<seealso>
<ref target="wxsocketbase">wxSocketBase</ref>
<ref target="wxurl">wxURL</ref>
</seealso>
<members>
<member class="wxHTTP" name="GetResponse">
<function type="int" name="GetResponse" suffix="const">
<description>
<p>
Returns the HTTP response code returned by the server. Please refer to the RFC
2616 for the list of the responses.
</p>
</description>
</function>
</member>
<member class="wxHTTP" name="GetInputStream">
<function type="wxInputStream &#42;" name="GetInputStream">
<parameters>
<parameter type="const wxString&amp; " name="path"></parameter>
</parameters>
<seealso>
<ref target="wxinputstream">wxInputStream</ref>
</seealso>
<note>

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

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

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

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

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

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

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

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

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

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

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

    // declare a hash map with string keys and int values
    WX_DECLARE_STRING_HASH_MAP( int, MyHash5 );
    // same, with int keys and MyClass&#42; values
    WX_DECLARE_HASH_MAP( int, MyClass&#42;, wxIntegerHash, wxIntegerEqual, MyHash1 );
    // same, with wxString keys and int values
    WX_DECLARE_STRING_HASH_MAP( int, MyHash3 );
    // same, with wxString keys and values
    WX_DECLARE_STRING_HASH_MAP( wxString, MyHash2 );

    MyHash1 h1;
    MyHash2 h2;

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

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

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

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

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

    MySet1 h1;
    MySet2 h1;
    MySet3 h3;

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

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

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

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

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

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

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

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

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

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

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

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

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

<table>
<tr>
<td>wxHashSet::key_type</td>
<td>Type of the hash keys</td>
</tr>
<tr>
<td>wxHashSet::mapped_type</td>
<td>Type of hash keys</td>
</tr>
<tr>
<td>wxHashSet::value_type</td>
<td>Type of hash keys</td>
</tr>
<tr>
<td>wxHashSet::iterator</td>
<td>Used to enumerate all the elements in a hash
set; it is similar to a <tt>value_type&#42;</tt>
</td>
</tr>
<tr>
<td>wxHashSet::const_iterator</td>
<td>Used to enumerate all the elements
in a constant hash set; it is similar to a <tt>const value_type&#42;</tt>
</td>
</tr>
<tr>
<td>wxHashSet::size_type</td>
<td>Used for sizes</td>
</tr>
<tr>
<td>wxHashSet::Insert_Result</td>
<td>The return value for
<ref target="wxhashsetinsert">insert()</ref>
</td>
</tr>
</table>
</types>
<iterators>

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

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

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

  ....

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

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









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

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

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

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

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

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

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

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

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

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

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

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

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

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

        m_Parser -&gt; PushTagHandler(this, &quot;PARAM&quot;);
        ParseInner(tag);
        m_Parser -&gt; PopTagHandler();

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

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

</note>
<parents>
<ref type="help" target="wxHtmlParser">wxHtmlParser</ref>
</parents>
<includes>
<header name="wx/html/winpars.h"/>
</includes>
<seealso>
<ref target="handlers">Handlers overview</ref>
</seealso>
<members>
<member class="wxHtmlWinParser" name="wxHtmlWinParser">
<function type="" name="wxHtmlWinParser">
<description></description>
</function>
<function type="" name="wxHtmlWinParser">
<parameters>
<parameter type="wxHtmlWindow &#42;" name="wnd"></parameter>
</parameters>
<description>
<p>
Constructor. Don't use the default one, use constructor with
<i>wnd</i>
parameter (
<i>wnd</i>
is pointer to associated
<ref target="wxhtmlwindow">wxHtmlWindow</ref>
)
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="AddModule">
<function type="static void" name="AddModule">
<parameters>
<parameter type="wxHtmlTagsModule &#42;" name="module"></parameter>
</parameters>
<description>
<p>
Adds
<ref target="handlers">module</ref>
to the list of wxHtmlWinParser tag handler.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="CloseContainer">
<function type="wxHtmlContainerCell&#42;" name="CloseContainer">
<description>
<p>
Closes the container, sets actual container to the parent one and returns
pointer to it (see
<ref target="cells">Overview</ref>
).
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="CreateCurrentFont">
<function type="virtual wxFont&#42;" name="CreateCurrentFont">
<description>
<p>
Creates font based on current setting (see
<ref target="wxhtmlwinparsersetfontsize">SetFontSize</ref>
,
<ref target="wxhtmlwinparsersetfontbold">SetFontBold</ref>
,
<ref target="wxhtmlwinparsersetfontitalic">SetFontItalic</ref>
,
<ref target="wxhtmlwinparsersetfontfixed">SetFontFixed</ref>
,
<ref target="wxhtmlwinparsersetfontunderlined">SetFontUnderlined</ref>
) and returns pointer to it. If the font was already created only a pointer is
returned.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetActualColor">
<function type="const wxColour&amp;" name="GetActualColor" suffix="const">
<description>
<p>
Returns actual text colour.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetAlign">
<function type="int" name="GetAlign" suffix="const">
<description>
<p>
Returns default horizontal alignment.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetCharHeight">
<function type="int" name="GetCharHeight" suffix="const">
<description>
<p>
Returns (average) char height in standard font. It is used as DC-independent
metrics.
</p>
<p>
<b>Note:</b>
This function doesn't return the
<i>actual</i>
height. If you want to know the height of the current font, call
<tt>GetDC -&gt; GetCharHeight()</tt>
.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetCharWidth">
<function type="int" name="GetCharWidth" suffix="const">
<description>
<p>
Returns average char width in standard font. It is used as DC-independent
metrics.
</p>
<p>
<b>Note:</b>
This function doesn't return the
<i>actual</i>
width. If you want to know the height of the current font, call
<tt>GetDC -&gt; GetCharWidth()</tt>
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetContainer">
<function type="wxHtmlContainerCell&#42;" name="GetContainer" suffix="const">
<description>
<p>
Returns pointer to the currently opened container (see
<ref target="cells">Overview</ref>
). Common use:
</p>
<pre>
m_WParser -&gt; GetContainer() -&gt; InsertCell(new ...);
</pre>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetDC">
<function type="wxDC&#42;" name="GetDC">
<description>
<p>
Returns pointer to the DC used during parsing.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetEncodingConverter">
<function type="wxEncodingConverter &#42;" name="GetEncodingConverter" suffix="const">
<description>
<p>
Returns
<ref target="wxencodingconverter">wxEncodingConverter</ref>
class used to do conversion between
<ref target="wxhtmlwinparsergetinputencoding">input encoding</ref>
and
<ref target="wxhtmlwinparsergetoutputencoding">output encoding</ref>
.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetFontBold">
<function type="int" name="GetFontBold" suffix="const">
<description>
<p>
Returns true if actual font is bold, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetFontFace">
<function type="wxString" name="GetFontFace" suffix="const">
<description>
<p>
Returns actual font face name.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetFontFixed">
<function type="int" name="GetFontFixed" suffix="const">
<description>
<p>
Returns true if actual font is fixed face, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetFontItalic">
<function type="int" name="GetFontItalic" suffix="const">
<description>
<p>
Returns true if actual font is italic, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetFontSize">
<function type="int" name="GetFontSize" suffix="const">
<description>
<p>
Returns actual font size (HTML size varies from -2 to +4)
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetFontUnderlined">
<function type="int" name="GetFontUnderlined" suffix="const">
<description>
<p>
Returns true if actual font is underlined, false otherwise.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetInputEncoding">
<function type="wxFontEncoding" name="GetInputEncoding" suffix="const">
<description>
<p>
Returns input encoding.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetLink">
<function type="const wxHtmlLinkInfo&amp;" name="GetLink" suffix="const">
<description>
<p>
Returns actual hypertext link. (This value has a non-empty
<ref target="wxhtmllinkinfogethref">Href</ref>
string if the parser is between
<tt>&lt;A&gt;</tt>
and
<tt>&lt;/A&gt;</tt>
tags, wxEmptyString otherwise.)
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetLinkColor">
<function type="const wxColour&amp;" name="GetLinkColor" suffix="const">
<description>
<p>
Returns the colour of hypertext link text.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetOutputEncoding">
<function type="wxFontEncoding" name="GetOutputEncoding" suffix="const">
<description>
<p>
Returns output encoding, i.e. closest match to document's input encoding that is
supported by operating system.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="GetWindow">
<function type="wxHtmlWindow&#42;" name="GetWindow">
<description>
<p>
Returns associated window (wxHtmlWindow). This may be NULL! (You should always
test if it is non-NULL. For example
<tt>TITLE</tt>
handler sets window title only if some window is associated, otherwise it does
nothing)
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="OpenContainer">
<function type="wxHtmlContainerCell&#42;" name="OpenContainer">
<description>
<p>
Opens new container and returns pointer to it (see
<ref target="cells">Overview</ref>
).
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetActualColor">
<function type="void" name="SetActualColor">
<parameters>
<parameter type="const wxColour&amp; " name="clr"></parameter>
</parameters>
<description>
<p>
Sets actual text colour. Note: this DOESN'T change the colour! You must create
<ref target="wxhtmlcolourcell">wxHtmlColourCell</ref>
yourself.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetAlign">
<function type="void" name="SetAlign">
<parameters>
<parameter type="int " name="a"></parameter>
</parameters>
<description>
<p>
Sets default horizontal alignment (see
<ref target="wxhtmlcontainercellsetalignhor">wxHtmlContainerCell::SetAlignHor</ref>
.) Alignment of newly opened container is set to this value.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetContainer">
<function type="wxHtmlContainerCell&#42;" name="SetContainer">
<parameters>
<parameter type="wxHtmlContainerCell &#42;" name="c"></parameter>
</parameters>
<description>
<p>
Allows you to directly set opened container. This is not recommended - you
should use OpenContainer wherever possible.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetDC">
<function type="virtual void" name="SetDC">
<parameters>
<parameter type="wxDC &#42;" name="dc"></parameter>
<parameter type="double " name="pixel_scale" value="1.0"></parameter>
</parameters>
<description>
<p>
Sets the DC. This must be called before
<ref target="wxhtmlparserparse">Parse</ref>
!
<i>pixel_scale</i>
can be used when rendering to high-resolution DCs (e.g. printer) to adjust size
of pixel metrics. (Many dimensions in HTML are given in pixels -- e.g. image
sizes. 300x300 image would be only one inch wide on typical printer. With
pixel_scale = 3.0 it would be 3 inches.)
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFontBold">
<function type="void" name="SetFontBold">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Sets bold flag of actualfont.
<i>x</i>
is either true of false.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFontFace">
<function type="void" name="SetFontFace">
<parameters>
<parameter type="const wxString&amp; " name="face"></parameter>
</parameters>
<description>
<p>
Sets current font face to
<i>face</i>
. This affects either fixed size font or proportional, depending on context
(whether the parser is inside
<tt>&lt;TT&gt;</tt>
tag or not).
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFontFixed">
<function type="void" name="SetFontFixed">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Sets fixed face flag of actualfont.
<i>x</i>
is either true of false.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFontItalic">
<function type="void" name="SetFontItalic">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Sets italic flag of actualfont.
<i>x</i>
is either true of false.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFontSize">
<function type="void" name="SetFontSize">
<parameters>
<parameter type="int " name="s"></parameter>
</parameters>
<description>
<p>
Sets actual font size (HTML size varies from 1 to 7)
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFontUnderlined">
<function type="void" name="SetFontUnderlined">
<parameters>
<parameter type="int " name="x"></parameter>
</parameters>
<description>
<p>
Sets underlined flag of actualfont.
<i>x</i>
is either true of false.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetFonts">
<function type="void" name="SetFonts">
<parameters>
<parameter type="wxString " name="normal_face"></parameter>
<parameter type="wxString " name="fixed_face"></parameter>
<parameter type="const int &#42;" name="sizes" value="NULL"></parameter>
</parameters>
<description>
<p>
Sets fonts. See
<ref target="wxhtmlwindowsetfonts">wxHtmlWindow::SetFonts</ref>
for detailed description.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetInputEncoding">
<function type="void" name="SetInputEncoding">
<parameters>
<parameter type="wxFontEncoding " name="enc"></parameter>
</parameters>
<description>
<p>
Sets input encoding. The parser uses this information to build conversion tables
from document's encoding to some encoding supported by operating system.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetLink">
<function type="void" name="SetLink">
<parameters>
<parameter type="const wxHtmlLinkInfo&amp; " name="link"></parameter>
</parameters>
<description>
<p>
Sets actual hypertext link. Empty link is represented by
<ref target="wxhtmllinkinfo">wxHtmlLinkInfo</ref>
with
<i>Href</i>
equal to wxEmptyString.
</p>
</description>
</function>
</member>
<member class="wxHtmlWinParser" name="SetLinkColor">
<function type="void" name="SetLinkColor">
<parameters>
<parameter type="const wxColour&amp; " name="clr"></parameter>
</parameters>
<description>
<p>
Sets colour of hypertext link.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxHtmlWinTagHandler">
<description>
<p class="classdesc">
This is basically wxHtmlTagHandler except that it is extended with protected
member m_WParser pointing to the wxHtmlWinParser object (value of this member is
identical to wxHtmlParser's m_Parser).
</p>
</description>
<category>HTML classes</category>
<shortdesc>HTML tag handler, pluginable into wxHtmlWinParser</shortdesc>
<parents>
<ref type="help" target="wxHtmlTagHandler">wxHtmlTagHandler</ref>
</parents>
<includes>
<header name="wx/html/winpars.h"/>
</includes>
<members>
<member class="wxHtmlWinTagHandler" name="m_WParser"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxHtmlWindow">
<description>
<p class="classdesc">
wxHtmlWindow is probably the only class you will directly use unless you want to
do something special (like adding new tag handlers or MIME filters).
</p>
<p class="classdesc">
The purpose of this class is to display HTML pages (either local file or
downloaded via HTTP protocol) in a window. The width of the window is constant -
given in the constructor - and virtual height is changed dynamically depending
on page size. Once the window is created you can set its content by calling
<ref target="wxhtmlwindowsetpage">SetPage(text)</ref>
,
<ref target="wxhtmlwindowloadpage">LoadPage(filename)</ref>
or
<ref target="wxhtmlwindowloadfile">LoadFile</ref>
.
</p>
</description>
<category>HTML classes</category>
<shortdesc>HTML window class</shortdesc>
<note>

wxHtmlWindow uses the <ref target="wximage">wxImage</ref> class for displaying images.
Don't forget to initialize all image formats you need before loading any page!
(See <ref target="wxinitallimagehandlers">wxInitAllImageHandlers</ref> and
<ref target="wximageaddhandler">wxImage::AddHandler</ref>.)

</note>
<parents>
<ref type="help" target="wxScrolledWindow">wxScrolledWindow</ref>
</parents>
<includes>
<header name="wx/html/htmlwin.h"/>
</includes>
<windowstyles>
<style name="wxHW_SCROLLBAR_NEVER">
wxHW_SCROLLBAR_NEVER
</style>
<style name="wxHW_SCROLLBAR_AUTO">
wxHW_SCROLLBAR_AUTO
</style>
<style name="wxHW_NO_SELECTION">
wxHW_NO_SELECTION
</style>
</windowstyles>
<members>
<member class="wxHtmlWindow" name="wxHtmlWindow">
<function type="" name="wxHtmlWindow">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxHtmlWindow">
<parameters>
<parameter type="wxWindow &#42;" name="parent"></parameter>
<parameter type="wxWindowID " name="id" value="-1"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxHW_DEFAULT_STYLE">
Window style. See
<ref target="wxhtmlwindow">wxHtmlWindow</ref>
.
</parameter>
<parameter type="const wxString&amp; " name="name" value="&quot;htmlWindow&quot;"></parameter>
</parameters>
<description>
<p>
Constructor. The parameters are the same as for the
<ref target="wxscrolledwindow">wxScrolledWindow</ref>
constructor.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="AddFilter">
<function type="static void" name="AddFilter">
<parameters>
<parameter type="wxHtmlFilter &#42;" name="filter"></parameter>
</parameters>
<description>
<p>
Adds
<ref target="filters">input filter</ref>
to the static list of available filters. These filters are present by default:
</p>
<p>
<ul>
<li><tt>text/html</tt>
MIME type</li>
<li><tt>image/&#42;</tt>
MIME types</li>
<li>Plain Text filter (this filter is used if no other filter matches)</li>
</ul>
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="AppendToPage">
<function type="bool" name="AppendToPage">
<parameters>
<parameter type="const wxString&amp; " name="source">
HTML code fragment
</parameter>
</parameters>
<returnvalue>
false if an error occurred, true otherwise.
</returnvalue>
<description>
<p>
Appends HTML fragment to currently displayed text and refreshes the window.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="GetInternalRepresentation">
<function type="wxHtmlContainerCell&#42;" name="GetInternalRepresentation" suffix="const">
<description>
<p>
Returns pointer to the top-level container.
</p>
<p>
See also
<ref target="cells">Cells Overview</ref>
,
<ref target="printing">Printing Overview</ref>
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="GetOpenedAnchor">
<function type="wxString" name="GetOpenedAnchor">
<description>
<p>
Returns anchor within currently opened page (see
<ref target="wxhtmlwindowgetopenedpage">GetOpenedPage</ref>
). If no page is opened or if the displayed page wasn't produced by call to
LoadPage, empty string is returned.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="GetOpenedPage">
<function type="wxString" name="GetOpenedPage">
<description>
<p>
Returns full location of the opened page. If no page is opened or if the
displayed page wasn't produced by call to LoadPage, empty string is returned.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="GetOpenedPageTitle">
<function type="wxString" name="GetOpenedPageTitle">
<description>
<p>
Returns title of the opened page or wxEmptyString if current page does not
contain
<tt>&lt;TITLE&gt;</tt>
tag.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="GetRelatedFrame">
<function type="wxFrame&#42;" name="GetRelatedFrame" suffix="const">
<description>
<p>
Returns the related frame.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="HistoryBack">
<function type="bool" name="HistoryBack">
<description>
<p>
Moves back to the previous page. (each page displayed using
<ref target="wxhtmlwindowloadpage">LoadPage</ref>
is stored in history list.)
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="HistoryCanBack">
<function type="bool" name="HistoryCanBack">
<description>
<p>
Returns true if it is possible to go back in the history (i.e. HistoryBack()
won't fail).
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="HistoryCanForward">
<function type="bool" name="HistoryCanForward">
<description>
<p>
Returns true if it is possible to go forward in the history (i.e. HistoryBack()
won't fail).
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="HistoryClear">
<function type="void" name="HistoryClear">
<description>
<p>
Clears history.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="HistoryForward">
<function type="bool" name="HistoryForward">
<description>
<p>
Moves to next page in history.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="LoadFile">
<function type="virtual bool" name="LoadFile">
<parameters>
<parameter type="const wxFileName&amp; " name="filename"></parameter>
</parameters>
<seealso>
<ref target="wxhtmlwindowloadpage">LoadPage</ref>
</seealso>
<returnvalue>
false if an error occurred, true otherwise
</returnvalue>
<description>
<p>
Loads HTML page from file and displays it.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="LoadPage">
<function type="virtual bool" name="LoadPage">
<parameters>
<parameter type="const wxString&amp; " name="location">
The address of document. See
<ref target="wxfilesystem">wxFileSystem</ref>
for details on address format and behaviour of &quot;opener&quot;.
</parameter>
</parameters>
<seealso>
<ref target="wxhtmlwindowloadfile">LoadFile</ref>
</seealso>
<returnvalue>
false if an error occurred, true otherwise
</returnvalue>
<description>
<p>
Unlike SetPage this function first loads HTML page from
<i>location</i>
and then displays it. See example:
</p>
<pre>
htmlwin-&gt;LoadPage(&quot;help/myproject/index.htm&quot;);
</pre>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="OnCellClicked">
<function type="virtual void" name="OnCellClicked">
<parameters>
<parameter type="wxHtmlCell &#42;" name="cell">
The cell inside which the mouse was clicked, always a simple (i.e. non
container) cell
</parameter>
<parameter type="wxCoord " name="x"></parameter>
<parameter type="wxCoord " name="y"></parameter>
<parameter type="const wxMouseEvent&amp; " name="event">
The mouse event containing other information about the click
</parameter>
</parameters>
<description>
<p>
This method is called when a mouse button is clicked inside wxHtmlWindow. The
default behaviour is to call
<ref target="wxhtmlwindowonlinkclicked">OnLinkClicked</ref>
if the cell contains a hypertext link.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="OnCellMouseHover">
<function type="virtual void" name="OnCellMouseHover">
<parameters>
<parameter type="wxHtmlCell &#42;" name="cell">
The cell inside which the mouse is currently, always a simple (i.e. non
container) cell
</parameter>
<parameter type="wxCoord " name="x"></parameter>
<parameter type="wxCoord " name="y"></parameter>
</parameters>
<description>
<p>
This method is called when a mouse moves over an HTML cell.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="OnLinkClicked">
<function type="virtual void" name="OnLinkClicked">
<parameters>
<parameter type="const wxHtmlLinkInfo&amp; " name="link"></parameter>
</parameters>
<description>
<p>
Called when user clicks on hypertext link. Default behaviour is to call
<ref target="wxhtmlwindowloadpage">LoadPage</ref>
and do nothing else.
</p>
<p>
Also see
<ref target="wxhtmllinkinfo">wxHtmlLinkInfo</ref>
.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="OnOpeningURL">
<function type="virtual wxHtmlOpeningStatus" name="OnOpeningURL">
<parameters>
<parameter type="wxHtmlURLType " name="type"></parameter>
<parameter type="const wxString&amp; " name="url">
URL being opened.
</parameter>
<parameter type="wxString &#42;" name="redirect">
Pointer to wxString variable that must be filled with an URL if OnOpeningURL
returns
<tt>wxHTML_REDIRECT</tt>
.
</parameter>
</parameters>
<returnvalue>
<table>
<tr>
<td>
<b>wxHTML_OPEN</b>
</td>
<td>Open the URL.</td>
</tr>
<tr>
<td>
<b>wxHTML_BLOCK</b>
</td>
<td>Deny access to the URL, <ref target="wxhtmlparseropenurl">wxHtmlParser::OpenURL</ref> will return NULL.</td>
</tr>
<tr>
<td>
<b>wxHTML_REDIRECT</b>
</td>
<td>Don't open <i>url</i>, redirect to another
URL. OnOpeningURL must fill <i>&#42;redirect</i> with the new URL. OnOpeningURL will
be called again on returned URL.</td>
</tr>
</table>
</returnvalue>
<description>
<p>
Called when an URL is being opened (either when the user clicks on a link or an
image is loaded). The URL will be opened only if OnOpeningURL returns
<tt>wxHTML_OPEN</tt>
. This method is called by
<ref target="wxhtmlparseropenurl">wxHtmlParser::OpenURL</ref>
. You can override OnOpeningURL to selectively block some URLs (e.g. for
security reasons) or to redirect them elsewhere. Default behaviour is to always
return
<tt>wxHTML_OPEN</tt>
.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="OnSetTitle">
<function type="virtual void" name="OnSetTitle">
<parameters>
<parameter type="const wxString&amp; " name="title"></parameter>
</parameters>
<description>
<p>
Called on parsing
<tt>&lt;TITLE&gt;</tt>
tag.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="ReadCustomization">
<function type="virtual void" name="ReadCustomization">
<parameters>
<parameter type="wxConfigBase &#42;" name="cfg">
wxConfig from which you want to read the configuration.
</parameter>
<parameter type="wxString " name="path" value="wxEmptyString">
Optional path in config tree. If not given current path is used.
</parameter>
</parameters>
<description>
<p>
This reads custom settings from wxConfig. It uses the path 'path' if given,
otherwise it saves info into currently selected path. The values are stored in
sub-path
<tt>wxHtmlWindow</tt>
</p>
<p>
Read values: all things set by SetFonts, SetBorders.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SelectAll">
<function type="void" name="SelectAll">
<seealso>
<ref target="wxhtmlwindowselectline">SelectLine</ref>
,
<ref target="wxhtmlwindowselectword">SelectWord</ref>
</seealso>
<description>
<p>
Selects all text in the window.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SelectionToText">
<function type="wxString" name="SelectionToText">
<description>
<p>
Returns current selection as plain text. Returns empty string if no text is
currently selected.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SelectLine">
<function type="void" name="SelectLine">
<parameters>
<parameter type="const wxPoint&amp; " name="pos"></parameter>
</parameters>
<seealso>
<ref target="wxhtmlwindowselectall">SelectAll</ref>
,
<ref target="wxhtmlwindowselectword">SelectWord</ref>
</seealso>
<description>
<p>
Selects the line of text that
<i>pos</i>
points at. Note that
<i>pos</i>
is relative to the top of displayed page, not to window's origin, use
<ref target="wxscrolledwindowcalcunscrolledposition">CalcUnscrolledPosition</ref>
to convert physical coordinate.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SelectWord">
<function type="void" name="SelectWord">
<parameters>
<parameter type="const wxPoint&amp; " name="pos"></parameter>
</parameters>
<seealso>
<ref target="wxhtmlwindowselectall">SelectAll</ref>
,
<ref target="wxhtmlwindowselectline">SelectLine</ref>
</seealso>
<description>
<p>
Selects the word at position
<i>pos</i>
. Note that
<i>pos</i>
is relative to the top of displayed page, not to window's origin, use
<ref target="wxscrolledwindowcalcunscrolledposition">CalcUnscrolledPosition</ref>
to convert physical coordinate.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SetBorders">
<function type="void" name="SetBorders">
<parameters>
<parameter type="int " name="b">
indentation from borders in pixels
</parameter>
</parameters>
<description>
<p>
This function sets the space between border of window and HTML contents. See
image:
</p>
<p>
\helponly{\image{}{border.bmp}}
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SetFonts">
<function type="void" name="SetFonts">
<parameters>
<parameter type="wxString " name="normal_face">
This is face name for normal (i.e. non-fixed) font. It can be either empty
string (then the default face is chosen) or platform-specific face name.
Examples are &quot;helvetica&quot; under Unix or &quot;Times New Roman&quot;
under Windows.
</parameter>
<parameter type="wxString " name="fixed_face">
The same thing for fixed face ( &lt;TT&gt;..&lt;/TT&gt; )
</parameter>
<parameter type="const int &#42;" name="sizes" value="NULL">
This is an array of 7 items of
<i>int</i>
type. The values represent size of font with HTML size from -2 to +4 ( &lt;FONT
SIZE=-2&gt; to &lt;FONT SIZE=+4&gt; ). Default sizes are used if
<i>sizes</i>
is NULL.
</parameter>
</parameters>
<description>
<p>
This function sets font sizes and faces.
</p>
<p>
\wxheading{Defaults}
</p>
<p>
Default font sizes are defined by constants wxHTML_FONT_SIZE_1,
wxHTML_FONT_SIZE_2, ..., wxHTML_FONT_SIZE_7. Note that they differ among
platforms. Default face names are empty strings.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SetPage">
<function type="bool" name="SetPage">
<parameters>
<parameter type="const wxString&amp; " name="source">
The HTML document source to be displayed.
</parameter>
</parameters>
<returnvalue>
false if an error occurred, true otherwise.
</returnvalue>
<description>
<p>
Sets HTML page and display it. This won't
<b>load</b>
the page!! It will display the
<i>source</i>
. See example:
</p>
<pre>
htmlwin -&gt; SetPage(&quot;&lt;html&gt;&lt;body&gt;Hello, world!&lt;/body&gt;&lt;/html&gt;&quot;);
</pre>
<p>
If you want to load a document from some location use
<ref target="wxhtmlwindowloadpage">LoadPage</ref>
instead.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SetRelatedFrame">
<function type="void" name="SetRelatedFrame">
<parameters>
<parameter type="wxFrame&#42; " name="frame"></parameter>
<parameter type="const wxString&amp; " name="format"></parameter>
</parameters>
<description>
<p>
Sets the frame in which page title will be displayed.
<i>format</i>
is format of frame title, e.g. &quot;HtmlHelp : %s&quot;. It must contain
exactly one %s. This %s is substituted with HTML page title.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="SetRelatedStatusBar">
<function type="void" name="SetRelatedStatusBar">
<parameters>
<parameter type="int " name="bar">
statusbar slot number (0..n)
</parameter>
</parameters>
<description>
<p>
<b>After</b>
calling
<ref target="wxhtmlwindowsetrelatedframe">SetRelatedFrame</ref>
, this sets statusbar slot where messages will be displayed. (Default is -1 = no
messages.)
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="ToText">
<function type="wxString" name="ToText">
<description>
<p>
Returns content of currently displayed page as plain text.
</p>
</description>
</function>
</member>
<member class="wxHtmlWindow" name="WriteCustomization">
<function type="virtual void" name="WriteCustomization">
<parameters>
<parameter type="wxConfigBase &#42;" name="cfg">
wxConfig to which you want to save the configuration.
</parameter>
<parameter type="wxString " name="path" value="wxEmptyString">
Optional path in config tree. If not given, the current path is used.
</parameter>
</parameters>
<description>
<p>
Saves custom settings into wxConfig. It uses the path 'path' if given, otherwise
it saves info into currently selected path. Regardless of whether the path is
given or not, the function creates sub-path
<tt>wxHtmlWindow</tt>
.
</p>
<p>
Saved values: all things set by SetFonts, SetBorders.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxIPV4address">
<description></description>
<category>Networking classes</category>
<shortdesc>Represents an Internet address</shortdesc>
<parents>
<ref type="help" target="wxIPaddress">wxIPaddress</ref>
</parents>
<includes>
<header name="wx/socket.h"/>
</includes>
<members>
<member class="wxIPV4address" name="Hostname">
<function type="bool" name="Hostname">
<parameters>
<parameter type="const wxString&amp; " name="hostname"></parameter>
</parameters>
<returnvalue>
Returns true on success, false if something goes wrong (invalid hostname or
invalid IP address).
</returnvalue>
<description>
<p>
Set the address to
<i>hostname</i>
, which can be a host name or an IP-style address in dot notation (a.b.c.d)
</p>
</description>
</function>
<function type="wxString" name="Hostname">
<description>
<p>
Returns the hostname which matches the IP address.
</p>
</description>
</function>
</member>
<member class="wxIPV4address" name="IPAddress">
<function type="wxString" name="IPAddress">
<description>
<p>
Returns a wxString containing the IP address in dot quad (127.0.0.1) format.
</p>
</description>
</function>
</member>
<member class="wxIPV4address" name="Service">
<function type="bool" name="Service">
<parameters>
<parameter type="const wxString&amp; " name="service"></parameter>
</parameters>
<returnvalue>
Returns true on success, false if something goes wrong (invalid service).
</returnvalue>
<description>
<p>
Set the port to that corresponding to the specified
<i>service</i>
.
</p>
</description>
</function>
<function type="bool" name="Service">
<parameters>
<parameter type="unsigned short " name="service"></parameter>
</parameters>
<returnvalue>
Returns true on success, false if something goes wrong (invalid service).
</returnvalue>
<description>
<p>
Set the port to that corresponding to the specified
<i>service</i>
.
</p>
</description>
</function>
<function type="unsigned short" name="Service">
<description>
<p>
Returns the current service.
</p>
</description>
</function>
</member>
<member class="wxIPV4address" name="AnyAddress">
<function type="bool" name="AnyAddress">
<returnvalue>
Returns true on success, false if something went wrong.
</returnvalue>
<description>
<p>
Set address to any of the addresses of the current machine. Whenever possible,
use this function instead of
<ref target="wxipv4addresslocalhost">wxIPV4address::LocalHost</ref>
, as this correctly handles multi-homed hosts and avoids other small problems.
Internally, this is the same as setting the IP address to
<b>INADDR_ANY</b>
.
</p>
</description>
</function>
</member>
<member class="wxIPV4address" name="LocalHost">
<function type="bool" name="LocalHost">
<returnvalue>
Returns true on success, false if something went wrong.
</returnvalue>
<description>
<p>
Set address to localhost (127.0.0.1). Whenever possible, use the
<ref target="wxipv4addressanyaddress">wxIPV4address::AnyAddress</ref>
, function instead of this one, as this will correctly handle multi-homed hosts
and avoid other small problems.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxIPaddress">
<description>
<p class="classdesc">
wxIPaddress is an abstract base class for all internet protocol address objects.
Currently, only
<ref target="wxipv4address">wxIPV4address</ref>
is implemented. An experimental implementation for IPV6, wxIPV6address, is being
developed.
</p>
</description>
<category>Networking classes</category>
<shortdesc>Represents an Internet address</shortdesc>
<parents>
<ref type="help" target="wxSockAddress">wxSockAddress</ref>
</parents>
<includes>
<header name="wx/socket.h"/>
</includes>
<members>
<member class="wxIPaddress" name="Hostname">
<function type="virtual bool" name="Hostname">
<parameters>
<parameter type="const wxString&amp; " name="hostname"></parameter>
</parameters>
<returnvalue>
Returns true on success, false if something goes wrong (invalid hostname or
invalid IP address).
</returnvalue>
<description>
<p>
Set the address to
<i>hostname</i>
, which can be a host name or an IP-style address in a format dependent on
implementation.
</p>
</description>
</function>
<function type="virtual wxString" name="Hostname">
<description>
<p>
Returns the hostname which matches the IP address.
</p>
</description>
</function>
</member>
<member class="wxIPaddress" name="IPAddress">
<function type="virtual wxString" name="IPAddress">
<description>
<p>
Returns a wxString containing the IP address.
</p>
</description>
</function>
</member>
<member class="wxIPaddress" name="Service">
<function type="virtual bool" name="Service">
<parameters>
<parameter type="const wxString&amp; " name="service"></parameter>
</parameters>
<returnvalue>
Returns true on success, false if something goes wrong (invalid service).
</returnvalue>
<description>
<p>
Set the port to that corresponding to the specified
<i>service</i>
.
</p>
</description>
</function>
<function type="virtual bool" name="Service">
<parameters>
<parameter type="unsigned short " name="service"></parameter>
</parameters>
<returnvalue>
Returns true on success, false if something goes wrong (invalid service).
</returnvalue>
<description>
<p>
Set the port to that corresponding to the specified
<i>service</i>
.
</p>
</description>
</function>
<function type="virtual unsigned short" name="Service">
<description>
<p>
Returns the current service.
</p>
</description>
</function>
</member>
<member class="wxIPaddress" name="AnyAddress">
<function type="virtual bool" name="AnyAddress">
<returnvalue>
Returns true on success, false if something went wrong.
</returnvalue>
<description>
<p>
Internally, this is the same as setting the IP address to
<b>INADDR_ANY</b>
.
</p>
<p>
On IPV4 implementations, 0.0.0.0
</p>
<p>
On IPV6 implementations, ::
</p>
</description>
</function>
</member>
<member class="wxIPaddress" name="LocalHost">
<function type="virtual bool" name="LocalHost">
<returnvalue>
Returns true on success, false if something went wrong.
</returnvalue>
<description>
<p>
Set address to localhost.
</p>
<p>
On IPV4 implementations, 127.0.0.1
</p>
<p>
On IPV6 implementations, ::1
</p>
</description>
</function>
</member>
<member class="wxIPaddress" name="IsLocalHost">
<function type="virtual bool" name="IsLocalHost">
<returnvalue>
Returns true if address is localhost, false if internet address.
</returnvalue>
<description>
<p>
Determines if current address is set to localhost.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxIcon">
<description>
<p class="classdesc">
An icon is a small rectangular bitmap usually used for denoting a minimized
application. It differs from a wxBitmap in always having a mask associated with
it for transparent drawing. On some platforms, icons and bitmaps are implemented
identically, since there is no real distinction between a wxBitmap with a mask
and an icon; and there is no specific icon format on some platforms (X-based
applications usually standardize on XPMs for small bitmaps and icons). However,
some platforms (such as Windows) make the distinction, so a separate class is
provided.
</p>
</description>
<category>Graphics device interface</category>
<shortdesc>A small, transparent bitmap for assigning to frames and drawing on device contexts</shortdesc>
<remarks>
<p>
It is usually desirable to associate a pertinent icon with a frame. Icons can
also be used for other purposes, for example with
<ref target="wxtreectrl">wxTreeCtrl</ref>
and
<ref target="wxlistctrl">wxListCtrl</ref>
.
</p>
<p>
Icons have different formats on different platforms. Therefore, separate icons
will usually be created for the different environments. Platform-specific
methods for creating a
<b>wxIcon</b>
structure are catered for, and this is an occasion where conditional compilation
will probably be required.
</p>
<p>
Note that a new icon must be created for every time the icon is to be used for a
new window. In Windows, the icon will not be reloaded if it has already been
used. An icon allocated to a frame will be deleted when the frame is deleted.
</p>
<p>
For more information please see
<ref target="wxbitmapoverview">Bitmap and icon overview</ref>
.
</p>
</remarks>
<parents>
<ref type="help" target="wxBitmap">wxBitmap</ref>
<ref type="help" target="wxGDIObject">wxGDIObject</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/icon.h"/>
</includes>
<predefs>

Objects:

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

...

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

// Equivalent to:

#if defined(__WXGTK__) || defined(__WXMOTIF__)
wxIcon icon(mondrian_xpm);
#endif

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

\wxheading{Return value}

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

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

enum wxLayoutAlignment {
    wxLAYOUT_NONE,
    wxLAYOUT_TOP,
    wxLAYOUT_LEFT,
    wxLAYOUT_RIGHT,
    wxLAYOUT_BOTTOM,
};
</pre>
</types>
<seealso>
<ref target="wxsashevent">wxSashEvent</ref>
<ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>
<ref target="eventhandlingoverview">Event handling overview</ref>
<ref target="wxcalculatelayoutevent">wxCalculateLayoutEvent</ref>
,
<ref target="wxquerylayoutinfoevent">wxQueryLayoutInfoEvent</ref>
,
<ref target="wxsashlayoutwindow">wxSashLayoutWindow</ref>
,
<ref target="wxsashwindow">wxSashWindow</ref>
</seealso>
<members>
<member class="wxLayoutAlgorithm" name="wxLayoutAlgorithm">
<function type="" name="wxLayoutAlgorithm">
<description>
<p>
Default constructor.
</p>
</description>
</function>
</member>
<member class="wxLayoutAlgorithm" name="~wxLayoutAlgorithm">
<function type="" name="~wxLayoutAlgorithm">
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxLayoutAlgorithm" name="LayoutFrame">
<function type="bool" name="LayoutFrame" suffix="const">
<parameters>
<parameter type="wxFrame&#42; " name="frame"></parameter>
<parameter type="wxWindow&#42; " name="mainWindow" value="NULL"></parameter>
</parameters>
<description>
<p>
Lays out the children of a normal frame.
<i>mainWindow</i>
is set to occupy the remaining space.
</p>
<p>
This function simply calls
<ref target="wxlayoutalgorithmlayoutwindow">wxLayoutAlgorithm::LayoutWindow</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLayoutAlgorithm" name="LayoutMDIFrame">
<function type="bool" name="LayoutMDIFrame" suffix="const">
<parameters>
<parameter type="wxMDIParentFrame&#42; " name="frame"></parameter>
<parameter type="wxRect&#42; " name="rect" value="NULL"></parameter>
</parameters>
<description>
<p>
Lays out the children of an MDI parent frame. If
<i>rect</i>
is non-NULL, the given rectangle will be used as a starting point instead of the
frame's client area.
</p>
<p>
The MDI client window is set to occupy the remaining space.
</p>
</description>
</function>
</member>
<member class="wxLayoutAlgorithm" name="LayoutWindow">
<function type="bool" name="LayoutWindow" suffix="const">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindow&#42; " name="mainWindow" value="NULL"></parameter>
</parameters>
<description>
<p>
Lays out the children of a normal frame or other window.
</p>
<p>
<i>mainWindow</i>
is set to occupy the remaining space. If this is not specified, then the last
window that responds to a calculate layout event in query mode will get the
remaining space (that is, a non-query OnCalculateLayout event will not be sent
to this window and the window will be set to the remaining size).
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLayoutConstraints">
<description>
<p class="classdesc">
<b>Note:</b>
constraints are now deprecated and you should use
<ref target="sizeroverview">sizers</ref>
instead.
</p>
<p class="classdesc">
Objects of this class can be associated with a window to define its layout
constraints, with respect to siblings or its parent.
</p>
<p class="classdesc">
The class consists of the following eight constraints of class
wxIndividualLayoutConstraint, some or all of which should be accessed directly
to set the appropriate constraints.
</p>
<p class="classdesc">
<ul>
<li><b>left:</b>
represents the left hand edge of the window</li>
<li><b>right:</b>
represents the right hand edge of the window</li>
<li><b>top:</b>
represents the top edge of the window</li>
<li><b>bottom:</b>
represents the bottom edge of the window</li>
<li><b>width:</b>
represents the width of the window</li>
<li><b>height:</b>
represents the height of the window</li>
<li><b>centreX:</b>
represents the horizontal centre point of the window</li>
<li><b>centreY:</b>
represents the vertical centre point of the window</li>
</ul>
</p>
<p class="classdesc">
Most constraints are initially set to have the relationship wxUnconstrained,
which means that their values should be calculated by looking at known
constraints. The exceptions are
<i>width</i>
and
<i>height</i>
, which are set to wxAsIs to ensure that if the user does not specify a
constraint, the existing width and height will be used, to be compatible with
panel items which often have take a default size. If the constraint is wxAsIs,
the dimension will not be changed.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/layout.h"/>
</includes>
<seealso>
<ref target="constraintsoverview">Overview and examples</ref>
,
<ref target="wxindividuallayoutconstraint">wxIndividualLayoutConstraint</ref>
<ref target="wxwindowsetconstraints">wxWindow::SetConstraints</ref>
</seealso>
<members>
<member class="wxLayoutConstraints" name="wxLayoutConstraints">
<function type="" name="wxLayoutConstraints">
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxLayoutConstraints" name="bottom"></member>
<member class="wxLayoutConstraints" name="centreX"></member>
<member class="wxLayoutConstraints" name="centreY"></member>
<member class="wxLayoutConstraints" name="height"></member>
<member class="wxLayoutConstraints" name="left"></member>
<member class="wxLayoutConstraints" name="right"></member>
<member class="wxLayoutConstraints" name="top"></member>
<member class="wxLayoutConstraints" name="width"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxList">
<description>
<p class="classdesc">
wxList classes provide linked list functionality for wxWidgets, and for an
application if it wishes. Depending on the form of constructor used, a list can
be keyed on integer or string keys to provide a primitive look-up ability, but
please note that this feature is
<b>deprecated</b>
. See
<ref target="wxhashmap">wxHashMap</ref>
for a faster method of storage when random access is required.
</p>
<p class="classdesc">
While wxList class in the previous versions of wxWidgets only could contain
elements of type wxObject and had essentially untyped interface (thus allowing
you to put apples in the list and read back oranges from it), the new wxList
classes family may contain elements of any type and has much more strict type
checking. Unfortunately, it also requires an additional line to be inserted in
your program for each list class you use (which is the only solution short of
using templates which is not done in wxWidgets because of portability issues).
</p>
<p class="classdesc">
The general idea is to have the base class wxListBase working with
<i>void &#42;</i>
data but make all of its dangerous (because untyped) functions protected, so
that they can only be used from derived classes which, in turn, expose a type
safe interface. With this approach a new wxList-like class must be defined for
each list type (i.e. list of ints, of wxStrings or of MyObjects). This is done
with
<i>WX_DECLARE_LIST</i>
and
<i>WX_DEFINE_LIST</i>
macros like this (notice the similarity with WX_DECLARE_OBJARRAY and
WX_IMPLEMENT_OBJARRAY macros):
</p>
</description>
<category>Data structures</category>
<shortdesc>A simple linked list implementation</shortdesc>
<example>
<pre>
    // this part might be in a header or source (.cpp) file
    class MyListElement
    {
        ... // whatever
    };

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

    ...

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

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

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

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

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

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

  ...

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

  void main()
  {
    wxList list;

    list.Append(new wxString(&quot;DEF&quot;));
    list.Append(new wxString(&quot;GHI&quot;));
    list.Append(new wxString(&quot;ABC&quot;));
    list.Sort(listcompare);
  }
</pre>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxListBox">
<description>
<p class="classdesc">
A listbox is used to select one or more of a list of strings. The strings are
displayed in a scrolling box, with the selected string(s) marked in reverse
video. A listbox can be single selection (if an item is selected, the previous
selection is removed) or multiple selection (clicking an item toggles the item
on or off independently of other selections).
</p>
<p class="classdesc">
List box elements are numbered from zero. Their number is limited in some
platforms (e.g. ca. 2000 on GTK).
</p>
<p class="classdesc">
A listbox callback gets an event wxEVT_COMMAND_LISTBOX_SELECT for single clicks,
and wxEVT_COMMAND_LISTBOX_DOUBLE_CLICKED for double clicks.
</p>
</description>
<category>Controls</category>
<shortdesc>A list of strings for single or multiple selection</shortdesc>
<parents>
<ref type="help" target="wxControlWithItems">wxControlWithItems</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/listbox.h"/>
</includes>
<windowstyles>
<style name="wxLB_SINGLE">
Single-selection list.
</style>
<style name="wxLB_MULTIPLE">
wxLB_MULTIPLE
</style>
<style name="wxLB_EXTENDED">
wxLB_EXTENDED
</style>
<style name="wxLB_HSCROLL">
Create horizontal scrollbar if contents are too wide (Windows only).
</style>
<style name="wxLB_ALWAYS_SB">
Always show a vertical scrollbar.
</style>
<style name="wxLB_NEEDED_SB">
Only create a vertical scrollbar if needed.
</style>
<style name="wxLB_SORT">
The listbox contents are sorted in alphabetical order.
</style>
</windowstyles>
<events>
<event name="EVT_LISTBOX(id, func)">Process a wxEVT_COMMAND_LISTBOX_SELECTED event,
when an item on the list is selected.</event>
<event name="EVT_LISTBOX_DCLICK(id, func)">Process a wxEVT_COMMAND_LISTBOX_DOUBLECLICKED event,
when the listbox is double-clicked.</event>
</events>
<seealso>
<ref target="wxchoice">wxChoice</ref>
<ref target="wxcombobox">wxComboBox</ref>
<ref target="wxlistctrl">wxListCtrl</ref>
,
<ref target="wxcommandevent">wxCommandEvent</ref>
</seealso>
<members>
<member class="wxListBox" name="wxListBox">
<function type="" name="wxListBox">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxListBox">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Parent window. Must not be NULL.
</parameter>
<parameter type="wxWindowID " name="id">
Window identifier. A value of -1 indicates a default value.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Window position.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Window size. If the default size (-1, -1) is specified then the window is sized
appropriately.
</parameter>
<parameter type="int " name="n">
Number of strings with which to initialise the control.
</parameter>
<parameter type="const wxString " name="choices[]" value="NULL"></parameter>
<parameter type="long " name="style" value="0">
Window style. See
<ref target="wxlistbox">wxListBox</ref>
.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
Window validator.
</parameter>
<parameter type="const wxString&amp; " name="name" value="``listBox&quot;">
Window name.
</parameter>
</parameters>
<description></description>
</function>
<function type="" name="wxListBox">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Parent window. Must not be NULL.
</parameter>
<parameter type="wxWindowID " name="id">
Window identifier. A value of -1 indicates a default value.
</parameter>
<parameter type="const wxPoint&amp; " name="pos">
Window position.
</parameter>
<parameter type="const wxSize&amp; " name="size">
Window size. If the default size (-1, -1) is specified then the window is sized
appropriately.
</parameter>
<parameter type="const wxArrayString&amp; " name="choices">
An array of strings with which to initialise the control.
</parameter>
<parameter type="long " name="style" value="0">
Window style. See
<ref target="wxlistbox">wxListBox</ref>
.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
Window validator.
</parameter>
<parameter type="const wxString&amp; " name="name" value="``listBox&quot;">
Window name.
</parameter>
</parameters>
<seealso>
<ref target="wxlistboxcreate">wxListBox::Create</ref>
<ref target="wxvalidator">wxValidator</ref>
</seealso>
<description></description>
</function>
</member>
<member class="wxListBox" name="~wxListBox">
<function type="void" name="~wxListBox">
<description>
<p>
Destructor, destroying the list box.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="int " name="n"></parameter>
<parameter type="const wxString " name="choices[]" value="NULL"></parameter>
<parameter type="long " name="style" value="0"></parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
<parameter type="const wxString&amp; " name="name" value="``listBox&quot;"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxPoint&amp; " name="pos"></parameter>
<parameter type="const wxSize&amp; " name="size"></parameter>
<parameter type="const wxArrayString&amp; " name="choices"></parameter>
<parameter type="long " name="style" value="0"></parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
<parameter type="const wxString&amp; " name="name" value="``listBox&quot;"></parameter>
</parameters>
<description>
<p>
Creates the listbox for two-step construction. See
<ref target="wxlistboxctor">wxListBox::wxListBox</ref>
for further details.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="Deselect">
<function type="void" name="Deselect">
<parameters>
<parameter type="int " name="n">
The zero-based item to deselect.
</parameter>
</parameters>
<remarks>
<p>
This applies to multiple selection listboxes only.
</p>
</remarks>
<description>
<p>
Deselects an item in the list box.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="GetSelections">
<function type="int" name="GetSelections" suffix="const">
<parameters>
<parameter type="wxArrayInt&amp; " name="selections">
A reference to an wxArrayInt instance that is used to store the result of the
query.
</parameter>
</parameters>
<seealso>
<ref target="wxcontrolwithitemsgetselection">wxControlWithItems::GetSelection</ref>
,
<ref target="wxcontrolwithitemsgetstringselection">wxControlWithItems::GetStringSelection</ref>
,
<ref target="wxcontrolwithitemssetselection">wxControlWithItems::SetSelection</ref>
</seealso>
<remarks>
<p>
Use this with a multiple selection listbox.
</p>
</remarks>
<returnvalue>
The number of selections.
</returnvalue>
<description>
<p>
Fill an array of ints with the positions of the currently selected items.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="InsertItems">
<function type="void" name="InsertItems">
<parameters>
<parameter type="int " name="nItems">
Number of items in the array
<i>items</i>
</parameter>
<parameter type="const wxString &#42;" name="items">
Labels of items to be inserted
</parameter>
<parameter type="int " name="pos">
Position before which to insert the items: for example, if
<i>pos</i>
is 0 the items will be inserted in the beginning of the listbox
</parameter>
</parameters>
<description></description>
</function>
<function type="void" name="InsertItems">
<parameters>
<parameter type="const wxArrayString&amp; " name="nItems">
Number of items in the array
<i>items</i>
</parameter>
<parameter type="int " name="pos">
Position before which to insert the items: for example, if
<i>pos</i>
is 0 the items will be inserted in the beginning of the listbox
</parameter>
</parameters>
<description>
<p>
Insert the given number of strings before the specified position.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="IsSelected">
<function type="bool" name="IsSelected" suffix="const">
<parameters>
<parameter type="int " name="n">
The zero-based item index.
</parameter>
</parameters>
<returnvalue>
true if the given item is selected, false otherwise.
</returnvalue>
<description>
<p>
Determines whether an item is selected.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="Set">
<function type="void" name="Set">
<parameters>
<parameter type="int " name="n">
The number of strings to set.
</parameter>
<parameter type="const wxString&#42; " name="choices">
An array of strings to set.
</parameter>
<parameter type="void &#42;&#42;" name="clientData" value="NULL">
Options array of client data pointers
</parameter>
</parameters>
<description></description>
</function>
<function type="void" name="Set">
<parameters>
<parameter type="const wxArrayString&amp; " name="choices">
An array of strings to set.
</parameter>
<parameter type="void &#42;&#42;" name="clientData" value="NULL">
Options array of client data pointers
</parameter>
</parameters>
<remarks>
<p>
You may free the array from the calling program after this function has been
called.
</p>
</remarks>
<description>
<p>
Clears the list box and adds the given strings to it.
</p>
</description>
</function>
</member>
<member class="wxListBox" name="SetFirstItem">
<function type="void" name="SetFirstItem">
<parameters>
<parameter type="int " name="n">
The zero-based item index.
</parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetFirstItem">
<parameters>
<parameter type="const wxString&amp; " name="string">
The string that should be visible.
</parameter>
</parameters>
<description>
<p>
Set the specified item to be the first visible item. Windows only.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxListCtrl">
<description>
<p class="classdesc">
A list control presents lists in a number of formats: list view, report view,
icon view and small icon view. In any case, elements are numbered from zero. For
all these modes, the items are stored in the control and must be added to it
using
<ref target="wxlistctrlinsertitem">InsertItem</ref>
method.
</p>
<p class="classdesc">
A special case of report view quite different from the other modes of the list
control is a virtual control in which the items data (including text, images and
attributes) is managed by the main program and is requested by the control
itself only when needed which allows to have controls with millions of items
without consuming much memory. To use virtual list control you must use
<ref target="wxlistctrlsetitemcount">SetItemCount</ref>
first and overload at least
<ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
(and optionally
<ref target="wxlistctrlongetitemimage">OnGetItemImage</ref>
and
<ref target="wxlistctrlongetitemattr">OnGetItemAttr</ref>
) to return the information about the items when the control requests it.
Virtual list control can be used as a normal one except that no operations which
can take time proportional to the number of items in the control happen -- this
is required to allow having a practically infinite number of items. For example,
in a multiple selection virtual list control, the selections won't be sent when
many items are selected at once because this could mean iterating over all the
items.
</p>
<p class="classdesc">
Using many of wxListCtrl features is shown in the
<ref target="samplelistctrl">corresponding sample</ref>
.
</p>
<p class="classdesc">
To intercept events from a list control, use the event table macros described in
<ref target="wxlistevent">wxListEvent</ref>
.
</p>
</description>
<category>Controls</category>
<shortdesc>A control for displaying lists of strings and/or icons, plus a multicolumn report view</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/listctrl.h"/>
</includes>
<windowstyles>
<style name="wxLC_LIST">
wxLC_LIST
</style>
<style name="wxLC_REPORT">
Single or multicolumn report view, with optional header.
</style>
<style name="wxLC_VIRTUAL">
The application provides items text on demand. May only be used with
wxLC_REPORT.
</style>
<style name="wxLC_ICON">
Large icon view, with optional labels.
</style>
<style name="wxLC_SMALL_ICON">
Small icon view, with optional labels.
</style>
<style name="wxLC_ALIGN_TOP">
Icons align to the top. Win32 default, Win32 only.
</style>
<style name="wxLC_ALIGN_LEFT">
Icons align to the left.
</style>
<style name="wxLC_AUTOARRANGE">
Icons arrange themselves. Win32 only.
</style>
<style name="wxLC_EDIT_LABELS">
Labels are editable: the application will be notified when editing starts.
</style>
<style name="wxLC_NO_HEADER">
No header in report mode.
</style>
<style name="wxLC_SINGLE_SEL">
Single selection (default is multiple).
</style>
<style name="wxLC_SORT_ASCENDING">
Sort in ascending order (must still supply a comparison callback in SortItems.
</style>
<style name="wxLC_SORT_DESCENDING">
Sort in descending order (must still supply a comparison callback in SortItems.
</style>
<style name="wxLC_HRULES">
Draws light horizontal rules between rows in report mode.
</style>
<style name="wxLC_VRULES">
Draws light vertical rules between columns in report mode.
</style>
</windowstyles>
<events>
<event name="EVT_LIST_BEGIN_DRAG(id, func)">Begin dragging with the left mouse button.</event>
<event name="EVT_LIST_BEGIN_RDRAG(id, func)">Begin dragging with the right mouse button.</event>
<event name="EVT_LIST_BEGIN_LABEL_EDIT(id, func)">Begin editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
<event name="EVT_LIST_END_LABEL_EDIT(id, func)">Finish editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
<event name="EVT_LIST_DELETE_ITEM(id, func)">Delete an item.</event>
<event name="EVT_LIST_DELETE_ALL_ITEMS(id, func)">Delete all items.</event>
<event name="EVT_LIST_ITEM_SELECTED(id, func)">The item has been selected.</event>
<event name="EVT_LIST_ITEM_DESELECTED(id, func)">The item has been deselected.</event>
<event name="EVT_LIST_ITEM_ACTIVATED(id, func)">The item has been activated (ENTER or double click).</event>
<event name="EVT_LIST_ITEM_FOCUSED(id, func)">The currently focused item has changed.</event>
<event name="EVT_LIST_ITEM_MIDDLE_CLICK(id, func)">The middle mouse button has been clicked on an item.</event>
<event name="EVT_LIST_ITEM_RIGHT_CLICK(id, func)">The right mouse button has been clicked on an item.</event>
<event name="EVT_LIST_KEY_DOWN(id, func)">A key has been pressed.</event>
<event name="EVT_LIST_INSERT_ITEM(id, func)">An item has been inserted.</event>
<event name="EVT_LIST_COL_CLICK(id, func)">A column (<b>m_col</b>) has been left-clicked.</event>
<event name="EVT_LIST_COL_RIGHT_CLICK(id, func)">A column (<b>m_col</b>) has been right-clicked.</event>
<event name="EVT_LIST_COL_BEGIN_DRAG(id, func)">The user started resizing a column - can be vetoed.</event>
<event name="EVT_LIST_COL_DRAGGING(id, func)">The divider between columns is being dragged.</event>
<event name="EVT_LIST_COL_END_DRAG(id, func)">A column has been resized by the user.</event>
<event name="EVT_LIST_CACHE_HINT(id, func)">Prepare cache for a virtual list control</event>
</events>
<seealso>
<ref target="wxlistctrloverview">wxListCtrl overview</ref>
<ref target="wxlistbox">wxListBox</ref>
<ref target="wxtreectrl">wxTreeCtrl</ref>
,
<ref target="wximagelist">wxImageList</ref>
<ref target="wxlistevent">wxListEvent</ref>
,
<ref target="wxlistitem">wxListItem</ref>
</seealso>
<members>
<member class="wxListCtrl" name="wxListCtrl">
<function type="" name="wxListCtrl">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxListCtrl">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
Parent window. Must not be NULL.
</parameter>
<parameter type="wxWindowID " name="id">
Window identifier. A value of -1 indicates a default value.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Window position.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Window size. If the default size (-1, -1) is specified then the window is sized
appropriately.
</parameter>
<parameter type="long " name="style" value="wxLC_ICON">
Window style. See
<ref target="wxlistctrl">wxListCtrl</ref>
.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
Window validator.
</parameter>
<parameter type="const wxString&amp; " name="name" value="wxListCtrlNameStr">
Window name.
</parameter>
</parameters>
<seealso>
<ref target="wxlistctrlcreate">wxListCtrl::Create</ref>
<ref target="wxvalidator">wxValidator</ref>
</seealso>
<description></description>
</function>
</member>
<member class="wxListCtrl" name="~wxListCtrl">
<function type="void" name="~wxListCtrl">
<description>
<p>
Destructor, destroying the list control.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="Arrange">
<function type="bool" name="Arrange">
<parameters>
<parameter type="int " name="flag" value="wxLIST_ALIGN_DEFAULT"></parameter>
</parameters>
<description>
<p>
Arranges the items in icon or small icon view. This only has effect on Win32.
<i>flag</i>
is one of:
</p>
<table>
<tr>
<td>wxLIST_ALIGN_DEFAULT</td>
<td>Default alignment.</td>
</tr>
<tr>
<td>wxLIST_ALIGN_LEFT</td>
<td>Align to the left side of the control.</td>
</tr>
<tr>
<td>wxLIST_ALIGN_TOP</td>
<td>Align to the top side of the control.</td>
</tr>
<tr>
<td>wxLIST_ALIGN_SNAP_TO_GRID</td>
<td>Snap to grid.</td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxListCtrl" name="AssignImageList">
<function type="void" name="AssignImageList">
<parameters>
<parameter type="wxImageList&#42; " name="imageList"></parameter>
<parameter type="int " name="which"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlsetimagelist">wxListCtrl::SetImageList</ref>
</seealso>
<description>
<p>
Sets the image list associated with the control and takes ownership of it (i.e.
the control will, unlike when using SetImageList, delete the list when
destroyed).
<i>which</i>
is one of wxIMAGE_LIST_NORMAL, wxIMAGE_LIST_SMALL, wxIMAGE_LIST_STATE (the last
is unimplemented).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="ClearAll">
<function type="void" name="ClearAll">
<parameters></parameters>
<description>
<p>
Deletes all items and all columns.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxLC_ICON"></parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator"></parameter>
<parameter type="const wxString&amp; " name="name" value="wxListCtrlNameStr"></parameter>
</parameters>
<description>
<p>
Creates the list control. See
<ref target="wxlistctrlctor">wxListCtrl::wxListCtrl</ref>
for further details.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="DeleteAllItems">
<function type="bool" name="DeleteAllItems">
<parameters></parameters>
<description>
<p>
Deletes all the items in the list control.
</p>
<p>
<b>NB:</b>
This function does
<i>not</i>
send the
<tt>wxEVT_COMMAND_LIST_DELETE_ITEM</tt>
event because deleting many items from the control would be too slow then
(unlike
<ref target="wxlistctrldeleteitem">DeleteItem</ref>
).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="DeleteColumn">
<function type="bool" name="DeleteColumn">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Deletes a column.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="DeleteItem">
<function type="bool" name="DeleteItem">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Deletes the specified item. This function sends the
<tt>wxEVT_COMMAND_LIST_DELETE_ITEM</tt>
event for the item being deleted.
</p>
<p>
See also
<ref target="wxlistctrldeleteallitems">DeleteAllItems</ref>
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="EditLabel">
<function type="void" name="EditLabel">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Starts editing the label of the given item. This function generates a
EVT_LIST_BEGIN_LABEL_EDIT event which can be vetoed so that no text control will
appear for in-place editing.
</p>
<p>
If the user changed the label (i.e. s/he does not press ESC or leave the text
control without changes, a EVT_LIST_END_LABEL_EDIT event will be sent which can
be vetoed as well.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="EnsureVisible">
<function type="bool" name="EnsureVisible">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Ensures this item is visible.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="FindItem">
<function type="long" name="FindItem">
<parameters>
<parameter type="long " name="start"></parameter>
<parameter type="const wxString&amp; " name="str"></parameter>
<parameter type="const bool " name="partial" value="false"></parameter>
</parameters>
<description>
<p>
Find an item whose label matches this string, starting from
<i>start</i>
or the beginning if
<i>start</i>
is -1.
</p>
</description>
</function>
<function type="long" name="FindItem">
<parameters>
<parameter type="long " name="start"></parameter>
<parameter type="long " name="data"></parameter>
</parameters>
<description>
<p>
Find an item whose data matches this data, starting from
<i>start</i>
or the beginning if 'start' is -1.
</p>
</description>
</function>
<function type="long" name="FindItem">
<parameters>
<parameter type="long " name="start"></parameter>
<parameter type="const wxPoint&amp; " name="pt"></parameter>
<parameter type="int " name="direction"></parameter>
</parameters>
<description>
<p>
Find an item nearest this position in the specified direction, starting from
<i>start</i>
or the beginning if
<i>start</i>
is -1.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetColumn">
<function type="bool" name="GetColumn" suffix="const">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="wxListItem&amp; " name="item"></parameter>
</parameters>
<description>
<p>
Gets information about this column. See
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
for more information.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetColumnCount">
<function type="int" name="GetColumnCount" suffix="const">
<description>
<p>
Returns the number of columns.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetColumnWidth">
<function type="int" name="GetColumnWidth" suffix="const">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Gets the column width (report view only).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetCountPerPage">
<function type="int" name="GetCountPerPage" suffix="const">
<description>
<p>
Gets the number of items that can fit vertically in the visible area of the list
control (list or report view) or the total number of items in the list control
(icon or small icon view).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetEditControl" specific="msw">
<function type="wxTextCtrl &#42;" name="GetEditControl" suffix="const">
<description>
<p>
Returns the edit control being currently used to edit a label. Returns
<tt>NULL</tt>
if no label is being edited.
</p>
<p>
<b>NB:</b>
It is currently only implemented for wxMSW.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetImageList">
<function type="wxImageList&#42;" name="GetImageList" suffix="const">
<parameters>
<parameter type="int " name="which"></parameter>
</parameters>
<description>
<p>
Returns the specified image list.
<i>which</i>
may be one of:
</p>
<table>
<tr>
<td>wxIMAGE_LIST_NORMAL</td>
<td>The normal (large icon) image list.</td>
</tr>
<tr>
<td>wxIMAGE_LIST_SMALL</td>
<td>The small icon image list.</td>
</tr>
<tr>
<td>wxIMAGE_LIST_STATE</td>
<td>The user-defined state image list (unimplemented).</td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItem">
<function type="bool" name="GetItem" suffix="const">
<parameters>
<parameter type="wxListItem&amp; " name="info"></parameter>
</parameters>
<description>
<p>
Gets information about the item. See
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
for more information.
</p>
<p>
You must call
<i>info.SetId()</i>
to the ID of item you're interested in before calling this method.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemBackgroundColour">
<function type="wxColour" name="GetItemBackgroundColour" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlgetitemtextcolour">GetItemTextColour</ref>
</seealso>
<description>
<p>
Returns the colour for this item. If the item has no specific colour, returns an
invalid colour (and not the default background control of the control itself).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemCount">
<function type="int" name="GetItemCount" suffix="const">
<description>
<p>
Returns the number of items in the list control.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemData">
<function type="long" name="GetItemData" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Gets the application-defined data associated with this item.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemFont">
<function type="wxFont" name="GetItemFont" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Returns the item's font.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemPosition">
<function type="bool" name="GetItemPosition" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="wxPoint&amp; " name="pos"></parameter>
</parameters>
<description>
<p>
Returns the position of the item, in icon or small icon view.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemRect">
<function type="bool" name="GetItemRect" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="wxRect&amp; " name="rect"></parameter>
<parameter type="int " name="code" value="wxLIST_RECT_BOUNDS"></parameter>
</parameters>
<description>
<p>
Returns the rectangle representing the item's size and position, in physical
coordinates.
</p>
<p>
<i>code</i>
is one of wxLIST_RECT_BOUNDS, wxLIST_RECT_ICON, wxLIST_RECT_LABEL.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemSpacing">
<function type="wxSize" name="GetItemSpacing" suffix="const">
<description>
<p>
Retrieves the spacing between icons in pixels: horizontal spacing is returned as
<tt>x</tt>
component of the
<ref target="wxsize">wxSize</ref>
object and the vertical spacing as its
<tt>y</tt>
component.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemState">
<function type="int" name="GetItemState" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="long " name="stateMask"></parameter>
</parameters>
<description>
<p>
Gets the item state. For a list of state flags, see
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
.
</p>
<p>
The
<b>stateMask</b>
indicates which state flags are of interest.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemText">
<function type="wxString" name="GetItemText" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Gets the item text for this item.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetItemTextColour">
<function type="wxColour" name="GetItemTextColour" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<description>
<p>
Returns the colour for this item. If the item has no specific colour, returns an
invalid colour (and not the default foreground control of the control itself as
this wouldn't allow distinguishing between items having the same colour as the
current control foreground and items with default colour which, hence, have
always the same colour as the control).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetNextItem">
<function type="long" name="GetNextItem" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="int " name="geometry" value="wxLIST_NEXT_ALL"></parameter>
<parameter type="int " name="state" value="wxLIST_STATE_DONTCARE"></parameter>
</parameters>
<description>
<p>
Searches for an item with the given geometry or state, starting from
<i>item</i>
but excluding the
<i>item</i>
itself. If
<i>item</i>
is -1, the first item that matches the specified flags will be returned.
</p>
<p>
Returns the first item with given state following
<i>item</i>
or -1 if no such item found.
</p>
<p>
This function may be used to find all selected items in the control like this:
</p>
<pre>
    long item = -1;
    for ( ;; )
    {
        item = listctrl-&gt;GetNextItem(item,
                                     wxLIST_NEXT_ALL,
                                     wxLIST_STATE_SELECTED);
        if ( item == -1 )
            break;

        // this item is selected - do whatever is needed with it
        wxLogMessage(&quot;Item 
    }
</pre>
<p>
<i>geometry</i>
can be one of:
</p>
<table>
<tr>
<td>wxLIST_NEXT_ABOVE</td>
<td>Searches for an item above the specified item.</td>
</tr>
<tr>
<td>wxLIST_NEXT_ALL</td>
<td>Searches for subsequent item by index.</td>
</tr>
<tr>
<td>wxLIST_NEXT_BELOW</td>
<td>Searches for an item below the specified item.</td>
</tr>
<tr>
<td>wxLIST_NEXT_LEFT</td>
<td>Searches for an item to the left of the specified item.</td>
</tr>
<tr>
<td>wxLIST_NEXT_RIGHT</td>
<td>Searches for an item to the right of the specified item.</td>
</tr>
</table>
<p>
<b>NB:</b>
this parameters is only supported by wxMSW currently and ignored on other
platforms.
</p>
<p>
<i>state</i>
can be a bitlist of the following:
</p>
<table>
<tr>
<td>wxLIST_STATE_DONTCARE</td>
<td>Don't care what the state is.</td>
</tr>
<tr>
<td>wxLIST_STATE_DROPHILITED</td>
<td>The item indicates it is a drop target.</td>
</tr>
<tr>
<td>wxLIST_STATE_FOCUSED</td>
<td>The item has the focus.</td>
</tr>
<tr>
<td>wxLIST_STATE_SELECTED</td>
<td>The item is selected.</td>
</tr>
<tr>
<td>wxLIST_STATE_CUT</td>
<td>The item is selected as part of a cut and paste operation.</td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetSelectedItemCount">
<function type="int" name="GetSelectedItemCount" suffix="const">
<description>
<p>
Returns the number of selected items in the list control.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetTextColour">
<function type="wxColour" name="GetTextColour" suffix="const">
<description>
<p>
Gets the text colour of the list control.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetTopItem">
<function type="long" name="GetTopItem" suffix="const">
<description>
<p>
Gets the index of the topmost visible item when in list or report view.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="GetViewRect">
<function type="wxRect" name="GetViewRect" suffix="const">
<description>
<p>
Returns the rectangle taken by all items in the control. In other words, if the
controls client size were equal to the size of this rectangle, no scrollbars
would be needed and no free space would be left.
</p>
<p>
Note that this function only works in the icon and small icon views, not in list
or report views (this is a limitation of the native Win32 control).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="HitTest">
<function type="long" name="HitTest">
<parameters>
<parameter type="const wxPoint&amp; " name="point"></parameter>
<parameter type="int&amp; " name="flags"></parameter>
</parameters>
<description>
<p>
Determines which item (if any) is at the specified point, giving details in
<i>flags</i>
. Returns index of the item or
<tt>wxNOT_FOUND</tt>
if no item is at the specified point.
<i>flags</i>
will be a combination of the following flags:
</p>
<table>
<tr>
<td>wxLIST_HITTEST_ABOVE</td>
<td>Above the client area.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_BELOW</td>
<td>Below the client area.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_NOWHERE</td>
<td>In the client area but below the last item.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_ONITEMICON</td>
<td>On the bitmap associated with an item.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_ONITEMLABEL</td>
<td>On the label (string) associated with an item.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_ONITEMRIGHT</td>
<td>In the area to the right of an item.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_ONITEMSTATEICON</td>
<td>On the state icon for a tree view item that is in a user-defined state.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_TOLEFT</td>
<td>To the right of the client area.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_TORIGHT</td>
<td>To the left of the client area.</td>
</tr>
<tr>
<td>wxLIST_HITTEST_ONITEM</td>
<td>Combination of wxLIST_HITTEST_ONITEMICON, wxLIST_HITTEST_ONITEMLABEL,
wxLIST_HITTEST_ONITEMSTATEICON.</td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxListCtrl" name="InsertColumn">
<function type="long" name="InsertColumn">
<parameters>
<parameter type="long " name="col"></parameter>
<parameter type="wxListItem&amp; " name="info"></parameter>
</parameters>
<description></description>
</function>
<function type="long" name="InsertColumn">
<parameters>
<parameter type="long " name="col"></parameter>
<parameter type="const wxString&amp; " name="heading"></parameter>
<parameter type="int " name="format" value="wxLIST_FORMAT_LEFT"></parameter>
<parameter type="int " name="width" value="-1"></parameter>
</parameters>
<description>
<p>
For report view mode (only), inserts a column. For more details, see
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="InsertItem">
<function type="long" name="InsertItem">
<parameters>
<parameter type="wxListItem&amp; " name="info">
wxListItem object
</parameter>
</parameters>
<description>
<p>
Inserts an item, returning the index of the new item if successful, -1
otherwise.
</p>
</description>
</function>
<function type="long" name="InsertItem">
<parameters>
<parameter type="long " name="index">
Index of the new item, supplied by the application
</parameter>
<parameter type="const wxString&amp; " name="label">
String label
</parameter>
</parameters>
<description>
<p>
Inserts a string item.
</p>
</description>
</function>
<function type="long" name="InsertItem">
<parameters>
<parameter type="long " name="index">
Index of the new item, supplied by the application
</parameter>
<parameter type="int " name="imageIndex">
index into the image list associated with this control and view style
</parameter>
</parameters>
<description>
<p>
Inserts an image item.
</p>
</description>
</function>
<function type="long" name="InsertItem">
<parameters>
<parameter type="long " name="index">
Index of the new item, supplied by the application
</parameter>
<parameter type="const wxString&amp; " name="label">
String label
</parameter>
<parameter type="int " name="imageIndex">
index into the image list associated with this control and view style
</parameter>
</parameters>
<description>
<p>
Insert an image/string item.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="OnGetItemAttr">
<function type="virtual wxListItemAttr &#42;" name="OnGetItemAttr">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlongetitemimage">OnGetItemImage</ref>
,
<br/>
<ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
</seealso>
<description>
<p>
This function may be overloaded in the derived class for a control with
<tt>wxLC_VIRTUAL</tt>
style. It should return the attribute for the for the specified
<tt>item</tt>
or
<tt>NULL</tt>
to use the default appearance parameters.
</p>
<p>
The base class version always returns
<tt>NULL</tt>
.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="OnGetItemImage">
<function type="virtual int" name="OnGetItemImage">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
,
<br/>
<ref target="wxlistctrlongetitemattr">OnGetItemAttr</ref>
</seealso>
<description>
<p>
This function must be overloaded in the derived class for a control with
<tt>wxLC_VIRTUAL</tt>
style having an
<ref target="wxlistctrlsetimagelist">image list</ref>
(if the control doesn't have an image list, it is not necessary to overload it).
It should return the index of the items image in the controls image list or $-1$
for no image.
</p>
<p>
The base class version always returns $-1$.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="OnGetItemText">
<function type="virtual wxString" name="OnGetItemText" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="long " name="column"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlsetitemcount">SetItemCount</ref>
,
<br/>
<ref target="wxlistctrlongetitemimage">OnGetItemImage</ref>
,
<br/>
<ref target="wxlistctrlongetitemattr">OnGetItemAttr</ref>
</seealso>
<description>
<p>
This function
<b>must</b>
be overloaded in the derived class for a control with
<tt>wxLC_VIRTUAL</tt>
style. It should return the string containing the text of the given
<i>column</i>
for the specified
<tt>item</tt>
.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="RefreshItem">
<function type="void" name="RefreshItem">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlrefreshitems">RefreshItems</ref>
</seealso>
<description>
<p>
Redraws the given
<i>item</i>
. This is only useful for the virtual list controls as without calling this
function the displayed value of the item doesn't change even when the underlying
data does change.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="RefreshItems">
<function type="void" name="RefreshItems">
<parameters>
<parameter type="long " name="itemFrom"></parameter>
<parameter type="long " name="itemTo"></parameter>
</parameters>
<description>
<p>
Redraws the items between
<i>itemFrom</i>
and
<i>itemTo</i>
. The starting item must be less than or equal to the ending one.
</p>
<p>
Just as
<ref target="wxlistctrlrefreshitem">RefreshItem</ref>
this is only useful for virtual list controls.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="ScrollList">
<function type="bool" name="ScrollList">
<parameters>
<parameter type="int " name="dx"></parameter>
<parameter type="int " name="dy"></parameter>
</parameters>
<description>
<p>
Scrolls the list control. If in icon, small icon or report view mode,
<i>dx</i>
specifies the number of pixels to scroll. If in list view mode,
<i>dx</i>
specifies the number of columns to scroll.
<i>dy</i>
always specifies the number of pixels to scroll vertically.
</p>
<p>
<b>NB:</b>
This method is currently only implemented in the Windows version.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetBackgroundColour">
<function type="void" name="SetBackgroundColour">
<parameters>
<parameter type="const wxColour&amp; " name="col"></parameter>
</parameters>
<description>
<p>
Sets the background colour (GetBackgroundColour already implicit in wxWindow
class).
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetColumn">
<function type="bool" name="SetColumn">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="wxListItem&amp; " name="item"></parameter>
</parameters>
<description>
<p>
Sets information about this column. See
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
for more information.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetColumnWidth">
<function type="bool" name="SetColumnWidth">
<parameters>
<parameter type="int " name="col"></parameter>
<parameter type="int " name="width"></parameter>
</parameters>
<description>
<p>
Sets the column width.
</p>
<p>
<i>width</i>
can be a width in pixels or wxLIST_AUTOSIZE (-1) or wxLIST_AUTOSIZE_USEHEADER
(-2). wxLIST_AUTOSIZE will resize the column to the length of its longest item.
wxLIST_AUTOSIZE_USEHEADER will resize the column to the length of the header
(Win32) or 80 pixels (other platforms).
</p>
<p>
In small or normal icon view,
<i>col</i>
must be -1, and the column width is set for all columns.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetImageList">
<function type="void" name="SetImageList">
<parameters>
<parameter type="wxImageList&#42; " name="imageList"></parameter>
<parameter type="int " name="which"></parameter>
</parameters>
<seealso>
<ref target="wxlistctrlassignimagelist">wxListCtrl::AssignImageList</ref>
</seealso>
<description>
<p>
Sets the image list associated with the control.
<i>which</i>
is one of wxIMAGE_LIST_NORMAL, wxIMAGE_LIST_SMALL, wxIMAGE_LIST_STATE (the last
is unimplemented).
</p>
<p>
This method does not take ownership of the image list, you have to delete it
yourself.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItem">
<function type="bool" name="SetItem">
<parameters>
<parameter type="wxListItem&amp; " name="info"></parameter>
</parameters>
<description></description>
</function>
<function type="long" name="SetItem">
<parameters>
<parameter type="long " name="index"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp;" name="label"></parameter>
<parameter type="int " name="imageId" value="-1"></parameter>
</parameters>
<description>
<p>
Sets information about the item.
</p>
<p>
wxListItem is a class with the following members:
</p>
<table>
<tr>
<td>long m_mask</td>
<td>Indicates which fields are valid. See the list of valid mask flags below.</td>
</tr>
<tr>
<td>long m_itemId</td>
<td>The zero-based item position.</td>
</tr>
<tr>
<td>int m_col</td>
<td>Zero-based column, if in report mode.</td>
</tr>
<tr>
<td>long m_state</td>
<td>The state of the item. See the list of valid state flags below.</td>
</tr>
<tr>
<td>long m_stateMask</td>
<td>A mask indicating which state flags are valid. See the list of valid state flags below.</td>
</tr>
<tr>
<td>wxString m_text</td>
<td>The label/header text.</td>
</tr>
<tr>
<td>int m_image</td>
<td>The zero-based index into an image list.</td>
</tr>
<tr>
<td>long m_data</td>
<td>Application-defined data.</td>
</tr>
<tr>
<td>int m_format</td>
<td>For columns only: the format. Can be wxLIST_FORMAT_LEFT, wxLIST_FORMAT_RIGHT or
wxLIST_FORMAT_CENTRE.</td>
</tr>
<tr>
<td>int m_width</td>
<td>For columns only: the column width.</td>
</tr>
</table>
<p>
The
<b>m_mask</b>
member contains a bitlist specifying which of the other fields are valid. The
flags are:
</p>
<table>
<tr>
<td>wxLIST_MASK_STATE</td>
<td>The <b>m_state</b> field is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_TEXT</td>
<td>The <b>m_text</b> field is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_IMAGE</td>
<td>The <b>m_image</b> field is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_DATA</td>
<td>The <b>m_data</b> field is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_WIDTH</td>
<td>The <b>m_width</b> field is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_FORMAT</td>
<td>The <b>m_format</b> field is valid.</td>
</tr>
</table>
<p>
The
<b>m_stateMask</b>
and
<b>m_state</b>
members take flags from the following:
</p>
<table>
<tr>
<td>wxLIST_STATE_DONTCARE</td>
<td>Don't care what the state is. Win32 only. </td>
</tr>
<tr>
<td>wxLIST_STATE_DROPHILITED</td>
<td>The item is highlighted to receive a drop event. Win32 only. </td>
</tr>
<tr>
<td>wxLIST_STATE_FOCUSED</td>
<td>The item has the focus.</td>
</tr>
<tr>
<td>wxLIST_STATE_SELECTED</td>
<td>The item is selected.</td>
</tr>
<tr>
<td>wxLIST_STATE_CUT</td>
<td>The item is in the cut state. Win32 only. </td>
</tr>
</table>
<p>
The wxListItem object can also contain item-specific colour and font
information: for this you need to call one of SetTextColour(),
SetBackgroundColour() or SetFont() functions on it passing it the colour/font to
use. If the colour/font is not specified, the default list control colour/font
is used.
</p>
</description>
</function>
<function type="long" name="SetItem">
<parameters>
<parameter type="long " name="index"></parameter>
<parameter type="int " name="col"></parameter>
<parameter type="const wxString&amp; " name="label"></parameter>
<parameter type="int " name="imageId" value="-1"></parameter>
</parameters>
<description>
<p>
Sets a string field at a particular column.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemBackgroundColour">
<function type="void" name="SetItemBackgroundColour">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="const wxColour&amp; " name="col"></parameter>
</parameters>
<description>
<p>
Sets the background colour for this item. This function only works in report
view.
</p>
<p>
The colour can be retrieved using
<ref target="wxlistctrlgetitembackgroundcolour">GetItemBackgroundColour</ref>
.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemCount">
<function type="void" name="SetItemCount">
<parameters>
<parameter type="long " name="count"></parameter>
</parameters>
<description>
<p>
This method can only be used with virtual list controls. It is used to indicate
to the control the number of items it contains. After calling it, the main
program should be ready to handle calls to various item callbacks (such as
<ref target="wxlistctrlongetitemtext">OnGetItemText</ref>
) for all items in the range from 0 to
<i>count</i>
.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemData">
<function type="bool" name="SetItemData">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="long " name="data"></parameter>
</parameters>
<description>
<p>
Associates application-defined data with this item.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemFont">
<function type="void" name="SetItemFont">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets the item's font.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemImage">
<function type="bool" name="SetItemImage">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="int " name="image"></parameter>
</parameters>
<description>
<p>
Sets the image associated with the item. The image is an index into the image
list associated with the list control.
</p>
</description>
</function>
<function type="bool" name="SetItemImage">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="int " name="image"></parameter>
<parameter type="int " name="selImage"></parameter>
</parameters>
<description>
<p>
Sets the unselected and selected images associated with the item. The images are
indices into the image list associated with the list control. This form is
deprecated:
<i>selImage</i>
is not used.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemPosition">
<function type="bool" name="SetItemPosition">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="const wxPoint&amp; " name="pos"></parameter>
</parameters>
<description>
<p>
Sets the position of the item, in icon or small icon view. Windows only.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemState">
<function type="bool" name="SetItemState">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="long " name="state"></parameter>
<parameter type="long " name="stateMask"></parameter>
</parameters>
<description>
<p>
Sets the item state. For a list of state flags, see
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
.
</p>
<p>
The
<b>stateMask</b>
indicates which state flags are valid.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemText">
<function type="void" name="SetItemText">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="const wxString&amp; " name="text"></parameter>
</parameters>
<description>
<p>
Sets the item text for this item.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetItemTextColour">
<function type="void" name="SetItemTextColour">
<parameters>
<parameter type="long " name="item"></parameter>
<parameter type="const wxColour&amp; " name="col"></parameter>
</parameters>
<description>
<p>
Sets the colour for this item. This function only works in report view.
</p>
<p>
The colour can be retrieved using
<ref target="wxlistctrlgetitemtextcolour">GetItemTextColour</ref>
.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetSingleStyle">
<function type="void" name="SetSingleStyle">
<parameters>
<parameter type="long " name="style"></parameter>
<parameter type="const bool " name="add" value="true"></parameter>
</parameters>
<description>
<p>
Adds or removes a single window style.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetTextColour">
<function type="void" name="SetTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="col"></parameter>
</parameters>
<description>
<p>
Sets the text colour of the list control.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SetWindowStyleFlag">
<function type="void" name="SetWindowStyleFlag">
<parameters>
<parameter type="long " name="style"></parameter>
</parameters>
<description>
<p>
Sets the whole window style, deleting all items.
</p>
</description>
</function>
</member>
<member class="wxListCtrl" name="SortItems">
<function type="bool" name="SortItems">
<parameters>
<parameter type="wxListCtrlCompare " name="fnSortCallBack"></parameter>
<parameter type="long " name="data">
the value passed to SortItems() itself.
</parameter>
</parameters>
<description>
<p>
Call this function to sort the items in the list control. Sorting is done using
the specified
<i>fnSortCallBack</i>
function. This function must have the following prototype:
</p>
<pre>
int wxCALLBACK wxListCompareFunction(long item1, long item2, long sortData)
</pre>
<p>
It is called each time when the two items must be compared and should return 0
if the items are equal, negative value if the first item is less than the second
one and positive value if the first one is greater than the second one (the same
convention as used by
<tt>qsort(3)</tt>
).
</p>
<p>
Notice that the control may only be sorted on client data associated with the
items, so you
<b>must</b>
use
<ref target="wxlistctrlsetitemdata">SetItemData</ref>
if you want to be able to sort the items in the control.
</p>
<p>
Please see the
<ref target="samplelistctrl">listctrl sample</ref>
for an example of using this function.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxListEvent">
<description>
<p class="classdesc">
A list event holds information about events associated with wxListCtrl objects.
</p>
</description>
<category>Events</category>
<shortdesc>A list control event</shortdesc>
<parents>
<ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
<ref type="help" target="wxCommandEvent">wxCommandEvent</ref>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/listctrl.h"/>
</includes>
<events>
<event name="EVT_LIST_BEGIN_DRAG(id, func)">Begin dragging with the left mouse button.</event>
<event name="EVT_LIST_BEGIN_RDRAG(id, func)">Begin dragging with the right mouse button.</event>
<event name="EVT_LIST_BEGIN_LABEL_EDIT(id, func)">Begin editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
<event name="EVT_LIST_END_LABEL_EDIT(id, func)">Finish editing a label. This can be prevented by calling <ref target="wxnotifyeventveto">Veto()</ref>.</event>
<event name="EVT_LIST_DELETE_ITEM(id, func)">Delete an item.</event>
<event name="EVT_LIST_DELETE_ALL_ITEMS(id, func)">Delete all items.</event>
<event name="EVT_LIST_ITEM_SELECTED(id, func)">The item has been selected.</event>
<event name="EVT_LIST_ITEM_DESELECTED(id, func)">The item has been deselected.</event>
<event name="EVT_LIST_ITEM_ACTIVATED(id, func)">The item has been activated (ENTER or double click).</event>
<event name="EVT_LIST_ITEM_FOCUSED(id, func)">The currently focused item has changed.</event>
<event name="EVT_LIST_ITEM_MIDDLE_CLICK(id, func)">The middle mouse button has been clicked on an item.</event>
<event name="EVT_LIST_ITEM_RIGHT_CLICK(id, func)">The right mouse button has been clicked on an item.</event>
<event name="EVT_LIST_KEY_DOWN(id, func)">A key has been pressed.</event>
<event name="EVT_LIST_INSERT_ITEM(id, func)">An item has been inserted.</event>
<event name="EVT_LIST_COL_CLICK(id, func)">A column (<b>m_col</b>) has been left-clicked.</event>
<event name="EVT_LIST_COL_RIGHT_CLICK(id, func)">A column (<b>m_col</b>) (which can be $-1$ if the click occurred outside any column) has been right-clicked.</event>
<event name="EVT_LIST_COL_BEGIN_DRAG(id, func)">The user started resizing a column - can be vetoed.</event>
<event name="EVT_LIST_COL_DRAGGING(id, func)">The divider between columns is being dragged.</event>
<event name="EVT_LIST_COL_END_DRAG(id, func)">A column has been resized by the user.</event>
<event name="EVT_LIST_CACHE_HINT(id, func)">Prepare cache for a virtual list control</event>
</events>
<seealso>
<ref target="wxlistctrl">wxListCtrl</ref>
</seealso>
<members>
<member class="wxListEvent" name="wxListEvent">
<function type="" name="wxListEvent">
<parameters>
<parameter type="WXTYPE " name="commandType" value="0"></parameter>
<parameter type="int " name="id" value="0"></parameter>
</parameters>
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetCacheFrom">
<function type="long" name="GetCacheFrom" suffix="const">
<description>
<p>
For
<tt>EVT_LIST_CACHE_HINT</tt>
event only: return the first item which the list control advises us to cache.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetCacheTo">
<function type="long" name="GetCacheTo" suffix="const">
<description>
<p>
For
<tt>EVT_LIST_CACHE_HINT</tt>
event only: return the last item (inclusive) which the list control advises us
to cache.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetKeyCode">
<function type="int" name="GetKeyCode" suffix="const">
<description>
<p>
Key code if the event is a keypress event.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetIndex">
<function type="long" name="GetIndex" suffix="const">
<description>
<p>
The item index.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetColumn">
<function type="int" name="GetColumn" suffix="const">
<description>
<p>
The column position: it is only used with
<tt>COL</tt>
events. For the column dragging events, it is the column to the left of the
divider being dragged, for the column click events it may be $-1$ if the user
clicked in the list control header outside any column.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetPoint">
<function type="wxPoint" name="GetPoint" suffix="const">
<description>
<p>
The position of the mouse pointer if the event is a drag event.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetLabel">
<function type="const wxString&amp;" name="GetLabel" suffix="const">
<description>
<p>
The (new) item label for
<tt>EVT_LIST_END_LABEL_EDIT</tt>
event.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetText">
<function type="const wxString&amp;" name="GetText" suffix="const">
<description>
<p>
The text.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetImage">
<function type="int" name="GetImage" suffix="const">
<description>
<p>
The image.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetData">
<function type="long" name="GetData" suffix="const">
<description>
<p>
The data.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetMask">
<function type="long" name="GetMask" suffix="const">
<description>
<p>
The mask.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="GetItem">
<function type="const wxListItem&amp;" name="GetItem" suffix="const">
<description>
<p>
An item object, used by some events. See also
<ref target="wxlistctrlsetitem">wxListCtrl::SetItem</ref>
.
</p>
</description>
</function>
</member>
<member class="wxListEvent" name="IsEditCancelled">
<function type="bool" name="IsEditCancelled" suffix="const">
<description>
<p>
This method only makes sense for
<tt>EVT_LIST_END_LABEL_EDIT</tt>
message and returns true if it the label editing has been cancelled by the user
(
<ref target="wxlisteventgetlabel">GetLabel</ref>
returns an empty string in this case but it doesn't allow the application to
distinguish between really cancelling the edit and the admittedly rare case when
the user wants to rename it to an empty string).
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxListItem">
<description>
<p class="classdesc">
This class stores information about a wxListCtrl item or column.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/listctrl.h"/>
</includes>
<members>
<member class="wxListItem" name="wxListItem">
<function type="" name="wxListItem">
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="Clear">
<function type="void" name="Clear">
<description>
<p>
Resets the item state to the default.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetAlign">
<function type="wxListColumnFormat" name="GetAlign" suffix="const">
<description>
<p>
Returns the alignment for this item. Can be one of wxLIST_FORMAT_LEFT,
wxLIST_FORMAT_RIGHT or wxLIST_FORMAT_CENTRE.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetBackgroundColour">
<function type="wxColour" name="GetBackgroundColour" suffix="const">
<description>
<p>
Returns the background colour for this item.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetColumn">
<function type="int" name="GetColumn" suffix="const">
<description>
<p>
Returns the zero-based column; meaningful only in report mode.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetData">
<function type="long" name="GetData" suffix="const">
<description>
<p>
Returns client data associated with the control. Please note that client data is
associated with the item and not with subitems.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetFont">
<function type="wxFont" name="GetFont" suffix="const">
<description>
<p>
Returns the font used to display the item.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetId">
<function type="long" name="GetId" suffix="const">
<description>
<p>
Returns the zero-based item position.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetImage">
<function type="int" name="GetImage" suffix="const">
<description>
<p>
Returns the zero-based index of the image associated with the item into the
image list.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetMask">
<function type="long" name="GetMask" suffix="const">
<description>
<p>
Returns a bit mask indicating which fields of the structure are valid; can be
any combination of the following values:
</p>
<table>
<tr>
<td>wxLIST_MASK_STATE</td>
<td>
<b>GetState</b> is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_TEXT</td>
<td>
<b>GetText</b> is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_IMAGE</td>
<td>
<b>GetImage</b> is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_DATA</td>
<td>
<b>GetData</b> is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_WIDTH</td>
<td>
<b>GetWidth</b> is valid.</td>
</tr>
<tr>
<td>wxLIST_MASK_FORMAT</td>
<td>
<b>GetFormat</b> is valid.</td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxListItem" name="GetState">
<function type="long" name="GetState" suffix="const">
<description>
<p>
Returns a bit field representing the state of the item. Can be any combination
of:
</p>
<table>
<tr>
<td>wxLIST_STATE_DONTCARE</td>
<td>Don't care what the state is. Win32 only. </td>
</tr>
<tr>
<td>wxLIST_STATE_DROPHILITED</td>
<td>The item is highlighted to receive a drop event. Win32 only. </td>
</tr>
<tr>
<td>wxLIST_STATE_FOCUSED</td>
<td>The item has the focus.</td>
</tr>
<tr>
<td>wxLIST_STATE_SELECTED</td>
<td>The item is selected.</td>
</tr>
<tr>
<td>wxLIST_STATE_CUT</td>
<td>The item is in the cut state. Win32 only. </td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxListItem" name="GetText">
<function type="const wxString&amp;" name="GetText" suffix="const">
<description>
<p>
Returns the label/header text.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetTextColour">
<function type="wxColour" name="GetTextColour" suffix="const">
<description>
<p>
Returns the text colour.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="GetWidth">
<function type="int" name="GetWidth" suffix="const">
<description>
<p>
Meaningful only for column headers in report mode. Returns the column width.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetAlign">
<function type="void" name="SetAlign">
<parameters>
<parameter type="wxListColumnFormat " name="align"></parameter>
</parameters>
<description>
<p>
Sets the alignment for the item. See also
<ref target="wxlistitemgetalign">wxListItem::GetAlign</ref>
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetBackgroundColour">
<function type="void" name="SetBackgroundColour">
<parameters>
<parameter type="const wxColour&amp; " name="colBack"></parameter>
</parameters>
<description>
<p>
Sets the background colour for the item.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetColumn">
<function type="void" name="SetColumn">
<parameters>
<parameter type="int " name="col"></parameter>
</parameters>
<description>
<p>
Sets the zero-based column. Meaningful only in report mode.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetData">
<function type="void" name="SetData">
<parameters>
<parameter type="long " name="data"></parameter>
</parameters>
<description></description>
</function>
<function type="void" name="SetData">
<parameters>
<parameter type="void&#42; " name="data"></parameter>
</parameters>
<description>
<p>
Sets client data for the item. Please note that client data is associated with
the item and not with subitems.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetFont">
<function type="void" name="SetFont">
<parameters>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets the font for the item.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetId">
<function type="void" name="SetId">
<parameters>
<parameter type="long " name="id"></parameter>
</parameters>
<description>
<p>
Sets the zero-based item position.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetImage">
<function type="void" name="SetImage">
<parameters>
<parameter type="int " name="image"></parameter>
</parameters>
<description>
<p>
Sets the zero-based index of the image associated with the item into the image
list.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetMask">
<function type="void" name="SetMask">
<parameters>
<parameter type="long " name="mask"></parameter>
</parameters>
<description>
<p>
Sets the mask of valid fields. See
<ref target="wxlistitemgetmask">wxListItem::GetMask</ref>
.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetState">
<function type="void" name="SetState">
<parameters>
<parameter type="long " name="state"></parameter>
</parameters>
<description>
<p>
Sets the item state flags (note that the valid state flags are influenced by the
value of the state mask, see
<ref target="wxlistitemsetstatemask">wxListItem::SetStateMask</ref>
). See
<ref target="wxlistitemgetstate">wxListItem::GetState</ref>
for valid flag values.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetStateMask">
<function type="void" name="SetStateMask">
<parameters>
<parameter type="long " name="stateMask"></parameter>
</parameters>
<description>
<p>
Sets the bitmask that is used to determine which of the state flags are to be
set. See also
<ref target="wxlistitemsetstate">wxListItem::SetState</ref>
.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetText">
<function type="void" name="SetText">
<parameters>
<parameter type="const wxString&amp; " name="text"></parameter>
</parameters>
<description>
<p>
Sets the text label for the item.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetTextColour">
<function type="void" name="SetTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="colText"></parameter>
</parameters>
<description>
<p>
Sets the text colour for the item.
</p>
</description>
</function>
</member>
<member class="wxListItem" name="SetWidth">
<function type="void" name="SetWidth">
<parameters>
<parameter type="int " name="width"></parameter>
</parameters>
<description>
<p>
Meaningful only for column headers in report mode. Sets the column width.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxListItemAttr">
<description>
<p class="classdesc">
Represents the attributes (color, font, \ldots) of a
<ref target="wxlistctrl">wxListCtrl</ref>
<ref target="wxlistctrl">wxListItem</ref>
.
</p>
</description>
<category>Miscellaneous</category>
<includes>
<header name="wx/listctrl.h"/>
</includes>
<seealso>
<ref target="wxlistctrloverview">wxListCtrl overview</ref>
<ref target="wxlistctrl">wxListCtrl</ref>
<ref target="wxlistitem">wxListItem</ref>
</seealso>
<members>
<member class="wxListItemAttr" name="wxListItemAttr">
<function type="" name="wxListItemAttr">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxListItemAttr">
<parameters>
<parameter type="const wxColour&amp; " name="colText"></parameter>
<parameter type="const wxColour&amp; " name="colBack"></parameter>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Construct a wxListItemAttr with the specified foreground and background colors
and font.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="GetBackgroundColour">
<function type="const wxColour&amp;" name="GetBackgroundColour" suffix="const">
<description>
<p>
Returns the currently set background color.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="GetFont">
<function type="const wxFont&amp;" name="GetFont" suffix="const">
<description>
<p>
Returns the currently set font.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="GetTextColour">
<function type="const wxColour&amp;" name="GetTextColour" suffix="const">
<description>
<p>
Returns the currently set text color.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="HasBackgroundColour">
<function type="bool" name="HasBackgroundColour" suffix="const">
<description>
<p>
Returns true if the currently set background color is valid.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="HasFont">
<function type="bool" name="HasFont" suffix="const">
<description>
<p>
Returns true if the currently set font is valid.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="HasTextColour">
<function type="bool" name="HasTextColour" suffix="const">
<description>
<p>
Returns true if the currently set text color is valid.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="SetBackgroundColour">
<function type="void" name="SetBackgroundColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets a new background color.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="SetFont">
<function type="void" name="SetFont">
<parameters>
<parameter type="const wxFont&amp; " name="font"></parameter>
</parameters>
<description>
<p>
Sets a new font.
</p>
</description>
</function>
</member>
<member class="wxListItemAttr" name="SetTextColour">
<function type="void" name="SetTextColour">
<parameters>
<parameter type="const wxColour&amp; " name="colour"></parameter>
</parameters>
<description>
<p>
Sets a new text color.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxListView">
<description>
<p class="classdesc">
This class currently simply presents a simpler to use interface for the
<ref target="wxlistctrl">wxListCtrl</ref>
-- it can be thought of as a
<i>fa\c{c</i>
ade} for that complicated class. Using it is preferable to using
<ref target="wxlistctrl">wxListCtrl</ref>
directly whenever possible because in the future some ports might implement
wxListView but not the full set of wxListCtrl features.
</p>
<p class="classdesc">
Other than different interface, this class is identical to wxListCtrl. In
particular, it uses the same events, same windows styles and so on.
</p>
</description>
<category>Controls</category>
<shortdesc>A simpler interface ({\it fa\c{c}ade} for wxListCtrl in report mode</shortdesc>
<parents>
<ref type="help" target="wxListCtrl">wxListCtrl</ref>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/listctrl.h"/>
</includes>
<members>
<member class="wxListView" name="ClearColumnImage">
<function type="void" name="ClearColumnImage">
<parameters>
<parameter type="int " name="col">
the column to clear image for
</parameter>
</parameters>
<seealso>
<ref target="wxlistviewsetcolumnimage">SetColumnImage</ref>
</seealso>
<description>
<p>
Resets the column image -- after calling this function, no image will be shown.
</p>
</description>
</function>
</member>
<member class="wxListView" name="Focus">
<function type="void" name="Focus">
<parameters>
<parameter type="long " name="index"></parameter>
</parameters>
<description>
<p>
Sets focus to the item with the given
<i>index</i>
.
</p>
</description>
</function>
</member>
<member class="wxListView" name="GetFirstSelected">
<function type="long" name="GetFirstSelected" suffix="const">
<returnvalue>
The fisrt selected item, if any, $-1$ otherwise.
</returnvalue>
<description>
<p>
Returns the first selected item in a (presumably) multiple selection control.
Tigether with
<ref target="wxlistviewgetnextselected">GetNextSelected</ref>
it can be used to iterate over all selected items in the control.
</p>
</description>
</function>
</member>
<member class="wxListView" name="GetFocusedItem">
<function type="long" name="GetFocusedItem" suffix="const">
<seealso>
<ref target="wxlistviewisselected">IsSelected</ref>
,
<br/>
<ref target="wxlistviewfocus">Focus</ref>
</seealso>
<description>
<p>
Returns the currently focused item or $-1$ if none.
</p>
</description>
</function>
</member>
<member class="wxListView" name="GetNextSelected">
<function type="long" name="GetNextSelected" suffix="const">
<parameters>
<parameter type="long " name="item"></parameter>
</parameters>
<returnvalue>
Returns the next selected item or $-1$ if there are no more of them.
</returnvalue>
<description>
<p>
Used together with
<ref target="wxlistviewgetfirstselected">GetFirstSelected</ref>
to iterate over all selected items in the control.
</p>
</description>
</function>
</member>
<member class="wxListView" name="IsSelected">
<function type="bool" name="IsSelected">
<parameters>
<parameter type="long " name="index"></parameter>
</parameters>
<seealso>
<ref target="wxlistviewgetfirstselected">GetFirstSelected</ref>
,
<br/>
<ref target="wxlistviewgetnextselected">GetNextSelected</ref>
</seealso>
<description>
<p>
Returns
<tt>true</tt>
if the item with the given
<i>index</i>
is selected,
<tt>false</tt>
otherwise.
</p>
</description>
</function>
</member>
<member class="wxListView" name="Select">
<function type="void" name="Select">
<parameters>
<parameter type="bool " name="on" value="true">
if
<tt>true</tt>
(default), selects the item, otherwise unselects it
</parameter>
</parameters>
<seealso>
<ref target="wxlistctrlsetitemstate">SetItemState</ref>
</seealso>
<description>
<p>
Selects or unselects the given item.
</p>
</description>
</function>
</member>
<member class="wxListView" name="SetColumnImage">
<function type="void" name="SetColumnImage">
<parameters>
<parameter type="int " name="col">
the column to set image for
</parameter>
<parameter type="int " name="image">
the index of the column image in the controls image list
</parameter>
</parameters>
<seealso>
<ref target="wxlistviewclearcolumnimage">ClearColumnImage</ref>
,
<br/>
<ref target="wxlistctrlsetimagelist">SetImageList</ref>
</seealso>
<description>
<p>
Sets the column image for the specified column. To use the column images, the
control must have a valid image list with at least one image.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxListbook">
<description>
<p class="classdesc">
wxListbook is a class similar to
<ref target="wxnotebook">wxNotebook</ref>
but which uses a
<ref target="wxlistctrl">wxListCtrl</ref>
to show the labels instead of the tabs.
</p>
<p class="classdesc">
There is no documentation for this class yet but its usage is identical to
wxNotebook (except for the features clearly related to tabs only), so please
refer to that class documentation for now. You can also use the
<ref target="samplenotebook">notebook sample</ref>
to see wxListbook in action.
</p>
</description>
<category>Miscellaneous windows</category>
<shortdesc>Similar to notebook but using list control</shortdesc>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/listbook.h"/>
</includes>
<windowstyles>
<style name="wxLB_DEFAULT">
wxLB_DEFAULT
</style>
<style name="wxLB_TOP">
Place labels above the page area.
</style>
<style name="wxLB_LEFT">
Place labels on the left side.
</style>
<style name="wxLB_RIGHT">
Place labels on the right side.
</style>
<style name="wxLB_BOTTOM">
Place labels below the page area.
</style>
</windowstyles>
<members></members>
<supported></supported>
</class>
<class name="wxLocale">
<description>
<p class="classdesc">
wxLocale class encapsulates all language-dependent settings and is a
generalization of the C locale concept.
</p>
<p class="classdesc">
In wxWidgets this class manages message catalogs which contain the translations
of the strings used to the current language.
</p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/intl.h"/>
</includes>
<seealso>
<ref target="internationalization">Internationalization overview</ref>
,
<br/>
<ref target="sampleinternat">Internat sample</ref>
</seealso>
<members>
<member class="wxLocale" name=""></member>
<member class="wxLocale" name="wxLocale">
<function type="" name="wxLocale">
<description>
<p>
This is the default constructor and it does nothing to initialize the object:
<ref target="wxlocaleinit">Init()</ref>
must be used to do that.
</p>
</description>
</function>
<function type="" name="wxLocale">
<parameters>
<parameter type="int " name="language"></parameter>
<parameter type="int " name="flags" value="wxLOCALE_LOAD_DEFAULT"></parameter>
</parameters>
<description>
<p>
See
<ref target="wxlocaleinit">Init()</ref>
for parameters description.
</p>
</description>
</function>
<function type="" name="wxLocale">
<parameters>
<parameter type="const char &#42;" name="szName"></parameter>
<parameter type="const char &#42;" name="szShort" value="NULL"></parameter>
<parameter type="const char &#42;" name="szLocale" value="NULL"></parameter>
<parameter type="bool " name="bLoadDefault" value="true"></parameter>
<parameter type="bool " name="bConvertEncoding" value="false"></parameter>
</parameters>
<description>
<p>
See
<ref target="wxlocaleinit">Init()</ref>
for parameters description.
</p>
<p>
The call of this function has several global side effects which you should
understand: first of all, the application locale is changed - note that this
will affect many of standard C library functions such as printf() or strftime().
Second, this wxLocale object becomes the new current global locale for the
application and so all subsequent calls to wxGetTranslation() will try to
translate the messages using the message catalogs for this locale.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="~wxLocale">
<function type="" name="~wxLocale">
<description>
<p>
The destructor, like the constructor, also has global side effects: the
previously set locale is restored and so the changes described in
<ref target="wxlocaleinit">Init</ref>
documentation are rolled back.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="AddCatalog">
<function type="bool" name="AddCatalog">
<parameters>
<parameter type="const char &#42;" name="szDomain"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="AddCatalog">
<parameters>
<parameter type="const char &#42;" name="szDomain"></parameter>
<parameter type="wxLanguage" name="msgIdLanguage"></parameter>
<parameter type="const char &#42;" name="msgIdCharset"></parameter>
</parameters>
<description>
<p>
Add a catalog for use with the current locale: it is searched for in standard
places (current directory first, then the system one), but you may also prepend
additional directories to the search path with
<ref target="wxlocaleaddcataloglookuppathprefix">AddCatalogLookupPathPrefix()</ref>
.
</p>
<p>
All loaded catalogs will be used for message lookup by
<ref target="wxlocalegetstring">GetString()</ref>
for the current locale.
</p>
<p>
Returns true if catalog was successfully loaded, false otherwise (which might
mean that the catalog is not found or that it isn't in the correct format).
</p>
<p>
The second form of this method takes two additional arguments,
<i>msgIdLanguage</i>
and
<i>msgIdCharset</i>
.
</p>
<p>
<i>msgIdLanguage</i>
specifies the language of &quot;msgid&quot; strings in source code (i.e.
arguments to
<ref target="wxlocalegetstring">GetString</ref>
,
<ref target="wxgettranslation">wxGetTranslation</ref>
and the
<ref target="underscore">_()</ref>
macro). It is used if AddCatalog cannot find any catalog for current language:
if the language is same as source code language, then strings from source code
are used instead.
</p>
<p>
<i>msgIdCharset</i>
lets you specify the charset used for msgids in sources in case they use 8-bit
characters (e.g. German or French strings). This argument has no effect in
Unicode build, because literals in sources are Unicode strings; you have to use
compiler-specific method of setting the right charset when compiling with
Unicode.
</p>
<p>
By default (i.e. when you use the first form), msgid strings are assumed to be
in English and written only using 7-bit ASCII characters.
</p>
<p>
If you have to deal with non-English strings or 8-bit characters in the source
code, see the instructions in
<ref target="nonenglishoverview">Writing non-English applications</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="AddCatalogLookupPathPrefix">
<function type="void" name="AddCatalogLookupPathPrefix">
<parameters>
<parameter type="const wxString&amp; " name="prefix"></parameter>
</parameters>
<description>
<p>
Add a prefix to the catalog lookup path: the message catalog files will be
looked up under prefix/&lt;lang&gt;/LC_MESSAGES, prefix/&lt;lang&gt; and prefix
(in this order).
</p>
<p>
This only applies to subsequent invocations of AddCatalog().
</p>
</description>
</function>
</member>
<member class="wxLocale" name="AddLanguage">
<function type="static void" name="AddLanguage">
<parameters>
<parameter type="const wxLanguageInfo&amp; " name="info"></parameter>
</parameters>
<description>
<p>
Adds custom, user-defined language to the database of known languages. This
database is used in conjunction with the first form of
<ref target="wxlocaleinit">Init</ref>
.
</p>
<p>
wxLanguageInfo is defined as follows:
</p>
<pre>
struct WXDLLEXPORT wxLanguageInfo
{
    int Language;                   // wxLanguage id
    wxString CanonicalName;         // Canonical name, e.g. fr_FR
#ifdef __WIN32__
    wxUint32 WinLang, WinSublang;   // Win32 language identifiers
                                    // (LANG_xxxx, SUBLANG_xxxx)
#endif
    wxString Description;           // human-readable name of the language
};
</pre>
<p>
<i>Language</i>
should be greater than wxLANGUAGE_USER_DEFINED.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="FindLanguageInfo">
<function type="static wxLanguageInfo &#42;" name="FindLanguageInfo">
<parameters>
<parameter type="const wxString&amp; " name="locale"></parameter>
</parameters>
<seealso>
<ref target="wxlocalegetlanguageinfo">GetLanguageInfo</ref>
</seealso>
<description>
<p>
This function may be used to find the language description structure for the
given locale, specified either as a two letter ISO language code (for example,
&quot;pt&quot;), a language code followed by the country code
(&quot;pt_BR&quot;) or a full, human readable, language description
(&quot;Portuguese-Brazil&quot;).
</p>
<p>
Returns the information for the given language or
<tt>NULL</tt>
if this language is unknown. Note that even if the returned pointer is valid,
the caller should
<i>not</i>
delete it.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetCanonicalName">
<function type="wxString" name="GetCanonicalName" suffix="const">
<description>
<p>
Returns the canonical form of current locale name. Canonical form is the one
that is used on UNIX systems: it is a two- or five-letter string in xx or xx_YY
format, where xx is ISO 639 code of language and YY is ISO 3166 code of the
country. Examples are &quot;en&quot;, &quot;en_GB&quot;, &quot;en_US&quot; or
&quot;fr_FR&quot;.
</p>
<p>
This form is internally used when looking up message catalogs.
</p>
<p>
Compare
<ref target="wxlocalegetsysname">GetSysName</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetLanguage">
<function type="int" name="GetLanguage" suffix="const">
<description>
<p>
Returns
<ref target="wxlanguage">wxLanguage</ref>
constant of current language. Note that you can call this function only if you
used the form of
<ref target="wxlocaleinit">Init</ref>
that takes wxLanguage argument.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetLanguageInfo">
<function type="static wxLanguageInfo &#42;" name="GetLanguageInfo" suffix="const">
<parameters>
<parameter type="int " name="lang"></parameter>
</parameters>
<description>
<p>
Returns a pointer to wxLanguageInfo structure containing information about the
given language or
<tt>NULL</tt>
if this language is unknown. Note that even if the returned pointer is valid,
the caller should
<i>not</i>
delete it.
</p>
<p>
See
<ref target="wxlocaleaddlanguage">AddLanguage</ref>
for the wxLanguageInfo description.
</p>
<p>
As with
<ref target="wxlocaleinit">Init</ref>
,
<tt>wxLANGUAGE_DEFAULT</tt>
has the special meaning if passed as an argument to this function and in this
case the result of
<ref target="wxlocalegetsystemlanguage">GetSystemLanguage()</ref>
is used.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetLanguageName">
<function type="static wxString" name="GetLanguageName" suffix="const">
<parameters>
<parameter type="int " name="lang"></parameter>
</parameters>
<description>
<p>
Returns English name of the given language or empty string if this language is
unknown.
</p>
<p>
See
<ref target="wxlocalegetlanguageinfo">GetLanguageInfo</ref>
for a remark about special meaning of
<tt>wxLANGUAGE_DEFAULT</tt>
.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetLocale">
<function type="const char&#42;" name="GetLocale" suffix="const">
<description>
<p>
Returns the locale name as passed to the constructor or
<ref target="wxlocaleinit">Init()</ref>
. This is full, human-readable name, e.g. &quot;English&quot; or
&quot;French&quot;.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetName">
<function type="const wxString&amp;" name="GetName" suffix="const">
<description>
<p>
Returns the current short name for the locale (as given to the constructor or
the Init() function).
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetString">
<function type="const char&#42;" name="GetString" suffix="const">
<parameters>
<parameter type="const char &#42;" name="szOrigString"></parameter>
<parameter type="const char &#42;" name="szDomain" value="NULL"></parameter>
</parameters>
<description></description>
</function>
<function type="const char&#42;" name="GetString" suffix="const">
<parameters>
<parameter type="const char &#42;" name="szOrigString"></parameter>
<parameter type="const char &#42;" name="szOrigString2"></parameter>
<parameter type="size_t " name="n"></parameter>
<parameter type="const char &#42;" name="szDomain" value="NULL"></parameter>
</parameters>
<remarks>
<p>
Domains are searched in the last to first order, i.e. catalogs added later
override those added before.
</p>
</remarks>
<description>
<p>
Retrieves the translation for a string in all loaded domains unless the szDomain
parameter is specified (and then only this catalog/domain is searched).
</p>
<p>
Returns original string if translation is not available (in this case an error
message is generated the first time a string is not found; use
<ref target="wxlogoverview">wxLogNull</ref>
to suppress it).
</p>
<p>
The second form is used when retrieving translation of string that has different
singular and plural form in English or different plural forms in some other
language. It takes two extra arguments:
<i>szOrigString</i>
parameter must contain the singular form of the string to be converted. It is
also used as the key for the search in the catalog. The
<i>szOrigString2</i>
parameter is the plural form (in English). The parameter
<i>n</i>
is used to determine the plural form. If no message catalog is found
<i>szOrigString</i>
is returned if `n == 1', otherwise
<i>szOrigString2</i>
. See
<a href="GNU gettext manual">http://www.gnu.org/manual/gettext/html_chapter/gettext_10.html#SEC150</a>
for additional information on plural forms handling.
</p>
<p>
This method is called by the
<ref target="wxgettranslation">wxGetTranslation</ref>
function and
<ref target="underscore">_()</ref>
macro.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetHeaderValue">
<function type="wxString" name="GetHeaderValue" suffix="const">
<parameters>
<parameter type="const char &#42;" name="szHeader"></parameter>
<parameter type="const char &#42;" name="szDomain" value="NULL"></parameter>
</parameters>
<description>
<p>
Returns the header value for header
<i>szHeader</i>
. The search for
<i>szHeader</i>
is case sensitive. If an
<i>szDomain</i>
is passed, this domain is searched. Else all domains will be searched until a
header has been found. The return value is the value of the header if found.
Else this will be empty.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetSysName">
<function type="wxString" name="GetSysName" suffix="const">
<description>
<p>
Returns current platform-specific locale name as passed to setlocale().
</p>
<p>
Compare
<ref target="wxlocalegetcanonicalname">GetCanonicalName</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetSystemEncoding">
<function type="static wxFontEncoding" name="GetSystemEncoding" suffix="const">
<description>
<p>
Tries to detect the user's default font encoding. Returns
<ref target="wxfont">wxFontEncoding</ref>
value or
<b>wxFONTENCODING_SYSTEM</b>
if it couldn't be determined.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetSystemEncodingName">
<function type="static wxString" name="GetSystemEncodingName" suffix="const">
<description>
<p>
Tries to detect the name of the user's default font encoding. This string isn't
particularly useful for the application as its form is platform-dependent and so
you should probably use
<ref target="wxlocalegetsystemencoding">GetSystemEncoding</ref>
instead.
</p>
<p>
Returns a user-readable string value or an empty string if it couldn't be
determined.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="GetSystemLanguage">
<function type="static int" name="GetSystemLanguage" suffix="const">
<description>
<p>
Tries to detect the user's default language setting. Returns
<ref target="wxlanguage">wxLanguage</ref>
value or
<b>wxLANGUAGE_UNKNOWN</b>
if the language-guessing algorithm failed.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="Init">
<function type="bool" name="Init">
<parameters>
<parameter type="int " name="language" value="wxLANGUAGE_DEFAULT">
<ref target="wxlanguage">wxLanguage</ref>
identifier of the locale. wxLANGUAGE_DEFAULT has special meaning -- wxLocale
will use system's default language (see
<ref target="wxlocalegetsystemlanguage">GetSystemLanguage</ref>
).
</parameter>
<parameter type="int " name="flags" value="wxLOCALE_LOAD_DEFAULT"></parameter>
</parameters>
<description></description>
</function>
<function type="bool" name="Init">
<parameters>
<parameter type="const char &#42;" name="szName">
The name of the locale. Only used in diagnostic messages.
</parameter>
<parameter type="const char &#42;" name="szShort" value="NULL">
The standard 2 letter locale abbreviation; it is used as the directory prefix
when looking for the message catalog files.
</parameter>
<parameter type="const char &#42;" name="szLocale" value="NULL">
The parameter for the call to setlocale(). Note that it is platform-specific.
</parameter>
<parameter type="bool " name="bLoadDefault" value="true">
May be set to false to prevent loading of the message catalog for the given
locale containing the translations of standard wxWidgets messages. This
parameter would be rarely used in normal circumstances.
</parameter>
<parameter type="bool " name="bConvertEncoding" value="false">
May be set to true to do automatic conversion of message catalogs to platform's
native encoding. Note that it will do only basic conversion between well-known
pair like iso8859-1 and windows-1252 or iso8859-2 and windows-1250. See
<ref target="nonenglishoverview">Writing non-English applications</ref>
for detailed description of this behaviour.
</parameter>
</parameters>
<description>
<p>
The second form is deprecated, use the first one unless you know what you are
doing.
</p>
<p>
The call of this function has several global side effects which you should
understand: first of all, the application locale is changed - note that this
will affect many of standard C library functions such as printf() or strftime().
Second, this wxLocale object becomes the new current global locale for the
application and so all subsequent calls to
<ref target="wxgettranslation">wxGetTranslation()</ref>
will try to translate the messages using the message catalogs for this locale.
</p>
<p>
Returns true on success or false if the given locale couldn't be set.
</p>
</description>
</function>
</member>
<member class="wxLocale" name="IsLoaded">
<function type="bool" name="IsLoaded" suffix="const">
<parameters>
<parameter type="const char&#42; " name="domain"></parameter>
</parameters>
<description>
<p>
Check if the given catalog is loaded, and returns true if it is.
</p>
<p>
According to GNU gettext tradition, each catalog normally corresponds to
'domain' which is more or less the application name.
</p>
<p>
See also
<ref target="wxlocaleaddcatalog">AddCatalog</ref>
</p>
</description>
</function>
</member>
<member class="wxLocale" name="IsOk">
<function type="bool" name="IsOk" suffix="const">
<description>
<p>
Returns true if the locale could be set successfully.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLog">
<description>
<p class="classdesc">
wxLog class defines the interface for the
<i>log targets</i>
used by wxWidgets logging functions as explained in the
<ref target="wxlogoverview">wxLog overview</ref>
. The only situations when you need to directly use this class is when you want
to derive your own log target because the existing ones don't satisfy your
needs. Another case is if you wish to customize the behaviour of the standard
logging classes (all of which respect the wxLog settings): for example, set
which trace messages are logged and which are not or change (or even remove
completely) the timestamp on the messages.
</p>
<p class="classdesc">
Otherwise, it is completely hidden behind the
<i>wxLogXXX()</i>
functions and you may not even know about its existence.
</p>
<p class="classdesc">
See
<ref target="wxlogoverview">log overview</ref>
for the descriptions of wxWidgets logging facilities.
</p>
</description>
<category>Logging features</category>
<shortdesc>The base log class</shortdesc>
<parents></parents>
<includes>
<header name="wx/log.h"/>
</includes>
<members>
<member class="wxLog" name="AddTraceMask">
<function type="static void" name="AddTraceMask">
<parameters>
<parameter type="const wxString&amp; " name="mask"></parameter>
</parameters>
<seealso>
<ref target="wxlogremovetracemask">RemoveTraceMask</ref>
<ref target="wxloggettracemasks">GetTraceMasks</ref>
</seealso>
<description>
<p>
Add the
<i>mask</i>
to the list of allowed masks for
<ref target="wxlogtrace">wxLogTrace</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLog" name="ClearTraceMasks">
<function type="static void" name="ClearTraceMasks">
<seealso>
<ref target="wxlogremovetracemask">RemoveTraceMask</ref>
</seealso>
<description>
<p>
Removes all trace masks previously set with
<ref target="wxlogaddtracemask">AddTraceMask</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLog" name="GetTraceMasks">
<function type="static const wxArrayString &amp;" name="GetTraceMasks">
<seealso>
<ref target="wxlogaddtracemask">AddTraceMask</ref>
.
</seealso>
<description>
<p>
Returns the currently allowed list of string trace masks.
</p>
</description>
</function>
</member>
<member class="wxLog" name="OnLog">
<function type="static void" name="OnLog">
<parameters>
<parameter type="wxLogLevel  " name="level"></parameter>
<parameter type="const char &#42;  " name="message"></parameter>
</parameters>
<description>
<p>
Forwards the message at specified level to the
<i>DoLog()</i>
function of the active log target if there is any, does nothing otherwise.
</p>
</description>
</function>
</member>
<member class="wxLog" name="GetActiveTarget">
<function type="static wxLog &#42;" name="GetActiveTarget">
<description>
<p>
Returns the pointer to the active log target (may be NULL).
</p>
</description>
</function>
</member>
<member class="wxLog" name="SetActiveTarget">
<function type="static wxLog &#42;" name="SetActiveTarget">
<parameters>
<parameter type="wxLog &#42;  " name="logtarget"></parameter>
</parameters>
<description>
<p>
Sets the specified log target as the active one. Returns the pointer to the
previous active log target (may be NULL). To supress logging use a new instance
of wxLogNull not NULL. If the active log target is set to NULL a new default log
target will be created when logging occurs.
</p>
</description>
</function>
</member>
<member class="wxLog" name="Suspend">
<function type="static void" name="Suspend">
<seealso>
<ref target="wxlogresume">Resume</ref>
,
<br/>
<ref target="wxlogoverview">wxLogNull</ref>
</seealso>
<description>
<p>
Suspends the logging until
<ref target="wxlogresume">Resume</ref>
is called. Note that the latter must be called the same number of times as the
former to undo it, i.e. if you call Suspend() twice you must call Resume() twice
as well.
</p>
<p>
Note that suspending the logging means that the log sink won't be be flushed
periodically, it doesn't have any effect if the current log target does the
logging immediately without waiting for
<ref target="wxlogflush">Flush</ref>
to be called (the standard GUI log target only shows the log dialog when it is
flushed, so Suspend() works as expected with it).
</p>
</description>
</function>
</member>
<member class="wxLog" name="Resume">
<function type="static void" name="Resume">
<description>
<p>
Resumes logging previously suspended by a call to
<ref target="wxlogsuspend">Suspend</ref>
. All messages logged in the meanwhile will be flushed soon.
</p>
</description>
</function>
</member>
<member class="wxLog" name="DoLog">
<function type="virtual void" name="DoLog">
<parameters>
<parameter type="wxLogLevel " name="level"></parameter>
<parameter type="const wxChar &#42;" name="msg"></parameter>
<parameter type="time_t " name="timestamp"></parameter>
</parameters>
<description>
<p>
Called to process the message of the specified severity.
<i>msg</i>
is the text of the message as specified in the call of
<i>wxLogXXX()</i>
function which generated it and
<i>timestamp</i>
is the moment when the message was generated.
</p>
<p>
The base class version prepends the timestamp to the message, adds a prefix
corresponding to the log level and then calls
<ref target="wxlogdologstring">DoLogString</ref>
with the resulting string.
</p>
</description>
</function>
</member>
<member class="wxLog" name="DoLogString">
<function type="virtual void" name="DoLogString">
<parameters>
<parameter type="const wxChar &#42;" name="msg"></parameter>
<parameter type="time_t " name="timestamp"></parameter>
</parameters>
<description>
<p>
Called to log the specified string. The timestamp is already included into the
string but still passed to this function.
</p>
<p>
A simple implementation may just send the string to
<tt>stdout</tt>
or, better,
<tt>stderr</tt>
.
</p>
</description>
</function>
</member>
<member class="wxLog" name="DontCreateOnDemand">
<function type="static void" name="DontCreateOnDemand">
<description>
<p>
Instructs wxLog to not create new log targets on the fly if there is none
currently. (Almost) for internal use only: it is supposed to be called by the
application shutdown code.
</p>
<p>
Note that this function also calls
<ref target="wxlogcleartracemasks">ClearTraceMasks</ref>
.
</p>
</description>
</function>
</member>
<member class="wxLog" name="Flush">
<function type="virtual void" name="Flush">
<description>
<p>
Shows all the messages currently in buffer and clears it. If the buffer is
already empty, nothing happens.
</p>
</description>
</function>
</member>
<member class="wxLog" name="FlushActive">
<function type="static void" name="FlushActive">
<seealso>
<ref target="wxlogflush">Flush</ref>
</seealso>
<description>
<p>
Flushes the current log target if any, does nothing if there is none.
</p>
</description>
</function>
</member>
<member class="wxLog" name="SetVerbose">
<function type="static void" name="SetVerbose">
<parameters>
<parameter type="bool  " name="verbose" value="true"></parameter>
</parameters>
<description>
<p>
Activates or deactivates verbose mode in which the verbose messages are logged
as the normal ones instead of being silently dropped.
</p>
</description>
</function>
</member>
<member class="wxLog" name="GetVerbose">
<function type="static bool" name="GetVerbose">
<description>
<p>
Returns whether the verbose mode is currently active.
</p>
</description>
</function>
</member>
<member class="wxLog" name="SetLogLevel">
<function type="static void" name="SetLogLevel">
<parameters>
<parameter type="wxLogLevel  " name="logLevel"></parameter>
</parameters>
<description>
<p>
Specifies that log messages with $level &gt; logLevel$ should be ignored and not
sent to the active log target.
</p>
</description>
</function>
</member>
<member class="wxLog" name="GetLogLevel">
<function type="static wxLogLevel" name="GetLogLevel">
<description>
<p>
Returns the current log level limit.
</p>
</description>
</function>
</member>
<member class="wxLog" name="SetTimestamp">
<function type="void" name="SetTimestamp">
<parameters>
<parameter type="const char &#42;  " name="format"></parameter>
</parameters>
<description>
<p>
Sets the timestamp format prepended by the default log targets to all messages.
The string may contain any normal characters as well as % prefixed format
specificators, see
<i>strftime()</i>
manual for details. Passing a NULL value (not empty string) to this function
disables message timestamping.
</p>
</description>
</function>
</member>
<member class="wxLog" name="GetTimestamp">
<function type="const char &#42;" name="GetTimestamp" suffix="const">
<description>
<p>
Returns the current timestamp format string.
</p>
</description>
</function>
</member>
<member class="wxLog" name="SetTraceMask">
<function type="static void" name="SetTraceMask">
<parameters>
<parameter type="wxTraceMask  " name="mask"></parameter>
</parameters>
<description>
<p>
Sets the trace mask, see
<ref target="wxlogcustomization">Customization</ref>
section for details.
</p>
</description>
</function>
</member>
<member class="wxLog" name="GetTraceMask"></member>
<member class="wxLog" name="IsAllowedTraceMask">
<function type="static bool" name="IsAllowedTraceMask">
<parameters>
<parameter type="const wxChar &#42;" name="mask"></parameter>
</parameters>
<description>
<p>
Returns true if the
<i>mask</i>
is one of allowed masks for
<ref target="wxlogtrace">wxLogTrace</ref>
.
</p>
<p>
See also
<ref target="wxlogaddtracemask">AddTraceMask</ref>
,
<ref target="wxlogremovetracemask">RemoveTraceMask</ref>
</p>
</description>
</function>
</member>
<member class="wxLog" name="RemoveTraceMask">
<function type="static void" name="RemoveTraceMask">
<parameters>
<parameter type="const wxString&amp; " name="mask"></parameter>
</parameters>
<description>
<p>
Remove the
<i>mask</i>
from the list of allowed masks for
<ref target="wxlogtrace">wxLogTrace</ref>
.
</p>
<p>
See also
<ref target="wxlogaddtracemask">AddTraceMask</ref>
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogChain">
<description>
<p class="classdesc">
This simple class allows to chain log sinks, that is to install a new sink but
keep passing log messages to the old one instead of replacing it completely as
<ref target="wxlogsetactivetarget">SetActiveTarget</ref>
does.
</p>
<p class="classdesc">
It is especially useful when you want to divert the logs somewhere (for example
to a file or a log window) but also keep showing the error messages using the
standard dialogs as
<ref target="wxlogoverview">wxLogGui</ref>
does by default.
</p>
<p class="classdesc">
Example of usage:
</p>
<p class="classdesc">
<pre>
wxLogChain &#42;logChain = new wxLogChain(new wxLogStderr);

// all the log messages are sent to stderr and also processed as usually
...

// don't delete logChain directly as this would leave a dangling
// pointer as active log target, use SetActiveTarget() instead
delete wxLog::SetActiveTarget(...something else or NULL...);

</pre>
</p>
</description>
<category>Logging features</category>
<shortdesc>Allows to chain two log targets</shortdesc>
<parents>
<ref type="help" target="wxLog">wxLog</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<members>
<member class="wxLogChain" name="wxLogChain">
<function type="" name="wxLogChain">
<parameters>
<parameter type="wxLog &#42;" name="logger"></parameter>
</parameters>
<description>
<p>
Sets the specified
<tt>logger</tt>
(which may be
<tt>NULL</tt>
) as the default log target but the log messages are also passed to the previous
log target if any.
</p>
</description>
</function>
</member>
<member class="wxLogChain" name="~wxLogChain">
<function type="" name="~wxLogChain">
<description>
<p>
Destroys the previous log target.
</p>
</description>
</function>
</member>
<member class="wxLogChain" name="GetOldLog">
<function type="wxLog &#42;" name="GetOldLog" suffix="const">
<description>
<p>
Returns the pointer to the previously active log target (which may be
<tt>NULL</tt>
).
</p>
</description>
</function>
</member>
<member class="wxLogChain" name="IsPassingMessages">
<function type="bool" name="IsPassingMessages" suffix="const">
<description>
<p>
Returns
<tt>true</tt>
if the messages are passed to the previously active log target (default) or
<tt>false</tt>
if
<ref target="wxlogchainpassmessages">PassMessages</ref>
had been called.
</p>
</description>
</function>
</member>
<member class="wxLogChain" name="PassMessages">
<function type="void" name="PassMessages">
<parameters>
<parameter type="bool " name="passMessages"></parameter>
</parameters>
<description>
<p>
By default, the log messages are passed to the previously active log target.
Calling this function with
<tt>false</tt>
parameter disables this behaviour (presumably temporarily, as you shouldn't use
wxLogChain at all otherwise) and it can be reenabled by calling it again with
<i>passMessages</i>
set to
<tt>true</tt>
.
</p>
</description>
</function>
</member>
<member class="wxLogChain" name="SetLog">
<function type="void" name="SetLog">
<parameters>
<parameter type="wxLog &#42;" name="logger"></parameter>
</parameters>
<description>
<p>
Sets another log target to use (may be
<tt>NULL</tt>
). The log target specified in the
<ref target="wxlogchainctor">constructor</ref>
or in a previous call to this function is deleted.
</p>
<p>
This doesn't change the old log target value (the one the messages are forwarded
to) which still remains the same as was active when wxLogChain object was
created.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogGui">
<description>
<p class="classdesc">
This is the default log target for the GUI wxWidgets applications. It is passed
to
<ref target="wxlogsetactivetarget">wxLog::SetActiveTarget</ref>
at the program startup and is deleted by wxWidgets during the program shut down.
</p>
</description>
<category>Logging features</category>
<shortdesc>Default log target for GUI programs</shortdesc>
<parents>
<ref type="help" target="wxLog">wxLog</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<members>
<member class="wxLogGui" name="wxLogGui">
<function type="" name="wxLogGui">
<description>
<p>
Default constructor.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogNull">
<description>
<p class="classdesc">
This class allows to temporarily suspend logging. All calls to the log functions
during the life time of an object of this class are just ignored.
</p>
<p class="classdesc">
In particular, it can be used to suppress the log messages given by wxWidgets
itself but it should be noted that it is rarely the best way to cope with this
problem as
<b>all</b>
log messages are suppressed, even if they indicate a completely different error
than the one the programmer wanted to suppress.
</p>
<p class="classdesc">
For instance, the example of the overview:
</p>
<p class="classdesc">
<pre>
  wxFile file;

  // wxFile.Open() normally complains if file can't be opened, we don't want it
  {
    wxLogNull logNo;
    if ( !file.Open(&quot;bar&quot;) )
      ... process error ourselves ...
  } // ~wxLogNull called, old log sink restored

  wxLogMessage(&quot;...&quot;); // ok
</pre>
</p>
<p class="classdesc">
would be better written as:
</p>
<p class="classdesc">
<pre>
  wxFile file;

  // don't try to open file if it doesn't exist, we are prepared to deal with
  // this ourselves - but all other errors are not expected
  if ( wxFile::Exists(&quot;bar&quot;) )
  {
      // gives an error message if the file couldn't be opened
      file.Open(&quot;bar&quot;);
  }
  else
  {
      ...
  }
</pre>
</p>
</description>
<category>Logging features</category>
<shortdesc>Temporarily suppress message logging</shortdesc>
<parents>
<ref type="help" target="wxLog">wxLog</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<members>
<member class="wxLogNull" name="wxLogNull">
<function type="" name="wxLogNull">
<description>
<p>
Suspends logging.
</p>
</description>
</function>
</member>
<member class="wxLogNull" name="~wxLogNull"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogPassThrough">
<description>
<p class="classdesc">
A special version of
<ref target="wxlogchain">wxLogChain</ref>
which uses itself as the new log target. Maybe more clearly, it means that this
is a log target which forwards the log messages to the previously installed one
in addition to processing them itself.
</p>
<p class="classdesc">
Unlike
<ref target="wxlogchain">wxLogChain</ref>
which is usually used directly as is, this class must be derived from to
implement
<ref target="wxlogdolog">DoLog</ref>
and/or
<ref target="wxlogdologstring">DoLogString</ref>
methods.
</p>
</description>
<category>Logging features</category>
<shortdesc>Allows to filter the log messages</shortdesc>
<parents>
<ref type="help" target="wxLogChain">wxLogChain</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<members>
<member class="wxLogPassThrough" name="wxLogPassThrough"></member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogStderr">
<description>
<p class="classdesc">
This class can be used to redirect the log messages to a C file stream (not to
be confused with C++ streams). It is the default log target for the non-GUI
wxWidgets applications which send all the output to
<tt>stderr</tt>
.
</p>
</description>
<category>Logging features</category>
<shortdesc>Log messages to a C STDIO stream</shortdesc>
<parents>
<ref type="help" target="wxLog">wxLog</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<seealso>
<ref target="wxlogstream">wxLogStream</ref>
</seealso>
<members>
<member class="wxLogStderr" name="wxLogStderr">
<function type="" name="wxLogStderr">
<parameters>
<parameter type="FILE &#42;" name="fp" value="NULL"></parameter>
</parameters>
<description>
<p>
Constructs a log target which sends all the log messages to the given
<tt>FILE</tt>
. If it is
<tt>NULL</tt>
, the messages are sent to
<tt>stderr</tt>
.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogStream">
<description>
<p class="classdesc">
This class can be used to redirect the log messages to a C++ stream.
</p>
<p class="classdesc">
Please note that this class is only available if wxWidgets was compiled with the
standard iostream library support (
<tt>wxUSE_STD_IOSTREAM</tt>
must be on).
</p>
</description>
<category>Logging features</category>
<shortdesc>Log messages to a C++ iostream</shortdesc>
<parents>
<ref type="help" target="wxLog">wxLog</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<seealso>
<ref target="wxlogstderr">wxLogStderr</ref>
,
<br/>
<ref target="wxstreamtotextredirector">wxStreamToTextRedirector</ref>
</seealso>
<members>
<member class="wxLogStream" name="wxLogStream">
<function type="" name="wxLogStream">
<parameters>
<parameter type="std::ostream &#42;" name="ostr" value="NULL"></parameter>
</parameters>
<description>
<p>
Constructs a log target which sends all the log messages to the given output
stream. If it is
<tt>NULL</tt>
, the messages are sent to
<tt>cerr</tt>
.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogTextCtrl">
<description>
<p class="classdesc">
Using these target all the log messages can be redirected to a text control. The
text control must have been created with
<tt>wxTE_MULTILINE</tt>
style by the caller previously.
</p>
</description>
<category>Logging features</category>
<shortdesc>Log messages to a \helpref{wxTextCtrl}{wxtextctrl}</shortdesc>
<parents>
<ref type="help" target="wxLog">wxLog</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<seealso>
<ref target="wxlogtextctrl">wxLogTextCtrl</ref>
,
<br/>
<ref target="wxstreamtotextredirector">wxStreamToTextRedirector</ref>
</seealso>
<members>
<member class="wxLogTextCtrl" name="wxLogTextCtrl">
<function type="" name="wxLogTextCtrl">
<parameters>
<parameter type="wxTextCtrl &#42;" name="textctrl"></parameter>
</parameters>
<description>
<p>
Constructs a log target which sends all the log messages to the given text
control. The
<i>textctrl</i>
parameter cannot be
<tt>NULL</tt>
.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLogWindow">
<description>
<p class="classdesc">
This class represents a background log window: to be precise, it collects all
log messages in the log frame which it manages but also passes them on to the
log target which was active at the moment of its creation. This allows, for
example, to show all the log messages in a frame but still continue to process
them normally by showing the standard log dialog.
</p>
</description>
<category>Logging features</category>
<shortdesc>Log messages to a log frame</shortdesc>
<parents>
<ref type="help" target="wxLogPassThrough">wxLogPassThrough</ref>
</parents>
<includes>
<header name="wx/log.h"/>
</includes>
<seealso>
<ref target="wxlogtextctrl">wxLogTextCtrl</ref>
</seealso>
<members>
<member class="wxLogWindow" name="wxLogWindow">
<function type="" name="wxLogWindow">
<parameters>
<parameter type="wxFrame &#42;" name="parent">
The parent window for the log frame, may be
<tt>NULL</tt>
</parameter>
<parameter type="const wxChar &#42;" name="title">
The title for the log frame
</parameter>
<parameter type="bool " name="show" value="true">
<tt>true</tt>
to show the frame initially (default), otherwise
<ref target="wxlogwindowshow">wxLogWindow::Show</ref>
must be called later.
</parameter>
<parameter type="bool " name="passToOld" value="true">
<tt>true</tt>
to process the log messages normally in addition to logging them in the log
frame (default),
<tt>false</tt>
to only log them in the log frame.
</parameter>
</parameters>
<description>
<p>
Creates the log frame window and starts collecting the messages in it.
</p>
</description>
</function>
</member>
<member class="wxLogWindow" name="Show">
<function type="void" name="Show">
<parameters>
<parameter type="bool " name="show" value="true"></parameter>
</parameters>
<description>
<p>
Shows or hides the frame.
</p>
</description>
</function>
</member>
<member class="wxLogWindow" name="GetFrame">
<function type="wxFrame &#42;" name="GetFrame" suffix="const">
<description>
<p>
Returns the associated log frame window. This may be used to position or resize
it but use
<ref target="wxlogwindowshow">wxLogWindow::Show</ref>
to show or hide it.
</p>
</description>
</function>
</member>
<member class="wxLogWindow" name="OnFrameCreate">
<function type="virtual void" name="OnFrameCreate">
<parameters>
<parameter type="wxFrame &#42;" name="frame"></parameter>
</parameters>
<description>
<p>
Called immediately after the log frame creation allowing for any extra
initializations.
</p>
</description>
</function>
</member>
<member class="wxLogWindow" name="OnFrameClose">
<function type="virtual bool" name="OnFrameClose">
<parameters>
<parameter type="wxFrame &#42;" name="frame"></parameter>
</parameters>
<seealso>
<ref target="wxlogwindowonframedelete">wxLogWindow::OnFrameDelete</ref>
</seealso>
<description>
<p>
Called if the user closes the window interactively, will not be called if it is
destroyed for another reason (such as when program exits).
</p>
<p>
Return
<tt>true</tt>
from here to allow the frame to close,
<tt>false</tt>
to prevent this from happening.
</p>
</description>
</function>
</member>
<member class="wxLogWindow" name="OnFrameDelete">
<function type="virtual void" name="OnFrameDelete">
<parameters>
<parameter type="wxFrame &#42;" name="frame"></parameter>
</parameters>
<description>
<p>
Called right before the log frame is going to be deleted: will always be called
unlike
<ref target="wxlogwindowonframeclose">OnFrameClose()</ref>
.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxLongLong">
<description>
<p class="classdesc">
This class represents a signed 64 bit long number. It is implemented using the
native 64 bit type where available (machines with 64 bit longs or compilers
which have (an analog of)
<i>long long</i>
type) and uses the emulation code in the other cases which ensures that it is
the most efficient solution for working with 64 bit integers independently of
the architecture.
</p>
<p class="classdesc">
wxLongLong defines all usual arithmetic operations such as addition,
subtraction, bitwise shifts and logical operations as well as multiplication and
division (not yet for the machines without native
<i>long long</i>
). It also has operators for implicit construction from and conversion to the
native
<i>long long</i>
type if it exists and
<i>long</i>
.
</p>
<p class="classdesc">
You would usually use this type in exactly the same manner as any other
(built-in) arithmetic type. Note that wxLongLong is a signed type, if you want
unsigned values use wxULongLong which has exactly the same API as wxLongLong
except when explicitly mentioned otherwise.
</p>
<p class="classdesc">
If a native (i.e. supported directly by the compiler) 64 bit integer type was
found to exist,
<i>wxLongLong_t</i>
macro will be defined to correspond to it. Also, in this case only, two
additional macros will be defined:
<ref target="wxlonglongfmtspec">wxLongLongFmtSpec</ref>
for printing 64 bit integers using the standard
<tt>printf()</tt>
function (but see also
<ref target="wxlonglongtostring">ToString()</ref>
for a more portable solution) and
<ref target="wxll">wxLL</ref>
for defining 64 bit integer compile-time constants.
</p>
</description>
<category>Data structures</category>
<shortdesc>A portable 64 bit integer type</shortdesc>
<parents></parents>
<includes>
<header name="wx/longlong.h"/>
</includes>
<members>
<member class="wxLongLong" name="wxLongLong">
<function type="" name="wxLongLong">
<description>
<p>
Default constructor initializes the object to 0.
</p>
</description>
</function>
<function type="" name="wxLongLong">
<parameters>
<parameter type="wxLongLong_t " name="ll"></parameter>
</parameters>
<description>
<p>
Constructor from native long long (only for compilers supporting it).
</p>
</description>
</function>
<function type="" name="wxLongLong">
<parameters>
<parameter type="long " name="hi"></parameter>
<parameter type="unsigned long " name="lo"></parameter>
</parameters>
<description>
<p>
Constructor from 2 longs: the high and low part are combined into one
wxLongLong.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator=">
<function type="wxLongLong&amp; operator" name="operator=">
<parameters>
<parameter type="wxLongLong_t " name="ll"></parameter>
</parameters>
<description>
<p>
Assignment operator from native long long (only for compilers supporting it).
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="Abs">
<function type="wxLongLong" name="Abs" suffix="const">
<description></description>
</function>
<function type="wxLongLong&amp;" name="Abs">
<description>
<p>
Returns an absolute value of wxLongLong - either making a copy (const version)
or modifying it in place (the second one). Not in wxULongLong.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="Assign">
<function type="wxLongLong&amp;" name="Assign">
<parameters>
<parameter type="double " name="d"></parameter>
</parameters>
<description>
<p>
This allows to convert a double value to wxLongLong type. Such conversion is not
always possible in which case the result will be silently truncated in a
platform-dependent way. Not in wxULongLong.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="GetHi">
<function type="long" name="GetHi" suffix="const">
<description>
<p>
Returns the high 32 bits of 64 bit integer.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="GetLo">
<function type="unsigned long" name="GetLo" suffix="const">
<description>
<p>
Returns the low 32 bits of 64 bit integer.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="GetValue">
<function type="wxLongLong_t" name="GetValue" suffix="const">
<description>
<p>
Convert to native long long (only for compilers supporting it)
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="ToLong">
<function type="long" name="ToLong" suffix="const">
<description>
<p>
Truncate wxLongLong to long. If the conversion loses data (i.e. the wxLongLong
value is outside the range of built-in long type), an assert will be triggered
in debug mode.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="ToString">
<function type="wxString" name="ToString" suffix="const">
<description>
<p>
Returns the string representation of a wxLongLong.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$+$">
<function type="wxLongLong" name="operator$+$" suffix="const">
<parameters>
<parameter type="const wxLongLong&amp; " name="ll"></parameter>
</parameters>
<description>
<p>
Adds 2 wxLongLongs together and returns the result.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$+=$">
<function type="wxLongLong&amp;" name="operator+">
<parameters>
<parameter type="const wxLongLong&amp; " name="ll"></parameter>
</parameters>
<description>
<p>
Add another wxLongLong to this one.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$++$">
<function type="wxLongLong&amp;" name="operator$++$">
<description></description>
</function>
<function type="wxLongLong&amp;" name="operator$++$">
<parameters>
<parameter type="int" name=""></parameter>
</parameters>
<description>
<p>
Pre/post increment operator.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$-$">
<function type="wxLongLong" name="operator$-$" suffix="const">
<description>
<p>
Returns the value of this wxLongLong with opposite sign. Not in wxULongLong.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$-$">
<function type="wxLongLong" name="operator$-$" suffix="const">
<parameters>
<parameter type="const wxLongLong&amp; " name="ll"></parameter>
</parameters>
<description>
<p>
Subtracts 2 wxLongLongs and returns the result.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$-=$">
<function type="wxLongLong&amp;" name="operator-">
<parameters>
<parameter type="const wxLongLong&amp; " name="ll"></parameter>
</parameters>
<description>
<p>
Subtracts another wxLongLong from this one.
</p>
</description>
</function>
</member>
<member class="wxLongLong" name="operator$--$">
<function type="wxLongLong&amp;" name="operator$--$">
<description></description>
</function>
<function type="wxLongLong&amp;" name="operator$--$">
<parameters>
<parameter type="int" name=""></parameter>
</parameters>
<description>
<p>
Pre/post decrement operator.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMBConv" annotation="abstract">
<description>
<p class="classdesc">
This class is the base class of a hierarchy of classes capable of converting
text strings between multibyte (SBCS or DBCS) encodings and Unicode. It is
itself a wrapper around the standard libc mbstowcs() and wcstombs() routines,
and has one predefined instance,
<b>wxConvLibc</b>
.
</p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/strconv.h"/>
</includes>
<seealso>
<ref target="wxcsconv">wxCSConv</ref>
<ref target="wxencodingconverter">wxEncodingConverter</ref>
<ref target="mbconvclasses">wxMBConv classes overview</ref>
</seealso>
<members>
<member class="wxMBConv" name="wxMBConv">
<function type="" name="wxMBConv">
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="MB2WC">
<function type="virtual size_t" name="MB2WC" suffix="const">
<parameters>
<parameter type="wchar_t &#42;" name="outputBuf">
the output buffer, may be
<tt>NULL</tt>
if the caller is only interested in the length of the resulting string
</parameter>
<parameter type="const char &#42;" name="psz">
the
<tt>NUL</tt>
-terminated input string, cannot be
<tt>NULL</tt>
</parameter>
<parameter type="size_t " name="outputSize">
the size of the output buffer (in wide characters,
<b>including</b>
the NUL) , ignored if
<i>outputBuf</i>
is
<tt>NULL</tt>
</parameter>
</parameters>
<returnvalue>
The length of the converted string (in wide characters,
<b>excluding</b>
the NUL)
</returnvalue>
<description>
<p>
Converts from a string
<i>psz</i>
in multibyte encoding to Unicode putting the output into the buffer
<i>outputBuf</i>
of the maximum size
<i>outputSize</i>
(in wide characters, not bytes). If
<i>outputBuf</i>
is
<tt>NULL</tt>
, only the length of the string which would result from the conversion is
calculated and returned. Note that this is the length and not size, i.e. the
returned value does
<b>not</b>
include the trailing NUL. But when the function is called with a non-
<tt>NULL</tt>
<i>outputBuf</i>
, the
<i>outputSize</i>
parameter should be the size of the buffer and so it
<b>should</b>
take into account the trailing NUL.
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="WC2MB">
<function type="virtual size_t" name="WC2MB" suffix="const">
<parameters>
<parameter type="char&#42; " name="buf"></parameter>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to multibyte encoding. The semantics of this function
(including the return value meaning) is the same as for
<ref target="wxmbconvmb2wc">MB2WC</ref>
.
</p>
<p>
Notice that when the function is called with a non-
<tt>NULL</tt>
buffer, the
<i>n</i>
parameter should be the size of the buffer and so it
<b>should</b>
take into account the trailing NUL, which might take two or four bytes for some
encodings (UTF-16 and UTF-32).
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="cMB2WC">
<function type="const wxWCharBuffer" name="cMB2WC" suffix="const">
<parameters>
<parameter type="const char&#42; " name="psz"></parameter>
</parameters>
<description>
<p>
Converts from multibyte encoding to Unicode by calling MB2WC, allocating a
temporary wxWCharBuffer to hold the result.
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="cWC2MB">
<function type="const wxCharBuffer" name="cWC2MB" suffix="const">
<parameters>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to multibyte encoding by calling WC2MB, allocating a
temporary wxCharBuffer to hold the result.
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="cMB2WX">
<function type="const char&#42;" name="cMB2WX" suffix="const">
<parameters>
<parameter type="const char&#42; " name="psz"></parameter>
</parameters>
<description></description>
</function>
<function type="const wxWCharBuffer" name="cMB2WX" suffix="const">
<parameters>
<parameter type="const char&#42; " name="psz"></parameter>
</parameters>
<description>
<p>
Converts from multibyte encoding to the current wxChar type (which depends on
whether wxUSE_UNICODE is set to 1). If wxChar is char, it returns the parameter
unaltered. If wxChar is wchar_t, it returns the result in a wxWCharBuffer. The
macro wxMB2WXbuf is defined as the correct return type (without const).
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="cWX2MB">
<function type="const char&#42;" name="cWX2MB" suffix="const">
<parameters>
<parameter type="const wxChar&#42; " name="psz"></parameter>
</parameters>
<description></description>
</function>
<function type="const wxCharBuffer" name="cWX2MB" suffix="const">
<parameters>
<parameter type="const wxChar&#42; " name="psz"></parameter>
</parameters>
<description>
<p>
Converts from the current wxChar type to multibyte encoding. If wxChar is char,
it returns the parameter unaltered. If wxChar is wchar_t, it returns the result
in a wxCharBuffer. The macro wxWX2MBbuf is defined as the correct return type
(without const).
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="cWC2WX">
<function type="const wchar_t&#42;" name="cWC2WX" suffix="const">
<parameters>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
</parameters>
<description></description>
</function>
<function type="const wxCharBuffer" name="cWC2WX" suffix="const">
<parameters>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to the current wxChar type. If wxChar is wchar_t, it
returns the parameter unaltered. If wxChar is char, it returns the result in a
wxCharBuffer. The macro wxWC2WXbuf is defined as the correct return type
(without const).
</p>
</description>
</function>
</member>
<member class="wxMBConv" name="cWX2WC">
<function type="const wchar_t&#42;" name="cWX2WC" suffix="const">
<parameters>
<parameter type="const wxChar&#42; " name="psz"></parameter>
</parameters>
<description></description>
</function>
<function type="const wxWCharBuffer" name="cWX2WC" suffix="const">
<parameters>
<parameter type="const wxChar&#42; " name="psz"></parameter>
</parameters>
<description>
<p>
Converts from the current wxChar type to Unicode. If wxChar is wchar_t, it
returns the parameter unaltered. If wxChar is char, it returns the result in a
wxWCharBuffer. The macro wxWX2WCbuf is defined as the correct return type
(without const).
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMBConvFile" needdefine="wxMBFILES">
<description>
<p class="classdesc">
This class used to define the class instance
<b>wxConvFileName</b>
, but nowadays
<b>wxConvFileName</b>
is either of type wxConvLibc (on most platforms) or wxConvUTF8 (on MacOS X).
<b>wxConvFileName</b>
converts filenames between filesystem multibyte encoding and Unicode.
<b>wxConvFileName</b>
can also be set to a something else at run-time which is used e.g. by wxGTK to
use a class which checks the environment variable
<b>G_FILESYSTEM_ENCODING</b>
indicating that filenames should not be interpreted as UTF8 and also for
converting invalid UTF8 characters (e.g. if there is a filename in iso8859_1) to
strings with octal values.
</p>
<p class="classdesc">
Since some platforms (such as Win32) use Unicode in the filenames, and others
(such as Unix) use multibyte encodings, this class should only be used directly
if wxMBFILES is defined to 1. A convenience macro, wxFNCONV, is defined to
wxConvFileName-&gt;cWX2MB in this case. You could use it like this:
</p>
<p class="classdesc">
<pre>
wxChar &#42;name = wxT(&quot;rawfile.doc&quot;);
FILE &#42;fil = fopen(wxFNCONV(name), &quot;r&quot;);
</pre>
</p>
<p class="classdesc">
(although it would be better to use wxFopen(name, wxT(&quot;r&quot;)) in this
case.)
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxMBConv">wxMBConv</ref>
</parents>
<includes>
<header name="wx/strconv.h"/>
</includes>
<seealso>
<ref target="mbconvclasses">wxMBConv classes overview</ref>
</seealso>
<members>
<member class="wxMBConvFile" name="MB2WC">
<function type="size_t" name="MB2WC" suffix="const">
<parameters>
<parameter type="wchar_t&#42; " name="buf"></parameter>
<parameter type="const char&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from multibyte filename encoding to Unicode. Returns the size of the
destination buffer.
</p>
</description>
</function>
</member>
<member class="wxMBConvFile" name="WC2MB">
<function type="size_t" name="WC2MB" suffix="const">
<parameters>
<parameter type="char&#42; " name="buf"></parameter>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to multibyte filename encoding. Returns the size of the
destination buffer.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMBConvUTF16">
<description>
<p class="classdesc">
This class is used to convert between multibyte encodings and UTF-16 Unicode
encoding (also known as UCS-2). Unlike
<ref target="wxmbconvutf8">UTF-8</ref>
encoding, UTF-16 uses words and not bytes and hence depends on the byte
ordering: big or little endian. Hence this class is provided in two versions:
wxMBConvUTF16LE and wxMBConvUTF16BE and wxMBConvUTF16 itself is just a typedef
for one of them (native for the given platform, e.g. LE under Windows and BE
under Mac).
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxMBConv">wxMBConv</ref>
</parents>
<includes>
<header name="wx/strconv.h"/>
</includes>
<seealso>
<ref target="wxmbconvutf8">wxMBConvUTF8</ref>
<ref target="wxmbconvutf32">wxMBConvUTF32</ref>
<ref target="mbconvclasses">wxMBConv classes overview</ref>
</seealso>
<members>
<member class="wxMBConvUTF16" name="MB2WC">
<function type="size_t" name="MB2WC" suffix="const">
<parameters>
<parameter type="wchar_t&#42; " name="buf"></parameter>
<parameter type="const char&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from UTF-16 encoding to Unicode. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
<member class="wxMBConvUTF16" name="WC2MB">
<function type="size_t" name="WC2MB" suffix="const">
<parameters>
<parameter type="char&#42; " name="buf"></parameter>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to UTF-16 encoding. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxMBConvUTF32">
<description>
<p class="classdesc">
This class is used to convert between multibyte encodings and UTF-32 Unicode
encoding (also known as UCS-4). Unlike
<ref target="wxmbconvutf8">UTF-8</ref>
encoding, UTF-32 uses (double) words and not bytes and hence depends on the byte
ordering: big or little endian. Hence this class is provided in two versions:
wxMBConvUTF32LE and wxMBConvUTF32BE and wxMBConvUTF32 itself is just a typedef
for one of them (native for the given platform, e.g. LE under Windows and BE
under Mac).
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxMBConv">wxMBConv</ref>
</parents>
<includes>
<header name="wx/strconv.h"/>
</includes>
<seealso>
<ref target="wxmbconvutf8">wxMBConvUTF8</ref>
<ref target="wxmbconvutf16">wxMBConvUTF16</ref>
<ref target="mbconvclasses">wxMBConv classes overview</ref>
</seealso>
<members>
<member class="wxMBConvUTF32" name="MB2WC">
<function type="size_t" name="MB2WC" suffix="const">
<parameters>
<parameter type="wchar_t&#42; " name="buf"></parameter>
<parameter type="const char&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from UTF-32 encoding to Unicode. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
<member class="wxMBConvUTF32" name="WC2MB">
<function type="size_t" name="WC2MB" suffix="const">
<parameters>
<parameter type="char&#42; " name="buf"></parameter>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to UTF-32 encoding. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxMBConvUTF7">
<description>
<p class="classdesc">
This class converts between the UTF-7 encoding and Unicode. It has one
predefined instance,
<b>wxConvUTF7</b>
.
</p>
<p class="classdesc">
<b>WARNING:</b>
this class is not implemented yet.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxMBConv">wxMBConv</ref>
</parents>
<includes>
<header name="wx/strconv.h"/>
</includes>
<seealso>
<ref target="wxmbconvutf8">wxMBConvUTF8</ref>
<ref target="mbconvclasses">wxMBConv classes overview</ref>
</seealso>
<members>
<member class="wxMBConvUTF7" name="MB2WC">
<function type="size_t" name="MB2WC" suffix="const">
<parameters>
<parameter type="wchar_t&#42; " name="buf"></parameter>
<parameter type="const char&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from UTF-7 encoding to Unicode. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
<member class="wxMBConvUTF7" name="WC2MB">
<function type="size_t" name="WC2MB" suffix="const">
<parameters>
<parameter type="char&#42; " name="buf"></parameter>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to UTF-7 encoding. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMBConvUTF8">
<description>
<p class="classdesc">
This class converts between the UTF-8 encoding and Unicode. It has one
predefined instance,
<b>wxConvUTF8</b>
.
</p>
</description>
<category>Miscellaneous</category>
<remarks>
<p>
UTF-8 is a compatibility encoding used to encode Unicode text into anything that
was originally written for 8-bit strings, including (but not limited to)
filenames, transfer protocols, and database fields. Notable properties include:
</p>
<p>
<ul>
<li>Variable-length encoding able to encode up to 31 bits per character</li>
<li>ASCII characters (character values under 128) are encoded as plain ASCII (1 byte
per character)</li>
<li>Null bytes do not occur in the encoding, except when there's an actual Unicode
null character</li>
<li>Preserves sort ordering for plain 8-bit comparison routines like strcmp()</li>
<li>High bit patterns disambiguates character boundaries, and makes it easy to
detect whether a string is encoded with UTF-8 or not</li>
</ul>
</p>
<p>
All of these properties make UTF-8 a very favorable solution in any situation
where full Unicode character support is desired while remaining compatible with
code written with only 8-bit extended-ASCII characters in mind.
</p>
</remarks>
<parents>
<ref type="help" target="wxMBConv">wxMBConv</ref>
</parents>
<includes>
<header name="wx/strconv.h"/>
</includes>
<seealso>
<ref target="wxmbconvutf7">wxMBConvUTF7</ref>
<ref target="mbconvclasses">wxMBConv classes overview</ref>
</seealso>
<members>
<member class="wxMBConvUTF8" name="MB2WC">
<function type="size_t" name="MB2WC" suffix="const">
<parameters>
<parameter type="wchar_t&#42; " name="buf"></parameter>
<parameter type="const char&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from UTF-8 encoding to Unicode. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
<member class="wxMBConvUTF8" name="WC2MB">
<function type="size_t" name="WC2MB" suffix="const">
<parameters>
<parameter type="char&#42; " name="buf"></parameter>
<parameter type="const wchar_t&#42; " name="psz"></parameter>
<parameter type="size_t " name="n"></parameter>
</parameters>
<description>
<p>
Converts from Unicode to UTF-8 encoding. Returns the size of the destination
buffer.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMDIChildFrame">
<description>
<p class="classdesc">
An MDI child frame is a frame that can only exist on a
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
, which is itself a child of
<ref target="wxmdiparentframe">wxMDIParentFrame</ref>
.
</p>
</description>
<category>Managed windows</category>
<shortdesc>MDI child frame</shortdesc>
<remarks>
<p>
Although internally an MDI child frame is a child of the MDI client window, in
wxWidgets you create it as a child of
<ref target="wxmdiparentframe">wxMDIParentFrame</ref>
. You can usually forget that the client window exists.
</p>
<p>
MDI child frames are clipped to the area of the MDI client window, and may be
iconized on the client window.
</p>
<p>
You can associate a menubar with a child frame as usual, although an MDI child
doesn't display its menubar under its own title bar. The MDI parent frame's
menubar will be changed to reflect the currently active child frame. If there
are currently no children, the parent frame's own menubar will be displayed.
</p>
</remarks>
<parents>
<ref type="help" target="wxFrame">wxFrame</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/mdi.h"/>
</includes>
<windowstyles>
<style name="wxCAPTION">
Puts a caption on the frame.
</style>
<style name="wxDEFAULT_FRAME_STYLE">
Defined as
<b>wxMINIMIZE_BOX \pipe wxMAXIMIZE_BOX \pipe wxTHICK_FRAME \pipe wxSYSTEM_MENU \pipe wxCAPTION</b>
.
</style>
<style name="wxICONIZE">
Display the frame iconized (minimized) (Windows only).
</style>
<style name="wxMAXIMIZE">
Displays the frame maximized (Windows only).
</style>
<style name="wxMAXIMIZE_BOX">
Displays a maximize box on the frame (Windows and Motif only).
</style>
<style name="wxMINIMIZE">
Identical to
<b>wxICONIZE</b>
.
</style>
<style name="wxMINIMIZE_BOX">
Displays a minimize box on the frame (Windows and Motif only).
</style>
<style name="wxRESIZE_BORDER">
wxRESIZE_BORDER
</style>
<style name="wxSTAY_ON_TOP">
Stay on top of other windows (Windows only).
</style>
<style name="wxSYSTEM_MENU">
Displays a system menu (Windows and Motif only).
</style>
<style name="wxTHICK_FRAME">
Displays a thick frame around the window (Windows and Motif only).
</style>
</windowstyles>
<seealso>
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
<ref target="wxmdiparentframe">wxMDIParentFrame</ref>
,
<ref target="wxframe">wxFrame</ref>
</seealso>
<members>
<member class="wxMDIChildFrame" name="wxMDIChildFrame">
<function type="" name="wxMDIChildFrame">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxMDIChildFrame">
<parameters>
<parameter type="wxMDIParentFrame&#42; " name="parent">
The window parent. This should not be NULL.
</parameter>
<parameter type="wxWindowID " name="id">
The window identifier. It may take a value of -1 to indicate a default value.
</parameter>
<parameter type="const wxString&amp; " name="title">
The caption to be displayed on the frame's title bar.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
The window position. A value of (-1, -1) indicates a default position, chosen by
either the windowing system or wxWidgets, depending on platform.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
The window size. A value of (-1, -1) indicates a default size, chosen by either
the windowing system or wxWidgets, depending on platform.
</parameter>
<parameter type="long " name="style" value="wxDEFAULT_FRAME_STYLE">
The window style. See
<ref target="wxmdichildframe">wxMDIChildFrame</ref>
.
</parameter>
<parameter type="const wxString&amp; " name="name" value="``frame&quot;">
The name of the window. This parameter is used to associate a name with the
item, allowing the application user to set Motif resource values for individual
windows.
</parameter>
</parameters>
<seealso>
<ref target="wxmdichildframecreate">wxMDIChildFrame::Create</ref>
</seealso>
<remarks>
<p>
None.
</p>
</remarks>
<description>
<p>
Constructor, creating the window.
</p>
</description>
</function>
</member>
<member class="wxMDIChildFrame" name="~wxMDIChildFrame">
<function type="" name="~wxMDIChildFrame">
<description>
<p>
Destructor. Destroys all child windows and menu bar if present.
</p>
</description>
</function>
</member>
<member class="wxMDIChildFrame" name="Activate">
<function type="void" name="Activate">
<seealso>
<ref target="wxmdichildframemaximize">wxMDIChildFrame::Maximize</ref>
,
<ref target="wxmdichildframerestore">wxMDIChildFrame::Restore</ref>
</seealso>
<description>
<p>
Activates this MDI child frame.
</p>
</description>
</function>
</member>
<member class="wxMDIChildFrame" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxString&amp; " name="title"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxDEFAULT_FRAME_STYLE"></parameter>
<parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
</parameters>
<description>
<p>
Used in two-step frame construction. See
<ref target="wxmdichildframector">wxMDIChildFrame::wxMDIChildFrame</ref>
for further details.
</p>
</description>
</function>
</member>
<member class="wxMDIChildFrame" name="Maximize">
<function type="void" name="Maximize">
<parameters>
<parameter type="bool" name="maximize"></parameter>
</parameters>
<seealso>
<ref target="wxmdichildframeactivate">wxMDIChildFrame::Activate</ref>
,
<ref target="wxmdichildframerestore">wxMDIChildFrame::Restore</ref>
</seealso>
<description>
<p>
Maximizes this MDI child frame.
</p>
</description>
</function>
</member>
<member class="wxMDIChildFrame" name="Restore">
<function type="void" name="Restore">
<seealso>
<ref target="wxmdichildframeactivate">wxMDIChildFrame::Activate</ref>
,
<ref target="wxmdichildframemaximize">wxMDIChildFrame::Maximize</ref>
</seealso>
<description>
<p>
Restores this MDI child frame (unmaximizes).
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="P"/>
<platform name="os2" status="N"/>
</supported>
</class>
<class name="wxMDIClientWindow">
<description>
<p class="classdesc">
An MDI client window is a child of
<ref target="wxmdiparentframe">wxMDIParentFrame</ref>
, and manages zero or more
<ref target="wxmdichildframe">wxMDIChildFrame</ref>
objects.
</p>
</description>
<category>Miscellaneous</category>
<remarks>
<p>
The client window is the area where MDI child windows exist. It doesn't have to
cover the whole parent frame; other windows such as toolbars and a help window
might coexist with it. There can be scrollbars on a client window, which are
controlled by the parent window style.
</p>
<p>
The
<b>wxMDIClientWindow</b>
class is usually adequate without further derivation, and it is created
automatically when the MDI parent frame is created. If the application needs to
derive a new class, the function
<ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
must be overridden in order to give an opportunity to use a different class of
client window.
</p>
<p>
Under Windows 95, the client window will automatically have a sunken border
style when the active child is not maximized, and no border style when a child
is maximized.
</p>
</remarks>
<parents>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/mdi.h"/>
</includes>
<seealso>
<ref target="wxmdichildframe">wxMDIChildFrame</ref>
<ref target="wxmdiparentframe">wxMDIParentFrame</ref>
,
<ref target="wxframe">wxFrame</ref>
</seealso>
<members>
<member class="wxMDIClientWindow" name="wxMDIClientWindow">
<function type="" name="wxMDIClientWindow">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxMDIClientWindow">
<parameters>
<parameter type="wxMDIParentFrame&#42; " name="parent">
The window parent.
</parameter>
<parameter type="long " name="style" value="0">
The window style. Currently unused.
</parameter>
</parameters>
<seealso>
<ref target="wxmdiparentframector">wxMDIParentFrame::wxMDIParentFrame</ref>
,
<ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
</seealso>
<remarks>
<p>
The second style of constructor is called within
<ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
.
</p>
</remarks>
<description>
<p>
Constructor, creating the window.
</p>
</description>
</function>
</member>
<member class="wxMDIClientWindow" name="~wxMDIClientWindow">
<function type="" name="~wxMDIClientWindow">
<description>
<p>
Destructor.
</p>
</description>
</function>
</member>
<member class="wxMDIClientWindow" name="CreateClient">
<function type="bool" name="CreateClient">
<parameters>
<parameter type="wxMDIParentFrame&#42; " name="parent"></parameter>
<parameter type="long " name="style" value="0"></parameter>
</parameters>
<description>
<p>
Used in two-step frame construction. See
<ref target="wxmdiclientwindowctor">wxMDIClientWindow::wxMDIClientWindow</ref>
for further details.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="P"/>
<platform name="os2" status="N"/>
</supported>
</class>
<class name="wxMDIParentFrame">
<description>
<p class="classdesc">
An MDI (Multiple Document Interface) parent frame is a window which can contain
MDI child frames in its own `desktop'. It is a convenient way to avoid window
clutter, and is used in many popular Windows applications, such as Microsoft
Word(TM).
</p>
</description>
<category>Managed windows</category>
<shortdesc>MDI parent frame</shortdesc>
<remarks>
<p>
There may be multiple MDI parent frames in a single application, but this
probably only makes sense within programming development environments.
</p>
<p>
Child frames may be of class
<ref target="wxmdichildframe">wxMDIChildFrame</ref>
(contained within the parent frame) or
<ref target="wxframe">wxFrame</ref>
(shown as a top-level frame).
</p>
<p>
An MDI parent frame always has a
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
associated with it, which is the parent for MDI client frames. This client
window may be resized to accommodate non-MDI windows, as seen in Microsoft
Visual C++ (TM) and Microsoft Publisher (TM), where a documentation window is
placed to one side of the workspace.
</p>
<p>
MDI remains popular despite dire warnings from Microsoft itself that MDI is an
obsolete user interface style.
</p>
<p>
The implementation is native in Windows, and simulated under Motif. Under Motif,
the child window frames will often have a different appearance from other frames
because the window decorations are simulated.
</p>
</remarks>
<parents>
<ref type="help" target="wxFrame">wxFrame</ref>
<ref type="help" target="wxWindow">wxWindow</ref>
<ref type="help" target="wxEvtHandler">wxEvtHandler</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/mdi.h"/>
</includes>
<windowstyles>
<style name="wxCAPTION">
Puts a caption on the frame.
</style>
<style name="wxDEFAULT_FRAME_STYLE">
Defined as
<b>wxMINIMIZE_BOX \pipe wxMAXIMIZE_BOX \pipe wxTHICK_FRAME \pipe wxSYSTEM_MENU \pipe wxCAPTION</b>
.
</style>
<style name="wxHSCROLL">
wxHSCROLL
</style>
<style name="wxICONIZE">
Display the frame iconized (minimized) (Windows only).
</style>
<style name="wxMAXIMIZE">
Displays the frame maximized (Windows only).
</style>
<style name="wxMAXIMIZE_BOX">
Displays a maximize box on the frame (Windows and Motif only).
</style>
<style name="wxMINIMIZE">
Identical to
<b>wxICONIZE</b>
.
</style>
<style name="wxMINIMIZE_BOX">
Displays a minimize box on the frame (Windows and Motif only).
</style>
<style name="wxRESIZE_BORDER">
wxRESIZE_BORDER
</style>
<style name="wxSTAY_ON_TOP">
Stay on top of other windows (Windows only).
</style>
<style name="wxSYSTEM_MENU">
Displays a system menu (Windows and Motif only).
</style>
<style name="wxTHICK_FRAME">
Displays a thick frame around the window (Windows and Motif only).
</style>
<style name="wxVSCROLL">
wxVSCROLL
</style>
<style name="wxFRAME_NO_WINDOW_MENU">
wxFRAME_NO_WINDOW_MENU
</style>
</windowstyles>
<seealso>
<ref target="wxmdichildframe">wxMDIChildFrame</ref>
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
,
<ref target="wxframe">wxFrame</ref>
<ref target="wxdialog">wxDialog</ref>
</seealso>
<members>
<member class="wxMDIParentFrame" name="wxMDIParentFrame">
<function type="" name="wxMDIParentFrame">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxMDIParentFrame">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
The window parent. This should be NULL.
</parameter>
<parameter type="wxWindowID " name="id">
The window identifier. It may take a value of -1 to indicate a default value.
</parameter>
<parameter type="const wxString&amp; " name="title">
The caption to be displayed on the frame's title bar.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
The window position. A value of (-1, -1) indicates a default position, chosen by
either the windowing system or wxWidgets, depending on platform.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
The window size. A value of (-1, -1) indicates a default size, chosen by either
the windowing system or wxWidgets, depending on platform.
</parameter>
<parameter type="long " name="style" value="wxDEFAULT_FRAME_STYLE">
The window style. See
<ref target="wxmdiparentframe">wxMDIParentFrame</ref>
.
</parameter>
<parameter type="const wxString&amp; " name="name" value="``frame&quot;">
The name of the window. This parameter is used to associate a name with the
item, allowing the application user to set Motif resource values for individual
windows.
</parameter>
</parameters>
<seealso>
<ref target="wxmdiparentframecreate">wxMDIParentFrame::Create</ref>
,
<ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
</seealso>
<remarks>
<p>
During the construction of the frame, the client window will be created. To use
a different class from
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
, override
<ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
.
</p>
<p>
Under Windows 95, the client window will automatically have a sunken border
style when the active child is not maximized, and no border style when a child
is maximized.
</p>
</remarks>
<description>
<p>
Constructor, creating the window.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="~wxMDIParentFrame">
<function type="" name="~wxMDIParentFrame">
<description>
<p>
Destructor. Destroys all child windows and menu bar if present.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="ActivateNext">
<function type="void" name="ActivateNext">
<seealso>
<ref target="wxmdiparentframeactivateprevious">wxMDIParentFrame::ActivatePrevious</ref>
</seealso>
<description>
<p>
Activates the MDI child following the currently active one.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="ActivatePrevious">
<function type="void" name="ActivatePrevious">
<seealso>
<ref target="wxmdiparentframeactivatenext">wxMDIParentFrame::ActivateNext</ref>
</seealso>
<description>
<p>
Activates the MDI child preceding the currently active one.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="ArrangeIcons">
<function type="void" name="ArrangeIcons">
<seealso>
<ref target="wxmdiparentframecascade">wxMDIParentFrame::Cascade</ref>
,
<ref target="wxmdiparentframetile">wxMDIParentFrame::Tile</ref>
</seealso>
<description>
<p>
Arranges any iconized (minimized) MDI child windows.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="Cascade">
<function type="void" name="Cascade">
<seealso>
<ref target="wxmdiparentframetile">wxMDIParentFrame::Tile</ref>
,
<ref target="wxmdiparentframearrangeicons">wxMDIParentFrame::ArrangeIcons</ref>
</seealso>
<description>
<p>
Arranges the MDI child windows in a cascade.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxString&amp; " name="title"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize"></parameter>
<parameter type="long " name="style" value="wxDEFAULT_FRAME_STYLE"></parameter>
<parameter type="const wxString&amp; " name="name" value="``frame&quot;"></parameter>
</parameters>
<description>
<p>
Used in two-step frame construction. See
<ref target="wxmdiparentframector">wxMDIParentFrame::wxMDIParentFrame</ref>
for further details.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="GetClientSize">
<function type="virtual void" name="GetClientSize" suffix="const">
<parameters>
<parameter type="int&#42; " name="width">
Receives the client width in pixels.
</parameter>
<parameter type="int&#42; " name="height">
Receives the client height in pixels.
</parameter>
</parameters>
<seealso>
<ref target="wxmdiparentframegettoolbar">wxMDIParentFrame::GetToolBar</ref>
,
<ref target="wxmdiparentframesettoolbar">wxMDIParentFrame::SetToolBar</ref>
,
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
</seealso>
<remarks>
<p>
The client area is the area which may be drawn on by the programmer, excluding
title bar, border, status bar, and toolbar if present.
</p>
<p>
If you wish to manage your own toolbar (or perhaps you have more than one),
provide an
<b>OnSize</b>
event handler. Call
<b>GetClientSize</b>
to find how much space there is for your windows and don't forget to set the
size and position of the MDI client window as well as your toolbar and other
windows (but not the status bar).
</p>
<p>
If you have set a toolbar with
<ref target="wxmdiparentframesettoolbar">wxMDIParentFrame::SetToolbar</ref>
, the client size returned will have subtracted the toolbar height. However, the
available positions for the client window and other windows of the frame do not
start at zero - you must add the toolbar height.
</p>
<p>
The position and size of the status bar and toolbar (if known to the frame) are
always managed by
<b>wxMDIParentFrame</b>
, regardless of what behaviour is defined in your
<b>OnSize</b>
event handler. However, the client window position and size are always set in
<b>OnSize</b>
, so if you override this event handler, make sure you deal with the client
window.
</p>
<p>
You do not have to manage the size and position of MDI child windows, since they
are managed automatically by the client window.
</p>
</remarks>
<description>
<p>
This gets the size of the frame `client area' in pixels.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="GetActiveChild">
<function type="wxMDIChildFrame&#42;" name="GetActiveChild" suffix="const">
<description>
<p>
Returns a pointer to the active MDI child, if there is one.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="GetClientWindow">
<function type="wxMDIClientWindow&#42;" name="GetClientWindow" suffix="const">
<seealso>
<ref target="wxmdiparentframeoncreateclient">wxMDIParentFrame::OnCreateClient</ref>
</seealso>
<description>
<p>
Returns a pointer to the client window.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="GetToolBar">
<function type="virtual wxWindow&#42;" name="GetToolBar" suffix="const">
<seealso>
<ref target="wxmdiparentframesettoolbar">wxMDIParentFrame::SetToolBar</ref>
</seealso>
<description>
<p>
Returns the window being used as the toolbar for this frame.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="GetWindowMenu" specific="msw">
<function type="wxMenu&#42;" name="GetWindowMenu" suffix="const">
<description>
<p>
Returns the current Window menu (added by wxWidgets to the menubar). This
function is available under Windows only.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="OnCreateClient">
<function type="virtual wxMDIClientWindow&#42;" name="OnCreateClient">
<seealso>
<ref target="wxmdiparentframegetclientwindow">wxMDIParentFrame::GetClientWindow</ref>
,
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
</seealso>
<remarks>
<p>
You might wish to derive from
<ref target="wxmdiclientwindow">wxMDIClientWindow</ref>
in order to implement different erase behaviour, for example, such as painting a
bitmap on the background.
</p>
<p>
Note that it is probably impossible to have a client window that scrolls as well
as painting a bitmap or pattern, since in
<b>OnScroll</b>
, the scrollbar positions always return zero. (Solutions to:
<tt>julian.smart@btopenworld.com</tt>
).
</p>
</remarks>
<description>
<p>
Override this to return a different kind of client window. If you override this
function, you must create your parent frame in two stages, or your function will
never be called, due to the way C++ treats virtual functions called from
constructors. For example:
</p>
<pre>
  frame = new MyParentFrame;
  frame-&gt;Create(parent, myParentFrameId, wxT(&quot;My Parent Frame&quot;));
</pre>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="SetToolBar">
<function type="virtual void" name="SetToolBar">
<parameters>
<parameter type="wxWindow&#42; " name="toolbar">
Toolbar to manage.
</parameter>
</parameters>
<seealso>
<ref target="wxmdiparentframegettoolbar">wxMDIParentFrame::GetToolBar</ref>
,
<ref target="wxmdiparentframegetclientsize">wxMDIParentFrame::GetClientSize</ref>
</seealso>
<remarks>
<p>
When the frame is resized, the toolbar is resized to be the width of the frame
client area, and the toolbar height is kept the same.
</p>
<p>
The parent of the toolbar must be this frame.
</p>
<p>
If you wish to manage your own toolbar (or perhaps you have more than one),
don't call this function, and instead manage your subwindows and the MDI client
window by providing an
<b>OnSize</b>
event handler. Call
<ref target="wxmdiparentframegetclientsize">wxMDIParentFrame::GetClientSize</ref>
to find how much space there is for your windows.
</p>
<p>
Note that SDI (normal) frames and MDI child windows must always have their
toolbars managed by the application.
</p>
</remarks>
<description>
<p>
Sets the window to be used as a toolbar for this MDI parent window. It saves the
application having to manage the positioning of the toolbar MDI client window.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="SetWindowMenu" specific="msw">
<function type="void" name="SetWindowMenu">
<parameters>
<parameter type="wxMenu&#42; " name="menu"></parameter>
</parameters>
<description>
<p>
Call this to change the current Window menu. Ownership of the menu object passes
to the frame when you call this function.
</p>
<p>
This call is available under Windows only.
</p>
<p>
To remove the window completely, use the wxFRAME_NO_WINDOW_MENU window style.
</p>
</description>
</function>
</member>
<member class="wxMDIParentFrame" name="Tile">
<function type="void" name="Tile">
<parameters>
<parameter type="wxOrientation " name="orient" value="wxHORIZONTAL"></parameter>
</parameters>
<seealso>
<ref target="wxmdiparentframecascade">wxMDIParentFrame::Cascade</ref>
,
<ref target="wxmdiparentframearrangeicons">wxMDIParentFrame::ArrangeIcons</ref>
</seealso>
<description>
<p>
Tiles the MDI child windows either horizontally or vertically depending on
whether
<i>orient</i>
is wxHORIZONTAL or wxVERTICAL.
</p>
<p>
Currently only implemented for MSW, does nothing under the other platforms.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="P"/>
<platform name="os2" status="N"/>
</supported>
</class>
<class name="wxMask">
<description>
<p class="classdesc">
This class encapsulates a monochrome mask bitmap, where the masked area is black
and the unmasked area is white. When associated with a bitmap and drawn in a
device context, the unmasked area of the bitmap will be drawn, and the masked
area will not be drawn.
</p>
</description>
<category>Graphics device interface</category>
<shortdesc>Represents a mask to be used with a bitmap for transparent drawing</shortdesc>
<remarks>
<p>
A mask may be associated with a
<ref target="wxbitmap">wxBitmap</ref>
. It is used in
<ref target="wxdcblit">wxDC::Blit</ref>
when the source device context is a
<ref target="wxmemorydc">wxMemoryDC</ref>
with wxBitmap selected into it that contains a mask.
</p>
</remarks>
<parents>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/bitmap.h"/>
</includes>
<seealso>
<ref target="wxbitmap">wxBitmap</ref>
<ref target="wxdcblit">wxDC::Blit</ref>
<ref target="wxmemorydc">wxMemoryDC</ref>
</seealso>
<members>
<member class="wxMask" name="wxMask">
<function type="" name="wxMask">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxMask">
<parameters>
<parameter type="const wxBitmap&amp; " name="bitmap">
A valid bitmap.
</parameter>
</parameters>
<description>
<p>
Constructs a mask from a monochrome bitmap.
</p>
</description>
</function>
<function type="" name="wxMask">
<parameters>
<parameter type="const wxBitmap&amp; " name="bitmap">
A valid bitmap.
</parameter>
<parameter type="const wxColour&amp; " name="colour">
A colour specifying the transparency RGB values.
</parameter>
</parameters>
<description>
<p>
Constructs a mask from a bitmap and a colour that indicates the background.
</p>
</description>
</function>
<function type="" name="wxMask">
<parameters>
<parameter type="const wxBitmap&amp; " name="bitmap">
A valid bitmap.
</parameter>
<parameter type="int " name="index">
Index into a palette, specifying the transparency colour.
</parameter>
</parameters>
<description>
<p>
Constructs a mask from a bitmap and a palette index that indicates the
background. Not yet implemented for GTK.
</p>
</description>
</function>
</member>
<member class="wxMask" name="~wxMask">
<function type="" name="~wxMask">
<description>
<p>
Destroys the wxMask object and the underlying bitmap data.
</p>
</description>
</function>
</member>
<member class="wxMask" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="const wxBitmap&amp; " name="bitmap">
A valid bitmap.
</parameter>
</parameters>
<description>
<p>
Constructs a mask from a monochrome bitmap.
</p>
</description>
</function>
<function type="bool" name="Create">
<parameters>
<parameter type="const wxBitmap&amp; " name="bitmap">
A valid bitmap.
</parameter>
<parameter type="const wxColour&amp; " name="colour">
A colour specifying the transparency RGB values.
</parameter>
</parameters>
<description>
<p>
Constructs a mask from a bitmap and a colour that indicates the background.
</p>
</description>
</function>
<function type="bool" name="Create">
<parameters>
<parameter type="const wxBitmap&amp; " name="bitmap">
A valid bitmap.
</parameter>
<parameter type="int " name="index">
Index into a palette, specifying the transparency colour.
</parameter>
</parameters>
<description>
<p>
Constructs a mask from a bitmap and a palette index that indicates the
background. Not yet implemented for GTK.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMaximizeEvent">
<description>
<p class="classdesc">
An event being sent when the frame is maximized or restored.
</p>
</description>
<category>Events</category>
<shortdesc>A maximize event</shortdesc>
<parents>
<ref type="help" target="wxEvent">wxEvent</ref>
<ref type="help" target="wxObject">wxObject</ref>
</parents>
<includes>
<header name="wx/event.h"/>
</includes>
<events>
<event name="EVT_MAXIMIZE(func)">Process a wxEVT_MAXIMIZE event.</event>
</events>
<seealso>
<ref target="eventhandlingoverview">Event handling overview</ref>
,
<ref target="wxtoplevelwindowmaximize">wxTopLevelWindow::Maximize</ref>
,
<ref target="wxtoplevelwindowismaximized">wxTopLevelWindow::IsMaximized</ref>
</seealso>
<members>
<member class="wxMaximizeEvent" name="wxMaximizeEvent">
<function type="" name="wxMaximizeEvent">
<parameters>
<parameter type="int " name="id" value="0"></parameter>
</parameters>
<description>
<p>
Constructor.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="N"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="N"/>
<platform name="x11" status="N"/>
<platform name="nanox" status="N"/>
<platform name="mgl" status="N"/>
<platform name="macos" status="N"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMediaCtrl" specific="msw,mac">
<description>
<p class="classdesc">
wxMediaCtrl is a class that allows a way to convieniently display types of
media, such as videos, audio files, natively through native codecs.
</p>
<p class="classdesc">
wxMediaCtrl uses native backends to render media, for example on Windows there
is a ActiveMovie/DirectShow backend, and on Macintosh there is a QuickTime
backend.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxControl">wxControl</ref>
</parents>
<includes>
<header name="wx/mediactrl.h"/>
</includes>
<members>
<member class="wxMediaCtrl" name="wxMediaCtrl">
<function type="" name="wxMediaCtrl">
<description>
<p>
Default constructor - you
<tt>must</tt>
call Create before calling any other methods of wxMediaCtrl.
</p>
</description>
</function>
<function type="" name="wxMediaCtrl">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
parent of this control. Must not be NULL.
</parameter>
<parameter type="const wxString&amp; " name="fileName" value="wxT(&quot;&quot;)">
If not empty, the path of a file to open.
</parameter>
<parameter type="wxWindowID " name="id">
id to use for events
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Position to put control at.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Size to put the control at and to stretch movie to.
</parameter>
<parameter type="long " name="style" value="0">
Optional styles.
</parameter>
<parameter type="const wxString&amp; " name="szBackend" value="wxT(&quot;&quot;)">
Name of backend you want to use, leave blank to make wxMediaCtrl figure it out.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
validator to use.
</parameter>
<parameter type="const wxString&amp; " name="name" value="wxPanelNameStr">
Window name.
</parameter>
</parameters>
<description>
<p>
Constructor that calls
<ref target="wxmediactrlcreate">Create</ref>
. You may prefer to call
<ref target="wxmediactrlcreate">Create</ref>
directly to check to see if wxMediaCtrl is available on the system.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
parent of this control. Must not be NULL.
</parameter>
<parameter type="const wxString&amp; " name="fileName" value="wxT(&quot;&quot;)">
If not empty, the path of a file to open.
</parameter>
<parameter type="wxWindowID " name="id">
id to use for events
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
Position to put control at.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
Size to put the control at and to stretch movie to.
</parameter>
<parameter type="long " name="style" value="0">
Optional styles.
</parameter>
<parameter type="const wxString&amp; " name="szBackend" value="wxT(&quot;&quot;)">
Name of backend you want to use, leave blank to make wxMediaCtrl figure it out.
</parameter>
<parameter type="const wxValidator&amp; " name="validator" value="wxDefaultValidator">
validator to use.
</parameter>
<parameter type="const wxString&amp; " name="name" value="wxPanelNameStr">
Window name.
</parameter>
</parameters>
<description>
<p>
Creates this control. Returns
<tt>false</tt>
if it can't load the movie located at
<tt>fileName</tt>
or it cannot load one of its native backends.
</p>
<p>
If you specify a file to open via
<tt>fileName</tt>
and you don't specify a backend to use, wxMediaCtrl tries each of its backends
until one that can render the path referred to by
<tt>fileName</tt>
can be found.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Length">
<function type="wxFileOffset" name="GetDuration">
<description>
<p>
Obtains the length - the total amount of time the movie has in milliseconds.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Tell">
<function type="wxFileOffset" name="GetPosition">
<description>
<p>
Obtains the current position in time within the movie in milliseconds.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="GetState">
<function type="wxMediaCtrlState" name="GetState">
<description>
<p>
Obtains the state the playback of the movie is in -
</p>
<table>
<tr>
<td>
<b>wxMEDIASTATE_STOPPED</b>
</td>
<td>The movie has stopped.</td>
</tr>
<tr>
<td>
<b>wxMEDIASTATE_PAUSED</b>
</td>
<td>The movie is paused.</td>
</tr>
<tr>
<td>
<b>wxMEDIASTATE_PLAYING</b>
</td>
<td>The movie is currently playing.</td>
</tr>
</table>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Load">
<function type="bool" name="Load">
<parameters>
<parameter type="const wxString&amp; " name="fileName"></parameter>
</parameters>
<description>
<p>
Loads the file that
<tt>fileName</tt>
refers to. Returns false if loading fails.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Load">
<function type="bool" name="Load">
<parameters>
<parameter type="const wxURI&amp; " name="location"></parameter>
</parameters>
<description>
<p>
Loads the url that
<tt>location</tt>
refers to. Returns false if loading fails.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Pause">
<function type="bool" name="Pause">
<description>
<p>
Pauses playback of the movie.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Play">
<function type="bool" name="Play">
<description>
<p>
Resumes playback of the movie.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Seek">
<function type="wxFileOffset" name="Seek">
<parameters>
<parameter type="wxFileOffset " name="where"></parameter>
<parameter type="wxSeekMode " name="mode"></parameter>
</parameters>
<description>
<p>
Seeks to a position within the movie.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="Stop">
<function type="bool" name="Stop">
<description>
<p>
Stops the media.
</p>
<p>
See
<ref target="operationwxmediactrl">Operation</ref>
for an overview of how stopping works.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="SetVolume">
<function type="bool" name="SetVolume">
<parameters>
<parameter type="double " name="dVolume"></parameter>
</parameters>
<description>
<p>
Sets the volume of the media from a 0.0 to 1.0 range.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="GetVolume">
<function type="double" name="GetVolume">
<description>
<p>
Gets the volume of the media from a 0.0 to 1.0 range.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="GetPlaybackRate">
<function type="double" name="GetPlaybackrate">
<description>
<p>
Gets the playback rate of the media; for example 2.0 is double speed. Not
implemented on MCI or GStreamer.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="SetPlaybackRate">
<function type="bool" name="SetPlaybackrate">
<parameters>
<parameter type="double " name="dVolume"></parameter>
</parameters>
<description>
<p>
Sets the rate that the media plays; for example 0.5 is half speed.
</p>
</description>
</function>
</member>
<member class="wxMediaCtrl" name="ShowPlayerControls">
<function type="bool" name="ShowPlayerControls">
<parameters>
<parameter type="wxMediaCtrlPlayerControls " name="flags"></parameter>
</parameters>
<description>
<p>
Normally, when you use wxMediaCtrl it is just a window for the video to play in.
However, platforms generally have their own media player interface, like
quicktime has a bar below the video with a slider etc.. If you want that native
interface instead of making your own use this function. There are several
options for the flags parameter, however you can look at the mediactrl header
for these. The two general flags are wxMEDIACTRLPLAYERCONTROLS_NONE which turns
off the native interface, and wxMEDIACTRLPLAYERCONTROLS_DEFAULT which lets
wxMediaCtrl decide what native controls on the interface.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxMediaEvent" specific="msw,mac">
<description>
<p class="classdesc">
Event
<ref target="wxmediactrl">wxMediaCtrl</ref>
uses.
</p>
</description>
<category>Miscellaneous</category>
<parents>
<ref type="help" target="wxNotifyEvent">wxNotifyEvent</ref>
</parents>
<includes>
<header name="wx/mediactrl.h"/>
</includes>
<events>
<event name="EVT_MEDIA_LOADED(func)">Sent when a media has loaded enough data that it can start playing.</event>
<event name="EVT_MEDIA_STOP(func)">
Triggerred right before the media stops.  You can Veto this event to prevent it from stopping, causing it to continue playing - even if it has reached that end of the media. </event>
<event name="EVT_MEDIA_FINISHED(func)">Sent when a media has finished playing in a <ref target="wxmediactrl">wxMediaCtrl</ref>.  Note that if you connect to this event and don't skip it, it will override the looping behaviour of the media control.</event>
</events>
<members></members>
<supported></supported>
</class>
<class name="wxMemoryBuffer">
<description>
<p class="classdesc">
A
<b>wxMemoryBuffer</b>
is a useful data structure for storing arbitrary sized blocks of memory.
wxMemoryBuffer guarantees deletion of the memory block when the object is
destroyed.
</p>
</description>
<category>Miscellaneous</category>
<parents></parents>
<includes>
<header name="wx/buffer.h"/>
</includes>
<members>
<member class="wxMemoryBuffer" name="wxMemoryBuffer">
<function type="" name="wxMemoryBuffer">
<parameters>
<parameter type="const wxMemoryBuffer&amp; " name="src"></parameter>
</parameters>
<description>
<p>
Copy constructor, refcounting is used for performance , but wxMemoryBuffer is
not a copy-on-write structure so changes made to one buffer effect all copies
made from it.
</p>
</description>
</function>
<function type="" name="wxMemoryBuffer">
<parameters>
<parameter type="size_t " name="size">
size of new buffer.
</parameter>
</parameters>
<description>
<p>
Create a new buffer.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="GetData">
<function type="void&#42; " name="GetData">
<description>
<p>
Return a pointer to the data in the buffer.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="GetBufSize">
<function type="size_t" name="GetBufSize">
<description>
<p>
Returns the size of the buffer.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="GetDataLen">
<function type="size_t" name="GetDataLen">
<description>
<p>
Returns the length of the valid data in the buffer.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="SetBufSize">
<function type="void" name="SetBufSize">
<parameters>
<parameter type="size_t " name="size"></parameter>
</parameters>
<description>
<p>
Ensures the buffer has at least
<i>size</i>
bytes available.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="SetDataLen">
<function type="void" name="SetDataLen">
<parameters>
<parameter type="size_t " name="size">
New length of the valid data in the buffer. This is distinct from the allocated
size
</parameter>
</parameters>
<description>
<p>
Sets the length of the data stored in the buffer. Mainly useful for truncating
existing data.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="GetWriteBuf">
<function type="void &#42;" name="GetWriteBuf">
<parameters>
<parameter type="size_t " name="sizeNeeded"></parameter>
</parameters>
<description>
<p>
Ensure the buffer is big enough and return a pointer to the buffer which can be
used to directly write into the buffer up to
<i>sizeNeeded</i>
bytes.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="UngetWriteBuf">
<function type="void" name="UngetWriteBuf">
<parameters>
<parameter type="size_t " name="sizeUsed">
The amount of data written in to buffer by the direct write
</parameter>
</parameters>
<description>
<p>
Update the buffer after completing a direct write, which you must have used
GetWriteBuf() to initialise.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="GetAppendBuf">
<function type="void &#42;" name="GetAppendBuf">
<parameters>
<parameter type="size_t " name="sizeNeeded">
Amount of extra space required in the buffer for the append operation
</parameter>
</parameters>
<description>
<p>
Ensure that the buffer is big enough and return a pointer to the start of the
empty space in the buffer. This pointer can be used to directly write data into
the buffer, this new data will be appended to the existing data.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="UngetAppendBuf">
<function type="void" name="UngetAppendBuf">
<parameters>
<parameter type="size_t " name="sizeUsed">
This is the amount of new data that has been appended.
</parameter>
</parameters>
<description>
<p>
Update the length after completing a direct append, which you must have used
GetAppendBuf() to initialise.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="AppendByte">
<function type="void" name="AppendByte">
<parameters>
<parameter type="char " name="data">
New byte to append to the buffer.
</parameter>
</parameters>
<description>
<p>
Append a single byte to the buffer.
</p>
</description>
</function>
</member>
<member class="wxMemoryBuffer" name="AppendData">
<function type="void" name="AppendData">
<parameters>
<parameter type="void&#42; " name="data">
Pointer to block to append to the buffer.
</parameter>
<parameter type="size_t " name="len">
Length of data to append.
</parameter>
</parameters>
<description>
<p>
Single call to append a data block to the buffer.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxMemoryDC">
<description>
<p class="classdesc">
A memory device context provides a means to draw graphics onto a bitmap. When
drawing in to a mono-bitmap, using
<tt>wxWHITE</tt>
,
<tt>wxWHITE_PEN</tt>
and
<tt>wxWHITE_BRUSH</tt>
will draw the background colour (i.e. 0) whereas all other colours will draw the
foreground colour (i.e. 1).
</p>
</description>
<category>Device contexts</category>
<shortdesc>A device context for drawing into bitmaps</shortdesc>
<remarks>
<p>
A bitmap must be selected into the new memory DC before it may be used for
anything. Typical usage is as follows:
</p>
<pre>
  // Create a memory DC
  wxMemoryDC temp_dc;
  temp_dc.SelectObject(test_bitmap);

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

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

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

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

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

  class wxDDEModule: public wxModule
  {
  DECLARE_DYNAMIC_CLASS(wxDDEModule)
  public:
      wxDDEModule() {}
      bool OnInit() { wxDDEInitialize(); return true; };
      void OnExit() { wxDDECleanUp(); };
  };

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

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

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

        s_data.Add(num);

        s_mutexProtectingTheGlobalList-&gt;Unlock();
    }

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

        size_t count = s_data.Count();
        for ( size_t n = 0; n &lt; count; n++ )
        {
            if ( s_data[n] &gt; num )
                return false;
        }

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

    // recursive mutex: don't use these ones with wxCondition
    wxMUTEX_RECURSIVE
};
</pre>
</constants>
<seealso>
<ref target="wxthread">wxThread</ref>
<ref target="wxcondition">wxCondition</ref>
<ref target="wxmutexlocker">wxMutexLocker</ref>
<ref target="wxcriticalsection">wxCriticalSection</ref>
</seealso>
<members>
<member class="wxMutex" name="wxMutex">
<function type="" name="wxMutex">
<parameters>
<parameter type="wxMutexType " name="type" value="wxMUTEX_DEFAULT"></parameter>
</parameters>
<description>
<p>
Default constructor.
</p>
</description>
</function>
</member>
<member class="wxMutex" name="~wxMutex">
<function type="" name="~wxMutex">
<description>
<p>
Destroys the wxMutex object.
</p>
</description>
</function>
</member>
<member class="wxMutex" name="Lock">
<function type="wxMutexError" name="Lock">
<returnvalue>
One of:
<table>
<tr>
<td>
<b>wxMUTEX_NO_ERROR</b>
</td>
<td>There was no error.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_DEAD_LOCK</b>
</td>
<td>A deadlock situation was detected.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_BUSY</b>
</td>
<td>The mutex is already locked by another thread.</td>
</tr>
</table>
</returnvalue>
<description>
<p>
Locks the mutex object.
</p>
</description>
</function>
</member>
<member class="wxMutex" name="TryLock">
<function type="wxMutexError" name="TryLock">
<returnvalue>
One of:
<table>
<tr>
<td>
<b>wxMUTEX_NO_ERROR</b>
</td>
<td>There was no error.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_DEAD_LOCK</b>
</td>
<td>A deadlock situation was detected.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_BUSY</b>
</td>
<td>The mutex is already locked by another thread.</td>
</tr>
</table>
</returnvalue>
<description>
<p>
Tries to lock the mutex object. If it can't, returns immediately with an error.
</p>
</description>
</function>
</member>
<member class="wxMutex" name="Unlock">
<function type="wxMutexError" name="Unlock">
<returnvalue>
One of:
<table>
<tr>
<td>
<b>wxMUTEX_NO_ERROR</b>
</td>
<td>There was no error.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_DEAD_LOCK</b>
</td>
<td>A deadlock situation was detected.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_BUSY</b>
</td>
<td>The mutex is already locked by another thread.</td>
</tr>
<tr>
<td>
<b>wxMUTEX_UNLOCKED</b>
</td>
<td>The calling thread tries to unlock an unlocked mutex.</td>
</tr>
</table>
</returnvalue>
<description>
<p>
Unlocks the mutex object.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxMutexLocker">
<description>
<p class="classdesc">
This is a small helper class to be used with
<ref target="wxmutex">wxMutex</ref>
objects. A wxMutexLocker acquires a mutex lock in the constructor and releases
(or unlocks) the mutex in the destructor making it much more difficult to forget
to release a mutex (which, in general, will promptly lead to the serious
problems). See
<ref target="wxmutex">wxMutex</ref>
for an example of wxMutexLocker usage.
</p>
</description>
<category>Threading classes</category>
<shortdesc>Mutex locker utility class</shortdesc>
<parents></parents>
<includes>
<header name="wx/thread.h"/>
</includes>
<seealso>
<ref target="wxmutex">wxMutex</ref>
<ref target="wxcriticalsectionlocker">wxCriticalSectionLocker</ref>
</seealso>
<members>
<member class="wxMutexLocker" name="wxMutexLocker">
<function type="" name="wxMutexLocker">
<parameters>
<parameter type="wxMutex&amp; " name="mutex"></parameter>
</parameters>
<description>
<p>
Constructs a wxMutexLocker object associated with mutex and locks it. Call
<ref target="wxmutexlockerisok">IsLocked</ref>
to check if the mutex was successfully locked.
</p>
</description>
</function>
</member>
<member class="wxMutexLocker" name="~wxMutexLocker">
<function type="" name="~wxMutexLocker">
<description>
<p>
Destructor releases the mutex if it was successfully acquired in the ctor.
</p>
</description>
</function>
</member>
<member class="wxMutexLocker" name="IsOk">
<function type="bool" name="IsOk" suffix="const">
<description>
<p>
Returns true if mutex was acquired in the constructor, false otherwise.
</p>
</description>
</function>
</member>
</members>
<supported>
<platform name="gtk" status="Y"/>
<platform name="win32" status="Y"/>
<platform name="motif" status="Y"/>
<platform name="x11" status="Y"/>
<platform name="nanox" status="Y"/>
<platform name="mgl" status="Y"/>
<platform name="macos" status="Y"/>
<platform name="os2" status="Y"/>
</supported>
</class>
<class name="wxNode" annotation="abstract">
<description>
<p class="classdesc">
wxNodeBase is the node structure used in linked lists (see
<ref target="wxlist">wxList</ref>
) and derived classes. You should never use wxNodeBase class directly, however,
because it works with untyped (
<tt>void &#42;</tt>
) data and this is unsafe. Use wxNodeBase-derived classes which are
automatically defined by WX_DECLARE_LIST and WX_DEFINE_LIST macros instead as
described in
<ref target="wxlist">wxList</ref>
documentation (see example there). Also note that although there is a class
called wxNode, it is defined for backwards compatibility only and usage of this
class is strongly deprecated.
</p>
<p class="classdesc">
In the documentation below, the type
<tt>T</tt>
should be thought of as a ``template'' parameter: this is the type of data
stored in the linked list or, in other words, the first argument of
WX_DECLARE_LIST macro. Also, wxNode is written as wxNode&lt;T&gt; even though it
isn't really a template class -- but it helps to think of it as if it were.
</p>
</description>
<category>Data structures</category>
<shortdesc>Represents a node in the wxList implementation</shortdesc>
<parents></parents>
<includes>
<header name="wx/list.h"/>
</includes>
<seealso>
<ref target="wxlist">wxList</ref>
<ref target="wxhashtable">wxHashTable</ref>
</seealso>
<members>
<member class="wxNode&lt;T&gt;" name="GetData">
<function type="T &#42;" name="GetData" suffix="const">
<description>
<p>
Retrieves the client data pointer associated with the node.
</p>
</description>
</function>
</member>
<member class="wxNode&lt;T&gt;" name="GetNext">
<function type="wxNode&lt;T&gt; &#42;" name="GetNext" suffix="const">
<description>
<p>
Retrieves the next node or NULL if this node is the last one.
</p>
</description>
</function>
</member>
<member class="wxNode&lt;T&gt;" name="GetPrevious">
<function type="wxNode&lt;T&gt; &#42;" name="GetPrevious">
<description>
<p>
Retrieves the previous node or NULL if this node is the first one in the list.
</p>
</description>
</function>
</member>
<member class="wxNode&lt;T&gt;" name="SetData">
<function type="void" name="SetData">
<parameters>
<parameter type="T &#42;" name="data"></parameter>
</parameters>
<description>
<p>
Sets the data associated with the node (usually the pointer will have been set
when the node was created).
</p>
</description>
</function>
</member>
<member class="wxNode&lt;T&gt;" name="IndexOf">
<function type="int" name="IndexOf">
<description>
<p>
Returns the zero-based index of this node within the list. The return value will
be
<tt>wxNOT_FOUND</tt>
if the node has not been added to a list yet.
</p>
</description>
</function>
</member>
</members>
<supported></supported>
</class>
<class name="wxNotebook">
<description>
<p class="classdesc">
This class represents a notebook control, which manages multiple windows with
associated tabs.
</p>
<p class="classdesc">
To use the class, create a wxNotebook object and call
<ref target="wxnotebookaddpage">AddPage</ref>
or
<ref target="wxnotebookinsertpage">InsertPage</ref>
, passing a window to be used as the page. Do not explicitly delete the window
for a page that is currently managed by wxNotebook.
</p>
<p class="classdesc">
<b>wxNotebookPage</b>
is a typedef for wxWindow.
</p>
<p class="classdesc">
<heading>Page backgrounds</heading>
</p>
<p class="classdesc">
On Windows XP, the default theme paints a gradient on the notebook's pages. If
you wish to suppress this theme, for aesthetic or performance reasons, there are
three ways of doing it. You can use wxNB_NOPAGETHEME to disable themed drawing
for a particular notebook, you can call
<tt>wxSystemOptions::SetOption</tt>
to disable it for the whole application, or you can disable it for individual
pages by using
<tt>SetBackgroundColour</tt>
.
</p>
<p class="classdesc">
To disable themed pages globally:
</p>
<p class="classdesc">
<pre>
    wxSystemOptions::SetOption(wxT(&quot;msw.notebook.themed-background&quot;), 0);
</pre>
</p>
<p class="classdesc">
Set the value to 1 to enable it again.
</p>
<p class="classdesc">
To give a single page a solid background that more or less fits in with the
overall theme, use:
</p>
<p class="classdesc">
<pre>
    wxColour col = notebook-&gt;GetThemeBackgroundColour();
    if (col.Ok())
    {
        page-&gt;SetBackgroundColour(col);
    }
</pre>
</p>
<p class="classdesc">
On platforms other than Windows, or if the application is not using Windows
themes,
<tt>GetThemeBackgroundColour</tt>
will return an uninitialised colour object, and the above code will therefore
work on all platforms.
</p>
</description>
<category>Miscellaneous windows</category>
<shortdesc>Notebook class</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/notebook.h"/>
</includes>
<windowstyles>
<style name="wxNB_TOP">
Place tabs on the top side.
</style>
<style name="wxNB_LEFT">
Place tabs on the left side.
</style>
<style name="wxNB_RIGHT">
Place tabs on the right side.
</style>
<style name="wxNB_BOTTOM">
Place tabs under instead of above the notebook pages.
</style>
<style name="wxNB_FIXEDWIDTH">
(Windows only) All tabs will have same width.
</style>
<style name="wxNB_MULTILINE">
(Windows only) There can be several rows of tabs.
</style>
<style name="wxNB_NOPAGETHEME">
(Windows only) Display a solid colour on notebook pages, and not a gradient,
which can reduce performance.
</style>
<style name="wxNB_FLAT">
(Windows CE only) Show tabs in a flat style.
</style>
</windowstyles>
<seealso>
<ref target="wxbookctrloverview">wxBookCtrl</ref>
<ref target="wxnotebookevent">wxNotebookEvent</ref>
<ref target="wximagelist">wxImageList</ref>
<ref target="samplenotebook">notebook sample</ref>
</seealso>
<members>
<member class="wxNotebook" name="wxNotebook">
<function type="" name="wxNotebook">
<description>
<p>
Default constructor.
</p>
</description>
</function>
<function type="" name="wxNotebook">
<parameters>
<parameter type="wxWindow&#42; " name="parent">
The parent window. Must be non-NULL.
</parameter>
<parameter type="wxWindowID " name="id">
The window identifier.
</parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition">
The window position.
</parameter>
<parameter type="const wxSize&amp; " name="size" value="wxDefaultSize">
The window size.
</parameter>
<parameter type="long " name="style" value="0">
The window style. See
<ref target="wxnotebook">wxNotebook</ref>
.
</parameter>
<parameter type="const wxString&amp; " name="name" value="wxNotebookNameStr">
The name of the control (used only under Motif).
</parameter>
</parameters>
<description>
<p>
Constructs a notebook control.
</p>
<p>
Note that sometimes you can reduce flicker by passing the wxCLIP_CHILDREN window
style.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="~wxNotebook">
<function type="" name="~wxNotebook">
<description>
<p>
Destroys the wxNotebook object.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="AddPage">
<function type="bool" name="AddPage">
<parameters>
<parameter type="wxNotebookPage&#42; " name="page">
Specifies the new page.
</parameter>
<parameter type="const wxString&amp; " name="text">
Specifies the text for the new page.
</parameter>
<parameter type="bool " name="select" value="false">
Specifies whether the page should be selected.
</parameter>
<parameter type="int " name="imageId" value="-1">
Specifies the optional image index for the new page.
</parameter>
</parameters>
<seealso>
<ref target="wxnotebookinsertpage">wxNotebook::InsertPage</ref>
</seealso>
<remarks>
<p>
Do not delete the page, it will be deleted by the notebook.
</p>
</remarks>
<returnvalue>
true if successful, false otherwise.
</returnvalue>
<description>
<p>
Adds a new page.
</p>
<p>
The call to this function may generate the page changing events.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="AdvanceSelection">
<function type="void" name="AdvanceSelection">
<parameters>
<parameter type="bool " name="forward" value="true"></parameter>
</parameters>
<description>
<p>
Cycles through the tabs.
</p>
<p>
The call to this function generates the page changing events.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="AssignImageList">
<function type="void" name="AssignImageList">
<parameters>
<parameter type="wxImageList&#42; " name="imageList"></parameter>
</parameters>
<seealso>
<ref target="wximagelist">wxImageList</ref>
,
<ref target="wxnotebooksetimagelist">SetImageList</ref>
</seealso>
<description>
<p>
Sets the image list for the page control and takes ownership of the list.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="Create">
<function type="bool" name="Create">
<parameters>
<parameter type="wxWindow&#42; " name="parent"></parameter>
<parameter type="wxWindowID " name="id"></parameter>
<parameter type="const wxPoint&amp; " name="pos" value="wxDefaultPosition"></parameter>
<parameter type="const wxSize&amp; " name="size"></parameter>
<parameter type="long " name="style" value="0"></parameter>
<parameter type="const wxString&amp; " name="name" value="wxNotebookNameStr"></parameter>
</parameters>
<description>
<p>
Creates a notebook control. See
<ref target="wxnotebookctor">wxNotebook::wxNotebook</ref>
for a description of the parameters.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="DeleteAllPages">
<function type="bool" name="DeleteAllPages">
<description>
<p>
Deletes all pages.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="DeletePage">
<function type="bool" name="DeletePage">
<parameters>
<parameter type="size_t " name="page"></parameter>
</parameters>
<description>
<p>
Deletes the specified page, and the associated window.
</p>
<p>
The call to this function generates the page changing events.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetCurrentPage">
<function type="wxWindow &#42;" name="GetCurrentPage" suffix="const">
<description>
<p>
Returns the currently selected notebook age or
<tt>NULL</tt>
.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetImageList">
<function type="wxImageList&#42;" name="GetImageList" suffix="const">
<seealso>
<ref target="wximagelist">wxImageList</ref>
<ref target="wxnotebooksetimagelist">wxNotebook::SetImageList</ref>
</seealso>
<description></description>
</function>
</member>
<member class="wxNotebook" name="GetPage">
<function type="wxNotebookPage&#42;" name="GetPage">
<parameters>
<parameter type="size_t " name="page"></parameter>
</parameters>
<description>
<p>
Returns the window at the given page position.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetPageCount">
<function type="size_t" name="GetPageCount" suffix="const">
<description>
<p>
Returns the number of pages in the notebook control.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetPageImage">
<function type="int" name="GetPageImage" suffix="const">
<parameters>
<parameter type="size_t " name="nPage"></parameter>
</parameters>
<description>
<p>
Returns the image index for the given page.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetPageText">
<function type="wxString" name="GetPageText" suffix="const">
<parameters>
<parameter type="size_t " name="nPage"></parameter>
</parameters>
<description>
<p>
Returns the string for the given page.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetRowCount">
<function type="int" name="GetRowCount" suffix="const">
<description>
<p>
Returns the number of rows in the notebook control.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetSelection">
<function type="int" name="GetSelection" suffix="const">
<description>
<p>
Returns the currently selected page, or $-1$ if none was selected.
</p>
<p>
Note that this method may return either the previously or newly selected page
when called from the
<tt>EVT_NOTEBOOK_PAGE_CHANGED</tt>
handler depending on the platform and so
<ref target="wxnotebookeventgetselection">wxNotebookEvent::GetSelection</ref>
should be used instead in this case.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="GetThemeBackgroundColour">
<function type="wxColour" name="GetThemeBackgroundColour" suffix="const">
<description>
<p>
If running under Windows and themes are enabled for the application, this
function returns a suitable colour for painting the background of a notebook
page, and can be passed to
<tt>SetBackgroundColour</tt>
. Otherwise, an uninitialised colour will be returned.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="HitTest">
<function type="int" name="HitTest">
<parameters>
<parameter type="const wxPoint&amp; " name="pt">
Specifies the point for the hit test.
</parameter>
<parameter type="long &#42;" name="flags" value="NULL"></parameter>
</parameters>
<returnvalue>
Returns the zero-based tab index or
<tt>wxNOT_FOUND</tt>
if there is no tab is at the specified position.
</returnvalue>
<description>
<p>
Returns the index of the tab at the specified position or
<tt>wxNOT_FOUND</tt>
if none. If
<i>flags</i>
parameter is non
<tt>NULL</tt>
, the position of the point inside the tab is returned as well.
</p>
<p>
<b>NB: </b>
This method is currently only implemented under wxMSW and wxUniv.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="InsertPage">
<function type="bool" name="InsertPage">
<parameters>
<parameter type="size_t " name="index">
Specifies the position for the new page.
</parameter>
<parameter type="wxNotebookPage&#42; " name="page">
Specifies the new page.
</parameter>
<parameter type="const wxString&amp; " name="text">
Specifies the text for the new page.
</parameter>
<parameter type="bool " name="select" value="false">
Specifies whether the page should be selected.
</parameter>
<parameter type="int " name="imageId" value="-1">
Specifies the optional image index for the new page.
</parameter>
</parameters>
<seealso>
<ref target="wxnotebookaddpage">wxNotebook::AddPage</ref>
</seealso>
<remarks>
<p>
Do not delete the page, it will be deleted by the notebook.
</p>
</remarks>
<returnvalue>
true if successful, false otherwise.
</returnvalue>
<description>
<p>
Inserts a new page at the specified position.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="OnSelChange">
<function type="void" name="OnSelChange">
<parameters>
<parameter type="wxNotebookEvent&amp; " name="event"></parameter>
</parameters>
<seealso>
<ref target="wxnotebookevent">wxNotebookEvent</ref>
</seealso>
<description>
<p>
An event handler function, called when the page selection is changed.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="RemovePage">
<function type="bool" name="RemovePage">
<parameters>
<parameter type="size_t " name="page"></parameter>
</parameters>
<description>
<p>
Deletes the specified page, without deleting the associated window.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="SetImageList">
<function type="void" name="SetImageList">
<parameters>
<parameter type="wxImageList&#42; " name="imageList"></parameter>
</parameters>
<seealso>
<ref target="wximagelist">wxImageList</ref>
,
<ref target="wxnotebookassignimagelist">AssignImageList</ref>
</seealso>
<description>
<p>
Sets the image list for the page control. It does not take ownership of the
image list, you must delete it yourself.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="SetPadding">
<function type="void" name="SetPadding">
<parameters>
<parameter type="const wxSize&amp; " name="padding"></parameter>
</parameters>
<description>
<p>
Sets the amount of space around each page's icon and label, in pixels.
</p>
<p>
<b>NB:</b>
The vertical padding cannot be changed in wxGTK.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="SetPageSize">
<function type="void" name="SetPageSize">
<parameters>
<parameter type="const wxSize&amp; " name="size"></parameter>
</parameters>
<description>
<p>
Sets the width and height of the pages.
</p>
<p>
<b>NB:</b>
This method is currently not implemented for wxGTK.
</p>
</description>
</function>
</member>
<member class="wxNotebook" name="SetPageImage">
<function type="bool" name="SetPageImage">
<parameters>
<parameter type="size_t " name="page"></parameter>
<parameter type="int " name="image"></parameter>
</parameters>
<description>
<p>
Sets the image index for the given page.
<i>image</i>
is an index into the image list which was set with
<ref target="wxnotebooksetimagelist">wxNotebook::SetImageList</ref>
.
</p>
</description>
</fun
