研究slic3r框架,里面GUI用的是WxWidgets,在这列举一下WxWidgets类的功能,以便查阅。

管理窗口

这里有若干直接由窗口管理器(例如:MS Windows或Motif Window Manager)操纵的窗口类型。在wxWidgets中,frames和dialogs是相似的,但是只有dialogs可能是模式的。

类名功能
wxTopLevelWindow任意的顶层窗口,dialog或frame
wxDialog对话框
wxFrame通用的frame
wxMDIChildFrameMDI(多文档界面)child frame
wxMDIParentFrameMDI parent frame
wxMiniFrame带有瘦标题栏的frame
wxSplashScreen飞溅屏幕类
wxPropertySheetDialog属性表对话框
wxTipWindow在一个小窗口中显示文本
wxWizard向导对话框

其它窗口

这里有由wxWindow派生的各种类。

类名功能
wxPanel跟随当前用户设置而改变颜色的窗口
wxScrolledWindow自动管理滚动条的窗口
wxGrid表格窗口
wxSplitterWindow可以被拆分为水平或垂直的窗口
wxStatusBar在frame上实现状态栏
wxToolBar工具栏类
wxNotebook笔记本类
wxListbook类似于笔记本,但使用列表控件
wxChoicebook类似于笔记本,但使用选择控件
wxSashWindow包含四个可拖拽框格的窗口
wxSashLayoutWindow
wxVScrolledWindow与wxScrolledWindow一样,但支持可变高度的行
wxWizardPage向导对话框中页面的基类
wxWizardPageSimple向导对话框中的页面

公共对话框

公共对话框是在应用程序中被频繁使用的现成的对话框类。

类名功能
wxDialog公共对话框的基类
wxColourDialog颜色选择对话框
wxDirDialog目录选择对话框
wxFileDialog文件选择对话框
wxFindReplaceDialog文本搜索/替换对话框
wxMultiChoiceDialog从列表获得一个或多个选择的对话框
wxSingleChoiceDialog从列表中获得一个选择的对话框,并且返回一个字符串
wxTextEntryDialog从用户那里获得一行文本的对话框
wxPasswordEntryDialog从用户那里获得一个密码的对话框
wxFontDialog字体选择对话框
wxPageSetupDialog标准页面设置对话框
wxPrintDialog标准打印对话框
wxProcessDialog进程指示对话框
wxMessageDialog简单的消息对话框
wxWizard向导对话框

控件

典型的,提供与用户之间交互的小窗口。控件不是静态的,它们能够具有与之关联的validators。

类名功能
wxControl控件的基类
wxButton按钮控件,显示文本
wxBitmapButton按钮控件,显示一张位图
wxToggleButton一个按钮,当用户单击时保持按下(状态)
wxCalendarCtrl显示一个完整的月历的控件
wxCheckBox检查框控件
wxCheckBox
wxCheckListBox每个条目左边都有一个检查框的列表框
wxChoice选择控件(一个没有可编辑区的组合框)
wxComboBox包含一个可编辑区的选择框
wxDatePickerCtrl简单的日期选择控件
wxGauge显示一个变化数量的控件,如剩余时间
wxGenericDirCtrl显示一个目录树的控件
wxHtmlListBox显示HTML内容的列表框
wxStaticBox一个静态的或将相关控件在视觉上组合在一起的方框
wxListBox单选或多选的字符串列表
wxListCtrl显示字符串列表,和/或图标,加上一个多列报表视图
wxListView一个简单的界面(wxListCtrl的报表视图外观)
wxTextCtrl单行或多行文本编辑控件
wxTreeCtrl树(层次)控件
wxScrollBar滚动条控件
wxSpinButton一个旋转或‘up-down’控件
wxSpinCtrl一个旋转控件 例如:旋转按钮和文本控件
wxStaticText一行或多行的不可编辑文本
wxStaticBitmap显示一张位图的控件
wxRadioBox一个单选按钮的组合
wxRadioButton以相互排斥的方式和其它圆形按钮一起使用的圆形按钮
wxSlider用户可拖拽的滑块
wxVListBox支持可变行高的列表框

菜单

类名功能
wxMenu显示连续的菜单条目以供选择
wxMenuBar包含连续菜单以一个frame的方式以供使用
wxMenuItem表示单个菜单条目

窗口布局

有两种不同的窗口(特别是对话框)布局系统。一个是基于号称sizer的,它需要少量的定位,思考和计算,并且在所有平台下产生看起来一样的对话框。另一个是基于所谓的约束的, 虽然它仍然可用,但是已经被废弃了。

Sizer概述

描述基于sizer的布局 。
这些类是有关基于sizer布局的 。

类名功能
wxSizer抽象基类
wxGridSizer在所有单元有着相同大小的网格中布局窗口的sizer
wFlexGridSizer在一个可变网格中布局窗口的sizer
wxGridBagSizer另一个网格sizer,让你指定一个条目的单元,且条目可以跨越行和/或列
wxBoxSizer在一行或一列中布局窗口的sizer
wxStaticBoxSizer与wxBoxSizer相同,但是包含一个静态框的边框

约束概述

描述基于约束的布局 。

这些类是有关基于约束的窗口布局 。

类名功能
wxIndividualLayoutConstraint描述单个约束尺寸
wxLayoutConstraints描述一个窗口类的约束

设备环境

设备环境是一个能够在上面绘图的界面,并且提供一个允许传递不同的设备环境给你的绘图代码参数的抽象。

类名功能
wxBufferedDC双缓冲绘图的设备环境助手
wxBufferedPaintDCOnPaint内部的双缓冲绘图设备环境助手
wxClientDC在OnPaint事件之外访问客户区的设备环境
wxPaintDC在OnPaint事件内部访问客户区的设备环境
wxWindowDC访问非客户区的设备环境
wxScreenDC访问整个屏幕的设备环境
wxDC设备环境基类
wxMemoryDC在位图上绘图的设备环境
wxMetafileDC在元文件上绘图的设备环境
wxMirrorDC允许简单映射的代理设备环境
wxPostScriptDC在PostScript文件上绘图的设备环境
wxPrinterDC在打印机上绘图的设备环境

图形设备接口

这里是在设备环境和窗口上绘图的相关类。

类名功能
wxColour描绘红,蓝和绿的颜色元素
wxDCClipper包装设置操作并销毁剪切区域
wxBitmap描绘一张位图
wxBrush用于在设备环境上填充区域
wxBrushList预定义刷子的列表
wxCursor一个小的透明的描绘光标的位图
wxFont描述字体
wxFontList预定义字体的列表
wxIcon一个小的透明的指派给帧的在设备环境上绘制位图,
wxImage一个平台独立的图像类
wxImageList一个图像列表,用于某些控件
wxMask描绘一个掩码用于透明地绘制位图
wxPen用于在设备环境上画线
wxPenList预定义的画笔列表
wxPalette描绘一个RGB值的索引表
wxRegion描绘一个窗口或设备环境中简单或复杂的区域
wxRendererNative抽象高水平的绘图原语

事件

一个事件对象包含具体事件的信息。事件处理器(通常为成员函数)有一个单独的事件参数。

类名功能
wxActivateEvent一个窗口或应用程序的激活事件
wxCalendarEvent用于wxCalendarCtrl
wxCalculateLayoutEvent用于计算窗口布局
wxCloseEvent一个关闭窗口或结束会话事件
wxCommandEvent来自各种标准控件的事件
wxContextMenuEvent当用户发出一个索引菜单命令时产生该事件
wxDateEvent用于wxDatePickerCtrl
wxDialUpEvent由wxDialUpManager发出的事件
wxDropFilesEvent一个撤销文件事件
wxEraseEvent一个擦除背景事件
wxEvent事件基类
wxFindDialogEvent由wxFindReplaceDialog发出的事件
wxFocusEvent一个窗口聚焦事件
wxKeyEvent一次击键事件
wxIconizeEvent一个图标化/还原事件
wxIdleEvent一个空闲事件
wxInitDialogEvent一个对话框初始化事件
wxJoystickEvent一个操纵杆事件
wxListEvent一个列表控件事件
wxMaximizeEvent一个最大化事件
wxMenuEvent菜单事件
wxMouseCaptureChangedEvent一个鼠标捕获变化事件
wxMouseEvent鼠标事件
wxMoveEvent移动事件
wxNotebookEvent一个记事本控件事件
wxNotifyEvent一个可以被禁止的通知事件
wxPaintEvent绘画事件
wxProcessEvent进程结束事件
wxQueryLayoutInfoEvent用于查询布局信息
wxScrollEvent来自滑块,独立的滚动条和旋转按钮的卷动事件
wxScrollWinEvent来自滚动窗口的卷动事件
wxSizeEvent一个大小化事件
wxSocketEvent一个socket事件
wxSpinEvent来自wxSpinButton的事件
wxSplitterEvent来自wxSplitterWindow的事件
wxSysColourChangedEvent一个系统颜色变化事件
wxTimerEvent一个定时器到期事件
wxTreeEvent树控件事件
wxUpdateUIEvent用户界面更新事件
wxWindowCreateEvent一个窗口建立事件
wxWindowDestroyEvent一个窗口销毁事件
wxWizardEvent一个向导事件

校验器

这些窗口校验器用于过滤和校验用户输入。

类名功能
wxValidator基本的检验器类
wxTextValidator文本控件检验器类
wxGenericValidator通用控件检验器类

数据结构

这些是wxWidgets支持的数据结构类。

类名功能
wxCmdLineParser命令行分析器类
wxDateSpan一个合理的时间间隔
wxDateTime操纵日期/时间的类
wxArray一个动态数组的实现
wxArrayString一个保存wxString对象的高效容器
wxHaskMap一个简单的哈希map的实现
wxHashSet一个简单的哈希集合的实现
wxHaskTable一个简单的哈希表的实现(不建议使用,建议使用wxHaskMap)
wxList一个简单的链表实现
wxLongLong一种可移植的64位整型
wxNode表示wxList中的一个节点
wxObject大多数wxWidgets类的基类
wxPathList帮助查找多个路径的类
wxPoint一个点的表示
wxRect表示一个矩形的类
wxRegEx正则表达式支持
wxRegion表示一个区域的类
wxString一个字符串类
wxStringTokenizer表示一种记号或单词列表的字符串类
wxRealPoint一个用浮点数表示的点
wxSizer一个size的表示
wxTimeSpan一个时间间隔
wxURI表示一个统一资源标识符
wxVariant可保存任意类型的运行时刻可改变的类

运行时类信息系统

wxWidgets支持运行时类信息的处理和指定类名的动态对象的建立。

类名功能
wxClassInfo保存运行时的类信息
wxObject带有运行时信息类的基类
RTTI macros处理运行时信息的宏

日志特征

wxWidgets为消息日志提供了若干类和函数。详见wxLog概述。

类名功能
wxLog基本的日志类
wxLogStderr记录消息到一个C STDIO 流
wxLogStream记录消息到一个C++ iostream
wxLogTextCtrl记录消息到一个wxTextCtrl
wxLogWindow记录消息到一个日志frame
wxLogGuiGUI程序的默认日志目标
wxLogNull临时禁止消息日志
wxLogChain允许链接两个日志目标
wxLogPassThrough允许过滤日志消息
wxStreamToTextRedirector允许重定向cout到wxTextCtrl的输出
Log functions错误和警告日志函数

调试特征

wxWidgets通过类,函数和宏支持一些应用程序的调试方式。

类名功能
wxDebugContext提供内存检查设施
Debugging macros支持断言和检查的调试宏
WXDEBUG_NEW使用该宏得到进一步的调试信息
wxDebugReport在一个程序崩溃的情况下建立调试报告的基类
wxDebugReportCompress建立压缩的调试报告的类
wxDebugReportUpload通过HTTP上载压缩的调试报告的类
wxDebugReportPreview预览一个调试报告内容的抽象基类
wxDebugReportPreviewStdwxDebugReportPreview的标准实现

联网技术类

wxWidgets提供了它自己的基于联网的socket类。

类名功能
wxDialUpManager提供函数来检测网络连接状态并确定它
wxIPV4adress描绘一个因特网地址
wxIPadress描绘一个因特网地址
wxSocketBase描绘一个socket基本对象
wxSocketClient描绘一个socket客户端
wxSocketServer描绘一个socket服务端
wxSocketEvent一个socket事件
wxFTPFTP协议类
wxHTTPHTTP协议类
wxURL描绘一个URL(统一资源定位符)

进程间通讯

wxWidgets提供基于Windows DDE的简单的进程间通讯设施,而大部分平台则使用TCP。

类名功能
wxClient,wxDDEClient描绘一个客户
wxConnection,wxDDEConnection描绘一个客户端与一个服务端的连接
wxServer,wxDDEServer描述一个服务端

文档/视图框架

wxWidgets支持一种文档/视图框架,它为以文档为中心的应用程序提供了内部管理。

类名功能
wxDocument表示一个文档
wxView表示一个视图
wxDocTemplate管理一个文档与一个视图之间的关系
wxDocManager管理应用程序中的文档与视图
wxDocChildFrame一个显示文档视图的子框架
wxDocParentFrame用于包含视图的父框架

打印框架

实现一个打印和预览框架让提供文档打印设施变得相对简单。

类名功能
wxPreviewFrame显示一个打印预览的框架
wxPreviewCanvas显示一个打印预览的画布
wxPreviewControlBar一个打印预览的标准控制栏
wxPrintDialog标准打印对话框
wxPageSetupDialog标准的页面设置对话框
wxPrinter表示打印机的类
wxPrinterDC打印机的设备环境
wxPrintout表示一个详细的打印输出的类
wxPrintPreview表示一个打印预览的类
wxPrintData表示将被打印的文档的信息
wxPrintDialogData表示打印对话框的信息
wxPageSetupDialogData表示页面设置对话框的信息

拖拽和剪切板类

类名功能
wxDataObject数据对象类
wxDataFormat表示一个数据格式
wxTextDataObject文本数据对象类
wxFileDataObject文件数据对象类
wxBitmapDataObject位图数据对象类
wxCustomDataObject自定义数据对象类
wxClipboard剪贴板类
wxDropTarget拖拽目标类
wxFileDropTarget文件拖拽目标类
wxTextDropTarget文本拖拽目标类
wxDropSource拖拽源类

文件相关类

wxWidgets有若干个小类来操作磁盘文件,更多细节见文件类概述。

类名功能
wxFileName操作文件名和属性
wxDir列举文件/子目录的类
wxDirTraverser和wxDir一起递归的列举文件/子目录的类
wxFile低级文件输入/输出类
wxFFile另一个低级文件输入/输出类
wxTempFile安全的替换一个存在文件的类
wxTextFile操作以行数组方式表示的文本文件的类
wxStandardPaths标准目录路径

流类

wxWidgets有它自己的流类集合,作为经常出现bug的标准流库的另外一个选择,并且提供了更加强大的功能。

类名功能
wxStreamBase流基类
wxStreamBuffer流缓冲类
wxInputStream输入流类
wxOutputStream输出流类
wxCountingOutputStream查询一个流的大小的流类
wxFilterInputStream过滤输入流类
wxFilterOutputStream过滤输出流类
wxBufferedInputStream缓冲输入流类
wxBufferedOutputStream缓冲输出流类
wxMemoryInputStream内存输入流类
wxMemoryOuputStream内存输出流类
wxDataInputStream平台无关的二进制数据输入流类
wxDataOutputStream平台无关的二进制数据输出流类
wxTextInputStream平台无关的文件数据输入流类
wxTextOutputStream平台无关的文件数据输出流类
wxFileInputStream文件输入流类
wxFileOutputStream文件输出流类
wxFFileInputStream另一个文件输入流类
wxFFileOutputStream另一个文件输出流类
wxTempFileOutputStream安全的替代一个已存在的文件的流
wxStringInputStream字符串输入流
wxStringOutputStream字符串输出流
wxZlibInputStreamZlib(压缩)输入流
wxZlibOutputStreamZlib(压缩)输出流
wxZipInputStream读一个ZIP档案的输入流
wxZipOutputStream写一个ZIP档案的输出流
wxSocketInputStreamSocket输入流类
wxSocketOutputStreamSocket输出流类

线程类

wxWidgets提供了一个类的集合来保证在多种平台上使用本地线程的能力。

类名功能
wxThread线程类
wxThreadHelper轻松地管理后台线程
wxMutex互斥体类
wxMutexLocker互斥锁实用程序类
wxCriticalSection临界区类
wxCriticalSectionLocker临界区锁实用程序类
wxCondition条件类
wxSemaphore信号量类

HTML类

wxWidgets提供一个类的集合来显示HTML格式的文本。这些类包含一个基于HTML窗口部件的帮助系统。

类名功能
wxHtmlHelpControllerHTML帮助控制器类
wxHtmlWindowHTML窗口类
wxHtmlEasyPrinting打印HTML的简单类
wxHtmlPrintout一般的HTML wxPrintout类
wxHtmlParser一般的HTML分析器类
wxHtmlTagHandlerHTML标签处理器,可以插入到wxHtmlParser中
wxHtmlWinParserwxHtmlWindow的HTML分析器类
wxHtmlWinTagHandlerHTML标签处理器,可以插入到wxHtmlWinParser中

虚拟文件系统类

wxWidgets提供了一组实现一个易扩展的虚拟文件系统的类,它们由HTML类内部使用。

类名功能
wxFSFile表示一个虚拟文件系统中的文件
wxFileSystem虚拟文件系统的主要接口
wxFileSystemHandler用于通知文件系统类型的类

基于XML的资源系统的类

允许你的应用程序以保存在一个XML格式中的规格来建立控件和其它用户界面元素的资源。

类名功能
wxXmlResource操作资源的主类
wxXmlResourceHandlerXML资源处理器的基类

在线帮助

类名功能
wxHelpController控制帮助窗口的类族
wxHtmlHelpControllerHTML帮助控制器类
wxContextHelp使应用程序进入上下文敏感的帮助模式中的类
wxContextHelpButton使应用程序进入上下文敏感的帮助模式中的按钮类
wxHelpProvider提供上下文敏感的帮助准备的抽象类
wxSimpleHelpProvider简单地提供上下文敏感的帮助准备的类
wxHelpControllerHelpProvider通过一个帮助控制器来提供上下文敏感的帮助准备的类
wxToolTip实现工具提示的类

数据库类

wxWidgets提供一组类来访问微软的ODBC(开放数据互连)产品,它由Remstar捐赠。这就是大家知道的wxODBC。

类名功能
wxDbODBC数据库连接
wxDbTable提供访问一个数据库表
wxDbInf
wxDbTableInf
wxDbColDef
wxDbColInf
wxDbColDataPtr
wxDbColFor
wxDbConnectInf
wxDbIdxDef

其它

类名功能
wxApp应用程序类
wxCaret一个光标对象
wxCmdLineParser命令行分析器类
wxConfig读/写配置的类(使用INI文件或注册表)
wxDllLoader操作共享库的类
wxGLCanvas可由OpenGL调用来着色的画布
wxGLContext简单共享OpenGL数据资源的类
wxLayoutAlgorithm一个可选的窗口布局设施
wxProcess进程类
wxTimer定时器类
wxStopWatch秒表类
wxMimeTypesManagerMIME类型管理器类
wxSystemSettings获取多种全局参数的系统设置类
wxSystemOptions运行时配置的系统选项类
wxAcceleratorTable加速表
wxAutomationObjectOLE自动化类
wxFontManager字体映射,查找适合给定编码的字体
wxEncodingConverter编码转换
wxCalendarDateAttr由wxCalendarCtrl使用
wxQuantize完成量化或颜色还原的类
wxSingleInstanceChecker检查仅有单个程序实例运行