Package org.olat.core.gui.components.tree

Examples of org.olat.core.gui.components.tree.GenericTreeNode


    if (node.getUserObject() == null) { throw new AssertException(
        "GenericTreeNode to append/prepend needs to have a UserObject set! Please use setUserObject()."); }
  }

  private TreeModel buildTreeModel() {
    GenericTreeNode gtnChild, rootTreeNode;
    Translator translator = getTranslator();

    GenericTreeModel gtm = new GenericTreeModel();
    rootTreeNode = new GenericTreeNode();
    //there should be i18n key for main.menu.title for the rootNode in package of implementing type
    rootTreeNode.setTitle(translator.translate("main.menu.title"));
    rootTreeNode.setAltText(translator.translate("main.menu.title.alt"));
    gtm.setRootNode(rootTreeNode);

    // Prepend
    boolean rootNodeSet = false;
    if (nodesToPrepend.size() != 0) {
      for (GenericTreeNode node : nodesToPrepend) {
        rootTreeNode.addChild(node);
        if (!rootNodeSet) {
          rootTreeNode.setDelegate(node);
          rootTreeNode.setUserObject(node.getUserObject());
          rootNodeSet = true;
        }
      }
    }

    // add extension menues
    ExtManager extm = ExtManager.getInstance();
    int cnt = extm.getExtensionCnt();
    int j = 0;
    for (int i = 0; i < cnt; i++) {
      Extension anExt = extm.getExtension(i);
      // check for sites
      GenericActionExtension ae = (GenericActionExtension) anExt.getExtensionFor(className);
      if (ae != null) {
        gtnChild = new GenericTreeNode();
        String menuText = ae.getActionText(getLocale());
        gtnChild.setTitle(menuText);
        gtnChild.setAltText(ae.getDescription(getLocale()));
        gtnChild.setUserObject(ae);
        // load first child on root node
        if (j == 0 && !rootNodeSet) {
          rootTreeNode.setDelegate(gtnChild);
          rootTreeNode.setUserObject(ae);
        } else {
View Full Code Here


    if (comparator != null) {
      Collections.sort(children, comparator);
    }
    for (OlatRelPathImpl child : castToRelPathItems(children)) {
      // create a node for each child and add it
      GenericTreeNode childNode = createNode(child);
      node.addChild(childNode);
      if (child instanceof OlatRootFolderImpl) {
        // add the child's children recursively
        makeChildren(childNode, (OlatRootFolderImpl) child);
      }
View Full Code Here

   * the relative path.
   *
   * @param item
   */
  private GenericTreeNode createNode(OlatRelPathImpl item) {
    GenericTreeNode node = new GenericTreeNode();
    MetaInfo meta = MetaInfoFactory.createMetaInfoFor(item);
    if (meta != null) {
      String title = meta.getTitle();
      if (StringHelper.containsNonWhitespace(title)) {
        node.setTitle(title);
      } else {
        node.setTitle(meta.getName());
      }
    } else {
      // TODO:GW log warning that
      // "metadate couldn't be loaded for folder relpath: " +
      // folder.getRelPath();
    }
    node.setUserObject(item.getRelPath());
    return node;
  }
View Full Code Here

    this.foldersOnly = foldersOnly;
    this.selectableFiles = selectableFiles;
    this.selectableFolders = selectableFolders;
    this.fileFilter = fileFilter;

    GenericTreeNode newRoot = new GenericTreeNode(rootContainer.getName(), rootContainer.getName());
    newRoot.setIconCssClass("b_filetype_folder");
    setRootNode(newRoot);
    if (allowRootFolderSelect) { // include root folder as selection
      GenericTreeNode effectiveRoot = new GenericTreeNode("/", "/");
      newRoot.addChild(effectiveRoot);
      buildTree(effectiveRoot, rootContainer, "/");
    } else {
      buildTree(getRootNode(), rootContainer, "/");
    }
View Full Code Here

      VFSItem child = (VFSItem) iter.next();
      String childName = child.getName();
      if (child instanceof VFSContainer) {
        // container node
        String filePath = parentPath + childName + "/";
        GenericTreeNode tChild = new GenericTreeNode(childName, filePath); // filePath is the information to be remembered later
        tChild.setIconCssClass("b_filetype_folder");
        tChild.setAltText(child.getName());
        tChild.setAccessible(selectableFolders ? (child.canWrite() == VFSConstants.YES) : false);
        tParent.addChild(tChild);
        boolean addedChildren = buildTree(tChild, (VFSContainer)child, filePath);
        if (foldersOnly || addedChildren) {
          addedAtLeastOneChild = true;
        } else {
          // this directory does not contain anything usefull, remove it again!
          tParent.remove(tChild);
        }
      } else {
        // leaf node
        if (foldersOnly) continue;
        String filePath = parentPath + childName;
        GenericTreeNode tChild = new GenericTreeNode(childName, filePath);
        String type = FolderHelper.extractFileType(childName, locale);
        if (!FolderHelper.isKnownFileType(type)) { type = "file"; }
        tChild.setIconCssClass("b_filetype_" + type);
        tChild.setAltText(childName);
        tChild.setAccessible(selectableFiles);
        tParent.addChild(tChild);
        addedAtLeastOneChild = true;
      }
    }
    return addedAtLeastOneChild;
View Full Code Here

    
  }
 
  private void  switchToNextOrPreviousSco(Link link) {
    String nextScoId = (String)link.getUserObject();
    GenericTreeNode tn = (GenericTreeNode) treeModel.getNodeByScormItemId(nextScoId);
    menuTree.setSelectedNodeId(tn.getIdent());
    iframectr.getInitialComponent().setVisible(true);
    String identifierRes = (String) tn.getUserObject();
    updateNextPreviousButtons(nextScoId);
    displayMessages(nextScoId, identifierRes);
    updateMenuTreeIconsAndMessages();
  }
View Full Code Here

   */
  public void switchToPage(TreeEvent te) {

    // switch to the new page
    String nodeId = te.getNodeId();
    GenericTreeNode tn = (GenericTreeNode) treeModel.getNodeById(nodeId);

    // if (!tn.isAccessible()) {
    if (te.getCommand().equals(MenuTree.COMMAND_TREENODE_EXPANDED)) {
      iframectr.getInitialComponent().setVisible(false);
    } else {
      iframectr.getInitialComponent().setVisible(true);
      String scormId = String.valueOf(treeModel.lookupScormNodeId(tn));
      updateNextPreviousButtons(scormId);
      displayMessages(scormId, (String) tn.getUserObject());
    }
    updateMenuTreeIconsAndMessages();
  }
View Full Code Here

    Map idToNode = treeModel.getScormIdToNodeRelation();
    // loop through all nodes and set the icon according to the packageSco item
    // status
    for (Iterator it = itemsStat.keySet().iterator(); it.hasNext();) {
      String itemId = (String) it.next();
      GenericTreeNode tn = (GenericTreeNode) idToNode.get(itemId);
      // change icon decorator
      tn.setIconDecorator1CssClass("o_scorm_" + (String) itemsStat.get(itemId));
    }
  }
View Full Code Here

    List organizations = new LinkedList();
    organizations = meta.selectNodes(rootElement);
    if (organizations.isEmpty()) {
      throw new AssertException("could not find element organization");
    }
    GenericTreeNode gtn = buildTreeNodes(organizations);
    setRootNode(gtn);
    rootElement = null; // help gc
    resources = null;
  }
View Full Code Here

  public TreeNode lookupTreeNodeByHref(String href) {
    return (TreeNode) hrefToTreeNode.get(href);
  }

  private GenericTreeNode buildTreeNodes(List organizations) {
    GenericTreeNode gtn = new GenericTreeNode();
    // 0 is a valid index since List is testet be be not empty above
    String rootNode = ((Element)organizations.get(0)).getParent().elementText("default");
    // if only one organization avoid too much hierarchy levels...
    if (organizations.size() == 1) {
      return buildNode((Element)organizations.get(0));
    }
    // FIXME: localize "Content:"
    gtn.setTitle((rootNode == null) ? "Content:" : rootNode);
    gtn.setIconCssClass("o_scorm_org");
    gtn.setAccessible(false);
   
    for (int i = 0; i < organizations.size(); ++i) {
      GenericTreeNode gtnchild = buildNode((Element)organizations.get(i));
      gtn.addChild(gtnchild);
    }
    return gtn;
  }
View Full Code Here

TOP

Related Classes of org.olat.core.gui.components.tree.GenericTreeNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.