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.trade.CustomerGroup;
import org.nightlabs.jfire.trade.ui.customergroup.CustomerGroupListComposite;
public class CustomerGroupComposite extends AbstractCellReferenceComposite{
private CustomerGroup selectedCustomerGroup = null;
private CellReferencePage cellReferencePage = null;
public CustomerGroupComposite(CellReferencePage cellReferencePage, Composite parent) {
super(parent, SWT.None);
this.cellReferencePage = cellReferencePage;
// //Customer List Group
// Group customerGroupListGroup = new Group(this, SWT.NONE);
// customerGroupListGroup.setText(Messages.getString("org.nightlabs.jfire.trade.admin.ui.gridpriceconfig.wizard.cellreference.CustomerGroupComposite.customerGroupListGroup.text")); //$NON-NLS-1$
// customerGroupListGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
// customerGroupListGroup.setLayout(new GridLayout());
//Customer Group List Composite
CustomerGroupListComposite cGroupList = new CustomerGroupListComposite(this, SWT.NONE, false, null);
cGroupList.getGridData().grabExcessHorizontalSpace = true;
cGroupList.loadCustomerGroups();
cGroupList.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent e) {
CustomerGroupListComposite cgc = (CustomerGroupListComposite)e.getSource();
CustomerGroup cg = cgc.getSelectedCustomerGroup();
if(cg != null){
selectedCustomerGroup = cg;
checked(true);
}//if
}
});
}
public CustomerGroup getSelectedCustomerGroup(){
return selectedCustomerGroup;
}
@Override
protected void createScript(){
StringBuffer scriptBuffer = new StringBuffer();
scriptBuffer.append("CustomerGroupID.create") //$NON-NLS-1$
.append(CellReferenceWizard.L_BRACKET)
.append(CellReferenceWizard.DOUBLE_QUOTE).append(selectedCustomerGroup.getOrganisationID()).append(CellReferenceWizard.DOUBLE_QUOTE)
.append(",") //$NON-NLS-1$
.append(CellReferenceWizard.DOUBLE_QUOTE).append(selectedCustomerGroup.getCustomerGroupID()).append(CellReferenceWizard.DOUBLE_QUOTE)
.append(CellReferenceWizard.R_BRACKET);
cellReferencePage.setDimensionScript(this.getClass().getName(), scriptBuffer.toString());
}
@Override
protected void doEnable() {
if(selectedCustomerGroup != null)
createScript();
}
@Override
protected void doDisable() {
cellReferencePage.clearDimensionScript(this.getClass().getName());
}
}