コード例 #1
0
ファイル: NewActionProvider.java プロジェクト: eclipse/cdo
  @Override
  public void fillContextMenu(IMenuManager menu) {
    if (viewer == null) {
      return;
    }

    CDOCheckout checkout = CDOExplorerUtil.getCheckout(selectedObject);
    if (checkout == null || checkout.isReadOnly()) {
      return;
    }

    IMenuManager submenu = new MenuManager("&New", NEW_MENU_NAME);

    fillNewWizardActions(submenu);

    if (selectedObject instanceof CDOResource) {
      CDOResource resource = (CDOResource) selectedObject;
      if (!resource.isRoot()) {
        fillNewRootActions(submenu, checkout, resource);

        submenu.add(new Separator());
        submenu.add(new NewRootOtherAction(resource, checkout));
        submenu.add(new Separator());
      }
    } else if (selectedObject instanceof CDOResourceNode) {
      // Do nothing. CDOResourceFolder contributions have already been added by
      // newWizardActionGroup.
    } else if (selectedObject instanceof EObject) {
      fillNewChildActions(submenu, checkout, (EObject) selectedObject);
    }

    submenu.add(new Separator(ICommonMenuConstants.GROUP_ADDITIONS));

    // Append the submenu after the GROUP_NEW group.
    menu.insertAfter(ICommonMenuConstants.GROUP_NEW, submenu);
  }