@Override
  public void actionDialogOK() {
    // Make sure we are dealing with an int
    int count = 1;
    try {
      count = Integer.parseInt(fStepCountText.getText());
    } catch (NumberFormatException e) {
    }
    fWhileSteppingAction.setStepCount(count);

    fWhileSteppingAction.setSubActionsNames(actionsList.getActionNames());
    fWhileSteppingAction.setSubActionsContent(actionsList.getActionNames());
  }
 /**
  * Clean up attached actions that were just deleted from the GlobalActionList
  *
  * @since 7.0
  */
 protected void HandleDeleteButton() {
   // First remove any attached action that was just deleted
   ITracepointAction[] selectedActions = globalActionsList.getSelectedActions();
   for (ITracepointAction action : selectedActions) {
     actionsList.removeAction(action);
   }
   // Now cleanup the global action list
   globalActionsList.HandleDeleteButton();
 }
  /** Create the composite */
  private Composite createWhileSteppingActionComposite(Composite parent, int style) {

    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new GridLayout(2, false));

    final Label stepCountLabel = new Label(composite, SWT.NONE);
    stepCountLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
    stepCountLabel.setText(MessagesForTracepointActions.TracepointActions_Step_Count);

    fStepCountText = new Text(composite, SWT.BORDER);
    fStepCountText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    fStepCountText.setText(Integer.toString(fWhileSteppingAction.getStepCount()));

    final Label actionsTriggeredWhenLabel = new Label(composite, SWT.NONE);
    actionsTriggeredWhenLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
    actionsTriggeredWhenLabel.setText(
        MessagesForTracepointActions.TracepointActions_WhileStepping_Sub_Actions);

    actionsList = new TracepointActionsList(composite, SWT.NONE);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
    gridData.horizontalSpan = 2;
    actionsList.setLayoutData(gridData);

    final GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 2;
    composite.setLayout(gridLayout);

    final Label label = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gridData.horizontalSpan = 2;
    label.setLayoutData(gridData);

    final Label allAvailableActionsLabel = new Label(composite, SWT.NONE);
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    allAvailableActionsLabel.setLayoutData(gridData);
    allAvailableActionsLabel.setText(
        MessagesForTracepointActions.TracepointActions_Available_actions);

    globalActionsList = new TracepointGlobalActionsList(composite, SWT.NONE, true, true);
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 2;
    globalActionsList.setLayoutData(gridData);

    String actionNames = fWhileSteppingAction.getSubActionsNames();
    actionsList.setNames(actionNames);

    globalActionsList
        .getAttachButton()
        .addSelectionListener(
            new SelectionAdapter() {
              @Override
              public void widgetSelected(SelectionEvent e) {
                HandleAttachButton();
              }
            });

    globalActionsList
        .getDeleteButton()
        .addSelectionListener(
            new SelectionAdapter() {
              @Override
              public void widgetSelected(SelectionEvent e) {
                HandleDeleteButton();
              }
            });

    return composite;
  }
 protected void HandleAttachButton() {
   ITracepointAction[] selectedActions = globalActionsList.getSelectedActions();
   for (ITracepointAction action : selectedActions) {
     actionsList.addAction(action);
   }
 }