]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/GraphExplorerToolTip.java
Allow column specific tooltips in the GraphExplorer
[simantics/platform.git] / bundles / org.simantics.browsing.ui.swt / src / org / simantics / browsing / ui / swt / GraphExplorerToolTip.java
index f23d4ee1943ae1afb6ce4b1cb167ff197b473c7f..0cc2e71a8c768ddce6c08a2a85cb648794b0a4e5 100644 (file)
@@ -5,6 +5,7 @@ import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
 import org.eclipse.swt.widgets.TreeItem;
 import org.simantics.browsing.ui.BuiltinKeys;
 import org.simantics.browsing.ui.NodeContext;
@@ -44,6 +45,19 @@ public class GraphExplorerToolTip extends ToolTip {
         TreeItem treeItem = parent.getItem(new Point(event.x, event.y));
         if (treeItem == null)
             return false;
+        // Locate the column, and add the column reference to Event object.
+        TreeColumn columns[] = parent.getColumns();
+        TreeColumn column = null;
+        int x = 0;
+        for (TreeColumn c : columns) {
+            int w = c.getWidth();
+            if (event.x >= x && event.x < (x+w)) {
+                column = c;
+                break;
+            }
+            x+=w;
+        }
+        event.data = column.getData();
         GENodeQueryManager manager = new GENodeQueryManager(explorerContext, null, null, TreeItemReference.create(treeItem.getParentItem()));
         nodeContext = (NodeContext) treeItem.getData();
         if (nodeContext != null)