Class SelectionEnabler


  • public class SelectionEnabler
    extends java.lang.Object
    The enabler class processes selection changes from handlers, viewers, etc, and sets the state of the commands accordingly.
    Author:
    Christopher Mindus
    • Constructor Summary

      Constructors 
      ConstructorDescription
      SelectionEnabler()
      Creates an instance with all disabled.
      SelectionEnabler​(org.eclipse.swt.widgets.Shell shell, org.eclipse.ui.IWorkbenchPart part, ISelectionEnablerHandler selectionEnablerHandler, IPropUndoRedo undoRedo, org.eclipse.core.commands.operations.IUndoContext undoContext, org.eclipse.jface.viewers.IStructuredSelection selection)
      Constructor.
      SelectionEnabler​(org.eclipse.ui.IWorkbenchPart part, org.eclipse.jface.viewers.IStructuredSelection selection)
      Creates an instance for a selection synthesizing all other instanced, used for the Common Navigator and the Common Actions.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static SelectionEnablerget​(java.lang.Object evaluationContext)
      Gets the SelectionEnabler instance from an evaluation context.
      org.eclipse.jface.viewers.IStructuredSelectiongetSelection()
      Gets the selection.
      org.eclipse.core.commands.operations.IUndoContextgetUndoContext()
      Gets the undo context.
      org.eclipse.ui.IWorkbenchPartgetWorkbenchPart()
      Gets the workbench part.
      voidinvalidate()
      Invalidates this selection enabler, e.g.
      voidsetUndoContext​(org.eclipse.core.commands.operations.IUndoContext undoContext)
      Sets the undo context.
      voidupdate​(org.eclipse.jface.viewers.IStructuredSelection selection)
      Updates the selection.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • isHandled

        public boolean isHandled
        The current states.
      • canCut

        public boolean canCut
        The current states.
      • canCopy

        public boolean canCopy
        The current states.
      • canPaste

        public boolean canPaste
        The current states.
      • canPasteBefore

        public boolean canPasteBefore
        The current states.
      • canPasteAfter

        public boolean canPasteAfter
        The current states.
      • canPasteLink

        public boolean canPasteLink
        The current states.
      • canDelete

        public boolean canDelete
        The current states.
      • canRename

        public boolean canRename
        The current states.
      • canOpen

        public boolean canOpen
        The current states.
      • canMove

        public boolean canMove
        The current states.
      • canLink

        public boolean canLink
        The current states.
      • isNonModuleProject

        public boolean isNonModuleProject
        The current states.
      • containsModuleRoot

        public boolean containsModuleRoot
        The current states.
      • containsModuleFolder

        public boolean containsModuleFolder
        The current states.
      • targets

        public java.util.ArrayList<DesignerProp> targets
        The currently selected properties as a DesignerProp list, never null.
      • props

        public GProp<?>[] props
        The currently selected properties as a property array, never null.
      • target

        public DesignerProp target
        The single designer property target, null when multiple are defined.
    • Constructor Detail

      • SelectionEnabler

        public SelectionEnabler()
        Creates an instance with all disabled.
      • SelectionEnabler

        public SelectionEnabler​(org.eclipse.ui.IWorkbenchPart part,
                                org.eclipse.jface.viewers.IStructuredSelection selection)
        Creates an instance for a selection synthesizing all other instanced, used for the Common Navigator and the Common Actions.
      • SelectionEnabler

        public SelectionEnabler​(org.eclipse.swt.widgets.Shell shell,
                                org.eclipse.ui.IWorkbenchPart part,
                                ISelectionEnablerHandler selectionEnablerHandler,
                                IPropUndoRedo undoRedo,
                                org.eclipse.core.commands.operations.IUndoContext undoContext,
                                org.eclipse.jface.viewers.IStructuredSelection selection)
        Constructor.
        Parameters:
        shell - The shell, null for none present.
        part - The workbench part, null if none is present.
        selectionEnablerHandler - The selection enabler handler, null not to use the handler.
        undoRedo - The undo/redo instance, may be null.
        undoContext - The undo context, null for workspace common undo context.
        selection - The selection.
    • Method Detail

      • get

        public static SelectionEnabler get​(java.lang.Object evaluationContext)
        Gets the SelectionEnabler instance from an evaluation context. An attempt to use a cached context is done. If not possible, get a new one.
      • getSelection

        public org.eclipse.jface.viewers.IStructuredSelection getSelection()
        Gets the selection.
        Returns:
        The selection or null for failure.
      • update

        public void update​(org.eclipse.jface.viewers.IStructuredSelection selection)
        Updates the selection.
      • setUndoContext

        public void setUndoContext​(org.eclipse.core.commands.operations.IUndoContext undoContext)
        Sets the undo context.
      • getUndoContext

        public org.eclipse.core.commands.operations.IUndoContext getUndoContext()
        Gets the undo context.
      • getWorkbenchPart

        public org.eclipse.ui.IWorkbenchPart getWorkbenchPart()
        Gets the workbench part.
      • invalidate

        public void invalidate()
        Invalidates this selection enabler, e.g. when clipboard has been changed, or selection, and the requirement to call update is needed.