X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.simulation.ui%2Fsrc%2Forg%2Fsimantics%2Fsimulation%2Fui%2Fhandlers%2Fe4%2FStep.java;fp=bundles%2Forg.simantics.simulation.ui%2Fsrc%2Forg%2Fsimantics%2Fsimulation%2Fui%2Fhandlers%2Fe4%2FStep.java;h=0dd71f2e54d798f0785c95bce6c5b40423d09ecf;hp=a4af723b49ec289f706759e8b1a2456c418b6f6a;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.simulation.ui/src/org/simantics/simulation/ui/handlers/e4/Step.java b/bundles/org.simantics.simulation.ui/src/org/simantics/simulation/ui/handlers/e4/Step.java index a4af723b4..0dd71f2e5 100644 --- a/bundles/org.simantics.simulation.ui/src/org/simantics/simulation/ui/handlers/e4/Step.java +++ b/bundles/org.simantics.simulation.ui/src/org/simantics/simulation/ui/handlers/e4/Step.java @@ -1,74 +1,74 @@ -/******************************************************************************* - * 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.handlers.e4; - -import javax.annotation.PostConstruct; -import javax.inject.Inject; - -import org.eclipse.e4.core.di.annotations.CanExecute; -import org.eclipse.e4.core.di.annotations.Execute; -import org.eclipse.e4.core.di.annotations.Optional; -import org.eclipse.e4.ui.di.UIEventTopic; -import org.eclipse.e4.ui.model.application.MApplication; -import org.eclipse.e4.ui.model.application.ui.menu.MHandledItem; -import org.eclipse.e4.ui.workbench.modeling.EModelService; -import org.simantics.Simantics; -import org.simantics.simulation.SimulationEvents; -import org.simantics.simulation.experiment.ExperimentUtil; -import org.simantics.simulation.experiment.IExperiment; -import org.simantics.simulation.project.IExperimentManager; -import org.simantics.simulation.ui.preferences.SimulationPreferenceUtil; -import org.simantics.simulation.ui.preferences.SimulationPreferences; - -public class Step { - - private static final String HANDLED_ITEM_ID = "org.simantics.simulation.ui.handledtoolitem.step"; - - @Inject - EModelService modelService; - - @PostConstruct - public void updateToolTip(MApplication application) { - MHandledItem handledItem = (MHandledItem) modelService.find(HANDLED_ITEM_ID, application); - if (handledItem != null) { - SimulationPreferences prefs = SimulationPreferenceUtil.getPrefs(); - handledItem.setTooltip("Step " + prefs.stepDuration + "s"); - } - } - - @CanExecute - public boolean canExecute() { - IExperimentManager manager = Simantics.getProject().getHint(IExperimentManager.KEY_EXPERIMENT_MANAGER); - if (manager == null) - return false; - IExperiment experiment = manager.getActiveExperiment(); - if (experiment == null) - return false; - return true; - } - - @Execute - public void execute() { - SimulationPreferences prefs = SimulationPreferenceUtil.getPrefs(); - ExperimentUtil.step(prefs.stepDuration); - } - - @Inject - @Optional - public void updateElement(@UIEventTopic(SimulationEvents.TOPIC_STEP_DURATION) double duration, MApplication application) { - MHandledItem handledItem = (MHandledItem) modelService.find(HANDLED_ITEM_ID, application); - if (handledItem != null) { - handledItem.setTooltip("Step " + duration + "s"); - } - } - -} +/******************************************************************************* + * 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.handlers.e4; + +import javax.annotation.PostConstruct; +import javax.inject.Inject; + +import org.eclipse.e4.core.di.annotations.CanExecute; +import org.eclipse.e4.core.di.annotations.Execute; +import org.eclipse.e4.core.di.annotations.Optional; +import org.eclipse.e4.ui.di.UIEventTopic; +import org.eclipse.e4.ui.model.application.MApplication; +import org.eclipse.e4.ui.model.application.ui.menu.MHandledItem; +import org.eclipse.e4.ui.workbench.modeling.EModelService; +import org.simantics.Simantics; +import org.simantics.simulation.SimulationEvents; +import org.simantics.simulation.experiment.ExperimentUtil; +import org.simantics.simulation.experiment.IExperiment; +import org.simantics.simulation.project.IExperimentManager; +import org.simantics.simulation.ui.preferences.SimulationPreferenceUtil; +import org.simantics.simulation.ui.preferences.SimulationPreferences; + +public class Step { + + private static final String HANDLED_ITEM_ID = "org.simantics.simulation.ui.handledtoolitem.step"; + + @Inject + EModelService modelService; + + @PostConstruct + public void updateToolTip(MApplication application) { + MHandledItem handledItem = (MHandledItem) modelService.find(HANDLED_ITEM_ID, application); + if (handledItem != null) { + SimulationPreferences prefs = SimulationPreferenceUtil.getPrefs(); + handledItem.setTooltip("Step " + prefs.stepDuration + "s"); + } + } + + @CanExecute + public boolean canExecute() { + IExperimentManager manager = Simantics.getProject().getHint(IExperimentManager.KEY_EXPERIMENT_MANAGER); + if (manager == null) + return false; + IExperiment experiment = manager.getActiveExperiment(); + if (experiment == null) + return false; + return true; + } + + @Execute + public void execute() { + SimulationPreferences prefs = SimulationPreferenceUtil.getPrefs(); + ExperimentUtil.step(prefs.stepDuration); + } + + @Inject + @Optional + public void updateElement(@UIEventTopic(SimulationEvents.TOPIC_STEP_DURATION) double duration, MApplication application) { + MHandledItem handledItem = (MHandledItem) modelService.find(HANDLED_ITEM_ID, application); + if (handledItem != null) { + handledItem.setTooltip("Step " + duration + "s"); + } + } + +}