项目

一般

简介

新增功能 #32

增加按照ribbon配置文件生成所有Command文件

王 绪伦大约一年 之前添加. 更新于 10 个月 之前.

状态:
已解决
优先级:
普通
指派给:
开始日期:
2024-03-12
计划完成日期:
% 完成:

100%

预期时间:

描述

1. 启动功能对话框,用户浏览选中ribbon文件,指定输出目录,指定获取文件标识的函数名(比如输入框直接输入“Document_Demo()”);
2. 根据ribbon文件中所有cid="<dir>/<name>.xml"形式的action,按照Command模板在指定目录下生成对应的Command文件,Command的文件标识按Document_Demo()获取,命令的标识符为<name>,命令类为Cmd<name>;
3. initWindow()函数应按照cid指定的路径给出对话框配置文件的路径;
void Cmd<name>::initWindow() {
m_pDlg->layoutBegin();
m_pDlg->loadFromXml(GetResourceFileDirPath("uisetting", "<dir>/<name>.xml"));
m_pDlg->layoutEnd();
}
4. CommandType getType() 统一返回Command_Dialog;
5. 命令的参数统一按照CmdParam作为成员变量给出:
CmdParam m_Param;
6. 其他必须包含的函数包括:
void onDataExchange(const char * diagXml);
bool checkContext();
void onControlEvent(const char * ctrlName, TypeID event = Event_Any);
bool checkContextParam(const TreeNode * targetNode, const TreeNode * fromNode = 0);
void setContextParam(const TreeNode * targetNode, const TreeNode * fromNode = 0);
ErrorCode execute();
const char * getName() const;
void setParam(const CmdParam *param);
CmdParam * getParam() { return &m_oParam; }
void exchangeScript(ParamList * param);
CommandType getType() { return Command_Dialog; }
void updateFrame();
void setEditItem(const XItem * pi);


文件

demo_ribbon.xml (386 Bytes) demo_ribbon.xml 示例ribbon配置文件 王 绪伦, 2024-03-12 14:23
cmd.png (113 KB) cmd.png 王 绪伦, 2024-07-16 16:24
cmd2.png (29.7 KB) cmd2.png 王 绪伦, 2024-07-16 16:56
#1

王 绪伦 更新于 大约一年 之前

  • 描述 已更新。 (diff)
#2

王 绪伦 更新于 大约一年 之前

该功能添加到src\tools\devkit下面;

#3

胡 鹤翔 更新于 大约一年 之前

  • 状态新建 变更为 进行中
#4

胡 鹤翔 更新于 大约一年 之前

  • 状态进行中 变更为 已解决
  • % 完成0 变更为 100
#5

王 绪伦 更新于 10 个月 之前

1. 生成的xml文件中如果ribbon有指定text,那么title按照text的值给定;
2. 添加强制生成选项,默认不强制生成,即在创建xml文件或者cmd文件之前检查文件是否存在,如已存在则不生成;如果用户指定强制生成,则不论文件是否存在都重新生成文件;

#6

胡 鹤翔 更新于 10 个月 之前

  • 状态反馈 变更为 已解决
  • % 完成90 变更为 100

导出 Atom PDF