org.fife.ui.rsyntaxtextarea
Class Theme

java.lang.Object
  extended by org.fife.ui.rsyntaxtextarea.Theme

public class Theme
extends java.lang.Object

A theme is a set of fonts and colors to use to style RSyntaxTextArea. Themes are defined in XML files that are validated against themes.dtd. This provides applications and other consumers with an easy way to style RSyntaxTextArea without having to use the API.

Sample themes are included in the source tree under the /themes folder, but are not a part of the built RSyntaxTextArea jar. Hosting applications are free to ship and use these themes as-is, modify them, or create their own.

Note that to save a Theme via save(OutputStream), you must currently create a Theme from a text area wrapped in an RTextScrollPane, so that the color information for the gutter can be retrieved.

Version:
1.0
Author:
Robert Futrell

Constructor Summary
Theme(RSyntaxTextArea textArea)
          Creates a theme from an RSyntaxTextArea.
 
Method Summary
 void apply(RSyntaxTextArea textArea)
          Applies this theme to a text area.
static Theme load(java.io.InputStream in)
          Loads a theme.
static Theme load(java.io.InputStream in, java.awt.Font baseFont)
          Loads a theme.
 void save(java.io.OutputStream out)
          Saves this theme to an output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Theme

public Theme(RSyntaxTextArea textArea)
Creates a theme from an RSyntaxTextArea. It should be contained in an RTextScrollPane to get all gutter color information.

Parameters:
textArea - The text area.
Method Detail

apply

public void apply(RSyntaxTextArea textArea)
Applies this theme to a text area.

Parameters:
textArea - The text area to apply this theme to.

load

public static Theme load(java.io.InputStream in)
                  throws java.io.IOException
Loads a theme.

Parameters:
in - The input stream to read from. This will be closed when this method returns.
Returns:
The theme.
Throws:
java.io.IOException - If an IO error occurs.
See Also:
save(OutputStream)

load

public static Theme load(java.io.InputStream in,
                         java.awt.Font baseFont)
                  throws java.io.IOException
Loads a theme.

Parameters:
in - The input stream to read from. This will be closed when this method returns.
baseFont - The default font to use for any "base font" properties not specified in the theme XML. If this is null, a default monospaced font will be used.
Returns:
The theme.
Throws:
java.io.IOException - If an IO error occurs.
See Also:
save(OutputStream)

save

public void save(java.io.OutputStream out)
          throws java.io.IOException
Saves this theme to an output stream.

Parameters:
out - The output stream to write to.
Throws:
java.io.IOException - If an IO error occurs.
See Also:
load(InputStream)