try {
DynamicModel dm=Lookup.getDefault().lookup(DynamicController.class).getModel();
if(dm!=null){
currentTimeFormat=dm.getTimeFormat();
}
AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class);
Sheet.Set set = new Sheet.Set();
set.setName("attributes");
if (nodes.length > 1) {
set.setDisplayName(NbBundle.getMessage(EditNodes.class, "EditNodes.attributes.text.multiple"));
} else {
set.setDisplayName(NbBundle.getMessage(EditNodes.class, "EditNodes.attributes.text", nodes[0].getNodeData().getLabel()));
}
AttributeRow row = (AttributeRow) nodes[0].getNodeData().getAttributes();
AttributeValueWrapper wrap;
for (AttributeValue value : row.getValues()) {
if (multipleNodes) {
wrap = new MultipleRowsAttributeValueWrapper(nodes, value.getColumn(),currentTimeFormat);
} else {
wrap = new SingleRowAttributeValueWrapper(nodes[0], value.getColumn(),currentTimeFormat);
}
AttributeType type = value.getColumn().getType();
Property p;
if (ac.canChangeColumnData(value.getColumn())) {
//Editable column, provide "set" method:
if (!EditWindowUtils.NotSupportedTypes.contains(type)) {//The AttributeType can be edited by default:
p = new PropertySupport.Reflection(wrap, type.getType(), "getValue" + type.getType().getSimpleName(), "setValue" + type.getType().getSimpleName());
} else {//Use the AttributeType as String:
p = new PropertySupport.Reflection(wrap, String.class, "getValueAsString", "setValueAsString");