public void addRenderer(String klass, Map<String, String> props, String uniqueId) { WaveletViewRenderer renderer = null; try { renderer = RendererRegistry.findRenderer(klass); } catch (Exception ex) { LOGGER.error("Cannot find renderer " + klass); LOGGER.error(" message: " + ex.getMessage()); } if (renderer == null) { return; } // set the data entity to be rendered and add renderer to viewer Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); Map<String, Object> results = ServiceProvider.getRepository().get(new EntityUniqueIdSpecification(uniqueId)); Object[] objects = results.values().toArray(); renderer.setData(shell, WaveletViewer.this, objects, false); // Put wavelet info on the tool bar Wavelet wavelet = (Wavelet) renderer.getRenderedObjects()[0]; IPlotPolyline waveletPolyline = (IPlotPolyline) renderer.getShapes()[0]; _legendToolbar.addLabel(wavelet.getDisplayName() + ":"); _legendToolbar.addColorRectangle(waveletPolyline.getLineColor()); // set the renderer's model properties Model model = renderer.getSettingsModel(); // Note: if model is null, renderer is TraceSectionRenderer (at least) if (model != null) { model.unpickle(props); } }
@Override public void unpickle(final Map<String, String> parms) { super.unpickle(parms); for (String key : parms.keySet()) { if (key.equals(XAXIS_RANGE)) { _xAxisRange = parseAxisRange(parms.get(key)); } else if (key.equals(YAXIS_RANGE)) { _yAxisRange = parseAxisRange(parms.get(key)); } else if (key.equals(XAXIS_DEFAULT_RANGE)) { _xAxisDefaultRange = parseAxisRange(parms.get(key)); } else if (key.equals(YAXIS_DEFAULT_RANGE)) { _yAxisDefaultRange = parseAxisRange(parms.get(key)); } } // reset the model space _modelSpace.setViewableBounds( _xAxisRange.getStart(), _xAxisRange.getEnd(), _yAxisRange.getStart(), _yAxisRange.getEnd()); _modelSpace.setDefaultBounds( _xAxisDefaultRange.getStart(), _xAxisDefaultRange.getEnd(), _yAxisDefaultRange.getStart(), _yAxisDefaultRange.getEnd()); }