-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.simulation.ui;\r
-\r
-import org.eclipse.core.commands.Command;\r
-import org.eclipse.core.commands.State;\r
-import org.eclipse.ui.PlatformUI;\r
-import org.eclipse.ui.commands.ICommandService;\r
-import org.eclipse.ui.contexts.IContextActivation;\r
-import org.simantics.simulation.experiment.ExperimentState;\r
-import org.simantics.simulation.experiment.IExperimentListener;\r
-\r
-public class ExperimentListener implements IExperimentListener {\r
-\r
- IContextActivation contextActivation;\r
-\r
- @Override\r
- public void stateChanged(final ExperimentState state) {\r
- \r
- if(!PlatformUI.isWorkbenchRunning()) return; \r
- \r
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {\r
-\r
- @Override\r
- public void run() {\r
- ICommandService service = \r
- (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class); \r
- Command command = service.getCommand("org.simantics.simulation.ui.run"); \r
- State buttonState = command.getState("org.simantics.simulation.ui.run.state"); \r
- buttonState.setValue(!(Boolean) buttonState.getValue()); \r
- \r
- switch(state) {\r
- case RUNNING:\r
- //System.out.println("RUNNING");\r
- buttonState.setValue(true); \r
- break;\r
- case STOPPED:\r
- default:\r
- //System.out.println("STOPPED");\r
- buttonState.setValue(false);\r
- break;\r
- }\r
- service.refreshElements(command.getId(), null); \r
- \r
- /*IContextService contextService =\r
- (IContextService)PlatformUI.getWorkbench()\r
- .getActiveWorkbenchWindow().getService(IContextService.class);\r
- if(contextActivation != null) \r
- contextService.deactivateContext(contextActivation);\r
- switch(state) {\r
- case RUNNING:\r
- contextActivation = contextService.activateContext("org.simantics.simulation.ui.experimentRunning");\r
- break;\r
- case STOPPED:\r
- contextActivation = contextService.activateContext("org.simantics.simulation.ui.experimentStopped");\r
- break;\r
- default:\r
- contextActivation = null;\r
- break;\r
-\r
- } */ \r
- }\r
- \r
- });\r
- }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.simulation.ui;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.State;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.ui.contexts.IContextActivation;
+import org.simantics.simulation.experiment.ExperimentState;
+import org.simantics.simulation.experiment.IExperimentListener;
+
+public class ExperimentListener implements IExperimentListener {
+
+ IContextActivation contextActivation;
+
+ @Override
+ public void stateChanged(final ExperimentState state) {
+
+ if(!PlatformUI.isWorkbenchRunning()) return;
+
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ ICommandService service =
+ (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
+ Command command = service.getCommand("org.simantics.simulation.ui.run");
+ State buttonState = command.getState("org.simantics.simulation.ui.run.state");
+ buttonState.setValue(!(Boolean) buttonState.getValue());
+
+ switch(state) {
+ case RUNNING:
+ //System.out.println("RUNNING");
+ buttonState.setValue(true);
+ break;
+ case STOPPED:
+ default:
+ //System.out.println("STOPPED");
+ buttonState.setValue(false);
+ break;
+ }
+ service.refreshElements(command.getId(), null);
+
+ /*IContextService contextService =
+ (IContextService)PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getService(IContextService.class);
+ if(contextActivation != null)
+ contextService.deactivateContext(contextActivation);
+ switch(state) {
+ case RUNNING:
+ contextActivation = contextService.activateContext("org.simantics.simulation.ui.experimentRunning");
+ break;
+ case STOPPED:
+ contextActivation = contextService.activateContext("org.simantics.simulation.ui.experimentStopped");
+ break;
+ default:
+ contextActivation = null;
+ break;
+
+ } */
+ }
+
+ });
+ }
+
+}