Package org.fife.ui.rsyntaxtextarea
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:
java.awt.event.ActionListener
,java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,javax.swing.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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.text.Segment
s
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description DecreaseIndentAction()
DecreaseIndentAction(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformedImpl(java.awt.event.ActionEvent e, RTextArea textArea)
The actual meat of the action.java.lang.String
getMacroID()
Returns the identifier for this macro.private void
handleDecreaseIndent(javax.swing.text.Element elem, javax.swing.text.Document doc, int tabSize)
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).-
Methods inherited from class org.fife.ui.rtextarea.RecordableTextAction
actionPerformed, getAccelerator, getDescription, getIcon, getMnemonic, getName, getShortDescription, isRecordable, setAccelerator, setMnemonic, setMnemonic, setName, setProperties, setRecordable, setShortDescription
-
Methods inherited from class javax.swing.text.TextAction
augmentList, getFocusedComponent, getTextComponent
-
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
s
private javax.swing.text.Segment s
-
-
Method Detail
-
actionPerformedImpl
public void actionPerformedImpl(java.awt.event.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 classRecordableTextAction
- Parameters:
e
- The action being performed.textArea
- The text area "receiving" the action.- See Also:
RecordableTextAction.actionPerformed(java.awt.event.ActionEvent)
-
getMacroID
public final java.lang.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 theRTextAreaEditorKit.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 classRecordableTextAction
- Returns:
- The internally-used macro ID.
-
handleDecreaseIndent
private void handleDecreaseIndent(javax.swing.text.Element elem, javax.swing.text.Document doc, int tabSize) throws javax.swing.text.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:
javax.swing.text.BadLocationException
-
-