List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder SafeHtmlBuilder
public SafeHtmlBuilder()
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(" "); 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 — R CMD INSTALL additional options:").toSafeHtml())); add(checkAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder() .appendHtmlConstant("Check Package — R CMD check additional options:").toSafeHtml())); add(buildAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder() .appendHtmlConstant("Build Source Package — R CMD build additional options:").toSafeHtml())); add(buildBinaryAdditionalArguments_ = new AdditionalArguments(new SafeHtmlBuilder() .appendHtmlConstant("Build Binary Package — 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(); }