package aquaCAM.views; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import net.java.games.jogl.Animator; import net.java.games.jogl.GLCanvas; import net.java.games.jogl.GLCapabilities; import net.java.games.jogl.GLDrawableFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.awt.SWT_AWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; public class ToolPath extends ViewPart { public static final String ID = "aquaCAM.views.ToolPath"; // TODO Needs to be whatever is mentioned in plugin.xml private Composite composite = null; @Override public void createPartControl(Composite parent) { // TODO Auto-generated method stub composite = new Composite(parent, SWT.NO_BACKGROUND | SWT.EMBEDDED); Frame frame = SWT_AWT.new_Frame(composite); //Frame frame = new Frame("Gear Demo"); GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities()); canvas.addGLEventListener(new Gears()); frame.add(canvas); frame.setSize(300, 300); final Animator animator = new Animator(canvas); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { // Run this on another thread than the AWT event queue to // make sure the call to Animator.stop() completes before // exiting new Thread(new Runnable() { public void run() { animator.stop(); System.exit(0); } }).start(); } }); frame.show(); animator.start(); } @Override public void setFocus() { // TODO Auto-generated method stub } }