com.alee.extended.label
Class WebStyledLabelPainter<E extends WebStyledLabel>

java.lang.Object
  extended by com.alee.extended.painter.AbstractPainter<E>
      extended by com.alee.managers.style.skin.web.WebLabelPainter<E>
          extended by com.alee.extended.label.WebStyledLabelPainter<E>
All Implemented Interfaces:
StyledLabelPainter<E>, Painter<E>, SpecificPainter, LabelPainter<E>, javax.swing.SwingConstants

public class WebStyledLabelPainter<E extends WebStyledLabel>
extends WebLabelPainter<E>
implements StyledLabelPainter<E>, javax.swing.SwingConstants

Author:
Mikle Garin

Field Summary
protected  boolean ignoreColorSettings
           
protected  int preferredRowCount
          Style settings.
protected  boolean retrievingPreferredSize
           
protected  float scriptFontRatio
           
protected  java.util.List<TextRange> textRanges
          Runtime variables.
protected  boolean truncated
           
protected  java.lang.String truncatedTextSuffix
           
 
Fields inherited from class com.alee.managers.style.skin.web.WebLabelPainter
backgroundPainter, drawShade, paintIconR, paintTextR, shadeColor, transparency
 
Fields inherited from class com.alee.extended.painter.AbstractPainter
listeners, margin, opaque, preferredSize
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Constructor Summary
WebStyledLabelPainter()
           
 
Method Summary
protected  int getLabelHeight(E label, java.awt.Insets insets)
          Returns current label height.
protected  int getLabelWidth(E label)
          Returns current label width.
protected  int getLayoutWidth(E label, int maxWidth)
          Returns layout width.
protected  int getMaximumWidth(E label, int maxWidth, int natural, int limited)
          Returns maximum width.
 int getPreferredRowCount()
          Returns preferred row count.
 java.awt.Dimension getPreferredSize(E label)
          Returns preferred size required for proper painting of visual data provided by this painter.
protected  java.awt.Dimension getPreferredSizeImpl(E label)
          Returns label preferred size.
 float getScriptFontRatio()
          Returns subscript and superscript font ratio.
protected  int getStartX(E label, int textX, java.awt.Insets insets)
          Returns start X coordinate.
protected  int getTextWidth(E label)
          Returns current label's text width.
 java.lang.String getTruncatedTextSuffix()
          Returns truncated text suffix.
 boolean isIgnoreColorSettings()
          Returns whether color settings should be ignored or not.
protected  java.lang.String layoutCL(E label, java.awt.FontMetrics fontMetrics, java.lang.String text, javax.swing.Icon icon, java.awt.Rectangle viewR, java.awt.Rectangle iconR, java.awt.Rectangle textR)
          Performs label layout and returns clipped or full label text.
protected  void paintDisabledText(E label, java.awt.Graphics2D g2d, java.lang.String text, int textX, int textY)
          Performs disabled text painting.
protected  void paintEnabledText(E label, java.awt.Graphics2D g2d, java.lang.String text, int textX, int textY)
          Performs enabled text painting.
protected  void paintRow(E label, java.awt.Graphics2D g, int leftAlignmentX, int thisLineEndX, int rightMostX, int textY, int startOffset, int endOffset, boolean lastRow)
          Paints single text row.
protected  void paintStyledText(E label, java.awt.Graphics2D g, int textX, int textY)
          Paints styled text.
protected  int paintStyledTextImpl(E label, java.awt.Graphics2D g, int textX, int textY, int w)
          Paints styled text.
 void setIgnoreColorSettings(boolean ignore)
          Sets whether color settings should be ignored or not.
 void setPreferredRowCount(int rows)
          Sets preferred row count.
 void setScriptFontRatio(float ratio)
          Sets subscript and superscript font ratio.
 void setTruncatedTextSuffix(java.lang.String suffix)
          Sets truncated text suffix.
 void updateTextRanges()
          Forces text ranges to be updated according to current style ranges and text.
 
Methods inherited from class com.alee.managers.style.skin.web.WebLabelPainter
getBackgroundPainter, getMargin, getShadeColor, getTransparency, isDrawShade, isOpaque, layout, paint, paintShadowText, setBackgroundPainter, setDrawShade, setShadeColor, setTransparency
 
Methods inherited from class com.alee.extended.painter.AbstractPainter
addPainterListener, install, p, removePainterListener, repaint, repaint, repaint, revalidate, setMargin, setMargin, setMargin, setOpaque, setPreferredSize, uninstall, updateAll, updateOpacity
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.alee.extended.painter.Painter
addPainterListener, getMargin, install, isOpaque, paint, removePainterListener, uninstall
 

Field Detail

preferredRowCount

protected int preferredRowCount
Style settings.


ignoreColorSettings

protected boolean ignoreColorSettings

scriptFontRatio

protected float scriptFontRatio

truncatedTextSuffix

protected java.lang.String truncatedTextSuffix

textRanges

protected final java.util.List<TextRange> textRanges
Runtime variables.


retrievingPreferredSize

protected boolean retrievingPreferredSize

truncated

protected boolean truncated
Constructor Detail

WebStyledLabelPainter

public WebStyledLabelPainter()
Method Detail

getPreferredRowCount

public int getPreferredRowCount()
Returns preferred row count.

Returns:
preferred row count

setPreferredRowCount

public void setPreferredRowCount(int rows)
Sets preferred row count.

Specified by:
setPreferredRowCount in interface StyledLabelPainter<E extends WebStyledLabel>
Parameters:
rows - new preferred row count

isIgnoreColorSettings

public boolean isIgnoreColorSettings()
Returns whether color settings should be ignored or not.

Returns:
true if color settings should be ignored, false otherwise

setIgnoreColorSettings

public void setIgnoreColorSettings(boolean ignore)
Sets whether color settings should be ignored or not.

Specified by:
setIgnoreColorSettings in interface StyledLabelPainter<E extends WebStyledLabel>
Parameters:
ignore - whether color settings should be ignored or not

getScriptFontRatio

public float getScriptFontRatio()
Returns subscript and superscript font ratio.

Returns:
subscript and superscript font ratio

setScriptFontRatio

public void setScriptFontRatio(float ratio)
Sets subscript and superscript font ratio.

Specified by:
setScriptFontRatio in interface StyledLabelPainter<E extends WebStyledLabel>
Parameters:
ratio - new subscript and superscript font ratio

getTruncatedTextSuffix

public java.lang.String getTruncatedTextSuffix()
Returns truncated text suffix.

Returns:
truncated text suffix

setTruncatedTextSuffix

public void setTruncatedTextSuffix(java.lang.String suffix)
Sets truncated text suffix.

Specified by:
setTruncatedTextSuffix in interface StyledLabelPainter<E extends WebStyledLabel>
Parameters:
suffix - new truncated text suffix

updateTextRanges

public void updateTextRanges()
Forces text ranges to be updated according to current style ranges and text.

Specified by:
updateTextRanges in interface StyledLabelPainter<E extends WebStyledLabel>

paintEnabledText

protected void paintEnabledText(E label,
                                java.awt.Graphics2D g2d,
                                java.lang.String text,
                                int textX,
                                int textY)
Performs enabled text painting.

Overrides:
paintEnabledText in class WebLabelPainter<E extends WebStyledLabel>
Parameters:
label - label to process
g2d - graphics context
text - label text
textX - text X coordinate
textY - text Y coordinate

paintDisabledText

protected void paintDisabledText(E label,
                                 java.awt.Graphics2D g2d,
                                 java.lang.String text,
                                 int textX,
                                 int textY)
Performs disabled text painting.

Overrides:
paintDisabledText in class WebLabelPainter<E extends WebStyledLabel>
Parameters:
label - label to process
g2d - graphics context
text - label text
textX - text X coordinate
textY - text Y coordinate

paintStyledText

protected void paintStyledText(E label,
                               java.awt.Graphics2D g,
                               int textX,
                               int textY)
Paints styled text.

Parameters:
label - painted label
g - graphics context
textX - text X coordinate
textY - text Y coordinate

getLabelWidth

protected int getLabelWidth(E label)
Returns current label width.

Parameters:
label - painted label
Returns:
current label width

getTextWidth

protected int getTextWidth(E label)
Returns current label's text width.

Parameters:
label - painted label
Returns:
current label's text width

paintStyledTextImpl

protected int paintStyledTextImpl(E label,
                                  java.awt.Graphics2D g,
                                  int textX,
                                  int textY,
                                  int w)
Paints styled text.

Parameters:
label - painted label
g - graphics context
textX - text X coordinate
textY - text Y coordinate
w - painted text max width
Returns:
painted rows amount

getStartX

protected int getStartX(E label,
                        int textX,
                        java.awt.Insets insets)
Returns start X coordinate.

Parameters:
label - painted label
textX - text X coordinate
insets - label insets
Returns:
start X coordinate

getLabelHeight

protected int getLabelHeight(E label,
                             java.awt.Insets insets)
Returns current label height.

Parameters:
label - painted label
insets - label insets
Returns:
current label height

paintRow

protected void paintRow(E label,
                        java.awt.Graphics2D g,
                        int leftAlignmentX,
                        int thisLineEndX,
                        int rightMostX,
                        int textY,
                        int startOffset,
                        int endOffset,
                        boolean lastRow)
Paints single text row.

Parameters:
label - painted label
g - graphics context
leftAlignmentX - left alignment X coordinate
thisLineEndX - line end X coordinate
rightMostX - right most X coordinate
textY - text Y coordinate
startOffset - start offset
endOffset - end offset
lastRow - whether this is the last row or not

layoutCL

protected java.lang.String layoutCL(E label,
                                    java.awt.FontMetrics fontMetrics,
                                    java.lang.String text,
                                    javax.swing.Icon icon,
                                    java.awt.Rectangle viewR,
                                    java.awt.Rectangle iconR,
                                    java.awt.Rectangle textR)
Performs label layout and returns clipped or full label text.

Overrides:
layoutCL in class WebLabelPainter<E extends WebStyledLabel>
Parameters:
label - label to process
fontMetrics - label font metrics
text - label text
icon - label icon
viewR - rectangle limited by label insets
iconR - icon rectangle dummy
textR - text rectangle dummy
Returns:
clipped or full label text

getPreferredSize

public java.awt.Dimension getPreferredSize(E label)
Returns preferred size required for proper painting of visual data provided by this painter. This should not take into account any sizes not related to this painter settings (for example text size on button).

Specified by:
getPreferredSize in interface Painter<E extends WebStyledLabel>
Overrides:
getPreferredSize in class WebLabelPainter<E extends WebStyledLabel>
Parameters:
label - component to process
Returns:
preferred size required for proper painting of visual data provided by this painter

getPreferredSizeImpl

protected java.awt.Dimension getPreferredSizeImpl(E label)
Returns label preferred size.

Parameters:
label - label to retrieve preferred size for
Returns:
label preferred size

getLayoutWidth

protected int getLayoutWidth(E label,
                             int maxWidth)
Returns layout width.

Parameters:
label - painted label
maxWidth - maximum width
Returns:
layout width

getMaximumWidth

protected int getMaximumWidth(E label,
                              int maxWidth,
                              int natural,
                              int limited)
Returns maximum width.

Parameters:
label - painted label
maxWidth - maximum width
natural - natural row count
limited - limited row count
Returns:
maximum width