fireHandleEvent();
fireHandleEvent(FillChooserComposite.FILL_CHANGED_EVENT);
    public void widgetSelected(SelectionEvent e)    {        Object oSource = e.getSource();        if (oSource.equals(btnDown))        {            toggleDropDown();        }        else if (oSource.equals(this.btnImage))        {            FileDialog fDlg = new FileDialog(this.getShell(), SWT.OPEN);            fDlg.setFilterExtensions(saImageTypes);            String sStartFolder = System.getProperty("user.dir");            String sImageFile = "";            if (fCurrent instanceof Image)            {                String sFullPath = ((Image) fCurrent).getURL().toString();                sImageFile = sFullPath.substring(sFullPath.lastIndexOf("/") + 1);                sStartFolder = sFullPath.substring(0, sFullPath.lastIndexOf("/"));            }            fDlg.setFilterPath(sStartFolder);            fDlg.setFileName(sImageFile);            fDlg.open();            String sImgPath = fDlg.getFileName();            try            {                new URL(sImgPath);            }            catch (MalformedURLException e1 )            {                sImgPath = "file:///" + fDlg.getFilterPath() + File.separator + fDlg.getFileName();            }            if (sImgPath != null && sImgPath.trim().length() > 0)            {                Image imgFill = AttributeFactory.eINSTANCE.createImage();                imgFill.setURL(sImgPath);                this.setFill(imgFill);                fireHandleEvent();            }            cmpDropDown.getParent().dispose();        }        else if (oSource.equals(this.btnCustom))        {            ColorDialog cDlg = new ColorDialog(this.getShell(), SWT.NONE);            if (fCurrent instanceof ColorDefinition)            {                cDlg.setRGB(new RGB(((ColorDefinition) this.fCurrent).getRed(), ((ColorDefinition) this.fCurrent)                    .getGreen(), ((ColorDefinition) this.fCurrent).getBlue()));            }            cDlg.open();            RGB rgb = cDlg.getRGB();            if (rgb != null)            {                ColorDefinition cdNew = AttributeFactory.eINSTANCE.createColorDefinition();                cdNew.set(rgb.red, rgb.green, rgb.blue);                this.setFill(cdNew);                fireHandleEvent();            }            cmpDropDown.getParent().dispose();        }        else if (oSource.equals(btnTransparent))        {            if (fCurrent instanceof ColorDefinition)            {                if (btnTransparent.getSelection())                {                    ((ColorDefinition) fCurrent).setTransparency(100);                }                else                {                    ((ColorDefinition) fCurrent).setTransparency(0);                }            }            else if (fCurrent instanceof Gradient)            {                if (btnTransparent.getSelection())                {                    ((Gradient) fCurrent).setTransparency(100);                }                else                {                    ((Gradient) fCurrent).setTransparency(0);                }            }            this.setFill(fCurrent);            fireHandleEvent();            cmpDropDown.getParent().dispose();        }    }