Package mars.venus.editors.jeditsyntax
Class JEditBasedTextArea
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
mars.venus.editors.jeditsyntax.JEditTextArea
mars.venus.editors.jeditsyntax.JEditBasedTextArea
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,CaretListener
,MARSTextEditingArea
Adaptor subclass for JEditTextArea
Provides those methods required by the MARSTextEditingArea interface that are
not defined by JEditTextArea. This permits JEditTextArea to be used within
MARS largely without modification. DPS 4-20-2010
- Since:
- 4.0
- Author:
- Pete Sanderson
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
Field Summary
Fields inherited from class mars.venus.editors.jeditsyntax.JEditTextArea
LEFT_OF_SCROLLBAR, POPUP_HELP_TEXT_COLOR
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface mars.venus.editors.MARSTextEditingArea
TEXT_FOUND, TEXT_NOT_FOUND, TEXT_REPLACED_FOUND_NEXT, TEXT_REPLACED_NOT_FOUND_NEXT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Display caret position on the edit pane.void
Get rid of any accumulated undoable edits.int
doFindText(String find, boolean caseSensitive)
Finds next occurrence of text in a forward search of a string.int
Finds and replaces next occurrence of text in a string in a forward search.int
doReplaceAll(String find, String replace, boolean caseSensitive)
Finds and replaces ALL occurrences of text in a string in a forward search.getFont()
Returns the undo manager for this editing areaint
Returns next posn of word in text - forward search.void
redo()
Redo previous editvoid
replaceSelection(String replacementText)
Same as setSelectedText but named for compatibility with JTextComponent method replaceSelection.void
setCaretBlinkRate(int rate)
Set the caret blinking rate in milliseconds.void
void
setLineHighlightEnabled(boolean highlight)
Use for highlighting the line currently being edited.void
setSelectionVisible(boolean vis)
void
setSourceCode(String s, boolean editable)
For initializing the source code when opening an ASM filevoid
setTabSize(int chars)
Set the number of characters a tab will expand to.void
Toggle comment on current line or on each line in selection.
Adds space after '#' only if needed, and removes it when removing commentvoid
undo()
Undo previous editvoid
Update the syntax style table, which is obtained from SyntaxUtilities.Methods inherited from class mars.venus.editors.jeditsyntax.JEditTextArea
_offsetToX, addCaretListener, blinkCaret, clampToDocument, clampToLine, copy, cut, getAutoIndent, getBracketLine, getBracketPosition, getCaretLine, getCaretPosition, getDocument, getDocumentLength, getElectricScroll, getFirstLine, getHorizontalOffset, getInputHandler, getLeadingWhiteSpace, getLineCount, getLineEndOffset, getLineLength, getLineOfOffset, getLineStartOffset, getLineText, getLineText, getMagicCaretPosition, getMarkLine, getMarkPosition, getPainter, getRightClickPopup, getSelectedText, getSelectionEnd, getSelectionEnd, getSelectionEndLine, getSelectionStart, getSelectionStart, getSelectionStartLine, getSyntaxSensitiveToolTipText, getText, getText, getText, getTokenMarker, getVisibleLines, isCaretBlinkEnabled, isCaretVisible, isEditable, isOverwriteEnabled, isSelectionRectangular, lineToY, offsetToX, overwriteSetSelectedText, paste, processKeyEvent, recalculateVisibleLines, removeCaretListener, removeNotify, scrollTo, scrollToCaret, select, select, selectAll, selectNone, setCaretBlinkEnabled, setCaretPosition, setCaretVisible, setDocument, setEditable, setElectricScroll, setFirstLine, setHorizontalOffset, setInputHandler, setMagicCaretPosition, setOrigin, setOverwriteEnabled, setRightClickPopup, setSelectedText, setSelectionEnd, setSelectionRectangular, setSelectionStart, setText, setTokenMarker, updateScrollBars, xToOffset, xyToOffset, yToLine
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface mars.venus.editors.MARSTextEditingArea
copy, cut, getCaretPosition, getDocument, getFontMetrics, getSelectedText, getSelectionEnd, getSelectionStart, getText, grabFocus, paste, requestFocusInWindow, revalidate, select, selectAll, setBackground, setCaretPosition, setCaretVisible, setEditable, setEnabled, setSelectionEnd, setSelectionStart, setText
-
Constructor Details
-
JEditBasedTextArea
-
-
Method Details
-
setFont
- Specified by:
setFont
in interfaceMARSTextEditingArea
- Overrides:
setFont
in classJComponent
-
getFont
- Specified by:
getFont
in interfaceMARSTextEditingArea
- Specified by:
getFont
in interfaceMenuContainer
- Overrides:
getFont
in classComponent
-
setLineHighlightEnabled
public void setLineHighlightEnabled(boolean highlight)Use for highlighting the line currently being edited.- Specified by:
setLineHighlightEnabled
in interfaceMARSTextEditingArea
- Parameters:
highlight
- true to enable line highlighting, false to disable.
-
setCaretBlinkRate
public void setCaretBlinkRate(int rate)Set the caret blinking rate in milliseconds. If rate is 0 disable blinking. If negative, do nothing.- Specified by:
setCaretBlinkRate
in interfaceMARSTextEditingArea
- Parameters:
rate
- blinking rate in milliseconds
-
setTabSize
public void setTabSize(int chars)Set the number of characters a tab will expand to.- Specified by:
setTabSize
in interfaceMARSTextEditingArea
- Parameters:
chars
- number of characters
-
updateSyntaxStyles
public void updateSyntaxStyles()Update the syntax style table, which is obtained from SyntaxUtilities.- Specified by:
updateSyntaxStyles
in interfaceMARSTextEditingArea
-
getOuterComponent
- Specified by:
getOuterComponent
in interfaceMARSTextEditingArea
-
discardAllUndoableEdits
public void discardAllUndoableEdits()Get rid of any accumulated undoable edits. It is useful to call this method after opening a file into the text area. The act of setting its text content upon reading the file will generate an undoable edit. Normally you don't want a freshly-opened file to appear with its Undo action enabled. But it will unless you call this after setting the text.- Specified by:
discardAllUndoableEdits
in interfaceMARSTextEditingArea
-
caretUpdate
Display caret position on the edit pane.- Specified by:
caretUpdate
in interfaceCaretListener
- Parameters:
e
- A CaretEvent
-
replaceSelection
Same as setSelectedText but named for compatibility with JTextComponent method replaceSelection. DPS, 14 Apr 2010- Specified by:
replaceSelection
in interfaceMARSTextEditingArea
- Parameters:
replacementText
- The replacement text for the selection
-
setSelectionVisible
public void setSelectionVisible(boolean vis)- Specified by:
setSelectionVisible
in interfaceMARSTextEditingArea
-
setSourceCode
For initializing the source code when opening an ASM file- Specified by:
setSourceCode
in interfaceMARSTextEditingArea
- Parameters:
s
- String containing texteditable
- set true if code is editable else false
-
getUndoManager
Returns the undo manager for this editing area- Specified by:
getUndoManager
in interfaceMARSTextEditingArea
- Returns:
- the undo manager
-
undo
public void undo()Undo previous edit- Specified by:
undo
in interfaceMARSTextEditingArea
-
redo
public void redo()Redo previous edit- Specified by:
redo
in interfaceMARSTextEditingArea
-
toggleComment
public void toggleComment()Toggle comment on current line or on each line in selection.
Adds space after '#' only if needed, and removes it when removing comment- Specified by:
toggleComment
in interfaceMARSTextEditingArea
-
doFindText
Finds next occurrence of text in a forward search of a string. Search begins at the current cursor location, and wraps around when the end of the string is reached.- Specified by:
doFindText
in interfaceMARSTextEditingArea
- Parameters:
find
- the text to locate in the stringcaseSensitive
- true if search is to be case-sensitive, false otherwise- Returns:
- TEXT_FOUND or TEXT_NOT_FOUND, depending on the result.
-
nextIndex
Returns next posn of word in text - forward search. If end of string is reached during the search, will wrap around to the beginning one time.- Parameters:
input
- the string to searchfind
- the string to findstart
- the character position to start the searchcaseSensitive
- true for case sensitive. false to ignore case- Returns:
- next indexed position of found text or -1 if not found
-
doReplace
Finds and replaces next occurrence of text in a string in a forward search. If cursor is initially at end of matching selection, will immediately replace then find and select the next occurrence if any. Otherwise it performs a find operation. The replace can be undone with one undo operation.- Specified by:
doReplace
in interfaceMARSTextEditingArea
- Parameters:
find
- the text to locate in the stringreplace
- the text to replace the find text with - if the find text existscaseSensitive
- true for case sensitive. false to ignore case- Returns:
- Returns TEXT_FOUND if not initially at end of selected match and matching occurrence is found. Returns TEXT_NOT_FOUND if the text is not matched. Returns TEXT_REPLACED_NOT_FOUND_NEXT if replacement is successful but there are no additional matches. Returns TEXT_REPLACED_FOUND_NEXT if replacement is successful and there is at least one additional match.
-
doReplaceAll
Finds and replaces ALL occurrences of text in a string in a forward search. All replacements are bundled into one CompoundEdit, so one Undo operation will undo all of them.- Specified by:
doReplaceAll
in interfaceMARSTextEditingArea
- Parameters:
find
- the text to locate in the stringreplace
- the text to replace the find text with - if the find text existscaseSensitive
- true for case sensitive. false to ignore case- Returns:
- the number of occurrences that were matched and replaced.
-