1 13 package com.tonbeller.wcf.toolbar; 14 15 import javax.servlet.jsp.JspException ; 16 import javax.servlet.jsp.tagext.TagSupport ; 17 18 import org.apache.log4j.Logger; 19 20 import com.tonbeller.wcf.controller.RequestContext; 21 22 25 public abstract class ToolButtonTag extends TagSupport { 26 String img; 27 String radioGroup; 28 String tooltip; 29 String visibleRef; 30 String role; 31 32 private static Logger logger = Logger.getLogger(ToolButtonTag.class); 33 34 38 public String getRadioGroup() { 39 return radioGroup; 40 } 41 42 46 public void setRadioGroup(String radioGroup) { 47 this.radioGroup = radioGroup; 48 } 49 50 public int doStartTag() throws JspException { 51 logger.info("enter " + id); 52 RequestContext context = RequestContext.instance(); 53 54 ToolBarTag tbt = (ToolBarTag)findAncestorWithClass(this, ToolBarTag.class); 56 if (tbt == null) 57 throw new JspException ("ToolButtonTag must be nested in ToolBarTag"); 58 ToolBar tbar = tbt.getToolBar(); 59 60 ToolButtonModel tbm = getToolButtonModel(context); 61 62 ToolButton tbut = new ToolButton(tbm, getImg()+"-up", getImg()+"-down"); 64 tbut.setId(getId()); 65 tbut.setRadioGroup(getRadioGroup()); 66 tbut.setTooltip(tooltip); 67 tbut.setVisibleExpr(visibleRef); 68 tbut.setRole(role); 69 tbar.addButton(tbut); 70 71 logger.info("leave " + id); 72 return EVAL_BODY_INCLUDE; 73 } 74 75 76 79 protected abstract ToolButtonModel getToolButtonModel(RequestContext context) throws JspException ; 80 81 85 public String getImg() { 86 return img; 87 } 88 89 93 public void setImg(String img) { 94 this.img = img; 95 } 96 97 100 public String getTooltip() { 101 return tooltip; 102 } 103 104 107 public void setTooltip(String string) { 108 tooltip = string; 109 } 110 111 114 public void setVisibleRef(String string) { 115 visibleRef = string; 116 } 117 118 121 public void setRole(String role) { 122 this.role = role; 123 } 124 125 128 public String getRole() { 129 return role; 130 } 131 132 135 public String getVisibleRef() { 136 return visibleRef; 137 } 138 139 } 140 | Popular Tags |