+++ /dev/null
-/*******************************************************************************
- * 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;
-
- } */
- }
-
- });
- }
-
-}
/*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2019 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
*
* Contributors:
* VTT Technical Research Centre of Finland - initial API and implementation
+ * Semantum Oy - gitlab #384
*******************************************************************************/
package org.simantics.simulation.ui;
@Override
public void activeExperimentLoaded(final IExperiment experiment) {
-// experiment.addListener(new ExperimentListener());
- experiment.addListener(new org.simantics.simulation.ui.e4.ExperimentListener());
-
if (!PlatformUI.isWorkbenchRunning())
return;
+ experiment.addListener(new org.simantics.simulation.ui.e4.ExperimentListener());
+
final IWorkbench workbench = PlatformUI.getWorkbench();
workbench.getDisplay().asyncExec(new Runnable() {
@Override
/*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2019 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
*
* Contributors:
* VTT Technical Research Centre of Finland - initial API and implementation
+ * Semantum Oy - gitlab #384
*******************************************************************************/
package org.simantics.simulation.ui.e4;
public class ExperimentListener implements IExperimentListener {
private IEventBroker eventBroker;
-
+
public ExperimentListener() {
eventBroker = E4Workbench.getServiceContext().get(IEventBroker.class);
}
@Override
public void stateChanged(final ExperimentState state) {
-
- if(!PlatformUI.isWorkbenchRunning()) return;
-
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ if (!PlatformUI.isWorkbenchRunning())
+ return;
- @Override
- public void run() {
- switch(state) {
+ PlatformUI.getWorkbench().getDisplay().asyncExec(() -> {
+ switch (state) {
case RUNNING:
eventBroker.post(SimulationEvents.TOPIC_STATE_RUNNING, true);
break;
default:
eventBroker.post(SimulationEvents.TOPIC_STATE_STOPPED, false);
break;
- }
}
});
}