1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag;
21
22 import org.apache.myfaces.tobago.component.UIToolBar;
23 import org.apache.myfaces.tobago.config.Configurable;
24 import org.apache.myfaces.tobago.context.ResourceManager;
25 import org.apache.myfaces.tobago.layout.Measure;
26 import org.apache.myfaces.tobago.layout.TextAlign;
27 import org.apache.myfaces.tobago.renderkit.css.Classes;
28 import org.apache.myfaces.tobago.renderkit.css.Style;
29 import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
30 import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
31 import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
32
33 import javax.faces.component.UIComponent;
34 import javax.faces.context.FacesContext;
35 import java.io.IOException;
36
37 public class ToolBarRenderer extends ToolBarRendererBase {
38
39 @Override
40 public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException {
41
42 UIToolBar toolBar = (UIToolBar) component;
43
44 TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
45
46 writer.startElement(HtmlElements.DIV, toolBar);
47 writer.writeIdAttribute(toolBar.getClientId(facesContext));
48 HtmlRendererUtils.writeDataAttributes(facesContext, writer, toolBar);
49 HtmlRendererUtils.renderDojoDndItem(toolBar, writer, true);
50 writer.writeClassAttribute(Classes.create(toolBar));
51 Style style = new Style(facesContext, toolBar);
52 boolean right = toolBar instanceof UIToolBar && UIToolBar.ORIENTATION_RIGHT.equals(toolBar.getOrientation());
53 if (right) {
54 style.setTextAlign(TextAlign.RIGHT);
55 }
56 writer.writeStyleAttribute(style);
57 super.encodeEnd(facesContext, toolBar);
58 writer.endElement(HtmlElements.DIV);
59 }
60
61 @Override
62 public Measure getHeight(FacesContext facesContext, Configurable toolBar) {
63
64 final ResourceManager resources = getResourceManager();
65
66 Measure result = getItemHeight(facesContext, toolBar);
67
68 result = result.add(resources.getThemeMeasure(facesContext, toolBar, "css.border-top-width"));
69 result = result.add(resources.getThemeMeasure(facesContext, toolBar, "css.border-bottom-width"));
70
71 return result;
72 }
73 }