Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Ladenberger2012-06-13 12:56:26 +0000
committerLukas Ladenberger2012-06-13 12:56:26 +0000
commit83d7808f0e1bedc0bacb20161e1894bd354d81e2 (patch)
tree7cc2448b65f0f0bde03211a2b0b92508eeb76bd7
parent7482fbb17d24e5c391bf0ef4a6268dd86947f330 (diff)
downloadorg.eclipse.rmf-83d7808f0e1bedc0bacb20161e1894bd354d81e2.tar.gz
org.eclipse.rmf-83d7808f0e1bedc0bacb20161e1894bd354d81e2.tar.xz
org.eclipse.rmf-83d7808f0e1bedc0bacb20161e1894bd354d81e2.zip
workaround for supporting other datatypes of emf attributes in the
properties view
-rw-r--r--org.eclipse.rmf.pror.reqif10.editor/src/org/eclipse/rmf/pror/reqif10/editor/propertiesview/ProrPropertyCellEditorProvider.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/org.eclipse.rmf.pror.reqif10.editor/src/org/eclipse/rmf/pror/reqif10/editor/propertiesview/ProrPropertyCellEditorProvider.java b/org.eclipse.rmf.pror.reqif10.editor/src/org/eclipse/rmf/pror/reqif10/editor/propertiesview/ProrPropertyCellEditorProvider.java
index 627a2e5d..ee156949 100644
--- a/org.eclipse.rmf.pror.reqif10.editor/src/org/eclipse/rmf/pror/reqif10/editor/propertiesview/ProrPropertyCellEditorProvider.java
+++ b/org.eclipse.rmf.pror.reqif10.editor/src/org/eclipse/rmf/pror/reqif10/editor/propertiesview/ProrPropertyCellEditorProvider.java
@@ -21,6 +21,10 @@ import org.agilemore.agilegrid.editors.TextCellEditor;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CommandWrapper;
import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -127,6 +131,7 @@ public class ProrPropertyCellEditorProvider extends AbstractProrCellEditorProvid
}
+ // TODO: We need to support all emf datatypes. See Bug 382484.
private CellEditor getNonAttributeCellEditor(
final Object selectedElement,
final IItemPropertyDescriptor descriptor) {
@@ -180,8 +185,20 @@ public class ProrPropertyCellEditorProvider extends AbstractProrCellEditorProvid
@Override
protected Object doGetValue() {
+
Object value = super.doGetValue();
- // descriptor.setPropertyValue(selectedElement, value);
+
+ if (descriptor.getFeature(selectedElement) instanceof EStructuralFeature) {
+ EStructuralFeature feature = (EStructuralFeature) descriptor
+ .getFeature(selectedElement);
+ EClassifier eType = feature.getEType();
+ if (eType instanceof EDataType) {
+ EDataType eDataType = (EDataType) eType;
+ value = EcoreUtil.createFromString(eDataType,
+ value.toString());
+ }
+ }
+
Command setCmd = SetCommand.create(editingDomain,
selectedElement,
descriptor.getFeature(selectedElement), value);
@@ -191,6 +208,7 @@ public class ProrPropertyCellEditorProvider extends AbstractProrCellEditorProvid
affectedObjectCommand);
// fixAffectedObjectsOfLastcommand();
return value;
+
}
};

Back to the top