1 13 package com.tonbeller.wcf.tabbed; 14 15 import javax.servlet.http.HttpSession ; 16 17 import org.apache.log4j.Logger; 18 import org.jaxen.JaxenException; 19 import org.jaxen.dom.DOMXPath; 20 import org.w3c.dom.Element ; 21 22 import com.tonbeller.wcf.component.FormListener; 23 import com.tonbeller.wcf.controller.RequestContext; 24 import com.tonbeller.wcf.form.FormComponent; 25 import com.tonbeller.wcf.form.NodeHandler; 26 import com.tonbeller.wcf.form.XmlComponent; 27 import com.tonbeller.wcf.tree.TreeHandler; 28 import com.tonbeller.wcf.ui.XoplonCtrl; 29 30 40 public class PanelSupport 41 implements 42 NodeHandler, 43 PanelChangeListener, 44 FormListener { 45 private static Logger logger = Logger.getLogger(PanelSupport.class); 46 47 protected FormComponent formComponent; 48 protected TabbedHandler tabbedHandler; 49 protected Element panelElement; 50 51 public void initialize(RequestContext context, XmlComponent comp, 52 Element element) throws Exception { 53 this.formComponent = (FormComponent) comp; 54 this.panelElement = element; 55 56 formComponent.addFormListener(this); 57 58 Element tabbedElement = (Element ) element.getParentNode(); 59 tabbedHandler = (TabbedHandler) formComponent.getHandler(tabbedElement); 60 tabbedHandler.addPanelChangedListener(this); 61 } 62 63 public void destroy(HttpSession session) throws Exception { 64 formComponent.removeFormListener(this); 65 tabbedHandler.removePanelChangedListener(this); 66 } 67 68 74 protected TreeHandler findTreeHandler(FormComponent fc) throws JaxenException { 75 DOMXPath dx = new DOMXPath("//xtree"); 76 Element elem = (Element ) dx.selectSingleNode(fc.getDocument()); 77 if (elem == null) 78 return null; 79 return (TreeHandler) fc.getHandler(elem); 80 } 81 82 83 public void render(RequestContext context) throws Exception { 84 } 85 86 89 public void panelChanged(PanelChangeEvent event) { 90 } 91 92 95 public boolean validate(RequestContext context) { 96 return true; 97 } 98 99 102 public void revert(RequestContext context) { 103 } 104 105 108 public FormComponent getFormComponent() { 109 return formComponent; 110 } 111 112 113 116 public TabbedHandler getTabbedHandler() { 117 return tabbedHandler; 118 } 119 120 123 public boolean isHidden() { 124 return XoplonCtrl.isHidden(panelElement); 125 } 126 127 131 public void setHidden(RequestContext context, boolean hidden) { 132 tabbedHandler.setHidden(context, panelElement, hidden); 133 } 134 } | Popular Tags |