protected void openColorPickerDialog() {
   final ColorPickerDialog dlg = new ColorPickerDialog();
   dlg.getElement().getStyle().setZIndex(9999);
   String color = getValue();
   if (ColorValidator.isValid(color)) dlg.setColor(color);
   dlg.addDialogClosedHandler(
       new DialogClosedHandler() {
         public void dialogClosed(DialogClosedEvent event) {
           if (!event.isCanceled()) {
             colorTextBox.setValue(dlg.getColor().toUpperCase(), true);
           }
         }
       });
   dlg.showRelativeTo(editIcon);
 }
 public void setValue(String value) {
   if (ColorValidator.isValid(value)) {
     colorTextBox.setValue(value);
   }
 }