Пример #1
0
  /** Post a notification of a menu going to be display */
  void postMenuItem(Object attachedObject, JMenuItem onThisItem) {
    if (currentMenuGen == null) return;

    if (attachedObject == null) {
      // Only BPackages can be null when a menu is invoked
      currentMenuGen.notifyPostToolsMenu(null, onThisItem);
      return;
    }

    if (attachedObject instanceof Package) {
      Package attachedPkg = (Package) attachedObject;
      Identifier anId = new Identifier(attachedPkg.getProject(), attachedPkg);
      currentMenuGen.notifyPostToolsMenu(new BPackage(anId), onThisItem);
    }

    if (attachedObject instanceof ClassTarget) {
      ClassTarget aTarget = (ClassTarget) attachedObject;
      String qualifiedClassName = aTarget.getQualifiedName();
      Package attachedPkg = aTarget.getPackage();
      Identifier anId = new Identifier(attachedPkg.getProject(), attachedPkg, qualifiedClassName);
      currentMenuGen.notifyPostClassMenu(new BClass(anId), onThisItem);
    }

    if (attachedObject instanceof ObjectWrapper) {
      ObjectWrapper aWrapper = (ObjectWrapper) attachedObject;
      currentMenuGen.notifyPostObjectMenu(new BObject(aWrapper), onThisItem);
    }
  }