[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.tools.emf] PropertySheet cell editor: PropertyValueWrapper cast exception

Hello,

I found previous threads regarding this subject, but they did not really help me solve my problem.

I have a very simple EMF Model, with a class

NetworkElement
  - name: EString
  - id: EInt
...

I generate the edit code, but not the editor code (I have a gef-based editor).
Then, when I create a network element in the editor and select it, the standard properties view gets populated correctly, with the correct values. Once I click one of these, the cell editor does not open, although the value is editable.


The code in the EditPart for the adapter is

@Override
public Object getAdapter(Class key) {
if (key == IPropertySource.class) {
AdapterFactoryContentProvider provider =
new AdapterFactoryContentProvider(new NetworkItemProviderAdapterFactory());
return provider.getPropertySource(getModel());
}
return super.getAdapter(key);
}


to return an IPropertySource, where the NetworkItemProviderAdapterFactory is the generated emf.edit AdapterFactory for the emf model package.

How can I provide edit support for the model element properties? Does getEditableValue() have to be called somewhere. Can I provide editing support with the standard eclipse properties view?

Thanks and Best regards,
Stephan

In debug mode, I encountered the following caught exception:

!ENTRY org.eclipse.ui 4 0 2009-09-15 16:28:03.429
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.ClassCastException: org.eclipse.emf.edit.provider.ItemPropertyDescriptor$PropertyValueWrapper cannot be cast to java.lang.String
at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.convertEStringToString(EcoreFactoryImpl.java:651)
at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.convertToString(EcoreFactoryImpl.java:224)
at org.eclipse.emf.ecore.util.EcoreUtil.convertToString(EcoreUtil.java:3269)
at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeValueHandler.toString(PropertyDescriptor.java:199)
at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.isCorrect(PropertyDescriptor.java:251)
at org.eclipse.jface.viewers.CellEditor.setValue(CellEditor.java:853)
at org.eclipse.ui.views.properties.PropertySheetEntry.getEditor(PropertySheetEntry.java:384)
at org.eclipse.ui.views.properties.PropertySheetViewer.activateCellEditor(PropertySheetViewer.java:163)
at org.eclipse.ui.views.properties.PropertySheetViewer.handleSelect(PropertySheetViewer.java:727)
at org.eclipse.ui.views.properties.PropertySheetViewer.access$8(PropertySheetViewer.java:707)
at org.eclipse.ui.views.properties.PropertySheetViewer$6.mouseDown(PropertySheetViewer.java:816)