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, enabled
Fields 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 TypeMethodDescriptionvoid
actionPerformedImpl
(ActionEvent e, RTextArea textArea) The actual meat of the action.private static int
atEndOfLine
(int pos, String s, int sLen) private static int
getOpenBraceCount
(RSyntaxDocument doc, int languageIndex) protected void
handleInsertBreak
(RSyntaxTextArea textArea, boolean noSelection) Actually inserts the newline into the document, and auto-indents if appropriate.private void
private static boolean
isAllWhitespace
(String str, int from, int to) private void
possiblyCloseCurlyBrace
(RSyntaxTextArea textArea, String leadingWS) Methods inherited from class org.fife.ui.rtextarea.RTextAreaEditorKit.InsertBreakAction
getMacroID, isEnabled
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, 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:RecordableTextAction
The actual meat of the action. If you wish to subclass this action and modify its behavior, this is the method to override.- Overrides:
actionPerformedImpl
in 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
pos
that is NOT a whitespace char, or-1
if 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
-