@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); } });
updateCustomColors( cd.getRGBs());
textWidget.append ("getRGB() = " + dialog.getRGB() + Text.DELIMITER); textWidget.append ("getRGBs() =" + Text.DELIMITER); RGB[] rgbs = dialog.getRGBs(); if (rgbs != null) { for (RGB rgbColor : rgbs) {