List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder appendEscaped
public SafeHtmlBuilder appendEscaped(String text)
From source file:de.uni_koeln.spinfo.maalr.webapp.ui.editor.client.entry.LexEditor.java
License:Apache License
public void setColumns(final List<String> fields) { LocalizedStrings.afterLoad(new AsyncCallback<TranslationMap>() { @Override/*from w w w . j a v a2 s. c om*/ public void onFailure(Throwable caught) { setColumns(fields, new TranslationMap()); } private void setColumns(List<String> fields, TranslationMap hashMap) { for (final String field : fields) { final String title = hashMap.get(field) == null ? field : hashMap.get(field); final CheckBox box = new CheckBox(title); box.getElement().getStyle().setMargin(5, Unit.PX); final Cell<LemmaVersionCellWrapper> cell = new AbstractCell<LemmaVersionCellWrapper>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, LemmaVersionCellWrapper wrapper, SafeHtmlBuilder sb) { String value = wrapper.getLemmaVersion().getEntryValue(field); if (value == null) return; value = value.trim(); if (value.length() > 105) { value = value.substring(0, 50) + "..." + value.substring(value.length() - 50, value.length()); } sb.appendEscaped(value); } }; box.addClickHandler(new ClickHandler() { com.google.gwt.user.cellview.client.Column<LemmaVersion, LemmaVersionCellWrapper> column = new com.google.gwt.user.cellview.client.Column<LemmaVersion, LemmaVersionCellWrapper>( cell) { @Override public LemmaVersionCellWrapper getValue(LemmaVersion object) { return new LemmaVersionCellWrapper(object); } }; @Override public void onClick(ClickEvent event) { if (box.getValue()) { entryList.addColumn(title, column); } else { entryList.removeColumn(column); } //event.preventDefault(); event.stopPropagation(); } }); columns.add(box); } } @Override public void onSuccess(TranslationMap result) { setColumns(fields, result); } }); }
From source file:de.uni_koeln.spinfo.maalr.webapp.ui.editor.client.entry.SuggestionEditor.java
License:Apache License
public void setColumns(final List<String> fields) { LocalizedStrings.afterLoad(new AsyncCallback<TranslationMap>() { @Override//w ww. ja v a 2s . c om public void onFailure(Throwable caught) { setColumns(fields, new TranslationMap()); } private void setColumns(List<String> fields, TranslationMap map) { for (final String field : fields) { final String title = map.get(field) == null ? field : map.get(field); final CheckBox box = new CheckBox(title); box.getElement().getStyle().setMargin(5, Unit.PX); final Cell<LexEntryCellWrapper> cell = new AbstractCell<LexEntryCellWrapper>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, LexEntryCellWrapper wrapper, SafeHtmlBuilder sb) { String value = wrapper.getLemmaVersion().getEntryValue(field); if (value == null) return; value = value.trim(); if (value.length() > 105) { value = value.substring(0, 50) + "..." + value.substring(value.length() - 50, value.length()); } sb.appendEscaped(value); } }; box.addClickHandler(new ClickHandler() { com.google.gwt.user.cellview.client.Column<LexEntry, LexEntryCellWrapper> column = new com.google.gwt.user.cellview.client.Column<LexEntry, LexEntryCellWrapper>( cell) { @Override public LexEntryCellWrapper getValue(LexEntry object) { return new LexEntryCellWrapper(object, object.getCurrent()); } }; @Override public void onClick(ClickEvent event) { if (box.getValue()) { entryList.addColumn(title, column); } else { entryList.removeColumn(column); } //event.preventDefault(); event.stopPropagation(); } }); columns.add(box); } } @Override public void onSuccess(TranslationMap result) { setColumns(fields, result); } }); }
From source file:de.uni_koeln.spinfo.maalr.webapp.ui.user.client.entry.OverlayPopup.java
License:Apache License
private static void createOverlay(Overlay overlay, LemmaVersion lemmaVersion, String closeButton) { String form = overlay.getForm(); HashSet<String> values = new HashSet<String>(); RegExp regExp = RegExp.compile("(\\$\\{(.*)\\})", "g"); for (MatchResult matcher = regExp.exec(form); matcher != null; matcher = regExp.exec(form)) { values.add(matcher.getGroup(2)); }/* w w w. ja v a2 s. co m*/ for (String key : values) { String value = lemmaVersion.getEntryValue(key); if (value == null || value.trim().length() == 0) { form = form.replaceAll("\\$\\{" + key + "\\}", ""); } else { SafeHtmlBuilder builder = new SafeHtmlBuilder(); builder.appendEscaped(value); form = form.replaceAll("\\$\\{" + key + "\\}", builder.toSafeHtml().asString()); } } SafeHtmlBuilder builder = new SafeHtmlBuilder(); builder.appendHtmlConstant(form); final Modal popup = new Modal(true); popup.add(new HTML(builder.toSafeHtml())); popup.setBackdrop(BackdropType.NORMAL); popup.setCloseVisible(true); popup.setWidth(1000); final Button close = new Button(closeButton); close.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { popup.hide(); } }); ModalFooter footer = new ModalFooter(close); popup.add(footer); popup.show(); }
From source file:de.yarkon.gwt.eventcalendar.client.EventTable.java
License:Open Source License
public EventTable(Date month) { super();// w w w .j av a 2 s . co m TableResources.INSTANCE.cellTableStyle().ensureInjected(); this.setMonth(month); setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); // Anchor column for the name of the event Column<EventInfo, EventInfo> nameColumn = new Column<EventInfo, EventInfo>(new AbstractCell<EventInfo>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, EventInfo value, SafeHtmlBuilder sb) { if (value == null) { return; } // Append some HTML that sets the text color. sb.appendHtmlConstant("<a target=\"_blank\" href=\"" + value.getLinkURL() + "\">"); sb.appendEscaped(value.getEvent()); sb.appendHtmlConstant("</a>"); } }) { @Override public EventInfo getValue(EventInfo object) { return object; } }; addColumn(nameColumn, "Veranstaltung"); addColumnStyleName(0, "cellTableColumn-event"); // Add a date column TextColumn<EventInfo> dateColumn = new TextColumn<EventInfo>() { @Override public String getValue(EventInfo object) { return dateShortFormat.format(object.getDate()); } }; addColumn(dateColumn, "Datum"); addColumnStyleName(1, "cellTableColumn-date"); // Add a text column to show location of the event. TextColumn<EventInfo> locationColumn = new TextColumn<EventInfo>() { @Override public String getValue(EventInfo object) { return object.getLocation(); } }; addColumn(locationColumn, "Ort"); addColumnStyleName(2, "cellTableColumn-loc"); addStyleName("cellTable"); setRowStyles(new RowStyles<EventInfo>() { @Override public String getStyleNames(EventInfo row, int rowIndex) { return "cellTableRow"; } }); }
From source file:eu.riscoss.client.rdr.ContactCell.java
License:Apache License
@Override public void render(Context context, EntityInfo value, SafeHtmlBuilder sb) { // Value can be null, so do a null check.. if (value == null) { return;/* ww w . j ava 2 s .co m*/ } // sb.appendHtmlConstant("<table><tr><td style='font-size:95%;'>"); sb.appendHtmlConstant("<a class='gwt-Anchor' href='javascript:'>"); sb.appendEscaped(value.getName()); sb.appendHtmlConstant("</a>"); // sb.appendHtmlConstant("</td></tr></table>"); }
From source file:gov.nist.spectrumbrowser.client.SensorDataStream.java
License:Open Source License
private void drawMenuItems() { MenuBar menuBar = new MenuBar(); SafeHtmlBuilder safeHtml = new SafeHtmlBuilder(); menuBar.addItem(new SafeHtmlBuilder().appendEscaped(SpectrumBrowserShowDatasets.END_LABEL).toSafeHtml(), new Scheduler.ScheduledCommand() { @Override/* w w w. ja va2s .c o m*/ public void execute() { state = STATUS_MESSAGE_NOT_SEEN; closingState = true; websocket.close(); spectrumBrowserShowDatasets.draw(); } }); if (spectrumBrowser.isUserLoggedIn()) { menuBar.addItem(safeHtml.appendEscaped(SpectrumBrowser.LOGOFF_LABEL).toSafeHtml(), new Scheduler.ScheduledCommand() { @Override public void execute() { state = STATUS_MESSAGE_NOT_SEEN; closingState = true; websocket.close(); spectrumBrowser.logoff(); } }); } verticalPanel.add(menuBar); titlePanel = new VerticalPanel(); verticalPanel.add(titlePanel); HorizontalPanel cutoffHorizontalPanel = new HorizontalPanel(); Label cutoffLabel = new Label("Threshold (dBm):"); cutoffHorizontalPanel.add(cutoffLabel); cutoffTextBox = new TextBox(); cutoffTextBox.setText(Integer.toString((int) cutoff)); cutoffHorizontalPanel.add(cutoffTextBox); Button cutoffButton = new Button("Change"); cutoffHorizontalPanel.add(cutoffButton); cutoffButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { String cutoffString = cutoffTextBox.getValue(); try { cutoff = Integer.parseInt(cutoffString); } catch (NumberFormatException nfe) { Window.alert("Please enter an integer"); if (cutoff < 0) cutoffTextBox.setText(Integer.toString((int) (cutoff - 0.5))); else cutoffTextBox.setText(Integer.toString((int) (cutoff + 0.5))); } } }); freezeButton = new Button("Freeze"); freezeButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { isFrozen = !isFrozen; if (isFrozen) { freezeButton.setText("Unfreeze"); } else { freezeButton.setText("Freeze"); } } }); cutoffHorizontalPanel.add(freezeButton); lastCaptureButton = new Button("Show Last Acquistion"); cutoffHorizontalPanel.add(lastCaptureButton); lastCaptureButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { websocket.close(); spectrumBrowser.getSpectrumBrowserService().getLastAcquisitionTime(sensorId, new SpectrumBrowserCallback<String>() { @Override public void onSuccess(String result) { JSONValue jsonValue = JSONParser.parseLenient(result); final long selectionTime = (long) jsonValue.isObject().get("aquisitionTimeStamp") .isNumber().doubleValue(); if (selectionTime != -1) { chartApiLoaded = false; occupancyDataTable = null; websocket.close(); state = STATUS_MESSAGE_NOT_SEEN; isFrozen = false; Timer timer = new Timer() { @Override public void run() { ArrayList<SpectrumBrowserScreen> navigation = new ArrayList<SpectrumBrowserScreen>(); navigation.add(spectrumBrowserShowDatasets); navigation.add(SensorDataStream.this); new FftPowerOneAcquisitionSpectrogramChart(sensorId, selectionTime, sys2detect, minFreqHz, maxFreqHz, verticalPanel, spectrumBrowser, navigation); } }; // Wait for websocket to close. timer.schedule(500); } else { Window.alert("No Capture Found"); } } @Override public void onFailure(Throwable throwable) { logger.log(Level.SEVERE, "Problem contacting web server."); Window.alert("Problem contacting web server"); } }); } }); verticalPanel.add(cutoffHorizontalPanel); }
From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.restarea.RestAreaActivity.java
License:Open Source License
@Override public void start(AcceptsOneWidget panel, final EventBus eventBus) { view = clientFactory.getRestAreaView(); analytics = clientFactory.getAnalytics(); accessibility = clientFactory.getAccessibility(); this.eventBus = eventBus; view.setPresenter(this); Place place = clientFactory.getPlaceController().getWhere(); if (place instanceof RestAreaPlace) { RestAreaPlace restAreaPlace = (RestAreaPlace) place; int restAreaId = Integer.valueOf(restAreaPlace.getId()); String jsonString = AppBundle.INSTANCE.restAreaData().getText(); RestAreaFeed restAreas = JsonUtils.safeEval(jsonString); view.setTitle("Safety Rest Area"); SafeHtmlBuilder detailsHTMLBuilder = new SafeHtmlBuilder(); detailsHTMLBuilder.appendEscaped(restAreas.getRestAreas().get(restAreaId).getRoute() + " - " + restAreas.getRestAreas().get(restAreaId).getLocation()); detailsHTMLBuilder.appendHtmlConstant("<br>"); detailsHTMLBuilder.appendEscaped("Milepost: " + restAreas.getRestAreas().get(restAreaId).getMilepost() + " - " + restAreas.getRestAreas().get(restAreaId).getDirection()); view.setDetails(detailsHTMLBuilder.toSafeHtml()); if (restAreas.getRestAreas().get(restAreaId).getNotes() == null) { view.hideNotesHeading();/*from w ww . java 2s . c o m*/ view.setNotes(""); } else { view.showNotesHeading(); view.setNotes(restAreas.getRestAreas().get(restAreaId).getNotes()); } SafeHtmlBuilder amenitiesHTMLBuilder = new SafeHtmlBuilder(); amenitiesHTMLBuilder.appendHtmlConstant("<ul>"); for (int i = 0; i < restAreas.getRestAreas().get(restAreaId).getAmenities().length; i++) { amenitiesHTMLBuilder.appendHtmlConstant("<li>"); amenitiesHTMLBuilder.appendEscaped(restAreas.getRestAreas().get(restAreaId).getAmenities()[i]); amenitiesHTMLBuilder.appendHtmlConstant("</li>"); } if (restAreas.getRestAreas().get(restAreaId).getAmenities().length == 0) { view.hideAmenitiesHeading(); } else { view.showAmenitiesHeading(); } amenitiesHTMLBuilder.appendHtmlConstant("</ul>"); view.setAmenities(amenitiesHTMLBuilder.toSafeHtml()); view.setLatLon(Double.valueOf(restAreas.getRestAreas().get(restAreaId).getLatitude()), Double.valueOf(restAreas.getRestAreas().get(restAreaId).getLongitude())); view.refresh(); } panel.setWidget(view); accessibility.postScreenChangeNotification(); }
From source file:net.officefloor.demo.chat.client.ChatWidget.java
License:Open Source License
/** * Initiate.//www . j a v a2 s .c o m */ public ChatWidget() { // Provide means to send a message HorizontalPanel messagePanel = new HorizontalPanel(); // messagePanel.setSpacing(10); messagePanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); this.add(messagePanel); // Provide message text box this.messageText.setStylePrimaryName("message"); messagePanel.add(this.messageText); this.messageText.addFocusHandler(new FocusHandler() { @Override public void onFocus(FocusEvent event) { ChatWidget.this.ensureHaveUserName(); } }); // Provide send button for message Button sendButton = new Button("send"); sendButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { ChatWidget.this.sendChatMessage(); } }); messagePanel.add(sendButton); // Provide messages in scroll area VerticalPanel messagesPanel = new VerticalPanel(); messagesPanel.setSize("100%", "100%"); ScrollPanel scrollMessagesPanel = new ScrollPanel(messagesPanel); scrollMessagesPanel.setStylePrimaryName("messages"); this.add(scrollMessagesPanel); // Provide label to display typing users final Label typingLabel = new Label(); typingLabel.setStylePrimaryName("typing"); messagesPanel.add(typingLabel); typingLabel.setVisible(false); // initially hidden as no typing users // List to contain chat messages Cell<ChatMessage> chatCell = new AbstractCell<ChatMessage>() { @Override public void render(Context context, ChatMessage value, SafeHtmlBuilder sb) { sb.appendHtmlConstant("<span><b>"); sb.appendEscaped(value.getUserName()); sb.appendHtmlConstant("</b>"); sb.appendEscaped(" > "); sb.appendEscaped(value.getMessage()); sb.appendHtmlConstant("</span>"); } }; CellList<ChatMessage> chatList = new CellList<ChatMessage>(chatCell); messagesPanel.add(chatList); // Add the data final ListDataProvider<ChatMessage> chatEntries = new ListDataProvider<ChatMessage>(); chatEntries.addDataDisplay(chatList); // Handle listening for messages OfficeFloorComet.subscribe(ConversationSubscription.class, new ConversationSubscription() { @Override public void message(ChatMessage message) { // Determine if typing notification String userName = message.getUserName(); if ((ChatWidget.this.userName == null) || (!(ChatWidget.this.userName.equals(userName)))) { // Not user so provide notification of typing if (message.isTyping()) { // Include user as typing if (!(ChatWidget.this.typingUserNames.contains(userName))) { ChatWidget.this.typingUserNames.add(userName); } } else { // User has stopped typing ChatWidget.this.typingUserNames.remove(userName); } } // Display typing notification if (ChatWidget.this.typingUserNames.size() == 0) { // No typing users typingLabel.setVisible(false); } else { // Display the typing users StringBuilder typingUsers = new StringBuilder(); boolean isFirst = true; for (String typingUserName : ChatWidget.this.typingUserNames) { if (!isFirst) { typingUsers.append(", "); } isFirst = false; typingUsers.append(typingUserName); } typingUsers.append(" ... (typing)"); typingLabel.setText(typingUsers.toString()); typingLabel.setVisible(true); } // Add the message (if one provided) String text = message.getMessage(); if (text != null) { List<ChatMessage> list = chatEntries.getList(); if (list.size() == 0) { list.add(message); } else { list.add(0, message); } } } }, null); // Handle submitting a message this.messageText.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { // Obtain the message text and cursor position String message = ChatWidget.this.messageText.getText(); int cursorPosition = ChatWidget.this.messageText.getCursorPos(); // Handle various scenarios of keys for sending/notification switch (event.getNativeKeyCode()) { case KeyCodes.KEY_ENTER: ChatWidget.this.sendChatMessage(); break; case KeyCodes.KEY_BACKSPACE: if (ChatWidget.this.isTyping && (message.length() == 1) && (cursorPosition == 1)) { // No longer typing as deleting last character ChatWidget.this.sendChatMessage(false, null); } break; case KeyCodes.KEY_DELETE: if (ChatWidget.this.isTyping && (message.length() == 1) && (cursorPosition == 0)) { // No longer typing as deleting last character ChatWidget.this.sendChatMessage(false, null); } break; case KeyCodes.KEY_ALT: case KeyCodes.KEY_CTRL: case KeyCodes.KEY_DOWN: case KeyCodes.KEY_END: case KeyCodes.KEY_ESCAPE: case KeyCodes.KEY_HOME: case KeyCodes.KEY_LEFT: case KeyCodes.KEY_PAGEDOWN: case KeyCodes.KEY_PAGEUP: case KeyCodes.KEY_RIGHT: case KeyCodes.KEY_SHIFT: case KeyCodes.KEY_UP: // Do nothing break; default: if ((!ChatWidget.this.isTyping) && (message.length() == 0)) { // Started typing a message ChatWidget.this.sendChatMessage(true, null); } break; } } }); }
From source file:org.activityinfo.ui.client.page.entry.column.AdminColumnRenderer.java
License:Open Source License
private Object render(SiteDTO model) { StringBuilder qtip = new StringBuilder(); SafeHtmlBuilder summary = new SafeHtmlBuilder(); // we use this set to keep track of names that we've added // to the summary to avoid duplication that is common between // territories, zones de sante, provinces and districts, etc seen.clear();/*from w ww . j av a2 s . c o m*/ int summaryLines = 0; for (AdminLevelDTO level : levels) { AdminEntityDTO entity = model.getAdminEntity(level.getId()); if (entity != null) { String name = entity.getName(); if (qtip.length() > 0) { qtip.append("<br>"); } qtip.append(level.getName()).append(": ").append(name); if (summaryLines < 3 && !seen.contains(name)) { if (summaryLines > 0) { summary.appendHtmlConstant("<br/>"); } summary.appendEscaped(name); seen.add(name); summaryLines++; } } } // return summary.toSafeHtml().asString(); return ColumnTemplates.INSTANCE.adminCell(qtip.toString(), summary.toSafeHtml()).asString(); }
From source file:org.datacleaner.monitor.scheduling.widgets.ExecutionIdentifierCell.java
License:Open Source License
@Override public void render(com.google.gwt.cell.client.Cell.Context context, ExecutionIdentifier executionIdentifier, SafeHtmlBuilder sb) { sb.appendHtmlConstant("<div class=\"ExecutionIdentifier\">"); final Date beginDate = executionIdentifier.getJobBeginDate(); final String dateString; if (beginDate == null) { dateString = "(n/a)"; } else {//www . j a v a 2 s .c o m dateString = _format.format(beginDate); } // date sb.appendHtmlConstant("<span class=\"beginDate\">"); sb.appendEscaped(dateString); sb.appendHtmlConstant("</span>"); // trigger type sb.appendHtmlConstant("<span class=\"triggerTypes\">"); final TriggerType triggerType = executionIdentifier.getTriggerType(); if (triggerType == null) { sb.appendEscaped("(n/a)"); } else { sb.appendEscaped(triggerType.toString()); } sb.appendHtmlConstant("</span>"); // execution status sb.appendHtmlConstant("<span class=\"executionStatus\">"); final ExecutionStatus executionStatus = executionIdentifier.getExecutionStatus(); if (executionStatus == null) { sb.appendEscaped("(n/a)"); } else { sb.appendEscaped(executionStatus.toString()); } sb.appendHtmlConstant("</span>"); sb.appendHtmlConstant("</div>"); }