Field[] fields = CometeColor.class.getFields();
final List<CometeColor> colors = new ArrayList<CometeColor>(fields.length);
for (Field field : fields) {
try {
CometeColor theColor = (CometeColor) field.get(null);
colors.add(theColor);
colorList.add(field.getName() + " (" + theColor.getRed() + ", " + theColor.getGreen() + ", "
+ theColor.getBlue() + ")");
}
catch (Exception e) {
e.printStackTrace();
}
}
colorList.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
int selectionIndex = colorList.getSelectionIndex();
theComponent.setCometeBackground(colors.get(selectionIndex));
}
});
// user chosen color
Button colorButton = new Button(optionGroup, SWT.PUSH);
colorButton.setText("Color");
colorButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
ColorDialog dialog = new ColorDialog(IComponentTestPanel.this.getShell());
RGB rgb = dialog.open();
if (rgb != null) {
Color col = new Color(Display.getCurrent(), rgb);
CometeColor cometeColor = ColorTool.getCometeColor(col);
theComponent.setCometeBackground(cometeColor);
col.dispose();
colorList.deselectAll();
}
}