package org.nightlabs.jfire.trade.admin.ui.gridpriceconfig.wizard.cellreference; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.nightlabs.jfire.accounting.Tariff; import org.nightlabs.jfire.trade.ui.tariff.TariffList; public class TariffComposite extends AbstractCellReferenceComposite { private TariffList tariffList; private Tariff selectedTariff = null; private CellReferencePage cellReferencePage = null; public TariffComposite(CellReferencePage cellReferencePage, Composite parent) { super(parent, SWT.None); this.cellReferencePage = cellReferencePage; // Group tariffListGroup = new Group(this, SWT.NONE); // tariffListGroup.setText(Messages.getString("org.nightlabs.jfire.trade.admin.ui.gridpriceconfig.wizard.cellreference.TariffComposite.tariffListGroup.text")); //$NON-NLS-1$ // tariffListGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); // tariffListGroup.setLayout(new GridLayout()); tariffList = new TariffList(this, SWT.NONE, false, null); tariffList.getGridData().grabExcessHorizontalSpace = true; tariffList.loadTariffs(null); tariffList.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { Tariff t = tariffList.getSelectedTariff(); if(t != null){ selectedTariff = t; checked(true); }//if } }); } @Override protected void createScript(){ StringBuffer scriptBuffer = new StringBuffer(); scriptBuffer.append("TariffID.create") //$NON-NLS-1$ .append(CellReferenceWizard.L_BRACKET) .append(CellReferenceWizard.DOUBLE_QUOTE).append(selectedTariff.getOrganisationID()).append(CellReferenceWizard.DOUBLE_QUOTE) .append(",") //$NON-NLS-1$ .append(CellReferenceWizard.DOUBLE_QUOTE).append(selectedTariff.getTariffID()).append(CellReferenceWizard.DOUBLE_QUOTE) .append(CellReferenceWizard.R_BRACKET); cellReferencePage.setDimensionScript(this.getClass().getName(), scriptBuffer.toString()); } @Override protected void doEnable() { if(selectedTariff != null) createScript(); } @Override protected void doDisable() { cellReferencePage.clearDimensionScript(this.getClass().getName()); } }