Пример #1
0
  RandomTree(TreePanel treePnl) {
    this.treePnl = treePnl;

    randomizeTree();
    treePnl.setRootNode(null);
    buildRandomTree(0, treePnl.getNodesCount());
    updateTree();
  }
Пример #2
0
  void buildRandomTree(int i, int nodesCount) {

    treePnl.setRootNode(treePnl.getRandomNode(generated[0]));

    BSTFind find = new BSTFind(treePnl.getRootNode(), treePnl.getRootNode().getValue(), treePnl);

    BSTInsert insert = new BSTInsert(treePnl.getTree(), treePnl.getRootNode().getValue(), treePnl);

    for (int x = 1; x < nodesCount; x++) {
      find.FindBT(treePnl.getRandomNode(generated[x]).getValue(), treePnl.getRootNode());

      if (!find.isFound()) {
        insert.Insert(treePnl.getRandomNode(generated[x]).getValue(), treePnl.getRootNode());
        insert.resetPathCount();
      }
    }
  }
Пример #3
0
  void updateTree() {
    treePnl.RemoveAll();

    treePnl.RefreshTree(treePnl.getRootNode());
    treePnl.UpdateDepth(treePnl.getRootNode());
    treePnl.UpdateTreeFigure(treePnl.getRootNode(), 0, 0);
    treePnl.repaint();
  }
Пример #4
0
  public void run() {
    Controller controller = Controller.getController();
    try {
      String ST_OPENING_FILE = controller.getMsgString("ST_OPENING_FILE");
      controller.setStatusMessage(ST_OPENING_FILE);
      try {
        Thread.sleep(10);
      } catch (Exception e) {
        e.printStackTrace();
      }
      controller.setWaitCursors();

      TreeGrowXMLReader xUtil = new TreeGrowXMLReader(m_FileName, true);
      controller.setEditableContributors(new Vector(xUtil.getEditableContributors()));
      xUtil.gatherContent();

      String treeString = xUtil.getTreeStructure();

      ArrayList actualNodes = new ArrayList();
      ArrayList terminalChildrenNodes = new ArrayList();
      Iterator it = xUtil.getNodeList().iterator();
      while (it.hasNext()) {
        Node node = (Node) it.next();
        if (treeString.indexOf("" + node.getId()) != -1) {
          actualNodes.add(node);
        } else {
          terminalChildrenNodes.add(node);
        }
      }
      Tree tree = xUtil.getTree();
      controller.openTreeEditor(tree);
      controller.getTree().setImages(xUtil.getImageList());
      if (prevUploadId != -1) {
        controller.setUploadId(prevUploadId);
      }
      controller.setDefaultCursors();
      controller.getTreeEditor().setToolbarEnabled();
      it = tree.getNodeList().iterator();
      while (it.hasNext()) {
        Node node = (Node) it.next();
        TreePanel.getTreePanel().setNodeComplete(node);
      }
      it = tree.getImages().iterator();
      while (it.hasNext()) {
        NodeImage img = (NodeImage) it.next();
        img.initializeThumbnail();
      }
      controller.setDownloadComplete(true);
    } catch (Exception error) {
      error.printStackTrace();
      controller.setDefaultCursors();
    }
  }
  public HierarchicalChooser(
      Project project,
      String entityType,
      boolean hideRoot,
      boolean multiple,
      boolean idSelection,
      final boolean acceptEmpty,
      HierarchicalEntityModel treeModel) {
    super(project, entityType, multiple, acceptEmpty);

    if (treeModel == null) {
      this.treeModel = project.getComponent(HierarchicalModelFactory.class).createModel(entityType);
    } else {
      this.treeModel = treeModel;
    }
    treePanel = new TreePanel(project, this.treeModel);
    if (multiple && !idSelection) {
      treePanel
          .getTree()
          .getSelectionModel()
          .addTreeSelectionListener(new AppendingTreeListener(valueField, entityType));
    } else if (!multiple && !idSelection) {
      treePanel
          .getTree()
          .getSelectionModel()
          .addTreeSelectionListener(new FollowTreeListener(valueField, entityType));
    } else if (!multiple) {
      treePanel
          .getTree()
          .getSelectionModel()
          .addTreeSelectionListener(new IdFollowTreeListener(valueField, entityType));
    } else {
      treePanel
          .getTree()
          .getSelectionModel()
          .addTreeSelectionListener(new IdAppendingTreeListener(valueField, entityType));
    }
    treePanel.getTree().setRootVisible(!hideRoot);
    getContentPane().add(treePanel, BorderLayout.CENTER);
  }
  /** Pull collapsed node bak onto the tree */
  public void undo() {
    if (nodeToCollapse != null) {
      NodeGraveyard.getGraveyard().getNode(nodeToCollapse.getId());
    }

    node.getParent().setChildrenChanged(oldParentHasChanged);
    if (node.getParent().getParent() != null) {
      node.getParent().getParent().setChildrenChanged(oldGrandParentHasChanged);
    }
    TreePanel.getTreePanel().getTree().updateTree(oldTreeString);

    updateTreePanel();
  }
Пример #7
0
  void randomizeTree() {
    int index;
    Random r = new Random();

    for (int i = 0; i < treePnl.getNodesCount(); i++) {
      index = r.nextInt(treePnl.getNodesCount());
      generated[i] = index;

      if (i != 0) {
        for (int j = 0; j < i; j++) {
          if (index == generated[j]) {
            i--;
            break;
          }
        }
      }
    }
  }
Пример #8
0
 public TreeNode(TreePanel panel) {
   id = panel.nextNodeId();
   setAttribute("id", id);
 }
 /** Rebuild treepanels to reflect new tree structure */
 public void updateTreePanel() {
   TreePanel treePanel = TreePanel.getTreePanel();
   treePanel.setActiveNode(node);
   TreePanelUpdateManager.getManager().rebuildTreePanels(affectedNodes);
 }
Пример #10
0
  public void layout() {

    _displayPanel.add(new Label("root"));
    _rootPanel.layout(_displayPanel);
  }