【问题标题】:One EditPart for all model views (in GMF/GEF)一个适用于所有模型视图的 EditPart(在 GMF/GEF 中)
【发布时间】:2009-06-03 18:26:21
【问题描述】:

我们正致力于创建基于 GMF 框架和工具的建模工具。我们要求允许用户在运行时添加视图(图形)并在他们的图表中使用它们。我们将使用 SVG 文件来表示图形。

在这种情况下,EditParts 和其他 GEF 相关类的正确结构是什么?我们正在考虑实现单个 GEF EditPart 类,该类将基于模型中存在的参数(SVG 文件的路径)创建适当的图形。到目前为止,它似乎没有工作。

必须有人以前已经做过类似的事情。到目前为止,谷歌搜索和 Eclipse 论坛都没有帮助...

【问题讨论】:

    标签: eclipse-gef eclipse-gmf


    【解决方案1】:

    我们找到了一个(部分)解决方案。我们有一个元素,根据参数我们在其中创建一个子图形,它使用 SVG 文件(基于参数)。

    在Figure的构造函数中调用如下测试代码:

    ScalableImageFigure svg;网址网址; 如果(类型 == 1){ 网址 = ArchitectureStudioDiagramEditorPlugin.getInstance().getBundle().getEntry( "图标" + IPath.SEPARATOR + "shadow-box.svg"); } 其他 { 网址 = ArchitectureStudioDiagramEditorPlugin.getInstance().getBundle().getEntry( "图标" + IPath.SEPARATOR + "star.svg"); } SVG = 新的 ScalableImageFigure(RenderedImageFactory.getInstance(url), 真的,真的,真的);

      this.add(svg);
    

    现在我们需要弄清楚如何在 Palette 中拥有多个元素。

    【讨论】:

      【解决方案2】:

      正确的方法是在 figure 和 editpart 之间进行一对一的映射。绘画任务也应该留给人物。图片应该如何绘制,逻辑必须在图形内部而不是在编辑部分。

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2017-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多