随笔分类 -  RCP应用 IntelliFMEA中项目编辑器的开发记录

原有的DataObjectEditor虽然具有一定的通用性,但是界面布局不灵活,扩展的机制有待重新考虑,JFace的数据绑定的效率也不高。因此,可能需要重大的改造。 在IntelliFMEA中,没有使用原有的通用DataObjectEditor 而是重新开发了简易的Editor。
FormEditor 开发记录6 最后一步,FormEditor持久化
摘要:前面的开发基本已经完成了。接下来的工作是使得Editor能够持久化到本地。在下一次启动时,能够自动打开原来已经打开的Editor. 第一步:将EditorInput持久化让EditInput实现IPersistableElement,并且在getPersistable()返回this.代码Code highlighting produced by Actipro CodeHighlighter (... 阅读全文
posted @ 2009-12-03 13:54 钟华 阅读(1204) 评论(0) 推荐(0) 编辑
FormEditor 开发记录5 根据状态和状态的变化 设置只读
摘要:不是所有的记录打开后都可以进行修改的。1.当项目处于完成和终止的状态是不能修改的。2.暂时不考虑其他状态是否应该禁止修改。3.其他视图改变了项目状态时,是否可以修改需要重新设置。4.如果项目已经被修改,而且状态改变为只读时,需要提示是否保存修改 解决方法:1. 设置一个setReadOnly(boolean readonly)方法,控制所有需要控制是否只读的控件2. 侦听项目数据的改变,如果发生状... 阅读全文
posted @ 2009-12-02 18:03 钟华 阅读(467) 评论(0) 推荐(0) 编辑
FormEditor 开发记录4 界面完成
摘要:界面已经基本完成,其中的附件功能直接用了过去已经写好的文件管理类的控件接下来的工作是完成7个超链接的功能:1. 点击产品名称显示产品编辑器 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicclassOpenProductLinkexte... 阅读全文
posted @ 2009-12-02 11:19 钟华 阅读(587) 评论(0) 推荐(0) 编辑
FormEditor 开发记录3 setInput()
摘要:为FormEditor设置数据,因为我们的编辑器不是打开本地文件的,而是读取数据库的一组(Master-Detail)数据。打开这条Master的数据后,需要为界面加载这些数据。一般的做法有两种,其一是,用JfaceDataBinding 绑定到 Master模型,这样界面的修改和保存的时候都是直接操纵了Master模型。另外一种就是写一个setInput()的方法,直接加载这些数据。我并不认为J... 阅读全文
posted @ 2009-11-27 14:42 钟华 阅读(519) 评论(0) 推荐(0) 编辑
FormEditor 开发记录2 布局
摘要:接下来考虑实现第一个页面——计划页面以往开发过的LazyDTO(保存来源于数据库的一条记录的类)的通用编辑器,由于界面太过于死板,不能符合现在的需求。考虑的内容:a. 布局b. 数据绑定(以前直接用jface databinding, 用起来麻烦,毫无好感)要考虑input传进来的LazyDTO已经被很多其他的部件侦听了,所以,LazyDTO的缺省setValue的方法是不... 阅读全文
posted @ 2009-11-25 17:26 钟华 阅读(1396) 评论(0) 推荐(0) 编辑
FormEditor 开发记录1 打开一个多页编辑器
摘要:1. 打开编辑器的Command[代码]2. 做一个editorinput,首先不考虑如何持久化[代码]3. 做一个Editor,直接用FormEditor[代码]tips:FormEditor在init方法中是不会读取IEditorInput的getName()以及getImage()方法来设置编辑器的Title和图标的。不知道为什么?需要override init方法,显式地加上setPart... 阅读全文
posted @ 2009-11-25 16:35 钟华 阅读(1624) 评论(2) 推荐(0) 编辑