/*******************************************************************************
* 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 f�r 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 f�r File-Namen", getFieldEditorParent()));
addField(new StringFieldEditor(CST_IDENTIFIER_FILEFORMAT, "Datumsformat f�r 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";
}
}