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
/*******************************************************************************
 * Copyright (c) 2000, 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.views.properties;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
/**
 * Descriptor for a property that has a value which should be edited
 * with a combo box cell editor.  This class provides a default 
 * <code>ILabelProvider</code> that will render the label of the given 
 * descriptor as the <code>String</code> found in the value array at the 
 * currently selected index.
 * <p>