When I start a embed Godiagram program and i drag and drop lot of node on GraphView. This program like a FlowCharter of sample.
When a scrollbar is appeared on GraphView, sometimes this node’location have negative value.
so when I’m loading this file , the layout is like broken.
(ex. X=100 Y= -200)
I think each node have a different standard??
I’m not sure what you want to do.
You can just set the node’s Position (or Location) to be what you would prefer it to be. Or you could do so after loading all of the nodes, so that you could shift everything all together.
You can set GoView.ShowsNegativeCoordinates to false, if you don’t want users to see anything at negative coordinates.
You could override GoObject.ComputeMove to limit where a node can go; see LimitedNode in Demo1 as an example.
<SPAN =“m”>Hi,Walter.
<SPAN =“m”>I’m using GoView.ShowsNegativeCoordinates to false already.
<SPAN =“m”>But when i debug a program , some node’s Top value(ex. n.Top) return odd value, not all node.
<SPAN =“m”>and I’m finding one more error, node’s Left and Right PARTID<SPAN =“m”> return -1
<SPAN =“m”>I’m appending the example.<SPAN =“m”>
if (n.TopPort != null)
writer.WriteAttributeString(“pidtop”, XmlConvert.ToString(n.TopPort.PartID));
if (n.RightPort != null)
writer.WriteAttributeString(“pidrigh t”, XmlConvert.ToString(n.RightPort.PartID));
if (n.BottomPort != null)
writer.WriteAttributeString(“pidbott om”, XmlConvert.ToString(n.BottomPort.PartID));
if (n.LeftPort != null)
writer.WriteAttributeString(“pidleft “, XmlConvert.ToString(n.LeftPort.PartID)); &n bsp;
writer.WriteAttributeString(“text”, n.Text);
writer.WriteAttributeString(“x”, XmlConvert.ToString(n.Left));
writer.WriteAttributeString(“y”, XmlConvert.ToString(n.Top));
conclusion:
<SPAN =“m”> <<SPAN =“t”>node <SPAN =“t”>kind<SPAN =“m”>=“10<SPAN =“m”>”<SPAN =“t”> nid<SPAN =“m”>=“0<SPAN =“m”>”<SPAN =“t”> pidtop<SPAN =“m”>=“1<SPAN =“m”>”<SPAN =“t”> pidright<SPAN =“m”>=”-1<SPAN =“m”>”<SPAN =“t”> pidbottom<SPAN =“m”>=“2<SPAN =“m”>”<SPAN =“t”> pidleft<SPAN =“m”>="-1<SPAN =“m”>"<SPAN =“t”> text<SPAN =“m”>=“aaa<SPAN =“m”>”<SPAN =“t”> x<SPAN =“m”>=“148<SPAN =“m”>”<SPAN =“t”> y<SPAN =“m”>=“83<SPAN =“m”>”<SPAN =“t”> EXEC_ORDER<SPAN =“m”>=“1<SPAN =“m”>”<SPAN =“t”> KEYVALUE<SPAN =“m”>=“330<SPAN =“m”>”<SPAN =“t”> CMPGNID<SPAN =“m”>=“330<SPAN =“m”>”<SPAN =“m”> />
<SPAN =“b”> <SPAN =“m”><<SPAN =“t”>node <SPAN =“t”>kind<SPAN =“m”>=“20<SPAN =“m”>”<SPAN =“t”> nid<SPAN =“m”>=“5<SPAN =“m”>”<SPAN =“t”> pidtop<SPAN =“m”>=“6<SPAN =“m”>”<SPAN =“t”> pidright<SPAN =“m”>="-1<SPAN =“m”>"<SPAN =“t”> pidbottom<SPAN =“m”>=“7<SPAN =“m”>”<SPAN =“t”> pidleft<SPAN =“m”>="-1<SPAN =“m”>"<SPAN =“t”> text<SPAN =“m”>=“ÀÚ·áÃßÃâ<SPAN =“m”>”<SPAN =“t”> x<SPAN =“m”>=“279<SPAN =“m”>”<SPAN =“t”> y<SPAN =“m”>=“620<SPAN =“m”>”<SPAN =“t”> EXEC_ORDER<SPAN =“m”>=“2<SPAN =“m”>”<SPAN =“t”> KEYVALUE<SPAN =“m”>=“0<SPAN =“m”>”<SPAN =“t”> CMPGNID<SPAN =“m”>=“330<SPAN =“m”>”<SPAN =“m”> />
GoView.ShowsNegativeCoordinates just controls whether the user can see (or scroll to) any part of the document that is in negative coordinates. It doesn’t prevent any objects from going into those quadrants.
You can override ComputeMove to limit such movement, or override the Bounds setter to absolutely prevent it.
A PartID of -1 means that no unique identifier was computed/provided for that part. Or maybe there is no such part, so the value would be completely irrelevant (and -1 would be a reasonable default).