package CDModeler.buttons; import gui.AtomicAnimateDialog; import gui.AtomicAnimateIf; import gui.Constants; import gui.OkCancelJDialog; import java.io.File; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; /** * * This class will execute the CDModeler Atomic Animation program. * @author Jing Cao * @see IWorkbenchWindowActionDelegate * @version 1.0 */ public class AtomicAnimationAction implements IWorkbenchWindowActionDelegate { //constructor public AtomicAnimationAction() { } /** * Called when the action is executed * @see IWorkbenchWindowActionDelegate#run */ public void run(IAction action) { AtomicAnimateDialog aatomicAnimateDialog = new AtomicAnimateDialog(null, "atomic animate", true); aatomicAnimateDialog.setSize(350, 130); aatomicAnimateDialog.setLocationRelativeTo(null); aatomicAnimateDialog.setVisible(true); if (aatomicAnimateDialog.getReturnState() == OkCancelJDialog.OK_RETURN_STATE) { //ANIMATE HERE try { AtomicAnimateIf aAtomicAnimate = (AtomicAnimateIf)Class.forName(Constants.getInstance().getString("atomicAnimate", "gui.animate.atomic.AtomicAnimate")).newInstance(); aAtomicAnimate.init(new File(aatomicAnimateDialog.getLog()), new File(aatomicAnimateDialog.getModel()), aatomicAnimateDialog.getChunck()); aAtomicAnimate.setVisible(true); aAtomicAnimate.startAnimation(); } catch (Exception e) { e.printStackTrace(); } } } /** * Called when objects in the editor are selected or deselected. * @see IWorkbenchWindowActionDelegate#selectionChanged */ public void selectionChanged(IAction action, ISelection selection) { } /** * Called when the action is discarded. * @see IWorkbenchWindowActionDelegate#dispose */ public void dispose() { } /** * Called when the action is created. * @see IWorkbenchWindowActionDelegate#init */ public void init(IWorkbenchWindow window) { } }