package org.nocket.gen.page.element; import gengui.domain.DomainObjectReference; import java.util.ArrayList; import java.util.List; import org.apache.wicket.model.IModel; import org.jsoup.nodes.Element; import org.nocket.gen.domain.element.MultivalueButtonElement; import org.nocket.gen.domain.element.MultivaluePropertyElement; import org.nocket.gen.page.DMDWebGenPageContext; import org.nocket.gen.page.element.synchronizer.GeneratedRepeatingPanelModel; import org.nocket.gen.page.element.synchronizer.TableButtonCallback; import org.nocket.gen.page.visitor.PageElementVisitorI; public class RepeatingPanelElement extends AbstractDomainPageElement<List<?>> { private ArrayList<TableButtonCallback> buttonCallbacks; public RepeatingPanelElement(DMDWebGenPageContext context, Element element) { super(context, element); this.buttonCallbacks = new ArrayList<TableButtonCallback>(); for (MultivalueButtonElement<DomainObjectReference> buttonElement : getDomainElement().getButtonElements()) { buttonCallbacks.add(new TableButtonCallback(getContext(), buttonElement)); } } @Override public MultivaluePropertyElement<DomainObjectReference> getDomainElement() { return (MultivaluePropertyElement<DomainObjectReference>) super.getDomainElement(); } @Override public void accept(PageElementVisitorI visitor) { visitor.visitRepeatingPanel(this); } @Override public IModel<List<?>> innerGetModel() { return new GeneratedRepeatingPanelModel(this); } }