X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.vtk%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fvtk%2Fcommon%2FContextMenuListener.java;fp=org.simantics.g3d.vtk%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fvtk%2Fcommon%2FContextMenuListener.java;h=3f42fca12069f7bcdae11b6c5c639f4842188f6c;hb=fc44aa6fb56a795b4cae2d0684af67ae539fc748;hp=0000000000000000000000000000000000000000;hpb=9783d236a085584ac964444b365b566fd6a921ba;p=simantics%2F3d.git diff --git a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/ContextMenuListener.java b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/ContextMenuListener.java new file mode 100644 index 00000000..3f42fca1 --- /dev/null +++ b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/ContextMenuListener.java @@ -0,0 +1,32 @@ +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); + } + }); + } + } + +}