]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/category.tex
Derive from wxToggleButtonBase
[wxWidgets.git] / docs / latex / wx / category.tex
CommitLineData
a660d684
KB
1\chapter{Classes by category}\label{classesbycat}
2\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
3\setfooter{\thepage}{}{}{}{}{\thepage}%
4
fc2171bd 5A classification of wxWidgets classes by category.
a660d684
KB
6
7{\large {\bf Managed windows}}
8
9There are several types of window that are directly controlled by the
10window manager (such as MS Windows, or the Motif Window Manager).
834ed994 11Frames and dialogs are similar in wxWidgets, but only dialogs may be modal.
a660d684 12
1c0c339c 13\twocolwidtha{6cm}
a660d684 14\begin{twocollist}\itemsep=0pt
834ed994 15\twocolitem{\helpref{wxTopLevelWindow}{wxtoplevelwindow}}{Any top level window, dialog or frame}
a660d684
KB
16\twocolitem{\helpref{wxDialog}{wxdialog}}{Dialog box}
17\twocolitem{\helpref{wxFrame}{wxframe}}{Normal frame}
a660d684 18\twocolitem{\helpref{wxMDIChildFrame}{wxmdichildframe}}{MDI child frame}
e3c10211 19\twocolitem{\helpref{wxMDIParentFrame}{wxmdiparentframe}}{MDI parent frame}
a660d684 20\twocolitem{\helpref{wxMiniFrame}{wxminiframe}}{A frame with a small title bar}
3c9287bb 21\twocolitem{\helpref{wxPropertySheetDialog}{wxpropertysheetdialog}}{Property sheet dialog}
62a268cc 22\twocolitem{\helpref{wxSplashScreen}{wxsplashscreen}}{Splash screen class}
bd330a69
JS
23%\twocolitem{\helpref{wxTabbedDialog}{wxtabbeddialog}}{Tabbed dialog
24%(deprecated, use wxNotebook instead)}
e3c10211
JS
25\twocolitem{\helpref{wxTipWindow}{wxtipwindow}}{Shows text in a small window}
26\twocolitem{\helpref{wxWizard}{wxwizard}}{A wizard dialog}
a660d684
KB
27\end{twocollist}
28
c34b5c57 29See also the \helpref{Common dialogs overview}{commondialogsoverview}.
a660d684
KB
30
31{\large {\bf Miscellaneous windows}}
32
d7da9756 33The following are a variety of classes that are derived from wxWindow.
a660d684 34
1c0c339c 35\twocolwidtha{6cm}
a660d684 36\begin{twocollist}\itemsep=0pt
a660d684
KB
37\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
38\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
a5a0dd06 39\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
a660d684
KB
40\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
41\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
81d66cf3 42\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
3972fb49
JS
43%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
44\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
c16b8e18 45\twocolitem{\helpref{wxListbook}{wxlistbook}}{Similar to notebook but using list control}
f5e0b4bc 46\twocolitem{\helpref{wxChoicebook}{wxchoicebook}}{Similar to notebook but using choice control}
eca15c0d 47\twocolitem{\helpref{wxTreebook}{wxtreebook}}{Similar to notebook but using tree control}
a5a0dd06
RR
48\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
49\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
cf7d6329 50\twocolitem{\helpref{wxVScrolledWindow}{wxvscrolledwindow}}{As wxScrolledWindow but supports lines of variable height}
f6bcfd97
BP
51\twocolitem{\helpref{wxWizardPage}{wxwizardpage}}{A base class for the page in wizard dialog.}
52\twocolitem{\helpref{wxWizardPageSimple}{wxwizardpagesimple}}{A page in wizard dialog.}
a660d684
KB
53\end{twocollist}
54
55{\large {\bf Common dialogs}}
56
57\overview{Overview}{commondialogsoverview}
58
59Common dialogs are ready-made dialog classes which are frequently used
60in an application.
61
1c0c339c 62\twocolwidtha{6cm}
a660d684
KB
63\begin{twocollist}\itemsep=0pt
64\twocolitem{\helpref{wxDialog}{wxdialog}}{Base class for common dialogs}
65\twocolitem{\helpref{wxColourDialog}{wxcolourdialog}}{Colour chooser dialog}
66\twocolitem{\helpref{wxDirDialog}{wxdirdialog}}{Directory selector dialog}
67\twocolitem{\helpref{wxFileDialog}{wxfiledialog}}{File selector dialog}
8db37e06 68\twocolitem{\helpref{wxFindReplaceDialog}{wxfindreplacedialog}}{Text search/replace dialog}
04bf08b7 69\twocolitem{\helpref{wxMultiChoiceDialog}{wxmultichoicedialog}}{Dialog to get one or more selections from a list}
a660d684
KB
70\twocolitem{\helpref{wxSingleChoiceDialog}{wxsinglechoicedialog}}{Dialog to get a single selection from a list and return the string}
71\twocolitem{\helpref{wxTextEntryDialog}{wxtextentrydialog}}{Dialog to get a single line of text from the user}
55b46fd1 72\twocolitem{\helpref{wxPasswordEntryDialog}{wxpasswordentrydialog}}{Dialog to get a password from the user}
a660d684
KB
73\twocolitem{\helpref{wxFontDialog}{wxfontdialog}}{Font chooser dialog}
74\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
75\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
74d88854 76\twocolitem{\helpref{wxProgressDialog}{wxprogressdialog}}{Progress indication dialog}
a660d684 77\twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog}
62a268cc
JS
78\twocolitem{\helpref{wxSymbolPickerDialog}{wxsymbolpickerdialog}}{Symbol selector dialog}
79\twocolitem{\helpref{wxRichTextFormattingDialog}{wxrichtextformattingdialog}}{A dialog for formatting the content of a wxRichTextCtrl}
f6bcfd97 80\twocolitem{\helpref{wxWizard}{wxwizard}}{A wizard dialog.}
a660d684
KB
81\end{twocollist}
82
83{\large {\bf Controls}}
84
85Typically, these are small windows which provide interaction with the user. Controls
86that are not static can have \helpref{validators}{wxvalidator} associated with them.
87
1c0c339c 88\twocolwidtha{6cm}
a660d684 89\begin{twocollist}\itemsep=0pt
72045d57 90\twocolitem{\helpref{wxAnimationCtrl}{wxanimationctrl}}{A control to display an animation}
a660d684
KB
91\twocolitem{\helpref{wxControl}{wxcontrol}}{The base class for controls}
92\twocolitem{\helpref{wxButton}{wxbutton}}{Push button control, displaying text}
93\twocolitem{\helpref{wxBitmapButton}{wxbitmapbutton}}{Push button control, displaying a bitmap}
95a46303 94\twocolitem{\helpref{wxBitmapComboBox}{wxbitmapcombobox}}{A combobox with bitmaps next to text items}
ecdba0d1 95\twocolitem{\helpref{wxToggleButton}{wxtogglebutton}}{A button which stays pressed when clicked by user.}
10ff9c61 96\twocolitem{\helpref{wxBitmapToggleButton}{wxbitmaptogglebutton}}{A toggle button with bitmaps.}
feb72429 97\twocolitem{\helpref{wxCalendarCtrl}{wxcalendarctrl}}{Control showing an entire calendar month}
a660d684
KB
98\twocolitem{\helpref{wxCheckBox}{wxcheckbox}}{Checkbox control}
99\twocolitem{\helpref{wxCheckListBox}{wxchecklistbox}}{A listbox with a checkbox to the left of each item}
100\twocolitem{\helpref{wxChoice}{wxchoice}}{Choice control (a combobox without the editable area)}
c34b5c57 101\twocolitem{\helpref{wxCollapsiblePane}{wxcollapsiblepane}}{A panel which can be shown/hidden by the user}
a660d684 102\twocolitem{\helpref{wxComboBox}{wxcombobox}}{A choice with an editable area}
0dfff674 103\twocolitem{\helpref{wxComboCtrl}{wxcomboctrl}}{A combobox with application defined popup}
91506eb0 104\twocolitem{\helpref{wxDataViewCtrl}{wxdataviewctrl}}{A control to tabular or tree like data}
a75124d0 105\twocolitem{\helpref{wxDataViewTreeCtrl}{wxdataviewtreectrl}}{A specialized wxDataViewCtrl with wxTreeCtrl-like API}
a660d684 106\twocolitem{\helpref{wxGauge}{wxgauge}}{A control to represent a varying quantity, such as time remaining}
2f3ebe4c 107\twocolitem{\helpref{wxGenericDirCtrl}{wxgenericdirctrl}}{A control for displaying a directory tree}
9ebb7cad
VZ
108\twocolitem{\helpref{wxHtmlListBox}{wxhtmllistbox}}{An abstract class for creating listboxes showing HTML content}
109\twocolitem{\helpref{wxSimpleHtmlListBox}{wxsimplehtmllistbox}}{A listbox showing HTML content}
a660d684
KB
110\twocolitem{\helpref{wxStaticBox}{wxstaticbox}}{A static, or group box for visually grouping related controls}
111\twocolitem{\helpref{wxListBox}{wxlistbox}}{A list of strings for single or multiple selection}
112\twocolitem{\helpref{wxListCtrl}{wxlistctrl}}{A control for displaying lists of strings and/or icons, plus a multicolumn report view}
913c8465 113\twocolitem{\helpref{wxListView}{wxlistview}}{A simpler interface ({\it fa\c{c}ade}) for wxListCtrl in report mode}
0dfff674 114\twocolitem{\helpref{wxOwnerDrawnComboBox}{wxownerdrawncombobox}}{A combobox with owner-drawn list items}
5f35b46a 115\twocolitem{\helpref{wxRichTextCtrl}{wxrichtextctrl}}{Generic rich text editing control}
f6bcfd97
BP
116\twocolitem{\helpref{wxTextCtrl}{wxtextctrl}}{Single or multiline text editing control}
117\twocolitem{\helpref{wxTreeCtrl}{wxtreectrl}}{Tree (hierarchy) control}
a660d684
KB
118\twocolitem{\helpref{wxScrollBar}{wxscrollbar}}{Scrollbar control}
119\twocolitem{\helpref{wxSpinButton}{wxspinbutton}}{A spin or `up-down' control}
5d9dba5b 120\twocolitem{\helpref{wxSpinCtrl}{wxspinctrl}}{A spin control - i.e. spin button and text control}
a660d684 121\twocolitem{\helpref{wxStaticText}{wxstatictext}}{One or more lines of non-editable text}
17e91437 122\twocolitem{\helpref{wxHyperlinkCtrl}{wxhyperlinkctrl}}{A static text which opens an URL when clicked}
a660d684
KB
123\twocolitem{\helpref{wxStaticBitmap}{wxstaticbitmap}}{A control to display a bitmap}
124\twocolitem{\helpref{wxRadioBox}{wxradiobox}}{A group of radio buttons}
125\twocolitem{\helpref{wxRadioButton}{wxradiobutton}}{A round button to be used with others in a mutually exclusive way}
126\twocolitem{\helpref{wxSlider}{wxslider}}{A slider that can be dragged by the user}
e0c6027b 127\twocolitem{\helpref{wxVListBox}{wxvlistbox}}{A listbox supporting variable height rows}
a660d684
KB
128\end{twocollist}
129
ec376c8f
VZ
130
131{\large {\bf Miscellaneous pickers}}
132
133A picker control is a control whose appearance and behaviour is highly platform-dependent.
134
135\twocolwidtha{6cm}
136\begin{twocollist}\itemsep=0pt
137\twocolitem{\helpref{wxColourPickerCtrl}{wxcolourpickerctrl}}{A control which allows the user to choose a colour}
138\twocolitem{\helpref{wxDirPickerCtrl}{wxdirpickerctrl}}{A control which allows the user to choose a directory}
139\twocolitem{\helpref{wxFilePickerCtrl}{wxfilepickerctrl}}{A control which allows the user to choose a file}
140\twocolitem{\helpref{wxFontPickerCtrl}{wxfontpickerctrl}}{A control which allows the user to choose a font}
141\twocolitem{\helpref{wxDatePickerCtrl}{wxdatepickerctrl}}{Small date picker control}
142\end{twocollist}
143
144
a660d684
KB
145{\large {\bf Menus}}
146
1c0c339c 147\twocolwidtha{6cm}
a660d684
KB
148\begin{twocollist}\itemsep=0pt
149\twocolitem{\helpref{wxMenu}{wxmenu}}{Displays a series of menu items for selection}
150\twocolitem{\helpref{wxMenuBar}{wxmenubar}}{Contains a series of menus for use with a frame}
151\twocolitem{\helpref{wxMenuItem}{wxmenuitem}}{Represents a single menu item}
152\end{twocollist}
153
1fdd3f34
RR
154{\large {\bf wxAUI - advanced user interface}}
155
156This is a new set of classes for writing a customizable application
157interface with built-in docking, floatable panes and a flexible
158MDI-like interface. Further classes for custom notebooks with
159draggable tabs etc. are in progress. See also \helpref{wxAUI overview}{wxauioverview}.
160
161\twocolwidtha{6cm}
162\begin{twocollist}\itemsep=0pt
163\twocolitem{\helpref{wxAuiManager}{wxauimanager}}{The central class for managing the interface}
fa2aeeb5 164\twocolitem{\helpref{wxAuiNotebook}{wxauinotebook}}{A replacement notebook class with extra features}
1fdd3f34 165\twocolitem{\helpref{wxAuiPaneInfo}{wxauipaneinfo}}{Describes a single pane}
fa2aeeb5
BW
166\twocolitem{\helpref{wxAuiDockArt}{wxauidockart}}{Art and metrics provider for customizing the docking user interface}
167\twocolitem{\helpref{wxAuiTabArt}{wxauitabart}}{Art and metrics provider for customizing the notebook user interface}
1fdd3f34
RR
168\end{twocollist}
169
170
a660d684
KB
171{\large {\bf Window layout}}
172
1c0c339c 173There are two different systems for laying out windows (and dialogs in particular).
515da557
RR
174One is based upon so-called sizers and it requires less typing, thinking and calculating
175and will in almost all cases produce dialogs looking equally well on all platforms, the
1c0c339c 176other is based on so-called constraints and is deprecated, though still available.
a660d684 177
1c0c339c 178\overview{Sizer overview}{sizeroverview} describes sizer-based layout.
515da557 179
1c0c339c
JS
180These are the classes relevant to sizer-based layout.
181
182\twocolwidtha{6cm}
515da557
RR
183\begin{twocollist}\itemsep=0pt
184\twocolitem{\helpref{wxSizer}{wxsizer}}{Abstract base class}
f6bcfd97
BP
185\twocolitem{\helpref{wxGridSizer}{wxgridsizer}}{A sizer for laying out windows in a grid with all fields having the same size}
186\twocolitem{\helpref{wxFlexGridSizer}{wxflexgridsizer}}{A sizer for laying out windows in a flexible grid}
20b35a69 187\twocolitem{\helpref{wxGridBagSizer}{wxgridbagsizer}}{Another grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.}
515da557 188\twocolitem{\helpref{wxBoxSizer}{wxboxsizer}}{A sizer for laying out windows in a row or column}
1c0c339c 189\twocolitem{\helpref{wxStaticBoxSizer}{wxstaticboxsizer}}{Same as wxBoxSizer, but with a surrounding static box}
515da557
RR
190\end{twocollist}
191
1c0c339c 192\overview{Constraints overview}{constraintsoverview} describes constraints-based layout.
515da557
RR
193
194These are the classes relevant to constraints-based window layout.
a660d684 195
1c0c339c 196\twocolwidtha{6cm}
a660d684
KB
197\begin{twocollist}\itemsep=0pt
198\twocolitem{\helpref{wxIndividualLayoutConstraint}{wxindividuallayoutconstraint}}{Represents a single constraint dimension}
199\twocolitem{\helpref{wxLayoutConstraints}{wxlayoutconstraints}}{Represents the constraints for a window class}
200\end{twocollist}
201
c34b5c57
FM
202Other layouting classes:
203
204\twocolwidtha{6cm}
205\begin{twocollist}\itemsep=0pt
206\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
207\end{twocollist}
208
a660d684
KB
209{\large {\bf Device contexts}}
210
211\overview{Overview}{dcoverview}
212
213Device contexts are surfaces that may be drawn on, and provide an
214abstraction that allows parameterisation of your drawing code
215by passing different device contexts.
216
1c0c339c 217\twocolwidtha{6cm}
a660d684 218\begin{twocollist}\itemsep=0pt
3dfd8daf 219\twocolitem{\helpref{wxAutoBufferedPaintDC}{wxautobufferedpaintdc}}{A helper device context for double buffered drawing inside \textbf{OnPaint}.}
d6af57d4
VZ
220\twocolitem{\helpref{wxBufferedDC}{wxbuffereddc}}{A helper device context for double buffered drawing.}
221\twocolitem{\helpref{wxBufferedPaintDC}{wxbufferedpaintdc}}{A helper device context for double buffered drawing inside \textbf{OnPaint}.}
a660d684
KB
222\twocolitem{\helpref{wxClientDC}{wxclientdc}}{A device context to access the client area outside {\bf OnPaint} events}
223\twocolitem{\helpref{wxPaintDC}{wxpaintdc}}{A device context to access the client area inside {\bf OnPaint} events}
224\twocolitem{\helpref{wxWindowDC}{wxwindowdc}}{A device context to access the non-client area}
225\twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen}
226\twocolitem{\helpref{wxDC}{wxdc}}{The device context base class}
227\twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps}
e2a6f233 228\twocolitem{\helpref{wxMetafileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
8f20ea03 229\twocolitem{\helpref{wxMirrorDC}{wxmirrordc}}{A proxy device context allowing for simple mirroring.}
a660d684
KB
230\twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files}
231\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers}
232\end{twocollist}
233
234{\large {\bf Graphics device interface}}
235
236\overview{Bitmaps overview}{wxbitmapoverview}
237
238These classes are related to drawing on device contexts and windows.
239
1c0c339c 240\twocolwidtha{6cm}
a660d684
KB
241\begin{twocollist}\itemsep=0pt
242\twocolitem{\helpref{wxColour}{wxcolour}}{Represents the red, blue and green elements of a colour}
6c975af1 243\twocolitem{\helpref{wxDCClipper}{wxdcclipper}}{Wraps the operations of setting and destroying the clipping region}
a660d684
KB
244\twocolitem{\helpref{wxBitmap}{wxbitmap}}{Represents a bitmap}
245\twocolitem{\helpref{wxBrush}{wxbrush}}{Used for filling areas on a device context}
246\twocolitem{\helpref{wxBrushList}{wxbrushlist}}{The list of previously-created brushes}
247\twocolitem{\helpref{wxCursor}{wxcursor}}{A small, transparent bitmap representing the cursor}
248\twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts}
249\twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts}
250\twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts}
89c684ef 251\twocolitem{\helpref{wxImage}{wximage}}{A platform-independent image class}
a660d684
KB
252\twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls}
253\twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing}
254\twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context}
255\twocolitem{\helpref{wxPenList}{wxpenlist}}{The list of previously-created pens}
256\twocolitem{\helpref{wxPalette}{wxpalette}}{Represents a table of indices into RGB values}
257\twocolitem{\helpref{wxRegion}{wxregion}}{Represents a simple or complex region on a window or device context}
684761db 258\twocolitem{\helpref{wxRendererNative}{wxrenderernative}}{Abstracts high-level drawing primitives}
a660d684
KB
259\end{twocollist}
260
261{\large {\bf Events}}
262
263\overview{Overview}{eventhandlingoverview}
264
265An event object contains information about a specific event. Event handlers
266(usually member functions) have a single, event argument.
267
1c0c339c 268\twocolwidtha{6cm}
a660d684
KB
269\begin{twocollist}\itemsep=0pt
270\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
f6bcfd97 271\twocolitem{\helpref{wxCalendarEvent}{wxcalendarevent}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}}
6fb26ea3 272\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
66ad556c 273\twocolitem{\helpref{wxChildFocusEvent}{wxchildfocusevent}}{A child window focus event}
78c91815 274\twocolitem{\helpref{wxClipboardTextEvent}{wxclipboardtextevent}}{A clipboard copy/cut/paste treebook event event}
a660d684
KB
275\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
276\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
5cb1ae8b 277\twocolitem{\helpref{wxContextMenuEvent}{wxcontextmenuevent}}{An event generated when the user issues a context menu command}
e6e86d52 278\twocolitem{\helpref{wxDateEvent}{wxdateevent}}{Used with \helpref{wxDatePickerCtrl}{wxdatepickerctrl}}
f6bcfd97 279\twocolitem{\helpref{wxDialUpEvent}{wxdialupevent}}{Event send by \helpref{wxDialUpManager}{wxdialupmanager}}
a660d684
KB
280\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
281\twocolitem{\helpref{wxEraseEvent}{wxeraseevent}}{An erase background event}
282\twocolitem{\helpref{wxEvent}{wxevent}}{The event base class}
f010ad48 283\twocolitem{\helpref{wxFindDialogEvent}{wxfinddialogevent}}{Event sent by
8db37e06 284\helpref{wxFindReplaceDialog}{wxfindreplacedialog}}
a660d684
KB
285\twocolitem{\helpref{wxFocusEvent}{wxfocusevent}}{A window focus event}
286\twocolitem{\helpref{wxKeyEvent}{wxkeyevent}}{A keypress event}
3dd9b88a 287\twocolitem{\helpref{wxIconizeEvent}{wxiconizeevent}}{An iconize/restore event}
a660d684
KB
288\twocolitem{\helpref{wxIdleEvent}{wxidleevent}}{An idle event}
289\twocolitem{\helpref{wxInitDialogEvent}{wxinitdialogevent}}{A dialog initialisation event}
290\twocolitem{\helpref{wxJoystickEvent}{wxjoystickevent}}{A joystick event}
291\twocolitem{\helpref{wxListEvent}{wxlistevent}}{A list control event}
3dd9b88a 292\twocolitem{\helpref{wxMaximizeEvent}{wxmaximizeevent}}{A maximize event}
a660d684 293\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
a5e84126 294\twocolitem{\helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}}{A mouse capture changed event}
63e819f2 295\twocolitem{\helpref{wxMouseCaptureLostEvent}{wxmousecapturelostevent}}{A mouse capture lost event}
a660d684
KB
296\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
297\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
a701b455 298\twocolitem{\helpref{wxNavigationKeyEvent}{wxnavigationkeyevent}}{An event set by navigation keys such as tab}
3972fb49 299\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
fd128b0c 300\twocolitem{\helpref{wxNotifyEvent}{wxnotifyevent}}{A notification event, which can be vetoed}
a660d684 301\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
3972fb49 302\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
6fb26ea3 303\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
5f35b46a 304\twocolitem{\helpref{wxRichTextEvent}{wxrichtextevent}}{A rich text editing event}
fd128b0c
RR
305\twocolitem{\helpref{wxScrollEvent}{wxscrollevent}}{A scroll event from sliders, stand-alone scrollbars and spin buttons}
306\twocolitem{\helpref{wxScrollWinEvent}{wxscrollwinevent}}{A scroll event from scrolled windows}
a660d684 307\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
42ff6409 308\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
f6bcfd97 309\twocolitem{\helpref{wxSpinEvent}{wxspinevent}}{An event from \helpref{wxSpinButton}{wxspinbutton}}
e6e86d52 310\twocolitem{\helpref{wxSplitterEvent}{wxsplitterevent}}{An event from \helpref{wxSplitterWindow}{wxsplitterwindow}}
a660d684 311\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
e3f17fc8 312\twocolitem{\helpref{wxTimerEvent}{wxtimerevent}}{A timer expiration event}
eca15c0d 313\twocolitem{\helpref{wxTreebookEvent}{wxtreebookevent}}{A treebook control event}
a660d684
KB
314\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
315\twocolitem{\helpref{wxUpdateUIEvent}{wxupdateuievent}}{A user interface update event}
4acaa5e2
JS
316\twocolitem{\helpref{wxWindowCreateEvent}{wxwindowcreateevent}}{A window creation event}
317\twocolitem{\helpref{wxWindowDestroyEvent}{wxwindowdestroyevent}}{A window destruction event}
f6bcfd97 318\twocolitem{\helpref{wxWizardEvent}{wxwizardevent}}{A wizard event}
a660d684
KB
319\end{twocollist}
320
321{\large {\bf Validators}}
322
6b037754
JS
323\overview{Overview}{validatoroverview}
324
a660d684
KB
325These are the window validators, used for filtering and validating
326user input.
327
1c0c339c 328\twocolwidtha{6cm}
a660d684 329\begin{twocollist}\itemsep=0pt
89c684ef
JS
330\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class}
331\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class}
332\twocolitem{\helpref{wxGenericValidator}{wxgenericvalidator}}{Generic control validator class}
a660d684
KB
333\end{twocollist}
334
335{\large {\bf Data structures}}
336
fc2171bd 337These are the data structure classes supported by wxWidgets.
a660d684 338
1c0c339c 339\twocolwidtha{6cm}
a660d684 340\begin{twocollist}\itemsep=0pt
f6bcfd97 341\twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class}
f6bcfd97 342\twocolitem{\helpref{wxDateSpan}{wxdatespan}}{A logical time interval.}
d7da9756 343\twocolitem{\helpref{wxDateTime}{wxdatetime}}{A class for date/time manipulations}
d7da9756 344\twocolitem{\helpref{wxLongLong}{wxlonglong}}{A portable 64 bit integer type}
fc2171bd 345\twocolitem{\helpref{wxObject}{wxobject}}{The root class for most wxWidgets classes}
a660d684
KB
346\twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths}
347\twocolitem{\helpref{wxPoint}{wxpoint}}{Representation of a point}
348\twocolitem{\helpref{wxRect}{wxrect}}{A class representing a rectangle}
8fb2999a 349\twocolitem{\helpref{wxRegEx}{wxregex}}{Regular expression support}
a660d684
KB
350\twocolitem{\helpref{wxRegion}{wxregion}}{A class representing a region}
351\twocolitem{\helpref{wxString}{wxstring}}{A string class}
9c884972 352\twocolitem{\helpref{wxStringTokenizer}{wxstringtokenizer}}{A class for interpreting a string as a list of tokens or words}
a660d684
KB
353\twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers}
354\twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size}
f6bcfd97 355\twocolitem{\helpref{wxTimeSpan}{wxtimespan}}{A time interval.}
86470d43 356\twocolitem{\helpref{wxURI}{wxuri}}{Represents a Uniform Resource Identifier}
d7da9756 357\twocolitem{\helpref{wxVariant}{wxvariant}}{A class for storing arbitrary types that may change at run-time}
a660d684
KB
358\end{twocollist}
359
44f2a3d1
RR
360{\large {\bf Container classes}}
361
362\overview{Overview}{wxcontaineroverview}
363
364These are classes, templates and class macros are used by wxWidgets. Most
365of these classes provide a subset or almost complete STL API.
366
367\twocolwidtha{6cm}
368\begin{twocollist}\itemsep=0pt
369\twocolitem{\helpref{wxArray<T>}{wxarray}}{A type-safe dynamic array implementation (macro based)}
370\twocolitem{\helpref{wxArrayString}{wxarraystring}}{An efficient container for storing \helpref{wxString}{wxstring} objects}
371\twocolitem{\helpref{wxHashMap<T>}{wxhashmap}}{A type-safe hash map implementation (macro based)}
372\twocolitem{\helpref{wxHashSet<T>}{wxhashset}}{A type-safe hash set implementation(macro based)}
373\twocolitem{\helpref{wxHashTable}{wxhashtable}}{A simple hash table implementation (deprecated, use wxHashMap)}
374\twocolitem{\helpref{wxList<T>}{wxlist}}{A type-safe linked list implementation (macro based)}
375\twocolitem{\helpref{wxVector<T>}{wxvector}}{Template base vector implementation}
376\end{twocollist}
377
a660d684
KB
378{\large {\bf Run-time class information system}}
379
380\overview{Overview}{runtimeclassoverview}
381
fc2171bd 382wxWidgets supports run-time manipulation of class information, and dynamic
a660d684
KB
383creation of objects given class names.
384
1c0c339c 385\twocolwidtha{6cm}
a660d684
KB
386\begin{twocollist}\itemsep=0pt
387\twocolitem{\helpref{wxClassInfo}{wxclassinfo}}{Holds run-time class information}
388\twocolitem{\helpref{wxObject}{wxobject}}{Root class for classes with run-time information}
f4fcc291 389\twocolitem{\helpref{RTTI macros}{rttimacros}}{Macros for manipulating run-time information}
a660d684
KB
390\end{twocollist}
391
2fda2145 392{\large {\bf Logging features}}
a660d684 393
30fc2c8e 394\overview{Overview}{wxlogoverview}
f1fa9adc 395
fc2171bd 396wxWidgets provides several classes and functions for message logging.
f1fa9adc
VZ
397Please see the \helpref{wxLog overview}{wxlogoverview} for more details.
398
1c0c339c 399\twocolwidtha{6cm}
f1fa9adc
VZ
400\begin{twocollist}\itemsep=0pt
401\twocolitem{\helpref{wxLog}{wxlog}}{The base log class}
402\twocolitem{\helpref{wxLogStderr}{wxlogstderr}}{Log messages to a C STDIO stream}
403\twocolitem{\helpref{wxLogStream}{wxlogstream}}{Log messages to a C++ iostream}
404\twocolitem{\helpref{wxLogTextCtrl}{wxlogtextctrl}}{Log messages to a \helpref{wxTextCtrl}{wxtextctrl}}
405\twocolitem{\helpref{wxLogWindow}{wxlogwindow}}{Log messages to a log frame}
406\twocolitem{\helpref{wxLogGui}{wxloggui}}{Default log target for GUI programs}
407\twocolitem{\helpref{wxLogNull}{wxlognull}}{Temporarily suppress message logging}
408\twocolitem{\helpref{wxLogChain}{wxlogchain}}{Allows to chain two log targets}
7ffc857f
VZ
409\twocolitem{\helpref{wxLogInterposer}{wxloginterposer}}{Allows to filter the log messages}
410\twocolitem{\helpref{wxLogInterposerTemp}{wxloginterposertemp}}{Allows to filter the log messages}
f1fa9adc
VZ
411\twocolitem{\helpref{wxStreamToTextRedirector}{wxstreamtotextredirector}}{Allows
412to redirect output sent to {\tt cout} to a \helpref{wxTextCtrl}{wxtextctrl}}
413\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
414\end{twocollist}
415
416{\large {\bf Debugging features}}
417
a660d684
KB
418\overview{Overview}{debuggingoverview}
419
fc2171bd 420wxWidgets supports some aspects of debugging an application through
a660d684
KB
421classes, functions and macros.
422
1c0c339c 423\twocolwidtha{6cm}
a660d684 424\begin{twocollist}\itemsep=0pt
6b037754 425\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
6b037754 426\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
a660d684 427\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
af127680
VZ
428\twocolitem{\helpref{wxDebugReport}{wxdebugreport}}{Base class for creating debug reports in case of a program crash.}
429\twocolitem{\helpref{wxDebugReportCompress}{wxdebugreportcompress}}{Class for creating compressed debug reports.}
430\twocolitem{\helpref{wxDebugReportUpload}{wxdebugreportupload}}{Class for uploading compressed debug reports via HTTP.}
431\twocolitem{\helpref{wxDebugReportPreview}{wxdebugreportpreview}}{Abstract base class for previewing the contents of a debug report.}
432\twocolitem{\helpref{wxDebugReportPreviewStd}{wxdebugreportpreviewstd}}{Standard implementation of wxDebugReportPreview.}
a660d684
KB
433\end{twocollist}
434
238ddd26
RR
435{\large {\bf Networking classes}}
436
fc2171bd 437wxWidgets provides its own classes for socket based networking.
238ddd26 438
1c0c339c 439\twocolwidtha{6cm}
238ddd26 440\begin{twocollist}\itemsep=0pt
f6bcfd97
BP
441\twocolitem{\helpref{wxDialUpManager}{wxdialupmanager}}{Provides functions to check the status of network connection and to establish one}
442\twocolitem{\helpref{wxIPV4address}{wxipv4address}}{Represents an Internet address}
be4bd463 443\twocolitem{\helpref{wxIPaddress}{wxipaddress}}{Represents an Internet address}
672186ef 444\twocolitem{\helpref{wxSocketBase}{wxsocketbase}}{Represents a socket base object}
238ddd26
RR
445\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
446\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
238ddd26 447\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
672186ef
GRG
448\twocolitem{\helpref{wxFTP}{wxftp}}{FTP protocol class}
449\twocolitem{\helpref{wxHTTP}{wxhttp}}{HTTP protocol class}
450\twocolitem{\helpref{wxURL}{wxurl}}{Represents a Universal Resource Locator}
238ddd26
RR
451\end{twocollist}
452
453
a660d684
KB
454{\large {\bf Interprocess communication}}
455
456\overview{Overview}{ipcoverview}
457
fc2171bd 458wxWidgets provides simple interprocess communications facilities
f010ad48 459based on Windows DDE, but available on most platforms using TCP.
a660d684 460
1c0c339c 461\twocolwidtha{6cm}
a660d684 462\begin{twocollist}\itemsep=0pt
f510b7b2
WS
463\twocolitem{\helpref{wxClient}{wxclient}, \helpref{wxDDEClient}{wxddeclient}}{Represents a client}
464\twocolitem{\helpref{wxConnection}{wxconnection}, \helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
465\twocolitem{\helpref{wxServer}{wxserver}, \helpref{wxDDEServer}{wxddeserver}}{Represents a server}
d7cb14ce 466%\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
a660d684
KB
467\end{twocollist}
468
469{\large {\bf Document/view framework}}
470
471\overview{Overview}{docviewoverview}
472
fc2171bd 473wxWidgets supports a document/view framework which provides
a660d684
KB
474housekeeping for a document-centric application.
475
1c0c339c 476\twocolwidtha{6cm}
a660d684
KB
477\begin{twocollist}\itemsep=0pt
478\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
479\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
f6bcfd97 480\twocolitem{\helpref{wxDocTemplate}{wxdoctemplate}}{Manages the relationship between a document class and a view class}
a660d684
KB
481\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
482\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
483\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
6fb26ea3
JS
484%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
485%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
a660d684
KB
486\end{twocollist}
487
488{\large {\bf Printing framework}}
489
490\overview{Overview}{printingoverview}
491
492A printing and previewing framework is implemented to
f6bcfd97 493make it relatively straightforward to provide document printing
a660d684
KB
494facilities.
495
1c0c339c 496\twocolwidtha{6cm}
a660d684
KB
497\begin{twocollist}\itemsep=0pt
498\twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview}
499\twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview}
500\twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview}
a660d684 501\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
7bcb11d3 502\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
a660d684
KB
503\twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer}
504\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context}
505\twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout}
506\twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview}
7bcb11d3
JS
507\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
508\twocolitem{\helpref{wxPrintDialogData}{wxprintdialogdata}}{Represents information about the print dialog}
509\twocolitem{\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}}{Represents information about the page setup dialog}
a660d684
KB
510\end{twocollist}
511
dface61c
JS
512{\large {\bf Drag and drop and clipboard classes}}
513
514\overview{Drag and drop and clipboard overview}{wxdndoverview}
515
1c0c339c 516\twocolwidtha{6cm}
dface61c 517\begin{twocollist}\itemsep=0pt
dface61c 518\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class}
c03648c2 519\twocolitem{\helpref{wxDataFormat}{wxdataformat}}{Represents a data format}
dface61c 520\twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class}
5ab2950d 521\twocolitem{\helpref{wxFileDataObject}{wxfiledataobject}}{File data object class}
dface61c 522\twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class}
c959d912 523\twocolitem{\helpref{wxURLDataObject}{wxurldataobject}}{URL data object class}
0a2017e0 524\twocolitem{\helpref{wxCustomDataObject}{wxcustomdataobject}}{Custom data object class}
dface61c 525\twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class}
5aa5e35a
RR
526\twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class}
527\twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class}
528\twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class}
529\twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class}
dface61c
JS
530\end{twocollist}
531
247aba10
VZ
532{\large {\bf File related classes}}
533
fc2171bd 534wxWidgets has several small classes to work with disk files, see \helpref{file classes
247aba10
VZ
535overview}{wxfileoverview} for more details.
536
1c0c339c 537\twocolwidtha{6cm}
247aba10 538\begin{twocollist}\itemsep=0pt
2569938d 539\twocolitem{\helpref{wxFileName}{wxfilename}}{Operations with the file name and attributes}
4afd7529 540\twocolitem{\helpref{wxDir}{wxdir}}{Class for enumerating files/subdirectories.}
509cd921 541\twocolitem{\helpref{wxDirTraverser}{wxdirtraverser}}{Class used together with wxDir for recursively enumerating the files/subdirectories}
842d6c94
RR
542\twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output class.}
543\twocolitem{\helpref{wxFFile}{wxffile}}{Another low-level file input/output class.}
247aba10
VZ
544\twocolitem{\helpref{wxTempFile}{wxtempfile}}{Class to safely replace an existing file}
545\twocolitem{\helpref{wxTextFile}{wxtextfile}}{Class for working with text files as with arrays of lines}
a8d08dbd 546\twocolitem{\helpref{wxStandardPaths}{wxstandardpaths}}{Paths for standard directories}
c34b5c57 547\twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths}
247aba10
VZ
548\end{twocollist}
549
631f1bfe
JS
550{\large {\bf Stream classes}}
551
fc2171bd 552wxWidgets has its own set of stream classes, as an alternative to often buggy standard stream
631f1bfe
JS
553libraries, and to provide enhanced functionality.
554
1c0c339c 555\twocolwidtha{6cm}
631f1bfe
JS
556\begin{twocollist}\itemsep=0pt
557\twocolitem{\helpref{wxStreamBase}{wxstreambase}}{Stream base class}
558\twocolitem{\helpref{wxStreamBuffer}{wxstreambuffer}}{Stream buffer class}
559\twocolitem{\helpref{wxInputStream}{wxinputstream}}{Input stream class}
560\twocolitem{\helpref{wxOutputStream}{wxoutputstream}}{Output stream class}
d984207c 561\twocolitem{\helpref{wxCountingOutputStream}{wxcountingoutputstream}}{Stream class for querying what size a stream would have.}
631f1bfe
JS
562\twocolitem{\helpref{wxFilterInputStream}{wxfilterinputstream}}{Filtered input stream class}
563\twocolitem{\helpref{wxFilterOutputStream}{wxfilteroutputstream}}{Filtered output stream class}
d984207c
RR
564\twocolitem{\helpref{wxBufferedInputStream}{wxbufferedinputstream}}{Buffered input stream class}
565\twocolitem{\helpref{wxBufferedOutputStream}{wxbufferedoutputstream}}{Buffered output stream class}
2bf8e4eb
RR
566\twocolitem{\helpref{wxMemoryInputStream}{wxmeminputstream}}{Memory input stream class}
567\twocolitem{\helpref{wxMemoryOutputStream}{wxmemoutputstream}}{Memory output stream class}
7ff14117
RR
568\twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent binary data input stream class}
569\twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent binary data output stream class}
570\twocolitem{\helpref{wxTextInputStream}{wxtextinputstream}}{Platform-independent text data input stream class}
571\twocolitem{\helpref{wxTextOutputStream}{wxtextoutputstream}}{Platform-independent text data output stream class}
631f1bfe
JS
572\twocolitem{\helpref{wxFileInputStream}{wxfileinputstream}}{File input stream class}
573\twocolitem{\helpref{wxFileOutputStream}{wxfileoutputstream}}{File output stream class}
842d6c94
RR
574\twocolitem{\helpref{wxFFileInputStream}{wxffileinputstream}}{Another file input stream class}
575\twocolitem{\helpref{wxFFileOutputStream}{wxffileoutputstream}}{Another file output stream class}
e1265174 576\twocolitem{\helpref{wxTempFileOutputStream}{wxtempfileoutputstream}}{Stream to safely replace an existing file}
121fa06a
VZ
577\twocolitem{\helpref{wxStringInputStream}{wxstringinputstream}}{String input stream class}
578\twocolitem{\helpref{wxStringOutputStream}{wxstringoutputstream}}{String output stream class}
b34c7f3c
MW
579\twocolitem{\helpref{wxZlibInputStream}{wxzlibinputstream}}{Zlib and gzip (compression) input stream class}
580\twocolitem{\helpref{wxZlibOutputStream}{wxzliboutputstream}}{Zlib and gzip (compression) output stream class}
738bfca9 581\twocolitem{\helpref{wxZipInputStream}{wxzipinputstream}}{Input stream for reading from ZIP archives}
df467a9d 582\twocolitem{\helpref{wxZipOutputStream}{wxzipoutputstream}}{Output stream for writing from ZIP archives}
b34c7f3c
MW
583\twocolitem{\helpref{wxTarInputStream}{wxtarinputstream}}{Input stream for reading from tar archives}
584\twocolitem{\helpref{wxTarOutputStream}{wxtaroutputstream}}{Output stream for writing from tar archives}
631f1bfe
JS
585\twocolitem{\helpref{wxSocketInputStream}{wxsocketinputstream}}{Socket input stream class}
586\twocolitem{\helpref{wxSocketOutputStream}{wxsocketoutputstream}}{Socket output stream class}
587\end{twocollist}
588
238ddd26
RR
589{\large {\bf Threading classes}}
590
591\overview{Multithreading overview}{wxthreadoverview}
738bfca9 592
fc2171bd 593wxWidgets provides a set of classes to make use of the native thread
238ddd26
RR
594capabilities of the various platforms.
595
1c0c339c 596\twocolwidtha{6cm}
238ddd26
RR
597\begin{twocollist}\itemsep=0pt
598\twocolitem{\helpref{wxThread}{wxthread}}{Thread class}
78ee6a47 599\twocolitem{\helpref{wxThreadHelper}{wxthreadhelper}}{Manages background threads easily}
238ddd26
RR
600\twocolitem{\helpref{wxMutex}{wxmutex}}{Mutex class}
601\twocolitem{\helpref{wxMutexLocker}{wxmutexlocker}}{Mutex locker utility class}
602\twocolitem{\helpref{wxCriticalSection}{wxcriticalsection}}{Critical section class}
f6bcfd97 603\twocolitem{\helpref{wxCriticalSectionLocker}{wxcriticalsectionlocker}}{Critical section locker utility class}
88413fec 604\twocolitem{\helpref{wxCondition}{wxcondition}}{Condition class}
be809868 605\twocolitem{\helpref{wxSemaphore}{wxsemaphore}}{Semaphore class}
238ddd26
RR
606\end{twocollist}
607
608{\large {\bf HTML classes}}
609
fc2171bd 610wxWidgets provides a set of classes to display text in HTML format. These
238ddd26 611class include a help system based on the HTML widget.
738bfca9 612
1c0c339c 613\twocolwidtha{6cm}
738bfca9
VS
614\begin{twocollist}\itemsep=0pt
615\twocolitem{\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}}{HTML help controller class}
616\twocolitem{\helpref{wxHtmlWindow}{wxhtmlwindow}}{HTML window class}
e5436d59
VS
617\twocolitem{\helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}}{Simple class for printing HTML}
618\twocolitem{\helpref{wxHtmlPrintout}{wxhtmlprintout}}{Generic HTML wxPrintout class}
738bfca9
VS
619\twocolitem{\helpref{wxHtmlParser}{wxhtmlparser}}{Generic HTML parser class}
620\twocolitem{\helpref{wxHtmlTagHandler}{wxhtmltaghandler}}{HTML tag handler, pluginable into wxHtmlParser}
621\twocolitem{\helpref{wxHtmlWinParser}{wxhtmlwinparser}}{HTML parser class for wxHtmlWindow}
622\twocolitem{\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}}{HTML tag handler, pluginable into wxHtmlWinParser}
623\end{twocollist}
624
4aeaf419
JS
625{\large {\bf Rich text classes}}
626
627wxWidgets provides a set of generic classes to edit and print simple rich text with character
628and paragraph formatting.
629
630\twocolwidtha{6cm}
631\begin{twocollist}\itemsep=0pt
78cb09ec 632\twocolitem{\helpref{wxTextAttr}{wxtextattr}}{Attributes specifying text styling.}
4aeaf419
JS
633\twocolitem{\helpref{wxRichTextCtrl}{wxrichtextctrl}}{A rich text control.}
634\twocolitem{\helpref{wxRichTextBuffer}{wxrichtextbuffer}}{The content of a rich text control.}
4aeaf419
JS
635\twocolitem{\helpref{wxRichTextCharacterStyleDefinition}{wxrichtextcharacterstyledefinition}}{Definition of character styling.}
636\twocolitem{\helpref{wxRichTextParagraphStyleDefinition}{wxrichtextparagraphstyledefinition}}{Definition of paragraph styling.}
637\twocolitem{\helpref{wxRichTextListStyleDefinition}{wxrichtextliststyledefinition}}{Definition of list styling.}
638\twocolitem{\helpref{wxRichTextStyleSheet}{wxrichtextstylesheet}}{A set of style definitions.}
639\twocolitem{\helpref{wxRichTextStyleComboCtrl}{wxrichtextstylecomboctrl}}{A drop-down control for applying styles.}
640\twocolitem{\helpref{wxRichTextStyleListBox}{wxrichtextstylelistbox}}{A listbox for applying styles.}
21fae46d 641\twocolitem{\helpref{wxRichTextStyleOrganiserDialog}{wxrichtextstyleorganiserdialog}}{A dialog that can be used for managing or browsing styles.}
4aeaf419
JS
642\twocolitem{\helpref{wxRichTextEvent}{wxrichtextevent}}{A rich text event.}
643\twocolitem{\helpref{wxRichTextRange}{wxrichtextrange}}{Specification for ranges in a rich text control or buffer.}
644\twocolitem{\helpref{wxRichTextFileHandler}{wxrichtextfilehandler}}{File handler base class.}
645\twocolitem{\helpref{wxRichTextHTMLHandler}{wxrichtexthtmlhandler}}{A handler for converting rich text to HTML.}
646\twocolitem{\helpref{wxRichTextXMLHandler}{wxrichtextxmlhandler}}{A handler for loading and saving rich text XML.}
647\twocolitem{\helpref{wxRichTextFormattingDialog}{wxrichtextformattingdialog}}{A dialog for rich text formatting.}
648\twocolitem{\helpref{wxRichTextPrinting}{wxrichtextprinting}}{A class for easy printing of rich text buffers.}
649\twocolitem{\helpref{wxRichTextPrintout}{wxrichtextprintout}}{A class used by wxRichTextPrinting.}
650\twocolitem{\helpref{wxRichTextHeaderFooterData}{wxrichtextheaderfooterdata}}{Header and footer data specification.}
651\end{twocollist}
652
c34b5c57
FM
653{\large {\bf Scintilla text editor classes}}
654
655wxWidgets also provides a wrapper around the Scintilla text editor control, which is
656a control for plain-text editing with support for highlighting, smart indentation, etc.
657
658\twocolwidtha{6cm}
659\begin{twocollist}\itemsep=0pt
660\twocolitem{\helpref{wxStyledTextCtrl}{wxstyledtextctrl}}{A wxWidgets implementation of the Scintilla source code editing component.}
661\end{twocollist}
662
88413fec
RR
663{\large {\bf Virtual file system classes}}
664
fc2171bd 665wxWidgets provides a set of classes that implement an extensible virtual file system,
88413fec
RR
666used internally by the HTML classes.
667
1c0c339c 668\twocolwidtha{6cm}
88413fec
RR
669\begin{twocollist}\itemsep=0pt
670\twocolitem{\helpref{wxFSFile}{wxfsfile}}{Represents a file in the virtual file system}
671\twocolitem{\helpref{wxFileSystem}{wxfilesystem}}{Main interface for the virtual file system}
672\twocolitem{\helpref{wxFileSystemHandler}{wxfilesystemhandler}}{Class used to announce file system type}
673\end{twocollist}
674
3193b86f
VZ
675{\large {\bf XML classes}}
676
677\twocolwidtha{6cm}
678\begin{twocollist}\itemsep=0pt
44f2a3d1
RR
679\twocolitem{\helpref{wxXmlDocument}{wxxmldocument}}{A class to parse XML files}
680\twocolitem{\helpref{wxXmlNode}{wxxmlnode}}{A class which represents XML nodes}
681\twocolitem{\helpref{wxXmlAttribute}{wxxmlattribute}}{A class which represent an XML attribute}
3193b86f
VZ
682\end{twocollist}
683
d958c9bd
JS
684{\large {\bf XML-based resource system classes}}
685
3980000c 686\overview{XML-based resource system (XRC) overview}{xrcoverview}
d958c9bd
JS
687
688Resources allow your application to create controls and other user interface elements
689from specifications stored in an XML format.
690
1c0c339c 691\twocolwidtha{6cm}
d958c9bd 692\begin{twocollist}\itemsep=0pt
44f2a3d1
RR
693\twocolitem{\helpref{wxXmlResource}{wxxmlresource}}{The main class for working with resources}
694\twocolitem{\helpref{wxXmlResourceHandler}{wxxmlresourcehandler}}{The base class for XML resource handlers}
d958c9bd
JS
695\end{twocollist}
696
7cb74906
JS
697{\large {\bf Online help}}
698
1c0c339c 699\twocolwidtha{6cm}
7cb74906
JS
700\begin{twocollist}\itemsep=0pt
701\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
702\twocolitem{\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}}{HTML help controller class}
703\twocolitem{\helpref{wxContextHelp}{wxcontexthelp}}{Class to put application into context-sensitive help mode}
704\twocolitem{\helpref{wxContextHelpButton}{wxcontexthelpbutton}}{Button class for putting application into context-sensitive help mode}
705\twocolitem{\helpref{wxHelpProvider}{wxhelpprovider}}{Abstract class for context-sensitive help provision}
706\twocolitem{\helpref{wxSimpleHelpProvider}{wxsimplehelpprovider}}{Class for simple context-sensitive help provision}
707\twocolitem{\helpref{wxHelpControllerHelpProvider}{wxhelpcontrollerhelpprovider}}{Class for context-sensitive help provision via a help controller}
708\twocolitem{\helpref{wxToolTip}{wxtooltip}}{Class implementing tooltips}
709\end{twocollist}
710
c34b5c57
FM
711{\large {\bf Multimedia classes}}
712
713\twocolwidtha{6cm}
714\begin{twocollist}\itemsep=0pt
715\twocolitem{\helpref{wxMediaCtrl}{wxmediactrl}}{Display multimedia contents.}
716\end{twocollist}
717
718{\large {\bf OpenGL classes}}
719
720\twocolwidtha{6cm}
721\begin{twocollist}\itemsep=0pt
722\twocolitem{\helpref{wxGLCanvas}{wxglcanvas}}{Canvas that you can render OpenGL calls to.}
723\twocolitem{\helpref{wxGLContext}{wxglcontext}}{Class to ease sharing of OpenGL data resources.}
724\end{twocollist}
725
726{\large {\bf Application and process-management classes}}
a660d684 727
1c0c339c 728\twocolwidtha{6cm}
a660d684
KB
729\begin{twocollist}\itemsep=0pt
730\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
f6bcfd97 731\twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class}
f6bcfd97 732\twocolitem{\helpref{wxDllLoader}{wxdllloader}}{Class to work with shared libraries.}
3972fb49 733\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
c34b5c57
FM
734\end{twocollist}
735
736{\large {\bf Miscellaneous}}
737
738\twocolwidtha{6cm}
739\begin{twocollist}\itemsep=0pt
740\twocolitem{\helpref{wxCaret}{wxcaret}}{A caret (cursor) object}
741\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing (using either INI files or registry)}
a660d684 742\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
5f445b31 743\twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class}
88413fec 744\twocolitem{\helpref{wxMimeTypesManager}{wxmimetypesmanager}}{MIME-types manager class}
0cbff120
JS
745\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class for obtaining various global parameters}
746\twocolitem{\helpref{wxSystemOptions}{wxsystemoptions}}{System options class for run-time configuration}
238ddd26
RR
747\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
748\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
5d9dba5b
VS
749\twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding}
750\twocolitem{\helpref{wxEncodingConverter}{wxencodingconverter}}{Encoding conversions}
f6bcfd97 751\twocolitem{\helpref{wxCalendarDateAttr}{wxcalendardateattr}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}}
e3c10211 752\twocolitem{\helpref{wxQuantize}{wxquantize}}{Class to perform quantization, or colour reduction}
68a602fc 753\twocolitem{\helpref{wxSingleInstanceChecker}{wxsingleinstancechecker}}{Check that only single program instance is running}
238ddd26 754\end{twocollist}