Class RSyntaxTextAreaEditorKit.DecreaseIndentAction

java.lang.Object
javax.swing.AbstractAction
javax.swing.text.TextAction
org.fife.ui.rtextarea.RecordableTextAction
org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaEditorKit.DecreaseIndentAction
All Implemented Interfaces:
ActionListener, Serializable, Cloneable, EventListener, Action
Enclosing class:
RSyntaxTextAreaEditorKit

public static class RSyntaxTextAreaEditorKit.DecreaseIndentAction extends RecordableTextAction
Action for when un-indenting lines (either the current line if there is selection, or all selected lines if there is one).
See Also:
  • Field Details

  • Constructor Details

    • DecreaseIndentAction

      public DecreaseIndentAction()
    • DecreaseIndentAction

      public DecreaseIndentAction(String name)
  • Method Details

    • actionPerformedImpl

      public void actionPerformedImpl(ActionEvent e, RTextArea textArea)
      Description copied from class: RecordableTextAction
      The actual meat of the action. If you wish to subclass this action and modify its behavior, this is the method to override.
      Specified by:
      actionPerformedImpl in class RecordableTextAction
      Parameters:
      e - The action being performed.
      textArea - The text area "receiving" the action.
      See Also:
    • getMacroID

      public final String getMacroID()
      Description copied from class: RecordableTextAction
      Returns the identifier for this macro. This method makes it so that you can create an instance of the RTextAreaEditorKit.CutAction action, for example, rename it to "Remove", and it will still be recorded as a "cut" action. Subclasses should return a unique string from this method; preferably the name of the action.

      If you subclass a RecordableTextAction, you should NOT override this method; if you do, the action may not be properly recorded in a macro.

      Specified by:
      getMacroID in class RecordableTextAction
      Returns:
      The internally-used macro ID.
    • handleDecreaseIndent

      private void handleDecreaseIndent(Element elem, Document doc, int tabSize) throws BadLocationException
      Actually does the "de-indentation." This method finds where the given element's leading whitespace ends, then, if there is indeed leading whitespace, removes either the last char in it (if it is a tab), or removes up to the number of spaces equal to a tab in the specified document (i.e., if the tab size was 5 and there were 3 spaces at the end of the leading whitespace, the three will be removed; if there were 8 spaces, only the first 5 would be removed).
      Parameters:
      elem - The element to "de-indent."
      doc - The document containing the specified element.
      tabSize - The size of a tab, in spaces.
      Throws:
      BadLocationException