Package org.fife.ui.rsyntaxtextarea
Class RSyntaxTextAreaEditorKit.InsertBreakAction
java.lang.Object
javax.swing.AbstractAction
javax.swing.text.TextAction
org.fife.ui.rtextarea.RecordableTextAction
org.fife.ui.rtextarea.RTextAreaEditorKit.InsertBreakAction
org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaEditorKit.InsertBreakAction
- All Implemented Interfaces:
ActionListener,Serializable,Cloneable,EventListener,Action
- Direct Known Subclasses:
AbstractJFlexCTokenMaker.CStyleInsertBreakAction
- Enclosing class:
RSyntaxTextAreaEditorKit
public static class RSyntaxTextAreaEditorKit.InsertBreakAction
extends RTextAreaEditorKit.InsertBreakAction
Action for when the user presses the Enter key. This is here so we can
be smart and "auto-indent" for programming languages.
- See Also:
-
Field Summary
FieldsFields inherited from class javax.swing.AbstractAction
changeSupport, enabledFields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformedImpl(ActionEvent e, RTextArea textArea) The actual meat of the action.private static intatEndOfLine(int pos, String s, int sLen) private static intgetOpenBraceCount(RSyntaxDocument doc, int languageIndex) protected voidhandleInsertBreak(RSyntaxTextArea textArea, boolean noSelection) Actually inserts the newline into the document, and auto-indents if appropriate.private voidprivate static booleanisAllWhitespace(String str, int from, int to) private voidpossiblyCloseCurlyBrace(RSyntaxTextArea textArea, String leadingWS) Methods inherited from class org.fife.ui.rtextarea.RTextAreaEditorKit.InsertBreakAction
getMacroID, isEnabledMethods inherited from class org.fife.ui.rtextarea.RecordableTextAction
actionPerformed, getAccelerator, getDescription, getIcon, getMnemonic, getName, getShortDescription, isRecordable, setAccelerator, setMnemonic, setMnemonic, setName, setProperties, setRecordable, setShortDescriptionMethods inherited from class javax.swing.text.TextAction
augmentList, getFocusedComponent, getTextComponentMethods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, putValue, removePropertyChangeListener, setEnabled
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
InsertBreakAction
public InsertBreakAction()
-
-
Method Details
-
actionPerformedImpl
Description copied from class:RecordableTextActionThe actual meat of the action. If you wish to subclass this action and modify its behavior, this is the method to override.- Overrides:
actionPerformedImplin classRTextAreaEditorKit.InsertBreakAction- Parameters:
e- The action being performed.textArea- The text area "receiving" the action.- See Also:
-
atEndOfLine
- Returns:
- The first location in the string past
posthat is NOT a whitespace char, or-1if only whitespace chars followpos(or it is the end position in the string).
-
getOpenBraceCount
-
handleInsertBreak
Actually inserts the newline into the document, and auto-indents if appropriate. This method can be called by token makers who implement a custom action for inserting newlines.- Parameters:
textArea- The text area to examine.noSelection- Whether there is no selection.
-
handleInsertBreakWithoutSelection
private void handleInsertBreakWithoutSelection(RSyntaxTextArea textArea) throws BadLocationException - Throws:
BadLocationException
-
isAllWhitespace
-
possiblyCloseCurlyBrace
-