- 浏览: 989706 次
- 性别:
- 来自: 北京
最新评论
-
运乃强谦:
老哥,你确定这个wsdl 地址 可以访问?
[CXF] Server与Client实现方式五:HTTPS -
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
[CXF] Server与Client实现方式四:JMS -
dengmiao:
JAXB学习三 (验证) -
panamera:
你好。可以提供maven pom配置是怎么配置的?不知道你使用 ...
[CXF] Server与Client实现方式四:JMS -
u010221220:
请问楼主一二三部分的代码都应该放在哪个函数体中。
使用JDI监听Java程序运行
文章列表
GEF理解系列六(1)
- 博客分类:
- GEF
这一节我们主要讲结点和连接的删除,另外就是连接的重定向。
一、连接线的选中与重定向
因为和系列五还有点扯,所以先讲一下连接的重定向。
在上一节中,我们创建了一个用来新建连接的Policy:HelloWorldGraphicalNodeEditPolicy,它还有两个方法在上一节中一直没有提到:
@Override
protected Command getReconnectSourceCommand(ReconnectRequest request) {
// TODO Auto-generated method stub ...
GEF理解系列五(2)
- 博客分类:
- GEF
二、新建连接模型
新建连接模型,过程大同小异。此时需要在结点模型上安装Policy,Policy的类型为:GraphicalNodeEditPolicy。
在HelloWorldEditPart的createEditPolicies()方法里追加:
installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new HelloWorldGraphicalNodeEditPolicy());
其中HelloWorldGraphicalNodeEditPolicy是我们的Policy实现类。还是一样,先完成Command,再回过头来完成Pol ...
GEF理解系列五(1)
- 博客分类:
- GEF
到目前为止,我们已经有了一些模型和一些调色析工具箱了。
但是我们的工具箱还不能真正的创建出新的模型来。这一节我们就要实现创建模型操作。
一、新建模型结点
首先我们看一下创建结点模型操作。以我们HelloWorldModel为例。每个HelloWorldModel只有加到了作为Editor的content的DiagramRootContent对象上才能被显示出来。因此,我们要想再追加显示一个HelloWorldModel对象,实际上就是要给这个content对象加一个HelloWorldModel子模型。所以我们可以得出:这里的操作是安放在content模型对象上的,也就是:Diagra ...
GEF理解系列四(2)
- 博客分类:
- GEF
二、添加调色板
到现在为止,我们完成的都是静态创建模型。还没动态创建过。要动态创建就要用到调色板了。所以现在是时候添加调色板元素了。
要添加调色板,我们就要回到Editor类里,看Editor中默认要实现的另一个方法:getPaletteRoot()。
这个方法就是用来完成调色板内容的。这个没什么可以多讲的。这里直接给出例子:
@Override
protected PaletteRoot getPaletteRoot() {
PaletteRoot root = new PaletteRoot();
在开始之前,我们先讲一点预备的(我自己的理解,如果有错不能怪我)。
1. GEF中,一个连接线模型要成功创建,则这个模型必须有个源和目标。大家可以试一下连接一个源,再把目的随便在某个点一下,线是不会出来的(当然如果任务一个点都可以是目标的话,那就另论了)。
2. GEF中,一个连接线模型即使已经被附着到了源和目的上,也不一定会被显示出来。这就要提到AbstractGraphicalEditPart的两个方法:getModelSourceConnections()和getModelTargetConnections()。在前面讲getModelChildren()方法时 ...
经过以上步骤,我们已经有办法显示多个图形了。还是重提一下:Editor的初始状态由initializeGraphicalViewer()方法决定。不过在我们已经完成的过程,我们会发现,初始状态,也是最终状态,我们甚至不能移动任何一个图,当然了也 ...
系列一中,我们完成了一个MVC结构,并初步构造了一个Editor,不过到现在Editor里什么东西都还没有,这节中我们要给它加一点东西。
一、配置和初始化Editor
要想让Editor真正开始工作,我们就需要做一些基础工作了。我们可以看到,当我们写了一个继承自GraphicalEditorWithPalette类的editor时,默认有几个方法需要实现。其中有一个方法:initializeGraphicalViewer()。看名字就知道这是一个用来初始化editor的方法。比如说editor一打开有什么内容等等就是在这里做的,我们可以给它加一个HelloWorldModel。另外,我们在系 ...
这两天又重新看了一下GEF。现在理解起来感觉比以前要容易的多了。这里就把一些心得整理一下,写了一个系列,以期与大家共同探讨。
一、创建Editor
一般来说GEF都是用来实现一个Editor的。因此这里我也以Editor为例来说明。首先要做的一点就是实现一个Editor的扩展。具体怎么实现这里就不讨论,不明白的可以去找一个关于Eclipse插件开发方面的文章看看就知道了。
可以有两种运行方式:一个种是插件方式;一种是RCP方式。具体到Editor本身来说,在这两种实现方式上运行的效果都是一样的。因此在后面的过程中,我们就忽略具体的运行方式,根据自己的喜好选择。
...