Class TextPaneSkin
- java.lang.Object
-
- org.apache.pivot.wtk.skin.ComponentSkin
-
- org.apache.pivot.wtk.skin.ContainerSkin
-
- org.apache.pivot.wtk.skin.TextPaneSkin
-
- All Implemented Interfaces:
ComponentKeyListener,ComponentListener,ComponentMouseButtonListener,ComponentMouseListener,ComponentMouseWheelListener,ComponentStateListener,ComponentTooltipListener,ConstrainedVisual,ContainerListener,ContainerMouseListener,Skin,TextPane.Skin,TextPaneListener,TextPaneSelectionListener,Visual
- Direct Known Subclasses:
TerraTextPaneSkin
public class TextPaneSkin extends ContainerSkin implements TextPane.Skin, TextPaneListener, TextPaneSelectionListener
Text pane skin.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.pivot.wtk.skin.ContainerSkin
ContainerSkin.IndexFocusTraversalPolicy
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentKeyListener
ComponentKeyListener.Adapter, ComponentKeyListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentListener
ComponentListener.Adapter, ComponentListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseButtonListener
ComponentMouseButtonListener.Adapter, ComponentMouseButtonListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseListener
ComponentMouseListener.Adapter, ComponentMouseListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseWheelListener
ComponentMouseWheelListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentStateListener
ComponentStateListener.Adapter, ComponentStateListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentTooltipListener
ComponentTooltipListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerListener
ContainerListener.Adapter, ContainerListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerMouseListener
ContainerMouseListener.Adapter, ContainerMouseListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.TextPaneListener
TextPaneListener.Adapter, TextPaneListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.TextPaneSelectionListener
TextPaneSelectionListener.Listeners
-
-
Constructor Summary
Constructors Constructor Description TextPaneSkin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddocumentChanged(TextPane textPane, Document previousDocument)Called when a text pane's document has changed.voideditableChanged(TextPane textPane)Called when a text pane's editable state has changed.voidenabledChanged(Component component)Called when a component's enabled state has changed.voidfocusedChanged(Component component, Component obverseComponent)Called when a component's focused state has changed.booleangetAcceptsTab()Gets current value of style that determines the behavior ofTABandCtrl-TABcharacters.intgetBaseline(int width, int height)Should be implemented in every subclass.BoundsgetCharacterBounds(int offset)Returns the bounds of the character at a given offset within the document.java.awt.ColorgetColor()booleangetDoingCaretCalculations()java.awt.FontgetFont()java.awt.ColorgetInactiveColor()java.awt.ColorgetInactiveSelectionBackgroundColor()java.awt.ColorgetInactiveSelectionColor()intgetInsertionPoint(int x, int y)Returns the insertion point for a given location.InsetsgetMargin()intgetNextInsertionPoint(int x, int from, TextPane.ScrollDirection direction)Returns the next insertion point given an x coordinate and a character offset.intgetPreferredHeight(int width)Returns the visual's preferred height given the provided width constraint.DimensionsgetPreferredSize()Returns the visual's unconstrained preferred size.intgetPreferredWidth(int height)Returns the visual's preferred width given the provided height constraint.intgetRowAt(int offset)Returns the row index of the character at a given offset within the document.intgetRowCount()java.awt.ColorgetSelectionBackgroundColor()java.awt.ColorgetSelectionColor()intgetTabWidth()TextInputMethodListenergetTextInputMethodListener()Returns the input method listener for this component.booleangetWrapText()voidinstall(Component component)Must be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.booleanisFocusable()By default, skins are focusable.booleankeyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation)Keyboard handling (Tab key or Shift Tab).booleankeyTyped(Component component, char character)Called when a key has been typed.voidlayout()If the component on which the skin is installed is a container, lays out the container's children.booleanmouseClick(Component component, Mouse.Button button, int x, int y, int count)Called when a mouse button is clicked over a component.booleanmouseDown(Component component, Mouse.Button button, int x, int y)Called when a mouse button is pressed over a component.booleanmouseMove(Component component, int x, int y)Called when the mouse is moved over a component.booleanmouseUp(Component component, Mouse.Button button, int x, int y)Called when a mouse button is released over a component.voidpaint(java.awt.Graphics2D graphics)Paints the visual.voidselectionChanged(TextPane textPane, int previousSelectionStart, int previousSelectionLength)Called when a text pane's selection state has changed.voidsetAcceptsTab(boolean acceptsTabValue)Sets current value of style that determines the behavior ofTABandCtrl-TABcharacters.voidsetColor(java.awt.Color colorValue)Sets the foreground color of the text.voidsetColor(java.lang.String colorString)Sets the foreground color of the text.voidsetFont(java.awt.Font newFont)Sets the font of the text.voidsetFont(java.lang.String fontString)Sets the font of the text.voidsetFont(Dictionary<java.lang.String,?> fontDictionary)Sets the font of the text.voidsetInactiveColor(java.awt.Color inactiveColorValue)voidsetInactiveColor(java.lang.String inactiveColorString)voidsetInactiveSelectionBackgroundColor(java.awt.Color inactiveSelectionBackgroundColorValue)voidsetInactiveSelectionBackgroundColor(java.lang.String inactiveSelectionBackgroundColorString)voidsetInactiveSelectionColor(java.awt.Color inactiveSelectionColorValue)voidsetInactiveSelectionColor(java.lang.String inactiveSelectionColorString)voidsetMargin(int marginValue)Sets the amount of space between the edge of the TextPane and its Document.voidsetMargin(java.lang.Number marginValue)Sets the amount of space between the edge of the TextPane and its Document.voidsetMargin(java.lang.String marginString)Sets the amount of space between the edge of the TextPane and its Document.voidsetMargin(Dictionary<java.lang.String,?> marginDictionary)Sets the amount of space between the edge of the TextPane and its Document.voidsetMargin(Sequence<?> marginSequence)Sets the amount of space between the edge of the TextPane and its Document.voidsetMargin(Insets marginValue)Sets the amount of space between the edge of the TextPane and its Document.voidsetSelectionBackgroundColor(java.awt.Color selectionBackgroundColorValue)voidsetSelectionBackgroundColor(java.lang.String selectionBackgroundColorString)voidsetSelectionColor(java.awt.Color selectionColorValue)voidsetSelectionColor(java.lang.String selectionColorString)voidsetTabWidth(int tabWidthValue)voidsetWrapText(boolean wrapTextValue)-
Methods inherited from class org.apache.pivot.wtk.skin.ContainerSkin
componentInserted, componentMoved, componentsRemoved, focusTraversalPolicyChanged, getBackgroundColor, getBackgroundPaint, isOpaque, mouseDown, mouseMove, mouseUp, mouseWheel, setBackgroundColor, setBackgroundColor, setBackgroundColor, setBackgroundPaint, setBackgroundPaint, setBackgroundPaint
-
Methods inherited from class org.apache.pivot.wtk.skin.ComponentSkin
colorFromObject, colorFromObject, colorFromObject, colorFromObject, currentTheme, cursorChanged, decodeFont, defaultBackgroundColor, defaultForegroundColor, dragSourceChanged, dropTargetChanged, fontFromObject, getBaseline, getColor, getComponent, getFocusRectangleStroke, getHeight, getSize, getThemeFont, getWidth, heightLimitsChanged, invalidateComponent, keyReleased, locationChanged, menuHandlerChanged, mouseOut, mouseOver, mouseWheel, nameChanged, parentChanged, preferredSizeChanged, repaintComponent, repaintComponent, repaintComponent, repaintComponent, repaintComponent, setDefaultStyles, setSize, sizeChanged, themeHasThickFocusRectangle, themeHasTransitionEnabled, themeIsDark, themeIsFlat, tooltipDelayChanged, tooltipTextChanged, tooltipTriggered, visibleChanged, widthLimitsChanged
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pivot.wtk.ConstrainedVisual
setSize
-
-
-
-
Method Detail
-
install
public void install(Component component)
Description copied from class:ComponentSkinMust be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.- Specified by:
installin interfaceSkin- Overrides:
installin classContainerSkin- Parameters:
component- The component to which the skin is being attached.
-
isFocusable
public boolean isFocusable()
Description copied from class:ComponentSkinBy default, skins are focusable.- Specified by:
isFocusablein interfaceSkin- Overrides:
isFocusablein classContainerSkin- Returns:
false; by default, containers are not focusable.
-
getPreferredWidth
public int getPreferredWidth(int height)
Description copied from interface:ConstrainedVisualReturns the visual's preferred width given the provided height constraint.- Specified by:
getPreferredWidthin interfaceConstrainedVisual- Overrides:
getPreferredWidthin classContainerSkin- Parameters:
height- The height by which to constrain the preferred width, or-1for no constraint.- Returns:
- The preferred width given the height constraint.
-
getPreferredHeight
public int getPreferredHeight(int width)
Description copied from interface:ConstrainedVisualReturns the visual's preferred height given the provided width constraint.- Specified by:
getPreferredHeightin interfaceConstrainedVisual- Overrides:
getPreferredHeightin classContainerSkin- Parameters:
width- The width by which to constrain the preferred height, or-1for no constraint.- Returns:
- The preferred height given the width constraint.
-
getPreferredSize
public Dimensions getPreferredSize()
Description copied from interface:ConstrainedVisualReturns the visual's unconstrained preferred size.- Specified by:
getPreferredSizein interfaceConstrainedVisual- Overrides:
getPreferredSizein classComponentSkin- Returns:
- The preferred size (width and height) of this component.
Depending on the component this can be a static value or derived (as for a container) from its subcomponents, etc.
The default implementation simply calls
ConstrainedVisual.getPreferredWidth(int)andConstrainedVisual.getPreferredHeight(int).
-
getBaseline
public int getBaseline(int width, int height)Description copied from class:ComponentSkinShould be implemented in every subclass.The default implementation here simply returns -1 (no baseline).
- Specified by:
getBaselinein interfaceConstrainedVisual- Overrides:
getBaselinein classComponentSkin- Parameters:
width- Constrained width to compute the baseline for.height- Constrained height to compute the baseline for.- Returns:
- The baseline relative to the origin of this visual, or
-1if this visual does not have a baseline.
-
layout
public void layout()
Description copied from interface:SkinIf the component on which the skin is installed is a container, lays out the container's children.
-
paint
public void paint(java.awt.Graphics2D graphics)
Description copied from interface:VisualPaints the visual.- Specified by:
paintin interfaceVisual- Overrides:
paintin classContainerSkin- Parameters:
graphics- The graphics context in which to paint the visual.
-
getInsertionPoint
public int getInsertionPoint(int x, int y)Description copied from interface:TextPane.SkinReturns the insertion point for a given location.- Specified by:
getInsertionPointin interfaceTextPane.Skin- Parameters:
x- The X-coordinate of the location to check.y- The Y-coordinate of the location.- Returns:
- The insertion point for the given location.
-
getNextInsertionPoint
public int getNextInsertionPoint(int x, int from, TextPane.ScrollDirection direction)Description copied from interface:TextPane.SkinReturns the next insertion point given an x coordinate and a character offset.- Specified by:
getNextInsertionPointin interfaceTextPane.Skin- Parameters:
x- The current X-coordinate to move from.from- The current character offset to move from.direction- The direction to move from the current location.- Returns:
- The next insertion point.
-
getRowAt
public int getRowAt(int offset)
Description copied from interface:TextPane.SkinReturns the row index of the character at a given offset within the document.- Specified by:
getRowAtin interfaceTextPane.Skin- Parameters:
offset- The character offset to check.- Returns:
- The row index of the character at the given offset.
-
getRowCount
public int getRowCount()
- Specified by:
getRowCountin interfaceTextPane.Skin- Returns:
- The total number of rows in the document.
-
getCharacterBounds
public Bounds getCharacterBounds(int offset)
Description copied from interface:TextPane.SkinReturns the bounds of the character at a given offset within the document.- Specified by:
getCharacterBoundsin interfaceTextPane.Skin- Parameters:
offset- The index of the character we want the bounds for.- Returns:
- The bounds of the character at the given offset.
-
getDoingCaretCalculations
public boolean getDoingCaretCalculations()
- Returns:
- Current flag value that indicates we are doing caret location calculations.
-
getAcceptsTab
public boolean getAcceptsTab()
Gets current value of style that determines the behavior ofTABandCtrl-TABcharacters.- Returns:
trueifTABinserts an appropriate number of spaces, whileCtrl-TABshifts focus to next component.false(default) meansTABshifts focus andCtrl-TABinserts spaces.
-
setAcceptsTab
public void setAcceptsTab(boolean acceptsTabValue)
Sets current value of style that determines the behavior ofTABandCtrl-TABcharacters.- Parameters:
acceptsTabValue-trueifTABinserts an appropriate number of spaces, whileCtrl-TABshifts focus to next component.false(default) meansTABshifts focus andCtrl-TABinserts spaces.
-
getTabWidth
public int getTabWidth()
- Specified by:
getTabWidthin interfaceTextPane.Skin- Returns:
- The current setting of the "tabWidth" style (so "setText" uses the same value as Ctrl-Tab from user).
-
setTabWidth
public void setTabWidth(int tabWidthValue)
-
getFont
public java.awt.Font getFont()
- Returns:
- The font of the text.
-
setFont
public void setFont(java.awt.Font newFont)
Sets the font of the text.- Parameters:
newFont- The new font for all the text.
-
setFont
public final void setFont(java.lang.String fontString)
Sets the font of the text.- Parameters:
fontString- Afont specification
-
setFont
public final void setFont(Dictionary<java.lang.String,?> fontDictionary)
Sets the font of the text.- Parameters:
fontDictionary- A dictionarydescribing a font
-
getColor
public java.awt.Color getColor()
- Returns:
- The foreground color of the text.
-
setColor
public void setColor(java.awt.Color colorValue)
Sets the foreground color of the text.- Parameters:
colorValue- The new text color.
-
setColor
public final void setColor(java.lang.String colorString)
Sets the foreground color of the text.- Parameters:
colorString- Any of the color values recognized by Pivot.
-
getInactiveColor
public java.awt.Color getInactiveColor()
-
setInactiveColor
public void setInactiveColor(java.awt.Color inactiveColorValue)
-
setInactiveColor
public final void setInactiveColor(java.lang.String inactiveColorString)
-
getSelectionColor
public java.awt.Color getSelectionColor()
-
setSelectionColor
public void setSelectionColor(java.awt.Color selectionColorValue)
-
setSelectionColor
public final void setSelectionColor(java.lang.String selectionColorString)
-
getSelectionBackgroundColor
public java.awt.Color getSelectionBackgroundColor()
-
setSelectionBackgroundColor
public void setSelectionBackgroundColor(java.awt.Color selectionBackgroundColorValue)
-
setSelectionBackgroundColor
public final void setSelectionBackgroundColor(java.lang.String selectionBackgroundColorString)
-
getInactiveSelectionColor
public java.awt.Color getInactiveSelectionColor()
-
setInactiveSelectionColor
public void setInactiveSelectionColor(java.awt.Color inactiveSelectionColorValue)
-
setInactiveSelectionColor
public final void setInactiveSelectionColor(java.lang.String inactiveSelectionColorString)
-
getInactiveSelectionBackgroundColor
public java.awt.Color getInactiveSelectionBackgroundColor()
-
setInactiveSelectionBackgroundColor
public void setInactiveSelectionBackgroundColor(java.awt.Color inactiveSelectionBackgroundColorValue)
-
setInactiveSelectionBackgroundColor
public final void setInactiveSelectionBackgroundColor(java.lang.String inactiveSelectionBackgroundColorString)
-
getMargin
public Insets getMargin()
- Returns:
- The amount of space between the edge of the TextPane and its Document.
-
setMargin
public void setMargin(Insets marginValue)
Sets the amount of space between the edge of the TextPane and its Document.- Parameters:
marginValue- The new set of margin values.
-
setMargin
public final void setMargin(Dictionary<java.lang.String,?> marginDictionary)
Sets the amount of space between the edge of the TextPane and its Document.- Parameters:
marginDictionary- A dictionary with keys in the set {top, left, bottom, right}.
-
setMargin
public final void setMargin(Sequence<?> marginSequence)
Sets the amount of space between the edge of the TextPane and its Document.- Parameters:
marginSequence- A sequence with values in the order [top, left, bottom, right].
-
setMargin
public final void setMargin(int marginValue)
Sets the amount of space between the edge of the TextPane and its Document.- Parameters:
marginValue- The single margin value for all edges.
-
setMargin
public final void setMargin(java.lang.Number marginValue)
Sets the amount of space between the edge of the TextPane and its Document.- Parameters:
marginValue- The new single margin value for all the edges.
-
setMargin
public final void setMargin(java.lang.String marginString)
Sets the amount of space between the edge of the TextPane and its Document.- Parameters:
marginString- A string containing an integer or a JSON dictionary with keys left, top, bottom, and/or right.
-
getWrapText
public boolean getWrapText()
-
setWrapText
public void setWrapText(boolean wrapTextValue)
-
mouseMove
public boolean mouseMove(Component component, int x, int y)
Description copied from interface:ComponentMouseListenerCalled when the mouse is moved over a component.- Specified by:
mouseMovein interfaceComponentMouseListener- Overrides:
mouseMovein classComponentSkin- Parameters:
component- Component that is under the mouse.x- X position of the mouse.y- Y position of the mouse.- Returns:
trueto consume the event;falseto allow it to propagate (default return).
-
mouseDown
public boolean mouseDown(Component component, Mouse.Button button, int x, int y)
Description copied from interface:ComponentMouseButtonListenerCalled when a mouse button is pressed over a component.- Specified by:
mouseDownin interfaceComponentMouseButtonListener- Overrides:
mouseDownin classComponentSkin- Parameters:
component- Component that is under the mouse pointer.button- Which mouse button was pressed.x- X position of the mouse.y- Y position of the mouse.- Returns:
trueto consume the event;falseto allow it to propagate (default).
-
mouseUp
public boolean mouseUp(Component component, Mouse.Button button, int x, int y)
Description copied from interface:ComponentMouseButtonListenerCalled when a mouse button is released over a component.- Specified by:
mouseUpin interfaceComponentMouseButtonListener- Overrides:
mouseUpin classComponentSkin- Parameters:
component- Component user the mouse pointer.button- Which mouse button that was released.x- X position of the mouse.y- Y position of the mouse.- Returns:
trueto consume the event;falseto allow it to propagate (default).
-
mouseClick
public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count)
Description copied from interface:ComponentMouseButtonListenerCalled when a mouse button is clicked over a component.- Specified by:
mouseClickin interfaceComponentMouseButtonListener- Overrides:
mouseClickin classComponentSkin- Parameters:
component- Component user the mouse pointer.button- Which mouse button was clicked.x- X position of the mouse.y- Y position of the mouse.count- Number of clicks (1 = single click, 2 = double click, etc.).- Returns:
trueto consume the event;falseto allow it to propagate (default).
-
keyTyped
public boolean keyTyped(Component component, char character)
Description copied from interface:ComponentKeyListenerCalled when a key has been typed.- Specified by:
keyTypedin interfaceComponentKeyListener- Overrides:
keyTypedin classComponentSkin- Parameters:
component- Component that has the focus, that is receiving this key.character- The decoded character that was typed.- Returns:
trueto consume the event;falseto allow it to propagate.
-
keyPressed
public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation)
Description copied from class:ComponentSkinKeyboard handling (Tab key or Shift Tab).- Specified by:
keyPressedin interfaceComponentKeyListener- Overrides:
keyPressedin classComponentSkin- Parameters:
component- Component that has the focus.keyCode- The key code for the key that was pressed.keyLocation- Location value for the key (left or right for shift keys, etc.).- Returns:
trueto consume the event;falseto allow it to propagate.
-
enabledChanged
public void enabledChanged(Component component)
Description copied from interface:ComponentStateListenerCalled when a component's enabled state has changed.Called both when the component is enabled and when it is disabled. The component's
enabledflag has already been set when this method is called so the new state can be determined by calling theComponent.isEnabled()method.- Specified by:
enabledChangedin interfaceComponentStateListener- Overrides:
enabledChangedin classComponentSkin- Parameters:
component- The component whose enabled state is changing.
-
focusedChanged
public void focusedChanged(Component component, Component obverseComponent)
Description copied from interface:ComponentStateListenerCalled when a component's focused state has changed.This will be called both when a component gains focus and when it loses focus. The currently focused component has already been set when this method is called, so that the new state of the component can be determined by calling the
Component.isFocused()method.- Specified by:
focusedChangedin interfaceComponentStateListener- Overrides:
focusedChangedin classComponentSkin- Parameters:
component- The component that is either gaining focus or the one that previously had focus and is now losing it.obverseComponent- If the component is gaining focus, this is the component that is losing focus. If the component is losing focus this is the component that is gaining the focus instead.
-
documentChanged
public void documentChanged(TextPane textPane, Document previousDocument)
Description copied from interface:TextPaneListenerCalled when a text pane's document has changed.- Specified by:
documentChangedin interfaceTextPaneListener- Parameters:
textPane- The text pane that changed.previousDocument- What the document used to be.
-
editableChanged
public void editableChanged(TextPane textPane)
Description copied from interface:TextPaneListenerCalled when a text pane's editable state has changed.- Specified by:
editableChangedin interfaceTextPaneListener- Parameters:
textPane- The source of this event.
-
selectionChanged
public void selectionChanged(TextPane textPane, int previousSelectionStart, int previousSelectionLength)
Description copied from interface:TextPaneSelectionListenerCalled when a text pane's selection state has changed.- Specified by:
selectionChangedin interfaceTextPaneSelectionListener- Parameters:
textPane- The source of this event.previousSelectionStart- The offset where the selection used to start.previousSelectionLength- What the selection length was previously.
-
getTextInputMethodListener
public TextInputMethodListener getTextInputMethodListener()
Description copied from class:ComponentSkinReturns the input method listener for this component.Should be overridden by any component's skin that wants to handle Input Method events (such as
TextInput).- Overrides:
getTextInputMethodListenerin classComponentSkin- Returns:
- The input method listener (if any) for this component.
-
-