This page contains a summarized listing of classes, please see the Class List by Category page for a full listing by category or the full list of classes in alphabetical order.
For a more visual approach, see the screenshots page.
Basic Windows
The following are the most important window classes
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.
Related Overviews: Sizers Overview
These are the classes relevant to sizer-based layout:
- wxSizer: Abstract base class
- wxBoxSizer: A sizer for laying out windows in a row or column
- wxGridSizer: A sizer for laying out windows in a grid with all fields having the same size
- wxFlexGridSizer: A sizer for laying out windows in a flexible grid
- wxGridBagSizer: Another grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.
- wxStaticBoxSizer: Same as wxBoxSizer, but with a surrounding static box
- wxWrapSizer: A sizer which wraps its child controls as size permits
Other layout classes:
Managed Windows
There are several types of window that are directly controlled by the window manager (such as MS Windows, or the X11 Window Manager). Frames and dialogs are similar in wxWidgets, but only dialogs may be modal.
Related Overviews: Common Dialogs
Menus
- wxMenu: Displays a series of menu items for selection
- wxMenuBar: Contains a series of menus for use with a frame
- wxMenuItem: Represents a single menu item
Controls
Typically, these are small windows which provide interaction with the user. Controls that are not static can have wxValidator associated with them.
Validators
These are the window validators, used for filtering and validating user input.
Related Overviews: wxValidator Overview
Picker Controls
These controls provide the user with the possibility to choose something (file or directory, font or colour, ...) directly from the window containing them.
Miscellaneous Windows
The following are a variety of classes that are derived from wxWindow.
Window Docking (wxAUI)
wxAUI is a set classes for writing a customizable application interface with built-in docking, floatable panes and a flexible MDI-like interface.
Related Overviews: wxAUI Overview
- wxAuiManager: The central class for managing the interface
- wxAuiNotebook: A replacement notebook class with extra features
- wxAuiPaneInfo: Describes a single pane
- wxAuiDockArt: Art and metrics provider for customizing the docking user interface
- wxAuiTabArt: Art and metrics provider for customizing the notebook user interface
Common Dialogs
Common dialogs are ready-made dialog classes which are frequently used in an application.
Related Overviews: Common Dialogs
HTML
wxWidgets provides a set of classes to display text in HTML format. These classes include a help system based on the HTML widget.
Device Contexts
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.
Related Overviews: Device Contexts
- wxAutoBufferedPaintDC: A helper device context for double buffered drawing inside OnPaint().
- wxBufferedDC: A helper device context for double buffered drawing.
- wxBufferedPaintDC: A helper device context for double buffered drawing inside OnPaint().
- wxClientDC: A device context to access the client area outside OnPaint() events
- wxPaintDC: A device context to access the client area inside OnPaint() events
- wxWindowDC: A device context to access the non-client area
- wxScreenDC: A device context to access the entire screen
- wxDC: The device context base class
- wxMemoryDC: A device context for drawing into bitmaps
- wxMetafileDC: A device context for drawing into metafiles
- wxMirrorDC: A proxy device context allowing for simple mirroring.
- wxPostScriptDC: A device context for drawing into PostScript files
- wxPrinterDC: A device context for drawing to printers
Graphics Context classes
These classes are related to drawing using a new vector based drawing API and are based on the modern drawing backend GDI+, CoreGraphics and Cairo.
Graphics Device Interface
These classes are related to drawing on device contexts and windows.
- wxColour: Represents the red, blue and green elements of a colour
- wxDCClipper: Wraps the operations of setting and destroying the clipping region
- wxBrush: Used for filling areas on a device context
- wxBrushList: The list of previously-created brushes
- wxFont: Represents fonts
- wxFontList: The list of previously-created fonts
- wxPen: Used for drawing lines on a device context
- wxPenList: The list of previously-created pens
- wxPalette: Represents a table of indices into RGB values
- wxRegion: Represents a simple or complex region on a window or device context
- wxRendererNative: Abstracts high-level drawing primitives
Image and bitmap classes
These classes represent images and bitmap in various formats and ways to access and create them.
Related Overviews: Bitmaps and Icons
- wxAnimation: Represents an animation
- wxBitmap: Represents a platform dependent bitmap
- wxBitmapHandler: Class for loading a saving a wxBitmap in a specific format
- wxCursor: A small, transparent bitmap representing the cursor
- wxIcon: A small, transparent bitmap for assigning to frames and drawing on device contexts
- wxIconBundle: Contains multiple copies of an icon in different sizes
- wxImage: A platform-independent image class
- wxImageHandler: Class for loading a saving a wxImage in a specific format
- wxImageList: A list of images, used with some controls
- wxMask: Represents a mask to be used with a bitmap for transparent drawing
- wxMemoryDC: A device context for drawing into bitmaps
- wxPixelData: Class template for direct access to wxBitmap's and wxImage's internal data
Events
An event object contains information about a specific event. Event handlers (usually member functions) have a single, event argument.
Related Overviews: Events and Event Handling
Application and Process Management
Printing Framework
A printing and previewing framework is implemented to make it relatively straightforward to provide document printing facilities.
Related Overviews: Printing Framework Overview
Document/View Framework
wxWidgets supports a document/view framework which provides housekeeping for a document-centric application.
Related Overviews: Document/View Framework
Clipboard and Drag & Drop
Related Overviews: Drag and Drop Overview
Virtual File System
wxWidgets provides a set of classes that implement an extensible virtual file system, used internally by the HTML classes.
Threading
wxWidgets provides a set of classes to make use of the native thread capabilities of the various platforms.
Related Overviews: Multithreading Overview
Runtime Type Information (RTTI)
wxWidgets supports runtime manipulation of class information, and dynamic creation of objects given class names.
Related Overviews: Runtime Type Information (RTTI)
- See also
- RTTI Functions and Macros
- wxClassInfo: Holds runtime class information
- wxObject: Root class for classes with runtime information
Debugging
wxWidgets supports some aspects of debugging an application through classes, functions and macros.
Related Overviews: Debugging
- See also
- Debugging Functions and Macros
Logging
wxWidgets provides several classes and functions for message logging.
Related overview: Logging Overview
- See also
- Logging Functions and Macros
Data Structures
These are the data structure classes supported by wxWidgets.
- wxAny: A class for storing arbitrary types that may change at run-time
- wxCmdLineParser: Command line parser class
- wxDateSpan: A logical time interval.
- wxDateTime: A class for date/time manipulations
- wxLongLong: A portable 64 bit integer type
- wxObject: The root class for most wxWidgets classes
- wxPathList: A class to help search multiple paths
- wxPoint: Representation of a point
- wxRect: A class representing a rectangle
- wxRegEx: Regular expression support
- wxRegion: A class representing a region
- wxString: A string class
- wxStringTokenizer: A class for interpreting a string as a list of tokens or words
- wxRealPoint: Representation of a point using floating point numbers
- wxSize: Representation of a size
- wxTimeSpan: A time interval.
- wxURI: Represents a Uniform Resource Identifier
- wxVariant: A class for storing arbitrary types that may change at run-time
Text Conversion
These classes define objects for performing conversions between different multibyte and Unicode encodings and wide character strings.
- wxMBConv: Base class for all converters, defines the API implemented by all the other converter classes.
- wxMBConvUTF7: Converter for UTF-7
- wxMBConvUTF8: Converter for UTF-8
- wxMBConvUTF16: Converter for UTF-16
- wxMBConvUTF32: Converter for UTF-32
- wxCSConv: Converter for any system-supported encoding which can be specified by name.
Related Overviews: wxMBConv Overview
Containers
These are classes, templates and class macros are used by wxWidgets. Most of these classes provide a subset or almost complete STL API.
Related Overviews: Container Classes
- wxArray<T>: A legacy dynamic array, use std::vector or wxVector instead.
- wxArrayString: An efficient container for storing wxString objects
- wxHashMap<T>: A type-safe hash map implementation (macro based)
- wxHashSet<T>: A type-safe hash set implementation(macro based)
- wxHashTable: A simple hash table implementation (deprecated, use wxHashMap)
- wxList<T>: A type-safe linked list implementation (macro based)
- wxVector<T>: A template-based vector implementation identical to std::vector
Smart Pointers
wxWidgets provides a few smart pointer class templates.
File Handling
wxWidgets has several small classes to work with disk files and directories.
Related overview: File Classes and Functions
- wxFileName: Operations with the file name and attributes
- wxDir: Class for enumerating files/subdirectories.
- wxDirTraverser: Class used together with wxDir for recursively enumerating the files/subdirectories
- wxFile: Low-level file input/output class.
- wxFFile: Another low-level file input/output class.
- wxTempFile: Class to safely replace an existing file
- wxTempFFile: Another class to safely replace an existing file
- wxTextFile: Class for working with text files as with arrays of lines
- wxStandardPaths: Paths for standard directories
- wxPathList: A class to help search multiple paths
- wxFileSystemWatcher: Class providing notifications of file system changes
Streams
wxWidgets has its own set of stream classes as an alternative to the standard stream libraries and to provide enhanced functionality.
Related overview: Stream Classes Overview
XML
Archive
XML Based Resource System (XRC)
Resources allow your application to create controls and other user interface elements from specifications stored in an XML format.
Related overview: XML Based Resource System (XRC)
Networking
wxWidgets provides its own classes for socket based networking.
Interprocess Communication
wxWidgets provides simple interprocess communications facilities based on Windows DDE, but available on most platforms using TCP.
Related overview: Interprocess Communication
Help
Multimedia
OpenGL
- wxGLCanvas: Canvas that you can render OpenGL calls to.
- wxGLContext: Class to ease sharing of OpenGL data resources.
Miscellaneous