自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 GMF中,删除节点和连线的实现

在GMF中,有时我们需要programmatically删除节点或连线,该如何实现呢?       由于GMF框架用的是MVC模式,所以在删除节点或连线的时候,需要删除该节点或连线对应的view和model。有了这个概念后,删除节点和连线便简单了。       先介绍删除连线的方法。       首先,我们得获得org.eclipse.gmf.runtime.notatio

2012-07-15 16:45:38 1000

原创 GMF中,如何给属性排序

之前搜到一篇《GEF 给PropertySheetPage设置属性排序功能》的博客,如何将这种方法移植到GMF中呢?可以如下做:     首先,新建一个类MyPropertySheetPage,继承至PropertySheetPage。     public class MyPropertySheetPage extends PropertySheetPage { @

2012-06-29 09:53:01 999 1

原创 GMF中,如何给节点的输入和输出赋值

图1  ecore模型图2  实例        在GMF中,将某个连接线(如上图连线1)指向某个节点(如图2 b节点)后,此节点b的输入便是连线1,但GMF默认不会自动给此节点b的incomings赋值(为连线1)。同理,也不会对此节点的输出(outcomings)赋值(为连线2)。如何解决这个问题呢?       很简单,这么做就可以了:       找

2012-06-14 17:43:24 827

原创 GMF中,禁止delete from diagram

在GMF中,有个很烦人的东西,就是delete from diagram。delete from diagram的意思是只在视图中删除,而并不删除它对应的model。因此,当你delete from diagram后,图元在图中暂时消失了,但再次打开此图时,这个图元仍然存在。    怎么解决禁止delete from diagram的问题呢?    首先:修改DiagramEdit

2012-06-13 16:46:06 682

原创 GMF中,自动画连接线

忘记将自动画连接线的代码贴出来了,特此补一补:       private void drawLink(ModuleEditPart sourceModuleEditPart, ModuleEditPart targetModuleEditPart) {               IElementType type = ModuleElementTypes.Link_3001; // 连

2012-06-08 11:29:08 792

原创 GMF中,如何不打开editor保存图片

之前的博客介绍了将当前editor保存为图片的方法。但由于项目里的需求有变,需要在不打开editor的情况下,通过图文件保存图片。由于保存图片的操作必须获得diagram的editpart才能保存,而目前已知的获取editpart的方法只有先打开editor才能获得。那还有其他办法吗?           答案是有的。GMF保存图片对应CopyToImageUtil这个类,这个类里有个方法:c

2012-05-14 21:53:36 968 1

原创 eclipse中,将外部文件挂接到当前工程中以及programmatically更新视图

在我的项目中,有这样一个需求:要求在project explorer(CNF视图)中显示一个非workspace空间中的文件(即这些文件放在一个缓存里)。我们可以通过创建链接将文件给链接到当前工程中。但如果在这个链接文件的父目录里新增加了一些文件,如何将这些文件给自动挂接到project explorer中呢?         我们可以这样创建一个链接文件夹,然后文件夹下面的文件便可以在pro

2012-04-13 18:34:59 1470 2

原创 GMF的保存图片代码

GMF有提供保存图片的功能,但有时我们想自己在其他地方添加菜单,然后调用GMF的保存图片的代码,实现保存图片的功能。可这样做:          CopyToImageDialog dialog = new CopyToImageDialog(Display.getCurrent().getActiveShell(), path, fileName);          if (d

2012-03-22 21:39:03 571

原创 GMF中,如何不打开editor得到此editor的模型对象

在前面的博客中,我介绍了一些如何获得activie editor里面图元属性的方法。         但如果我们要进行一些比较高级的定制,比如需要分析每个图与每个图之间、或者每个图中的图元与另一个图中的图元有什么关系,则这时我们便会遇到一个麻烦:如何不打开editor而通过此editor对应的文件得到此editor的模型对象(可以通过此模型对象获得diagram的属性,比如图的name,aut

2012-02-29 18:13:42 793

原创 GMF中,图元属性垂直居中布局

童鞋们,要获得以下效果,该如何做呢?                      按如下步骤即可:                    看图中的Grid Layout 1以及Grid Layout Data true,用到了网格布局的方法。         第一个Grid Layout Data true的属性如下设置:                 第二个G

2012-02-26 22:30:26 514

原创 GMF中,创建向导页

创建向导页很简单,直接new一个GMF生成的XXXCreateWizard就行了          TestCreationWizard creationwizard = new TestCreationWizard();          creationwizard .init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY);

2012-02-26 21:51:50 405

原创 GMF中,自动创建图元(create nodes programmatically)

以下是创建图元的代码:            IElementType type = XXXElementTypes.Xxxx_1001 ; //要创建的图元对象的IElementType            CreateViewRequest createViewRequest= CreateViewRequestFactory.getCreateShapeRequest(type

2012-02-26 21:44:22 1126 6

原创 GMF中,由xxxEditPart获得模型对象的方法的方法

其实在前面博客中已提及一部分,在此做个整理:          法1:       XXXImpl  xxxImpl = xxxEditPart.resolveSemanticElement();//此方法比较简便,一行代码便可以了         法2:         View view = (View) xxxEditPart.getModel();         XX

2012-02-26 21:14:42 505

原创 GMF中,编辑图元属性的方法

GMF中,经常需要修改图元属性。如果我们直接通过XXXImpl.setXXX();这种方法设置的话,运行后会报错,这是因为在GMF中,必须要在写事务中才能修改资源属性(这里的资源指真正存到图文件里的对象)。         首先要获得某个图元的EditPart,然后将其转换为此图元的语义模型,之后便可以进行图元属性的修改了:         XXXImpl  xxxImpl = XXXEd

2012-02-26 20:58:14 1483

原创 GMF中,获得当前editor的EditPart

很多时候,我们需要获得当前editor的EditPart,以便进行诸如在当前editor中自动创建图元,删除图元以及获得图元属性,修改图元属性之类的操作。         在GMF中,我们可以如下获得当前editor的EditPart:        XXXDiagramEditor  xxxDiagramEditor= (XXXEditor) PlatformUI.getWorkbenc

2012-02-26 20:22:42 1161

原创 GMF提示Can't find genClass for class '...' in package ...model的解决办法

今天在生成Gen Model时,碰到Can't find genClass for class '...' in package ...model的问题,原因是genmodel是invalid或者old了,解决办法如下:         首先,找到*.gmfmap,右键单击Create generator model..如下图:点击下一步,直到出现以下对话框:点

2011-12-23 15:00:54 682

深入GMF/EMF/GEF

主要是对自己做的项目的一些总结,包括如何自动添加图元、删除图元,建立连线,获得编辑器的EditPart,不打开编辑器,获取编辑器的EditPart,属性居中,自动保存图片等功能的实现。另外还有一些参考资料

2013-11-08

程序员面试宝典

面试时必备的参考资料,包括面试时重点考查的知识点以及大公司笔试面试题

2011-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除