/* * Copyright (c) 2006 Stiftung Deutsches Elektronen-Synchroton, * Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY. * * THIS SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "../AS IS" BASIS. * WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE AND * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE * IN ANY RESPECT, THE USER ASSUMES THE COST OF ANY NECESSARY SERVICING, REPAIR OR * CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. * NO USE OF ANY SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. * DESY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * THE FULL LICENSE SPECIFYING FOR THE SOFTWARE THE REDISTRIBUTION, MODIFICATION, * USAGE AND OTHER RIGHTS AND OBLIGATIONS IS INCLUDED WITH THE DISTRIBUTION OF THIS * PROJECT IN THE FILE LICENSE.HTML. IF THE LICENSE IS NOT INCLUDED YOU MAY FIND A COPY * AT HTTP://WWW.DESY.DE/LEGAL/LICENSE.HTM */ package org.csstudio.sds.model; import org.csstudio.sds.model.properties.actions.CommitValueActionModelFactory; import org.csstudio.sds.model.properties.actions.ExecuteScriptActionModelFactory; import org.csstudio.sds.model.properties.actions.IActionModelFactory; import org.csstudio.sds.model.properties.actions.OpenDataBrowserActionModelFactory; import org.csstudio.sds.model.properties.actions.OpenDisplayActionModelFactory; /** * The types that can be used for the property ActionData. * * @author Kai Meyer * */ public enum ActionType { /** * Opens a display. */ OPEN_DISPLAY("Open Display","icons/openshell2.gif", new OpenDisplayActionModelFactory()), /** * */ OPEN_SHELL("Open Display (Deprecated)","icons/openshell2.gif", new OpenDisplayActionModelFactory()), /** * Commit a value. */ COMMIT_VALUE("Send Channel Value", "icons/widgetaction.gif", new CommitValueActionModelFactory()), /** * Executes a script. */ EXECUTE_SCRIPT("Execute Script", "icons/widgetaction.gif", new ExecuteScriptActionModelFactory()), OPEN_DATA_BROWSER("Open Data Browser", "icons/openshell2.gif", new OpenDataBrowserActionModelFactory()); /** * The title of this {@link ActionType}. */ private String _title; /** * The {@link IActionModelFactory} of this {@link ActionType}. */ private IActionModelFactory _actionFactory; /** * Path to an icon used for workbench representations of the action type. */ private String _icon; /** * Constructor. * * @param title * The title of this {@link ActionType} * @param factory * The {@link IActionModelFactory} for the WidgetAction. */ private ActionType(final String title, String icon, final IActionModelFactory factory) { assert title != null; assert icon != null; assert factory != null; _title = title; _icon = icon; _actionFactory = factory; } /** * Returns the title of the {@link ActionType}. * * @return The title of the {@link ActionType} */ public String getTitle() { return _title; } /** * Returns the {@link IActionModelFactory}. * * @return The factory */ public IActionModelFactory getActionFactory() { return _actionFactory; } /** * Returns the path to an icon used for workbench representations of the * action type. * * @return icon path */ public String getIcon() { return _icon; } }