I'm creating a new UML profile, in which I extend an Archimate2 Node to create a new stereotype.
Normally, a bare ArchiMate2 Node renders with a little cube as a decoration in the top right of its image. I'm sure it's very pretty, if you like that kind of thing.
Frankly, I don't like it. It causes my left eye to twitch with rage. So, in my extended version, I no longer want that decoration to be rendered. To that end, I've added a shape script, as follows (where AwesomeNode.emf" is an imported image):
1 shape main{
2 image("AwesomeNode.emf", 0, 0, 100, 100);
3 }
4
5 shape label{
6 setOrigin("SW", 0, 0);
7 println("#NAME#");
8 }
9
10 decoration KillTheCube{
11 }
That renders my little EMF nicely, and adds a label. However, unsurprisingly, it doesn't in fact kill the cube.
So, what am I doing wrong? How do I do it properly?
Perhaps, If the cube in the ArchiMate2 Node type is being rendered by a decoration method which needs to be overridden, then the name of the decoration function matters. Is that how it works? If so, how would I discover the required name? Otherwise, how do I get rid of the little cube?
I'm rapidly running out of eye-twitch pills, so I'll happily send a Mars Bar to anyone who can help me!