Toolbox的默认图表

时间:2015-04-26 08:04:33

标签: enterprise-architect

我有一个带有foo元素的自定义工具箱。

我希望foo在类图上为绿色,默认情况下在流程图上为红色。

为非UML类型添加多个构造型是不可能的(据我所知)。

是否可以创建2个工具箱 - 一个用于类图,一个用于流程图,指定配置文件中每个工具箱的默认图表?

2 个答案:

答案 0 :(得分:2)

不完全按照你描述的方式。

工具箱没有指定他们打开的图表,反之亦然:您创建自定义图表类型并将其与工具箱相关联。不同的自定义图表可能使用相同的自定义工具箱。

您可以创建两种自定义图表类型,一种用于类("逻辑"),另一种用于流程图("活动"),但如果您只是在获得之后相同的刻板元素(foo)在图表中以不同的方式显示,您不需要。

解决方案是为构造型创建形状脚本,该脚本检查图表类型并相应地更改颜色。可以使用diagram.type属性(对于基本UML图表类型)从形状脚本查询图表类型,或diagram.mdgtype(对于自定义图表类型,如果您已定义一个)。另一个答案表明,没有必要创建一个加载项,至少在EA 11中没有。

检查扩展UML模型下的帮助文件 - MDG技术SDK - 形状脚本 - 编写脚本 - 显示元素/连接器属性。

一个简单的脚本可能如下所示:

shape main {
    if (hasproperty("diagram.type", "Logical")) {
        setfillcolor(0, 255, 70);
    } else if (hasproperty("diagram.type", "Activity")) {
        setfillcolor(255, 87, 87);
    }
    drawnativeshape();
};

答案 1 :(得分:1)

没有。你需要有两种不同的刻板印象。目标图与元素无关。如果您希望元素在您使用它的图表类型上显示不同,则需要调整shape脚本,以便调用检测图表类型的加载项。

好吧,写下最后一句我不知道如何检测有问题元素所在的图表。需要调查。但除此之外 - 没有我知道的解决方案。

编辑:由于加载项只接收元素GUID,因此无法确定调用所在的图表。可能值得一个功能请求。但是,我们看到在下一个版本中实现的那些时间已经消失(超过10年)。

最后一个:模板包。我几乎没用过它们。也许他们根据图表/元素提供着色。

Edit2 :最后的手段EA_OnPostNewDiagramObject。抓住它,您就可以获得应用颜色所需的所有信息。

相关问题