コード例 #1
0
  private IMember openDialog(
      CorrespondingMemberRequest request,
      Collection<IType> proposedClasses,
      Collection<IMethod> proposedMethods,
      boolean perfectMatches) {
    String promptText = request.getPromptText();
    String infoText = null;
    if (!perfectMatches) {
      promptText =
          String.format(
              "%s %s%s",
              promptText,
              StringConstants.NEWLINE,
              "We could find the following classes, but their packages do not match:");
      infoText =
          "Please note that theses classes will not be considered for other MoreUnit features such as test launching or refactoring.";
    }

    IMember startMember =
        request.getCurrentMethod() != null ? request.getCurrentMethod() : getType();
    IMember defaultSelection = getDefaultSelection(proposedClasses, proposedMethods, startMember);
    MemberContentProvider contentProvider =
        new MemberContentProvider(proposedClasses, proposedMethods, defaultSelection)
            .withAction(
                new CreateNewClassAction() {
                  @Override
                  public IType execute() {
                    return newCorrespondingClassWizard(getType()).open();
                  }
                });

    return new ChooseDialog<IMember>(promptText, infoText, contentProvider).getChoice();
  }