private void buildDOM(AbstractImagePrototype thumbImage) { final Element leftDiv = getElement(LEFT); final Element rightDiv = getElement(RIGHT); final Element splitDiv = getSplitElement(); DOM.appendChild(getElement(), container); DOM.appendChild(container, leftDiv); DOM.appendChild(container, splitDiv); DOM.appendChild(container, rightDiv); /* * Sadly, this is the only way I've found to get vertical centering in this * case. The usually CSS hacks (display: table-cell, vertical-align: middle) * don't work in an absolute positioned DIV. */ SafeHtmlBuilder sb = new SafeHtmlBuilder(); sb.appendHtmlConstant( "<table class='hsplitter' height='100%' cellpadding='0' " + "cellspacing='0'><tr><td align='center' valign='middle'>"); sb.append(thumbImage.getSafeHtml()); splitDiv.setInnerSafeHtml(sb.toSafeHtml()); addScrolling(leftDiv); addScrolling(rightDiv); }
/** * This is called to display the success (and a download option). * * @param buildResults */ private void showSuccessfulBuild(Panel buildResults) { buildResults.clear(); VerticalPanel vert = new VerticalPanel(); vert.add( new HTML( AbstractImagePrototype.create(images.greenTick()).getHTML() + "<i>" + constants.PackageBuiltSuccessfully() + " " + conf.getLastModified() + "</i>")); final String hyp = getDownloadLink(this.conf); HTML html = new HTML( "<a href='" + hyp + "' target='_blank'>" + constants.DownloadBinaryPackage() + "</a>"); vert.add(html); buildResults.add(vert); }
/** * Creates an empty horizontal split panel. * * @param resources ClientBundle containing an image for the splitter's drag thumb */ public HorizontalSplitPanel(Resources resources) { this(AbstractImagePrototype.create(resources.horizontalSplitPanelThumb())); }