/******************************************************************************* * Copyright (c) 2007-2011, 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 API and implementation ******************************************************************************/ package ch.elexis.core.ui.dialogs; import org.eclipse.jface.dialogs.TitleAreaDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import ch.elexis.core.data.interfaces.IVerrechenbar; import ch.elexis.core.ui.util.SWTHelper; import ch.elexis.core.ui.views.codesystems.Messages; import ch.elexis.data.Eigenleistung; import ch.rgw.tools.TimeTool; public class EigenLeistungDialog extends TitleAreaDialog { Text tName, tKurz, tEK, tVK, tTime; // Eigenleistung result; private IVerrechenbar result; public EigenLeistungDialog(final Shell shell, final IVerrechenbar lstg){ super(shell); result = lstg; } @Override public void create(){ super.create(); if (result instanceof Eigenleistung) { setTitle(Messages.BlockDetailDisplay_editServiceCaption); //$NON-NLS-1$ setMessage(Messages.BlockDetailDisplay_editServiceBody); //$NON-NLS-1$ } else if (result == null) { setTitle(Messages.BlockDetailDisplay_defineServiceCaption); //$NON-NLS-1$ setMessage(Messages.BlockDetailDisplay_defineServiceBody); //$NON-NLS-1$ } getShell().setText(Messages.BlockDetailDisplay_SerlfDefinedService); //$NON-NLS-1$ } @Override protected Control createDialogArea(final Composite parent){ Composite ret = new Composite(parent, SWT.NONE); ret.setData("TEST_COMP_NAME", "EigenLeistungDialog_ret"); //$NON-NLS-1$ ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); ret.setLayout(new GridLayout(2, false)); new Label(ret, SWT.NONE).setText(Messages.BlockDetailDisplay_shortname); //$NON-NLS-1$ tKurz = new Text(ret, SWT.BORDER); tKurz.setData("TEST_COMP_NAME", "EigenLeistungDialog_tKurz"); //$NON-NLS-1$ tKurz.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.BlockDetailDisplay_name); //$NON-NLS-1$ tName = new Text(ret, SWT.BORDER); tName.setData("TEST_COMP_NAME", "EigenLeistungDialog_tName"); //$NON-NLS-1$ tName.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.BlockDetailDisplay_costInCents); //$NON-NLS-1$ tEK = new Text(ret, SWT.BORDER); tEK.setData("TEST_COMP_NAME", "EigenLeistungDialog_tEK"); //$NON-NLS-1$ tEK.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.BlockDetailDisplay_priceInCents); //$NON-NLS-1$ tVK = new Text(ret, SWT.BORDER); tVK.setData("TEST_COMP_NAME", "EigenLeistungDialog_tVK"); //$NON-NLS-1$ tVK.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.BlockDetailDisplay_timeInMinutes); //$NON-NLS-1$ tTime = new Text(ret, SWT.BORDER); tTime.setData("TEST_COMP_NAME", "EigenLeistungDialog_tTime"); //$NON-NLS-1$ tTime.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); if (result instanceof Eigenleistung) { Eigenleistung el = (Eigenleistung) result; tName.setText(el.get(Messages.BlockDetailDisplay_title)); //$NON-NLS-1$ tKurz.setText(el.get(Messages.BlockDetailDisplay_code)); //$NON-NLS-1$ tEK.setText(el.getKosten(new TimeTool()).getCentsAsString()); tVK.setText(el.getPreis(new TimeTool(), null).getCentsAsString()); tTime.setText(el.get(Eigenleistung.TIME)); } return ret; } public IVerrechenbar getResult(){ return result; } @Override protected void okPressed(){ if (result == null) { result = new Eigenleistung(tKurz.getText(), tName.getText(), tEK.getText(), tVK.getText()); } else if (result instanceof Eigenleistung) { ((Eigenleistung) result).set(new String[] { Eigenleistung.CODE, Eigenleistung.BEZEICHNUNG, Eigenleistung.EK_PREIS, Eigenleistung.VK_PREIS, Eigenleistung.TIME }, new String[] { tKurz.getText(), tName.getText(), tEK.getText(), tVK.getText(), tTime.getText() }); } super.okPressed(); } }