UI工厂中的自定义按钮实现与管理

需积分: 11 2 下载量 149 浏览量 更新于2024-08-18 收藏 3.02MB PPT 举报
"UI工厂介绍,涉及自定义按钮的创建与管理" UI工厂是用友软件股份有限公司基于NC-UAP开发的一套UI框架,它旨在优化UI开发,通过抽象出常见的UI元素并形成基类,提高了代码的可读性和复用性。UI工厂的核心特点是将常见的界面元素如单据模板、查询模板、打印模板等进行整合,提供了推荐的实现方式,使得开发者能更加高效地构建用户界面。 在UI工厂中,UI的状态管理是一个关键部分。UI状态包括OPINIT(初始)、OPEDIT(编辑)、OPADD(新增)和OPNOTEDIT(非编辑)等,这些状态对应着用户与界面交互的不同阶段。同时,数据相关状态则涉及FREE(自由)、COMMIT(提交)、CHECKPASS(审批通过)和NOPASS(审批未通过)等,这些状态反映了数据在系统中的流转情况。 对于按钮管理,UI工厂采用ButtonManager来集中处理。预定义了一系列常用的按钮,如新增、编辑、保存等,这些按钮的配置信息存储在ButtonVO对象中。若需自定义按钮,开发者需要遵循以下步骤: 1. **定义ID**: 为自定义按钮分配一个唯一的ID,这个ID应为整型且大于100,确保在整个系统中不与其他自定义按钮冲突。 2. **创建ButtonVO**: 实现ButtonVO类,定义自定义按钮的属性,如名称、图标、显示文本以及不同状态下的可用性策略。 3. **权限设置**: 如果自定义按钮只为特定集团私有,需设定所属权限,以控制访问权限。 4. **注册快捷键**: 如有需要,可以为自定义按钮注册快捷键,提升用户体验。 5. **Controller中的使用**: 在Controller层,通过自定义的ID来指定需要使用的自定义按钮。 6. **事件处理**: 在EventHandler中编写自定义按钮的事件处理逻辑,定义按钮被点击时的响应行为。 7. **重载UI类方法**: 最后,需要在UI类中重载`initPrivateButton`方法,以便在界面初始化时加载和配置自定义按钮。 此外,UI工厂还涉及到了BillUIBuffer的概念,这是一个线性缓冲区,主要用于存储和管理多张单据数据,减少不必要的后台查询。BillUIBuffer并不等同于MVC模式中的Model,它更像是一个数据缓冲,支持用户在前端操作单据而无需频繁与服务器交互。 总结来说,UI工厂通过规范化的组件和状态管理,简化了UI开发过程,特别是对按钮的自定义和管理,提供了清晰的实现路径,使得开发者能够更加专注地处理业务逻辑,提升软件的用户体验。