package org.nightlabs.jfire.trade.admin.ui.gridpriceconfig.wizard.cellreference;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.nightlabs.base.ui.composite.XComposite;
import org.nightlabs.jfire.trade.admin.ui.gridpriceconfig.PriceConfigComposite;
import org.nightlabs.jfire.trade.admin.ui.resource.Messages;
public abstract class AbstractCellReferenceComposite extends XComposite{
private boolean enabledFlag = false;
private Button enabledButton = null;
private PriceConfigComposite priceConfigComposite = null;
// protected JSEditorComposite srcPreviewComposite = null;
public AbstractCellReferenceComposite(Composite parent, int style) {
this(null, parent, style);
}
protected PriceConfigComposite getPriceConfigComposite()
{
return priceConfigComposite;
}
public AbstractCellReferenceComposite(PriceConfigComposite priceConfigComposite, Composite parent, int style) {
super(parent, style);
this.priceConfigComposite = priceConfigComposite;
//Enable Flag
enabledButton = new Button(this, SWT.CHECK);
enabledButton.setText(Messages.getString("org.nightlabs.jfire.trade.admin.ui.gridpriceconfig.wizard.cellreference.AbstractCellReferenceComposite.enabledButton.text")); //$NON-NLS-1$
enabledButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetDefaultSelected(SelectionEvent e) {
}
@Override
public void widgetSelected(SelectionEvent e) {
checked(!enabledFlag);
}
});
getGridLayout().numColumns = 2;
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
enabledButton.setLayoutData(gridData);
}
protected abstract void createScript();
protected abstract void doEnable();
protected abstract void doDisable();
public void checked(boolean enabledFlag) {
this.enabledFlag = enabledFlag;
enabledButton.setSelection(enabledFlag);
if(enabledFlag == false)
doDisable();
else
doEnable();
}
public boolean isChecked() {
return enabledFlag;
}
}