Class TextViewerToggleCommentAction

  • All Implemented Interfaces:
    org.eclipse.jface.action.IAction

    public class TextViewerToggleCommentAction
    extends org.eclipse.ui.texteditor.ResourceAction
    This implementation has been copied from org.eclipse.jdt.internal.ui.javaeditor.ToggleCommentAction.
    • Field Summary

      • Fields inherited from interface org.eclipse.jface.action.IAction

        AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void configure​(org.eclipse.jface.text.source.ISourceViewer sourceViewer, org.eclipse.jface.text.source.SourceViewerConfiguration configuration)  
      protected int getFirstCompleteLineOfRegion​(org.eclipse.jface.text.IRegion region, org.eclipse.jface.text.IDocument document)
      Returns the index of the first line whose start offset is in the given text range.
      protected org.eclipse.jface.text.IRegion getTextBlockFromSelection​(org.eclipse.jface.text.ITextSelection selection, org.eclipse.jface.text.IDocument document)
      Creates a region describing the text block (something that starts at the beginning of a line) completely containing the current selection.
      protected boolean isBlockCommented​(int startLine, int endLine, String[] prefixes, org.eclipse.jface.text.IDocument document)
      Determines whether each line is prefixed by one of the prefixes.
      protected boolean isSelectionCommented​(ISelection selection)
      Is the given selection single-line commented?
      void run()
      Implementation of the IAction prototype.
      • Methods inherited from class org.eclipse.ui.texteditor.ResourceAction

        getString, initialize, setHelpContextId
      • Methods inherited from class org.eclipse.jface.action.Action

        convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
      • Methods inherited from class org.eclipse.jface.action.AbstractAction

        addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
      • Methods inherited from class org.eclipse.core.commands.common.EventManager

        addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
    • Constructor Detail

      • TextViewerToggleCommentAction

        public TextViewerToggleCommentAction​(ResourceBundle bundle,
                                             String prefix,
                                             org.eclipse.jface.text.ITextViewer viewer)
        Creates and initializes the action for the given text editor. The action configures its visual representation from the given resource bundle.
        Parameters:
        bundle - the resource bundle
        prefix - a prefix to be prepended to the various resource keys (described in ResourceAction constructor), or null if none
        editor - the text editor
        See Also:
        ResourceAction(ResourceBundle, String, int)
    • Method Detail

      • run

        public void run()
        Implementation of the IAction prototype. Checks if the selected lines are all commented or not and uncomments/comments them respectively.
        Specified by:
        run in interface org.eclipse.jface.action.IAction
        Overrides:
        run in class org.eclipse.jface.action.Action
      • isSelectionCommented

        protected boolean isSelectionCommented​(ISelection selection)
        Is the given selection single-line commented?
        Parameters:
        selection - Selection to check
        Returns:
        true iff all selected lines are commented
        Since:
        2.1
      • getTextBlockFromSelection

        protected org.eclipse.jface.text.IRegion getTextBlockFromSelection​(org.eclipse.jface.text.ITextSelection selection,
                                                                           org.eclipse.jface.text.IDocument document)
        Creates a region describing the text block (something that starts at the beginning of a line) completely containing the current selection.
        Parameters:
        selection - The selection to use
        document - The document
        Returns:
        the region describing the text block comprising the given selection
        Since:
        2.1
      • getFirstCompleteLineOfRegion

        protected int getFirstCompleteLineOfRegion​(org.eclipse.jface.text.IRegion region,
                                                   org.eclipse.jface.text.IDocument document)
        Returns the index of the first line whose start offset is in the given text range.
        Parameters:
        region - the text range in characters where to find the line
        document - The document
        Returns:
        the first line whose start index is in the given range, -1 if there is no such line
        Since:
        2.1
      • isBlockCommented

        protected boolean isBlockCommented​(int startLine,
                                           int endLine,
                                           String[] prefixes,
                                           org.eclipse.jface.text.IDocument document)
        Determines whether each line is prefixed by one of the prefixes.
        Parameters:
        startLine - Start line in document
        endLine - End line in document
        prefixes - Possible comment prefixes
        document - The document
        Returns:
        true iff each line from startLine to and including endLine is prepended by one of the prefixes, ignoring whitespace at the begin of line
        Since:
        2.1
      • configure

        public void configure​(org.eclipse.jface.text.source.ISourceViewer sourceViewer,
                              org.eclipse.jface.text.source.SourceViewerConfiguration configuration)