/** * Helper method to create the {@link IntensityBins}-object from the IntervalPanel. * * @return */ private IntensityBins createPixelBins() { IntensityBins bins = new IntensityBins(m_intervalPanel.getNumIntervals()); for (int j = 0; j < m_intervalPanel.getNumIntervals(); j++) { IntervalItemPanel p = m_intervalPanel.getInterval(j); bins.setBinAtIndex( j, p.getBinValue(), p.isLeftOpen(), p.getLeftValue(false), p.isRightOpen(), p.getRightValue(false)); } return bins; }
/** {@inheritDoc} */ @Override public void loadAdditionalSettingsFrom( final NodeSettingsRO settings, final PortObjectSpec[] specs) throws NotConfigurableException { IntensityBins bins = null; try { bins = new IntensityBins(settings.getNodeSettings(IntensityBinnerNodeModel.KEY_BIN_SETTINGS)); } catch (InvalidSettingsException e) { // TODO throw new NotConfigurableException(e.getMessage(), e); } m_intervalPanel.removeAllIntervalItems(); for (int i = 0; i < bins.getNumBins(); i++) { double binValue = bins.getBinValue(i); boolean leftOpen = bins.isLeftOpen(i); double left = bins.getLeftValue(i); boolean rightOpen = bins.isRightOpen(i); double right = bins.getRightValue(i); IntervalItemPanel item = new IntervalItemPanel( m_intervalPanel, leftOpen, left, rightOpen, right, binValue, DoubleCell.TYPE); m_intervalPanel.addIntervalItem(item); } updateInfo(); getPanel().validate(); getPanel().repaint(); }