ch.elexis.extdoc.preferences.ExterneDokumente.java Source code

Java tutorial

Introduction

Here is the source code for ch.elexis.extdoc.preferences.ExterneDokumente.java

Source

/*******************************************************************************
 * Copyright (c) 2006-2011, Daniel Lutz 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:
 *    Daniel Lutz - initial implementation
 *    Niklaus Giger - new layout with subdirectories
 *    
 *******************************************************************************/
package ch.elexis.extdoc.preferences;

import org.eclipse.jface.preference.ComboFieldEditor;
import org.eclipse.jface.preference.FileFieldEditor;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.jface.preference.DirectoryFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;

import ch.elexis.core.data.activator.CoreHub;
import ch.elexis.core.ui.preferences.SettingsPreferenceStore;
import ch.elexis.extdoc.Messages;

/**
 * Einstellungen zur Verknpfung externen Dokumenten
 * 
 * @author Daniel Lutz
 */
public class ExterneDokumente extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {

    public ExterneDokumente() {
        super(GRID);
        setPreferenceStore(new SettingsPreferenceStore(CoreHub.localCfg));
        setDescription(Messages.ExterneDokumente_externe_dokumente);
    }

    @Override
    protected void createFieldEditors() {
        DirectoryFieldEditor dfe;
        StringFieldEditor sfe;
        FileFieldEditor ffe;

        PreferenceConstants.PathElement[] prefElems = PreferenceConstants.getPrefenceElements();
        for (int j = 0; j < prefElems.length; j++) {
            sfe = new StringFieldEditor(prefElems[j].prefName,
                    String.format(Messages.ExterneDokumente_shorthand_for_path, j), getFieldEditorParent());
            sfe.setTextLimit(8);
            addField(sfe);
            dfe = new DirectoryFieldEditor(prefElems[j].prefBaseDir, Messages.ExterneDokumente_path_name_preference,
                    getFieldEditorParent());
            addField(dfe);
        }
        sfe = new StringFieldEditor(PreferenceConstants.CONCERNS, Messages.ExterneDokumente_Concerns,
                getFieldEditorParent());
        sfe.setTextLimit(60);
        addField(sfe);
        Composite composite = getFieldEditorParent();
        ffe = new FileFieldEditor(PreferenceConstants.EMAIL_PROGRAM, Messages.ExterneDokumente_email_app,
                getFieldEditorParent());
        ffe.getLabelControl(composite).setToolTipText(
                "Programm das zum Verschicken von E-Mails verwendet werden soll, falls leer wird dir URL mailto: verwendet, welche keine Anhnge untersttzt");
        addField(ffe);

    }

    public void init(IWorkbench workbench) {
        setPreferenceStore(new SettingsPreferenceStore(CoreHub.localCfg));
    }
}