private List<WizardDescriptor.Panel<WizardDescriptor>> getPanels() { if (panels == null) { panels = new ArrayList<WizardDescriptor.Panel<WizardDescriptor>>(); panels.add(icc); panels.add(ncc); panels.add(bpc); panels.add(delic); panels.add(confoc); // Become a ChangeListener for IdentifyCustomerController and // BuildPizzaController icc.addPropertyChangeListener(this); bpc.addPropertyChangeListener(this); updateSteps(); } return panels; }
@Override public void propertyChange(PropertyChangeEvent pce) { if (pce.getPropertyName().equals(IdentifyCustomerController.PROP_IS_NEW_CUSTOMER)) { if (icc.isIsNewCustomer()) { panels.add(1, ncc); } else { panels.remove(ncc); } updateSteps(); fireChangeEvent(this, 0, 1); } else if (pce.getPropertyName().equals(BuildPizzaController.PROP_IS_PICKUP)) { if (bpc.isIsPickup()) { panels.remove(delic); } else { panels.add(panels.size() - 1, delic); } updateSteps(); fireChangeEvent(this, 0, 1); } }