package tk.eclipse.plugin.htmleditor.gefutils; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ComboBoxCellEditor; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.views.properties.PropertyDescriptor; /** * The PropertyDescriptor for the boolean value. * * @author Naoki Takezoe */ public class BooleanPropertyDescriptor extends PropertyDescriptor { public BooleanPropertyDescriptor(Object id,String displayName){ super(id,displayName); } @Override public CellEditor createPropertyEditor(Composite parent) { CellEditor editor = new ComboBoxCellEditor( parent, new String[]{"true","false"},SWT.READ_ONLY){ @Override protected void doSetValue(Object value){ if(((Boolean)value).booleanValue()){ super.doSetValue(Integer.valueOf(0)); } else { super.doSetValue(Integer.valueOf(1)); } } @Override protected Object doGetValue(){ int selection = ((Integer)super.doGetValue()).intValue(); if(selection==0){ return Boolean.TRUE; } else { return Boolean.FALSE; } } }; if (getValidator() != null) editor.setValidator(getValidator()); return editor; } }