예제 #1
0
  /**
   * Creates a new file resource as requested by the user. If everything is OK then answer true. If
   * not, false will cause the dialog to stay open and the appropriate error message is shown
   *
   * @return whether creation was successful
   * @see WOComponentCreationWizard#performFinish()
   */
  public boolean createComponent() {
    WOComponentCreator componentCreator;
    String componentName = getFileName();
    String packageName = _packageDialogField.getText();
    String superclassName = _superclassDialogField.getText();
    IProject actualProject =
        ResourcesPlugin.getWorkspace().getRoot().getProject(getContainerFullPath().segment(0));
    switch (getContainerFullPath().segmentCount()) {
      case 0:
        // not possible ( see validatePage() )
        setErrorMessage("unknown error");
        return false;
      default:
        // determine parent resource for component creator by removing
        // first element (workspace) from full path
        IFolder subprojectFolder =
            actualProject.getFolder(getContainerFullPath().removeFirstSegments(1));
        componentCreator =
            new WOComponentCreator(
                subprojectFolder,
                componentName,
                packageName,
                superclassName,
                _bodyCheckbox.getSelection(),
                _apiCheckbox.getSelection(),
                this);
        break;
    }
    this.getDialogSettings()
        .put(WOComponentCreationPage.SUPERCLASS_KEY, _superclassDialogField.getText());
    this.getDialogSettings()
        .put(WOComponentCreationPage.BODY_CHECKBOX_KEY, _bodyCheckbox.getSelection());
    this.getDialogSettings().put(WOComponentCreationPage.HTML_DOCTYPE_KEY, _htmlCombo.getText());
    this.getDialogSettings()
        .put(WOComponentCreationPage.NSSTRING_ENCODING_KEY, _encodingCombo.getText());
    this.getDialogSettings()
        .put(WOComponentCreationPage.API_CHECKBOX_KEY, _apiCheckbox.getSelection());

    // logPreferences();
    IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(componentCreator);
    return createResourceOperation(op);
  }
예제 #2
0
  protected String chooseSuperclass() {
    Set<String> superclasses = new HashSet<String>();
    try {
      IProject actualProject =
          ResourcesPlugin.getWorkspace().getRoot().getProject(getContainerFullPath().segment(0));
      IJavaProject javaProject =
          JavaModelManager.getJavaModelManager().getJavaModel().getJavaProject(actualProject);

      TypeNameCollector typeNameCollector = new TypeNameCollector(javaProject, false);
      BindingReflectionUtils.findMatchingElementClassNames(
          "", SearchPattern.R_PREFIX_MATCH, typeNameCollector, new NullProgressMonitor());
      for (String typeName : typeNameCollector.getTypeNames()) {
        // int dotIndex = typeName.lastIndexOf('.');
        // if (dotIndex != -1) {
        // typeName = typeName.substring(dotIndex + 1);
        // }
        // validValues.add("\"" + typeName + "\"");
        superclasses.add(typeName);
      }
    } catch (JavaModelException e) {
      // JTourBusPlugin.log(e);
      e.printStackTrace();
    }

    ElementListSelectionDialog dialog =
        new ElementListSelectionDialog(getShell(), new StringLabelProvider());
    dialog.setIgnoreCase(true);
    dialog.setTitle(NewWizardMessages.NewTypeWizardPage_SuperClassDialog_title);
    dialog.setMessage(NewWizardMessages.NewTypeWizardPage_SuperClassDialog_message);
    // dialog.setEmptyListMessage(NewWizardMessages.NewTypeWiz);
    dialog.setFilter(_superclassDialogField.getText());
    dialog.setElements(superclasses.toArray());
    if (dialog.open() == Window.OK) {
      return (String) dialog.getFirstResult();
    }
    return null;
  }
예제 #3
0
  protected IPackageFragment choosePackage() {
    List<IJavaElement> packagesList = new LinkedList<IJavaElement>();
    try {
      IProject actualProject =
          ResourcesPlugin.getWorkspace().getRoot().getProject(getContainerFullPath().segment(0));
      IJavaProject javaProject =
          JavaModelManager.getJavaModelManager().getJavaModel().getJavaProject(actualProject);
      IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
      for (int k = 0; k < roots.length; k++) {
        if (roots[k].getKind() == IPackageFragmentRoot.K_SOURCE) {
          IJavaElement[] children = roots[k].getChildren();
          for (int i = 0; i < children.length; i++) {
            packagesList.add(children[i]);
          }
        }
      }
    } catch (JavaModelException e) {
      // JTourBusPlugin.log(e);
      e.printStackTrace();
    }
    IJavaElement[] packages = packagesList.toArray(new IJavaElement[packagesList.size()]);

    ElementListSelectionDialog dialog =
        new ElementListSelectionDialog(
            getShell(), new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title);
    dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description);
    dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty);
    dialog.setFilter(_packageDialogField.getText());
    dialog.setElements(packages);
    if (dialog.open() == Window.OK) {
      return (IPackageFragment) dialog.getFirstResult();
    }
    return null;
  }