Exemple #1
0
  public Object getChild(Object parent, int index) {
    UDOCategory category = (UDOCategory) parent;

    if (category == null) {
      return null;
    }

    if (index >= category.getSubCategories().size()) {
      return category.getUserDefinedOpcodes().get(index - category.getSubCategories().size());
    }

    return category.getSubCategories().get(index);
  }
Exemple #2
0
  private UDOCategory findParent(UDOCategory cat, Object obj) {

    if (ListUtil.containsByRef(cat.getUserDefinedOpcodes(), obj)
        || ListUtil.containsByRef(cat.getSubCategories(), obj)) {
      return cat;
    }

    for (Iterator iter = cat.getSubCategories().iterator(); iter.hasNext(); ) {
      UDOCategory c = (UDOCategory) iter.next();

      UDOCategory temp = findParent(c, obj);

      if (temp != null) {
        return temp;
      }
    }

    return null;
  }
Exemple #3
0
  /*
   * (non-Javadoc)
   *
   * @see javax.swing.tree.TreeModel#getChildCount(java.lang.Object)
   */
  public int getChildCount(Object parent) {
    if (parent instanceof UserDefinedOpcode) {
      return 0;
    } else if (parent instanceof UDOCategory) {
      UDOCategory cat = (UDOCategory) parent;
      return cat.getSubCategories().size() + cat.getUserDefinedOpcodes().size();
    }

    return 0;
  }
Exemple #4
0
  public int getIndexOfChild(Object parent, Object child) {
    UDOCategory category = (UDOCategory) parent;

    if (category == null || child == null) {
      return -1;
    }

    int retVal = ListUtil.indexOfByRef(category.getSubCategories(), child);

    if (retVal >= 0) {
      return retVal;
    }

    retVal = ListUtil.indexOfByRef(category.getUserDefinedOpcodes(), child);

    if (retVal >= 0) {
      return retVal + category.getSubCategories().size();
    }

    return -1;
  }
Exemple #5
0
  private Object getPathForObject(UDOCategory current, Object obj, Vector v) {

    if (current == obj) {
      return v;
    }

    if (ListUtil.containsByRef(current.getUserDefinedOpcodes(), obj)) {
      v.add(current);
      return v;
    }

    for (Iterator iter = current.getSubCategories().iterator(); iter.hasNext(); ) {
      UDOCategory cat = (UDOCategory) iter.next();
      Object pathObj = getPathForObject(cat, obj, v);
      if (pathObj != null) {
        v.add(current);
        return v;
      }
    }

    return null;
  }