0

我是 Eclipse GMF 的新手,我能够成功完成思维导图教程。之后,我开始使用它开发图形编辑器。我使用 XML 模式生成了域模型。现在我需要开发图形、工具和映射定义模型。但我对它了解不多。我在哪里可以很好地了解它们?

4

3 回答 3

2

您可以使用此过程使用 GMF 制作功能图形编辑器。

我将使用以下 Eclipse 包使一切变得简单

工具名称:EuGENia,它是 Epsilon Eclipse 软件包的一部分,可在@www.eclipse.org/epsilon

第 1 步: - 创建一个空的 EMF 项目(我希望你可能知道这一点)

第 2 步: - 按照此链接上的语法在模型文件夹中创建一个 file_name.emf 文件

第 3 步: - 右键单击​​ .emf 文件,然后单击“生成 Ecore 模型”。这将生成 .ecore 文件

第 4 步: - 使用 .ecore 文件,您可以生成 .genmodel 文件

第 5 步: - 从这里开始有 2 种方法

选项 1: - 右键单击​​ .ecore 文件,然后单击 Eugenia 类别下的“生成 GMF 编辑器”。

选项 2: - 请按照以下步骤操作

选项 2,第 1 步: - 右键单击​​ .ecore 文件,然后单击 Eugenia 类别下的“生成 GMF 工具、图形和地图模型”。

选项 2,第 2 步: - 在 eclipse 中打开 GMF 仪表板视图,如此链接所示,然后将上述所有生成的文件作为 GMF 仪表板的输入,然后您可以生成所需的编辑器。

解释: -

正如 Protostome 所说,GMF 缺乏适当的文档,所以我不得不寻找让事情为我工作的方法来完成我的工具。因此,经过长时间的搜索,我找到了我在步骤 1 中给出的链接,它解决了我的很多问题。我将向您解释 EuGENia 框架对 *.emf 文件的作用。

*.emf 基本上是一个以文本方式描述 Ecore 模型的文件。Emfatic 是此工具使用的背景技术。EuGENia 框架利用此文件并将其扩展为将 GMF 相关属性作为属性添加到我们使用 Emfatic 语法编写的 ecore 模型中(使用可以在该链接中查看 EuGENia 支持的各种属性)。

这完成了大部分基础工作,为我们提供了一个有效的 GMF 编辑器。

注意: - 虽然这给了我们一个很好的开始,但我发现很难做一些事情,比如根据一些路由算法在图表上排列图像等(例如,当我想显示父子表关系时,这个工具会对齐所有内容无论是垂直还是水平,我都无法改变这种行为)。

这是我与 GMF 编辑的经验,如果您需要进一步的帮助或对我的解释有任何疑问,请告诉我

于 2013-01-19T12:20:07.283 回答
2

GMF 框架确实缺乏其他类似库所拥有的适当文档(例如 EMF、JFace 等)。当我开始使用 GMF 时(不久前),我主要阅读GMF 论坛。但是,eclipse 建模项目书有 2-3 章专门处理 GMF。我发现它们非常乏味、乏味且过于详细。它可以更多地作为参考,而不是作为教程......

于 2011-05-11T10:52:32.640 回答
0

在完成思维导图教程后,您可以做的最好的事情是,找出这些向导真正为 mindMap.diagram 生成 java 代码的工作。这是我真正理解的。

mindmap.ecore - 定义我们需要实现的 java 类。

mindmap.genmodel - 用于生成我们在 .ecore 文件中定义的 java 模型代码。

现在我们有了模型对象的java代码。接下来需要的是代表这些对象的图像。使用图形定义模型向导为它们生成图形。mindmap.gmfgraph - 模型对象的图形(节点、链接)。尝试更改其属性值。

接下来我们需要定义工具托盘中应该显示什么对象。对于该工具定义模型向导使用。mindmap.gmftool - 使用 .ecore 文件选择应该在托盘中的对象。

下一个重要的是要很好地理解。在这里,我们将生成的 java 模型对象连接到其图形(在 .gmfgraph 中生成)、工具托盘(在 .gmftool 中定义)。几次检查它的属性值。mindmap.gmfmap - 地图对象定义及其视图

然后我们可以使用 create mindmap.gmfgen 进行代码生成。生成的代码将在具有新思维导图模型的新 Eclipse 模型中运行。

于 2013-08-10T14:49:33.597 回答