# DuiLib_DuiEditor **Repository Path**: gitnow/DuiLib_DuiEditor ## Basic Information - **Project Name**: DuiLib_DuiEditor - **Description**: DuiLib界面设计器 - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2020-03-07 - **Last Updated**: 2024-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 使用DuiEditor编辑界面的前提是, 你要会手写. 比如DuiEditor并不会禁止在Window下面直接插入一个List. 由于duilib有许多的个人维护版本, 为了更大的兼容, 设计器从duilib.xml载入控件属性. 需要给设计器增加新控件的话,只需要编辑duilib.xml就可以. 如果一个控件在duilib.xml定义, 但界面库没定义, 设计器依然可以编辑属性, 但无法预览. 1, 控件的默认属性float为false, 非float控件的pos.left和pos.top总是为0, 不要用鼠标直接拖拽非float控件的位置. 这是duilib的布局特点决定的. 2, 关于pos,width,height属性值的冗余, 实际上duilib代码里面, width和height属性就是冗余的. 实在纠结这个的话, 非float控件不要用鼠标或键盘方向键调准位置大小,直接在属性面板中设置pos的值. 毕竟float控件用的很少. 3, 自定义控件的使用, 插入CustomControl时,修改类名. 4, DuiEditor附带一个xml编辑页面, 与NodePad++等专业工具比起来, 只有一个小小的优点, 实现了简单的语法提示. 我是经常会把VerticalLayout和HorizontalLayout写错的人. ^_^ 5, 建议直接在面板中修改属性, 而不是用鼠标拖动位置,改变大小等等. 6, 软件可能有时候会崩溃, 随时保存文件. 7, 完善绝对定位控件的对齐大小等等的设置. 8, 类似于MFC编辑对话框资源, 直接输入文本设置控件的text. 2017-07-06 1, 测试窗体使用新建进程的方式, 设计器输出页面有测试窗体的事件显示. 有助于了解控件的触发事件. DuiPreviewer.exe是设计器带的预览程序, 支持命令行. 如: DuiPreviewer.exe "-f c:\skin.xml". 另外, 可以设置附加测试程序. 2, 完善XML编辑页面, 看起来有点像nodepad++了. 增加代码折叠、颜色显示、查找替换、文件信息行列位置. 保存文件时XML解析错误提示,错误提示精确到行. 3, 增加选项设置, 载入文档时控件树展开的层数. 4, 增加样式表定义. 5, 增加控件视图中TabLayout右键菜单, 可以快速切换页面. 6, 增加自定义控件, 自定义控件有个custombasedfrom属性, 仅仅在设计器中使用. 表示父类名,设计器只创建它的父类。 如果没有这个属性,设计器不创建控件。 7, 增加选项直接插入float控件 8, 增加xml注释解析. 可以在布局文件中写入注释内容了. 9, 其他小修改等等. 2017-06-26 1, 控件属性字段的位置, 强制按照duilib.xml中属性定义的顺序. 2, 非float控件的pos.left和pos.top设置为0. 3, 修改了图片编辑页面. 4, 每次修改控件属性, 过滤一次默认属性值, 防止属性冗余. 原先是保存文件时才过滤. 2018-08-24 1, ui界面显示使用子窗口的方式,使设计器更加脱离库 2,优化编辑代码页面。 3, 增加设计界面显示UI效果,比如鼠标悬停点击等。 4,重新核对属性文件duilib.xml 目前已知的问题: 1, undo redo无法完美还原,因为没有保存ItemIndex. 2, default style font 这类定义设计器没有做即时更新,修改后,需要重新打开文件. 另外,如果share为true设计器关闭之前一直有效,因为这是CPaintManager的静态函数设置的,设计器没有清理这类资源。 2019-02-05 1, 增加界面模板 2019-03-01 1, 新增 按住Ctrl键, 移动控件, 是为复制控件 2, 切换文档时, 更新属性窗口