I have a small problem ,I want to put a node in two different subgraph ,like Node 2_3 as shown in fig below,
Is it possible to do this? I would appreciate if I can get help in this issue.
What do you expect should happen if either subgraph is moved? Or if both are moved? Or if one is deleted? Or if one is copied?
what required mainly when moving is
- if you move subgraph2 i excpect that Node 2 and Node3 will move with the subgraph till Node2 or node3 are reach bounders of Subgraph1 then it will stop
- if one subGraph is deleted I except to have that shared Nodes remain in the other SubGraph
- if one subGraph is copied I except to copy it with all Nodes ( the shared and that ones are only in this subgraph)
I don’t understand the behavior you want when moving one subgraph. What happens to the subgraph that the user is moving as they keep dragging it?
What if the user collapses one subgraph?
Do you expect to have more than two subgraphs share nodes? Do you want them to be nested? If so, how will you handle the conflicting requirements?
GoGroup (and classes that inherit from that, including GoNode and thus GoSubGraph) do not permit sharing of GoObjects.
Let me try to explain to you, as requirement for our project we need to have a container [with customized non collapasable shape]on which we can do external Drag/Drop operation from the palette … and this is an infinite operation [means that we can drag container into container … to infinite level … we don’t have limit for that ]. And we have other type of containers that can be collapesed ( it’s also infinte nested but it can’t contain contrainer of 1st type).Of course user can connect Nodes on different containers For that we choose to customize the SubGraph control to do this job for us based on strategy GODiagram provides in the SubGraphApp sample.
Now we need to share nodes between this 2 subgraph [these 2 subgraph can’t be collapsed] … we prevent node from move outside boundary of the container subgraph.Do you have any other better strategy or idea to implement these requirements .??
So in the picture you provided, would the user be allowed to move SubGraph2 only a little bit to the right, and hardly at all down, because the two shared nodes would bump against the boundary of SubGraph1?
Or would they be allowed to keep moving SubGraph2 down and/or rightwards, and SubGraph2 would keep stretching in size to accommodate those shared nodes which can’t move any more?
Also, if the user (or your application programmatically) creates a link between the two shared nodes, would that link belong to any subgraph? It can’t belong to both subgraphs, because the GoObject.Parent property is just a single object.
I suppose I have the same question if the link connects a shared node with a non-shared node.