--- /dev/null
+package org.simantics.g3d.vtk.common;
+
+import java.awt.event.MouseEvent;
+
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Menu;
+
+import vtk.vtkPanel;
+
+public class ContextMenuListener extends java.awt.event.MouseAdapter{
+
+ vtkPanel panel;
+ Menu contextMenu;
+
+ public ContextMenuListener(vtkPanel panel, Menu contextMenu) {
+ this.panel = panel;
+ this.contextMenu = contextMenu;
+ this.panel.addMouseListener(this);
+ }
+ @Override
+ public void mouseClicked(final MouseEvent e) {
+ if (e.getButton() == java.awt.event.MouseEvent.BUTTON3) {
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ contextMenu.setLocation(e.getXOnScreen(), e.getYOnScreen());
+ contextMenu.setVisible(true);
+ }
+ });
+ }
+ }
+
+}