Package org.erlide.ui.templates

Source Code of org.erlide.ui.templates.ErlTemplatePreferencePage

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;
    }
}
TOP

Related Classes of org.erlide.ui.templates.ErlTemplatePreferencePage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.