研究slic3r框架,里面GUI用的是WxWidgets,在这列举一下WxWidgets类的功能,以便查阅。
管理窗口
这里有若干直接由窗口管理器(例如:MS Windows或Motif Window Manager)操纵的窗口类型。在wxWidgets中,frames和dialogs是相似的,但是只有dialogs可能是模式的。
| 类名 |
功能 |
| wxTopLevelWindow |
任意的顶层窗口,dialog或frame |
| wxDialog |
对话框 |
| wxFrame |
通用的frame |
| wxMDIChildFrame |
MDI(多文档界面)child frame |
| wxMDIParentFrame |
MDI 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 |
双缓冲绘图的设备环境助手 |
| wxBufferedPaintDC |
OnPaint内部的双缓冲绘图设备环境助手 |
| 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 |
| wxLogGui |
GUI程序的默认日志目标 |
| wxLogNull |
临时禁止消息日志 |
| wxLogChain |
允许链接两个日志目标 |
| wxLogPassThrough |
允许过滤日志消息 |
| wxStreamToTextRedirector |
允许重定向cout到wxTextCtrl的输出 |
| Log functions |
错误和警告日志函数 |
调试特征
wxWidgets通过类,函数和宏支持一些应用程序的调试方式。
| 类名 |
功能 |
| wxDebugContext |
提供内存检查设施 |
| Debugging macros |
支持断言和检查的调试宏 |
| WXDEBUG_NEW |
使用该宏得到进一步的调试信息 |
| wxDebugReport |
在一个程序崩溃的情况下建立调试报告的基类 |
| wxDebugReportCompress |
建立压缩的调试报告的类 |
| wxDebugReportUpload |
通过HTTP上载压缩的调试报告的类 |
| wxDebugReportPreview |
预览一个调试报告内容的抽象基类 |
| wxDebugReportPreviewStd |
wxDebugReportPreview的标准实现 |
联网技术类
wxWidgets提供了它自己的基于联网的socket类。
| 类名 |
功能 |
| wxDialUpManager |
提供函数来检测网络连接状态并确定它 |
| wxIPV4adress |
描绘一个因特网地址 |
| wxIPadress |
描绘一个因特网地址 |
| wxSocketBase |
描绘一个socket基本对象 |
| wxSocketClient |
描绘一个socket客户端 |
| wxSocketServer |
描绘一个socket服务端 |
| wxSocketEvent |
一个socket事件 |
| wxFTP |
FTP协议类 |
| wxHTTP |
HTTP协议类 |
| 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 |
字符串输出流 |
| wxZlibInputStream |
Zlib(压缩)输入流 |
| wxZlibOutputStream |
Zlib(压缩)输出流 |
| wxZipInputStream |
读一个ZIP档案的输入流 |
| wxZipOutputStream |
写一个ZIP档案的输出流 |
| wxSocketInputStream |
Socket输入流类 |
| wxSocketOutputStream |
Socket输出流类 |
线程类
wxWidgets提供了一个类的集合来保证在多种平台上使用本地线程的能力。
| 类名 |
功能 |
| wxThread |
线程类 |
| wxThreadHelper |
轻松地管理后台线程 |
| wxMutex |
互斥体类 |
| wxMutexLocker |
互斥锁实用程序类 |
| wxCriticalSection |
临界区类 |
| wxCriticalSectionLocker |
临界区锁实用程序类 |
| wxCondition |
条件类 |
| wxSemaphore |
信号量类 |
HTML类
wxWidgets提供一个类的集合来显示HTML格式的文本。这些类包含一个基于HTML窗口部件的帮助系统。
| 类名 |
功能 |
| wxHtmlHelpController |
HTML帮助控制器类 |
| wxHtmlWindow |
HTML窗口类 |
| wxHtmlEasyPrinting |
打印HTML的简单类 |
| wxHtmlPrintout |
一般的HTML wxPrintout类 |
| wxHtmlParser |
一般的HTML分析器类 |
| wxHtmlTagHandler |
HTML标签处理器,可以插入到wxHtmlParser中 |
| wxHtmlWinParser |
wxHtmlWindow的HTML分析器类 |
| wxHtmlWinTagHandler |
HTML标签处理器,可以插入到wxHtmlWinParser中 |
虚拟文件系统类
wxWidgets提供了一组实现一个易扩展的虚拟文件系统的类,它们由HTML类内部使用。
| 类名 |
功能 |
| wxFSFile |
表示一个虚拟文件系统中的文件 |
| wxFileSystem |
虚拟文件系统的主要接口 |
| wxFileSystemHandler |
用于通知文件系统类型的类 |
基于XML的资源系统的类
允许你的应用程序以保存在一个XML格式中的规格来建立控件和其它用户界面元素的资源。
| 类名 |
功能 |
| wxXmlResource |
操作资源的主类 |
| wxXmlResourceHandler |
XML资源处理器的基类 |
在线帮助
| 类名 |
功能 |
| wxHelpController |
控制帮助窗口的类族 |
| wxHtmlHelpController |
HTML帮助控制器类 |
| wxContextHelp |
使应用程序进入上下文敏感的帮助模式中的类 |
| wxContextHelpButton |
使应用程序进入上下文敏感的帮助模式中的按钮类 |
| wxHelpProvider |
提供上下文敏感的帮助准备的抽象类 |
| wxSimpleHelpProvider |
简单地提供上下文敏感的帮助准备的类 |
| wxHelpControllerHelpProvider |
通过一个帮助控制器来提供上下文敏感的帮助准备的类 |
| wxToolTip |
实现工具提示的类 |
数据库类
wxWidgets提供一组类来访问微软的ODBC(开放数据互连)产品,它由Remstar捐赠。这就是大家知道的wxODBC。
| 类名 |
功能 |
| wxDb |
ODBC数据库连接 |
| wxDbTable |
提供访问一个数据库表 |
| wxDbInf |
|
| wxDbTableInf |
|
| wxDbColDef |
|
| wxDbColInf |
|
| wxDbColDataPtr |
|
| wxDbColFor |
|
| wxDbConnectInf |
|
| wxDbIdxDef |
|
其它
| 类名 |
功能 |
| wxApp |
应用程序类 |
| wxCaret |
一个光标对象 |
| wxCmdLineParser |
命令行分析器类 |
| wxConfig |
读/写配置的类(使用INI文件或注册表) |
| wxDllLoader |
操作共享库的类 |
| wxGLCanvas |
可由OpenGL调用来着色的画布 |
| wxGLContext |
简单共享OpenGL数据资源的类 |
| wxLayoutAlgorithm |
一个可选的窗口布局设施 |
| wxProcess |
进程类 |
| wxTimer |
定时器类 |
| wxStopWatch |
秒表类 |
| wxMimeTypesManager |
MIME类型管理器类 |
| wxSystemSettings |
获取多种全局参数的系统设置类 |
| wxSystemOptions |
运行时配置的系统选项类 |
| wxAcceleratorTable |
加速表 |
| wxAutomationObject |
OLE自动化类 |
| wxFontManager |
字体映射,查找适合给定编码的字体 |
| wxEncodingConverter |
编码转换 |
| wxCalendarDateAttr |
由wxCalendarCtrl使用 |
| wxQuantize |
完成量化或颜色还原的类 |
| wxSingleInstanceChecker |
检查仅有单个程序实例运行 |