`
liugang594
  • 浏览: 978346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GEF中一个模型的多层图的问题

    博客分类:
  • GEF
 
阅读更多

一般来说,我们在做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绘图的简单例子

    一个用GEF开发的绘图的简单例子,包含源码。

    GEF中文教程+代码

    dudu翻译的GEF中文教程,入门最佳资料。附每章代码。

    GEF 入门操作

    与 其他一些MVC编辑框架相比,GEF的一个主要设计目标是尽量减少模型和视图之间的依赖,好处是可以根据需要选择任意模型和视图的组合,而不必受开发框架 的局限(不过实际上还是很少有脱离Draw2D的实现)。

    GEF入门系列.rar

    GEF入门系列,八进制 的GEF入门系列教程, 由社区经作者授权后整理而成GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很...

    一个GEF的简单例子

    一个GEF的简单例子,简单的做了一下,包括源码。

    gef的入门例子(13个)

    gef helloworld的11个例子,每一个比前一个都有所加深,适合初学者

    GEF入门详解DOC文档

    GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很多,例如:UML类图编辑器、图形化XML编辑器、界面设计工具以及图形化...

    GEF 开发简单示例

    这是我参考了一些其他资料,自己写的一个GEF示例程序。 在这个demo中你可以看到以下的功能: 1. 往画布上添加多种节点 2. 节点之间的连线 3. 节点内容的编辑功能 4. 删除连线 5. 删除节点 6. 对节点的拖动以改变...

    GEF-ALL-3.2.2

    依赖:org.eclipse.gef***, org.eclipse.draw2d*** &lt;br&gt;Draw2D &lt;br&gt;Draw2D同样基于SWT,是一个轻量的图形库。Draw2D应用为GEF的View,但又不仅仅限于此。依赖:org.eclipse.draw2d*** 本软件GEF-ALL-3.2.2...

    GEF框架入门学习

    这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。

    GEF入门必读 GEF入门系列 GEF-whole-upload

    GEF入门必读 GEF入门系列 GEF-whole-upload 感谢八进制

    GEF 可用的6个demo

    GEF demo 示例

    GEF中属性页面的实现

    在GEF中property view 页面的实现!介绍了其实现的步骤方法!还结合了实例进行讲解!

    GEF入门实例代码2《Eclipse插件开发》中实例

    GEF入门实例代码2《Eclipse插件开发》中实例

    gef 转折线的相关方法实现和 GEF的API chm 格式

    gef 绘图折线的实现方法。 gef API chm 格式

    GEF 入门版中文教程 源码

    RCP GEF 入门教程,从法语班翻译过来的,自认为是比较全面细致的GEF入门教程,配套源码,很有学习价值!!!

    自己下的GEF资源打包

    我下的资源的打包,希望有帮助,包括:GEF_Tutorial,GEF实例,入门教程,GEF-whole-upload

    GEF 3.10 eclipse 插件

    GEF eclipse 插件

    GEF简易教程-学习GEF的入门教程

    GEF简易教程-学习GEF的入门教程,不错的gef入门教程

    GEF理解系列1

    GEF理解之第一部分,学习gef必备文档资料啊,值得下载

Global site tag (gtag.js) - Google Analytics