ch.elexis.preferences.Ablauf.java Source code

Java tutorial

Introduction

Here is the source code for ch.elexis.preferences.Ablauf.java

Source

/*******************************************************************************
 * Copyright (c) 2005-2010, G. Weirich and Elexis
 * 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
 *
 * Contributors:
 *    G. Weirich - initial implementation
 *    
 *******************************************************************************/
package ch.elexis.preferences;

import org.eclipse.jface.preference.*;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;

import ch.elexis.Hub;

/**
 * Einstellungen fr den Programmablauf. Logstufen etc.
 * 
 * @author Gerry
 */
public class Ablauf extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {

    public Ablauf() {
        super(GRID);
        setPreferenceStore(new SettingsPreferenceStore(Hub.localCfg));
        String logbackPlace = System.getProperty("logback.configurationFile");
        String msg = String.format(Messages.Ablauf_0, logbackPlace);
        setDescription(msg);
    }

    @Override
    protected void createFieldEditors() {
        addField(new RadioGroupFieldEditor(PreferenceConstants.ABL_LOGLEVEL, Messages.Ablauf_3, 2,
                new String[][] { { Messages.Ablauf_4, "1" }, //$NON-NLS-1$
                        { Messages.Ablauf_6, "2" }, //$NON-NLS-1$
                        { Messages.Ablauf_8, "3" }, //$NON-NLS-1$
                        { Messages.Ablauf_10, "4" }, //$NON-NLS-1$
                        { Messages.Ablauf_12, "5" } //$NON-NLS-1$
                }, getFieldEditorParent()));

        addField(new RadioGroupFieldEditor(PreferenceConstants.ABL_LOGALERT, Messages.Ablauf_14, 2,
                new String[][] { { Messages.Ablauf_15, "0" }, //$NON-NLS-1$
                        { Messages.Ablauf_17, "1" }, //$NON-NLS-1$
                        { Messages.Ablauf_19, "2" }, //$NON-NLS-1$
                        { Messages.Ablauf_21, "3" } //$NON-NLS-1$
                }, getFieldEditorParent()));

        addField(new StringFieldEditor(PreferenceConstants.ABL_TRACE, Messages.Ablauf_23, getFieldEditorParent()));

        addField(new RadioGroupFieldEditor(PreferenceConstants.ABL_LANGUAGE, Messages.Ablauf_preferredLang, 1,
                new String[][] { { Messages.Ablauf_german, "d" //$NON-NLS-1$
                }, { Messages.Ablauf_french, "f" //$NON-NLS-1$
                }, { Messages.Ablauf_italian, Messages.Ablauf_24 } }, getFieldEditorParent()));

        addField(new IntegerFieldEditor(PreferenceConstants.ABL_CACHELIFETIME, Messages.Ablauf_cachelifetime,
                getFieldEditorParent()));

        addField(new IntegerFieldEditor(PreferenceConstants.ABL_HEARTRATE, Messages.Ablauf_heartrate,
                getFieldEditorParent()));
    }

    public void init(final IWorkbench workbench) {

    }

    static class EmptyFileFieldEditor extends FileFieldEditor {
        public EmptyFileFieldEditor(final String abl_logfile, final String string,
                final Composite fieldEditorParent) {
            super(abl_logfile, string, fieldEditorParent);
        }

        @Override
        protected boolean checkState() {
            return true;
        }
    }

    @Override
    public boolean performOk() {
        if (super.performOk()) {
            Hub.localCfg.flush();
            return true;
        }
        return false;
    }

}