/******************************************************************************* * Copyright (c) 2005-2009, 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.views; import org.eclipse.swt.SWT; import ch.elexis.core.ui.actions.FlatDataLoader; import ch.elexis.core.ui.actions.PersistentObjectLoader; import ch.elexis.core.ui.util.viewers.CommonViewer; import ch.elexis.core.ui.util.viewers.DefaultControlFieldProvider; import ch.elexis.core.ui.util.viewers.DefaultLabelProvider; import ch.elexis.core.ui.util.viewers.SimpleWidgetProvider; import ch.elexis.core.ui.util.viewers.ViewerConfigurer; import ch.elexis.core.ui.views.codesystems.CodeSelectorFactory; import ch.elexis.data.LaborLeistung; import ch.elexis.data.PersistentObject; import ch.elexis.data.Query; public class LaborleistungCodeSelectorFactory extends CodeSelectorFactory { // private AbstractDataLoaderJob dataloader; private ViewerConfigurer vc; private PersistentObjectLoader fdl; public LaborleistungCodeSelectorFactory(){} @Override public ViewerConfigurer createViewerConfigurer(CommonViewer cv){ fdl = new FlatDataLoader(cv, new Query<LaborLeistung>(LaborLeistung.class)); fdl.setOrderFields("Text"); vc = new ViewerConfigurer(fdl, new DefaultLabelProvider(), new DefaultControlFieldProvider( cv, new String[] { "Code", "Text"}), //$NON-NLS-1$ //$NON-NLS-2$ new ViewerConfigurer.DefaultButtonProvider(), new SimpleWidgetProvider( SimpleWidgetProvider.TYPE_LAZYLIST, SWT.NONE, null)); return vc; } @Override public Class<? extends PersistentObject> getElementClass(){ return LaborLeistung.class; } @Override public void dispose(){ } @Override public String getCodeSystemName(){ return "Analysetarif"; //$NON-NLS-1$ } @Override public PersistentObject findElement(String code){ String id = new Query<LaborLeistung>(LaborLeistung.class).findSingle("Code", "=", code); if (id != null) { return LaborLeistung.load(id); } return null; } }