@@ -0,0 +1,1294 @@
+package org.helioviewer.gl3d.camera;%0A%0Aimport javax.swing.JLabel;%0Aimport javax.swing.JPanel;%0Aimport javax.swing.JSpinner;%0Aimport javax.swing.SpinnerNumberModel;%0Aimport javax.swing.event.ChangeEvent;%0Aimport javax.swing.event.ChangeListener;%0A%0Aimport org.helioviewer.gl3d.scenegraph.GL3DState;%0A%0Apublic class GL3DCameraOptionsPanel extends JPanel implements ChangeListener %7B%0A    private static final long serialVersionUID = 3942154069677445408L;%0A    private final JSpinner timedelaySpinner;%0A    private long timeDelay;%0A%0A    public GL3DCameraOptionsPanel() %7B%0A        add(new JLabel(%22Set time delay%22));%0A        timedelaySpinner = new JSpinner();%0A        timedelaySpinner.setModel(new SpinnerNumberModel(new Float(0.2f), new Float(-5000), new Float(5000), new Float(0.01f)));%0A        timedelaySpinner.addChangeListener(this);%0A        JSpinner.NumberEditor editor = new JSpinner.NumberEditor(timedelaySpinner);%0A        timedelaySpinner.setEditor(editor);%0A        this.add(timedelaySpinner);%0A    %7D%0A%0A    @Override%0A    public void stateChanged(ChangeEvent e) %7B%0A        GL3DState state = GL3DState.get();%0A        this.timeDelay = (long) ((SpinnerNumberModel) timedelaySpinner.getModel()).getNumber().floatValue() * 60 * 60 * 24 * 1000;%0A        state.getActiveCamera().setTimeDelay(this.timeDelay);%0A    %7D%0A%0A%7D%0A

add camera options panel