+ int valueCount = 0;
+ for (PropertyManipulator manipulator : manipulators.values()) {
+ if (valueCount < manipulator.getValueCount())
+ valueCount = manipulator.getValueCount();
+ }
+ for (int i = 0; i < valueCount; i++) {
+ TableViewerColumn value = new TableViewerColumn(viewer, SWT.LEFT);
+ //value.getColumn().setText("Value " + (i+1));
+ value.getColumn().setText("");
+ value.getColumn().setWidth(200);
+ valueColumns.add(value);
+ //value.setEditingSupport(new )
+ }
+
+ // create label providers
+ PropertyValueLabelProvider2 p = new PropertyValueLabelProvider2(this);
+ int index = 0;
+ for (TableViewerColumn c : valueColumns) {
+ c.setLabelProvider(p);
+ if (!readOnly) {
+ PropertyEditingSupport support = new PropertyEditingSupport(this, viewer, index++, nodeMap);
+ c.setEditingSupport(support);
+ }
+ }
+ Collections.sort(resolvedItems, new Comparator<IPropertyItem>() {
+ @Override
+ public int compare(IPropertyItem o1, IPropertyItem o2) {
+ return o1.getName().compareTo(o2.getName());
+ }
+ });