]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/category.tex
fix LaTeX error (escape underscores); don't abuse bold face
[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}
15f7c305 190\twocolitem{\helpref{wxWrapSizer}{wxwrapsizer}}{A sizer which wraps its child controls as size permits}
515da557
RR
191\end{twocollist}
192
1c0c339c 193\overview{Constraints overview}{constraintsoverview} describes constraints-based layout.
515da557
RR
194
195These are the classes relevant to constraints-based window layout.
a660d684 196
1c0c339c 197\twocolwidtha{6cm}
a660d684
KB
198\begin{twocollist}\itemsep=0pt
199\twocolitem{\helpref{wxIndividualLayoutConstraint}{wxindividuallayoutconstraint}}{Represents a single constraint dimension}
200\twocolitem{\helpref{wxLayoutConstraints}{wxlayoutconstraints}}{Represents the constraints for a window class}
201\end{twocollist}
202
c34b5c57
FM
203Other layouting classes:
204
205\twocolwidtha{6cm}
206\begin{twocollist}\itemsep=0pt
207\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
208\end{twocollist}
209
a660d684
KB
210{\large {\bf Device contexts}}
211
212\overview{Overview}{dcoverview}
213
214Device contexts are surfaces that may be drawn on, and provide an
215abstraction that allows parameterisation of your drawing code
216by passing different device contexts.
217
1c0c339c 218\twocolwidtha{6cm}
a660d684 219\begin{twocollist}\itemsep=0pt
3dfd8daf 220\twocolitem{\helpref{wxAutoBufferedPaintDC}{wxautobufferedpaintdc}}{A helper device context for double buffered drawing inside \textbf{OnPaint}.}
d6af57d4
VZ
221\twocolitem{\helpref{wxBufferedDC}{wxbuffereddc}}{A helper device context for double buffered drawing.}
222\twocolitem{\helpref{wxBufferedPaintDC}{wxbufferedpaintdc}}{A helper device context for double buffered drawing inside \textbf{OnPaint}.}
a660d684
KB
223\twocolitem{\helpref{wxClientDC}{wxclientdc}}{A device context to access the client area outside {\bf OnPaint} events}
224\twocolitem{\helpref{wxPaintDC}{wxpaintdc}}{A device context to access the client area inside {\bf OnPaint} events}
225\twocolitem{\helpref{wxWindowDC}{wxwindowdc}}{A device context to access the non-client area}
226\twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen}
227\twocolitem{\helpref{wxDC}{wxdc}}{The device context base class}
228\twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps}
e2a6f233 229\twocolitem{\helpref{wxMetafileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
8f20ea03 230\twocolitem{\helpref{wxMirrorDC}{wxmirrordc}}{A proxy device context allowing for simple mirroring.}
a660d684
KB
231\twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files}
232\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers}
233\end{twocollist}
234
235{\large {\bf Graphics device interface}}
236
237\overview{Bitmaps overview}{wxbitmapoverview}
238
239These classes are related to drawing on device contexts and windows.
240
1c0c339c 241\twocolwidtha{6cm}
a660d684
KB
242\begin{twocollist}\itemsep=0pt
243\twocolitem{\helpref{wxColour}{wxcolour}}{Represents the red, blue and green elements of a colour}
6c975af1 244\twocolitem{\helpref{wxDCClipper}{wxdcclipper}}{Wraps the operations of setting and destroying the clipping region}
a660d684
KB
245\twocolitem{\helpref{wxBitmap}{wxbitmap}}{Represents a bitmap}
246\twocolitem{\helpref{wxBrush}{wxbrush}}{Used for filling areas on a device context}
247\twocolitem{\helpref{wxBrushList}{wxbrushlist}}{The list of previously-created brushes}
248\twocolitem{\helpref{wxCursor}{wxcursor}}{A small, transparent bitmap representing the cursor}
249\twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts}
250\twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts}
251\twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts}
89c684ef 252\twocolitem{\helpref{wxImage}{wximage}}{A platform-independent image class}
a660d684
KB
253\twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls}
254\twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing}
255\twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context}
256\twocolitem{\helpref{wxPenList}{wxpenlist}}{The list of previously-created pens}
257\twocolitem{\helpref{wxPalette}{wxpalette}}{Represents a table of indices into RGB values}
258\twocolitem{\helpref{wxRegion}{wxregion}}{Represents a simple or complex region on a window or device context}
684761db 259\twocolitem{\helpref{wxRendererNative}{wxrenderernative}}{Abstracts high-level drawing primitives}
a660d684
KB
260\end{twocollist}
261
262{\large {\bf Events}}
263
264\overview{Overview}{eventhandlingoverview}
265
266An event object contains information about a specific event. Event handlers
267(usually member functions) have a single, event argument.
268
1c0c339c 269\twocolwidtha{6cm}
a660d684
KB
270\begin{twocollist}\itemsep=0pt
271\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
f6bcfd97 272\twocolitem{\helpref{wxCalendarEvent}{wxcalendarevent}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}}
6fb26ea3 273\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
66ad556c 274\twocolitem{\helpref{wxChildFocusEvent}{wxchildfocusevent}}{A child window focus event}
78c91815 275\twocolitem{\helpref{wxClipboardTextEvent}{wxclipboardtextevent}}{A clipboard copy/cut/paste treebook event event}
a660d684
KB
276\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
277\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
5cb1ae8b 278\twocolitem{\helpref{wxContextMenuEvent}{wxcontextmenuevent}}{An event generated when the user issues a context menu command}
e6e86d52 279\twocolitem{\helpref{wxDateEvent}{wxdateevent}}{Used with \helpref{wxDatePickerCtrl}{wxdatepickerctrl}}
f6bcfd97 280\twocolitem{\helpref{wxDialUpEvent}{wxdialupevent}}{Event send by \helpref{wxDialUpManager}{wxdialupmanager}}
a660d684
KB
281\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
282\twocolitem{\helpref{wxEraseEvent}{wxeraseevent}}{An erase background event}
283\twocolitem{\helpref{wxEvent}{wxevent}}{The event base class}
f010ad48 284\twocolitem{\helpref{wxFindDialogEvent}{wxfinddialogevent}}{Event sent by
8db37e06 285\helpref{wxFindReplaceDialog}{wxfindreplacedialog}}
a660d684
KB
286\twocolitem{\helpref{wxFocusEvent}{wxfocusevent}}{A window focus event}
287\twocolitem{\helpref{wxKeyEvent}{wxkeyevent}}{A keypress event}
3dd9b88a 288\twocolitem{\helpref{wxIconizeEvent}{wxiconizeevent}}{An iconize/restore event}
a660d684
KB
289\twocolitem{\helpref{wxIdleEvent}{wxidleevent}}{An idle event}
290\twocolitem{\helpref{wxInitDialogEvent}{wxinitdialogevent}}{A dialog initialisation event}
291\twocolitem{\helpref{wxJoystickEvent}{wxjoystickevent}}{A joystick event}
292\twocolitem{\helpref{wxListEvent}{wxlistevent}}{A list control event}
3dd9b88a 293\twocolitem{\helpref{wxMaximizeEvent}{wxmaximizeevent}}{A maximize event}
a660d684 294\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
a5e84126 295\twocolitem{\helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}}{A mouse capture changed event}
63e819f2 296\twocolitem{\helpref{wxMouseCaptureLostEvent}{wxmousecapturelostevent}}{A mouse capture lost event}
a660d684
KB
297\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
298\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
a701b455 299\twocolitem{\helpref{wxNavigationKeyEvent}{wxnavigationkeyevent}}{An event set by navigation keys such as tab}
3972fb49 300\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
fd128b0c 301\twocolitem{\helpref{wxNotifyEvent}{wxnotifyevent}}{A notification event, which can be vetoed}
a660d684 302\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
3972fb49 303\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
6fb26ea3 304\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
5f35b46a 305\twocolitem{\helpref{wxRichTextEvent}{wxrichtextevent}}{A rich text editing event}
fd128b0c
RR
306\twocolitem{\helpref{wxScrollEvent}{wxscrollevent}}{A scroll event from sliders, stand-alone scrollbars and spin buttons}
307\twocolitem{\helpref{wxScrollWinEvent}{wxscrollwinevent}}{A scroll event from scrolled windows}
a660d684 308\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
42ff6409 309\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
f6bcfd97 310\twocolitem{\helpref{wxSpinEvent}{wxspinevent}}{An event from \helpref{wxSpinButton}{wxspinbutton}}
e6e86d52 311\twocolitem{\helpref{wxSplitterEvent}{wxsplitterevent}}{An event from \helpref{wxSplitterWindow}{wxsplitterwindow}}
a660d684 312\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
e3f17fc8 313\twocolitem{\helpref{wxTimerEvent}{wxtimerevent}}{A timer expiration event}
eca15c0d 314\twocolitem{\helpref{wxTreebookEvent}{wxtreebookevent}}{A treebook control event}
a660d684
KB
315\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
316\twocolitem{\helpref{wxUpdateUIEvent}{wxupdateuievent}}{A user interface update event}
4acaa5e2
JS
317\twocolitem{\helpref{wxWindowCreateEvent}{wxwindowcreateevent}}{A window creation event}
318\twocolitem{\helpref{wxWindowDestroyEvent}{wxwindowdestroyevent}}{A window destruction event}
f6bcfd97 319\twocolitem{\helpref{wxWizardEvent}{wxwizardevent}}{A wizard event}
a660d684
KB
320\end{twocollist}
321
322{\large {\bf Validators}}
323
6b037754
JS
324\overview{Overview}{validatoroverview}
325
a660d684
KB
326These are the window validators, used for filtering and validating
327user input.
328
1c0c339c 329\twocolwidtha{6cm}
a660d684 330\begin{twocollist}\itemsep=0pt
89c684ef
JS
331\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class}
332\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class}
333\twocolitem{\helpref{wxGenericValidator}{wxgenericvalidator}}{Generic control validator class}
a660d684
KB
334\end{twocollist}
335
336{\large {\bf Data structures}}
337
fc2171bd 338These are the data structure classes supported by wxWidgets.
a660d684 339
1c0c339c 340\twocolwidtha{6cm}
a660d684 341\begin{twocollist}\itemsep=0pt
f6bcfd97 342\twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class}
f6bcfd97 343\twocolitem{\helpref{wxDateSpan}{wxdatespan}}{A logical time interval.}
d7da9756 344\twocolitem{\helpref{wxDateTime}{wxdatetime}}{A class for date/time manipulations}
d7da9756 345\twocolitem{\helpref{wxLongLong}{wxlonglong}}{A portable 64 bit integer type}
fc2171bd 346\twocolitem{\helpref{wxObject}{wxobject}}{The root class for most wxWidgets classes}
a660d684
KB
347\twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths}
348\twocolitem{\helpref{wxPoint}{wxpoint}}{Representation of a point}
349\twocolitem{\helpref{wxRect}{wxrect}}{A class representing a rectangle}
8fb2999a 350\twocolitem{\helpref{wxRegEx}{wxregex}}{Regular expression support}
a660d684
KB
351\twocolitem{\helpref{wxRegion}{wxregion}}{A class representing a region}
352\twocolitem{\helpref{wxString}{wxstring}}{A string class}
9c884972 353\twocolitem{\helpref{wxStringTokenizer}{wxstringtokenizer}}{A class for interpreting a string as a list of tokens or words}
a660d684
KB
354\twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers}
355\twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size}
f6bcfd97 356\twocolitem{\helpref{wxTimeSpan}{wxtimespan}}{A time interval.}
86470d43 357\twocolitem{\helpref{wxURI}{wxuri}}{Represents a Uniform Resource Identifier}
d7da9756 358\twocolitem{\helpref{wxVariant}{wxvariant}}{A class for storing arbitrary types that may change at run-time}
a660d684
KB
359\end{twocollist}
360
44f2a3d1
RR
361{\large {\bf Container classes}}
362
363\overview{Overview}{wxcontaineroverview}
364
365These are classes, templates and class macros are used by wxWidgets. Most
366of these classes provide a subset or almost complete STL API.
367
368\twocolwidtha{6cm}
369\begin{twocollist}\itemsep=0pt
370\twocolitem{\helpref{wxArray<T>}{wxarray}}{A type-safe dynamic array implementation (macro based)}
371\twocolitem{\helpref{wxArrayString}{wxarraystring}}{An efficient container for storing \helpref{wxString}{wxstring} objects}
372\twocolitem{\helpref{wxHashMap<T>}{wxhashmap}}{A type-safe hash map implementation (macro based)}
373\twocolitem{\helpref{wxHashSet<T>}{wxhashset}}{A type-safe hash set implementation(macro based)}
374\twocolitem{\helpref{wxHashTable}{wxhashtable}}{A simple hash table implementation (deprecated, use wxHashMap)}
375\twocolitem{\helpref{wxList<T>}{wxlist}}{A type-safe linked list implementation (macro based)}
a6acecec
RR
376\twocolitem{\helpref{wxVector<T>}{wxvector}}{Template base vector implementation identical to std::vector}
377\end{twocollist}
378
379{\large {\bf Smart pointers}}
380
381wxWidgets provides a few smart pointer class templates.
382
383\twocolwidtha{6cm}
384\begin{twocollist}\itemsep=0pt
5200ca36 385\twocolitem{\helpref{wxObjectDataPtr<T>}{wxobjectdataptr}}{A shared pointer (using intrusive reference counting)}
89969a91 386\twocolitem{\helpref{wxScopedPtr<T>}{wxscopedptrtemplate}}{A scoped pointer}
5200ca36 387\twocolitem{\helpref{wxSharedPtr<T>}{wxsharedptr}}{A shared pointer (using non-intrusive reference counting)}
89969a91 388\twocolitem{\helpref{wxWeakRef<T>}{wxweakref}}{A weak reference}
44f2a3d1
RR
389\end{twocollist}
390
a660d684
KB
391{\large {\bf Run-time class information system}}
392
393\overview{Overview}{runtimeclassoverview}
394
fc2171bd 395wxWidgets supports run-time manipulation of class information, and dynamic
a660d684
KB
396creation of objects given class names.
397
1c0c339c 398\twocolwidtha{6cm}
a660d684
KB
399\begin{twocollist}\itemsep=0pt
400\twocolitem{\helpref{wxClassInfo}{wxclassinfo}}{Holds run-time class information}
401\twocolitem{\helpref{wxObject}{wxobject}}{Root class for classes with run-time information}
f4fcc291 402\twocolitem{\helpref{RTTI macros}{rttimacros}}{Macros for manipulating run-time information}
a660d684
KB
403\end{twocollist}
404
2fda2145 405{\large {\bf Logging features}}
a660d684 406
30fc2c8e 407\overview{Overview}{wxlogoverview}
f1fa9adc 408
fc2171bd 409wxWidgets provides several classes and functions for message logging.
f1fa9adc
VZ
410Please see the \helpref{wxLog overview}{wxlogoverview} for more details.
411
1c0c339c 412\twocolwidtha{6cm}
f1fa9adc
VZ
413\begin{twocollist}\itemsep=0pt
414\twocolitem{\helpref{wxLog}{wxlog}}{The base log class}
415\twocolitem{\helpref{wxLogStderr}{wxlogstderr}}{Log messages to a C STDIO stream}
416\twocolitem{\helpref{wxLogStream}{wxlogstream}}{Log messages to a C++ iostream}
417\twocolitem{\helpref{wxLogTextCtrl}{wxlogtextctrl}}{Log messages to a \helpref{wxTextCtrl}{wxtextctrl}}
418\twocolitem{\helpref{wxLogWindow}{wxlogwindow}}{Log messages to a log frame}
419\twocolitem{\helpref{wxLogGui}{wxloggui}}{Default log target for GUI programs}
420\twocolitem{\helpref{wxLogNull}{wxlognull}}{Temporarily suppress message logging}
421\twocolitem{\helpref{wxLogChain}{wxlogchain}}{Allows to chain two log targets}
7ffc857f
VZ
422\twocolitem{\helpref{wxLogInterposer}{wxloginterposer}}{Allows to filter the log messages}
423\twocolitem{\helpref{wxLogInterposerTemp}{wxloginterposertemp}}{Allows to filter the log messages}
f1fa9adc
VZ
424\twocolitem{\helpref{wxStreamToTextRedirector}{wxstreamtotextredirector}}{Allows
425to redirect output sent to {\tt cout} to a \helpref{wxTextCtrl}{wxtextctrl}}
426\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
427\end{twocollist}
428
429{\large {\bf Debugging features}}
430
a660d684
KB
431\overview{Overview}{debuggingoverview}
432
fc2171bd 433wxWidgets supports some aspects of debugging an application through
a660d684
KB
434classes, functions and macros.
435
1c0c339c 436\twocolwidtha{6cm}
a660d684 437\begin{twocollist}\itemsep=0pt
6b037754 438\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
6b037754 439\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
a660d684 440\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
af127680
VZ
441\twocolitem{\helpref{wxDebugReport}{wxdebugreport}}{Base class for creating debug reports in case of a program crash.}
442\twocolitem{\helpref{wxDebugReportCompress}{wxdebugreportcompress}}{Class for creating compressed debug reports.}
443\twocolitem{\helpref{wxDebugReportUpload}{wxdebugreportupload}}{Class for uploading compressed debug reports via HTTP.}
444\twocolitem{\helpref{wxDebugReportPreview}{wxdebugreportpreview}}{Abstract base class for previewing the contents of a debug report.}
445\twocolitem{\helpref{wxDebugReportPreviewStd}{wxdebugreportpreviewstd}}{Standard implementation of wxDebugReportPreview.}
a660d684
KB
446\end{twocollist}
447
238ddd26
RR
448{\large {\bf Networking classes}}
449
fc2171bd 450wxWidgets provides its own classes for socket based networking.
238ddd26 451
1c0c339c 452\twocolwidtha{6cm}
238ddd26 453\begin{twocollist}\itemsep=0pt
f6bcfd97
BP
454\twocolitem{\helpref{wxDialUpManager}{wxdialupmanager}}{Provides functions to check the status of network connection and to establish one}
455\twocolitem{\helpref{wxIPV4address}{wxipv4address}}{Represents an Internet address}
be4bd463 456\twocolitem{\helpref{wxIPaddress}{wxipaddress}}{Represents an Internet address}
672186ef 457\twocolitem{\helpref{wxSocketBase}{wxsocketbase}}{Represents a socket base object}
238ddd26
RR
458\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
459\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
238ddd26 460\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
672186ef
GRG
461\twocolitem{\helpref{wxFTP}{wxftp}}{FTP protocol class}
462\twocolitem{\helpref{wxHTTP}{wxhttp}}{HTTP protocol class}
463\twocolitem{\helpref{wxURL}{wxurl}}{Represents a Universal Resource Locator}
238ddd26
RR
464\end{twocollist}
465
466
a660d684
KB
467{\large {\bf Interprocess communication}}
468
469\overview{Overview}{ipcoverview}
470
fc2171bd 471wxWidgets provides simple interprocess communications facilities
f010ad48 472based on Windows DDE, but available on most platforms using TCP.
a660d684 473
1c0c339c 474\twocolwidtha{6cm}
a660d684 475\begin{twocollist}\itemsep=0pt
f510b7b2
WS
476\twocolitem{\helpref{wxClient}{wxclient}, \helpref{wxDDEClient}{wxddeclient}}{Represents a client}
477\twocolitem{\helpref{wxConnection}{wxconnection}, \helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
478\twocolitem{\helpref{wxServer}{wxserver}, \helpref{wxDDEServer}{wxddeserver}}{Represents a server}
d7cb14ce 479%\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
a660d684
KB
480\end{twocollist}
481
482{\large {\bf Document/view framework}}
483
484\overview{Overview}{docviewoverview}
485
fc2171bd 486wxWidgets supports a document/view framework which provides
a660d684
KB
487housekeeping for a document-centric application.
488
1c0c339c 489\twocolwidtha{6cm}
a660d684
KB
490\begin{twocollist}\itemsep=0pt
491\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
492\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
f6bcfd97 493\twocolitem{\helpref{wxDocTemplate}{wxdoctemplate}}{Manages the relationship between a document class and a view class}
a660d684
KB
494\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
495\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
496\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
6fb26ea3
JS
497%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
498%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
a660d684
KB
499\end{twocollist}
500
501{\large {\bf Printing framework}}
502
503\overview{Overview}{printingoverview}
504
505A printing and previewing framework is implemented to
f6bcfd97 506make it relatively straightforward to provide document printing
a660d684
KB
507facilities.
508
1c0c339c 509\twocolwidtha{6cm}
a660d684
KB
510\begin{twocollist}\itemsep=0pt
511\twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview}
512\twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview}
513\twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview}
a660d684 514\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
7bcb11d3 515\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
a660d684
KB
516\twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer}
517\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context}
518\twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout}
519\twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview}
7bcb11d3
JS
520\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
521\twocolitem{\helpref{wxPrintDialogData}{wxprintdialogdata}}{Represents information about the print dialog}
522\twocolitem{\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}}{Represents information about the page setup dialog}
a660d684
KB
523\end{twocollist}
524
dface61c
JS
525{\large {\bf Drag and drop and clipboard classes}}
526
527\overview{Drag and drop and clipboard overview}{wxdndoverview}
528
1c0c339c 529\twocolwidtha{6cm}
dface61c 530\begin{twocollist}\itemsep=0pt
dface61c 531\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class}
c03648c2 532\twocolitem{\helpref{wxDataFormat}{wxdataformat}}{Represents a data format}
dface61c 533\twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class}
5ab2950d 534\twocolitem{\helpref{wxFileDataObject}{wxfiledataobject}}{File data object class}
dface61c 535\twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class}
c959d912 536\twocolitem{\helpref{wxURLDataObject}{wxurldataobject}}{URL data object class}
0a2017e0 537\twocolitem{\helpref{wxCustomDataObject}{wxcustomdataobject}}{Custom data object class}
dface61c 538\twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class}
5aa5e35a
RR
539\twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class}
540\twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class}
541\twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class}
542\twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class}
dface61c
JS
543\end{twocollist}
544
247aba10
VZ
545{\large {\bf File related classes}}
546
fc2171bd 547wxWidgets has several small classes to work with disk files, see \helpref{file classes
247aba10
VZ
548overview}{wxfileoverview} for more details.
549
1c0c339c 550\twocolwidtha{6cm}
247aba10 551\begin{twocollist}\itemsep=0pt
2569938d 552\twocolitem{\helpref{wxFileName}{wxfilename}}{Operations with the file name and attributes}
4afd7529 553\twocolitem{\helpref{wxDir}{wxdir}}{Class for enumerating files/subdirectories.}
509cd921 554\twocolitem{\helpref{wxDirTraverser}{wxdirtraverser}}{Class used together with wxDir for recursively enumerating the files/subdirectories}
842d6c94
RR
555\twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output class.}
556\twocolitem{\helpref{wxFFile}{wxffile}}{Another low-level file input/output class.}
247aba10
VZ
557\twocolitem{\helpref{wxTempFile}{wxtempfile}}{Class to safely replace an existing file}
558\twocolitem{\helpref{wxTextFile}{wxtextfile}}{Class for working with text files as with arrays of lines}
a8d08dbd 559\twocolitem{\helpref{wxStandardPaths}{wxstandardpaths}}{Paths for standard directories}
c34b5c57 560\twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths}
247aba10
VZ
561\end{twocollist}
562
631f1bfe
JS
563{\large {\bf Stream classes}}
564
fc2171bd 565wxWidgets has its own set of stream classes, as an alternative to often buggy standard stream
631f1bfe
JS
566libraries, and to provide enhanced functionality.
567
1c0c339c 568\twocolwidtha{6cm}
631f1bfe
JS
569\begin{twocollist}\itemsep=0pt
570\twocolitem{\helpref{wxStreamBase}{wxstreambase}}{Stream base class}
571\twocolitem{\helpref{wxStreamBuffer}{wxstreambuffer}}{Stream buffer class}
572\twocolitem{\helpref{wxInputStream}{wxinputstream}}{Input stream class}
573\twocolitem{\helpref{wxOutputStream}{wxoutputstream}}{Output stream class}
d984207c 574\twocolitem{\helpref{wxCountingOutputStream}{wxcountingoutputstream}}{Stream class for querying what size a stream would have.}
631f1bfe
JS
575\twocolitem{\helpref{wxFilterInputStream}{wxfilterinputstream}}{Filtered input stream class}
576\twocolitem{\helpref{wxFilterOutputStream}{wxfilteroutputstream}}{Filtered output stream class}
d984207c
RR
577\twocolitem{\helpref{wxBufferedInputStream}{wxbufferedinputstream}}{Buffered input stream class}
578\twocolitem{\helpref{wxBufferedOutputStream}{wxbufferedoutputstream}}{Buffered output stream class}
2bf8e4eb
RR
579\twocolitem{\helpref{wxMemoryInputStream}{wxmeminputstream}}{Memory input stream class}
580\twocolitem{\helpref{wxMemoryOutputStream}{wxmemoutputstream}}{Memory output stream class}
7ff14117
RR
581\twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent binary data input stream class}
582\twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent binary data output stream class}
583\twocolitem{\helpref{wxTextInputStream}{wxtextinputstream}}{Platform-independent text data input stream class}
584\twocolitem{\helpref{wxTextOutputStream}{wxtextoutputstream}}{Platform-independent text data output stream class}
631f1bfe
JS
585\twocolitem{\helpref{wxFileInputStream}{wxfileinputstream}}{File input stream class}
586\twocolitem{\helpref{wxFileOutputStream}{wxfileoutputstream}}{File output stream class}
842d6c94
RR
587\twocolitem{\helpref{wxFFileInputStream}{wxffileinputstream}}{Another file input stream class}
588\twocolitem{\helpref{wxFFileOutputStream}{wxffileoutputstream}}{Another file output stream class}
e1265174 589\twocolitem{\helpref{wxTempFileOutputStream}{wxtempfileoutputstream}}{Stream to safely replace an existing file}
121fa06a
VZ
590\twocolitem{\helpref{wxStringInputStream}{wxstringinputstream}}{String input stream class}
591\twocolitem{\helpref{wxStringOutputStream}{wxstringoutputstream}}{String output stream class}
b34c7f3c
MW
592\twocolitem{\helpref{wxZlibInputStream}{wxzlibinputstream}}{Zlib and gzip (compression) input stream class}
593\twocolitem{\helpref{wxZlibOutputStream}{wxzliboutputstream}}{Zlib and gzip (compression) output stream class}
738bfca9 594\twocolitem{\helpref{wxZipInputStream}{wxzipinputstream}}{Input stream for reading from ZIP archives}
df467a9d 595\twocolitem{\helpref{wxZipOutputStream}{wxzipoutputstream}}{Output stream for writing from ZIP archives}
b34c7f3c
MW
596\twocolitem{\helpref{wxTarInputStream}{wxtarinputstream}}{Input stream for reading from tar archives}
597\twocolitem{\helpref{wxTarOutputStream}{wxtaroutputstream}}{Output stream for writing from tar archives}
631f1bfe
JS
598\twocolitem{\helpref{wxSocketInputStream}{wxsocketinputstream}}{Socket input stream class}
599\twocolitem{\helpref{wxSocketOutputStream}{wxsocketoutputstream}}{Socket output stream class}
600\end{twocollist}
601
238ddd26
RR
602{\large {\bf Threading classes}}
603
604\overview{Multithreading overview}{wxthreadoverview}
738bfca9 605
fc2171bd 606wxWidgets provides a set of classes to make use of the native thread
238ddd26
RR
607capabilities of the various platforms.
608
1c0c339c 609\twocolwidtha{6cm}
238ddd26
RR
610\begin{twocollist}\itemsep=0pt
611\twocolitem{\helpref{wxThread}{wxthread}}{Thread class}
78ee6a47 612\twocolitem{\helpref{wxThreadHelper}{wxthreadhelper}}{Manages background threads easily}
238ddd26
RR
613\twocolitem{\helpref{wxMutex}{wxmutex}}{Mutex class}
614\twocolitem{\helpref{wxMutexLocker}{wxmutexlocker}}{Mutex locker utility class}
615\twocolitem{\helpref{wxCriticalSection}{wxcriticalsection}}{Critical section class}
f6bcfd97 616\twocolitem{\helpref{wxCriticalSectionLocker}{wxcriticalsectionlocker}}{Critical section locker utility class}
88413fec 617\twocolitem{\helpref{wxCondition}{wxcondition}}{Condition class}
be809868 618\twocolitem{\helpref{wxSemaphore}{wxsemaphore}}{Semaphore class}
238ddd26
RR
619\end{twocollist}
620
621{\large {\bf HTML classes}}
622
fc2171bd 623wxWidgets provides a set of classes to display text in HTML format. These
238ddd26 624class include a help system based on the HTML widget.
738bfca9 625
1c0c339c 626\twocolwidtha{6cm}
738bfca9
VS
627\begin{twocollist}\itemsep=0pt
628\twocolitem{\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}}{HTML help controller class}
629\twocolitem{\helpref{wxHtmlWindow}{wxhtmlwindow}}{HTML window class}
e5436d59
VS
630\twocolitem{\helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}}{Simple class for printing HTML}
631\twocolitem{\helpref{wxHtmlPrintout}{wxhtmlprintout}}{Generic HTML wxPrintout class}
738bfca9
VS
632\twocolitem{\helpref{wxHtmlParser}{wxhtmlparser}}{Generic HTML parser class}
633\twocolitem{\helpref{wxHtmlTagHandler}{wxhtmltaghandler}}{HTML tag handler, pluginable into wxHtmlParser}
634\twocolitem{\helpref{wxHtmlWinParser}{wxhtmlwinparser}}{HTML parser class for wxHtmlWindow}
635\twocolitem{\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}}{HTML tag handler, pluginable into wxHtmlWinParser}
636\end{twocollist}
637
4aeaf419
JS
638{\large {\bf Rich text classes}}
639
640wxWidgets provides a set of generic classes to edit and print simple rich text with character
641and paragraph formatting.
642
643\twocolwidtha{6cm}
644\begin{twocollist}\itemsep=0pt
78cb09ec 645\twocolitem{\helpref{wxTextAttr}{wxtextattr}}{Attributes specifying text styling.}
4aeaf419
JS
646\twocolitem{\helpref{wxRichTextCtrl}{wxrichtextctrl}}{A rich text control.}
647\twocolitem{\helpref{wxRichTextBuffer}{wxrichtextbuffer}}{The content of a rich text control.}
4aeaf419
JS
648\twocolitem{\helpref{wxRichTextCharacterStyleDefinition}{wxrichtextcharacterstyledefinition}}{Definition of character styling.}
649\twocolitem{\helpref{wxRichTextParagraphStyleDefinition}{wxrichtextparagraphstyledefinition}}{Definition of paragraph styling.}
650\twocolitem{\helpref{wxRichTextListStyleDefinition}{wxrichtextliststyledefinition}}{Definition of list styling.}
651\twocolitem{\helpref{wxRichTextStyleSheet}{wxrichtextstylesheet}}{A set of style definitions.}
652\twocolitem{\helpref{wxRichTextStyleComboCtrl}{wxrichtextstylecomboctrl}}{A drop-down control for applying styles.}
653\twocolitem{\helpref{wxRichTextStyleListBox}{wxrichtextstylelistbox}}{A listbox for applying styles.}
21fae46d 654\twocolitem{\helpref{wxRichTextStyleOrganiserDialog}{wxrichtextstyleorganiserdialog}}{A dialog that can be used for managing or browsing styles.}
4aeaf419
JS
655\twocolitem{\helpref{wxRichTextEvent}{wxrichtextevent}}{A rich text event.}
656\twocolitem{\helpref{wxRichTextRange}{wxrichtextrange}}{Specification for ranges in a rich text control or buffer.}
657\twocolitem{\helpref{wxRichTextFileHandler}{wxrichtextfilehandler}}{File handler base class.}
658\twocolitem{\helpref{wxRichTextHTMLHandler}{wxrichtexthtmlhandler}}{A handler for converting rich text to HTML.}
659\twocolitem{\helpref{wxRichTextXMLHandler}{wxrichtextxmlhandler}}{A handler for loading and saving rich text XML.}
660\twocolitem{\helpref{wxRichTextFormattingDialog}{wxrichtextformattingdialog}}{A dialog for rich text formatting.}
661\twocolitem{\helpref{wxRichTextPrinting}{wxrichtextprinting}}{A class for easy printing of rich text buffers.}
662\twocolitem{\helpref{wxRichTextPrintout}{wxrichtextprintout}}{A class used by wxRichTextPrinting.}
663\twocolitem{\helpref{wxRichTextHeaderFooterData}{wxrichtextheaderfooterdata}}{Header and footer data specification.}
664\end{twocollist}
665
c34b5c57
FM
666{\large {\bf Scintilla text editor classes}}
667
668wxWidgets also provides a wrapper around the Scintilla text editor control, which is
669a control for plain-text editing with support for highlighting, smart indentation, etc.
670
671\twocolwidtha{6cm}
672\begin{twocollist}\itemsep=0pt
673\twocolitem{\helpref{wxStyledTextCtrl}{wxstyledtextctrl}}{A wxWidgets implementation of the Scintilla source code editing component.}
674\end{twocollist}
675
88413fec
RR
676{\large {\bf Virtual file system classes}}
677
fc2171bd 678wxWidgets provides a set of classes that implement an extensible virtual file system,
88413fec
RR
679used internally by the HTML classes.
680
1c0c339c 681\twocolwidtha{6cm}
88413fec
RR
682\begin{twocollist}\itemsep=0pt
683\twocolitem{\helpref{wxFSFile}{wxfsfile}}{Represents a file in the virtual file system}
684\twocolitem{\helpref{wxFileSystem}{wxfilesystem}}{Main interface for the virtual file system}
685\twocolitem{\helpref{wxFileSystemHandler}{wxfilesystemhandler}}{Class used to announce file system type}
686\end{twocollist}
687
3193b86f
VZ
688{\large {\bf XML classes}}
689
690\twocolwidtha{6cm}
691\begin{twocollist}\itemsep=0pt
44f2a3d1
RR
692\twocolitem{\helpref{wxXmlDocument}{wxxmldocument}}{A class to parse XML files}
693\twocolitem{\helpref{wxXmlNode}{wxxmlnode}}{A class which represents XML nodes}
694\twocolitem{\helpref{wxXmlAttribute}{wxxmlattribute}}{A class which represent an XML attribute}
3193b86f
VZ
695\end{twocollist}
696
d958c9bd
JS
697{\large {\bf XML-based resource system classes}}
698
3980000c 699\overview{XML-based resource system (XRC) overview}{xrcoverview}
d958c9bd
JS
700
701Resources allow your application to create controls and other user interface elements
702from specifications stored in an XML format.
703
1c0c339c 704\twocolwidtha{6cm}
d958c9bd 705\begin{twocollist}\itemsep=0pt
44f2a3d1
RR
706\twocolitem{\helpref{wxXmlResource}{wxxmlresource}}{The main class for working with resources}
707\twocolitem{\helpref{wxXmlResourceHandler}{wxxmlresourcehandler}}{The base class for XML resource handlers}
d958c9bd
JS
708\end{twocollist}
709
7cb74906
JS
710{\large {\bf Online help}}
711
1c0c339c 712\twocolwidtha{6cm}
7cb74906
JS
713\begin{twocollist}\itemsep=0pt
714\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
715\twocolitem{\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}}{HTML help controller class}
716\twocolitem{\helpref{wxContextHelp}{wxcontexthelp}}{Class to put application into context-sensitive help mode}
717\twocolitem{\helpref{wxContextHelpButton}{wxcontexthelpbutton}}{Button class for putting application into context-sensitive help mode}
718\twocolitem{\helpref{wxHelpProvider}{wxhelpprovider}}{Abstract class for context-sensitive help provision}
719\twocolitem{\helpref{wxSimpleHelpProvider}{wxsimplehelpprovider}}{Class for simple context-sensitive help provision}
720\twocolitem{\helpref{wxHelpControllerHelpProvider}{wxhelpcontrollerhelpprovider}}{Class for context-sensitive help provision via a help controller}
721\twocolitem{\helpref{wxToolTip}{wxtooltip}}{Class implementing tooltips}
722\end{twocollist}
723
c34b5c57
FM
724{\large {\bf Multimedia classes}}
725
726\twocolwidtha{6cm}
727\begin{twocollist}\itemsep=0pt
728\twocolitem{\helpref{wxMediaCtrl}{wxmediactrl}}{Display multimedia contents.}
729\end{twocollist}
730
731{\large {\bf OpenGL classes}}
732
733\twocolwidtha{6cm}
734\begin{twocollist}\itemsep=0pt
735\twocolitem{\helpref{wxGLCanvas}{wxglcanvas}}{Canvas that you can render OpenGL calls to.}
736\twocolitem{\helpref{wxGLContext}{wxglcontext}}{Class to ease sharing of OpenGL data resources.}
737\end{twocollist}
738
739{\large {\bf Application and process-management classes}}
a660d684 740
1c0c339c 741\twocolwidtha{6cm}
a660d684
KB
742\begin{twocollist}\itemsep=0pt
743\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
f6bcfd97 744\twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class}
f6bcfd97 745\twocolitem{\helpref{wxDllLoader}{wxdllloader}}{Class to work with shared libraries.}
3972fb49 746\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
c34b5c57
FM
747\end{twocollist}
748
749{\large {\bf Miscellaneous}}
750
751\twocolwidtha{6cm}
752\begin{twocollist}\itemsep=0pt
753\twocolitem{\helpref{wxCaret}{wxcaret}}{A caret (cursor) object}
754\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing (using either INI files or registry)}
a660d684 755\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
5f445b31 756\twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class}
88413fec 757\twocolitem{\helpref{wxMimeTypesManager}{wxmimetypesmanager}}{MIME-types manager class}
0cbff120
JS
758\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class for obtaining various global parameters}
759\twocolitem{\helpref{wxSystemOptions}{wxsystemoptions}}{System options class for run-time configuration}
238ddd26
RR
760\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
761\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
5d9dba5b
VS
762\twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding}
763\twocolitem{\helpref{wxEncodingConverter}{wxencodingconverter}}{Encoding conversions}
f6bcfd97 764\twocolitem{\helpref{wxCalendarDateAttr}{wxcalendardateattr}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}}
e3c10211 765\twocolitem{\helpref{wxQuantize}{wxquantize}}{Class to perform quantization, or colour reduction}
68a602fc 766\twocolitem{\helpref{wxSingleInstanceChecker}{wxsingleinstancechecker}}{Check that only single program instance is running}
238ddd26 767\end{twocollist}