Class DeleteFeatureForPattern

    • Constructor Detail

    • Method Detail

      • canDelete

        public boolean canDelete​(IDeleteContext context)
        Description copied from interface: IDelete
        Can delete hook. Needs to be implemented in order to decide if a feature can (and wants to) handle a delete request.
        Specified by:
        canDelete in interface IDelete
        Overrides:
        canDelete in class DefaultDeleteFeature
        Parameters:
        context - the context describing the request
        Returns:
        true, if the feature can perform the delete operation
      • preDelete

        public void preDelete​(IDeleteContext context)
        Description copied from interface: IDelete
        Pre delete hook that can be implemented by users to perform any operations that need to be done before the standard delete functionality starts. Be sure to call DefaultDeleteFeature#setDoneChanges(boolean) in case you modify any EMF objects to enable that the command stack gets updated.
        Specified by:
        preDelete in interface IDelete
        Overrides:
        preDelete in class DefaultDeleteFeature
        Parameters:
        context - the context
      • isDeleteAbort

        public boolean isDeleteAbort()
        Description copied from interface: IDelete
        The Graphiti framework will call this method after IDelete.preDelete(IDeleteContext) has been called and before the actual delete is done. In case this method returns true, the operation will be cancelled by the Graphiti framework by throwing an OperationCanceledException that causes am EMF revert of the operation.

        Implementing classes might e.g. set a flag in IDelete.preDelete(IDeleteContext) as cancellation indication and check that that flag here.

        Specified by:
        isDeleteAbort in interface IDelete
        Overrides:
        isDeleteAbort in class DefaultDeleteFeature
        Returns:
        true in case you want to cancel the current operation, false otherwise.
        Since:
        0.12
      • postDelete

        public void postDelete​(IDeleteContext context)
        Description copied from interface: IDelete
        Post delete hook that can be implemented by users to perform any operations that need to be done after the standard delete functionality ends.
        Specified by:
        postDelete in interface IDelete
        Overrides:
        postDelete in class DefaultDeleteFeature
        Parameters:
        context - the context
      • canUndo

        public boolean canUndo​(IContext context)
        Description copied from interface: IFeature
        Decides if the current feature can be undone - this is the undo of the execute operation.
        Specified by:
        canUndo in interface ICustomUndoRedoFeature
        Specified by:
        canUndo in interface IFeature
        Overrides:
        canUndo in class AbstractFeature
        Parameters:
        context - this is the general input for this method
        Returns:
        true if the feature can be undone, false if not
        See Also:
        IContext
      • canRedo

        public boolean canRedo​(IContext context)
        Description copied from interface: ICustomUndoRedoFeature
        Decides if the processed feature can be re-done. This method is called once by the Graphiti framework just before any redo work is started, e.g. before ICustomUndoRedoFeature.preRedo(IContext).

        Note that as soon as any feature reports false here, also all consecutive entries in the command stack are no longer reachable for redo.

        Specified by:
        canRedo in interface ICustomUndoRedoFeature
        Parameters:
        context - this is the instance of the IContext object that was in use when executing the feature
        Returns:
        true if the feature can be re-done, false if not
      • preRedo

        public void preRedo​(IContext context)
        Description copied from interface: ICustomUndoRedoFeature
        This method will be called by the Graphiti framework before the EMF undo has triggered. Customers may re-apply their non-EMF changes done by the feature here or in ICustomUndoRedoFeature.postRedo(IContext). (Usually it might be sufficient to delegate to the execution method of the feature.)
        Specified by:
        preRedo in interface ICustomUndoRedoFeature
        Parameters:
        context - this is the instance of the IContext object that was in use when executing the feature
        Since:
        0.12
      • postRedo

        public void postRedo​(IContext context)
        Description copied from interface: ICustomUndoRedoFeature
        This method will be called by the Graphiti framework after the EMF undo has finished. Customers may re-apply their non-EMF changes done by the feature here or in ICustomUndoRedoFeature.preRedo(IContext). (Usually it might be sufficient to delegate to the execution method of the feature.)
        Specified by:
        postRedo in interface ICustomUndoRedoFeature
        Parameters:
        context - this is the instance of the IContext object that was in use when executing the feature
        Since:
        0.12
      • hasDoneChanges

        public boolean hasDoneChanges()
        Description copied from interface: IFeature
        Is queried by the framework after a feature has been executed to find out if this feature should appear in the undo stack of e.g. an editor. By default all features should appear there (see implementation in AbstractFeature), but features may decide to override this behavior. Note that this is a dynamic attribute of the feature that is queried each time after the feature has been executed.

        IMPORTANT NOTE: The implementor of the feature is responsible for correctly implementing this method! It might lead to inconsistencies in the command stack if this method returns false although the feature did changes.

        Specified by:
        hasDoneChanges in interface IFeature
        Overrides:
        hasDoneChanges in class DefaultDeleteFeature
        Returns:
        true if the feature should appear in the undo stack, false otherwise