<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
               Class AbstractXSLPreferencePage</h2><br><hr><pre>public class <strong>AbstractXSLPreferencePage</strong>
extends AbstractPreferencePage</pre>Augments the SSE <code>AbstractPreferencePage</code> with support for expandable composites (twisties) and combos.<p></p><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_AbstractXSLPreferencePage">AbstractXSLPreferencePage</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 Combo</code></td><td width="" align="left"><code><a href="#method_createCombo">createCombo</a>(Composite parent
         ,
      java.lang.String label
         ,
      java.lang.String prefKey)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Composite</code></td><td width="" align="left"><code><a href="#method_createCommonContents">createCommonContents</a>(Composite parent)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Called by createContents and must be implemented.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createContents">createContents</a>(Composite parent)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Composite</code></td><td width="" align="left"><code><a href="#method_createTwistie">createTwistie</a>(Composite parent
         ,
      java.lang.String label
         ,
      int cols)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Saves the expansion states before calling super.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected Preferences</code></td><td width="" align="left"><code><a href="#method_getModelPreferences">getModelPreferences</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Save the preferences.</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_AbstractXSLPreferencePage">AbstractXSLPreferencePage</a></h2><p><code>public <strong>AbstractXSLPreferencePage</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_createCombo">createCombo</a></h2><p><code>protected Combo <strong>createCombo</strong>(Composite parent
         ,
      java.lang.String label
         ,
      java.lang.String prefKey)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>prefKey</code></p><h3>Returns</h3><p><code>Combo</code></p><hr><h2><a name="method_createCommonContents">createCommonContents</a></h2><p><code>protected Composite <strong>createCommonContents</strong>(Composite parent)</code></p><p>Called by createContents and must be implemented.</p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Composite</code> - the composite</p><hr><h2><a name="method_createContents">createContents</a></h2><p><code>protected Control <strong>createContents</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_createTwistie">createTwistie</a></h2><p><code>protected Composite <strong>createTwistie</strong>(Composite parent
         ,
      java.lang.String label
         ,
      int cols)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>cols</code></p><h3>Returns</h3><p><code>Composite</code></p><hr><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p>Saves the expansion states before calling super.</p><hr><h2><a name="method_getModelPreferences">getModelPreferences</a></h2><p><code>protected Preferences <strong>getModelPreferences</strong>()</code></p><p></p><h3>Returns</h3><p><code>Preferences</code></p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p>Save the preferences.</p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>