]>
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} | |
17 | \twocolitem{\helpref{wxMDIParentFrame}{wxmdiparentframe}}{MDI parent frame} | |
18 | \twocolitem{\helpref{wxMDIChildFrame}{wxmdichildframe}}{MDI child frame} | |
19 | \twocolitem{\helpref{wxMiniFrame}{wxminiframe}}{A frame with a small title bar} | |
20 | \twocolitem{\helpref{wxTabbedDialog}{wxtabbeddialog}}{Tabbed dialog} | |
21 | \end{twocollist} | |
22 | ||
23 | See also {\bf Common dialogs}. | |
24 | ||
25 | {\large {\bf Miscellaneous windows}} | |
26 | ||
27 | The following are a variety of windows that are derived from wxWindow. | |
28 | ||
29 | \begin{twocollist}\itemsep=0pt | |
30 | \twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window} | |
31 | \twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings} | |
32 | \twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars} | |
33 | \twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally} | |
34 | \twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame} | |
81d66cf3 | 35 | \twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class} |
3972fb49 JS |
36 | %\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)} |
37 | \twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class} | |
a660d684 KB |
38 | \end{twocollist} |
39 | ||
40 | {\large {\bf Common dialogs}} | |
41 | ||
42 | \overview{Overview}{commondialogsoverview} | |
43 | ||
44 | Common dialogs are ready-made dialog classes which are frequently used | |
45 | in an application. | |
46 | ||
47 | \begin{twocollist}\itemsep=0pt | |
48 | \twocolitem{\helpref{wxDialog}{wxdialog}}{Base class for common dialogs} | |
49 | \twocolitem{\helpref{wxColourDialog}{wxcolourdialog}}{Colour chooser dialog} | |
50 | \twocolitem{\helpref{wxDirDialog}{wxdirdialog}}{Directory selector dialog} | |
51 | \twocolitem{\helpref{wxFileDialog}{wxfiledialog}}{File selector dialog} | |
52 | \twocolitem{\helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog}}{Dialog to get one or more selections from a list} | |
53 | \twocolitem{\helpref{wxSingleChoiceDialog}{wxsinglechoicedialog}}{Dialog to get a single selection from a list and return the string} | |
54 | \twocolitem{\helpref{wxTextEntryDialog}{wxtextentrydialog}}{Dialog to get a single line of text from the user} | |
55 | \twocolitem{\helpref{wxFontDialog}{wxfontdialog}}{Font chooser dialog} | |
56 | \twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog} | |
57 | \twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog} | |
58 | \twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog} | |
59 | \end{twocollist} | |
60 | ||
61 | {\large {\bf Controls}} | |
62 | ||
63 | Typically, these are small windows which provide interaction with the user. Controls | |
64 | that are not static can have \helpref{validators}{wxvalidator} associated with them. | |
65 | ||
66 | \begin{twocollist}\itemsep=0pt | |
67 | \twocolitem{\helpref{wxControl}{wxcontrol}}{The base class for controls} | |
68 | \twocolitem{\helpref{wxButton}{wxbutton}}{Push button control, displaying text} | |
69 | \twocolitem{\helpref{wxBitmapButton}{wxbitmapbutton}}{Push button control, displaying a bitmap} | |
70 | \twocolitem{\helpref{wxCheckBox}{wxcheckbox}}{Checkbox control} | |
71 | \twocolitem{\helpref{wxCheckListBox}{wxchecklistbox}}{A listbox with a checkbox to the left of each item} | |
72 | \twocolitem{\helpref{wxChoice}{wxchoice}}{Choice control (a combobox without the editable area)} | |
73 | \twocolitem{\helpref{wxComboBox}{wxcombobox}}{A choice with an editable area} | |
74 | \twocolitem{\helpref{wxGauge}{wxgauge}}{A control to represent a varying quantity, such as time remaining} | |
75 | \twocolitem{\helpref{wxStaticBox}{wxstaticbox}}{A static, or group box for visually grouping related controls} | |
76 | \twocolitem{\helpref{wxListBox}{wxlistbox}}{A list of strings for single or multiple selection} | |
77 | \twocolitem{\helpref{wxListCtrl}{wxlistctrl}}{A control for displaying lists of strings and/or icons, plus a multicolumn report view} | |
78 | \twocolitem{\helpref{wxTabCtrl}{wxtabctrl}}{Manages several tabs} | |
79 | \twocolitem{\helpref{wxTextCtrl}{wxtextctrl}}{Single or multline text editing control} | |
80 | \twocolitem{\helpref{wxTreeCtrl}{wxtreectrl}}{Tree (hierachy) control} | |
81 | \twocolitem{\helpref{wxScrollBar}{wxscrollbar}}{Scrollbar control} | |
82 | \twocolitem{\helpref{wxSpinButton}{wxspinbutton}}{A spin or `up-down' control} | |
83 | \twocolitem{\helpref{wxStaticText}{wxstatictext}}{One or more lines of non-editable text} | |
84 | \twocolitem{\helpref{wxStaticBitmap}{wxstaticbitmap}}{A control to display a bitmap} | |
85 | \twocolitem{\helpref{wxRadioBox}{wxradiobox}}{A group of radio buttons} | |
86 | \twocolitem{\helpref{wxRadioButton}{wxradiobutton}}{A round button to be used with others in a mutually exclusive way} | |
87 | \twocolitem{\helpref{wxSlider}{wxslider}}{A slider that can be dragged by the user} | |
88 | \end{twocollist} | |
89 | ||
90 | {\large {\bf Menus}} | |
91 | ||
92 | \begin{twocollist}\itemsep=0pt | |
93 | \twocolitem{\helpref{wxMenu}{wxmenu}}{Displays a series of menu items for selection} | |
94 | \twocolitem{\helpref{wxMenuBar}{wxmenubar}}{Contains a series of menus for use with a frame} | |
95 | \twocolitem{\helpref{wxMenuItem}{wxmenuitem}}{Represents a single menu item} | |
96 | \end{twocollist} | |
97 | ||
98 | {\large {\bf Window layout}} | |
99 | ||
100 | \overview{Overview}{constraintsoverview} | |
101 | ||
102 | These are the classes relevant to automated window layout. | |
103 | ||
104 | \begin{twocollist}\itemsep=0pt | |
105 | \twocolitem{\helpref{wxIndividualLayoutConstraint}{wxindividuallayoutconstraint}}{Represents a single constraint dimension} | |
106 | \twocolitem{\helpref{wxLayoutConstraints}{wxlayoutconstraints}}{Represents the constraints for a window class} | |
107 | \end{twocollist} | |
108 | ||
109 | {\large {\bf Device contexts}} | |
110 | ||
111 | \overview{Overview}{dcoverview} | |
112 | ||
113 | Device contexts are surfaces that may be drawn on, and provide an | |
114 | abstraction that allows parameterisation of your drawing code | |
115 | by passing different device contexts. | |
116 | ||
117 | \begin{twocollist}\itemsep=0pt | |
118 | \twocolitem{\helpref{wxClientDC}{wxclientdc}}{A device context to access the client area outside {\bf OnPaint} events} | |
119 | \twocolitem{\helpref{wxPaintDC}{wxpaintdc}}{A device context to access the client area inside {\bf OnPaint} events} | |
120 | \twocolitem{\helpref{wxWindowDC}{wxwindowdc}}{A device context to access the non-client area} | |
121 | \twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen} | |
122 | \twocolitem{\helpref{wxDC}{wxdc}}{The device context base class} | |
123 | \twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps} | |
124 | \twocolitem{\helpref{wxMetaFileDC}{wxmetafiledc}}{A device context for drawing into metafiles} | |
125 | \twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files} | |
126 | \twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers} | |
127 | \end{twocollist} | |
128 | ||
129 | {\large {\bf Graphics device interface}} | |
130 | ||
131 | \overview{Bitmaps overview}{wxbitmapoverview} | |
132 | ||
133 | These classes are related to drawing on device contexts and windows. | |
134 | ||
135 | \begin{twocollist}\itemsep=0pt | |
136 | \twocolitem{\helpref{wxColour}{wxcolour}}{Represents the red, blue and green elements of a colour} | |
137 | \twocolitem{\helpref{wxBitmap}{wxbitmap}}{Represents a bitmap} | |
138 | \twocolitem{\helpref{wxBrush}{wxbrush}}{Used for filling areas on a device context} | |
139 | \twocolitem{\helpref{wxBrushList}{wxbrushlist}}{The list of previously-created brushes} | |
140 | \twocolitem{\helpref{wxCursor}{wxcursor}}{A small, transparent bitmap representing the cursor} | |
141 | \twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts} | |
142 | \twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts} | |
143 | \twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts} | |
144 | \twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls} | |
145 | \twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing} | |
146 | \twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context} | |
147 | \twocolitem{\helpref{wxPenList}{wxpenlist}}{The list of previously-created pens} | |
148 | \twocolitem{\helpref{wxPalette}{wxpalette}}{Represents a table of indices into RGB values} | |
149 | \twocolitem{\helpref{wxRegion}{wxregion}}{Represents a simple or complex region on a window or device context} | |
150 | \end{twocollist} | |
151 | ||
152 | {\large {\bf Events}} | |
153 | ||
154 | \overview{Overview}{eventhandlingoverview} | |
155 | ||
156 | An event object contains information about a specific event. Event handlers | |
157 | (usually member functions) have a single, event argument. | |
158 | ||
159 | \begin{twocollist}\itemsep=0pt | |
160 | \twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event} | |
161 | \twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event} | |
162 | \twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls} | |
163 | \twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event} | |
164 | \twocolitem{\helpref{wxEraseEvent}{wxeraseevent}}{An erase background event} | |
165 | \twocolitem{\helpref{wxEvent}{wxevent}}{The event base class} | |
166 | \twocolitem{\helpref{wxFocusEvent}{wxfocusevent}}{A window focus event} | |
167 | \twocolitem{\helpref{wxKeyEvent}{wxkeyevent}}{A keypress event} | |
168 | \twocolitem{\helpref{wxIdleEvent}{wxidleevent}}{An idle event} | |
169 | \twocolitem{\helpref{wxInitDialogEvent}{wxinitdialogevent}}{A dialog initialisation event} | |
170 | \twocolitem{\helpref{wxJoystickEvent}{wxjoystickevent}}{A joystick event} | |
171 | \twocolitem{\helpref{wxListEvent}{wxlistevent}}{A list control event} | |
172 | \twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event} | |
173 | \twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event} | |
174 | \twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event} | |
3972fb49 | 175 | \twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event} |
a660d684 | 176 | \twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event} |
3972fb49 | 177 | \twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event} |
a660d684 KB |
178 | %\twocolitem{\helpref{wxSessionEvent}{wxsessionevent}}{A session ending event} |
179 | \twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event} | |
180 | \twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event} | |
fe604ccd | 181 | \twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event} |
a660d684 KB |
182 | \twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event} |
183 | \twocolitem{\helpref{wxUpdateUIEvent}{wxupdateuievent}}{A user interface update event} | |
184 | \end{twocollist} | |
185 | ||
186 | {\large {\bf Validators}} | |
187 | ||
188 | These are the window validators, used for filtering and validating | |
189 | user input. | |
190 | ||
191 | \begin{twocollist}\itemsep=0pt | |
192 | \twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class.} | |
193 | \twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class.} | |
194 | \end{twocollist} | |
195 | ||
196 | {\large {\bf Data structures}} | |
197 | ||
198 | These are the data structure classes supported by wxWindows. | |
199 | ||
200 | \begin{twocollist}\itemsep=0pt | |
201 | \twocolitem{\helpref{wxExpr}{wxexpr}}{A class for flexible I/O} | |
202 | \twocolitem{\helpref{wxExprDatabase}{wxexprdatabase}}{A class for flexible I/O} | |
203 | \twocolitem{\helpref{wxDate}{wxdate}}{A class for date manipulation} | |
204 | \twocolitem{\helpref{wxHashTable}{wxhashtable}}{A simple hash table implementation} | |
205 | \twocolitem{\helpref{wxList}{wxlist}}{A simple linked list implementation} | |
206 | \twocolitem{\helpref{wxNode}{wxnode}}{Represents a node in the wxList implementation} | |
207 | \twocolitem{\helpref{wxObject}{wxobject}}{The root class for most wxWindows classes} | |
208 | \twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths} | |
209 | \twocolitem{\helpref{wxPoint}{wxpoint}}{Representation of a point} | |
210 | \twocolitem{\helpref{wxRect}{wxrect}}{A class representing a rectangle} | |
211 | \twocolitem{\helpref{wxRegion}{wxregion}}{A class representing a region} | |
212 | \twocolitem{\helpref{wxString}{wxstring}}{A string class} | |
213 | \twocolitem{\helpref{wxStringList}{wxstringlist}}{A class representing a list of strings} | |
214 | \twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers} | |
215 | \twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size} | |
216 | \twocolitem{\helpref{wxTime}{wxtime}}{A class for time manipulation} | |
217 | \end{twocollist} | |
218 | ||
219 | {\large {\bf Run-time class information system}} | |
220 | ||
221 | \overview{Overview}{runtimeclassoverview} | |
222 | ||
223 | wxWindows supports run-time manipulation of class information, and dynamic | |
224 | creation of objects given class names. | |
225 | ||
226 | \begin{twocollist}\itemsep=0pt | |
227 | \twocolitem{\helpref{wxClassInfo}{wxclassinfo}}{Holds run-time class information} | |
228 | \twocolitem{\helpref{wxObject}{wxobject}}{Root class for classes with run-time information} | |
229 | \twocolitem{\helpref{Macros}{macros}}{Macros for manipulating run-time information} | |
230 | \end{twocollist} | |
231 | ||
232 | {\large {\bf Debugging features}} | |
233 | ||
234 | \overview{Overview}{debuggingoverview} | |
235 | ||
236 | wxWindows supports some aspects of debugging an application through | |
237 | classes, functions and macros. | |
238 | ||
239 | \begin{twocollist}\itemsep=0pt | |
240 | \twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides various debugging facilities} | |
241 | \twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream} | |
242 | \twocolitem{\helpref{wxObject}{wxobject}}{Provides optional debugging versions of {\bf new} and {\bf delete}} | |
243 | \twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility} | |
244 | \twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels} | |
245 | \twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information} | |
246 | \twocolitem{\helpref{WXTRACE}{trace}}{Trace macro} | |
247 | \twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels} | |
248 | \end{twocollist} | |
249 | ||
250 | {\large {\bf Interprocess communication}} | |
251 | ||
252 | \overview{Overview}{ipcoverview} | |
253 | ||
254 | wxWindows provides a simple interprocess communications facilities | |
255 | based on DDE. | |
256 | ||
257 | \begin{twocollist}\itemsep=0pt | |
258 | \twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client} | |
259 | \twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server} | |
260 | \twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server} | |
a660d684 KB |
261 | \end{twocollist} |
262 | ||
263 | {\large {\bf Document/view framework}} | |
264 | ||
265 | \overview{Overview}{docviewoverview} | |
266 | ||
267 | wxWindows supports a document/view framework which provides | |
268 | housekeeping for a document-centric application. | |
269 | ||
270 | TODO: MDI frame classes for documents; make it unnecessary to convert | |
271 | between streams and files (overridable method that uses filenames instead of streams). | |
272 | ||
273 | \begin{twocollist}\itemsep=0pt | |
274 | \twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document} | |
275 | \twocolitem{\helpref{wxView}{wxview}}{Represents a view} | |
276 | \twocolitem{\helpref{wxDocTemplate}{wxdoctemplate}}{Manages the relationship between a document class and a veiw class} | |
277 | \twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application} | |
278 | \twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view} | |
279 | \twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views} | |
280 | \end{twocollist} | |
281 | ||
282 | {\large {\bf Printing framework}} | |
283 | ||
284 | \overview{Overview}{printingoverview} | |
285 | ||
286 | A printing and previewing framework is implemented to | |
287 | make it relatively straighforward to provide document printing | |
288 | facilities. | |
289 | ||
290 | \begin{twocollist}\itemsep=0pt | |
291 | \twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview} | |
292 | \twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview} | |
293 | \twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview} | |
294 | \twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed} | |
295 | \twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog} | |
296 | \twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer} | |
297 | \twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context} | |
298 | \twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout} | |
299 | \twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview} | |
300 | \end{twocollist} | |
301 | ||
302 | {\large {\bf Database classes}} | |
303 | ||
304 | \overview{Database classes overview}{odbcoverview} | |
305 | ||
306 | wxWindows provides a set of classes for accessing Microsoft's ODBC (Open Database Connectivity) | |
307 | product. | |
308 | ||
309 | \begin{twocollist}\itemsep=0pt | |
310 | \twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class} | |
311 | \twocolitem{\helpref{wxQueryCol}{wxquerycol}}{Class representing a column} | |
312 | \twocolitem{\helpref{wxQueryField}{wxqueryfield}}{Class representing a field} | |
313 | \twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record} | |
314 | \end{twocollist} | |
315 | ||
316 | {\large {\bf Miscellaneous}} | |
317 | ||
318 | \begin{twocollist}\itemsep=0pt | |
3972fb49 | 319 | \twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table} |
a660d684 | 320 | \twocolitem{\helpref{wxApp}{wxapp}}{Application class} |
3972fb49 | 321 | \twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing} |
fe604ccd | 322 | \twocolitem{\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}}{Base class for help controllers} |
3972fb49 | 323 | \twocolitem{\helpref{wxProcess}{wxprocess}}{Process class} |
a660d684 KB |
324 | \twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class} |
325 | \twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class} | |
fe604ccd | 326 | \twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances} |
a660d684 KB |
327 | \end{twocollist} |
328 | ||
329 |