I have two GoView’s representing the same document. I am trying to create a GoLink between the two views. I start from the first view and end in the second view. When I go from the first view to the second, I want the mouse-cursor to be shown as a hand-cursor (currently, the mouse-cursor in the second view is shown as a circle with a slanted diagonal). I have tried setting the cursor for the second view, but that doesn’t seem to work. What am I missing?
What you currently have is a drag-and-drop between two Controls.
But I don’t understand your situation, since starting to draw a link from a port in the first view should not have started a drag-and-drop. The GoToolLinkingNew tool does not call Control.DoDragDrop. When the user starts in your first view, are they starting at a port with a hand cursor?
If you try this normally, such as with ProtoApp or Demo1, you’ll see that the mouse is “captured” during a link-drawing gesture. As the user moves the mouse into the other view, the GoToolLinkingNew tool thinks the mouse is still in the first view, but way off beyond the borders of that first Control. This helps support linking to ports that are just scrolled out of view, which is also helpful when autoscrolling.
I don’t remember about how to achieve what you want – linking across GoViews – I need to investigate.
Yes, the user starts at a port in the first view with the hand
cursor. He starts drawing a link - so, the corresponding Linking
tool is active. Now, the user enters the second view. If
the user releases the mouse on a port in the second view, the second
view can identify the port properly and a connection is made.
Also, as you mention, as the user moves the mouse into the other view, the GoToolLinkingNew
tool thinks the mouse is still in the first view, but way off beyond
the borders of that first Control.
What we want to do is - when the user enters the second view (or when
the first view knows that the cursor is off-bounds), can we change the
cursor-shape in the second view? (just setting the cursor for the
second goview doesn’t seem to work)
Assuming that it’s not a GoToolDragging that is operating, even though the mouse is over the second Control, the mouse still “belongs” to the first Control, so you should set the Cursor of the first Control.
What I don’t understand is that when I try this in Demo1, the cursor remains a hand cursor even when the mouse goes over any other controls. So I don’t see the behavior you are seeing. Try Demo1 to see what I mean: after start up, invoke Window --> New Window and then invoke Window --> Tile Vertically, and then start drawing a new link from the left view.