Bug 66616 [PropertiesView] ComboBoxPropertyDescriptor doesn't work in PropertySheetView
created a model and property sheet view. model returns following property descriptor: String[] values = {"A","B","C"}; IPropertyDescriptor[] colmDec = new IPropertyDescriptor[1]; ComboBoxPropertyDescriptor colmProp = new ComboBoxPropertyDescriptor ("PROP_FRUIT","fruit",values); colmDec[0] = colmProp; model has getPropertyValue. and everything is ok but when mouse click on property sheet on row for "fruit", eclipse generate assertion failure on following method: ComboBoxCellEditor protected void doSetValue(Object value) { Assert.isTrue(comboBox != null && (value instanceof Integer)); selection = ((Integer) value).intValue(); comboBox.select(selection); } where value is "A". so somehow, ComboBoxCellEditor expects integer value but PropertySheetEntry sending one of list items. note that when debugged, ComboBoxCellEditor has property initialized with items from ComboBoxPropertyDescriptor
bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
* <code>IPropertyDescriptor</code> method creates and returns a new
     * <code>ComboBoxCellEditor</code>.
     * <p>
     * The editor is configured with the current validator if there is one.
     * </p>
     */
    public CellEditor createPropertyEditor(Composite parent) {
        CellEditor editor = new ComboBoxCellEditor(parent, values,
                SWT.READ_ONLY);
        if (getValidator() != null)
            editor.setValidator(getValidator());
        return editor;
    }
    /**
     * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
     * <code>IPropertyDescriptor</code> method returns the value set by
     * the <code>setProvider</code> method or, if no value has been set
     * it returns a <code>ComboBoxLabelProvider</code> created from the 
     * valuesArray of this <code>ComboBoxPropertyDescriptor</code>.
     *
     * @see #setLabelProvider
     */
    public ILabelProvider getLabelProvider() {
        if (isLabelProviderSet())
            return super.getLabelProvider();
        else
            return new ComboBoxLabelProvider(values);
    }
}