package org.jblooming.waf.html.display.paintable; import org.jblooming.waf.html.core.JspHelper; import org.jblooming.waf.html.core.HtmlBootstrap; import org.jblooming.waf.view.PageState; import org.jblooming.PlatformRuntimeException; import javax.servlet.jsp.PageContext; /** * @author Pietro Polsinelli ppolsinelli@open-lab.com * @author Roberto Bicchierai rbicchierai@open-lab.com */ public abstract class Paintable extends JspHelper implements HtmlBootstrap { public static final String ACTION = "JSPACT"; public static final String INITIALIZE = "IN"; public static final String DRAW_FOLIO = "DFL"; public static final String DRAW_LABEL = "DLB"; public static final String DRAW_LINE = "DLN"; public static final String DRAW_VLINE = "DVL"; public static final String DRAW_HLINE = "DHL"; public static final String DRAW_DOT = "DDT"; public static final String DRAW_RECTANGLE = "DRT"; public static final String DRAW_IMAGE = "DRI"; public static final String DRAW_LINK = "DLI"; public static final String DRAW_GROUP = "DGR"; public static final String DRAW_PERCENT = "DPRCT"; public static final String DRAW_ROUNDED = "DRRDB"; abstract String getPaintActionName(); public double top = 0; public double left = 0; public String style; public String color = "#000000"; public String lineStyle = "solid"; public int lineSize = 1; public Folio folio; public String additionalOnClickScript; public String script; public boolean nowrap = true; public String htmlClass=""; public void toHtml(PageContext pageContext) { pageContext.getRequest().setAttribute(Paintable.ACTION, getPaintActionName()); urlToInclude = "/commons/layout/partPaintable.jsp"; super.toHtml(pageContext); } public Paintable() { super(); } public void bringToFront() { if (folio == null) throw new PlatformRuntimeException("Add the object to folio BEFORE, then call bringToFront."); folio.bringToFront(this); } public void sendToBack() { if (folio == null) throw new PlatformRuntimeException("Add the object to folio BEFORE, then call sendToBack."); folio.sendToBack(this); } public String getDiscriminator() { return Paintable.class.getName(); } private void init(PageContext pageContext) { PageState ps = PageState.getCurrentPageState(); if (!ps.initedElements.contains(getDiscriminator())) { pageContext.getRequest().setAttribute(ACTION, INITIALIZE); super.toHtml(pageContext); ps.initedElements.add(getDiscriminator()); } } public boolean validate(PageState pageState) { return true; } }