研究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 | 检查仅有单个程序实例运行 |