<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
               Class XSLEditor</h2><br><hr><pre>public class <strong>XSLEditor</strong>
extends StructuredTextEditor</pre>XSL specific extensions to the SSE UI that haven't yet been made
 available to the SSE.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLEditor">XSLEditor</a></strong>()</code></td></tr></table><br><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 void</code></td><td width="" align="left"><code><a href="#method_doSetInput">doSetInput</a>(IEditorInput input)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getAdapter">getAdapter</a>(java.lang.Class required)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager</code></td><td width="" align="left"><code><a href="#method_getOverrideIndicatorManager">getOverrideIndicatorManager</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_installOverrideIndicator">installOverrideIndicator</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XSLEditor">XSLEditor</a></h2><p><code>public <strong>XSLEditor</strong>()</code></p><p></p><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_doSetInput">doSetInput</a></h2><p><code>protected void <strong>doSetInput</strong>(IEditorInput input)</code></p><p></p><h3>Parameters</h3><p><code>input</code></p><h3>Throws:</h3><p><code>CoreException</code></p><hr><h2><a name="method_getAdapter">getAdapter</a></h2><p><code>public java.lang.Object <strong>getAdapter</strong>(java.lang.Class required)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>required</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getOverrideIndicatorManager">getOverrideIndicatorManager</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager <strong>getOverrideIndicatorManager</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager</code></p><hr><h2><a name="method_installOverrideIndicator">installOverrideIndicator</a></h2><p><code>protected void <strong>installOverrideIndicator</strong>()</code></p><p></p><hr></body></html>