@Override
 protected void addSubWidgets() {
   if ((getLabel() != null) && !"".equals(getLabel())) { // $NON-NLS-1$
     UIUtils.createLabel(this, getLabel());
   }
   createTextField(false);
   createButton();
 }
  /** Create a button [...]. When pressed, the {@link #openDialog()} method is called. */
  private void createButton() {
    final SelectionListener selectionListener =
        new SelectionListener() {

          public void widgetSelected(final SelectionEvent selectionEvent) {
            onButtonPressed();
          }

          public void widgetDefaultSelected(final SelectionEvent selectionEvent) {
            // Nothing.
          }
        };
    this.button =
        UIUtils.createButton(
            this,
            "...",
            this.buttonEnabled, // $NON-NLS-1$
            selectionListener);
  }