1 package org.simantics.g3d.vtk.swt;
3 import org.eclipse.swt.events.MouseEvent;
4 import org.eclipse.swt.events.MouseListener;
5 import org.eclipse.swt.graphics.Point;
6 import org.eclipse.swt.widgets.Menu;
8 public class ContextMenuListener implements MouseListener{
10 InteractiveVtkComposite panel;
13 public ContextMenuListener(InteractiveVtkComposite panel, Menu contextMenu) {
15 this.contextMenu = contextMenu;
16 this.panel.getComponent().addMouseListener(this);
25 public void mouseUp(MouseEvent e) {
27 if (Math.abs(x-e.x) < d && Math.abs(y-e.y) < d && (e.time - time) < 500) {
28 Point point = panel.getComponent().getParent().toDisplay(new Point(e.x, e.y));
29 contextMenu.setLocation(point.x, point.y);
30 contextMenu.setVisible(true);
36 public void mouseDown(MouseEvent e) {
45 public void mouseDoubleClick(MouseEvent e) {