public ComboboxFigure(Composite parent, final IPropertySource propertySource) {
    super();
    Combo cb = new Combo(parent, SWT.DROP_DOWN);
    cb.setVisible(false);
    cb.setBounds(-100, -100, 10, 10);
    Point p = cb.computeSize(SWT.DEFAULT, SWT.DEFAULT);
    cb.dispose();
    mComboHeight = p.y;

    setLayoutManager(new XYLayout());
    Rectangle[] bounds =
        calculateBounds(
            (Rectangle) propertySource.getPropertyValue(InstallOptionsWidget.PROPERTY_BOUNDS));
    mComboFigure =
        new ComboFigure(parent, new CustomPropertySourceWrapper(propertySource, bounds[0]));
    mListFigure =
        new ListFigure(
            parent, new CustomPropertySourceWrapper(propertySource, bounds[1]), SWT.SINGLE);
    mListFigure.setBorder(new LineBorder(ColorManager.getColor(ColorManager.BLACK)));
    mListFigure.setVisible(mShowDropdown);
    add(mComboFigure);
    add(mListFigure);
  }
 public void setShowDropdown(boolean flag) {
   if (mShowDropdown != flag) {
     mShowDropdown = flag;
     mListFigure.setVisible(mShowDropdown);
   }
 }