package com.tibco.as.spacebar.ui.wizards.space.field; import org.eclipse.core.databinding.beans.BeanProperties; import org.eclipse.core.databinding.observable.list.IListChangeListener; import org.eclipse.core.databinding.observable.list.IObservableList; import org.eclipse.core.databinding.observable.list.ListChangeEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.widgets.Control; import com.tibco.as.spacebar.ui.model.SpaceFields; import com.tibco.as.spacebar.ui.wizards.AbstractWizardPage; public class FieldsWizardPage extends AbstractWizardPage implements IListChangeListener { private SpaceFields fields; private IObservableList observe; public FieldsWizardPage(SpaceFields fields) { super("spaceFieldsWizardPage", "Space Fields", "Enter space fields"); this.fields = fields; observe = BeanProperties.list("children").observe(fields); observe.addListChangeListener(this); } @Override public void dispose() { observe.removeListChangeListener(this); super.dispose(); } @Override protected Control createControl(ScrolledComposite parent) { return new FieldListEditor(parent, SWT.NONE, fields); } @Override public boolean canFlipToNextPage() { return fields.getChildren().size() > 0; } @Override public void handleListChange(ListChangeEvent event) { getContainer().updateButtons(); } }