private void handleInfoChanged() {
   if (procedureRB.getSelection()) {
     relationalProcedure.setProcedureType(RelationalProcedure.PROCEDURE_TYPE.PROCEDURE);
   } else {
     relationalProcedure.setProcedureType(RelationalProcedure.PROCEDURE_TYPE.FUNCTION);
   }
 }
    /**
     * @see
     *     org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
     * @since 5.5.3
     */
    @Override
    protected Control createDialogArea(Composite parent) {
      Composite pnlOuter = (Composite) super.createDialogArea(parent);

      Composite panel = new Composite(pnlOuter, SWT.NONE);
      GridLayout gridLayout = new GridLayout();
      gridLayout.marginLeft = 20;
      gridLayout.marginRight = 20;
      panel.setLayout(gridLayout);
      panel.setLayoutData(new GridData(GridData.FILL_BOTH));

      // set title
      setTitle(Messages.selectProcedureTypeDialogSubTitle);

      { // simple procedure
        procedureRB = new Button(panel, SWT.RADIO);
        procedureRB.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
        procedureRB.setText(Messages.procedureLabel);
        procedureRB.addSelectionListener(
            new SelectionAdapter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
               */
              @Override
              public void widgetSelected(SelectionEvent e) {
                handleInfoChanged();
              }
            });
        procedureRB.setSelection(!relationalProcedure.isFunction());

        Text descText = new Text(panel, SWT.MULTI | SWT.WRAP | SWT.READ_ONLY);
        descText.setBackground(parent.getBackground());
        descText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
        descText.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true));
        ((GridData) descText.getLayoutData()).horizontalIndent = 20;
        ((GridData) descText.getLayoutData()).heightHint = (3 * descText.getLineHeight());
        descText.setText(Messages.createRelationalViewProcedureDescription);
      }

      { // user defined function
        userDefinedFunctionRB = new Button(panel, SWT.RADIO);
        userDefinedFunctionRB.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
        userDefinedFunctionRB.setText(Messages.userDefinedFunctionLabel);
        userDefinedFunctionRB.addSelectionListener(
            new SelectionAdapter() {
              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
               */
              @Override
              public void widgetSelected(SelectionEvent e) {
                handleInfoChanged();
              }
            });

        Text descText = new Text(panel, SWT.MULTI | SWT.WRAP | SWT.READ_ONLY);
        descText.setBackground(parent.getBackground());
        descText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
        descText.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true));
        ((GridData) descText.getLayoutData()).horizontalIndent = 20;
        ((GridData) descText.getLayoutData()).heightHint = (3 * descText.getLineHeight());
        descText.setText(Messages.createRelationalViewUserDefinedFunctionDescription);
      }
      return pnlOuter;
    }