Java tutorial
/******************************************************************************* * 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)); } }