Search in sources :

Example 1 with StructuredAutoEditStrategyJSP

use of org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSP in project webtools.sourceediting by eclipse.

the class StructuredTextViewerConfigurationJSP method getAutoEditStrategies.

/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer,
	 *      java.lang.String)
	 */
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
    IAutoEditStrategy[] strategies = null;
    if (contentType == IXMLPartitions.XML_DEFAULT) {
        // xml autoedit strategies
        strategies = getXMLSourceViewerConfiguration().getAutoEditStrategies(sourceViewer, contentType);
    } else if (contentType == IJSPPartitions.JSP_CONTENT_JAVA) {
        // jsp java autoedit strategies
        List allStrategies = new ArrayList(0);
        // add the scritplet autoedit strategy first
        allStrategies.add(new StructuredAutoEditStrategyJSPJava());
        IAutoEditStrategy[] javaStrategies = getJavaSourceViewerConfiguration().getAutoEditStrategies(sourceViewer, IJavaPartitions.JAVA_PARTITIONING);
        for (int i = 0; i < javaStrategies.length; i++) {
            allStrategies.add(javaStrategies[i]);
        }
        // be sure this is added last, after others, so it can modify
        // results from earlier steps.
        // add auto edit strategy that handles when tab key is pressed
        allStrategies.add(new AutoEditStrategyForTabs());
        strategies = (IAutoEditStrategy[]) allStrategies.toArray(new IAutoEditStrategy[allStrategies.size()]);
    } else if (contentType == IHTMLPartitions.HTML_DEFAULT || contentType == IHTMLPartitions.HTML_DECLARATION || contentType == IJSPPartitions.JSP_DIRECTIVE) {
        // html and jsp autoedit strategies
        List allStrategies = new ArrayList(0);
        // add the jsp autoedit strategy first then add all html's
        allStrategies.add(new StructuredAutoEditStrategyJSP());
        IAutoEditStrategy[] htmlStrategies = getHTMLSourceViewerConfiguration().getAutoEditStrategies(sourceViewer, contentType);
        for (int i = 0; i < htmlStrategies.length; i++) {
            allStrategies.add(htmlStrategies[i]);
        }
        strategies = (IAutoEditStrategy[]) allStrategies.toArray(new IAutoEditStrategy[allStrategies.size()]);
    } else {
        // default autoedit strategies
        List allStrategies = new ArrayList(0);
        IAutoEditStrategy[] superStrategies = super.getAutoEditStrategies(sourceViewer, contentType);
        for (int i = 0; i < superStrategies.length; i++) {
            allStrategies.add(superStrategies[i]);
        }
        // be sure this is added last, after others, so it can modify
        // results from earlier steps.
        // add auto edit strategy that handles when tab key is pressed
        allStrategies.add(new AutoEditStrategyForTabs());
        strategies = (IAutoEditStrategy[]) allStrategies.toArray(new IAutoEditStrategy[allStrategies.size()]);
    }
    return strategies;
}
Also used : StructuredAutoEditStrategyJSP(org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSP) IAutoEditStrategy(org.eclipse.jface.text.IAutoEditStrategy) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) AutoEditStrategyForTabs(org.eclipse.jst.jsp.ui.internal.autoedit.AutoEditStrategyForTabs) StructuredAutoEditStrategyJSPJava(org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSPJava)

Aggregations

ArrayList (java.util.ArrayList)1 List (java.util.List)1 IAutoEditStrategy (org.eclipse.jface.text.IAutoEditStrategy)1 AutoEditStrategyForTabs (org.eclipse.jst.jsp.ui.internal.autoedit.AutoEditStrategyForTabs)1 StructuredAutoEditStrategyJSP (org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSP)1 StructuredAutoEditStrategyJSPJava (org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSPJava)1