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

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

Introduction

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

Prototype

public SafeHtmlBuilder appendHtmlConstant(String html) 

Source Link

Document

Appends a compile-time-constant string, which will not be escaped.

Usage

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

License:sencha.com license

public Widget 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 ww  w.j  a  v  a2 s  . c om*/
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
            String v = number.format(value);
            sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
        }
    });

    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(true);
    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.model.Example.java

License:sencha.com license

public SafeHtml getImage() {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendHtmlConstant(AbstractImagePrototype.create(icon).getHTML());
    return builder.toSafeHtml();
}

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 . jav a  2s  . 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  va  2  s.c o m*/
        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.TermCell.java

License:Apache License

@Override
public void render(Context context, Term term, SafeHtmlBuilder sb) {
    if (term != null) {
        sb.appendHtmlConstant("<span class=\"codelist-term\">");
        sb.appendEscaped(term.getName());
        sb.appendHtmlConstant("</span>");
    }//w  ww .  ja  v  a2  s  . c om
}

From source file:com.npisoft.officine.client.application.GridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    final NumberFormat number = NumberFormat.getFormat("0.00");

    ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50,
            SafeHtmlUtils.fromTrustedString("<b>Company</b>"));

    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  ww w  .j  ava 2 s. c o m
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
            String v = number.format(value);
            sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
        }
    });

    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(getStocks());

    root = new ContentPanel();

    // panel = new ();
    // panel.setCollapsible(true);
    // panel.setPixelSize(500, 400);
    // panel.addStyleName("margin-10");

    root.setHeadingText("Basic Grid");
    root.getHeader().setIcon(ExampleImages.INSTANCE.table());
    root.setPixelSize(600, 300);
    root.addStyleName("margin-10");

    //ToolButton info = new ToolButton(ToolButton.QUESTION);
    //ToolTipConfig config = new ToolTipConfig("Example Info",
    //   "This examples includes resizable panel, reorderable columns and grid state.");
    //config.setMaxWidth(225);
    //info.setToolTipConfig(config);
    // root.addTool(info);

    final Resizable resizable = new Resizable(root, Dir.E, Dir.SE, Dir.S);
    root.addExpandHandler(new ExpandHandler() {
        @Override
        public void onExpand(ExpandEvent event) {
            resizable.setEnabled(true);
        }
    });
    root.addCollapseHandler(new CollapseHandler() {
        @Override
        public void onCollapse(CollapseEvent event) {
            resizable.setEnabled(false);
        }
    });

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

    grid.setColumnReordering(true);
    grid.setStateful(true);
    grid.setStateId("gridExample");

    GridStateHandler<Stock> state = new GridStateHandler<Stock>(grid);
    state.loadState();

    ToolBar toolBar = new ToolBar();
    toolBar.setEnableOverflow(false);
    // toolBar.add(new LabelToolItem("Selection Mode: "));

    BoxLayoutData flex = new BoxLayoutData(new Margins(0, 5, 0, 5));
    flex.setFlex(1);
    toolBar.add(new Label(), flex);

    TextButton btn0 = new TextButton();
    btn0.setIcon(ExampleImages.INSTANCE.add());
    btn0.setWidth(50);
    btn0.setToolTip("Ajouter");
    btn0.setIconAlign(IconAlign.TOP);
    toolBar.add(btn0);

    HelloWindowExample helloWindowExample = new HelloWindowExample();
    final Window window = (Window) helloWindowExample.asWidget();
    btn0.addSelectHandler(new SelectHandler() {
        @Override
        public void onSelect(SelectEvent event) {
            window.show();
        }
    });
    window.setData("open", btn0);

    TextButton btn2 = new TextButton();
    btn2.setIcon(ExampleImages.INSTANCE.delete0());
    btn2.setWidth(50);
    btn2.setToolTip("Supprimer");
    btn2.setIconAlign(IconAlign.TOP);
    toolBar.add(btn2);

    TextButton btn1 = new TextButton();
    btn1.setIcon(ExampleImages.INSTANCE.edit());
    btn1.setWidth(50);
    btn1.setToolTip("Editer");
    btn1.setIconAlign(IconAlign.TOP);
    toolBar.add(btn1);

    TextButton btn3 = new TextButton();
    btn3.setIcon(ExampleImages.INSTANCE.search());
    btn3.setWidth(50);
    btn3.setToolTip("Chercher");
    btn3.setIconAlign(IconAlign.TOP);
    toolBar.add(btn3);

    // toolBar.getToolTip().add

    SimpleComboBox<String> type = new SimpleComboBox<String>(new StringLabelProvider<String>());
    type.setTriggerAction(TriggerAction.ALL);
    type.setEditable(false);
    type.setWidth(100);
    type.add("Row");
    type.add("Cell");
    type.setValue("Row");
    // we want to change selection model on select, not value change which
    // fires on blur
    type.addSelectionHandler(new SelectionHandler<String>() {

        @Override
        public void onSelection(SelectionEvent<String> event) {
            boolean cell = event.getSelectedItem().equals("Cell");
            if (cell) {
                CellSelectionModel<Stock> c = new CellSelectionModel<Stock>();
                c.addCellSelectionChangedHandler(new CellSelectionChangedHandler<Stock>() {

                    @Override
                    public void onCellSelectionChanged(CellSelectionChangedEvent<Stock> event) {

                    }
                });

                grid.setSelectionModel(c);
            } else {
                grid.setSelectionModel(new GridSelectionModel<Stock>());
            }
        }
    });
    type.addValueChangeHandler(new ValueChangeHandler<String>() {

        @Override
        public void onValueChange(ValueChangeEvent<String> event) {

        }
    });
    // toolBar.add(type);

    VerticalLayoutContainer con = new VerticalLayoutContainer();
    root.setWidget(con);
    // root.setHeaderVisible(false);

    con.add(toolBar, new VerticalLayoutData(1, -1));
    con.add(grid, new VerticalLayoutData(1, 1));
    // final PagingLoader<PagingLoadConfig, PagingLoadResult<Post>> loader =
    // new PagingLoader<PagingLoadConfig, PagingLoadResult<Post>>(
    // proxy);
    // loader.setRemoteSort(true);
    // loader.addLoadHandler(new
    // LoadResultListStoreBinding<PagingLoadConfig, Post,
    // PagingLoadResult<Post>>(store));

    final PagingToolBar pagingToolBar = new PagingToolBar(50);
    pagingToolBar.getElement().getStyle().setProperty("borderBottom", "none");
    // pagingToolBar.bind(loader);
    con.add(pagingToolBar, new VerticalLayoutData(1, -1));

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

    return root;
}

From source file:com.npisoft.officine.client.application.referentiel.product.refofficine.edit.AggregationGridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    if (panel == null) {
        StockProperties props = GWT.create(StockProperties.class);
        final NumberFormat numberFormat = NumberFormat.getFormat("0.00");
        final NumberFormat currency = NumberFormat.getCurrencyFormat();

        List<ColumnConfig<Stock, ?>> configs = new ArrayList<ColumnConfig<Stock, ?>>();

        ColumnConfig<Stock, String> nameColumn = new ColumnConfig<Stock, String>(props.name(), 200, "Company");
        configs.add(nameColumn);//from ww  w.jav a  2 s .c om

        ColumnConfig<Stock, String> symbolColumn = new ColumnConfig<Stock, String>(props.symbol(), 100,
                "Symbol");
        configs.add(symbolColumn);

        ColumnConfig<Stock, Double> lastColumn = new ColumnConfig<Stock, Double>(props.last(), 100, "Last");

        lastColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(currency)));
        configs.add(lastColumn);

        ColumnConfig<Stock, Double> changeColumn = new ColumnConfig<Stock, Double>(props.change(), 100,
                "Change");

        changeColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(numberFormat)) {
            @Override
            public void render(com.google.gwt.cell.client.Cell.Context context, Double value,
                    SafeHtmlBuilder sb) {
                String style = value < 0 ? "red" : "green";
                sb.appendHtmlConstant("<span style='color:" + style + "'>");
                super.render(context, value, sb);
                sb.appendHtmlConstant("</span>");
            }
        });
        configs.add(changeColumn);

        ColumnConfig<Stock, Date> dateColumn = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Date");
        dateColumn.setCell(new DateCell(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT)));
        configs.add(dateColumn);

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

        ColumnModel<Stock> cm = new ColumnModel<Stock>(configs);

        cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Stock Information", 1, 2));
        cm.addHeaderGroup(0, 2, new HeaderGroupConfig("Stock Performance", 1, 2));

        AggregationRowConfig<Stock> averages = new AggregationRowConfig<Stock>();
        averages.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Average"));

        averages.setRenderer(lastColumn,
                new AggregationNumberSummaryRenderer<Stock, Number>(currency, new AvgSummaryType<Number>()));

        averages.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat,
                new AvgSummaryType<Number>()));
        cm.addAggregationRow(averages);

        AggregationRowConfig<Stock> max = new AggregationRowConfig<Stock>();
        max.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Maximum"));

        max.setRenderer(lastColumn,
                new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MaxSummaryType<Number>()));

        max.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat,
                new MaxSummaryType<Number>()));
        cm.addAggregationRow(max);

        AggregationRowConfig<Stock> min = new AggregationRowConfig<Stock>();
        min.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Minimum"));

        min.setRenderer(lastColumn,
                new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MinSummaryType<Number>()));

        min.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat,
                new MinSummaryType<Number>()));
        cm.addAggregationRow(min);

        panel = new FramedPanel();
        panel.setHeaderVisible(false);
        panel.setCollapsible(true);
        panel.setBorders(false);
        panel.setAnimCollapse(false);
        panel.setHeadingText("Aggregation Rows");
        panel.setPixelSize(680, 300);
        panel.addStyleName("margin-10");

        grid = new Grid<Stock>(store, cm);
        //grid.setBorders(true);
        grid.getView().setAutoExpandColumn(nameColumn);
        panel.add(grid);
    }

    return panel;
}

From source file:com.npisoft.officine.client.application.referentiel.product.refofficine.edit.GridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    if (root == null) {
        final NumberFormat number = NumberFormat.getFormat("0.00");

        ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50,
                SafeHtmlUtils.fromTrustedString("<b>Company</b>"));

        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/*  w w  w  .ja  va2 s.com*/
            public void render(Context context, Double value, SafeHtmlBuilder sb) {
                String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
                String v = number.format(value);
                sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
            }
        });

        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());

        root = new ContentPanel();
        root.setHeaderVisible(false);
        root.setHeadingText("Basic Grid");
        root.getHeader().setIcon(ExampleImages.INSTANCE.table());
        root.setPixelSize(680, 300);
        root.addStyleName("margin-10");

        ToolButton info = new ToolButton(ToolButton.QUESTION);
        ToolTipConfig config = new ToolTipConfig("Example Info",
                "This examples includes resizable panel, reorderable columns and grid state.");
        config.setMaxWidth(225);
        info.setToolTipConfig(config);
        root.addTool(info);

        final Resizable resizable = new Resizable(root, Dir.E, Dir.SE, Dir.S);
        root.addExpandHandler(new ExpandHandler() {
            @Override
            public void onExpand(ExpandEvent event) {
                resizable.setEnabled(true);
            }
        });
        root.addCollapseHandler(new CollapseHandler() {
            @Override
            public void onCollapse(CollapseEvent event) {
                resizable.setEnabled(false);
            }
        });

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

        grid.setColumnReordering(true);
        grid.setStateful(true);
        grid.setStateId("gridExample");

        GridStateHandler<Stock> state = new GridStateHandler<Stock>(grid);
        state.loadState();

        ToolBar toolBar = new ToolBar();
        toolBar.setEnableOverflow(false);
        toolBar.add(new LabelToolItem("Selection Mode: "));

        SimpleComboBox<String> type = new SimpleComboBox<String>(new StringLabelProvider<String>());
        type.setTriggerAction(TriggerAction.ALL);
        type.setEditable(false);
        type.setWidth(100);
        type.add("Row");
        type.add("Cell");
        type.setValue("Row");
        // we want to change selection model on select, not value change which fires on blur
        type.addSelectionHandler(new SelectionHandler<String>() {

            @Override
            public void onSelection(SelectionEvent<String> event) {
                boolean cell = event.getSelectedItem().equals("Cell");
                if (cell) {
                    CellSelectionModel<Stock> c = new CellSelectionModel<Stock>();
                    c.addCellSelectionChangedHandler(new CellSelectionChangedHandler<Stock>() {

                        @Override
                        public void onCellSelectionChanged(CellSelectionChangedEvent<Stock> event) {

                        }
                    });

                    grid.setSelectionModel(c);
                } else {
                    grid.setSelectionModel(new GridSelectionModel<Stock>());
                }
            }
        });
        type.addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {

            }
        });
        toolBar.add(type);

        VerticalLayoutContainer con = new VerticalLayoutContainer();
        root.setWidget(con);

        //con.add(toolBar, new VerticalLayoutData(1, -1));
        con.add(grid, new VerticalLayoutData(1, 1));

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

    return root;
}

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);/*from   ww w .j av a 2s  .  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 {// w  w  w  .j  a  v  a 2  s. c  om
        if (value != null) {

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

}