Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder append

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder append

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder append.

Prototype

public SafeHtmlBuilder append(SafeHtml html) 

Source Link

Document

Appends the contents of another SafeHtml object, without applying HTML-escaping to it.

Usage

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.layout.PortalLayoutContainerUiBinderExample.java

License:sencha.com license

@UiFactory()
public Grid<Stock> createGrid() {
    final NumberFormat number = NumberFormat.getFormat("0.00");

    ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company");
    ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
    ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

    ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
    changeCol.setCell(new AbstractCell<Double>() {

        @Override/*from  w  w w.j a v  a2  s.com*/
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            SafeStylesBuilder stylesBuilder = new SafeStylesBuilder();
            stylesBuilder.appendTrustedString("color:" + (value < 0 ? "red" : "green") + ";");
            String v = number.format(value);
            CellTemplates cellTemplates = GWT.create(CellTemplates.class);
            SafeHtml template = cellTemplates.template(stylesBuilder.toSafeStyles(), v, v);
            sb.append(template);
        }
    });

    ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
            "Last Updated");
    lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

    List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
    l.add(nameCol);
    l.add(symbolCol);
    l.add(lastCol);
    l.add(changeCol);
    l.add(lastTransCol);
    ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

    ListStore<Stock> store = new ListStore<Stock>(props.key());
    store.addAll(TestData.getStocks());

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setAutoExpandColumn(nameCol);
    grid.setBorders(false);
    grid.getView().setStripeRows(true);
    grid.getView().setColumnLines(true);

    // needed to enable quicktips (qtitle for the heading and qtip for the
    // content) that are setup in the change GridCellRenderer
    new QuickTip(grid);

    return grid;
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.view.AdvancedListViewExample.java

License:sencha.com license

public Widget asWidget() {
    if (vp == null) {
        renderer = GWT.create(DetailRenderer.class);

        final ExampleServiceAsync service = GWT.create(ExampleService.class);

        RpcProxy<Object, List<Photo>> proxy = new RpcProxy<Object, List<Photo>>() {
            @Override/*from  w  w  w .  j a  v a2s  . c om*/
            public void load(Object loadConfig, AsyncCallback<List<Photo>> callback) {
                service.getPhotos(callback);
            }
        };

        Loader<Object, List<Photo>> loader = new Loader<Object, List<Photo>>(proxy);

        ModelKeyProvider<Photo> kp = new ModelKeyProvider<Photo>() {
            @Override
            public String getKey(Photo item) {
                return item.getName();
            }
        };

        store = new ListStore<Photo>(kp);
        loader.addLoadHandler(new ListStoreBinding<Object, Photo, List<Photo>>(store));
        store.addSortInfo(new StoreSortInfo<Photo>(new Comparator<Photo>() {

            @Override
            public int compare(Photo o1, Photo o2) {
                String v = sort.getCurrentValue();
                if (v.equals("Name")) {
                    return o1.getName().compareToIgnoreCase(o2.getName());
                } else if (v.equals("File Size")) {
                    return o1.getSize() < o2.getSize() ? -1 : 1;
                } else {
                    o1.getDate().compareTo(o2.getDate());
                }
                return 0;
            }
        }, SortDir.ASC));
        loader.load();

        chooser = new Dialog();
        chooser.setId("img-chooser-dlg");
        chooser.setHeadingText("Choose an Image");
        chooser.setWidth(500);
        chooser.setHeight(300);
        chooser.setModal(true);
        chooser.setBodyStyle("background: none");
        chooser.setBodyBorder(false);
        chooser.setPredefinedButtons(PredefinedButton.OK, PredefinedButton.CANCEL);
        chooser.setHideOnButtonClick(true);

        chooser.addHideHandler(new HideHandler() {

            @Override
            public void onHide(HideEvent event) {
                Photo photo = view.getSelectionModel().getSelectedItem();
                if (photo != null) {
                    if (chooser.getHideButton() == chooser.getButtonById(PredefinedButton.OK.name())) {
                        image.setUrl(photo.getPath());
                        image.setVisible(true);
                    }
                }
            }
        });

        BorderLayoutContainer con = new BorderLayoutContainer();
        chooser.add(con);

        VerticalLayoutContainer main = new VerticalLayoutContainer();
        main.setBorders(true);

        ToolBar bar = new ToolBar();
        bar.add(new LabelToolItem("Filter:"));

        StoreFilterField<Photo> field = new StoreFilterField<Photo>() {

            @Override
            protected boolean doSelect(Store<Photo> store, Photo parent, Photo item, String filter) {
                String name = item.getName().toLowerCase();
                if (name.indexOf(filter.toLowerCase()) != -1) {
                    return true;
                }
                return false;
            }

            @Override
            protected void onFilter() {
                super.onFilter();
                view.getSelectionModel().select(0, false);
            }

        };
        field.setWidth(100);
        field.bind(store);

        bar.add(field);
        bar.add(new SeparatorToolItem());
        bar.add(new LabelToolItem("Sort By:"));

        sort = new SimpleComboBox<String>(new StringLabelProvider<String>());
        sort.setTriggerAction(TriggerAction.ALL);
        sort.setEditable(false);
        sort.setForceSelection(true);
        sort.setWidth(120);
        sort.add("Name");
        sort.add("File Size");
        sort.add("Last Modified");
        sort.setValue("Name");
        sort.addSelectionHandler(new SelectionHandler<String>() {
            @Override
            public void onSelection(SelectionEvent<String> event) {
                store.applySort(false);
            }
        });
        bar.add(sort);

        main.add(bar, new VerticalLayoutData(1, -1));

        final Resources resources = GWT.create(Resources.class);
        resources.css().ensureInjected();
        final Style style = resources.css();

        final Renderer r = GWT.create(Renderer.class);

        ListViewCustomAppearance<Photo> appearance = new ListViewCustomAppearance<Photo>(
                "." + style.thumbWrap(), style.over(), style.select()) {
            @Override
            public void renderEnd(SafeHtmlBuilder builder) {
                String markup = new StringBuilder("<div class=\"").append(CommonStyles.get().clear())
                        .append("\"></div>").toString();
                builder.appendHtmlConstant(markup);
            }

            @Override
            public void renderItem(SafeHtmlBuilder builder, SafeHtml content) {
                builder.appendHtmlConstant(
                        "<div class='" + style.thumbWrap() + "' style='border: 1px solid white'>");
                builder.append(content);
                builder.appendHtmlConstant("</div>");
            }

        };

        view = new ListView<Photo, Photo>(store, new IdentityValueProvider<Photo>() {

            @Override
            public void setValue(Photo object, Photo value) {

            }
        }, appearance);
        view.setCell(new SimpleSafeHtmlCell<Photo>(new AbstractSafeHtmlRenderer<Photo>() {

            @Override
            public SafeHtml render(Photo object) {
                return r.renderItem(object, style);
            }
        }));
        view.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
        view.getSelectionModel().addSelectionChangedHandler(new SelectionChangedHandler<Photo>() {

            @Override
            public void onSelectionChanged(SelectionChangedEvent<Photo> event) {
                AdvancedListViewExample.this.onSelectionChange(event);
            }
        });
        view.setBorders(false);

        main.add(view, new VerticalLayoutData(1, 1));

        details = new HTML();
        details.addStyleName(ThemeStyles.getStyle().border());
        details.getElement().getStyle().setBackgroundColor("white");

        BorderLayoutData eastData = new BorderLayoutData(150);
        eastData.setSplit(true);

        BorderLayoutData centerData = new BorderLayoutData();
        centerData.setMargins(new Margins(0, 5, 0, 0));

        con.setCenterWidget(main, centerData);
        con.setEastWidget(details, eastData);

        TextButton b = new TextButton("Choose");
        b.addSelectHandler(new SelectHandler() {

            @Override
            public void onSelect(SelectEvent event) {
                chooser.show();
                view.getSelectionModel().select(0, false);
            }
        });

        vp = new VerticalPanel();
        vp.setSpacing(10);

        vp.add(b);

        image = new Image();
        image.getElement().getStyle().setProperty("marginTop", "10px");
        image.setVisible(false);
        vp.add(image);

    }
    return vp;
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.view.ListViewExample.java

License:sencha.com license

public Widget asWidget() {
    final ExampleServiceAsync service = GWT.create(ExampleService.class);

    RpcProxy<Object, List<Photo>> proxy = new RpcProxy<Object, List<Photo>>() {
        @Override//from  w w w.j  a v  a2  s  . c  om
        public void load(Object loadConfig, AsyncCallback<List<Photo>> callback) {
            service.getPhotos(callback);
        }
    };

    Loader<Object, List<Photo>> loader = new Loader<Object, List<Photo>>(proxy);

    ModelKeyProvider<Photo> kp = new ModelKeyProvider<Photo>() {
        @Override
        public String getKey(Photo item) {
            return item.getName();
        }
    };

    ListStore<Photo> store = new ListStore<Photo>(kp);
    loader.addLoadHandler(new ListStoreBinding<Object, Photo, List<Photo>>(store));
    loader.load();

    final FramedPanel panel = new FramedPanel();
    panel.setCollapsible(true);
    panel.setAnimCollapse(false);
    panel.setId("images-view2");
    panel.setHeadingText("Simple ListView (0 items selected)");
    panel.setWidth(535);
    panel.setBodyBorder(false);

    final Resources resources = GWT.create(Resources.class);
    resources.css().ensureInjected();
    final Style style = resources.css();

    final Renderer r = GWT.create(Renderer.class);

    ListViewCustomAppearance<Photo> appearance = new ListViewCustomAppearance<Photo>("." + style.thumbWrap(),
            style.over(), style.select()) {

        @Override
        public void renderEnd(SafeHtmlBuilder builder) {
            String markup = new StringBuilder("<div class=\"").append(CommonStyles.get().clear())
                    .append("\"></div>").toString();
            builder.appendHtmlConstant(markup);
        }

        @Override
        public void renderItem(SafeHtmlBuilder builder, SafeHtml content) {
            builder.appendHtmlConstant(
                    "<div class='" + style.thumbWrap() + "' style='border: 1px solid white'>");
            builder.append(content);
            builder.appendHtmlConstant("</div>");
        }

    };

    ListView<Photo, Photo> view = new ListView<Photo, Photo>(store, new IdentityValueProvider<Photo>() {

        @Override
        public void setValue(Photo object, Photo value) {

        }
    }, appearance);
    view.setCell(new SimpleSafeHtmlCell<Photo>(new AbstractSafeHtmlRenderer<Photo>() {

        @Override
        public SafeHtml render(Photo object) {
            return r.renderItem(object, style);
        }
    }));
    view.getSelectionModel().addSelectionChangedHandler(new SelectionChangedHandler<Photo>() {
        @Override
        public void onSelectionChanged(SelectionChangedEvent<Photo> event) {
            panel.setHeadingText("Simple ListView (" + event.getSelection().size() + " items selected)");
        }
    });

    panel.add(view);
    panel.addStyleName("margin-10");
    return panel;
}

From source file:com.novartis.pcs.ontology.webapp.client.view.DisableableCheckboxCell.java

License:Apache License

@Override
public void render(com.google.gwt.cell.client.Cell.Context context, Boolean value, SafeHtmlBuilder sb) {
    if (value == null) {
        sb.append(INPUT_DISABLED);
    } else {/* w ww. j a v  a2 s  . co  m*/
        super.render(context, value, sb);
    }
}

From source file:com.novartis.pcs.ontology.webapp.client.view.HyperlinkCell.java

License:Apache License

@Override
public void render(Context context, InlineHyperlink h, SafeHtmlBuilder sb) {
    if (h != null) {
        sb.append(SafeHtmlUtils.fromTrustedString(h.toString()));
    }/*from   w  ww .j  a va  2 s  .co  m*/
}

From source file:com.novartis.pcs.ontology.webapp.client.view.IconActionCell.java

License:Apache License

@Override
public void render(Context context, C value, SafeHtmlBuilder sb) {
    if (value != null) {
        sb.append(iconHtml);
    }
}

From source file:com.ocado.rangeui.client.gui.component.grid.column.EditNumberCell.java

@Override
public void render(Context context, Number value, SafeHtmlBuilder sb) {
    // Get the view data.
    Object key = context.getKey();
    ViewData viewData = getViewData(key);
    if (viewData != null && !viewData.isEditing() && value != null && value.equals(viewData.getNumber())) {
        clearViewData(key);//from   w w  w .j a  va  2  s.  co m
        viewData = null;
    }

    if (viewData != null) {
        Number number = viewData.getNumber();
        if (viewData.isEditing()) {
            /*
             * Do not use the renderer in edit mode because the value of a text
             * input element is always treated as text. SafeHtml isn't valid in the
             * context of the value attribute.
             */
            sb.append(template.input(format.format(number)));
        } else {
            // The user pressed enter, but view data still exists.
            sb.append(renderer.render(format.format(number)));
        }
    } else if (value != null) {
        sb.append(renderer.render(format.format(value)));
    } //To change body of generated methods, choose Tools | Templates.
}

From source file:com.qualogy.qafe.gwt.client.ui.renderer.cell.LinkCell.java

License:Apache License

@Override
protected void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {
    sb.appendHtmlConstant("<div  w style=\"text-decoration:underline;width:" + column.getWidth() + ";height:"
            + column.getHeight() + ";\" tabindex=\"-1\" " + addToolTip(tooltip) + " >");
    if (value != null) {
        sb.append(value);
    }//  w  ww.j a v  a 2 s.  c o m
    sb.appendHtmlConstant("</div>");

}

From source file:com.qualogy.qafe.gwt.client.ui.renderer.cell.QButtonCell.java

License:Apache License

@Override
protected void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {
    sb.appendHtmlConstant("<button type=\"button\"  w style=\"width:" + column.getWidth() + ";height:"
            + column.getHeight() + ";\" tabindex=\"-1\" " + addToolTip(tooltip) + " >");
    if (column.getStaticField() != null && column.getStaticField().booleanValue()) {
        sb.appendHtmlConstant(bc.getLabel());
    } else {//from w w w  . j av a 2 s .c  o  m
        if (value != null) {

            sb.append(value);
        }
    }
    sb.appendHtmlConstant("</button>");

}

From source file:com.radoslavhusar.tapas.war.client.ui.DynamicSelectionCell.java

License:Apache License

@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
    // Get the view data.
    Object key = context.getKey();
    String viewData = getViewData(key);
    if (viewData != null && viewData.equals(value)) {
        clearViewData(key);/* ww  w.ja va2s.c  o  m*/
        viewData = null;
    }

    int selectedIndex = getSelectedIndex(viewData == null ? value : viewData);
    sb.appendHtmlConstant("<select tabindex=\"-1\">");
    int index = 0;
    for (String option : options) {
        if (index++ == selectedIndex) {
            sb.append(template.selected(option));
        } else {
            sb.append(template.deselected(option));
        }
    }
    sb.appendHtmlConstant("</select>");
}