<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_27) on Sat Dec 03 18:46:21 CST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Serialized Form (Java Prettify)
</TITLE>

<META NAME="date" CONTENT="2011-12-03">

<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Serialized Form (Java Prettify)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<CENTER>
<H1>
Serialized Form</H1>
</CENTER>
<HR SIZE="4" NOSHADE>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="center"><FONT SIZE="+2">
<B>Package</B> <B>prettify</B></FONT></TH>
</TR>
</TABLE>

<P>
<A NAME="prettify.SyntaxHighlighter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class <A HREF="prettify/SyntaxHighlighter.html" title="class in prettify">prettify.SyntaxHighlighter</A> extends javax.swing.JScrollPane implements Serializable</B></FONT></TH>
</TR>
</TABLE>

<P>
<B>serialVersionUID:&nbsp;</B>1L

<P>
<A NAME="serializedForm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Serialized Fields</B></FONT></TH>
</TR>
</TABLE>

<H3>
highlighter</H3>
<PRE>
<A HREF="prettify/gui/SyntaxHighlighterPane.html" title="class in prettify.gui">SyntaxHighlighterPane</A> <B>highlighter</B></PRE>
<DL>
<DD>The script text panel.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlighterRowHeader</H3>
<PRE>
<A HREF="prettify/gui/JTextComponentRowHeader.html" title="class in prettify.gui">JTextComponentRowHeader</A> <B>highlighterRowHeader</B></PRE>
<DL>
<DD>The gutter panel (line number).
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
theme</H3>
<PRE>
<A HREF="prettify/theme/Theme.html" title="class in prettify.theme">Theme</A> <B>theme</B></PRE>
<DL>
<DD>The theme.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
prettify</H3>
<PRE>
<A HREF="prettify/parser/Prettify.html" title="class in prettify.parser">Prettify</A> <B>prettify</B></PRE>
<DL>
<DD>The Prettify object.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
content</H3>
<PRE>
java.lang.String <B>content</B></PRE>
<DL>
<DD>The content of the syntax highlighter, null if there is no content so far.
<P>
<DL>
</DL>
</DL>
<HR SIZE="4" NOSHADE>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="center"><FONT SIZE="+2">
<B>Package</B> <B>prettify.gui</B></FONT></TH>
</TR>
</TABLE>

<P>
<A NAME="prettify.gui.JTextComponentRowHeader"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class <A HREF="prettify/gui/JTextComponentRowHeader.html" title="class in prettify.gui">prettify.gui.JTextComponentRowHeader</A> extends javax.swing.JPanel implements Serializable</B></FONT></TH>
</TR>
</TABLE>

<P>
<B>serialVersionUID:&nbsp;</B>1L

<P>
<A NAME="serializedForm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Serialized Fields</B></FONT></TH>
</TR>
</TABLE>

<H3>
textAntiAliasing</H3>
<PRE>
java.lang.Object <B>textAntiAliasing</B></PRE>
<DL>
<DD>The anti-aliasing setting of the line number text. See
 <CODE>RenderingHints</CODE>.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
borderColor</H3>
<PRE>
java.awt.Color <B>borderColor</B></PRE>
<DL>
<DD>The color of the border that joint the gutter and the script text panel.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlightedColor</H3>
<PRE>
java.awt.Color <B>highlightedColor</B></PRE>
<DL>
<DD>The background of the row when it is highlighted.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
paddingLeft</H3>
<PRE>
int <B>paddingLeft</B></PRE>
<DL>
<DD>The minimum padding from 'the leftmost of the line number text' to 
 'the left margin'.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
paddingRight</H3>
<PRE>
int <B>paddingRight</B></PRE>
<DL>
<DD>The minimum padding from 'the rightmost of the line number text' to 
 'the right margin' (not to the gutter border).
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
borderWidth</H3>
<PRE>
int <B>borderWidth</B></PRE>
<DL>
<DD>The width of the border that joint the gutter and the script text panel.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
scrollPane</H3>
<PRE>
javax.swing.JScrollPane <B>scrollPane</B></PRE>
<DL>
<DD>The JScrollPane that it be added into.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
textComponent</H3>
<PRE>
javax.swing.text.JTextComponent <B>textComponent</B></PRE>
<DL>
<DD>The text component to listen the change events on.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
document</H3>
<PRE>
javax.swing.text.Document <B>document</B></PRE>
<DL>
<DD>The document of the text component.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
documentListener</H3>
<PRE>
javax.swing.event.DocumentListener <B>documentListener</B></PRE>
<DL>
<DD>The document listener for <A HREF="prettify/gui/JTextComponentRowHeader.html#document"><CODE>JTextComponentRowHeader.document</CODE></A>.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
panelWidth</H3>
<PRE>
int <B>panelWidth</B></PRE>
<DL>
<DD>The cached panel width.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
largestRowNumber</H3>
<PRE>
int <B>largestRowNumber</B></PRE>
<DL>
<DD>The cached largest row number (for determine panel width 
 <A HREF="prettify/gui/JTextComponentRowHeader.html#panelWidth"><CODE>JTextComponentRowHeader.panelWidth</CODE></A>).
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
textComponentHeight</H3>
<PRE>
int <B>textComponentHeight</B></PRE>
<DL>
<DD>The cached text component height, for determine panel height.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
lineNumberOffset</H3>
<PRE>
int <B>lineNumberOffset</B></PRE>
<DL>
<DD>The line number offset. E.g. set offset to 9 will make the first line 
 number to appear at line 1 + 9 = 10
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlightedLineList</H3>
<PRE>
java.util.List&lt;E&gt; <B>highlightedLineList</B></PRE>
<DL>
<DD>The list of line numbers that indicate which lines are needed to be 
 highlighted.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
listenToDocumentUpdate</H3>
<PRE>
boolean <B>listenToDocumentUpdate</B></PRE>
<DL>
<DD>Indicator indicate whether it is listening to the document change events 
 or not.
<P>
<DL>
</DL>
</DL>

<P>
<A NAME="prettify.gui.SyntaxHighlighterPane"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class <A HREF="prettify/gui/SyntaxHighlighterPane.html" title="class in prettify.gui">prettify.gui.SyntaxHighlighterPane</A> extends javax.swing.JTextPane implements Serializable</B></FONT></TH>
</TR>
</TABLE>

<P>
<B>serialVersionUID:&nbsp;</B>1L

<P>
<A NAME="serializedForm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Serialized Fields</B></FONT></TH>
</TR>
</TABLE>

<H3>
lineNumberOffset</H3>
<PRE>
int <B>lineNumberOffset</B></PRE>
<DL>
<DD>The line number offset. E.g. set offset to 9 will make the first line 
 number to appear at line 1 + 9 = 10
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlightedBackground</H3>
<PRE>
java.awt.Color <B>highlightedBackground</B></PRE>
<DL>
<DD>The background color of the highlighted line. Default is black.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlightWhenMouseOver</H3>
<PRE>
boolean <B>highlightWhenMouseOver</B></PRE>
<DL>
<DD>Indicator that indicate to turn on the mouse-over highlight effect or not. 
 See <A HREF="prettify/gui/SyntaxHighlighterPane.html#setHighlightOnMouseOver(boolean)"><CODE>setHighlightOnMouseOver(boolean)</CODE></A>.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlightedLineList</H3>
<PRE>
java.util.List&lt;E&gt; <B>highlightedLineList</B></PRE>
<DL>
<DD>The list of line numbers that indicate which lines are needed to be 
 highlighted.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
highlightPainter</H3>
<PRE>
javax.swing.text.Highlighter.HighlightPainter <B>highlightPainter</B></PRE>
<DL>
<DD>The highlighter painter used to do the highlight line effect.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
theme</H3>
<PRE>
<A HREF="prettify/theme/Theme.html" title="class in prettify.theme">Theme</A> <B>theme</B></PRE>
<DL>
<DD>The theme.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
styleList</H3>
<PRE>
java.util.List&lt;E&gt; <B>styleList</B></PRE>
<DL>
<DD>The style list. see <A HREF="prettify/gui/SyntaxHighlighterPane.html#setStyle(java.util.List)"><CODE>setStyle(java.util.List)</CODE></A>.
<P>
<DL>
</DL>
</DL>
<HR>
<H3>
mouseOnLine</H3>
<PRE>
int <B>mouseOnLine</B></PRE>
<DL>
<DD>Record the mouse cursor is currently pointing at which line of the 
 document. -1 means not any line.
 It is used internally.
<P>
<DL>
</DL>
</DL>

<P>
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
