Example usage for com.google.gwt.text.shared AbstractSafeHtmlRenderer AbstractSafeHtmlRenderer

List of usage examples for com.google.gwt.text.shared AbstractSafeHtmlRenderer AbstractSafeHtmlRenderer

Introduction

In this page you can find the example usage for com.google.gwt.text.shared AbstractSafeHtmlRenderer AbstractSafeHtmlRenderer.

Prototype

AbstractSafeHtmlRenderer

Source Link

Usage

From source file:com.gafactory.core.client.ui.grids.BaseListGrid.java

License:Open Source License

protected Column<T, T> addBooleanColumn(final ValueProvider<T, Boolean> field, final IconType yes,
        final IconType no, String header, int width, boolean sortable) {
    return addSafeHtmlColumn(new AbstractSafeHtmlRenderer<T>() {
        @Override/*from  ww  w.  j  a v  a2s  .  c o m*/
        public SafeHtml render(T object) {
            Boolean b = field.getValue(object);
            if (b != null) {
                boolean selected = isSelected(object);
                String color;

                if (selected) {
                    color = TABLE_LINK_SELECTED;
                } else {
                    color = b ? "icon-yes" : "icon-no";
                }
                return templates.icon(Styles.FONT_AWESOME_BASE, b ? yes.getCssName() : no.getCssName(), color);

            } else {
                return SafeHtmlUtils.EMPTY_SAFE_HTML;
            }
        }
    }, header, width, sortable, sortable ? field.getPath() : null);
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.app.ui.OverviewExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    final Renderer r = GWT.create(Renderer.class);

    ListViewCustomAppearance<Example> appearance = new ListViewCustomAppearance<Example>(".sample-box",
            "sample-over", "none") {
        @Override/*  w ww . ja  v  a  2 s. c  o m*/
        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='sample-box' style='padding-top: 4px; border: none'>");
            builder.append(content);
            builder.appendHtmlConstant("</div>");
        }
    };

    overviewView = new ListView<Example, Example>(overviewStore, new IdentityValueProvider<Example>() {

        @Override
        public void setValue(Example object, Example value) {
        }
    }, appearance);
    overviewView.setCell(new SimpleSafeHtmlCell<Example>(new AbstractSafeHtmlRenderer<Example>() {

        @Override
        public SafeHtml render(Example object) {
            return r.renderItem(object);
        }

    }));
    overviewView.addStyleName("overview-page");
    overviewView.setBorders(false);

    overviewView.getSelectionModel().addSelectionHandler(new SelectionHandler<Example>() {
        @Override
        public void onSelection(SelectionEvent<Example> event) {
            if (event.getSelectedItem() != null) {
                placeController.goTo(new ExamplePlace(event.getSelectedItem().getId()));
                overviewView.getSelectionModel().deselectAll();
            }
        }
    });
    overview.add(overviewView);
    return overview;
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.forms.ComboBoxExample.java

License:sencha.com license

public Widget asWidget() {
    if (vp == null) {
        vp = new VerticalPanel();
        vp.setSpacing(10);/*from  w w w  .ja  va  2s  .  co  m*/

        StateProperties props = GWT.create(StateProperties.class);
        ListStore<State> states = new ListStore<State>(props.abbr());
        states.addAll(TestData.getStates());

        ComboBox<State> combo = new ComboBox<State>(states, props.name());
        addHandlersForEventObservation(combo, props.name());

        combo.setEmptyText("Select a state...");
        combo.setWidth(150);
        combo.setTypeAhead(true);
        combo.setTriggerAction(TriggerAction.ALL);
        vp.add(combo);

        states = new ListStore<State>(props.abbr());
        states.addAll(TestData.getStates());

        combo = new ComboBox<State>(states, props.name(), new AbstractSafeHtmlRenderer<State>() {
            public SafeHtml render(State item) {
                final ComboBoxTemplates comboBoxTemplates = GWT.create(ComboBoxTemplates.class);
                return comboBoxTemplates.state(item.getSlogan(), item.getName());
            }
        });
        addHandlersForEventObservation(combo, props.name());

        combo.setEmptyText("Select a state...");
        combo.setWidth(150);
        combo.setTypeAhead(true);
        combo.setTriggerAction(TriggerAction.ALL);
        vp.add(combo);

        final CountryProperties countryProps = GWT.create(CountryProperties.class);

        ListStore<Country> countries = new ListStore<Country>(countryProps.abbr());
        countries.addAll(TestData.getCountries());

        final String moduleBaseUrl = GWT.getHostPageBaseURL();
        ComboBox<Country> combo2 = new ComboBox<Country>(countries, countryProps.name(),
                new AbstractSafeHtmlRenderer<Country>() {
                    final ComboBoxTemplates comboBoxTemplates = GWT.create(ComboBoxTemplates.class);

                    public SafeHtml render(Country item) {
                        SafeUri imageUri = UriUtils
                                .fromString(moduleBaseUrl + "examples/images/flags/" + item.getAbbr() + ".png");
                        return comboBoxTemplates.country(imageUri, item.getName());

                    }
                });
        addHandlersForEventObservation(combo2, countryProps.name());

        combo2.setWidth(150);
        combo2.setTypeAhead(true);
        combo2.setTriggerAction(TriggerAction.ALL);

        vp.add(combo2);
    }
    return vp;
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.AbstractGridEditingExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    ColumnConfig<Plant, String> cc1 = new ColumnConfig<Plant, String>(properties.name(), 220, "Name");

    ColumnConfig<Plant, String> cc2 = new ColumnConfig<Plant, String>(properties.light(), 130, "Light");

    DateCell dateCell = new DateCell(DateTimeFormat.getFormat("yyyy MMM dd"));

    ColumnConfig<Plant, Date> cc3 = new ColumnConfig<Plant, Date>(properties.available(), 95, "Date");

    cc3.setCell(dateCell);/*from   w w  w . j  av  a 2s  .  c o  m*/

    ColumnConfig<Plant, Boolean> cc4 = new ColumnConfig<Plant, Boolean>(properties.indoor(), 55, "Indoor");
    cc4.setCell(new SimpleSafeHtmlCell<Boolean>(new AbstractSafeHtmlRenderer<Boolean>() {
        @Override
        public SafeHtml render(Boolean object) {
            return SafeHtmlUtils.fromString(object ? "True" : "False");
        }
    }));

    ColumnConfig<Plant, Double> cc5 = new ColumnConfig<Plant, Double>(properties.price(), 100, "Price");
    cc5.setAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
    cc5.setCell(new SimpleSafeHtmlCell<Double>(new AbstractSafeHtmlRenderer<Double>() {
        @Override
        public SafeHtml render(Double object) {
            return SafeHtmlUtils.fromString(NumberFormat.getCurrencyFormat().format(object));
        }
    }));

    List<ColumnConfig<Plant, ?>> l = new ArrayList<ColumnConfig<Plant, ?>>();
    l.add(cc1);
    l.add(cc2);
    l.add(cc5);
    l.add(cc3);
    l.add(cc4);

    ColumnModel<Plant> cm = new ColumnModel<Plant>(l);

    final ListStore<Plant> store = new ListStore<Plant>(properties.key());
    store.addAll(TestData.getPlants());

    grid = new Grid<Plant>(store, cm);
    grid.getView().setAutoExpandColumn(cc1);

    // EDITING//
    final GridEditing<Plant> editing = createGridEditing(grid);
    editing.addEditor(cc1, new TextField());

    SimpleComboBox<Light> combo = new SimpleComboBox<Light>(new StringLabelProvider<Light>());
    combo.setPropertyEditor(new PropertyEditor<Light>() {

        @Override
        public Light parse(CharSequence text) throws ParseException {
            return Light.parseString(text.toString());
        }

        @Override
        public String render(Light object) {
            return object == null ? Light.SUNNY.toString() : object.toString();
        }
    });
    combo.setTriggerAction(TriggerAction.ALL);
    combo.add(Light.SUNNY);
    combo.add(Light.MOSTLYSUNNY);
    combo.add(Light.SUNORSHADE);
    combo.add(Light.MOSTLYSHADY);
    combo.add(Light.SHADE);
    combo.setForceSelection(true);
    editing.addEditor(cc2, new Converter<String, Light>() {

        @Override
        public String convertFieldValue(Light object) {
            return object == null ? Light.SUNNY.toString() : object.toString();
        }

        @Override
        public Light convertModelValue(String object) {
            return Light.parseString(object);
        }

    }, combo);

    DateField dateField = new DateField(
            new DateTimePropertyEditor(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT)));
    dateField.setClearValueOnParseError(false);
    editing.addEditor(cc3, dateField);

    CheckBox checkField = new CheckBox();
    editing.addEditor(cc4, checkField);

    // column 5 is not editable

    // EDITING//

    FramedPanel cp = new FramedPanel();
    cp.setHeadingText("Editable Grid Example");
    cp.setPixelSize(600, 400);
    cp.addStyleName("margin-10");

    ToolBar toolBar = new ToolBar();

    TextButton add = new TextButton("Add Plant");
    add.addSelectHandler(new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            Plant plant = new Plant();
            plant.setName("New Plant 1");
            plant.setLight("Mostly Shady");
            plant.setPrice(0);
            plant.setAvailable(new DateWrapper().clearTime().asDate());
            plant.setIndoor(false);

            editing.cancelEditing();
            store.add(0, plant);
            editing.startEditing(new GridCell(0, 0));
        }
    });

    toolBar.add(add);

    VerticalLayoutContainer con = new VerticalLayoutContainer();
    con.setBorders(true);
    con.add(toolBar, new VerticalLayoutData(1, -1));
    con.add(grid, new VerticalLayoutData(1, 1));

    cp.setWidget(con);

    cp.setButtonAlign(BoxLayoutPack.CENTER);
    cp.addButton(new TextButton("Reset", new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            store.rejectChanges();
        }
    }));

    cp.addButton(new TextButton("Save", new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            store.commitChanges();
        }
    }));

    return cp;
}

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  www  .j  ava  2s.com*/
            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// w w  w.ja va 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();
        }
    };

    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.sencha.gxt.explorer.client.grid.RowEditingGridExample.java

License:sencha.com license

@Override
protected GridEditing<Plant> createGridEditing(Grid<Plant> editableGrid) {
    GridRowEditing<Plant> rowEditing = new GridRowEditing<Plant>(editableGrid);
    ColumnConfig<Plant, Double> price = editableGrid.getColumnModel().getColumn(2);
    rowEditing.addRenderer(price, new AbstractSafeHtmlRenderer<Double>() {
        PriceTemplate template = GWT.create(PriceTemplate.class);

        @Override/* ww  w  .  j a v  a  2  s. c  o m*/
        public SafeHtml render(Double object) {
            return template.render(object);
        }
    });
    return rowEditing;
}

From source file:org.geowe.client.local.ui.VertexStyleComboBox.java

License:Open Source License

public VertexStyleComboBox(String width) {
    super(new ListStore<VertexStyleDef>(
            ((VertexStyleDefProperties) GWT.create(VertexStyleDefProperties.class)).key()),
            ((VertexStyleDefProperties) GWT.create(VertexStyleDefProperties.class)).name(),
            new AbstractSafeHtmlRenderer<VertexStyleDef>() {
                final VertexStyleComboTemplates comboBoxTemplates = GWT.create(VertexStyleComboTemplates.class);

                public SafeHtml render(VertexStyleDef item) {
                    return comboBoxTemplates.vertexStyle(item.getImage().getSafeUri(), item.getName());
                }//  www.j  a v a 2  s  . c  o  m
            });

    setWidth(width);
    setTypeAhead(true);
    setEmptyText(UIMessages.INSTANCE.sbLayerComboEmptyText());
    setTriggerAction(TriggerAction.ALL);
    setForceSelection(true);
    setEditable(false);
    enableEvents();

    getStore().addAll(VertexStyles.getAll());
}

From source file:org.opennms.features.vaadin.nodemaps.internal.gwt.client.ui.controls.search.SearchControl.java

License:Open Source License

private void initializeCellAutocompleteWidget() {
    final AbstractSafeHtmlRenderer<NodeMarker> renderer = new AbstractSafeHtmlRenderer<NodeMarker>() {
        @Override/*  w  ww.ja v a  2s. com*/
        public SafeHtml render(final NodeMarker marker) {
            final SafeHtmlBuilder builder = new SafeHtmlBuilder();
            final String search = m_inputBox.getValue();

            builder.appendHtmlConstant("<div class=\"autocomplete-label\">");
            builder.appendHtmlConstant(marker.getNodeLabel());
            builder.appendHtmlConstant("</div>");
            String additionalSearchInfo = null;

            if (search != null && (search.contains(":") || search.contains("="))) {
                final String searchKey = search.replaceAll("[\\:\\=].*$", "").toLowerCase();
                LOG.info("searchKey = " + searchKey);

                final Map<String, String> props = marker.getProperties();

                if ("category".equals(searchKey) || "categories".equals(searchKey)) {
                    final String catString = props.get("categories");
                    if (catString != null) {
                        additionalSearchInfo = catString;
                    }
                }

                for (final Map.Entry<String, String> entry : props.entrySet()) {
                    final String key = entry.getKey().toLowerCase();
                    final Object value = entry.getValue();
                    if (key.equals(searchKey) && m_labels.containsKey(key)) {
                        additionalSearchInfo = m_labels.get(key) + ": " + value;
                        break;
                    }
                }
            }

            if (additionalSearchInfo != null) {
                builder.appendHtmlConstant("<div class=\"autocomplete-additional-info\">")
                        .appendHtmlConstant(additionalSearchInfo).appendHtmlConstant("</div>");
            }

            return builder.toSafeHtml();
        }
    };

    final AbstractSafeHtmlCell<NodeMarker> cell = new AbstractSafeHtmlCell<NodeMarker>(renderer, "keydown",
            "click", "dblclick", "touchstart") {

        @Override
        public void onBrowserEvent(final Context context, final com.google.gwt.dom.client.Element parent,
                final NodeMarker value, final NativeEvent event, final ValueUpdater<NodeMarker> valueUpdater) {
            LOG.info("SearchControl.AutocompleteCell.onBrowserEvent(): context = " + context + ", parent = "
                    + parent + ", value = " + value + ", event = " + event);
            if (m_stateManager.handleAutocompleteEvent(event)) {
                super.onBrowserEvent(context, parent, value, event, valueUpdater);
            }
        }

        @Override
        protected void render(final Context context, final SafeHtml data, final SafeHtmlBuilder builder) {
            builder.appendHtmlConstant("<div class=\"autocomplete-entry\">");
            if (data != null) {
                builder.append(data);
            }
            builder.appendHtmlConstant("</div>");
        }
    };

    m_autoComplete = new CellList<NodeMarker>(cell);
    m_autoComplete.setSelectionModel(m_selectionModel);
    m_autoComplete.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);
    m_autoComplete.setVisible(false);
    m_autoComplete.addStyleName("search-autocomplete");
    setIdIfMissing(m_autoComplete, "searchControl.autoComplete");
}

From source file:org.rstudio.studio.client.workbench.views.environment.view.EnvironmentObjectDisplay.java

License:Open Source License

public EnvironmentObjectDisplay(Host host, EnvironmentObjectsObserver observer, String environmentName) {
    super(EnvironmentObjects.MAX_ENVIRONMENT_OBJECTS, RObjectEntry.KEY_PROVIDER);

    observer_ = observer;//from  w  w w .  j  a  v  a2s.  c om
    host_ = host;
    environmentStyle_ = EnvironmentResources.INSTANCE.environmentStyle();
    environmentStyle_.ensureInjected();
    environmentName_ = environmentName;
    filterRenderer_ = new AbstractSafeHtmlRenderer<String>() {
        @Override
        public SafeHtml render(String str) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            boolean hasMatch = false;
            String filterText = host_.getFilterText();
            if (filterText.length() > 0) {
                int idx = str.toLowerCase().indexOf(filterText);
                if (idx >= 0) {
                    hasMatch = true;
                    sb.appendEscaped(str.substring(0, idx));
                    sb.appendHtmlConstant("<span class=\"" + environmentStyle_.filterMatch() + "\">");
                    sb.appendEscaped(str.substring(idx, idx + filterText.length()));
                    sb.appendHtmlConstant("</span>");
                    sb.appendEscaped(str.substring(idx + filterText.length(), str.length()));
                }
            }
            if (!hasMatch)
                sb.appendEscaped(str);
            return sb.toSafeHtml();
        }
    };
}