org.problets.lib.io.output
Class TextFormatter

java.lang.Object
  extended by org.problets.lib.io.output.TextFormatter

public class TextFormatter
extends java.lang.Object


Field Summary
static int DEFAULT_INTERLINE_SPACING
          The initial spacing between lines this may be changed by a call of one of the public methods before formatting a line.
static int MAX_TAG_LENGTH
          Maximum width of tags.
static int MINIMUM_DISPLAY_AREA
          The minimum width to which the text may be displayed.
static java.lang.String TAG_BD
          Tag for BOLD text attribute.
static java.lang.String TAG_BLACK
          Tag for BLACK text color.
static java.lang.String TAG_BLUE
          Tag for BLUE text color.
static java.lang.String TAG_BR
          Tag for LINE BREAK.
static java.lang.String TAG_CD
          Tag for CODE (Monospaced) font.
static char TAG_CLOSE_MARK
           
static java.lang.String TAG_DARKGRAY
          Tag for DARK GRAY text color.
static java.lang.String TAG_GRAY
          Tag for GRAY text color.
static java.lang.String TAG_GREEN
          Tag for GREEN text color.
static java.lang.String TAG_H1
          Tag for Heading 1 logical style.
static java.lang.String TAG_H2
          Tag for Heading 2 logical style.
static java.lang.String TAG_H3
          Tag for Heading 3 logical style.
static java.lang.String TAG_HR
          Tag for HARD RULE (straight line across text field.
static java.lang.String TAG_HTML_BD
          Tag for BOLD text attribute.
static java.lang.String TAG_HTML_BLACK
          HTML equivalent tag for BLACK text color.
static java.lang.String TAG_HTML_BLUE
          HTML equivalent tag for BLUE text color.
static java.lang.String TAG_HTML_BR
          Tag for LINE BREAK.
static java.lang.String TAG_HTML_CD
          Tag for CODE (Monospaced) font.
static java.lang.String TAG_HTML_COLOR_NEGATE
          HTML equivalent tag for NEGATING TEXT COLOR ONLY
static java.lang.String TAG_HTML_DARKGRAY
          HTML equivalent tag for DARK GRAY text color.
static java.lang.String TAG_HTML_GRAY
          HTML equivalent tag for GRAY text color.
static java.lang.String TAG_HTML_GREEN
          HTML equivalent tag for GREEN text color.
static java.lang.String TAG_HTML_H1
          Tag for Heading 1 logical style.
static java.lang.String TAG_HTML_H2
          Tag for Heading 2 logical style.
static java.lang.String TAG_HTML_H3
          Tag for Heading 3 logical style.
static java.lang.String TAG_HTML_HR
          Tag for HARD RULE (straight line across text field.
static java.lang.String TAG_HTML_IT
          Tag for ITALICS text attribute.
static java.lang.String TAG_HTML_LB
          Tag for BULLETED LIST.
static java.lang.String TAG_HTML_LI
          Tag for LINE ITEM.
static java.lang.String TAG_HTML_LN
          Tag for NUMBERED LIST.
static java.lang.String TAG_HTML_ORANGE
          HTML equivalent tag for ORANGE text color.
static java.lang.String TAG_HTML_P
          Tag for PARAGRAPH (black line between text).
static java.lang.String TAG_HTML_PINK
          HTML equivalent tag for PINK text color.
static java.lang.String TAG_HTML_RED
          HTML equivalent tag for RED text color.
static java.lang.String TAG_HTML_ST
          Tag for STRIKETHROUGH text attribute.
static java.lang.String TAG_HTML_UL
          Tag for UNDERLINED text attribute.
static java.lang.String TAG_HTML_YELLOW
          HTML equivalent tag for YELLOW text color.
static java.lang.String TAG_IN
          Tag for INDENT.
static java.lang.String TAG_IT
          Tag for ITALICS text attribute.
static java.lang.String TAG_LB
          Tag for BULLETED LIST.
static java.lang.String TAG_LI
          Tag for LINE ITEM.
static java.lang.String TAG_LINE_DETAIL
          Tag for LINE NUMBERING text attribute.
static java.lang.String TAG_LN
          Tag for NUMBERED LIST.
static java.lang.String TAG_MONO
          Tag for MONOSPACED font.
static char TAG_NEGATE_MARK
           
static char TAG_OPEN_MARK
           
static java.lang.String TAG_ORANGE
          Tag for ORANGE text color.
static java.lang.String TAG_P
          Tag for PARAGRAPH (black line between text).
static java.lang.String TAG_PINK
          Tag for PINK text color.
static java.lang.String TAG_RED
          Tag for RED text color.
static java.lang.String TAG_SANS
          Tag for SANS SERIF font.
static java.lang.String TAG_SERIF
          Tag for SERIF font.
static char TAG_SIZE_EQUAL_MARK
           
static java.lang.String TAG_ST
          Tag for STRIKETHROUGH text attribute.
static java.lang.String TAG_UL
          Tag for UNDERLINED text attribute.
static java.lang.String TAG_YELLOW
          Tag for YELLOW text color.
 
Constructor Summary
TextFormatter()
           
 
Method Summary
 int formatText(java.awt.Graphics g, int x, int y, int displayWidth, int rightMargin, java.lang.String text)
          Parses and outputs the supplied string with no specified display width or right margin.
 int formatText(java.awt.Graphics g, int x, int y, int displayWidth, java.lang.String text)
           
 boolean getForceStrictHTML()
           
 int getH1Size()
           
 int getH2Size()
           
 int getH3Size()
           
 int getIndent()
           
 int getInterlineSpacing()
           
 boolean getLineDetailDisplayEnabled()
           
 int getNewlineIndent()
           
 boolean getPreserveTagsBetweenLines()
           
 boolean getTagProcessingEnabled()
           
 boolean getWrappingEnabled()
           
 void setForceStrictHTML(boolean forceStrictHTML)
           
 void setH1Size(int size)
          Sets the size in points of the heading 1 style.
 void setH2Size(int size)
           
 void setH3Size(int size)
           
 void setIndent(int indent)
           
 void setInterlineSpacing(int spacing)
           
 void setLineDetailDisplayEnabled(boolean enabled)
           
 void setNewlineIndent(int newlineIndent)
           
 void setPreserveTagsBetweenLines(boolean preserveTags)
           
 void setTagProcessingEnabled(boolean tagProcessing)
           
 void setWrappingEnabled(boolean wrappingEnabled)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TAG_H1

public static final java.lang.String TAG_H1
Tag for Heading 1 logical style.


TAG_H2

public static final java.lang.String TAG_H2
Tag for Heading 2 logical style.


TAG_H3

public static final java.lang.String TAG_H3
Tag for Heading 3 logical style.


TAG_GREEN

public static final java.lang.String TAG_GREEN
Tag for GREEN text color.


TAG_BLUE

public static final java.lang.String TAG_BLUE
Tag for BLUE text color.


TAG_RED

public static final java.lang.String TAG_RED
Tag for RED text color.


TAG_BLACK

public static final java.lang.String TAG_BLACK
Tag for BLACK text color.


TAG_GRAY

public static final java.lang.String TAG_GRAY
Tag for GRAY text color.


TAG_DARKGRAY

public static final java.lang.String TAG_DARKGRAY
Tag for DARK GRAY text color.


TAG_PINK

public static final java.lang.String TAG_PINK
Tag for PINK text color.


TAG_YELLOW

public static final java.lang.String TAG_YELLOW
Tag for YELLOW text color.


TAG_ORANGE

public static final java.lang.String TAG_ORANGE
Tag for ORANGE text color.


TAG_BD

public static final java.lang.String TAG_BD
Tag for BOLD text attribute.


TAG_IT

public static final java.lang.String TAG_IT
Tag for ITALICS text attribute.


TAG_BR

public static final java.lang.String TAG_BR
Tag for LINE BREAK.


TAG_IN

public static final java.lang.String TAG_IN
Tag for INDENT.


TAG_SERIF

public static final java.lang.String TAG_SERIF
Tag for SERIF font.


TAG_SANS

public static final java.lang.String TAG_SANS
Tag for SANS SERIF font.


TAG_MONO

public static final java.lang.String TAG_MONO
Tag for MONOSPACED font.


TAG_CD

public static final java.lang.String TAG_CD
Tag for CODE (Monospaced) font.


TAG_P

public static final java.lang.String TAG_P
Tag for PARAGRAPH (black line between text).


TAG_HR

public static final java.lang.String TAG_HR
Tag for HARD RULE (straight line across text field.


TAG_LN

public static final java.lang.String TAG_LN
Tag for NUMBERED LIST.


TAG_LB

public static final java.lang.String TAG_LB
Tag for BULLETED LIST.


TAG_LI

public static final java.lang.String TAG_LI
Tag for LINE ITEM.


TAG_UL

public static final java.lang.String TAG_UL
Tag for UNDERLINED text attribute.


TAG_ST

public static final java.lang.String TAG_ST
Tag for STRIKETHROUGH text attribute.


TAG_LINE_DETAIL

public static final java.lang.String TAG_LINE_DETAIL
Tag for LINE NUMBERING text attribute.


TAG_HTML_H1

public static final java.lang.String TAG_HTML_H1
Tag for Heading 1 logical style.


TAG_HTML_H2

public static final java.lang.String TAG_HTML_H2
Tag for Heading 2 logical style.


TAG_HTML_H3

public static final java.lang.String TAG_HTML_H3
Tag for Heading 3 logical style.


TAG_HTML_GREEN

public static final java.lang.String TAG_HTML_GREEN
HTML equivalent tag for GREEN text color.


TAG_HTML_BLUE

public static final java.lang.String TAG_HTML_BLUE
HTML equivalent tag for BLUE text color.


TAG_HTML_RED

public static final java.lang.String TAG_HTML_RED
HTML equivalent tag for RED text color.


TAG_HTML_BLACK

public static final java.lang.String TAG_HTML_BLACK
HTML equivalent tag for BLACK text color.


TAG_HTML_GRAY

public static final java.lang.String TAG_HTML_GRAY
HTML equivalent tag for GRAY text color.


TAG_HTML_DARKGRAY

public static final java.lang.String TAG_HTML_DARKGRAY
HTML equivalent tag for DARK GRAY text color.


TAG_HTML_PINK

public static final java.lang.String TAG_HTML_PINK
HTML equivalent tag for PINK text color.


TAG_HTML_YELLOW

public static final java.lang.String TAG_HTML_YELLOW
HTML equivalent tag for YELLOW text color.


TAG_HTML_ORANGE

public static final java.lang.String TAG_HTML_ORANGE
HTML equivalent tag for ORANGE text color.


TAG_HTML_COLOR_NEGATE

public static final java.lang.String TAG_HTML_COLOR_NEGATE
HTML equivalent tag for NEGATING TEXT COLOR ONLY


TAG_HTML_BD

public static final java.lang.String TAG_HTML_BD
Tag for BOLD text attribute.


TAG_HTML_IT

public static final java.lang.String TAG_HTML_IT
Tag for ITALICS text attribute.


TAG_HTML_BR

public static final java.lang.String TAG_HTML_BR
Tag for LINE BREAK.


TAG_HTML_CD

public static final java.lang.String TAG_HTML_CD
Tag for CODE (Monospaced) font.


TAG_HTML_P

public static final java.lang.String TAG_HTML_P
Tag for PARAGRAPH (black line between text).


TAG_HTML_HR

public static final java.lang.String TAG_HTML_HR
Tag for HARD RULE (straight line across text field.


TAG_HTML_LN

public static final java.lang.String TAG_HTML_LN
Tag for NUMBERED LIST.


TAG_HTML_LB

public static final java.lang.String TAG_HTML_LB
Tag for BULLETED LIST.


TAG_HTML_LI

public static final java.lang.String TAG_HTML_LI
Tag for LINE ITEM.


TAG_HTML_UL

public static final java.lang.String TAG_HTML_UL
Tag for UNDERLINED text attribute.


TAG_HTML_ST

public static final java.lang.String TAG_HTML_ST
Tag for STRIKETHROUGH text attribute.


TAG_OPEN_MARK

public static final char TAG_OPEN_MARK
See Also:
Constant Field Values

TAG_CLOSE_MARK

public static final char TAG_CLOSE_MARK
See Also:
Constant Field Values

TAG_NEGATE_MARK

public static final char TAG_NEGATE_MARK
See Also:
Constant Field Values

TAG_SIZE_EQUAL_MARK

public static final char TAG_SIZE_EQUAL_MARK
See Also:
Constant Field Values

MAX_TAG_LENGTH

public static final int MAX_TAG_LENGTH
Maximum width of tags.

See Also:
Constant Field Values

DEFAULT_INTERLINE_SPACING

public static final int DEFAULT_INTERLINE_SPACING
The initial spacing between lines this may be changed by a call of one of the public methods before formatting a line.

See Also:
Constant Field Values

MINIMUM_DISPLAY_AREA

public static final int MINIMUM_DISPLAY_AREA
The minimum width to which the text may be displayed. If the width of the area is below this value, the text will not be drawn.

See Also:
Constant Field Values
Constructor Detail

TextFormatter

public TextFormatter()
Method Detail

getNewlineIndent

public int getNewlineIndent()

setNewlineIndent

public void setNewlineIndent(int newlineIndent)

getWrappingEnabled

public boolean getWrappingEnabled()

setWrappingEnabled

public void setWrappingEnabled(boolean wrappingEnabled)

getForceStrictHTML

public boolean getForceStrictHTML()

setForceStrictHTML

public void setForceStrictHTML(boolean forceStrictHTML)

getTagProcessingEnabled

public boolean getTagProcessingEnabled()

setTagProcessingEnabled

public void setTagProcessingEnabled(boolean tagProcessing)

getPreserveTagsBetweenLines

public boolean getPreserveTagsBetweenLines()

setPreserveTagsBetweenLines

public void setPreserveTagsBetweenLines(boolean preserveTags)

getInterlineSpacing

public int getInterlineSpacing()

setInterlineSpacing

public void setInterlineSpacing(int spacing)

getLineDetailDisplayEnabled

public boolean getLineDetailDisplayEnabled()

setLineDetailDisplayEnabled

public void setLineDetailDisplayEnabled(boolean enabled)

setH1Size

public void setH1Size(int size)
Sets the size in points of the heading 1 style.

Parameters:
size - The desired size in points.

setH2Size

public void setH2Size(int size)

setH3Size

public void setH3Size(int size)

getH1Size

public int getH1Size()

getH2Size

public int getH2Size()

getH3Size

public int getH3Size()

setIndent

public void setIndent(int indent)

getIndent

public int getIndent()

formatText

public int formatText(java.awt.Graphics g,
                      int x,
                      int y,
                      int displayWidth,
                      int rightMargin,
                      java.lang.String text)
Parses and outputs the supplied string with no specified display width or right margin.

Parameters:
g - The Graphics context on which to draw the text.
x - The x-coordinate to start text drawing.
y - The y-coordinate to start text drawing.
text - The text with formatting tags.
Returns:
the new y value for the next line of text.

formatText

public int formatText(java.awt.Graphics g,
                      int x,
                      int y,
                      int displayWidth,
                      java.lang.String text)