Inherited from XListener,
Inherited by NULL
Friend class NULL
Description
IMainFrame是XT框架的接口类,它负责监听来自程序底层的消息并对消息作出相应的反应。它提供的接口包括:获取文档;获取命令管理器;响应应用事件;启动命令;执行命令;响应错误信息等。
Public interface
-
-
-
virtual void
closeDocument(XDocument * doc, bool bCloseDocWindow = true) = 0
virtual XDocument *
newDocument(const char * docType) = 0
virtual UIProxy *
newInstance(const char * schemeName) = 0
-
-
-
virtual void
launchCommand(int cid,const CmdParam * param = 0) = 0
-
-
-
-
-
-
virtual void
inform(const char * msg, bool bWarning = false) = 0
virtual void
message(const char * info,…) = 0
virtual void
error(ErrorCode e) = 0
-
-
-
virtual int
askQuestion(const char * title,const char * q, bool bEnableCancel) =0
virtual int
monitorProcess(const char * exe, const char * param, const char * title = 0, bool bSilent = false, const char * workdir = 0) = 0
virtual int
startThread(const char * name, ThreadFunc func,XWord param, bool bAsync) = 0
-
-
virtual int
startThreadProcess(ThreadData * tdata, const char * exe, LabelVarSection * param, ProcessOutputFunc outputFunc) = 0
virtual void
notifyThreadEvent(ThreadData * tdata, EventTypeID et, XWord param = XWord(), bool bFlushImmediatly = false) = 0
-
-
-
virtual void
loadModule(const char * modules, const char * proxys = “”) = 0
virtual ErrorCode
executeScript(const char * script,const char * param, bool bCheckParam = false) = 0
-
-
virtual void
updateAction(ulong cid, bool bUpdateGroup = false, bool bUpdateEnable = false) = 0
-
-
-
virtual void
updateTreeView(TreeNode * tItem, bool bRecursive = true) = 0
virtual XDocument * getDocument(int index) = 0
function: 获取第index个文档
parameters:
[i]int index: 文档序号
return value: 文档指针
virtual XDocument * getCurrentDocument() = 0
function: 获取当前文档
parameters: NULL
return value: 文档指针
virtual void setCurrentDocument(XDocument * doc) = 0
function: 设置当前文档
parameters:
[i]XDocument * doc: 文档指针
return value: 无
virtual void closeDocument(XDocument * doc, bool bCloseDocWindow = true) = 0
function: 关闭文档
parameters:
[i]XDocument * doc: 文档指针
[i] bool bCloseDocWindow = true: 是否关闭对应的文档窗口
return value: 无
virtual XDocument * newDocument(const char * docType) = 0
virtual UIProxy * newInstance(const char * schemeName) = 0
virtual const char * getCurrentSchemeName() = 0
virtual const char * getClipboardText() = 0
function: 获取剪贴板字符串
parameters: NULL
return value: 剪贴板内容字符串
virtual XPicker * getPicker() = 0
function: 获取选择器
parameters: NULL
return value: 选择器指针
virtual void launchCommand(int cid,const CmdParam * param = 0) = 0
virtual void nextCommand(ulong cid = 0) = 0
function: 启动命令序列中的下一个命令
parameters:
[i]ulong cid = 0: 指定下一个命令的ID,如为0,则执行命令序列的第一个命令
return value: 无
virtual CommandManager * getCommandManager() = 0
function: 获取命令管理器
parameters: NULL
return value: 命令管理器指针
virtual ICommandWindow * getCommandWindow() = 0
function: 获取命令对话框窗口指针
parameters: NULL
return value: 命令对话框窗口指针
virtual void onApplicationEvent(EventTypeID et, XWord param = XWord()) = 0
function: 同步响应应用事件
parameters:
[i]EventTypeID et: 事件类型
[i] XWord param : 事件参数
return value: 无
virtual bool runGPUCalculation(const char * gcmd, const void * gin, void * gout) = 0
virtual void inform(const char * msg, bool bWarning = false) = 0
function: 向用户显示通知
parameters:
[i]const char * msg: 通知内容
[i] bool bWarning = false: 是否为警告
return value: 无
virtual void message(const char * info,…) = 0
function: 在消息对话框显示消息
parameters:
[i]const char * info: 格式化消息字符串
[i]…: 消息参数
return value: 无
virtual void error(ErrorCode e) = 0
function: 处理错误
parameters:
[i]ErrorCode e: 错误代码
return value: 无
virtual RunMode getRunMode() = 0
function: 获取框架运行模式
parameters: NULL
return value: 框架运行模式
virtual int askQuestion(const char * title,const char * q, bool bEnableCancel) =0
virtual int monitorProcess(const char * exe, const char * param, const char * title = 0, bool bSilent = false, const char * workdir = 0) = 0
virtual int startThread(const char * name, ThreadFunc func,XWord param, bool bAsync) = 0
virtual void quitThread(const char * name) = 0
function: 中止名为name的线程
parameters:
[i]const char * name: 线程名
return value: 无
virtual bool isThreadRunning(const char * name) = 0
virtual int startThreadProcess(ThreadData * tdata, const char * exe, LabelVarSection * param, ProcessOutputFunc outputFunc) = 0
virtual void notifyThreadEvent(ThreadData * tdata, EventTypeID et, XWord param = XWord(), bool bFlushImmediatly = false) = 0
function: 向线程事件序列添加事件消息
parameters:
[i]ThreadData * tdata: 线程上下文
[i] EventTypeID et: 事件类型
[i] XWord param = XWord(): 事件参数
[i] bool bFlushImmediatly = false) = 0: 是否即时发送
return value: 无
virtual void flushThreadEvents(ThreadData * tdata) = 0
function: 向线程发送事件队列中所有消息
parameters:
[i]ThreadData * tdata: 线程上下文
return value: 无
virtual void setPickType(TypeID type) = 0
function: 设置选择器的选择对象类型
parameters:
[i]TypeID type: 选择对象类型ID
return value: 无
virtual bool isDockVisible(TypeID dock) = 0
virtual void loadModule(const char * modules) = 0
function: 载入模块
parameters:
[i]const char * modules: 模块名,可导入多个模块,模块名之间以;分割
return value: 无
virtual ErrorCode executeScript(const char * script,const char * param, bool bCheckParam = false) = 0
virtual bool executeCommand(ICommand * cmd) = 0
virtual ErrorCode executeBatch(const char * batch_file) = 0
virtual void updateAction(ulong cid, bool bUpdateGroup = false, bool bUpdateEnable = false) = 0
function: 更新命令入口控件状态
parameters:
[i]ulong cid: 入口控件所对应的命令ID
[i] bool bUpdateGroup = false: 是否更新入口控件所属的组(如果已定义组)
[i] bool bUpdateEnable = false: 是否检查更新可用/不可用
return value: 无
virtual void setActionEnable(ulong cid, bool bEnable) = 0
virtual void refreshView() = 0
function: 更新当前文档的所有视图
parameters: NULL
return value: 无
virtual void previewDialog(const char * xml) = 0
function: 预览对话框
parameters:
[i]const char * xml: 对话框配置文件
return value: 无
virtual void updateTreeView(TreeNode * tItem, bool bRecursive = true) = 0
function: 更新对象树指定节点
parameters:
[i]TreeNode * tItem: 对象树节点
[i] bool bRecursive = true: 是否递归更新
return value: 无