+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package net.sourceforge.phpdt.internal.ui.preferences;
-
-import net.sourceforge.phpdt.internal.ui.IJavaHelpContextIds;
-import net.sourceforge.phpdt.internal.ui.text.IPHPPartitions;
-import net.sourceforge.phpdt.internal.ui.text.template.preferences.TemplateVariableProcessor;
-import net.sourceforge.phpdt.ui.PreferenceConstants;
-import net.sourceforge.phpdt.ui.text.JavaTextTools;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpeclipse.phpeditor.JavaSourceViewer;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.persistence.TemplatePersistenceData;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-
-public class JavaTemplatePreferencePage extends TemplatePreferencePage
- implements IWorkbenchPreferencePage {
-
- private TemplateVariableProcessor fTemplateProcessor;
-
- public JavaTemplatePreferencePage() {
- setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
- setTemplateStore(PHPeclipsePlugin.getDefault().getTemplateStore());
- setContextTypeRegistry(PHPeclipsePlugin.getDefault()
- .getTemplateContextRegistry());
- fTemplateProcessor = new TemplateVariableProcessor();
- }
-
- /*
- * @see PreferencePage#createControl(Composite)
- */
- public void createControl(Composite parent) {
- super.createControl(parent);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
- IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE);
- }
-
- /*
- * @see org.eclipse.jface.preference.IPreferencePage#performOk()
- */
- public boolean performOk() {
- boolean ok = super.performOk();
-
- PHPeclipsePlugin.getDefault().savePluginPreferences();
-
- return ok;
- }
-
- /*
- * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#getFormatterPreferenceKey()
- */
- protected String getFormatterPreferenceKey() {
- return PreferenceConstants.TEMPLATES_USE_CODEFORMATTER;
- }
-
- /*
- * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#createTemplateEditDialog(org.eclipse.jface.text.templates.Template,
- * boolean, boolean)
- */
- protected Dialog createTemplateEditDialog(Template template, boolean edit,
- boolean isNameModifiable) {
- return new EditTemplateDialog(getShell(), template, edit,
- isNameModifiable, getContextTypeRegistry());
- }
-
- /*
- * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#createViewer(org.eclipse.swt.widgets.Composite)
- */
- protected SourceViewer createViewer(Composite parent) {
- GridData data = new GridData();
- IDocument document = new Document();
- JavaTextTools tools = PHPeclipsePlugin.getDefault().getJavaTextTools();
- tools.setupJavaDocumentPartitioner(document,
- IPHPPartitions.PHP_PARTITIONING);
- IPreferenceStore store = PHPeclipsePlugin.getDefault()
- .getCombinedPreferenceStore();
- SourceViewer viewer = new JavaSourceViewer(parent, null, null, false,
- SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL, store);
- TemplateEditorSourceViewerConfiguration configuration = new TemplateEditorSourceViewerConfiguration(
- tools.getColorManager(), store, null, fTemplateProcessor);
- viewer.configure(configuration);
- viewer.setEditable(false);
- viewer.setDocument(document);
-
- Font font = JFaceResources
- .getFont(PreferenceConstants.EDITOR_TEXT_FONT);
- viewer.getTextWidget().setFont(font);
- new JavaSourcePreviewerUpdater(viewer, configuration, store);
-
- Control control = viewer.getControl();
- data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
- | GridData.FILL_VERTICAL);
- control.setLayoutData(data);
-
- return viewer;
- }
-
- /*
- * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#updateViewerInput()
- */
- protected void updateViewerInput() {
- IStructuredSelection selection = (IStructuredSelection) getTableViewer()
- .getSelection();
- SourceViewer viewer = getViewer();
-
- if (selection.size() == 1
- && selection.getFirstElement() instanceof TemplatePersistenceData) {
- TemplatePersistenceData data = (TemplatePersistenceData) selection
- .getFirstElement();
- Template template = data.getTemplate();
- String contextId = template.getContextTypeId();
- TemplateContextType type = PHPeclipsePlugin.getDefault()
- .getTemplateContextRegistry().getContextType(contextId);
- fTemplateProcessor.setContextType(type);
-
- IDocument doc = viewer.getDocument();
-
- String start = null;
- if ("javadoc".equals(contextId)) { //$NON-NLS-1$
- start = "/**" + doc.getLegalLineDelimiters()[0]; //$NON-NLS-1$
- } else
- start = ""; //$NON-NLS-1$
-
- doc.set(start + template.getPattern());
- int startLen = start.length();
- viewer.setDocument(doc, startLen, doc.getLength() - startLen);
-
- } else {
- viewer.getDocument().set(""); //$NON-NLS-1$
- }
- }
-}