- HTML createHeader(Resources resources, String title, boolean open) {
- SafeHtmlBuilder sb = new SafeHtmlBuilder();
- sb.appendHtmlConstant(AbstractImagePrototype.create(resources.icon()).getHTML()).appendHtmlConstant(" ");
- sb.append(Templates.INSTANCE.nameSpan(title));
- sb.appendHtmlConstant(AbstractImagePrototype.create(open ? resources.open() : resources.closed()).getHTML());
- return new HTML(sb.toSafeHtml());
+ Widget createHeader(Resources resources, String title, boolean ajaxLoader, boolean open) {
+ HorizontalPanel header = new HorizontalPanel();
+
+ Image img = new Image(resources.icon());
+ header.add(img);
+ header.setCellVerticalAlignment(img, HasVerticalAlignment.ALIGN_MIDDLE);
+ header.setCellWidth(img, "32px");
+ HTML titleHtml = new HTML(title);
+ header.add(titleHtml);
+ header.setCellVerticalAlignment(titleHtml, HasVerticalAlignment.ALIGN_MIDDLE);
+ Image arrow = new Image(ajaxLoader ? resources.ajaxLoader() : open ? resources.open() : resources.closed());
+ arrow.addStyleName(resources.pithosDisclosurePanelCss().arrow());
+ header.add(arrow);
+ header.setCellHorizontalAlignment(arrow, HasHorizontalAlignment.ALIGN_RIGHT);
+ header.setCellVerticalAlignment(arrow, HasVerticalAlignment.ALIGN_MIDDLE);
+
+ header.addStyleName(resources.pithosDisclosurePanelCss().header());
+ return header;