作者:
trufun1006 来源:
博客园 发布时间:2011-10-26 16:42 阅读:14 次
原文链接 [收藏]
下面这个整合案例来自http://code.google.com/p/gwt-html5-graph/
实际的运行案例:
Demo1(GEF Sample): http://euml.trufun.net/drawx/gef-sample/Gef_sample.html
源码:
1、在gwt.xml中加入对GEF的依赖:
<inherits name='GEF' />
2、按照GEF API,开发相应的editparts, figures, commands, editpolicies,actions,context menus,以及图形数据的序列化
3、整合GEF和GWT。
3.1)继承drawx提供的DiagramEditorWithPalette,如下:
import org.drawx.gef.sample.client.tool.example.model.CanvasModel;
import org.drawx.gef.sample.client.tool.example.model.MyConnectionModel;
import org.drawx.gef.sample.client.tool.example.model.OrangeModel;
import org.drawx.gef.ui.editor.DiagramEditorWithPalette;
import org.drawx.gef.ui.editor.ToolPalette;
import org.eclipse.gef.EditPartFactory;
import org.eclipse.gef.requests.CreationFactory;
import org.eclipse.swt.widgets.internal.menu.MenuManager;
import com.google.gwt.user.client.ui.Image;
public class MyDiagramEditor extends DiagramEditorWithPalette{
public MyDiagramEditor(boolean b) {
super(b);
}
@Override
public EditPartFactory getEditPartFactory() {
return new org.drawx.gef.sample.client.tool.example.editparts.MyEditPartFactory();
}
@Override
public Object getContents() {
return new CanvasModel();
}
@Override
public void initPalette(ToolPalette palette) {
palette.addCreationTool("Create Node", new Image(Images.INSTANCE.newModel().getURL()), new CreationFactory() {
public Object getNewObject() {
return new OrangeModel();
}
public Object getObjectType() {
return OrangeModel.class;
}
});
palette.addConnectionTool("Create Connection", new Image(Images.INSTANCE.newConnection().getURL()), new CreationFactory() {
public Object getNewObject() {
return new MyConnectionModel();
}
public Object getObjectType() {
return MyConnectionModel.class;
}
});
}
@Override
protected void doSave() {
}
@Override
protected void createAppActions() {
}
@Override
protected MenuManager getContextMenu() {
return new MyContextMenuProvider(this.getGraphicalViewer(), this
.getActionRegistry());
}
}
3.2)将diagram editor加入到WEB页面上
private void createTab1(TabLayoutPanel p) {
DiagramEditorWithPalette editor = new MyDiagramEditor(true);
p.add(editor.getWidget(), "Fill Canvas");
}
相关推荐
GEF入门实例代码2《Eclipse插件开发》中实例
eclipse GEF的官方教程,适合初学者
安装m2eclipse插件时会依赖gef插件和svn插件,压缩包内包含m2eclipse + gef + svn的全部插件安装包,可以直接离线安装,本人亲测,在Eclipse3.7下安装成功,可以新建Maven项目。 需要注意的是,在离线安装时,切记...
由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设计器、UML类图编辑器等等。
eclipse gef 插件 最新版本
Eclipse插件开发--gef开发指南与入门系列宝典打包下载。
Eclipse插件开发:GEF入门系列宝典
eclipse gef插件 绝对能用
eclipse 3.2下的gef,ve,gmf,经过自己的收集,把三个都收集齐了,一并传上,希望对大家有用
eclipse3.4的可视化开发GEF eclipse3.4的可视化开发GEF eclipse3.4的可视化开发GEF
eclipse插件开发框架GEF API文档 eclipse插件开发框架GEF API文档
eclipse gef,ve,emf图形界面插件下载 emf-sdo-runtime-2.2.0.zip GEF-runtime-3.2.zip VE-SDK-1.2.1.zip 安装方式:在eclipse目录下创建两个子目录myplugins和links,然后在myplugins目录下建三个子目录emf,...
开发eclipse插件,使用GEF的demo。开发组件,并用流程编辑器拖拽组件。最后解析成Java代码,然后打包成可执行jar。
本书系统地介绍了SWT、Draw2D、GEF、JET等与Eclipse插件开发相关的基础知识,并且以实际的开发案例来演示这些知识的实战性应用,通过对这些实际开发案例的学习,读者可以非常轻松地掌握Eclipse插件开发的技能,从而...
通过简单易懂的方式,介绍了Eclipse GEF 框架原理。对GEF开发有极大的好处/
Eclipse的GEF插件,支持J2SE手动添加控件!
对gef中相关内容的描述,这里面我只是个人的理解,描述gef的最基本的功能,若需深入研究,可以从网上查询更多资料,我个人也在继续研究中。
Eclipse的图形编辑框架GEF的参考API,chm格式
eclipse图形开发必备插件,可以 用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设 计器、UML类图编辑器等等
eclipse插件 GEF-SDK-3.4.0.zip