blob: d99129a8f86951ab8f1946aaa6aa72453d3b5780 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
package org.eclipse.dltk.javascript.internal.ui;
import org.eclipse.dltk.core.IDLTKLanguageToolkit;
import org.eclipse.dltk.core.IMember;
import org.eclipse.dltk.core.ISourceModule;
import org.eclipse.dltk.javascript.core.JavaScriptLanguageToolkit;
import org.eclipse.dltk.javascript.internal.ui.editor.JavaScriptEditor;
import org.eclipse.dltk.javascript.internal.ui.templates.JavaScriptTemplateAccess;
import org.eclipse.dltk.javascript.internal.ui.text.SimpleJavascriptSourceViewerConfiguration;
import org.eclipse.dltk.javascript.ui.text.IJavaScriptPartitions;
import org.eclipse.dltk.ui.AbstractDLTKUILanguageToolkit;
import org.eclipse.dltk.ui.ScriptElementLabels;
import org.eclipse.dltk.ui.text.ScriptSourceViewerConfiguration;
import org.eclipse.dltk.ui.text.ScriptTextTools;
import org.eclipse.dltk.ui.text.templates.ITemplateAccess;
import org.eclipse.dltk.ui.viewsupport.ScriptUILabelProvider;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.preference.IPreferenceStore;
public class JavaScriptUILanguageToolkit extends AbstractDLTKUILanguageToolkit {
private static final ScriptElementLabels sInstance = new JavaScriptElementLabels();
public ScriptElementLabels getScriptElementLabels() {
return sInstance;
}
public IPreferenceStore getPreferenceStore() {
return JavaScriptUI.getDefault().getPreferenceStore();
}
public IDLTKLanguageToolkit getCoreToolkit() {
return JavaScriptLanguageToolkit.getDefault();
}
public IDialogSettings getDialogSettings() {
return JavaScriptUI.getDefault().getDialogSettings();
}
public String getEditorId(Object inputElement) {
if (inputElement instanceof IMember) {
// test if a member really points to another javascript file.
ISourceModule sourceModule = ((IMember) inputElement)
.getSourceModule();
if (sourceModule != null && sourceModule.getResource() != null) {
if (!"js".equalsIgnoreCase(sourceModule.getResource()
.getFileExtension()))
return null;
}
}
return JavaScriptEditor.EDITOR_ID;
}
public String getPartitioningId() {
return IJavaScriptPartitions.JS_PARTITIONING;
}
public String getInterpreterContainerId() {
return "org.eclipse.dltk.javascript.launching.INTERPRETER_CONTAINER";
}
public ScriptUILabelProvider createScriptUILabelProvider() {
return null;
}
public boolean getProvideMembers(ISourceModule element) {
return true;
}
public ScriptTextTools getTextTools() {
return JavaScriptUI.getDefault().getTextTools();
}
public ScriptSourceViewerConfiguration createSourceViewerConfiguration() {
return new SimpleJavascriptSourceViewerConfiguration(getTextTools()
.getColorManager(), getPreferenceStore(), null,
getPartitioningId(), false);
}
public String getInterpreterPreferencePage() {
return "org.eclipse.dltk.debug.ui.JavaScriptInterpreters";
}
public String getDebugPreferencePage() {
return "org.eclipse.dltk.javascript.preferences.debug";
}
private static final String[] EDITOR_PREFERENCE_PAGES_IDS = {
"org.eclipse.dltk.javascript.ui.EditorPreferences",
"org.eclipse.dltk.javascript.ui.editor.SyntaxColoring",
"org.eclipse.dltk.javascript.ui.editor.SmartTyping",
"org.eclipse.dltk.javascript.ui.editor.JavascriptFolding",
"javascriptTemplatePreferencePage",
"org.eclipse.dltk.javascript.ui.editor.Hovers",
"org.eclipse.dltk.javascript.ui.editor.MarkOccurrencesPreference" };
public String[] getEditorPreferencePages() {
return EDITOR_PREFERENCE_PAGES_IDS;
}
@Override
public ITemplateAccess getEditorTemplates() {
return JavaScriptTemplateAccess.getInstance();
}
}