private Control createToolBar(Composite parent) {
    toolBar = new ToolBarManager();

    picker = new ColorPicker(configurer.getPopupStyle(), configurer.getPalette());
    configureColorPicker(picker);

    toolBar.add(picker);
    toolBar.createControl(parent);
    return toolBar.getControl();
  }
 private void setValueToPicker(Object value) {
   ISelection selection;
   if (configurer.isNoneValueSet()
       && (configurer.getNoneValue() == value
           || (configurer.getNoneValue() != null && configurer.getNoneValue().equals(value)))) {
     selection = new ColorSelection(ColorSelection.NONE);
   } else if (configurer.isAutoValueSet()
       && (configurer.getAutoValue() == value
           || (configurer.getAutoValue() != null && configurer.getAutoValue().equals(value)))) {
     selection = new ColorSelection(ColorSelection.AUTO);
   } else if (value instanceof String) {
     RGB color = ColorUtils.toRGB((String) value);
     selection = color == null ? ColorSelection.EMPTY : new ColorSelection(color);
   } else if (value instanceof RGB) {
     selection = new ColorSelection((RGB) value);
   } else {
     selection = ColorSelection.EMPTY;
   }
   picker.setSelection(selection);
 }
 /** @param picker */
 private void configureColorPicker(ColorPicker picker) {
   picker.setAutoColor(configurer.getAutoColor());
   picker.addOpenListener(
       new IOpenListener() {
         public void open(OpenEvent event) {
           ColorSelection selection = (ColorSelection) event.getSelection();
           Object value;
           if (selection.isNone()) {
             value = configurer.getNoneValue();
           } else if (selection.isAutomatic()) {
             value = configurer.getAutoValue();
           } else {
             RGB color = selection.getColor();
             value = color == null ? null : ColorUtils.toString(color);
           }
           setValueToText(value);
           changeValue(value);
           fireApplyEditorValue();
         }
       });
 }