ch.gpb.elexis.cst.preferences.CstPreference.java Source code

Java tutorial

Introduction

Here is the source code for ch.gpb.elexis.cst.preferences.CstPreference.java

Source

/*******************************************************************************
 * Copyright (c) 2015, Daniel Ludin
 * 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 Ludin (ludin@hispeed.ch) - initial implementation
 *******************************************************************************/
/**
 * @author daniel ludin ludin@swissonline.ch
 * 27.06.2015
 * 
 */
package ch.gpb.elexis.cst.preferences;

import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;

import ch.elexis.core.data.activator.CoreHub;
import ch.elexis.core.data.events.ElexisEvent;
import ch.elexis.core.data.events.ElexisEventDispatcher;
import ch.elexis.core.ui.preferences.SettingsPreferenceStore;
import ch.elexis.data.Anwender;

public class CstPreference extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
    public static String CST_IDENTIFIER_OMNIVORE = "ch.gpb.elexis.ident.omnivore";
    public static String CST_IDENTIFIER_BRIEFE = "ch.gpb.elexis.ident.briefe";
    public static String CST_IDENTIFIER_LATESTPATH = "ch.gpb.elexis.ident.latestpath";
    public static String CST_IDENTIFIER_FILEPREFIX = "ch.gpb.elexis.ident.fileprefix";
    public static String CST_IDENTIFIER_FILEFORMAT = "ch.gpb.elexis.ident.fileformat";

    public CstPreference() {
        super(Messages.Cst_Preference_Einstellungen, GRID);
        setPreferenceStore(new SettingsPreferenceStore(CoreHub.userCfg));

        initIdentifiers();
    }

    public static void initIdentifiers() {
        if (CoreHub.userCfg.get(CST_IDENTIFIER_OMNIVORE, "notset").equals("notset")) {
            CoreHub.userCfg.set(CST_IDENTIFIER_OMNIVORE, getDefaultIdentifierOmnivore());
        }

        if (CoreHub.userCfg.get(CST_IDENTIFIER_BRIEFE, "notset").equals("notset")) {
            CoreHub.userCfg.set(CST_IDENTIFIER_BRIEFE, getDefaultIdentifierBriefe());
        }

        if (CoreHub.userCfg.get(CST_IDENTIFIER_FILEPREFIX, "notset").equals("notset")) {
            CoreHub.userCfg.set(CST_IDENTIFIER_FILEPREFIX, getDefaultFilePrefix());
        }
        if (CoreHub.userCfg.get(CST_IDENTIFIER_FILEFORMAT, "notset").equals("notset")) {
            CoreHub.userCfg.set(CST_IDENTIFIER_FILEFORMAT, getDefaultFileFormat());
        }

    }

    @Override
    protected void createFieldEditors() {

        //Composite parent = getFieldEditorParent();

        Label lblDoc = new Label(getFieldEditorParent(), SWT.NONE);
        lblDoc.setText("Anzeigekriterien fr CST-bezogene Dokumente:");
        GridData gdDoc = new GridData();
        gdDoc.horizontalSpan = 2;
        lblDoc.setLayoutData(gdDoc);

        addField(new StringFieldEditor(CST_IDENTIFIER_OMNIVORE, "Omnivore Document Kategorie",
                getFieldEditorParent()));
        addField(new StringFieldEditor(CST_IDENTIFIER_BRIEFE, "Briefe (Suchkriterium Betreff)",
                getFieldEditorParent()));

        Label lblFile = new Label(getFieldEditorParent(), SWT.NONE);
        lblFile.setText("File Export Einstellungen:");
        GridData gdFile = new GridData();
        gdFile.horizontalSpan = 2;
        gdFile.verticalIndent = 30;
        lblFile.setLayoutData(gdFile);

        addField(new StringFieldEditor(CST_IDENTIFIER_FILEPREFIX, "Prefix fr File-Namen", getFieldEditorParent()));
        addField(new StringFieldEditor(CST_IDENTIFIER_FILEFORMAT, "Datumsformat fr File-Namen (kein : verwenden!)",
                getFieldEditorParent()));
    }

    public void init(IWorkbench workbench) {
        // TODO Auto-generated method stub
    }

    @Override
    public boolean performOk() {
        boolean ret = super.performOk();

        ElexisEventDispatcher.getInstance()
                .fire(new ElexisEvent(CoreHub.actUser, Anwender.class, ElexisEvent.EVENT_USER_CHANGED));

        return ret;
    }

    public static String getDefaultIdentifierOmnivore() {
        return "CST";
    }

    public static String getDefaultIdentifierBriefe() {
        return "CST";
    }

    public static String getDefaultFilePrefix() {
        return "cst";
    }

    public static String getDefaultFileFormat() {
        return "yyyyMMdd_HH-mm-ss";
    }

}