package org.zkoss.zktest.bind.basic;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.IdSpace;
import org.zkoss.zk.ui.annotation.ComponentAnnotation;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.select.Selectors;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.Composer;
import org.zkoss.zul.Div;
import org.zkoss.zul.Label;
import org.zkoss.zul.Textbox;
@ComponentAnnotation("value:@ZKBIND(ACCESS=both,SAVE_EVENT=onEdited)")
public class Composite2 extends Div implements IdSpace,Composer<Div>{
private static final long serialVersionUID = 1L;
@Wire
Textbox tb;
@Wire
Label lb;
public String getValue(){
return tb.getValue();
}
public void setValue(String value){
tb.setValue(value);
lb.setValue(value);
}
@Listen("onDoubleClick=#lb")
public void doEditing(){
tb.setVisible(true);
lb.setVisible(false);
tb.focus();
}
@Listen("onBlur=#tb")
public void doEdited(){
lb.setValue(tb.getValue());
tb.setVisible(false);
lb.setVisible(true);
Events.postEvent("onEdited", this, null);
}
public void doAfterCompose(Div comp) throws Exception {
Selectors.wireComponents(this, this, false);
Selectors.wireEventListeners(this, this);
}
}