]>
Commit | Line | Data |
---|---|---|
a660d684 KB |
1 | \chapter{Classes by category}\label{classesbycat} |
2 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
3 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
4 | ||
5 | A classification of wxWindows classes by category. | |
6 | \twocolwidtha{5cm} | |
7 | ||
8 | {\large {\bf Managed windows}} | |
9 | ||
10 | There are several types of window that are directly controlled by the | |
11 | window manager (such as MS Windows, or the Motif Window Manager). | |
12 | Frames may contain windows, and dialog boxes may directly contain controls. | |
13 | ||
14 | \begin{twocollist}\itemsep=0pt | |
15 | \twocolitem{\helpref{wxDialog}{wxdialog}}{Dialog box} | |
16 | \twocolitem{\helpref{wxFrame}{wxframe}}{Normal frame} | |
a660d684 | 17 | \twocolitem{\helpref{wxMDIChildFrame}{wxmdichildframe}}{MDI child frame} |
e3c10211 | 18 | \twocolitem{\helpref{wxMDIParentFrame}{wxmdiparentframe}}{MDI parent frame} |
a660d684 | 19 | \twocolitem{\helpref{wxMiniFrame}{wxminiframe}}{A frame with a small title bar} |
e3c10211 | 20 | \twocolitem{\helpref{wxSplashScreen}{wxsplashscreen}}{Splash screen class} |
d7da9756 VZ |
21 | \twocolitem{\helpref{wxTabbedDialog}{wxtabbeddialog}}{Tabbed dialog |
22 | (deprecated, use wxNotebook instead)} | |
e3c10211 JS |
23 | \twocolitem{\helpref{wxTipWindow}{wxtipwindow}}{Shows text in a small window} |
24 | \twocolitem{\helpref{wxWizard}{wxwizard}}{A wizard dialog} | |
a660d684 KB |
25 | \end{twocollist} |
26 | ||
27 | See also {\bf Common dialogs}. | |
28 | ||
29 | {\large {\bf Miscellaneous windows}} | |
30 | ||
d7da9756 | 31 | The following are a variety of classes that are derived from wxWindow. |
a660d684 KB |
32 | |
33 | \begin{twocollist}\itemsep=0pt | |
a660d684 KB |
34 | \twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings} |
35 | \twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars} | |
a5a0dd06 | 36 | \twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window} |
a660d684 KB |
37 | \twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally} |
38 | \twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame} | |
81d66cf3 | 39 | \twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class} |
3972fb49 JS |
40 | %\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)} |
41 | \twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class} | |
a5a0dd06 RR |
42 | \twocolitem{\helpref{wxPlotWindow}{wxplotwindow}}{A class to display data.} |
43 | \twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged} | |
44 | \twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement} | |
f6bcfd97 BP |
45 | \twocolitem{\helpref{wxWizardPage}{wxwizardpage}}{A base class for the page in wizard dialog.} |
46 | \twocolitem{\helpref{wxWizardPageSimple}{wxwizardpagesimple}}{A page in wizard dialog.} | |
a660d684 KB |
47 | \end{twocollist} |
48 | ||
49 | {\large {\bf Common dialogs}} | |
50 | ||
51 | \overview{Overview}{commondialogsoverview} | |
52 | ||
53 | Common dialogs are ready-made dialog classes which are frequently used | |
54 | in an application. | |
55 | ||
56 | \begin{twocollist}\itemsep=0pt | |
57 | \twocolitem{\helpref{wxDialog}{wxdialog}}{Base class for common dialogs} | |
58 | \twocolitem{\helpref{wxColourDialog}{wxcolourdialog}}{Colour chooser dialog} | |
59 | \twocolitem{\helpref{wxDirDialog}{wxdirdialog}}{Directory selector dialog} | |
60 | \twocolitem{\helpref{wxFileDialog}{wxfiledialog}}{File selector dialog} | |
61 | \twocolitem{\helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog}}{Dialog to get one or more selections from a list} | |
62 | \twocolitem{\helpref{wxSingleChoiceDialog}{wxsinglechoicedialog}}{Dialog to get a single selection from a list and return the string} | |
63 | \twocolitem{\helpref{wxTextEntryDialog}{wxtextentrydialog}}{Dialog to get a single line of text from the user} | |
64 | \twocolitem{\helpref{wxFontDialog}{wxfontdialog}}{Font chooser dialog} | |
65 | \twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog} | |
66 | \twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog} | |
7bcb11d3 | 67 | \twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog} |
a660d684 | 68 | \twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog} |
f6bcfd97 | 69 | \twocolitem{\helpref{wxWizard}{wxwizard}}{A wizard dialog.} |
a660d684 KB |
70 | \end{twocollist} |
71 | ||
72 | {\large {\bf Controls}} | |
73 | ||
74 | Typically, these are small windows which provide interaction with the user. Controls | |
75 | that are not static can have \helpref{validators}{wxvalidator} associated with them. | |
76 | ||
77 | \begin{twocollist}\itemsep=0pt | |
78 | \twocolitem{\helpref{wxControl}{wxcontrol}}{The base class for controls} | |
79 | \twocolitem{\helpref{wxButton}{wxbutton}}{Push button control, displaying text} | |
80 | \twocolitem{\helpref{wxBitmapButton}{wxbitmapbutton}}{Push button control, displaying a bitmap} | |
f6bcfd97 | 81 | \twocolitem{\helpref{wxCalendarCtrl}{wxcalendarctrl}}{Date picker control} |
a660d684 KB |
82 | \twocolitem{\helpref{wxCheckBox}{wxcheckbox}}{Checkbox control} |
83 | \twocolitem{\helpref{wxCheckListBox}{wxchecklistbox}}{A listbox with a checkbox to the left of each item} | |
84 | \twocolitem{\helpref{wxChoice}{wxchoice}}{Choice control (a combobox without the editable area)} | |
85 | \twocolitem{\helpref{wxComboBox}{wxcombobox}}{A choice with an editable area} | |
86 | \twocolitem{\helpref{wxGauge}{wxgauge}}{A control to represent a varying quantity, such as time remaining} | |
2f3ebe4c | 87 | \twocolitem{\helpref{wxGenericDirCtrl}{wxgenericdirctrl}}{A control for displaying a directory tree} |
a660d684 KB |
88 | \twocolitem{\helpref{wxStaticBox}{wxstaticbox}}{A static, or group box for visually grouping related controls} |
89 | \twocolitem{\helpref{wxListBox}{wxlistbox}}{A list of strings for single or multiple selection} | |
90 | \twocolitem{\helpref{wxListCtrl}{wxlistctrl}}{A control for displaying lists of strings and/or icons, plus a multicolumn report view} | |
91 | \twocolitem{\helpref{wxTabCtrl}{wxtabctrl}}{Manages several tabs} | |
f6bcfd97 BP |
92 | \twocolitem{\helpref{wxTextCtrl}{wxtextctrl}}{Single or multiline text editing control} |
93 | \twocolitem{\helpref{wxTreeCtrl}{wxtreectrl}}{Tree (hierarchy) control} | |
a660d684 KB |
94 | \twocolitem{\helpref{wxScrollBar}{wxscrollbar}}{Scrollbar control} |
95 | \twocolitem{\helpref{wxSpinButton}{wxspinbutton}}{A spin or `up-down' control} | |
5d9dba5b | 96 | \twocolitem{\helpref{wxSpinCtrl}{wxspinctrl}}{A spin control - i.e. spin button and text control} |
a660d684 KB |
97 | \twocolitem{\helpref{wxStaticText}{wxstatictext}}{One or more lines of non-editable text} |
98 | \twocolitem{\helpref{wxStaticBitmap}{wxstaticbitmap}}{A control to display a bitmap} | |
99 | \twocolitem{\helpref{wxRadioBox}{wxradiobox}}{A group of radio buttons} | |
100 | \twocolitem{\helpref{wxRadioButton}{wxradiobutton}}{A round button to be used with others in a mutually exclusive way} | |
101 | \twocolitem{\helpref{wxSlider}{wxslider}}{A slider that can be dragged by the user} | |
102 | \end{twocollist} | |
103 | ||
104 | {\large {\bf Menus}} | |
105 | ||
106 | \begin{twocollist}\itemsep=0pt | |
107 | \twocolitem{\helpref{wxMenu}{wxmenu}}{Displays a series of menu items for selection} | |
108 | \twocolitem{\helpref{wxMenuBar}{wxmenubar}}{Contains a series of menus for use with a frame} | |
109 | \twocolitem{\helpref{wxMenuItem}{wxmenuitem}}{Represents a single menu item} | |
110 | \end{twocollist} | |
111 | ||
112 | {\large {\bf Window layout}} | |
113 | ||
f6bcfd97 | 114 | There are two different systems for layouting windows (and dialogs in particular). |
515da557 RR |
115 | One is based upon so-called sizers and it requires less typing, thinking and calculating |
116 | and will in almost all cases produce dialogs looking equally well on all platforms, the | |
117 | other is based on so-called constraints and allows for more detailed layouts. | |
a660d684 | 118 | |
515da557 RR |
119 | These are the classes relevant to the sizer-based layout. |
120 | ||
121 | \begin{twocollist}\itemsep=0pt | |
122 | \twocolitem{\helpref{wxSizer}{wxsizer}}{Abstract base class} | |
f6bcfd97 BP |
123 | \twocolitem{\helpref{wxGridSizer}{wxgridsizer}}{A sizer for laying out windows in a grid with all fields having the same size} |
124 | \twocolitem{\helpref{wxFlexGridSizer}{wxflexgridsizer}}{A sizer for laying out windows in a flexible grid} | |
515da557 RR |
125 | \twocolitem{\helpref{wxBoxSizer}{wxboxsizer}}{A sizer for laying out windows in a row or column} |
126 | \twocolitem{\helpref{wxStaticBoxSizer}{wxstaticboxsizer}}{Same as wxBoxSizer, but with surrounding static box} | |
85ec2f26 | 127 | \twocolitem{\helpref{wxNotebookSizer}{wxnotebooksizer}}{Sizer to use with the wxNotebook control.} |
515da557 RR |
128 | \end{twocollist} |
129 | ||
130 | \overview{Overview}{constraintsoverview} over the constraints-based layout. | |
131 | ||
132 | These are the classes relevant to constraints-based window layout. | |
a660d684 KB |
133 | |
134 | \begin{twocollist}\itemsep=0pt | |
135 | \twocolitem{\helpref{wxIndividualLayoutConstraint}{wxindividuallayoutconstraint}}{Represents a single constraint dimension} | |
136 | \twocolitem{\helpref{wxLayoutConstraints}{wxlayoutconstraints}}{Represents the constraints for a window class} | |
137 | \end{twocollist} | |
138 | ||
139 | {\large {\bf Device contexts}} | |
140 | ||
141 | \overview{Overview}{dcoverview} | |
142 | ||
143 | Device contexts are surfaces that may be drawn on, and provide an | |
144 | abstraction that allows parameterisation of your drawing code | |
145 | by passing different device contexts. | |
146 | ||
147 | \begin{twocollist}\itemsep=0pt | |
148 | \twocolitem{\helpref{wxClientDC}{wxclientdc}}{A device context to access the client area outside {\bf OnPaint} events} | |
149 | \twocolitem{\helpref{wxPaintDC}{wxpaintdc}}{A device context to access the client area inside {\bf OnPaint} events} | |
150 | \twocolitem{\helpref{wxWindowDC}{wxwindowdc}}{A device context to access the non-client area} | |
151 | \twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen} | |
152 | \twocolitem{\helpref{wxDC}{wxdc}}{The device context base class} | |
153 | \twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps} | |
e2a6f233 | 154 | \twocolitem{\helpref{wxMetafileDC}{wxmetafiledc}}{A device context for drawing into metafiles} |
a660d684 KB |
155 | \twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files} |
156 | \twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers} | |
157 | \end{twocollist} | |
158 | ||
159 | {\large {\bf Graphics device interface}} | |
160 | ||
161 | \overview{Bitmaps overview}{wxbitmapoverview} | |
162 | ||
163 | These classes are related to drawing on device contexts and windows. | |
164 | ||
165 | \begin{twocollist}\itemsep=0pt | |
166 | \twocolitem{\helpref{wxColour}{wxcolour}}{Represents the red, blue and green elements of a colour} | |
6c975af1 | 167 | \twocolitem{\helpref{wxDCClipper}{wxdcclipper}}{Wraps the operations of setting and destroying the clipping region} |
a660d684 KB |
168 | \twocolitem{\helpref{wxBitmap}{wxbitmap}}{Represents a bitmap} |
169 | \twocolitem{\helpref{wxBrush}{wxbrush}}{Used for filling areas on a device context} | |
170 | \twocolitem{\helpref{wxBrushList}{wxbrushlist}}{The list of previously-created brushes} | |
171 | \twocolitem{\helpref{wxCursor}{wxcursor}}{A small, transparent bitmap representing the cursor} | |
172 | \twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts} | |
173 | \twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts} | |
174 | \twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts} | |
89c684ef | 175 | \twocolitem{\helpref{wxImage}{wximage}}{A platform-independent image class} |
a660d684 KB |
176 | \twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls} |
177 | \twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing} | |
178 | \twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context} | |
179 | \twocolitem{\helpref{wxPenList}{wxpenlist}}{The list of previously-created pens} | |
180 | \twocolitem{\helpref{wxPalette}{wxpalette}}{Represents a table of indices into RGB values} | |
181 | \twocolitem{\helpref{wxRegion}{wxregion}}{Represents a simple or complex region on a window or device context} | |
182 | \end{twocollist} | |
183 | ||
184 | {\large {\bf Events}} | |
185 | ||
186 | \overview{Overview}{eventhandlingoverview} | |
187 | ||
188 | An event object contains information about a specific event. Event handlers | |
189 | (usually member functions) have a single, event argument. | |
190 | ||
191 | \begin{twocollist}\itemsep=0pt | |
192 | \twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event} | |
f6bcfd97 | 193 | \twocolitem{\helpref{wxCalendarEvent}{wxcalendarevent}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}} |
6fb26ea3 | 194 | \twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout} |
a660d684 KB |
195 | \twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event} |
196 | \twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls} | |
f6bcfd97 | 197 | \twocolitem{\helpref{wxDialUpEvent}{wxdialupevent}}{Event send by \helpref{wxDialUpManager}{wxdialupmanager}} |
a660d684 KB |
198 | \twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event} |
199 | \twocolitem{\helpref{wxEraseEvent}{wxeraseevent}}{An erase background event} | |
200 | \twocolitem{\helpref{wxEvent}{wxevent}}{The event base class} | |
201 | \twocolitem{\helpref{wxFocusEvent}{wxfocusevent}}{A window focus event} | |
202 | \twocolitem{\helpref{wxKeyEvent}{wxkeyevent}}{A keypress event} | |
3dd9b88a | 203 | \twocolitem{\helpref{wxIconizeEvent}{wxiconizeevent}}{An iconize/restore event} |
a660d684 KB |
204 | \twocolitem{\helpref{wxIdleEvent}{wxidleevent}}{An idle event} |
205 | \twocolitem{\helpref{wxInitDialogEvent}{wxinitdialogevent}}{A dialog initialisation event} | |
206 | \twocolitem{\helpref{wxJoystickEvent}{wxjoystickevent}}{A joystick event} | |
207 | \twocolitem{\helpref{wxListEvent}{wxlistevent}}{A list control event} | |
3dd9b88a | 208 | \twocolitem{\helpref{wxMaximizeEvent}{wxmaximizeevent}}{A maximize event} |
a660d684 KB |
209 | \twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event} |
210 | \twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event} | |
211 | \twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event} | |
3972fb49 | 212 | \twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event} |
fd128b0c | 213 | \twocolitem{\helpref{wxNotifyEvent}{wxnotifyevent}}{A notification event, which can be vetoed} |
a660d684 | 214 | \twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event} |
3972fb49 | 215 | \twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event} |
6fb26ea3 | 216 | \twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information} |
fd128b0c RR |
217 | \twocolitem{\helpref{wxScrollEvent}{wxscrollevent}}{A scroll event from sliders, stand-alone scrollbars and spin buttons} |
218 | \twocolitem{\helpref{wxScrollWinEvent}{wxscrollwinevent}}{A scroll event from scrolled windows} | |
a660d684 | 219 | \twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event} |
42ff6409 | 220 | \twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event} |
f6bcfd97 | 221 | \twocolitem{\helpref{wxSpinEvent}{wxspinevent}}{An event from \helpref{wxSpinButton}{wxspinbutton}} |
a660d684 | 222 | \twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event} |
fe604ccd | 223 | \twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event} |
a660d684 KB |
224 | \twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event} |
225 | \twocolitem{\helpref{wxUpdateUIEvent}{wxupdateuievent}}{A user interface update event} | |
f6bcfd97 | 226 | \twocolitem{\helpref{wxWizardEvent}{wxwizardevent}}{A wizard event} |
a660d684 KB |
227 | \end{twocollist} |
228 | ||
229 | {\large {\bf Validators}} | |
230 | ||
6b037754 JS |
231 | \overview{Overview}{validatoroverview} |
232 | ||
a660d684 KB |
233 | These are the window validators, used for filtering and validating |
234 | user input. | |
235 | ||
236 | \begin{twocollist}\itemsep=0pt | |
89c684ef JS |
237 | \twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class} |
238 | \twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class} | |
239 | \twocolitem{\helpref{wxGenericValidator}{wxgenericvalidator}}{Generic control validator class} | |
a660d684 KB |
240 | \end{twocollist} |
241 | ||
242 | {\large {\bf Data structures}} | |
243 | ||
244 | These are the data structure classes supported by wxWindows. | |
245 | ||
246 | \begin{twocollist}\itemsep=0pt | |
f6bcfd97 | 247 | \twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class} |
d7da9756 | 248 | \twocolitem{\helpref{wxDate}{wxdate}}{A class for date manipulation (deprecated in favour of wxDateTime)} |
f6bcfd97 | 249 | \twocolitem{\helpref{wxDateSpan}{wxdatespan}}{A logical time interval.} |
d7da9756 | 250 | \twocolitem{\helpref{wxDateTime}{wxdatetime}}{A class for date/time manipulations} |
f6bcfd97 BP |
251 | \twocolitem{\helpref{wxExpr}{wxexpr}}{A class for flexible I/O} |
252 | \twocolitem{\helpref{wxExprDatabase}{wxexprdatabase}}{A class for flexible I/O} | |
a660d684 | 253 | \twocolitem{\helpref{wxHashTable}{wxhashtable}}{A simple hash table implementation} |
d7da9756 | 254 | % \twocolitem{\helpref{wxHashTableLong}{wxhashtablelong}}{A wxHashTable version for storing long data} |
a660d684 | 255 | \twocolitem{\helpref{wxList}{wxlist}}{A simple linked list implementation} |
d7da9756 | 256 | \twocolitem{\helpref{wxLongLong}{wxlonglong}}{A portable 64 bit integer type} |
a660d684 KB |
257 | \twocolitem{\helpref{wxNode}{wxnode}}{Represents a node in the wxList implementation} |
258 | \twocolitem{\helpref{wxObject}{wxobject}}{The root class for most wxWindows classes} | |
259 | \twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths} | |
260 | \twocolitem{\helpref{wxPoint}{wxpoint}}{Representation of a point} | |
261 | \twocolitem{\helpref{wxRect}{wxrect}}{A class representing a rectangle} | |
262 | \twocolitem{\helpref{wxRegion}{wxregion}}{A class representing a region} | |
263 | \twocolitem{\helpref{wxString}{wxstring}}{A string class} | |
264 | \twocolitem{\helpref{wxStringList}{wxstringlist}}{A class representing a list of strings} | |
9c884972 | 265 | \twocolitem{\helpref{wxStringTokenizer}{wxstringtokenizer}}{A class for interpreting a string as a list of tokens or words} |
a660d684 KB |
266 | \twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers} |
267 | \twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size} | |
d7da9756 | 268 | \twocolitem{\helpref{wxTime}{wxtime}}{A class for time manipulation (deprecated in favour of wxDateTime)} |
f6bcfd97 | 269 | \twocolitem{\helpref{wxTimeSpan}{wxtimespan}}{A time interval.} |
d7da9756 | 270 | \twocolitem{\helpref{wxVariant}{wxvariant}}{A class for storing arbitrary types that may change at run-time} |
a660d684 KB |
271 | \end{twocollist} |
272 | ||
273 | {\large {\bf Run-time class information system}} | |
274 | ||
275 | \overview{Overview}{runtimeclassoverview} | |
276 | ||
277 | wxWindows supports run-time manipulation of class information, and dynamic | |
278 | creation of objects given class names. | |
279 | ||
280 | \begin{twocollist}\itemsep=0pt | |
281 | \twocolitem{\helpref{wxClassInfo}{wxclassinfo}}{Holds run-time class information} | |
282 | \twocolitem{\helpref{wxObject}{wxobject}}{Root class for classes with run-time information} | |
283 | \twocolitem{\helpref{Macros}{macros}}{Macros for manipulating run-time information} | |
284 | \end{twocollist} | |
285 | ||
286 | {\large {\bf Debugging features}} | |
287 | ||
288 | \overview{Overview}{debuggingoverview} | |
289 | ||
290 | wxWindows supports some aspects of debugging an application through | |
291 | classes, functions and macros. | |
292 | ||
293 | \begin{twocollist}\itemsep=0pt | |
6b037754 | 294 | \twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities} |
6fb26ea3 | 295 | %\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream} |
42ff6409 | 296 | \twocolitem{\helpref{wxLog}{wxlog}}{Logging facility} |
6fb26ea3 | 297 | \twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions} |
6b037754 | 298 | \twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking} |
6fb26ea3 JS |
299 | %\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility} |
300 | %\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels} | |
a660d684 | 301 | \twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information} |
6fb26ea3 JS |
302 | %\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro} |
303 | %\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels} | |
a660d684 KB |
304 | \end{twocollist} |
305 | ||
238ddd26 RR |
306 | {\large {\bf Networking classes}} |
307 | ||
308 | wxWindows provides its own classes for socket based networking. | |
309 | ||
310 | \begin{twocollist}\itemsep=0pt | |
f6bcfd97 BP |
311 | \twocolitem{\helpref{wxDialUpManager}{wxdialupmanager}}{Provides functions to check the status of network connection and to establish one} |
312 | \twocolitem{\helpref{wxIPV4address}{wxipv4address}}{Represents an Internet address} | |
672186ef | 313 | \twocolitem{\helpref{wxSocketBase}{wxsocketbase}}{Represents a socket base object} |
238ddd26 RR |
314 | \twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client} |
315 | \twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server} | |
238ddd26 | 316 | \twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event} |
672186ef GRG |
317 | \twocolitem{\helpref{wxFTP}{wxftp}}{FTP protocol class} |
318 | \twocolitem{\helpref{wxHTTP}{wxhttp}}{HTTP protocol class} | |
319 | \twocolitem{\helpref{wxURL}{wxurl}}{Represents a Universal Resource Locator} | |
238ddd26 RR |
320 | \end{twocollist} |
321 | ||
322 | ||
a660d684 KB |
323 | {\large {\bf Interprocess communication}} |
324 | ||
325 | \overview{Overview}{ipcoverview} | |
326 | ||
327 | wxWindows provides a simple interprocess communications facilities | |
672186ef | 328 | based on DDE. |
a660d684 KB |
329 | |
330 | \begin{twocollist}\itemsep=0pt | |
331 | \twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client} | |
332 | \twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server} | |
333 | \twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server} | |
e2a6f233 JS |
334 | \twocolitem{\helpref{wxTCPClient}{wxtcpclient}}{Represents a client} |
335 | \twocolitem{\helpref{wxTCPConnection}{wxtcpconnection}}{Represents the connection between a client and a server} | |
336 | \twocolitem{\helpref{wxTCPServer}{wxtcpserver}}{Represents a server} | |
d7cb14ce | 337 | %\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler} |
a660d684 KB |
338 | \end{twocollist} |
339 | ||
340 | {\large {\bf Document/view framework}} | |
341 | ||
342 | \overview{Overview}{docviewoverview} | |
343 | ||
344 | wxWindows supports a document/view framework which provides | |
345 | housekeeping for a document-centric application. | |
346 | ||
a660d684 KB |
347 | \begin{twocollist}\itemsep=0pt |
348 | \twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document} | |
349 | \twocolitem{\helpref{wxView}{wxview}}{Represents a view} | |
f6bcfd97 | 350 | \twocolitem{\helpref{wxDocTemplate}{wxdoctemplate}}{Manages the relationship between a document class and a view class} |
a660d684 KB |
351 | \twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application} |
352 | \twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view} | |
353 | \twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views} | |
6fb26ea3 JS |
354 | %\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view} |
355 | %\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views} | |
a660d684 KB |
356 | \end{twocollist} |
357 | ||
358 | {\large {\bf Printing framework}} | |
359 | ||
360 | \overview{Overview}{printingoverview} | |
361 | ||
362 | A printing and previewing framework is implemented to | |
f6bcfd97 | 363 | make it relatively straightforward to provide document printing |
a660d684 KB |
364 | facilities. |
365 | ||
366 | \begin{twocollist}\itemsep=0pt | |
367 | \twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview} | |
368 | \twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview} | |
369 | \twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview} | |
a660d684 | 370 | \twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog} |
7bcb11d3 | 371 | \twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog} |
a660d684 KB |
372 | \twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer} |
373 | \twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context} | |
374 | \twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout} | |
375 | \twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview} | |
7bcb11d3 JS |
376 | \twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed} |
377 | \twocolitem{\helpref{wxPrintDialogData}{wxprintdialogdata}}{Represents information about the print dialog} | |
378 | \twocolitem{\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}}{Represents information about the page setup dialog} | |
a660d684 KB |
379 | \end{twocollist} |
380 | ||
dface61c JS |
381 | {\large {\bf Drag and drop and clipboard classes}} |
382 | ||
383 | \overview{Drag and drop and clipboard overview}{wxdndoverview} | |
384 | ||
385 | \begin{twocollist}\itemsep=0pt | |
dface61c | 386 | \twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class} |
c03648c2 | 387 | \twocolitem{\helpref{wxDataFormat}{wxdataformat}}{Represents a data format} |
dface61c JS |
388 | \twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class} |
389 | \twocolitem{\helpref{wxFileDataObject}{wxtextdataobject}}{File data object class} | |
390 | \twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class} | |
0a2017e0 | 391 | \twocolitem{\helpref{wxCustomDataObject}{wxcustomdataobject}}{Custom data object class} |
dface61c | 392 | \twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class} |
5aa5e35a RR |
393 | \twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class} |
394 | \twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class} | |
395 | \twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class} | |
396 | \twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class} | |
dface61c JS |
397 | \end{twocollist} |
398 | ||
247aba10 VZ |
399 | {\large {\bf File related classes}} |
400 | ||
401 | wxWindows has several small classes to work with disk files, see \helpref{file classes | |
402 | overview}{wxfileoverview} for more details. | |
403 | ||
404 | \begin{twocollist}\itemsep=0pt | |
4afd7529 | 405 | \twocolitem{\helpref{wxDir}{wxdir}}{Class for enumerating files/subdirectories.} |
509cd921 | 406 | \twocolitem{\helpref{wxDirTraverser}{wxdirtraverser}}{Class used together with wxDir for recursively enumerating the files/subdirectories} |
842d6c94 RR |
407 | \twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output class.} |
408 | \twocolitem{\helpref{wxFFile}{wxffile}}{Another low-level file input/output class.} | |
247aba10 VZ |
409 | \twocolitem{\helpref{wxTempFile}{wxtempfile}}{Class to safely replace an existing file} |
410 | \twocolitem{\helpref{wxTextFile}{wxtextfile}}{Class for working with text files as with arrays of lines} | |
411 | \end{twocollist} | |
412 | ||
631f1bfe JS |
413 | {\large {\bf Stream classes}} |
414 | ||
415 | wxWindows has its own set of stream classes, as an alternative to often buggy standard stream | |
416 | libraries, and to provide enhanced functionality. | |
417 | ||
418 | \begin{twocollist}\itemsep=0pt | |
419 | \twocolitem{\helpref{wxStreamBase}{wxstreambase}}{Stream base class} | |
420 | \twocolitem{\helpref{wxStreamBuffer}{wxstreambuffer}}{Stream buffer class} | |
421 | \twocolitem{\helpref{wxInputStream}{wxinputstream}}{Input stream class} | |
422 | \twocolitem{\helpref{wxOutputStream}{wxoutputstream}}{Output stream class} | |
d984207c | 423 | \twocolitem{\helpref{wxCountingOutputStream}{wxcountingoutputstream}}{Stream class for querying what size a stream would have.} |
631f1bfe JS |
424 | \twocolitem{\helpref{wxFilterInputStream}{wxfilterinputstream}}{Filtered input stream class} |
425 | \twocolitem{\helpref{wxFilterOutputStream}{wxfilteroutputstream}}{Filtered output stream class} | |
d984207c RR |
426 | \twocolitem{\helpref{wxBufferedInputStream}{wxbufferedinputstream}}{Buffered input stream class} |
427 | \twocolitem{\helpref{wxBufferedOutputStream}{wxbufferedoutputstream}}{Buffered output stream class} | |
2bf8e4eb RR |
428 | \twocolitem{\helpref{wxMemoryInputStream}{wxmeminputstream}}{Memory input stream class} |
429 | \twocolitem{\helpref{wxMemoryOutputStream}{wxmemoutputstream}}{Memory output stream class} | |
7ff14117 RR |
430 | \twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent binary data input stream class} |
431 | \twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent binary data output stream class} | |
432 | \twocolitem{\helpref{wxTextInputStream}{wxtextinputstream}}{Platform-independent text data input stream class} | |
433 | \twocolitem{\helpref{wxTextOutputStream}{wxtextoutputstream}}{Platform-independent text data output stream class} | |
631f1bfe JS |
434 | \twocolitem{\helpref{wxFileInputStream}{wxfileinputstream}}{File input stream class} |
435 | \twocolitem{\helpref{wxFileOutputStream}{wxfileoutputstream}}{File output stream class} | |
842d6c94 RR |
436 | \twocolitem{\helpref{wxFFileInputStream}{wxffileinputstream}}{Another file input stream class} |
437 | \twocolitem{\helpref{wxFFileOutputStream}{wxffileoutputstream}}{Another file output stream class} | |
631f1bfe JS |
438 | \twocolitem{\helpref{wxZlibInputStream}{wxzlibinputstream}}{Zlib (compression) input stream class} |
439 | \twocolitem{\helpref{wxZlibOutputStream}{wxzliboutputstream}}{Zlib (compression) output stream class} | |
738bfca9 | 440 | \twocolitem{\helpref{wxZipInputStream}{wxzipinputstream}}{Input stream for reading from ZIP archives} |
631f1bfe JS |
441 | \twocolitem{\helpref{wxSocketInputStream}{wxsocketinputstream}}{Socket input stream class} |
442 | \twocolitem{\helpref{wxSocketOutputStream}{wxsocketoutputstream}}{Socket output stream class} | |
443 | \end{twocollist} | |
444 | ||
238ddd26 RR |
445 | {\large {\bf Threading classes}} |
446 | ||
447 | \overview{Multithreading overview}{wxthreadoverview} | |
738bfca9 | 448 | |
238ddd26 RR |
449 | wxWindows provides a set of classes to make use of the native thread |
450 | capabilities of the various platforms. | |
451 | ||
452 | \begin{twocollist}\itemsep=0pt | |
453 | \twocolitem{\helpref{wxThread}{wxthread}}{Thread class} | |
454 | \twocolitem{\helpref{wxMutex}{wxmutex}}{Mutex class} | |
455 | \twocolitem{\helpref{wxMutexLocker}{wxmutexlocker}}{Mutex locker utility class} | |
456 | \twocolitem{\helpref{wxCriticalSection}{wxcriticalsection}}{Critical section class} | |
f6bcfd97 | 457 | \twocolitem{\helpref{wxCriticalSectionLocker}{wxcriticalsectionlocker}}{Critical section locker utility class} |
88413fec | 458 | \twocolitem{\helpref{wxCondition}{wxcondition}}{Condition class} |
238ddd26 RR |
459 | \end{twocollist} |
460 | ||
461 | {\large {\bf HTML classes}} | |
462 | ||
463 | wxWindows provides a set of classes to display text in HTML format. These | |
464 | class include a help system based on the HTML widget. | |
738bfca9 VS |
465 | |
466 | \begin{twocollist}\itemsep=0pt | |
467 | \twocolitem{\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}}{HTML help controller class} | |
468 | \twocolitem{\helpref{wxHtmlWindow}{wxhtmlwindow}}{HTML window class} | |
e5436d59 VS |
469 | \twocolitem{\helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}}{Simple class for printing HTML} |
470 | \twocolitem{\helpref{wxHtmlPrintout}{wxhtmlprintout}}{Generic HTML wxPrintout class} | |
738bfca9 VS |
471 | \twocolitem{\helpref{wxHtmlParser}{wxhtmlparser}}{Generic HTML parser class} |
472 | \twocolitem{\helpref{wxHtmlTagHandler}{wxhtmltaghandler}}{HTML tag handler, pluginable into wxHtmlParser} | |
473 | \twocolitem{\helpref{wxHtmlWinParser}{wxhtmlwinparser}}{HTML parser class for wxHtmlWindow} | |
474 | \twocolitem{\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}}{HTML tag handler, pluginable into wxHtmlWinParser} | |
475 | \end{twocollist} | |
476 | ||
88413fec RR |
477 | {\large {\bf Virtual file system classes}} |
478 | ||
479 | wxWindows provides a set of classes that implement an extensible virtual file system, | |
480 | used internally by the HTML classes. | |
481 | ||
482 | \begin{twocollist}\itemsep=0pt | |
483 | \twocolitem{\helpref{wxFSFile}{wxfsfile}}{Represents a file in the virtual file system} | |
484 | \twocolitem{\helpref{wxFileSystem}{wxfilesystem}}{Main interface for the virtual file system} | |
485 | \twocolitem{\helpref{wxFileSystemHandler}{wxfilesystemhandler}}{Class used to announce file system type} | |
486 | \end{twocollist} | |
487 | ||
7cb74906 JS |
488 | {\large {\bf Online help}} |
489 | ||
490 | \begin{twocollist}\itemsep=0pt | |
491 | \twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows} | |
492 | \twocolitem{\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}}{HTML help controller class} | |
493 | \twocolitem{\helpref{wxContextHelp}{wxcontexthelp}}{Class to put application into context-sensitive help mode} | |
494 | \twocolitem{\helpref{wxContextHelpButton}{wxcontexthelpbutton}}{Button class for putting application into context-sensitive help mode} | |
495 | \twocolitem{\helpref{wxHelpProvider}{wxhelpprovider}}{Abstract class for context-sensitive help provision} | |
496 | \twocolitem{\helpref{wxSimpleHelpProvider}{wxsimplehelpprovider}}{Class for simple context-sensitive help provision} | |
497 | \twocolitem{\helpref{wxHelpControllerHelpProvider}{wxhelpcontrollerhelpprovider}}{Class for context-sensitive help provision via a help controller} | |
498 | \twocolitem{\helpref{wxToolTip}{wxtooltip}}{Class implementing tooltips} | |
499 | \end{twocollist} | |
500 | ||
509cd921 VZ |
501 | {\large {\bf Database classes}} |
502 | ||
503 | \overview{Database classes overview}{odbcoverview} | |
504 | ||
505 | wxWindows provides two alternative sets of classes for accessing Microsoft's ODBC (Open Database Connectivity) | |
506 | product. The new version by Remstar, known as wxODBC, is more powerful, | |
507 | portable, flexible and better supported, so please use the classes below for | |
508 | working with databases: | |
509 | ||
510 | \begin{twocollist}\itemsep=0pt | |
511 | \twocolitem{\helpref{wxDb}{wxdb}}{ODBC database connection} | |
512 | \twocolitem{\helpref{wxDbTable}{wxdbtable}}{Provides access to a database table} | |
513 | \twocolitem{\helpref{wxDbInf}{wxdbinf}}{} | |
514 | \twocolitem{\helpref{wxDbTableInf}{wxdbtableinf}}{} | |
515 | \twocolitem{\helpref{wxDbColDef}{wxdbcoldef}}{} | |
516 | \twocolitem{\helpref{wxDbColInf}{wxdbcolinf}}{} | |
44bb263a | 517 | \twocolitem{\helpref{wxDbColDataPtr}{wxdbcoldataptr}}{} |
509cd921 VZ |
518 | \twocolitem{\helpref{wxDbColFor}{wxdbcolfor}}{} |
519 | \twocolitem{\helpref{wxDbConnectInf}{wxdbconnectinf}}{} | |
520 | \twocolitem{\helpref{wxDbIdxDef}{wxdbidxdef}}{} | |
521 | \end{twocollist} | |
522 | ||
523 | The documentation for the older classes is still included, but you should avoid | |
524 | using any of them in the new programs: | |
525 | ||
526 | \begin{twocollist}\itemsep=0pt | |
527 | \twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class} | |
528 | \twocolitem{\helpref{wxQueryCol}{wxquerycol}}{Class representing a column} | |
529 | \twocolitem{\helpref{wxQueryField}{wxqueryfield}}{Class representing a field} | |
530 | \twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record} | |
531 | \end{twocollist} | |
532 | ||
a660d684 KB |
533 | {\large {\bf Miscellaneous}} |
534 | ||
535 | \begin{twocollist}\itemsep=0pt | |
536 | \twocolitem{\helpref{wxApp}{wxapp}}{Application class} | |
f6bcfd97 BP |
537 | \twocolitem{\helpref{wxCaret}{wxcaret}}{A caret (cursor) object} |
538 | \twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class} | |
539 | \twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing (using either INI files or registry)} | |
540 | \twocolitem{\helpref{wxDllLoader}{wxdllloader}}{Class to work with shared libraries.} | |
6fb26ea3 | 541 | \twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility} |
3972fb49 | 542 | \twocolitem{\helpref{wxProcess}{wxprocess}}{Process class} |
a660d684 | 543 | \twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class} |
5f445b31 | 544 | \twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class} |
88413fec | 545 | \twocolitem{\helpref{wxMimeTypesManager}{wxmimetypesmanager}}{MIME-types manager class} |
0cbff120 JS |
546 | \twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class for obtaining various global parameters} |
547 | \twocolitem{\helpref{wxSystemOptions}{wxsystemoptions}}{System options class for run-time configuration} | |
238ddd26 RR |
548 | \twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table} |
549 | \twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class} | |
5d9dba5b VS |
550 | \twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding} |
551 | \twocolitem{\helpref{wxEncodingConverter}{wxencodingconverter}}{Encoding conversions} | |
f6bcfd97 | 552 | \twocolitem{\helpref{wxCalendarDateAttr}{wxcalendardateattr}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}} |
e3c10211 | 553 | \twocolitem{\helpref{wxQuantize}{wxquantize}}{Class to perform quantization, or colour reduction} |
68a602fc | 554 | \twocolitem{\helpref{wxSingleInstanceChecker}{wxsingleinstancechecker}}{Check that only single program instance is running} |
238ddd26 RR |
555 | \end{twocollist} |
556 |