private void showHideDynamicsControls() {
    // PTODO SML Optimize
    // 1. Hide all controls:
    for (IRepositoryFactory f : dynamicControls.keySet()) {
      for (LabelText control : dynamicControls.get(f).values()) {
        // control.setVisible(false);
        hideControl(control.getLabelControl(), true, false);
        hideControl(control.getTextControl(), true, false);
      }

      for (Button control : dynamicButtons.get(f).values()) {
        // control.setVisible(false);
        hideControl(control, true, false);
      }

      for (LabelledCombo control : dynamicChoices.get(f).values()) {
        // control.setVisible(false);
        hideControl(control.getCombo(), true, false);
      }
    }

    // 2. Show active repository controls:
    if (getRepository() != null) {
      for (LabelText control : dynamicControls.get(getRepository()).values()) {
        // control.setVisible(true);
        hideControl(control.getLabelControl(), false, false);
        hideControl(control.getTextControl(), false, false);
      }

      for (Button control : dynamicButtons.get(getRepository()).values()) {
        // control.setVisible(true);
        hideControl(control, false, false);
      }

      for (LabelledCombo control : dynamicChoices.get(getRepository()).values()) {
        // control.setVisible(true);
        hideControl(control.getCombo(), false, false);
      }
    }
    nameText.getParent().layout();
  }
  private void removeListeners() {
    repositoryCombo.removePostSelectionChangedListener(repositoryListener);
    nameText.removeModifyListener(standardTextListener);
    descriptionText.removeModifyListener(standardTextListener);
    userText.removeModifyListener(standardTextListener);
    passwordText.removeModifyListener(standardTextListener);

    for (IRepositoryFactory f : dynamicControls.keySet()) {
      for (LabelText control : dynamicControls.get(f).values()) {
        control.removeModifyListener(standardTextListener);
      }
    }

    for (IRepositoryFactory f : dynamicChoices.keySet()) {
      for (LabelledCombo control : dynamicChoices.get(f).values()) {
        control.getCombo().removeModifyListener(standardTextListener);
      }
    }
  }
  private void addListeners() {
    repositoryCombo.addPostSelectionChangedListener(repositoryListener);
    nameText.addModifyListener(standardTextListener);
    descriptionText.addModifyListener(standardTextListener);
    userText.addModifyListener(standardTextListener);
    passwordText.addModifyListener(standardTextListener);
    workSpaceText.addModifyListener(standardTextListener);

    for (IRepositoryFactory f : dynamicControls.keySet()) {
      for (LabelText control : dynamicControls.get(f).values()) {
        control.addModifyListener(standardTextListener);
      }
    }

    for (IRepositoryFactory f : dynamicChoices.keySet()) {
      for (LabelledCombo control : dynamicChoices.get(f).values()) {
        control.getCombo().addModifyListener(standardTextListener);
      }
    }

    deleteProjectsButton.addSelectionListener(deleteProjectClickListener);
  }