Classes by Category

Virtual file system classes

wxWidgets provides a set of classes that implement an extensible virtual file system, used internally by the HTML classes.
wxFSFileRepresents a file in the virtual file system
wxFileSystemMain interface for the virtual file system
wxFileSystemHandlerClass used to announce file system type

Drag and drop and clipboard classes

\overview{Drag and drop and clipboard overview}{wxdndoverview}
wxBitmapDataObjectBitmap data object class
wxClipboardClipboard class
wxCustomDataObjectCustom data object class
wxDataFormatRepresents a data format
wxDataObjectData object class
wxDropSourceDrop source class
wxDropTargetDrop target class
wxFileDataObjectFile data object class
wxFileDropTargetFile drop target class
wxTextDataObjectText data object class
wxTextDropTargetText drop target class

File related classes

wxWidgets has several small classes to work with disk files, see \helpref{file classes overview}{wxfileoverview} for more details.
wxDirClass for enumerating files/subdirectories.
wxDirTraverserClass used together with wxDir for recursively enumerating the files/subdirectories
wxFFileAnother low-level file input/output class.
wxFileLow-level file input/output class.
wxFileNameOperations with the file name and attributes
wxStandardPathsPaths for standard directories
wxTempFileClass to safely replace an existing file
wxTextFileClass for working with text files as with arrays of lines

Stream classes

wxWidgets has its own set of stream classes, as an alternative to often buggy standard stream libraries, and to provide enhanced functionality.
wxBufferedInputStreamBuffered input stream class
wxBufferedOutputStreamBuffered output stream class
wxCountingOutputStreamStream class for querying what size a stream would have.
wxDataInputStreamPlatform-independent binary data input stream class
wxDataOutputStreamPlatform-independent binary data output stream class
wxFFileInputStreamAnother file input stream class
wxFFileOutputStreamAnother file output stream class
wxFileInputStreamFile input stream class
wxFileOutputStreamFile output stream class
wxFilterInputStreamFiltered input stream class
wxFilterOutputStreamFiltered output stream class
wxInputStreamInput stream class
wxMemoryInputStreamMemory input stream class
wxMemoryOutputStreamMemory output stream class
wxOutputStreamOutput stream class
wxSocketInputStreamSocket input stream class
wxSocketOutputStreamSocket output stream class
wxStreamBaseStream base class
wxStreamBufferStream buffer class
wxStringInputStreamString input stream class
wxStringOutputStreamString output stream class
wxTextInputStreamPlatform-independent text data input stream class
wxTextOutputStreamPlatform-independent text data output stream class
wxZipInputStreamInput stream for reading from ZIP archives
wxZlibInputStreamZlib (compression) input stream class
wxZlibOutputStreamZlib (compression) output stream class

XML-based resource system classes

\overview{XML-based resource system (XRC) overview}{xrcoverview} Resources allow your application to create controls and other user interface elements from specifications stored in an XML format.
wxXmlResourceThe main class for working with resources.
wxXmlResourceHandlerThe base class for XML resource handlers.

Miscellaneous

wxAcceleratorEntry
wxAcceleratorTableAccelerator table
wxAccessible
wxAppApplication class
wxArchiveClassFactory
wxArchiveEntry
wxArchiveInputStream
wxArchiveIterator
wxArchiveNotifier
wxArchiveOutputStream
wxArray
wxArrayString
wxArtProvider
wxAutomationObjectOLE automation class
wxBitmapHandler
wxBusyCursor
wxBusyInfo
wxCSConv
wxCalendarDateAttrUsed with \helpref{wxCalendarCtrl}{wxcalendarctrl}
wxCaretA caret (cursor) object
wxClient
wxClientData
wxClientDataContainer
wxCmdLineParserCommand line parser class
wxColourData
wxColourDatabase
wxCommand
wxCommandProcessor
wxConfigClasses for configuration reading/writing (using either INI files or registry)
wxConnection
wxControlWithItems
wxDDEClient
wxDDEConnection
wxDDEServer
wxDataObjectComposite
wxDataObjectSimple
wxDateTimeHolidayAuthority
wxDateTimeWorkDays
wxDbGridColInfo
wxDbIndexDef
wxDelegateRendererNative
wxDisplay
wxDllLoaderClass to work with shared libraries.
wxDocMDIChildFrame
wxDocMDIParentFrame
wxDragImage
wxDynamicLibrary
wxEncodingConverterEncoding conversions
wxEvtHandler
wxFFileStream
wxFileConfig
wxFileHistory
wxFileStream
wxFileType
wxFindReplaceData
wxFontData
wxFontEnumerator
wxFontMapperFont mapping, finding suitable font for given encoding
wxGBPosition
wxGBSizerItem
wxGBSpan
wxGDIObject
wxGLCanvasCanvas that you can render opengl calls to.
wxGLContextClass to ease sharing of opengl data resources.
wxGridCellAttr
wxGridCellBoolEditor
wxGridCellBoolRenderer
wxGridCellChoiceEditor
wxGridCellEditor
wxGridCellFloatEditor
wxGridCellFloatRenderer
wxGridCellNumberEditor
wxGridCellNumberRenderer
wxGridCellRenderer
wxGridCellStringRenderer
wxGridCellTextEditor
wxGridEditorCreatedEvent
wxGridEvent
wxGridRangeSelectEvent
wxGridSizeEvent
wxGridTableBase
wxHelpEvent
wxHtmlCell
wxHtmlColourCell
wxHtmlContainerCell
wxHtmlDCRenderer
wxHtmlFilter
wxHtmlHelpData
wxHtmlHelpFrame
wxHtmlLinkInfo
wxHtmlTag
wxHtmlTagsModule
wxHtmlWidgetCell
wxIconBundle
wxIconLocation
wxImageHandler
wxIndividualLayoutConstraint
wxJoystick
wxLayoutAlgorithmAn alternative window layout facility
wxLayoutConstraints
wxListItem
wxLocale
wxMBConv
wxMBConvFile
wxMBConvUTF16
wxMBConvUTF32
wxMBConvUTF7
wxMBConvUTF8
wxMDIClientWindow
wxMediaCtrl
wxMediaEvent
wxMemoryBuffer
wxMemoryFSHandler
wxMetafile
wxMimeTypesManagerMIME-types manager class
wxModule
wxNotebookSizer
wxObjectRefData
wxPlotCurve
wxPrivateDropTarget
wxProcessProcess class
wxProgressDialog
wxProtocol
wxQuantizeClass to perform quantization, or colour reduction
wxRecursionGuard
wxRecursionGuardFlag
wxRegionIterator
wxRendererVersion
wxSashEvent
wxScopedArray
wxScopedPtr
wxScopedTiedPtr
wxServer
wxSetCursorEvent
wxSingleInstanceCheckerCheck that only single program instance is running
wxSizerFlags
wxSizerItem
wxSockAddress
wxSound
wxSplitterEvent
wxSplitterRenderParams
wxStaticLine
wxStopWatchStop watch class
wxStringBufferLength
wxStringClientData
wxSystemOptionsSystem options class for run-time configuration
wxSystemSettingsSystem settings class for obtaining various global parameters
wxTCPClient
wxTCPConnection
wxTCPServer
wxTaskBarIcon
wxTextAttr
wxThreadHelperThread
wxTimerTimer class
wxTipProvider
wxTreeItemData
wxVariantData
wxWindow
wxWindowDisabler
wxZipClassFactory
wxZipEntry
wxZipNotifier
wxZipOutputStream

Managed windows

There are several types of window that are directly controlled by the window manager (such as MS Windows, or the Motif Window Manager). Frames and dialogs are similar in wxWidgets, but only dialogs may be modal.
wxFrameNormal frame
wxMDIChildFrameMDI child frame
wxMDIParentFrameMDI parent frame
wxMiniFrameA frame with a small title bar
wxSplashScreenSplash screen class
wxTabbedDialogTabbed dialog %(deprecated, use wxNotebook instead)
wxTipWindowShows text in a small window
wxTopLevelWindowAny top level window, dialog or frame

Logging features

\overview{Overview}{wxlogoverview} wxWidgets provides several classes and functions for message logging. Please see the \helpref{wxLog overview}{wxlogoverview} for more details.
Log functionsError and warning logging functions
wxLogThe base log class
wxLogChainAllows to chain two log targets
wxLogGuiDefault log target for GUI programs
wxLogNullTemporarily suppress message logging
wxLogPassThroughAllows to filter the log messages
wxLogStderrLog messages to a C STDIO stream
wxLogStreamLog messages to a C++ iostream
wxLogTextCtrlLog messages to a \helpref{wxTextCtrl}{wxtextctrl}
wxLogWindowLog messages to a log frame
wxStreamToTextRedirectorAllows to redirect output sent to {\tt cout} to a \helpref{wxTextCtrl}{wxtextctrl}

Printing framework

\overview{Overview}{printingoverview} A printing and previewing framework is implemented to make it relatively straightforward to provide document printing facilities.
wxPageSetupDialogStandard page setup dialog
wxPageSetupDialogDataRepresents information about the page setup dialog
wxPreviewCanvasCanvas for displaying a print preview
wxPreviewControlBarStandard control bar for a print preview
wxPreviewFrameFrame for displaying a print preview
wxPrintDataRepresents information about the document being printed
wxPrintDialogStandard print dialog
wxPrintDialogDataRepresents information about the print dialog
wxPrintPreviewClass representing a print preview
wxPrinterClass representing the printer
wxPrinterDCPrinter device context
wxPrintoutClass representing a particular printout

Miscellaneous windows

The following are a variety of classes that are derived from wxWindow.
wxChoicebookSimilar to notebook but using choice control
wxGridA grid (table) window
wxListbookSimilar to notebook but using list control
wxNotebookNotebook class
wxPanelA window whose colour changes according to current user settings
wxPlotWindowA class to display data.
wxSashLayoutWindowWindow that can be involved in an IDE-like layout arrangement
wxSashWindowWindow with four optional sashes that can be dragged
wxScrolledWindowWindow with automatically managed scrollbars
wxSplitterWindowWindow which can be split vertically or horizontally
wxStatusBarImplements the status bar on a frame
wxTabbedPanelTabbed panel (to be replaced with wxNotebook)
wxToolBarToolbar class
wxVScrolledWindowAs wxScrolledWindow but supports lines of variable height
wxWizardPageA base class for the page in wizard dialog.
wxWizardPageSimpleA page in wizard dialog.

Validators

\overview{Overview}{validatoroverview} These are the window validators, used for filtering and validating user input.
wxGenericValidatorGeneric control validator class
wxTextValidatorText control validator class
wxValidatorBase validator class

Common dialogs

\overview{Overview}{commondialogsoverview} Common dialogs are ready-made dialog classes which are frequently used in an application.
wxColourDialogColour chooser dialog
wxDialogBase class for common dialogs
wxDirDialogDirectory selector dialog
wxFileDialogFile selector dialog
wxFindReplaceDialogText search/replace dialog
wxFontDialogFont chooser dialog
wxMessageDialogSimple message box dialog
wxMultiChoiceDialogDialog to get one or more selections from a list
wxPasswordEntryDialogDialog to get a password from the user
wxSingleChoiceDialogDialog to get a single selection from a list and return the string
wxTextEntryDialogDialog to get a single line of text from the user
wxWizardA wizard dialog.

Interprocess communication

\overview{Overview}{ipcoverview} wxWidgets provides simple interprocess communications facilities based on Windows DDE, but available on most platforms using TCP.
wxSocketHandlerRepresents a socket handler

Online help

wxContextHelpClass to put application into context-sensitive help mode
wxContextHelpButtonButton class for putting application into context-sensitive help mode
wxHelpControllerFamily of classes for controlling help windows
wxHelpControllerHelpProviderClass for context-sensitive help provision via a help controller
wxHelpProviderAbstract class for context-sensitive help provision
wxHtmlHelpControllerHTML help controller class
wxSimpleHelpProviderClass for simple context-sensitive help provision
wxToolTipClass implementing tooltips

Menus

wxMenuDisplays a series of menu items for selection
wxMenuBarContains a series of menus for use with a frame
wxMenuItemRepresents a single menu item

Run-time class information system

\overview{Overview}{runtimeclassoverview} wxWidgets supports run-time manipulation of class information, and dynamic creation of objects given class names.
RTTI macrosMacros for manipulating run-time information
wxClassInfoHolds run-time class information
wxObjectRoot class for classes with run-time information

Networking classes

wxWidgets provides its own classes for socket based networking.
wxDialUpManagerProvides functions to check the status of network connection and to establish one
wxFTPFTP protocol class
wxHTTPHTTP protocol class
wxIPV4addressRepresents an Internet address
wxIPaddressRepresents an Internet address
wxSocketBaseRepresents a socket base object
wxSocketClientRepresents a socket client
wxSocketEventA socket event
wxSocketServerRepresents a socket server
wxURLRepresents a Universal Resource Locator

Graphics device interface

\overview{Bitmaps overview}{wxbitmapoverview} These classes are related to drawing on device contexts and windows.
wxBitmapRepresents a bitmap
wxBrushUsed for filling areas on a device context
wxBrushListThe list of previously-created brushes
wxColourRepresents the red, blue and green elements of a colour
wxCursorA small, transparent bitmap representing the cursor
wxDCClipperWraps the operations of setting and destroying the clipping region
wxFontRepresents fonts
wxFontListThe list of previously-created fonts
wxIconA small, transparent bitmap for assigning to frames and drawing on device contexts
wxImageA platform-independent image class
wxImageListA list of images, used with some controls
wxMaskRepresents a mask to be used with a bitmap for transparent drawing
wxPaletteRepresents a table of indices into RGB values
wxPenUsed for drawing lines on a device context
wxPenListThe list of previously-created pens
wxRendererNativeAbstracts high-level drawing primitives

Window layout

There are two different systems for laying out windows (and dialogs in particular). One is based upon so-called sizers and it requires less typing, thinking and calculating and will in almost all cases produce dialogs looking equally well on all platforms, the other is based on so-called constraints and is deprecated, though still available. \overview{Sizer overview}{sizeroverview} describes sizer-based layout. These are the classes relevant to sizer-based layout.
wxBoxSizerA sizer for laying out windows in a row or column
wxFlexGridSizerA sizer for laying out windows in a flexible grid
wxGridBagSizerAnother grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.
wxGridSizerA sizer for laying out windows in a grid with all fields having the same size
wxSizerAbstract base class
wxStaticBoxSizerSame as wxBoxSizer, but with a surrounding static box

Data structures

These are the data structure classes supported by wxWidgets.
wxDateSpanA logical time interval.
wxDateTimeA class for date/time manipulations
wxExprA class for flexible I/O
wxExprDatabaseA class for flexible I/O
wxHashMapA simple hash map implementation
wxHashSetA simple hash set implementation
wxHashTableA simple hash table implementation (deprecated, use wxHashMap)
wxHashTableLongA wxHashTable version for storing long data
wxListA simple linked list implementation
wxLongLongA portable 64 bit integer type
wxNodeRepresents a node in the wxList implementation
wxPathListA class to help search multiple paths
wxPointRepresentation of a point
wxRealPointRepresentation of a point using floating point numbers
wxRectA class representing a rectangle
wxRegExRegular expression support
wxRegionA class representing a region
wxSizeRepresentation of a size
wxStringA string class
wxStringListA class representing a list of strings
wxStringTokenizerA class for interpreting a string as a list of tokens or words
wxTimeSpanA time interval.
wxURIRepresents a Uniform Resource Identifier
wxVariantA class for storing arbitrary types that may change at run-time

Threading classes

\overview{Multithreading overview}{wxthreadoverview} wxWidgets provides a set of classes to make use of the native thread capabilities of the various platforms.
wxConditionCondition class
wxCriticalSectionCritical section class
wxCriticalSectionLockerCritical section locker utility class
wxMutexMutex class
wxMutexLockerMutex locker utility class
wxSemaphoreSemaphore class
wxThreadThread class
wxThreadHelperManages background threads easily

Document/view framework

\overview{Overview}{docviewoverview} wxWidgets supports a document/view framework which provides housekeeping for a document-centric application.
wxDocChildFrameA child frame for showing a document view
wxDocManagerManages the documents and views in an application
wxDocParentFrameA parent frame to contain views
wxDocTemplateManages the relationship between a document class and a view class
wxDocumentRepresents a document
wxMDIDocChildFrameAn MDI child frame for showing a document view
wxMDIDocParentFrameAn MDI parent frame to contain views
wxViewRepresents a view

Database classes

\overview{Database classes overview}{odbcoverview} wxWidgets provides a set of classes for accessing Microsoft's ODBC (Open Database Connectivity) product, donated by Remstar. This is known as wxODBC.
wxDbODBC database connection
wxDbColDataPtr
wxDbColDef
wxDbColFor
wxDbColInf
wxDbConnectInf
wxDbIdxDef
wxDbInf
wxDbTableProvides access to a database table
wxDbTableInf

Events

\overview{Overview}{eventhandlingoverview} An event object contains information about a specific event. Event handlers (usually member functions) have a single, event argument.
wxActivateEventA window or application activation event
wxCalculateLayoutEventUsed to calculate window layout
wxCalendarEventUsed with \helpref{wxCalendarCtrl}{wxcalendarctrl}
wxCloseEventA close window or end session event
wxCommandEventAn event from a variety of standard controls
wxDialUpEventEvent send by \helpref{wxDialUpManager}{wxdialupmanager}
wxDropFilesEventA drop files event
wxEraseEventAn erase background event
wxEventThe event base class
wxFindDialogEventEvent sent by \helpref{wxFindReplaceDialog}{wxfindreplacedialog}
wxFocusEventA window focus event
wxIconizeEventAn iconize/restore event
wxIdleEventAn idle event
wxInitDialogEventA dialog initialisation event
wxJoystickEventA joystick event
wxKeyEventA keypress event
wxListEventA list control event
wxMaximizeEventA maximize event
wxMenuEventA menu event
wxMouseCaptureChangedEventA mouse capture changed event
wxMouseEventA mouse event
wxMoveEventA move event
wxNotebookEventA notebook control event
wxNotifyEventA notification event, which can be vetoed
wxPaintEventA paint event
wxProcessEventA process ending event
wxQueryLayoutInfoEventUsed to query layout information
wxScrollEventA scroll event from sliders, stand-alone scrollbars and spin buttons
wxScrollWinEventA scroll event from scrolled windows
wxSizeEventA size event
wxSpinEventAn event from \helpref{wxSpinButton}{wxspinbutton}
wxSysColourChangedEventA system colour change event
wxTabEventA tab control event
wxTimerEventA timer expiration event
wxTreeEventA tree control event
wxUpdateUIEventA user interface update event
wxWizardEventA wizard event

Device contexts

\overview{Overview}{dcoverview} Device contexts are surfaces that may be drawn on, and provide an abstraction that allows parameterisation of your drawing code by passing different device contexts.
wxBufferedDCA helper device context for double buffered drawing.
wxBufferedPaintDCA helper device context for double buffered drawing inside \textbf{OnPaint}.
wxClientDCA device context to access the client area outside {\bf OnPaint} events
wxDCThe device context base class
wxMemoryDCA device context for drawing into bitmaps
wxMetafileDCA device context for drawing into metafiles
wxMirrorDCA proxy device context allowing for simple mirroring.
wxPaintDCA device context to access the client area inside {\bf OnPaint} events
wxPostScriptDCA device context for drawing into PostScript files
wxScreenDCA device context to access the entire screen
wxWindowDCA device context to access the non-client area

HTML classes

wxWidgets provides a set of classes to display text in HTML format. These class include a help system based on the HTML widget.
wxHtmlEasyPrintingSimple class for printing HTML
wxHtmlParserGeneric HTML parser class
wxHtmlPrintoutGeneric HTML wxPrintout class
wxHtmlTagHandlerHTML tag handler, pluginable into wxHtmlParser
wxHtmlWinParserHTML parser class for wxHtmlWindow
wxHtmlWinTagHandlerHTML tag handler, pluginable into wxHtmlWinParser
wxHtmlWindowHTML window class

Debugging features

\overview{Overview}{debuggingoverview} wxWidgets supports some aspects of debugging an application through classes, functions and macros.
Debugging macrosDebug macros for assertion and checking
WXDEBUG\_NEWUse this macro to give further debugging information
WXTRACETrace macro
WXTRACELEVELTrace macro with levels
wxDebugContextProvides memory-checking facilities
wxDebugStreamBufA stream buffer writing to the debug stream

Controls

Typically, these are small windows which provide interaction with the user. Controls that are not static can have \helpref{validators}{wxvalidator} associated with them.
wxBitmapButtonPush button control, displaying a bitmap
wxButtonPush button control, displaying text
wxCalendarCtrlDate picker control
wxCheckBoxCheckbox control
wxCheckListBoxA listbox with a checkbox to the left of each item
wxChoiceChoice control (a combobox without the editable area)
wxComboBoxA choice with an editable area
wxControlThe base class for controls
wxGaugeA control to represent a varying quantity, such as time remaining
wxGenericDirCtrlA control for displaying a directory tree
wxHtmlListBoxA listbox showing HTML content
wxListBoxA list of strings for single or multiple selection
wxListCtrlA control for displaying lists of strings and/or icons, plus a multicolumn report view
wxListViewA simpler interface ({\it fa\c{c}ade} for wxListCtrl in report mode
wxRadioBoxA group of radio buttons
wxRadioButtonA round button to be used with others in a mutually exclusive way
wxScrollBarScrollbar control
wxSliderA slider that can be dragged by the user
wxSpinButtonA spin or `up-down' control
wxSpinCtrlA spin control - i.e. spin button and text control
wxStaticBitmapA control to display a bitmap
wxStaticBoxA static, or group box for visually grouping related controls
wxStaticTextOne or more lines of non-editable text
wxTabCtrlManages several tabs
wxTextCtrlSingle or multiline text editing control
wxToggleButtonA button which stays pressed when clicked by user.
wxTreeCtrlTree (hierarchy) control
wxVListBoxA listbox supporting variable height rows