Class AbstractCyAction

  • All Implemented Interfaces:
    ActionListener, Serializable, Cloneable, EventListener, Action, MenuListener, PopupMenuListener, CyAction

    public abstract class AbstractCyAction
    extends AbstractAction
    implements CyAction
    An abstract implementation of the CyAction interface. Instead of using this class directly you should (strongly) consider implementing a TaskFactory/Task pair. Doing so will allow your action to be used outside of a Swing specific application (which the CyAction interface binds you to)!
    See Also:
    Serialized Form

    Module: swing-application-api

    To use this in your app, include the following dependency in your POM:

    <dependency>
        <groupId>org.cytoscape</groupId>
        <artifactId>swing-application-api</artifactId>
    </dependency>

    Cytoscape Backwards Compatibility (Abstract Class): This class is abstract and meant to be extended by users. This means that we may add methods for minor version updates. Methods will only be removed for major version updates.
    • Field Detail

      • preferredMenu

        protected String preferredMenu
        The name describing the preferred menu for the action.
      • menuGravity

        protected float menuGravity
        The float value placing the action within the menu. Value of 0.0 is the beginning and -1.0 means to sort alphabetically. App developers are strongly encouraged to set specific gravities within your own menus.
      • toolbarGravity

        protected float toolbarGravity
        The float value placing the action within the toolbar. Value of 0.0 is the beginning and -1.0 means to sort alphabetically. App developers are strongly encouraged to set specific gravities within your own menus.
      • acceleratorSet

        protected boolean acceleratorSet
        Indicates whether accelerator keys have been set for the action.
      • acceleratorKeyStroke

        protected KeyStroke acceleratorKeyStroke
        The accelerator keystroke, if set.
      • useCheckBoxMenuItem

        protected boolean useCheckBoxMenuItem
        Indicates whether to use a checkbox menu item.
      • useToggleButton

        protected boolean useToggleButton
        Indicates whether to use a toggle button in the tool bar.
      • inToolBar

        protected boolean inToolBar
        Indicates whether the action is in the toolbar.
      • inMenuBar

        protected boolean inMenuBar
        Indicates whether the action is in a menu.
      • insertSeparatorBefore

        protected boolean insertSeparatorBefore
        Indicates whether a menu separator should be inserted before this item
      • insertSeparatorAfter

        protected boolean insertSeparatorAfter
        Indicates whether a menu separator should be inserted after this item
      • insertToolbarSeparatorBefore

        protected boolean insertToolbarSeparatorBefore
        Indicates whether a toolbar separator should be inserted before this item
      • insertToolbarSeparatorAfter

        protected boolean insertToolbarSeparatorAfter
        Indicates whether a toolbar separator should be inserted after this item
      • name

        protected String name
        The name of the action.
      • toolTipImage

        protected URL toolTipImage
        Path to an optional tool tip image
      • configurationProperties

        protected Map<String,​String> configurationProperties
        The configuration properties. Adding it here allows extensions of this class to pass their own properties.
    • Constructor Detail

      • AbstractCyAction

        public AbstractCyAction​(String name)
        Creates a new AbstractCyAction object that is always enabled.
        Parameters:
        name - The name of the action.
      • AbstractCyAction

        public AbstractCyAction​(String name,
                                CyApplicationManager applicationManager,
                                String enableFor,
                                CyNetworkViewManager networkViewManager)
        Creates a new AbstractCyAction object that is enabled for the specific "enableFor" state.
        Parameters:
        name - The name of the action.
        applicationManager - The application manager providing context for this action.
        enableFor - A string declaring which states this action should be enabled for.
        networkViewManager - The network view manager that provides context for this action.
      • AbstractCyAction

        public AbstractCyAction​(Map<String,​String> configProps,
                                CyApplicationManager applicationManager,
                                CyNetworkViewManager networkViewManager)
        Creates a new AbstractCyAction object.
        Parameters:
        configProps - A String-String Map of configuration metadata. This will usually be the Map provided by the OSGi service configuration. Available configuration keys include:
        • title - (The title of the menu.)
        • preferredMenu - (The preferred menu for the action.)
        • largeIconURL - (The icon to be used for the toolbar.)
        • smallIconURL - (The icon to be used for the menu.)
        • tooltip - (The toolbar or menu tooltip.)
        • inToolBar - (Whether the action should be in the toolbar.)
        • inMenuBar - (Whether the action should be in a menu.)
        • insertSeparatorBefore - (Whether a separator should be inserted before this menu item.)
        • insertSeparatorAfter - (Whether a separator should be inserted after this menu item.)
        • insertToolbarSeparatorBefore - (Whether a separator should be inserted before this toolbar item.)
        • insertToolbarSeparatorAfter - (Whether a separator should be inserted after this toolbar item.)
        • enableFor - (System state that the action should be enabled for. See ActionEnableSupport for more detail.)
        • accelerator - (Accelerator key bindings.)
        • menuGravity - (Float value with 0.0 representing the top and larger values moving towards the bottom of the menu.)
        • toolBarGravity - (Float value with 0.0 representing the top and larger values moving towards the bottom of the toolbar.)
        applicationManager - The application manager providing context for this action.
      • AbstractCyAction

        public AbstractCyAction​(Map<String,​String> configProps,
                                TaskFactory predicate)
        Creates a new AbstractCyAction object.
        Parameters:
        configProps - A String-String Map of configuration metadata. This will usually be the Map provided by the OSGi service configuration. Available configuration keys include:
        • title - (The title of the menu.)
        • preferredMenu - (The preferred menu for the action.)
        • largeIconURL - (The icon to be used for the toolbar.)
        • smallIconURL - (The icon to be used for the menu.)
        • tooltip - (The toolbar or menu tooltip.)
        • inToolBar - (Whether the action should be in the toolbar.)
        • inMenuBar - (Whether the action should be in a menu.)
        • insertSeparatorBefore - (Whether a separator should be inserted before this menu item.)
        • insertSeparatorAfter - (Whether a separator should be inserted after this menu item.)
        • insertToolbarSeparatorBefore - (Whether a separator should be inserted before this toolbar item.)
        • insertToolbarSeparatorAfter - (Whether a separator should be inserted after this toolbar item.)
        • enableFor - (Ingored in this constructor and TaskFactoryPredicate is used instead!)
        • accelerator - (Accelerator key bindings.)
        • menuGravity - (Float value with 0.0 representing the top and larger values moving towards the bottom of the menu.)
        • toolBarGravity - (Float value with 0.0 representing the top and larger values moving towards the bottom of the toolbar.)
        predicate - The task factory predicate that indicates whether or not this action should be enabled.
      • AbstractCyAction

        public AbstractCyAction​(Map<String,​String> configProps,
                                CyApplicationManager applicationManager,
                                CyNetworkViewManager networkViewManager,
                                TaskFactory factory)
        Creates a new AbstractCyAction object.
        Parameters:
        configProps - A String-String Map of configuration metadata. This will usually be the Map provided by the OSGi service configuration. Available configuration keys include:
        • title - (The title of the menu.)
        • preferredMenu - (The preferred menu for the action.)
        • largeIconURL - (The icon to be used for the toolbar.)
        • smallIconURL - (The icon to be used for the menu.)
        • tooltip - (The toolbar or menu tooltip.)
        • inToolBar - (Whether the action should be in the toolbar.)
        • inMenuBar - (Whether the action should be in a menu.)
        • insertSeparatorBefore - (Whether a separator should be inserted before this menu item.)
        • insertSeparatorAfter - (Whether a separator should be inserted after this menu item.)
        • insertToolbarSeparatorBefore - (Whether a separator should be inserted before this toolbar item.)
        • insertToolbarSeparatorAfter - (Whether a separator should be inserted after this toolbar item.)
        • enableFor - (Will only use this value if the TaskFactory is not a TaskFactoryPredicate! See ActionEnableSupport for more detail.)
        • accelerator - (Accelerator key bindings.)
        • menuGravity - (Float value with 0.0 representing the top and larger values moving towards the bottom of the menu.)
        • toolBarGravity - (Float value with 0.0 representing the top and larger values moving towards the bottom of the toolbar.)
        applicationManager - The application manager providing context for this action.
        factory - The task factory that may or may not be a TaskFactoryPredicate. If it is a predicate, it will be used to indicate whether or not this action should be enabled. This TaskFactory is not used by the AbstractCyAction in any other way. Any execution of tasks from this TaskFactory must be handled by a subclass.
    • Method Detail

      • setName

        public void setName​(String name)
        Sets the name of the action.
        Parameters:
        name - The name of the action.
      • getName

        public String getName()
        Description copied from interface: CyAction
        Returns the name of the action.
        Specified by:
        getName in interface CyAction
        Returns:
        the name of the action.
      • getToolTipImage

        public URL getToolTipImage()
        Description copied from interface: CyAction
        Optional image to be displayed in the target component's tool tip.
        Specified by:
        getToolTipImage in interface CyAction
      • isInMenuBar

        public boolean isInMenuBar()
        By default all CytoscapeActions wish to be included in the menu bar at the 'preferredMenuName' location is specified and the 'Tools' menu not.
        Specified by:
        isInMenuBar in interface CyAction
        Returns:
        true if this CyAction should be included in menu bar.
      • setIsInMenuBar

        public void setIsInMenuBar​(boolean b)
        Description copied from interface: CyAction
        To support configurable menus and tools, setIsInMenuBar added for 3.6
        Specified by:
        setIsInMenuBar in interface CyAction
      • isInToolBar

        public boolean isInToolBar()
        By default no CytoscapeActions will be included in the toolbar.
        Specified by:
        isInToolBar in interface CyAction
        Returns:
        true if this Action should be included in the toolbar.
      • setIsInToolBar

        public void setIsInToolBar​(boolean b)
        Description copied from interface: CyAction
        To support configurable menus and tools, setIsInToolBar added for 3.6
        Specified by:
        setIsInToolBar in interface CyAction
      • insertSeparatorBefore

        public boolean insertSeparatorBefore()
        Insert a separator before this menu item.
        Specified by:
        insertSeparatorBefore in interface CyAction
        Returns:
        true if this Action should have a separator before it
      • insertSeparatorAfter

        public boolean insertSeparatorAfter()
        Insert a separator after this menu item.
        Specified by:
        insertSeparatorAfter in interface CyAction
        Returns:
        true if this Action should have a separator after it
      • insertToolbarSeparatorBefore

        public boolean insertToolbarSeparatorBefore()
        Insert a separator before this toolbar item.
        Returns:
        true if this Action should have a separator before it
      • insertToolbarSeparatorAfter

        public boolean insertToolbarSeparatorAfter()
        Insert a separator after this menu item.
        Returns:
        true if this Action should have a separator after it
      • setMenuGravity

        public void setMenuGravity​(float gravity)
        Sets the gravity used to order this action in the menu bar.
        Specified by:
        setMenuGravity in interface CyAction
        Parameters:
        gravity - The gravity for ordering menu bar actions.
      • getMenuGravity

        public float getMenuGravity()
        Description copied from interface: CyAction
        Returns the gravity used to place the menu item for this action. Gravity is a numeric value associated with each menu item. MenuItems in the same menu pull-down are sorted in ascending order based on their gravity values.
        Specified by:
        getMenuGravity in interface CyAction
        Returns:
        The gravity used to place the menu item for this action.
      • setToolbarGravity

        public void setToolbarGravity​(float gravity)
        Sets the gravity used to order this action in the toolbar.
        Specified by:
        setToolbarGravity in interface CyAction
        Parameters:
        gravity - The gravity for ordering toolbar actions.
      • getToolbarGravity

        public float getToolbarGravity()
        Description copied from interface: CyAction
        Returns the gravity used to place this action in the toolbar. Gravity is a numeric value associated with each menu item. MenuItems in the same menu pull-down are sorted in ascending order based on their gravity values.
        Specified by:
        getToolbarGravity in interface CyAction
        Returns:
        The gravity used to place this action in the toolbar.
      • setAcceleratorKeyStroke

        public void setAcceleratorKeyStroke​(KeyStroke ks)
        Sets the accelerator KeyStroke for this action.
        Specified by:
        setAcceleratorKeyStroke in interface CyAction
        Parameters:
        ks - The KeyStroke to be used as an accelerator for this action. This parameter may be null, in which case no accelerator is defined.
      • getAcceleratorKeyStroke

        public KeyStroke getAcceleratorKeyStroke()
        Description copied from interface: CyAction
        Returns the accelerator KeyStroke defined for this action. Will return null if no accelerator is set.
        Specified by:
        getAcceleratorKeyStroke in interface CyAction
        Returns:
        the accelerator KeyStroke defined for this action. Will return null if no accelerator is set.
      • getPreferredMenu

        public String getPreferredMenu()
        Description copied from interface: CyAction
        This method returns a Menu specification string. Submenus are preceded by dots in this string, so the result "File.Import" specifies the submenu "Import" of the menu "File". If the result is null, the menu will be placed in a default location.
        Specified by:
        getPreferredMenu in interface CyAction
        Returns:
        the string identifying the preferred menu.
      • setPreferredMenu

        public void setPreferredMenu​(String newPreferredMenu)
        Sets the preferredMenuString. See the getPreferredMenu() description for formatting description.
        Specified by:
        setPreferredMenu in interface CyAction
        Parameters:
        newPreferredMenu - The string describing the preferred menu name.
      • menuCanceled

        public void menuCanceled​(MenuEvent e)
        This method can be used at your discretion, but otherwise does nothing.
        Specified by:
        menuCanceled in interface MenuListener
        Parameters:
        e - The triggering event.
      • menuDeselected

        public void menuDeselected​(MenuEvent e)
        This method can be used at your discretion, but otherwise does nothing.
        Specified by:
        menuDeselected in interface MenuListener
        Parameters:
        e - The triggering event.
      • menuSelected

        public void menuSelected​(MenuEvent e)
        This method can be overridden by individual actions to set the state of menu items based on whatever unique circumstances that menu option cares about. By default it sets the state of the menu based on the "enableFor" property found in the properties used to construct the action. The valid options for "enableFor" are "network", "networkAndView", and "selectedNetworkObjs".
        Specified by:
        menuSelected in interface MenuListener
        Parameters:
        e - The triggering event.
      • popupMenuWillBecomeVisible

        public void popupMenuWillBecomeVisible​(PopupMenuEvent e)
        This method can be overridden by individual actions to set the state of menu items based on whatever unique circumstances that menu option cares about. By default it sets the state of the menu based on the "enableFor" property found in the properties used to construct the action. The valid options for "enableFor" are "network", "networkAndView", and "selectedNetworkObjs".
        Specified by:
        popupMenuWillBecomeVisible in interface PopupMenuListener
        Parameters:
        e - The triggering event.
      • popupMenuCanceled

        public void popupMenuCanceled​(PopupMenuEvent e)
        This method can be used at your discretion, but otherwise does nothing.
        Specified by:
        popupMenuCanceled in interface PopupMenuListener
        Parameters:
        e - The triggering event.
      • updateEnableState

        public void updateEnableState()
        Triggers the enable state of the action to be updated based on the enableFor state of the action and the state of the system.
        Specified by:
        updateEnableState in interface CyAction