package org.erlide.ui.templates; import org.eclipse.jface.text.Document; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.source.SourceViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.texteditor.templates.TemplatePreferencePage; import org.erlide.ui.editors.erl.ErlangSourceViewer; import org.erlide.ui.internal.ErlideUIPlugin; public class ErlTemplatePreferencePage extends TemplatePreferencePage { private Button fIndentCodeCheckBox; @Override protected Control createContents(final Composite ancestor) { final Control contents = super.createContents(ancestor); fIndentCodeCheckBox = new Button(ancestor, SWT.CHECK); fIndentCodeCheckBox.setText("Indent code"); fIndentCodeCheckBox.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { ErlTemplateCompletionPreferences .setIndentCode(fIndentCodeCheckBox.getSelection()); } }); getPrefs(); fIndentCodeCheckBox .setSelection(ErlTemplateCompletionPreferences.getIndentCode()); return contents; } public ErlTemplatePreferencePage() { setPreferenceStore(ErlideUIPlugin.getDefault().getPreferenceStore()); setTemplateStore(ErlideUIPlugin.getDefault().getTemplateStore()); setContextTypeRegistry(ErlideUIPlugin.getDefault().getContextTypeRegistry()); } @Override protected void performDefaults() { ErlTemplateCompletionPreferences.getDefaults(); fIndentCodeCheckBox .setSelection(ErlTemplateCompletionPreferences.getIndentCode()); super.performDefaults(); } private static void putPrefs() { ErlTemplateCompletionPreferences.putPrefs(); } private void getPrefs() { ErlTemplateCompletionPreferences.getPrefs(); } @Override protected void performApply() { ErlTemplatePreferencePage.putPrefs(); super.performApply(); } @Override protected boolean isShowFormatterSetting() { return false; } @Override public boolean performOk() { final boolean ok = super.performOk(); if (ok) { ErlTemplatePreferencePage.putPrefs(); } return ok; } @Override protected SourceViewer createViewer(final Composite parent) { final SourceViewer viewer = ErlangSourceViewer.createErlangPreviewer(parent, null, null, null, ""); // new SourceViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL // | SWT.H_SCROLL); // final SourceViewerConfiguration configuration= new // SourceViewerConfiguration(); // viewer.configure(configuration); final IDocument document = new Document(); viewer.setDocument(document); return viewer; } }