`

Eclipse Forms开发笔记

阅读更多
·eclipse forms所需要的包要通过mainfest文件来加载,而不是传统的class path来加载
·在emf中,如果出现model, edit, editor工程之间引用不到的错误,一般是mainfest文件runtime设置的问题
·form中的内容显示不出来,有可能是plugin.xml文件中的view设置有问题,比如对应的class设置不正确
·使用FormToolkit创建的form组件会采用form的背景色(一般为白色),采用swt方式创建的组件会带有window的背景色(一般为灰色)
·使用toolkit.paintBordersFor(form.getBody());为当前parent内,toolkit所创建的widget添加边框。如果widget已经设置了SWT.BORDER,则不会再为其添加边框。为了让text和button显示1个像素的边框,除了在创建完成之后调用前面这句之外,还需要在创建text的时候,这样写:Text text = toolkit.createText(form.getBody(), "");
·editor和view之间的区别:editor只能位于eclipse中的一个区域,而view则包围在editor区域的周围,当然它可以随处放置,而editor则不可以
·ManagedForm封装了form元素的生命周期管理与各个form元素之间的事件通知ManagedForm本身并不是一个form,他包含了一个form并且可以注册IFormPart。可以将ManagedForm看作是'viewers',form和managed form之间的关系就好像Table与TableViewer的关系一样。
·一个编辑器由EditorPart和EditorInput两部分组成,其中EditorInput主要是用来从Model中取数据的。
·要用一个viewer来显示数据,必须使用两个类:ContentProvidor和LabelProvidor,前者通过使用getElements()来从EditorInput中取出要显示的所有model集合,后者通过getText()方法从每一个model中取得用于viewer中显示的数据
·eclipse forms的结构:首先最外面的是一个FormEditor,因为FormEditor是继承MultiPageEditorPart的,因此需要实现一个FormPage,然后加到FormEditor中。而FormPage中要做的工作则委托给MasterDetailsBlock来处理,Block负责创建MasterPart,ToolBarAction以及注册与每一个master选项相关的DetailPage。为了在Block上添加MasterPage,还需要在FormPage中创建section容器,然后以section为容器,创建client容器,最终Master的内容(可能是一个TableViewer或者是一个TreeViewer)将在client上创建
·采用link方式安装emf,可能找不到源代码,这时需要使用手工将jar包跟source关联起来,做法是在window->perference->plug-in development->target platform->source code loaction将emf的src加进来
分享到:
评论
1 楼 imu2008 2012-09-10  
完全是总结加翻译啊~必须接触了一些才能明白~建议按照流程先自己做一遍之后在回来看这些总结,可能会比较好些。

相关推荐

Global site tag (gtag.js) - Google Analytics