Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 258398

Summary: Complex drawd2d diagram does not respond to drag-drop, mouse over events.
Product: [Tools] GEF Reporter: mahesh <mahesh.waghole>
Component: GEF-Legacy Draw2dAssignee: Anthony Hunter <ahunter.eclipse>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: ahunter.eclipse, mahesh.waghole, nyssen, vikasholkar
Version: 3.4   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description mahesh CLA 2008-12-11 02:46:59 EST
Build ID: 3.2.100.v20070529, 3.4.1.v20080910

Steps To Reproduce:
1.Draw a draw2d diagram consisting of large number of nodes, say 500 nodes and edges / connections connecting them. Also draw some nodes which not connected to any other node.
2.Register listeners for mouse over, double click events.
3.Write the listener for mouse over event such that it should display the name of the node under the mouse pointer as a tooltip.
4.For simple draw2d diagrams that consist of small number of nodes and edges, I can see the tool tip and the nodes also respond to drag-drop events.
5.For complex draw2d diagrams that consist of large number of nodes and connections, it is observed that the nodes which are placed inside the diagram / figure do not respond to drag-drop or mouse over events. Nodes which are drawn on the border of the diagram of connected nodes respond to drag-drop or mouse over events. Also the nodes which are unconnected respond to drag-drop or mouse over events.



More information:
I suspect that the nodes which are placed inside the diagram are overlayed by the edges / connections. What I do not understand is why the nodes placed inside the diagram do not respond and why the nodes on the border do respond to drag-drop and mouse over events. For simpler diagrams every thing works fine.

Thanks,
Mahesh
Comment 1 Anthony Hunter CLA 2009-01-22 17:35:34 EST
Hi Mahesh

I think what you are saying small diagrams get all the events but larger diagrams drop events. There is nothing in the code to support this so I am wondering if you have investigated further.

One idea I have to explain the issue is that is you have a large diagram with N objects overlapping, only one object gets the mouseover event. 

Perhaps you are thinking that all the objects should be getting these events. 
Comment 2 Anthony Hunter CLA 2009-01-23 16:24:17 EST
*** Bug 255756 has been marked as a duplicate of this bug. ***
Comment 3 mahesh CLA 2009-01-28 09:08:03 EST
Hi Antony, 
Thanks for your reply.

The problem is that in large connected diagram, the objects which are drawn on the boundary of the diagram do receive mouse events. But in the same diagram, the objects which are inside the diagram and not overlapped by other objects, do not respond to mouse events. I am aware that in case of overlapping objects only one of the objects will receive events. 


Comment 4 Anthony Hunter CLA 2009-01-28 11:16:50 EST
ok, the next step is try to duplicate with something the GEF team can debug. Can you get a similar issue happening with say the GEF Shapes diagram?
Comment 5 mahesh CLA 2009-02-18 09:08:32 EST
Hi,

Thanks for your reply.

Because of a deadline it may not be possible for me to provide you a working prototype which can be used to reproduce the said scenario.
However, to get fair idea about the figure complexity, following are few points which might help.

One of the diagram (with less complexity) showing the mentioned behavior has
1. Around 60 nodes. 
2. Count of edges connecting the nodes is 101.
3. The height and width of diagram is calculated by adding individual nodes height, width and distance between them. Thus the figure height is 58108 and figure width is 59513. 

The size of viewport in which this diagram is displayed has Width = 532 and Height = 389. 
To display the complete diagram within the specified viewport size, the figure is zoomed out with appropriate scale.
The diagram is drawn using the TreeLayout algorithm provided by draw2d.

Hope these details help. 
Comment 6 Anthony Hunter CLA 2009-02-18 09:25:18 EST
(In reply to comment #5)
> The size of viewport in which this diagram is displayed has Width = 532 and
> Height = 389. 

Ok, sounds like this is a standard 1024x768 eclipse with a GEF editor. 

We have many GEF based editors that that are large and do not exhibit the issues you are describing.

> 
> Hope these details help. 
> 

We need a concrete example demonstrating the issue.
Comment 7 Alexander Nyßen CLA 2010-11-12 17:00:33 EST
As  there has been no response to Anthony's last comment since 02/2009 and this does not seem to be reducible, resolving it as invalid. In case there is a way we can reproduce and investigate the problem, anybody may fell free to reopen.