private void setAttribute(Object value, CMLPeak peak, int position) { String valueString = ((String) value).trim(); if (value.equals("")) { if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[position]) != null) { peak.removeAttribute(peakTableViewer.getCmlPeakFields()[position]); for (int i = 0; i < peakTableViewer.hashesofpeaks.length; i++) { if (peakTableViewer.hashesofpeaks[i] == peak.hashCode()) peakTableViewer .spectrumItem .getPeakListElements() .get(0) .getPeakElements() .get(i) .removeAttribute(peakTableViewer.getCmlPeakFields()[position]); } } return; } if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[position]) == null && !peakTableViewer.getCmlPeakFields()[position].equals("")) { peak.addAttribute(new Attribute(peakTableViewer.getCmlPeakFields()[position], valueString)); for (int i = 0; i < peakTableViewer.hashesofpeaks.length; i++) { if (peakTableViewer.hashesofpeaks[i] == peak.hashCode()) peakTableViewer .spectrumItem .getPeakListElements() .get(0) .getPeakElements() .get(i) .addAttribute( new Attribute(peakTableViewer.getCmlPeakFields()[position], valueString)); break; } } if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[position]) != null) { peak.getAttribute(peakTableViewer.getCmlPeakFields()[position]).setValue(valueString); for (int i = 0; i < peakTableViewer.hashesofpeaks.length; i++) { if (peakTableViewer.hashesofpeaks[i] == peak.hashCode()) peakTableViewer .spectrumItem .getPeakListElements() .get(0) .getPeakElements() .get(i) .getAttribute(peakTableViewer.getCmlPeakFields()[position]) .setValue(valueString); break; } } }
public Object getValue(Object element, String property) { // Find the index of the column int columnIndex = peakTableViewer.getColumnNames().indexOf(property); // Object result = null; CMLPeak peak = (CMLPeak) element; switch (columnIndex) { case 0: // X_AXIS result = new String("" + peak.getXValue()); break; case 1: // Y_AXIS COLUMN result = new String("" + peak.getYValue()); break; case 2: // addiditonal columns if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[0]) != null) { result = peak.getAttribute(peakTableViewer.getCmlPeakFields()[0]).getValue(); break; } case 3: // Additional_FIelds COLUMN if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[1]) != null) { result = peak.getAttribute(peakTableViewer.getCmlPeakFields()[1]).getValue(); break; } case 4: // Additional_FIelds COLUMN if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[2]) != null) { result = peak.getAttribute(peakTableViewer.getCmlPeakFields()[2]).getValue(); break; } case 5: // Additional_FIelds COLUMN if (peak.getAttribute(peakTableViewer.getCmlPeakFields()[3]) != null) { result = peak.getAttribute(peakTableViewer.getCmlPeakFields()[3]).getValue(); break; } default: result = ""; } return result; }
public void modify(Object element, String property, Object value) { // Find the index of the column int columnIndex = peakTableViewer.getColumnNames().indexOf(property); TableItem item = (TableItem) element; CMLPeak peak = (CMLPeak) item.getData(); switch (columnIndex) { case 0: // X_AXIS try { peak.setXValue(new Double((String) value).doubleValue()); } catch (NumberFormatException ex) { MessageDialog.openError( new Shell(), "No valid float figure", "Your input could not be parsed as a float figure. Only these are possible here!"); } for (int i = 0; i < peakTableViewer.hashesofpeaks.length; i++) { if (peakTableViewer.hashesofpeaks[i] == peak.hashCode()) peakTableViewer .spectrumItem .getPeakListElements() .get(0) .getPeakElements() .get(i) .setXValue(new Double((String) value).doubleValue()); break; } break; case 1: // Y_AXIS COLUMN try { peak.setYValue(new Double((String) value).doubleValue()); } catch (NumberFormatException ex) { MessageDialog.openError( new Shell(), "No valid float figure", "Your input could not be parsed as a float figure. Only these are possible here!"); } for (int i = 0; i < peakTableViewer.hashesofpeaks.length; i++) { if (peakTableViewer.hashesofpeaks[i] == peak.hashCode()) peakTableViewer .spectrumItem .getPeakListElements() .get(0) .getPeakElements() .get(i) .setYValue(new Double((String) value).doubleValue()); break; } break; case 2: // Additional column setAttribute(value, peak, 0); break; case 3: // Additional column setAttribute(value, peak, 1); break; case 4: // Additional column setAttribute(value, peak, 2); break; case 5: // Additional column setAttribute(value, peak, 3); break; default: } peakTableViewer.peakTablePage.setDirty(true); peakTableViewer.tableViewer.refresh(true); }