Package org.fife.ui.rsyntaxtextarea
Class RSyntaxTextAreaUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TextUI
javax.swing.plaf.basic.BasicTextUI
javax.swing.plaf.basic.BasicTextAreaUI
org.fife.ui.rtextarea.RTextAreaUI
org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaUI
- All Implemented Interfaces:
ViewFactory
UI used by
RSyntaxTextArea
. This allows us to implement
syntax highlighting.- Version:
- 0.1
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTextUI
BasicTextUI.BasicCaret, BasicTextUI.BasicHighlighter
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final EditorKit
private static final String
private static final String
Fields inherited from class org.fife.ui.rtextarea.RTextAreaUI
textArea
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates the view for an element.protected Highlighter
Creates the highlighter to use for syntax text areas.static ComponentUI
createUI
(JComponent ta) Creates and returns an instance of this UI.protected String
Returns the name to use to cache/fetch the shared action map.Fetches the EditorKit for the UI.protected InputMap
Get the InputMap to use for the UI.protected void
Paints editor augmentations added by RTextArea: highlighted lines, current line highlight, and margin line.protected void
Paints the "matched bracket", if any.protected void
paintMatchedBracketImpl
(Graphics g, RSyntaxTextArea rsta, Rectangle r) protected void
Gets called whenever a bound property is changed on this UI'sRSyntaxTextArea
.void
Updates the view.int
yForLine
(int line) Returns the y-coordinate of the specified line.int
yForLineContaining
(int offs) Returns the y-coordinate of the line containing a specified offset.Methods inherited from class org.fife.ui.rtextarea.RTextAreaUI
createCaret, createKeymap, createRTextAreaActionMap, getRTextArea, getVisibleEditorRect, installDefaults, installKeyboardActions, installUI, paintBackground, paintCurrentLineHighlight, paintLineHighlights, paintMarginLine, paintSafely
Methods inherited from class javax.swing.plaf.basic.BasicTextAreaUI
getBaseline, getBaselineResizeBehavior, getMinimumSize, getPreferredSize, getPropertyPrefix
Methods inherited from class javax.swing.plaf.basic.BasicTextUI
create, damageRange, damageRange, getComponent, getKeymapName, getMaximumSize, getNextVisualPositionFrom, getRootView, getToolTipText, installListeners, modelChanged, modelToView, modelToView, modelToView2D, paint, setView, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI, update, viewToModel, viewToModel, viewToModel2D
Methods inherited from class javax.swing.plaf.TextUI
getToolTipText2D
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount
-
Field Details
-
SHARED_ACTION_MAP_NAME
- See Also:
-
SHARED_INPUT_MAP_NAME
- See Also:
-
DEFAULT_KIT
-
-
Constructor Details
-
RSyntaxTextAreaUI
Constructor.- Parameters:
rSyntaxTextArea
- The text area.
-
-
Method Details
-
createUI
Creates and returns an instance of this UI.- Parameters:
ta
- The text area that will use the UI.- Returns:
- The UI.
-
create
Creates the view for an element.- Specified by:
create
in interfaceViewFactory
- Overrides:
create
in classRTextAreaUI
- Parameters:
elem
- The element.- Returns:
- The view.
-
createHighlighter
Creates the highlighter to use for syntax text areas.- Overrides:
createHighlighter
in classRTextAreaUI
- Returns:
- The highlighter.
-
getActionMapName
Returns the name to use to cache/fetch the shared action map. This should be overridden by subclasses if the subclass has its own custom editor kit to install, so its actions get picked up.- Overrides:
getActionMapName
in classRTextAreaUI
- Returns:
- The name of the cached action map.
-
getEditorKit
Fetches the EditorKit for the UI.- Overrides:
getEditorKit
in classRTextAreaUI
- Parameters:
tc
- The text component for which this UI is installed.- Returns:
- The editor capabilities.
- See Also:
-
getRTextAreaInputMap
Get the InputMap to use for the UI.This method is not named
getInputMap()
because there is a package-private method inBasicTextAreaUI
with that name. Thus, creating a new method with that name causes certain compilers to issue warnings that you are not actually overriding the original method (since it is package-private).- Overrides:
getRTextAreaInputMap
in classRTextAreaUI
-
paintEditorAugmentations
Description copied from class:RTextAreaUI
Paints editor augmentations added by RTextArea: highlighted lines, current line highlight, and margin line.- Overrides:
paintEditorAugmentations
in classRTextAreaUI
- Parameters:
g
- The graphics context with which to paint.
-
paintMatchedBracket
Paints the "matched bracket", if any.- Parameters:
g
- The graphics context.
-
paintMatchedBracketImpl
-
propertyChange
Gets called whenever a bound property is changed on this UI'sRSyntaxTextArea
.- Overrides:
propertyChange
in classBasicTextAreaUI
- Parameters:
e
- The property change event.
-
refreshSyntaxHighlighting
public void refreshSyntaxHighlighting()Updates the view. This should be called when the underlyingRSyntaxTextArea
changes its syntax editing style. -
yForLine
Returns the y-coordinate of the specified line.This method is quicker than using traditional
modelToView(int)
calls, as the entire bounding box isn't computed.- Overrides:
yForLine
in classRTextAreaUI
- Parameters:
line
- The line number.- Returns:
- The y-coordinate of the top of the line, or
-1
if this text area doesn't yet have a positive size or the line is hidden (i.e. from folding). - Throws:
BadLocationException
- Ifline
isn't a valid line number for this document.
-
yForLineContaining
Returns the y-coordinate of the line containing a specified offset.This is faster than calling
modelToView(offs).y
, so it is preferred if you do not need the actual bounding box.- Overrides:
yForLineContaining
in classRTextAreaUI
- Parameters:
offs
- The offset info the document.- Returns:
- The y-coordinate of the top of the offset, or
-1
if this text area doesn't yet have a positive size or the line is hidden (i.e. from folding). - Throws:
BadLocationException
- Ifoffs
isn't a valid offset into the document.
-