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

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

Introduction

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

Prototype

public SafeHtmlBuilder() 

Source Link

Document

Constructs an empty SafeHtmlBuilder.

Usage

From source file:org.rstudio.core.client.widget.ShortcutInfoPanel.java

License:Open Source License

protected Widget getShortcutContent() {
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    List<ShortcutInfo> shortcuts = ShortcutManager.INSTANCE.getActiveShortcutInfo();
    String[][] groupNames = { new String[] { "Tabs/Panes", "Files", "Console" },
            new String[] { "Source Navigation", "Execute" }, new String[] { "Source Editor", "Debug" },
            new String[] { "Source Control", "Build", "Other" } };
    int pctWidth = 100 / groupNames.length;
    sb.appendHtmlConstant("<table width='100%'><tr>");
    for (String[] colGroupNames : groupNames) {
        sb.appendHtmlConstant("<td width='" + pctWidth + "%'>");
        for (String colGroupName : colGroupNames) {
            sb.appendHtmlConstant("<h2>");
            sb.appendEscaped(colGroupName);
            sb.appendHtmlConstant("</h2><table>");
            for (int i = 0; i < shortcuts.size(); i++) {
                ShortcutInfo info = shortcuts.get(i);
                if (info.getDescription() == null || info.getShortcuts().size() == 0
                        || !info.getGroupName().equals(colGroupName)) {
                    continue;
                }/*from  w w w.  ja  v  a 2s . com*/
                sb.appendHtmlConstant("<tr><td><strong>");
                sb.appendHtmlConstant(StringUtil.joinStrings(info.getShortcuts(), ", "));
                sb.appendHtmlConstant("</strong></td><td>");
                sb.appendEscaped(info.getDescription());
                sb.appendHtmlConstant("</td></tr>");
            }
            sb.appendHtmlConstant("</table>");
        }
        sb.appendHtmlConstant("</td>");
    }
    sb.appendHtmlConstant("</td></tr></table>");
    HTMLPanel panel = new HTMLPanel(sb.toSafeHtml());
    return panel;
}

From source file:org.rstudio.studio.client.common.presentation.SlideNavigationPresenter.java

License:Open Source License

@Override
public void onSlideNavigationChanged(SlideNavigationChangedEvent event) {
    slideNavigation_ = event.getNavigation();

    SlideNavigationMenu navigationMenu = view_.getNavigationMenu();
    navigationMenu.clear();/*from  w w  w .ja v  a  2 s  . com*/

    if (slideNavigation_ != null) {
        JsArray<SlideNavigationItem> items = slideNavigation_.getItems();
        for (int i = 0; i < items.length(); i++) {
            // get slide
            final SlideNavigationItem item = items.get(i);

            // build html
            SafeHtmlBuilder menuHtml = new SafeHtmlBuilder();
            for (int j = 0; j < item.getIndent(); j++)
                menuHtml.appendHtmlConstant("&nbsp;&nbsp;&nbsp;");
            menuHtml.appendEscaped(item.getTitle());

            navigationMenu.addItem(new MenuItem(menuHtml.toSafeHtml(), new Command() {
                @Override
                public void execute() {
                    view_.navigate(item.getIndex());
                }
            }));
        }

        navigationMenu.setVisible(true);

        navigationMenu.setDropDownVisible(slideNavigation_.getItems().length() > 1);
    } else {
        navigationMenu.setVisible(false);
    }

}

From source file:org.rstudio.studio.client.projects.ui.prefs.buildtools.BuildToolsPackagePanel.java

License:Open Source License

public BuildToolsPackagePanel() {
    RStudioGinjector.INSTANCE.injectMembers(this);

    ProjectPreferencesDialogResources RES = ProjectPreferencesDialogResources.INSTANCE;

    pathSelector_ = new DirectorySelector("Package directory:");
    pathSelector_.getElement().getStyle().setMarginBottom(10, Unit.PX);
    add(pathSelector_);/*from   w  w  w  . ja va  2s  .c  om*/
    pathSelector_.addValueChangeHandler(new ValueChangeHandler<String>() {

        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            if (pathSelector_.getText().equals(workbenchContext_.getActiveProjectDir().getPath())) {
                pathSelector_.setText("");
            }
        }

    });

    chkUseDevtools_ = checkBox("Use devtools package functions if available");
    chkUseDevtools_.addStyleName(RES.styles().buildToolsDevtools());
    add(chkUseDevtools_);

    roxygenizePanel_ = new VerticalPanel();
    roxygenizePanel_.addStyleName(RES.styles().buildToolsRoxygenize());
    HorizontalPanel rocletPanel = new HorizontalPanel();
    chkUseRoxygen_ = checkBox("Generate documentation with Roxygen");
    rocletPanel.add(chkUseRoxygen_);
    btnConfigureRoxygen_ = new ThemedButton("Configure...");
    btnConfigureRoxygen_.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            new BuildToolsRoxygenOptionsDialog(roxygenOptions_,
                    new OperationWithInput<BuildToolsRoxygenOptions>() {

                        @Override
                        public void execute(BuildToolsRoxygenOptions input) {
                            roxygenOptions_ = input;
                            chkUseRoxygen_.setValue(input.getRocletRd() || input.getRocletCollate()
                                    || input.getRocletNamespace() || input.getRocletVignette());

                        }

                    }).showModal();

        }
    });
    rocletPanel.add(btnConfigureRoxygen_);
    roxygenizePanel_.add(rocletPanel);
    add(roxygenizePanel_);

    add(installAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder()
            .appendHtmlConstant("Build and Reload &mdash; R CMD INSTALL additional options:").toSafeHtml()));

    add(checkAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder()
            .appendHtmlConstant("Check Package &mdash; R CMD check additional options:").toSafeHtml()));

    add(buildAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder()
            .appendHtmlConstant("Build Source Package &mdash; R CMD build additional options:").toSafeHtml()));

    add(buildBinaryAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder()
            .appendHtmlConstant("Build Binary Package &mdash; R CMD INSTALL additional options:")
            .toSafeHtml()));

    HelpLink packagesHelpLink = new PackagesHelpLink();
    packagesHelpLink.getElement().getStyle().setMarginTop(7, Unit.PX);
    add(packagesHelpLink);
}

From source file:org.rstudio.studio.client.rsconnect.ui.DirEntryCheckBox.java

License:Open Source License

public DirEntryCheckBox(String path) {
    // create the appropriate filesystem object for the path
    FileSystemItem fsi = null;/*from  ww w  .ja v  a  2 s.  c  om*/
    if (path.endsWith("/")) {
        path = path.substring(0, path.length() - 1);
        fsi = FileSystemItem.createDir(path);
    } else {
        fsi = FileSystemItem.createFile(path);
    }
    path_ = path;

    // add an icon representing the file
    ImageResource icon = RStudioGinjector.INSTANCE.getFileTypeRegistry().getIconForFile(fsi);
    SafeHtmlBuilder hb = new SafeHtmlBuilder();
    hb.append(AbstractImagePrototype.create(icon).getSafeHtml());

    // insert the file/dir name into the checkbox
    hb.appendEscaped(path_);
    checkbox_ = new CheckBox(hb.toSafeHtml());

    initWidget(checkbox_);
}

From source file:org.rstudio.studio.client.workbench.codesearch.CodeSearchSuggestion.java

License:Open Source License

private String createDisplayString(ImageResource image, String imageStyle, String name, String extraInfo,
        String context) {/*  w  w  w.  ja va2s  .co m*/
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    SafeHtmlUtil.appendImage(sb, imageStyle, image);
    SafeHtmlUtil.appendSpan(sb, RES.styles().itemName(), name);

    // check for extra info
    if (!StringUtil.isNullOrEmpty(extraInfo)) {
        SafeHtmlUtil.appendSpan(sb, RES.styles().itemName(), extraInfo);
    }

    // check for context
    if (context != null) {
        SafeHtmlUtil.appendSpan(sb, RES.styles().itemContext(), "(" + context + ")");
    }
    return sb.toSafeHtml().asString();
}

From source file:org.rstudio.studio.client.workbench.views.connections.ui.NewConnectionSnippetHost.java

License:Open Source License

private void showFailure(String error) {
    VerticalPanel verticalPanel = new VerticalPanel();
    verticalPanel.addStyleName(RES.styles().dialogMessagePanel());

    SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
    safeHtmlBuilder.appendHtmlConstant("<b>Failure.</b> ");
    safeHtmlBuilder.appendEscaped(error);

    verticalPanel.add(new HTML(safeHtmlBuilder.toSafeHtml()));
    MessageDialog dlg = new MessageDialog(MessageDialog.ERROR, "Test Results", verticalPanel);

    dlg.addButton("OK", new Operation() {
        @Override//from   w ww .  j  a va  2 s  . c  o m
        public void execute() {
        }
    }, true, false);

    dlg.showModal();
}

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 av  a2 s .  co m*/
    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();
        }
    };
}

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

License:Open Source License

private void createExpandColumn() {
    // the column containing the expand command; available only on objects
    // with contents (such as lists and data frames).
    SafeHtmlRenderer<String> expanderRenderer = new AbstractSafeHtmlRenderer<String>() {
        @Override/*w w  w .j a  va 2 s .c  om*/
        public SafeHtml render(String object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant(object);
            return sb.toSafeHtml();
        }
    };
    objectExpandColumn_ = new Column<RObjectEntry, String>(new ClickableTextCell(expanderRenderer)) {
        @Override
        public String getValue(RObjectEntry object) {
            String imageUri = "";
            String imageStyle = style_.expandIcon();
            if (object.canExpand()) {
                imageStyle = imageStyle + " " + ThemeStyles.INSTANCE.handCursor();
                ImageResource expandImage = object.isExpanding ? CoreResources.INSTANCE.progress()
                        : object.expanded ? EnvironmentResources.INSTANCE.collapseIcon()
                                : EnvironmentResources.INSTANCE.expandIcon();

                imageUri = expandImage.getSafeUri().asString();
            } else if (object.hasTraceInfo()) {
                imageUri = EnvironmentResources.INSTANCE.tracedFunction().getSafeUri().asString();
                imageStyle += (" " + style_.unclickableIcon());
            }
            if (imageUri.length() > 0) {
                return "<input type=\"image\" src=\"" + imageUri + "\" " + "class=\"" + imageStyle + "\" />";
            }
            return "";
        }
    };
    objectExpandColumn_.setFieldUpdater(new FieldUpdater<RObjectEntry, String>() {
        @Override
        public void update(int index, RObjectEntry object, String value) {
            if (!object.canExpand())
                return;
            expandObject(index, object);
        }
    });
}

From source file:org.rstudio.studio.client.workbench.views.output.find.FindOutputPane.java

License:Open Source License

@Override
public void updateSearchLabel(String query, String path) {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendEscaped("Results for ").appendHtmlConstant("<strong>").appendEscaped(query)
            .appendHtmlConstant("</strong>").appendEscaped(" in ").appendEscaped(path);
    searchLabel_.getElement().setInnerHTML(builder.toSafeHtml().asString());
}

From source file:org.rstudio.studio.client.workbench.views.output.find.model.FindResult.java

License:Open Source License

public final SafeHtml getLineHTML() {
    SafeHtmlBuilder out = new SafeHtmlBuilder();

    ArrayList<Integer> on = getMatchOns();
    ArrayList<Integer> off = getMatchOffs();
    ArrayList<Pair<Boolean, Integer>> parts = new ArrayList<Pair<Boolean, Integer>>();
    while (on.size() + off.size() > 0) {
        int onVal = on.size() == 0 ? Integer.MAX_VALUE : on.get(0);
        int offVal = off.size() == 0 ? Integer.MAX_VALUE : off.get(0);
        if (onVal <= offVal)
            parts.add(new Pair<Boolean, Integer>(true, on.remove(0)));
        else/*  w w  w. ja  v  a  2s.  c o m*/
            parts.add(new Pair<Boolean, Integer>(false, off.remove(0)));
    }

    String line = getLineValue();

    // Use a counter to ensure tags are balanced.
    int openTags = 0;

    for (int i = 0; i < line.length(); i++) {
        while (parts.size() > 0 && parts.get(0).second == i) {
            if (parts.remove(0).first) {
                out.appendHtmlConstant("<strong>");
                openTags++;
            } else if (openTags > 0) {
                out.appendHtmlConstant("</strong>");
                openTags--;
            }
        }
        out.append(line.charAt(i));
    }

    while (openTags > 0) {
        openTags--;
        out.appendHtmlConstant("</strong>");
    }

    return out.toSafeHtml();
}