一般来说,我们在做GEF的时候,通常是一个模型对应一个图,这个图例如就是简单的通过继承Figure得来的。
也有可能我们需要的图比较复杂,需要通过多个图的组合来得到一个模型的图。举个最简单的使用:
假如我们希望模型A的图是这个样子:有一个title区域和一个body区域,其中body区域是可以滚动的,如下:
figure 1
那么简单的,可以有一个大图,大图的clientArea区域是一个ScrollPane,然后在ScrollPane里就是body的内容。
假设A对应的图是A_Figure,它的body是A_BodyFigure;A对应的EditPart是A_EditPart,那么在A_EditPart的getFigure()方法里,应该返回的是A_Figure。
但是实际上剩下的操作都是在A_BodyFigure上进行,例如,这些<unnamed>子图是加在A_BodyFigure上的。
所以此时需要重写EditPart的另一个方法:
public IFigure getContentPane()
这个方法返回用来添加子图形的图形。默认情况下就是返回getFigure()方法:
/**
* If the children's Figures should be
* @see GraphicalEditPart#getContentPane()
*/
public IFigure getContentPane() {
return getFigure();
}
所以如果要得到A_BodyFigure,大致可以如下实现:
@Override
public IFigure getContentPane() {
ScrollPane child = (ScrollPane) getFigure().getChildren().get(0);
A_BodyFigure contents = (A_BodyFigure)child.getContents();
return contents;
}
然后剩下要做的就是谨慎区分什么时候调用getFigure()方法,什么时候调用getContentPane()方法。
- 大小: 4.3 KB
分享到:
相关推荐
一个用GEF开发的绘图的简单例子,包含源码。
dudu翻译的GEF中文教程,入门最佳资料。附每章代码。
与 其他一些MVC编辑框架相比,GEF的一个主要设计目标是尽量减少模型和视图之间的依赖,好处是可以根据需要选择任意模型和视图的组合,而不必受开发框架 的局限(不过实际上还是很少有脱离Draw2D的实现)。
GEF入门系列,八进制 的GEF入门系列教程, 由社区经作者授权后整理而成GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很...
一个GEF的简单例子,简单的做了一下,包括源码。
gef helloworld的11个例子,每一个比前一个都有所加深,适合初学者
GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很多,例如:UML类图编辑器、图形化XML编辑器、界面设计工具以及图形化...
这是我参考了一些其他资料,自己写的一个GEF示例程序。 在这个demo中你可以看到以下的功能: 1. 往画布上添加多种节点 2. 节点之间的连线 3. 节点内容的编辑功能 4. 删除连线 5. 删除节点 6. 对节点的拖动以改变...
依赖:org.eclipse.gef***, org.eclipse.draw2d*** <br>Draw2D <br>Draw2D同样基于SWT,是一个轻量的图形库。Draw2D应用为GEF的View,但又不仅仅限于此。依赖:org.eclipse.draw2d*** 本软件GEF-ALL-3.2.2...
这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。
GEF入门必读 GEF入门系列 GEF-whole-upload 感谢八进制
GEF demo 示例
在GEF中property view 页面的实现!介绍了其实现的步骤方法!还结合了实例进行讲解!
GEF入门实例代码2《Eclipse插件开发》中实例
gef 绘图折线的实现方法。 gef API chm 格式
RCP GEF 入门教程,从法语班翻译过来的,自认为是比较全面细致的GEF入门教程,配套源码,很有学习价值!!!
我下的资源的打包,希望有帮助,包括:GEF_Tutorial,GEF实例,入门教程,GEF-whole-upload
GEF eclipse 插件
GEF简易教程-学习GEF的入门教程,不错的gef入门教程
GEF理解之第一部分,学习gef必备文档资料啊,值得下载