<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
               Class XMLTextAttributeMap</h2><br><hr><pre>public class <strong>XMLTextAttributeMap</strong>
extends java.lang.Object</pre>XMlTextAttributeMap handles the mapping of XML Style Constants to TextAttributes.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_createTextAttribute">createTextAttribute</a>(RGB foreground
         ,
      RGB background
         ,
      int style)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               An instance of XMLTextAttributeMap.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getTextAttributeMap">getTextAttributeMap</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns a Map of Style Constants and the corresponding Text Attribute</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_createTextAttribute">createTextAttribute</a></h2><p><code>protected TextAttribute <strong>createTextAttribute</strong>(RGB foreground
         ,
      RGB background
         ,
      int style)</code></p><p></p><h3>Parameters</h3><p><code>foreground</code></p><p><code>background</code></p><p><code>style</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap <strong>getInstance</strong>()</code></p><p>An instance of XMLTextAttributeMap.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap</code></p><hr><h2><a name="method_getTextAttributeMap">getTextAttributeMap</a></h2><p><code>public java.util.Map <strong>getTextAttributeMap</strong>()</code></p><p>Returns a Map of Style Constants and the corresponding Text Attribute</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr></body></html>