/* DemoWindowComposer.java {{IS_NOTE Purpose: Description: History: Nov 13, 2008 10:36:53 AM , Created by jumperchen }}IS_NOTE Copyright (C) 2008 Potix Corporation. All Rights Reserved. {{IS_RIGHT This program is distributed under GPL Version 3.0 in the hope that it will be useful, but WITHOUT ANY WARRANTY. }}IS_RIGHT */ package org.zkoss.zktest.test; import org.zkoss.lang.Library; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Components; import org.zkoss.zk.ui.Execution; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Path; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Button; import org.zkoss.zul.Div; import org.zkoss.zul.Image; import org.zkoss.zul.Tab; import org.zkoss.zul.Textbox; import org.zkoss.zul.Window; /** * @author jumperchen */ public class DemoWindowComposer extends GenericForwardComposer { Window view; Tab demoView; Textbox codeView; Button reloadBtn; Button tryBtn; public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); ((Window)comp).setContentSclass("demo-main-cnt"); ((Window)comp).setSclass("demo-main"); final Div inc = new Div(); //Executions.createComponents("/bar.zul", inc, null); inc.setStyle("float:right"); comp.insertBefore(inc, comp.getFirstChild()); if (view != null) execute(); } public void execute() { Components.removeAllChildren(view); String code = codeView.getValue(); try { if (tryBtn.isVisible()) Executions.createComponentsDirectly(code, "zul", view, null); else Executions.createComponents("/macros/warning.zul", view, null); } catch (RuntimeException e) { if ("true".equalsIgnoreCase(System.getProperty("zksandbox.debug"))) System.out.println("\n Error caused by zksandbox at : " + new java.util.Date() + "\n code: " + code); throw e; } } public void onClick$reloadBtn(Event event) { demoView.setSelected(true); Path.getComponent("//userGuide/xcontents").invalidate(); } public void onClick$tryBtn(Event event) { demoView.setSelected(true); execute(); } }