[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[News.eclipse.technology.gmf] Re: Semantical container != Graphical container
|
Hello!
Dmitry Stadnik schrieb:
Hello!
Note is a pure design element and it's quite different. Basically
you have to patch two things:
1. Container node canonical edit policy: modify
getSemanticChildrenList() to use another container (it's parent I guess;
that corresponds to diagram element; I assume that child node is stored
in diagram element).
2. Container node item semantic edit policy: in generated
CreateElementCommand modify getEClassToEdit() and getElementToEdit() to
provide another container info (diagram element instead of container
element).
In gmfmap model you should define structure that follows graphical
definition; in container node mapping there should be a ChildReference
to the child node and child node mapping within it. ContainmentFeature
of ChildReference could be written directly in text editor (ui filters
it out since it's not available amongst container node features).
Validation also will complain so you have to ignore it (((
I have tried your approach and now I am able to add an element to
another diagram element than the diagram element corresponding to it's
semantical container. But now I have a different problem:
On top level I have the diagram canvas (corresponding to semantical
element A). A references Elements of type B and C. Furthermore I have a
graphical node X (for the semantical element B) and a graphical node Y
(for the semantical element C).
By following your advice I am able to create Y-nodes within X-nodes. But
when I create this node within the X-node, another Y-node is also
created in the canvas. So I have two Y-nodes for one C element (one in
the X-node and one in the canvas).
Any idea how to prevent the second Y-node to appear in the canvas?
(I hope the A,B,C's were not too confusing ;-))
Thomas
F'up to eclipse.modeling.gmf