package org.csstudio.sds.model; import java.util.Collections; import java.util.Map; import org.csstudio.sds.internal.runmode.RunModeBoxInput; import org.eclipse.core.runtime.IPath; import org.csstudio.dal.simple.SimpleDALBroker; /** * Collects runtime information for a display. * * When a display is opened in run mode, we bind this runtime context to the * {@link DisplayModel} to be able to access that information via widget * controllers, e.g. to close the current shell on a menu button click. * * @author Sven Wende * */ public class RuntimeContext { private IPath _displayFilePath; private Map<String, String> _aliases; private RunModeBoxInput _runModeBoxInput; private SimpleDALBroker _broker; /** * Constructor. * * @param windowHandle * a runtime window handle * * @param displayFilePath * the path of the opened file at runtime * * @param aliases * the runtime aliases */ public RuntimeContext(IPath displayFilePath, Map<String, String> aliases) { _displayFilePath = displayFilePath; _aliases = aliases; } public IPath getDisplayFilePath() { return _displayFilePath; } public void setDisplayFilePath(IPath displayFilePath) { _displayFilePath = displayFilePath; } public Map<String, String> getAliases() { return Collections.unmodifiableMap(_aliases); } public void setAliases(Map<String, String> aliases) { _aliases = aliases; } public RunModeBoxInput getRunModeBoxInput() { return _runModeBoxInput; } public void setRunModeBoxInput(RunModeBoxInput runModeBoxInput) { _runModeBoxInput = runModeBoxInput; } public void setBroker(SimpleDALBroker broker) { _broker = broker; } public SimpleDALBroker getBroker() { return _broker; } }