/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.gui.utils.common.configuration;
import org.eclipse.jface.viewers.LabelProvider;
/**
* A {@link org.eclipse.ui.views.properties.IPropertyDescriptor} representing an
* <code>boolean</code> valued property.
*
* @author Christian Weiss
*/
public class BooleanPropertyDescriptor extends SelectionPropertyDescriptor {
private static final String[] LABELS = new String[] { Messages.trueLabel, Messages.falseLabel };
private static final Boolean[] DATA = new Boolean[] { Boolean.TRUE, Boolean.FALSE };
public BooleanPropertyDescriptor(Object id, String displayName) {
super(id, displayName, new ValueProvider() {
@Override
public Object[] getValues() {
return DATA;
}
});
setLabelProvider(new LabelProvider() {
@Override
public String getText(final Object element) {
for (int index = 0; index < DATA.length; ++index) {
if (DATA[index].equals(element)) {
return LABELS[index];
}
}
if (element == null) {
return null;
}
throw new IllegalArgumentException();
}
});
}
}