List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder append
public SafeHtmlBuilder append(SafeHtml html)
From source file:com.ritchey.attendance.client.view.TextInputCell.java
License:Apache License
@Override public void render(Context context, String value, SafeHtmlBuilder sb) { // Get the view data. Object key = context.getKey(); ViewData viewData = getViewData(key); if (viewData != null && viewData.getCurrentValue().equals(value)) { clearViewData(key);/*from w w w . j av a2s .co m*/ viewData = null; } String s = (viewData != null) ? viewData.getCurrentValue() : value; if (s != null) { sb.append(template.input(s)); } else { sb.appendHtmlConstant("<input type=\"text\"></input>"); } }
From source file:com.seanchenxi.gwt.serenity.client.view.impl.SerenityLayoutImpl.java
License:Apache License
public SerenityLayoutImpl() { SerenityResources.COMMON.commonCSS().ensureInjected(); initWidget(UIBINDER.createAndBindUi(this)); getElement().setId("main"); resource.style().ensureInjected();//w ww . j a va 2s .c o m header.setText(SerenityResources.MSG.page_Title()); header.setSubText(SerenityResources.MSG.page_subTitle()); header.getElement().setId("header"); sidebarContainer.getElement().setId("sidebar"); contentListContainer.getElement().setId("contents"); SafeHtmlBuilder shb = new SafeHtmlBuilder(); shb.append(FOOTER_TEMPLATE.copyright( DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.YEAR).format(new Date()), UriUtils.fromSafeConstant(SerenityUtil.getWpBaseUrl()), Window.Location.getHost())); shb.append(FOOTER_TEMPLATE.poweredBy(UriUtils.fromSafeConstant(SerenityResources.MSG.wordpress_URL()), SerenityResources.MSG.wordpress_URL(), SerenityUtil.getWpNaming())); footer.setHTML(shb.toSafeHtml()); footer.getElement().setId("footer"); }
From source file:com.seanchenxi.serenity.client.view.impl.SerenityLayoutImpl.java
License:Apache License
public SerenityLayoutImpl() { SerenityResources.COMMON.commonCSS().ensureInjected(); initWidget(UIBINDER.createAndBindUi(this)); resource.style().ensureInjected();// w ww .j a v a 2s . c o m header.setText(SerenityResources.MSG.page_Title()); header.setSubText(SerenityResources.MSG.page_subTitle()); SafeHtmlBuilder shb = new SafeHtmlBuilder(); shb.append(FOOTER_TEMPLATE.copyright( DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.YEAR).format(new Date()), UriUtils.fromSafeConstant(SerenityUtil.getWpBaseUrl()), Window.Location.getHost())); shb.append(FOOTER_TEMPLATE.poweredBy(UriUtils.fromSafeConstant(SerenityResources.MSG.wordpress_URL()), SerenityResources.MSG.wordpress_URL(), SerenityUtil.getWpNaming())); footer.setHTML(shb.toSafeHtml()); }
From source file:com.sencha.gxt.cell.core.client.NumberCell.java
License:sencha.com license
@Override public void render(Context context, Number value, SafeHtmlBuilder sb) { if (value != null) { sb.append(renderer.render(format.format(value))); }//from w w w . ja va 2 s . c o m }
From source file:com.sencha.gxt.cell.core.client.SimpleSafeHtmlCell.java
License:sencha.com license
@Override protected void render(Context context, SafeHtml data, SafeHtmlBuilder sb) { if (data != null) { sb.append(data); }//www .ja v a 2 s . c o m }
From source file:com.sencha.gxt.desktop.client.theme.base.container.DesktopLayoutDefaultAppearance.java
License:sencha.com license
@Override public void render(SafeHtmlBuilder sb) { sb.append(template.template(resources.style())); }
From source file:com.sencha.gxt.explorer.client.grid.WordWrapGridExample.java
License:sencha.com license
@Override public Widget asWidget() { if (fp == null) { fp = new FramedPanel(); fp.setHeadingText("Word Wrap Grid"); fp.getHeader().setIcon(ExampleImages.INSTANCE.table()); fp.setPosition(10, 10);/*w w w . j a v a 2s .c om*/ fp.setPixelSize(600, 400); new Resizable(fp, Dir.E, Dir.SE, Dir.S); ToolButton tb = new ToolButton(ToolButton.QUESTION); ToolTipConfig ttc = new ToolTipConfig("Example Info", "This example illustrates word wrap in grid headings and rows."); ttc.setMaxWidth(225); tb.setToolTipConfig(ttc); fp.addTool(tb); List<ColumnConfig<Row, ?>> ccs = new LinkedList<ColumnConfig<Row, ?>>(); for (int i = 0; i < COLUMN_COUNT; i++) { ValueProvider<Row, String> cvp = rvp.getColumnValueProvider(i); SafeHtml sh = wrapString(createDummyText()); ColumnConfig<Row, String> cc = new ColumnConfig<Row, String>(cvp, 200, sh); // Use a custom cell renderer to support word wrap in the grid's cells cc.setCell(new AbstractCell<String>() { @Override public void render(Context context, String value, SafeHtmlBuilder sb) { if (value == null || value.isEmpty()) { sb.appendHtmlConstant(" "); } else { sb.append(wrapString(value)); } } }); ccs.add(cc); } final ColumnModel<Row> cm = new ColumnModel<Row>(ccs); final ListStore<Row> ls = new ListStore<Row>(new RowKeyProvider()); ls.setAutoCommit(true); int columnCount = ccs.size(); for (int i = 0; i < ROW_COUNT; i++) { Row row = new Row(columnCount); for (int j = 0; j < columnCount; j++) { row.setValue(j, createDummyText()); } ls.add(row); } final Grid<Row> g = new Grid<Row>(ls, cm, new WordWrapGridView()); g.getView().setColumnHeader(new WordWrapColumnHeader<Row>(g, cm)); g.getView().setColumnLines(true); final GridInlineEditing<Row> gie = new GridInlineEditing<Row>(g) { protected void onScroll(ScrollEvent event) { // Suppress default action, which may result in canceling edit } }; gie.setClicksToEdit(ClicksToEdit.TWO); gie.addStartEditHandler(new StartEditHandler<Row>() { @Override public void onStartEdit(StartEditEvent<Row> event) { GridCell cell = event.getEditCell(); ColumnConfig<Row, ?> cc = cm.getColumn(cell.getCol()); Field<Object> editor = (Field<Object>) gie.getEditor(cc); Element rowElement = g.getView().getRow(cell.getRow()); // Resize the inline editor to the height of the row and style it to match the text int height = rowElement.getOffsetHeight() - 1; editor.setHeight(height); XElement cellElement = g.getView().getCell(cell.getRow(), cell.getCol()).cast(); Style style = ((TextAreaAppearance) editor.getCell().getAppearance()) .getInputElement(editor.getElement()).getStyle(); String fontSize = cellElement.getComputedStyle("fontSize"); if (fontSize != null) { style.setProperty("fontSize", fontSize); } String fontFamily = cellElement.getComputedStyle("fontFamily"); if (fontFamily != null) { style.setProperty("fontFamily", fontFamily); } style.setOverflow(Overflow.HIDDEN); } }); for (ColumnConfig<Row, ?> cc : ccs) { @SuppressWarnings("unchecked") ColumnConfig<Row, String> scc = (ColumnConfig<Row, String>) cc; final TextArea ta = new TextArea(); ta.setPreventScrollbars(true); ta.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { // Allow the enter key to end grid inline editing if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { Scheduler.get().scheduleFinally(new RepeatingCommand() { @Override public boolean execute() { gie.completeEditing(); ta.clear(); return false; } }); } } }); gie.addEditor(scc, ta); } g.addViewReadyHandler(new ViewReadyHandler() { @Override public void onViewReady(ViewReadyEvent event) { Info.display("onViewReady", "heading width=" + g.getView().getHeader().getOffsetWidth() + ", height=" + g.getView().getHeader().getOffsetHeight()); g.getView().getHeader().addResizeHandler(new ResizeHandler() { @Override public void onResize(ResizeEvent event) { Info.display("onResize", "heading width=" + event.getWidth() + ", height=" + event.getHeight()); } }); } }); fp.setWidget(g); fp.addButton(new TextButton("Set Heading Text", new SelectHandler() { @Override public void onSelect(SelectEvent event) { final Window w = new Window(); w.setHeadingText("Set Heading Text"); w.setPixelSize(300, 200); w.setResizable(false); w.setModal(true); VerticalLayoutContainer vlc = new VerticalLayoutContainer(); w.setWidget(vlc); final IntegerSpinnerField index = new IntegerSpinnerField(); index.setMinValue(0); index.setMaxValue(COLUMN_COUNT - 1); index.setValue(0); index.setAllowBlank(false); index.setSelectOnFocus(true); vlc.add(new FieldLabel(index, "Column Index"), new VerticalLayoutData(1, -1, M1)); final TextArea text = new TextArea(); vlc.add(new FieldLabel(text, "Heading Text"), new VerticalLayoutData(1, 1, M2)); w.addButton(new TextButton("Cancel", new SelectHandler() { @Override public void onSelect(SelectEvent event) { w.hide(); } })); w.addButton(new TextButton("OK", new SelectHandler() { @Override public void onSelect(SelectEvent event) { if (index.validate()) { w.hide(); SafeHtml newHeading; String newText = text.getValue(); if (newText == null) { newHeading = SafeHtmlUtils.fromSafeConstant(" "); } else { newHeading = wrapString(newText); } ColumnModel<Row> columnModel = g.getColumnModel(); columnModel.setColumnHeader(index.getValue(), newHeading); } } })); w.show(); w.setFocusWidget(index); } })); fp.addButton(new TextButton("Set Cell Text", new SelectHandler() { @Override public void onSelect(SelectEvent event) { final Window w = new Window(); w.setHeadingText("Set Cell Text"); w.setPixelSize(300, 200); w.setResizable(false); w.setModal(true); VerticalLayoutContainer vlc = new VerticalLayoutContainer(); w.setWidget(vlc); final IntegerSpinnerField rowIndex = new IntegerSpinnerField(); rowIndex.setMinValue(0); rowIndex.setMaxValue(ROW_COUNT - 1); rowIndex.setValue(0); rowIndex.setAllowBlank(false); rowIndex.setSelectOnFocus(true); vlc.add(new FieldLabel(rowIndex, "Row Index"), new VerticalLayoutData(1, -1, M1)); final IntegerSpinnerField columnIndex = new IntegerSpinnerField(); columnIndex.setMinValue(0); columnIndex.setMaxValue(COLUMN_COUNT - 1); columnIndex.setValue(0); columnIndex.setAllowBlank(false); columnIndex.setSelectOnFocus(true); vlc.add(new FieldLabel(columnIndex, "Column Index"), new VerticalLayoutData(1, -1, M1)); final TextArea text = new TextArea(); vlc.add(new FieldLabel(text, "Cell Text"), new VerticalLayoutData(1, 1, M2)); w.addButton(new TextButton("Cancel", new SelectHandler() { @Override public void onSelect(SelectEvent event) { w.hide(); } })); w.addButton(new TextButton("OK", new SelectHandler() { @Override public void onSelect(SelectEvent event) { if (rowIndex.validate() && columnIndex.validate()) { w.hide(); String newText = text.getValue(); if (newText == null) { newText = ""; } Row row = ls.get(rowIndex.getValue()); row.setValue(columnIndex.getValue(), newText); ls.update(row); } } })); w.show(); w.setFocusWidget(rowIndex); } })); fp.addButton(new TextButton("Set Column Width", new SelectHandler() { @Override public void onSelect(SelectEvent event) { final Window w = new Window(); w.setHeadingText("Set Column Width"); w.setPixelSize(300, 150); w.setResizable(false); w.setModal(true); VerticalLayoutContainer vlc = new VerticalLayoutContainer(); w.setWidget(vlc); final IntegerSpinnerField columnIndex = new IntegerSpinnerField(); columnIndex.setMinValue(0); columnIndex.setMaxValue(COLUMN_COUNT - 1); columnIndex.setValue(0); columnIndex.setAllowBlank(false); columnIndex.setSelectOnFocus(true); vlc.add(new FieldLabel(columnIndex, "Column Index"), new VerticalLayoutData(1, -1, M1)); final IntegerSpinnerField width = new IntegerSpinnerField(); width.setMinValue(0); width.setValue(50); width.setAllowBlank(false); width.setSelectOnFocus(true); vlc.add(new FieldLabel(width, "Column Width"), new VerticalLayoutData(1, -1, M2)); w.addButton(new TextButton("Cancel", new SelectHandler() { @Override public void onSelect(SelectEvent event) { w.hide(); } })); w.addButton(new TextButton("OK", new SelectHandler() { @Override public void onSelect(SelectEvent event) { if (columnIndex.validate() && width.validate()) { w.hide(); g.getColumnModel().setColumnWidth(columnIndex.getValue(), width.getValue()); } } })); w.show(); w.setFocusWidget(columnIndex); } })); fp.addButton(new TextButton("Set Heading Height", new SelectHandler() { @Override public void onSelect(SelectEvent event) { final Window w = new Window(); w.setHeadingText("Set Heading Height"); w.setPixelSize(300, 250); w.setResizable(false); w.setModal(true); VerticalLayoutContainer vlc = new VerticalLayoutContainer(); w.setWidget(vlc); vlc.add(new HTML( "<span style='font: 12px tahoma,arial,verdana,sans-serif;'>Sets the size of the heading to a fixed height. If this height is less than the height of the heading text, the heading text will be truncated.<br><br>To restore automatic sizing, specify a value of -1.<br><br></span>"), new VerticalLayoutData(1, -1, M1)); final IntegerSpinnerField height = new IntegerSpinnerField(); height.setMinValue(-1); height.setValue(50); height.setAllowBlank(false); height.setSelectOnFocus(true); vlc.add(new FieldLabel(height, "Heading Height"), new VerticalLayoutData(1, -1, M2)); w.addButton(new TextButton("Cancel", new SelectHandler() { @Override public void onSelect(SelectEvent event) { w.hide(); } })); w.addButton(new TextButton("OK", new SelectHandler() { @Override public void onSelect(SelectEvent event) { if (height.validate()) { w.hide(); g.getView().getHeader().setHeight(height.getValue()); } } })); w.show(); w.setFocusWidget(height); } })); fp.addButton(new TextButton("Get Heading Height", new SelectHandler() { @Override public void onSelect(SelectEvent event) { int headerHeight = g.getView().getHeader().getOffsetHeight(); Info.display("getHeight", "height=" + headerHeight); } })); final ToggleButton fftb = new ToggleButton("Force Fit"); fftb.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { if (fftb.getValue()) { columnWidths.save(g); g.getView().setForceFit(true); } else { g.getView().setForceFit(false); columnWidths.restore(g); } g.getView().layout(); } }); fp.addButton(fftb); fp.show(); } return fp; }
From source file:com.sencha.gxt.theme.base.client.button.ButtonCellDefaultAppearance.java
License:sencha.com license
@Override public void render(final ButtonCell<C> cell, Context context, C value, SafeHtmlBuilder sb) { String constantHtml = cell.getHTML(); boolean hasConstantHtml = constantHtml != null && constantHtml.length() != 0; boolean isBoolean = value != null && value instanceof Boolean; // is a boolean always a toggle button? SafeHtml valueHtml = SafeHtmlUtils.fromTrustedString(hasConstantHtml ? cell.getText() : (value != null && !isBoolean) ? SafeHtmlUtils.htmlEscape(value.toString()) : ""); ImageResource icon = cell.getIcon(); IconAlign iconAlign = cell.getIconAlign(); String cls = style.button();//from w w w . j ava2 s. com String arrowCls = ""; if (cell.getMenu() != null) { if (cell instanceof SplitButtonCell) { switch (cell.getArrowAlign()) { case RIGHT: arrowCls = style.split(); break; case BOTTOM: arrowCls = style.splitBottom(); break; default: // empty } } else { switch (cell.getArrowAlign()) { case RIGHT: arrowCls = style.arrow(); break; case BOTTOM: arrowCls = style.arrowBottom(); break; } } } ButtonScale scale = cell.getScale(); switch (scale) { case SMALL: cls += " " + style.small(); break; case MEDIUM: cls += " " + style.medium(); break; case LARGE: cls += " " + style.large(); break; default: // empty } SafeStylesBuilder stylesBuilder = new SafeStylesBuilder(); int width = -1; if (cell.getWidth() != -1) { int w = cell.getWidth(); if (w < cell.getMinWidth()) { w = cell.getMinWidth(); } stylesBuilder.appendTrustedString("width:" + w + "px;"); cls += " " + style.hasWidth() + " x-has-width"; width = w; } else { if (cell.getMinWidth() != -1) { TextMetrics.get().bind(style.text()); int length = TextMetrics.get().getWidth(valueHtml); length += 6; // frames if (icon != null) { switch (iconAlign) { case LEFT: case RIGHT: length += icon.getWidth(); break; default: // empty } } if (cell.getMinWidth() > length) { stylesBuilder.appendTrustedString("width:" + cell.getMinWidth() + "px;"); cls += " " + style.hasWidth() + " x-has-width"; width = cell.getMinWidth(); } } } final int height = cell.getHeight(); if (height != -1) { stylesBuilder.appendTrustedString("height:" + height + "px;"); } if (icon != null) { switch (iconAlign) { case TOP: arrowCls += " " + style.iconTop(); break; case BOTTOM: arrowCls += " " + style.iconBottom(); break; case LEFT: arrowCls += " " + style.iconLeft(); break; case RIGHT: arrowCls += " " + style.iconRight(); break; } } else { arrowCls += " " + style.noIcon(); } // toggle button if (value == Boolean.TRUE) { cls += " " + frame.pressedClass(); } sb.append(templates.outer(cls, new SafeStylesBuilder().toSafeStyles())); SafeHtmlBuilder inside = new SafeHtmlBuilder(); String innerWrap = arrowCls; inside.appendHtmlConstant("<div class='" + innerWrap + "'>"); inside.appendHtmlConstant("<table cellpadding=0 cellspacing=0 class='" + style.mainTable() + "'>"); boolean hasText = valueHtml != null && !valueHtml.equals(""); if (icon != null) { switch (iconAlign) { case LEFT: inside.appendHtmlConstant("<tr>"); writeIcon(inside, icon, height); if (hasText) { int w = width - (icon != null ? icon.getWidth() : 0) - 4; writeValue(inside, valueHtml, w, height); } inside.appendHtmlConstant("</tr>"); break; case RIGHT: inside.appendHtmlConstant("<tr>"); if (hasText) { int w = width - (icon != null ? icon.getWidth() : 0) - 4; writeValue(inside, valueHtml, w, height); } writeIcon(inside, icon, height); inside.appendHtmlConstant("</tr>"); break; case TOP: inside.appendHtmlConstant("<tr>"); writeIcon(inside, icon, height); inside.appendHtmlConstant("</tr>"); if (hasText) { inside.appendHtmlConstant("<tr>"); writeValue(inside, valueHtml, width, height); inside.appendHtmlConstant("</tr>"); } break; case BOTTOM: if (hasText) { inside.appendHtmlConstant("<tr>"); writeValue(inside, valueHtml, width, height); inside.appendHtmlConstant("</tr>"); } inside.appendHtmlConstant("<tr>"); writeIcon(inside, icon, height); inside.appendHtmlConstant("</tr>"); break; } } else { inside.appendHtmlConstant("<tr>"); if (valueHtml != null) { writeValue(inside, valueHtml, width, height); } inside.appendHtmlConstant("</tr>"); } inside.appendHtmlConstant("</table>"); inside.appendHtmlConstant("</div>"); frame.render(sb, new Frame.FrameOptions(0, CommonStyles.get().noFocusOutline(), stylesBuilder.toSafeStyles()), inside.toSafeHtml()); sb.appendHtmlConstant("</div>"); }
From source file:com.sencha.gxt.theme.base.client.button.ButtonCellDefaultAppearance.java
License:sencha.com license
protected void writeIcon(SafeHtmlBuilder builder, ImageResource icon, int height) { SafeHtml iconHtml = AbstractImagePrototype.create(icon).getSafeHtml(); if (height == -1) { builder.append(templates.icon(style.iconWrap(), iconHtml)); } else {//w ww .j a va2s . co m int adjustedHeight = height - heightOffset; SafeStyles heightStyle = SafeStylesUtils.fromTrustedString("height:" + adjustedHeight + "px;"); builder.append(templates.iconWithStyles(style.iconWrap(), heightStyle, iconHtml)); } }
From source file:com.sencha.gxt.theme.base.client.button.ButtonCellDefaultAppearance.java
License:sencha.com license
protected void writeValue(SafeHtmlBuilder builder, SafeHtml value, int width, int height) { SafeStylesBuilder sb = new SafeStylesBuilder(); if (height > 0) { int adjustedHeight = height - heightOffset; sb.append(SafeStylesUtils.fromTrustedString("height:" + adjustedHeight + "px;")); }//from w w w .java 2 s . com if (width > 0) { sb.append(SafeStylesUtils.fromTrustedString("width:" + width + "px;")); } builder.append(templates.textWithStyles(style.text(), sb.toSafeStyles(), value)); }