@Override public void setErrors(Set<ErrorDisplay> errors) { HashSet<ErrorDisplay> errorsToRemove = new HashSet<ErrorDisplay>(containedErrros); errorsToRemove.removeAll(errors); for (ErrorDisplay errorDisplay : errorsToRemove) { Widget widget = widgets.get(errorDisplay); errorsList.remove(widget); widgets.remove(widget); } HashSet<ErrorDisplay> errorsToAdd = new HashSet<ErrorView.ErrorDisplay>(errors); errorsToAdd.removeAll(containedErrros); String errorViewItemClass = ApplicationResources.INSTANCE.css().errorViewItemClass(); String errorViewImageClass = ApplicationResources.INSTANCE.css().errorViewImageClass(); for (ErrorDisplay errorDisplay : errorsToAdd) { SafeHtml html = template.errorDisplayTemplate( errorImageSafeUri, errorDisplay.getErrorInfo(), errorViewImageClass); HTML widget = new HTML(html); widget.setStyleName(errorViewItemClass); widgets.put(errorDisplay, widget); errorsList.add(widget); } containedErrros = new HashSet<ErrorView.ErrorDisplay>(errors); int height = 0; for (int i = 0; i < errorsList.getWidgetCount(); ++i) { Widget widget = errorsList.getWidget(i); widget.getElement().getStyle().setTop(height, Unit.PX); height += widget.getOffsetHeight() + 5; } }
/** Ensure that form has at least one row. */ void ensureFormHasRow() { if (headersFormPanel.getWidgetCount() > 0) { HeadersFormRow row = rows.get(rows.size() - 1); String name = row.nameBox.getValue(); String value = row.valueBox.getValue(); if (!name.equals("") || !value.equals("")) { addRow(null, null); } return; } addRow(null, null); }
private void renderPlots( HTMLPanel panel, List<PlotSeriesDto> plotSeriesDtoList, String id, double yMinimum, boolean isMetric) { panel.add(loadIndicator); SimplePlot redrawingPlot = null; VerticalPanel plotGroupPanel = new VerticalPanel(); plotGroupPanel.setWidth("100%"); plotGroupPanel.getElement().setId(id); for (PlotSeriesDto plotSeriesDto : plotSeriesDtoList) { Markings markings = null; if (plotSeriesDto.getMarkingSeries() != null) { markings = new Markings(); for (MarkingDto plotDatasetDto : plotSeriesDto.getMarkingSeries()) { double x = plotDatasetDto.getValue(); markings.addMarking( new Marking() .setX(new Range(x, x)) .setLineWidth(1) .setColor(plotDatasetDto.getColor())); } markingsMap.put(id, new TreeSet<MarkingDto>(plotSeriesDto.getMarkingSeries())); } final SimplePlot plot = createPlot(id, markings, plotSeriesDto.getXAxisLabel(), yMinimum, isMetric); redrawingPlot = plot; PlotModel plotModel = plot.getModel(); for (PlotDatasetDto plotDatasetDto : plotSeriesDto.getPlotSeries()) { SeriesHandler handler = plotModel.addSeries(plotDatasetDto.getLegend(), plotDatasetDto.getColor()); // Populate plot with data for (PointDto pointDto : plotDatasetDto.getPlotData()) { handler.add(new DataPoint(pointDto.getX(), pointDto.getY())); } } // Add X axis label Label xLabel = new Label(plotSeriesDto.getXAxisLabel()); xLabel.addStyleName(getResources().css().xAxisLabel()); Label plotHeader = new Label(plotSeriesDto.getPlotHeader()); plotHeader.addStyleName(getResources().css().plotHeader()); Label plotLegend = new Label("PLOT LEGEND"); plotLegend.addStyleName(getResources().css().plotLegend()); VerticalPanel vp = new VerticalPanel(); vp.setWidth("100%"); Label panLeftLabel = new Label(); panLeftLabel.addStyleName(getResources().css().panLabel()); panLeftLabel.getElement().appendChild(new Image(getResources().getArrowLeft()).getElement()); panLeftLabel.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { plot.pan(new Pan().setLeft(-100)); } }); Label panRightLabel = new Label(); panRightLabel.addStyleName(getResources().css().panLabel()); panRightLabel .getElement() .appendChild(new Image(getResources().getArrowRight()).getElement()); panRightLabel.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { plot.pan(new Pan().setLeft(100)); } }); Label zoomInLabel = new Label("Zoom In"); zoomInLabel.addStyleName(getResources().css().zoomLabel()); zoomInLabel.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { plot.zoom(); } }); Label zoomOutLabel = new Label("Zoom Out"); zoomOutLabel.addStyleName(getResources().css().zoomLabel()); zoomOutLabel.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { plot.zoomOut(); } }); FlowPanel zoomPanel = new FlowPanel(); zoomPanel.addStyleName(getResources().css().zoomPanel()); zoomPanel.add(panLeftLabel); zoomPanel.add(panRightLabel); zoomPanel.add(zoomInLabel); zoomPanel.add(zoomOutLabel); vp.add(plotHeader); vp.add(zoomPanel); vp.add(plot); vp.add(xLabel); // Will be added if there is need it // vp.add(plotLegend); plotGroupPanel.add(vp); } int loadingId = panel.getWidgetCount() - 1; panel.remove(loadingId); panel.add(plotGroupPanel); // Redraw plot if (redrawingPlot != null) { redrawingPlot.redraw(); } }
private boolean isMaxPlotCountReached() { return plotPanel.getWidgetCount() >= MAX_PLOT_COUNT; }