package org.zkoss.zktest.bind.basic; import java.util.LinkedList; import java.util.List; import org.zkoss.bind.annotation.AfterCompose; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.SelectorParam; import org.zkoss.bind.annotation.Init; import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zul.Button; import org.zkoss.zul.Label; public class SelectorParamVM { @AfterCompose public void init(@SelectorParam("#l14") Label l4, @SelectorParam("label") List<Label> labels) { for (int i = 0; i < labels.size(); i++) { labels.get(i).setValue("Init " + i); } l4.setValue(l4.getValue() + ":4"); } @NotifyChange("*") @Command public void cmd1(@SelectorParam("label") LinkedList<Label> labels, @SelectorParam("#l13") Label l3) { for (int i = 0; i < labels.size(); i++) { labels.get(i).setValue("Command " + i); } l3.setValue(l3.getValue() + ":3"); } @NotifyChange("*") @Command public void cmd2(@SelectorParam("button[label='cmd2'] label") List<Label> labels, @SelectorParam("button[label='cmd2']") Button btn, @SelectorParam("button[label='null-btn']") Button nullbtn) { btn.setLabel("size " + labels.size()); if(nullbtn!=null){ btn.setLabel("wrong!!"); } } }