@Override public void handleEvent(Event e) { ColorDialog cd = new ColorDialog(composite.getShell()); List<RGB> custom_colours = Utils.getCustomColors(); if ( r >= 0 && g >= 0 && b >= 0 ){ RGB colour = new RGB(r,g,b); custom_colours.remove( colour ); custom_colours.add( 0, colour ); cd.setRGB( colour ); } cd.setRGBs( custom_colours.toArray( new RGB[0])); RGB newColor = cd.open(); if ( newColor == null ){ return; } Utils.updateCustomColors( cd.getRGBs()); newColorChosen(newColor); if (configID != null) { COConfigurationManager.setRGBParameter(configID, newColor.red, newColor.green, newColor.blue); } else { r = newColor.red; g = newColor.green; b = newColor.blue; updateButtonColor(colorChooser.getDisplay(), r, g, b); } newColorSet(newColor); } });
cd.setRGBs( custom_colours.toArray( new RGB[0]));
if (usePreviousResultButton.getSelection()) { dialog.setRGB (colorDialogResult); dialog.setRGBs(colorDialogCustomColors);