近一段事件在研究eclipse,记录点滴,防止忘记
1.带调色板的GEF编辑器的拖拽
在调色板的ViewerProvider中定义拖拽源
viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));
在编辑器中定义目的地监听
_viewer.addDropTargetListener(new LocalSelectionDropTargetListener(_viewer));
_viewer.addDropTargetListener(new PDTemplateTransferDropTargetListener(_viewer));
_viewer.addDropTargetListener(new ResouceDropTargetListener(_viewer));
主要注意的是定义的源是PDTemplateTransferDropTargetListener类型的监听,他会自动判断是否是匹配的类型,所以其他的监听是不会执行的,他会自动区分类型,不是依靠的isEnable进行判断的。
2.拖拽到容器内的处理过程
在定义Editor的时候会根据textEditor的model取得DocumentEditPart,然后会设置EditPart的值(通过工厂取得)
在拖拽的过程中,取得EditPart,然后根据取得其对应的策略,通过策略取得对应的Command,然后执行Command
执行完成以后会调用postPostExecute更新执行结果
3.HTMLEditor(wtp中得控件),在初始化GraphicEditor的时候一定要先初始化TextEditor,他需要TextEditor的model设定GraphicEditor属性
4.调色板上拖拽图标的内容
主要采用扩展机制,如果定义了扩展的机制,就采用扩展机制的,如果没有定义,采用默认的。
5.所有拖拽的小图标都是TagToolPaletteEntry的对象
6.EditPart中得setContents,他是用来设置Viewer的内容,他包含二个方法,一个是
public void setContents(EditPart editpart) {
getRootEditPart().setContents(editpart);
}
另外一个是
public void setContents(Object contents) {
Assert.isTrue(getEditPartFactory() != null,
"An EditPartFactory is required to call setContents(Object)");//$NON-NLS-1$
setContents(getEditPartFactory().createEditPart(null, contents));
}
6.GEF退拽生成对象的原理
视图添加拖拽addDropTargetListener,添加的监听是个TemplateTransferDropTargetListener的子类,其中TemplateTransferDropTargetListener包含了一个方法getFactory是制定对象生成的工厂类。
实际拖拽过来如何判断需要那个工厂类,需要看TemplateTransferDropTargetListener中使用getFactory的方法
protected Request createTargetRequest() {
// Look at the data on templatetransfer.
// Create factory
CreateRequest request = new CreateRequest();
request.setFactory(getFactory(TemplateTransfer.getInstance()
.getTemplate()));
return request;
}
也就是说在生成的request中已经 包含了使用工厂类的类别,就可以根据拖拽对象的不同生成对应的对象。
7.排序的常量是PositionConstants
分享到:
相关推荐
资源名称:Eclipse开发学习笔记内容简介:学编程,再也不难了!《Eclipse开发学习笔记》独创:1、化“抽象”为“具体”独创源代码绘图写作方式,化复杂为简单,反璞归真。形象化地拆解高深理论、揭示编程奥秘、点拨...
Eclipse使用点滴技巧,非常方便的技巧
Eclipse开发学习笔记。感觉挺好的,就传上来给大家共享
eclipse 学习与体会,快速掌握!非常好的控件
eclipse学习资料
自己学习eclipse 的学习笔记,希望给刚刚学习eclipse的朋友一些帮助
eclipse 的学习资料方便以后的开发学习
用源码论述Eclipse学习体会
Eclipse插件开发学习笔记.pdf Eclipse插件开发学习笔记.pdf Eclipse插件开发学习笔记.pdf
Eclipse插件开发学习笔记 Eclipse插件开发学习笔记 Eclipse插件开发学习笔记
这是一个很好的eclipse学习教程,通过图文结合,介绍了eclipse的各种工具使用方法,有利于我们对eclipse的使用,是一个不错的学习教程。
Eclipse学习资料,免费的,看看是否适合你
eclipse工具的学习,对eclipse里面的功能与界面进行全面的介绍~~
Eclipse学习方法,代码,Eclipse的环境配置问题,,编写代码应该注意哪些问题。
《Eclipse插件开发学习笔记》PDF 高清版
Eclipse编程技术与实例,StudentSystem,booksystem,Eclipse调试方法入门.pdf,Eclipse学习笔记,MyEclipse6JavaEEDev
Eclipse学习笔记
Eclipse下WebService学习.doc