use of org.olat.core.gui.components.tree.TreeNode in project OpenOLAT by OpenOLAT.
the class NavigationHandler method reattachExternalTreeModels.
private void reattachExternalTreeModels(TreeEvaluation treeEval) {
if (externalTreeModels == null || externalTreeModels.isEmpty())
return;
for (Map.Entry<String, SubTree> entry : externalTreeModels.entrySet()) {
String courseNodeId = entry.getKey();
SubTree subTree = entry.getValue();
TreeModel treeModel = subTree.getTreeModel();
CourseNode courseNode = userCourseEnv.getCourseEnvironment().getRunStructure().getNode(courseNodeId);
TreeNode treeNode = treeEval.getCorrespondingTreeNode(courseNode);
if (treeNode != null) {
addSubTreeModel(treeNode, treeModel);
}
}
}
use of org.olat.core.gui.components.tree.TreeNode in project OpenOLAT by OpenOLAT.
the class RunMainController method event.
/**
* @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
* org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event)
*/
@Override
public void event(UserRequest ureq, Controller source, Event event) {
if (needsRebuildAfter) {
currentCourseNode = updateAfterChanges(currentCourseNode);
needsRebuildAfter = false;
}
if (source == currentNodeController) {
if (event instanceof OlatCmdEvent) {
OlatCmdEvent oe = (OlatCmdEvent) event;
String cmd = oe.getCommand();
if (OlatCmdEvent.GOTONODE_CMD.equals(cmd)) {
// "69680861018558/node-specific-data";
String subcmd = oe.getSubcommand();
CourseNode identNode;
String nodecmd = null;
int slPos = subcmd.indexOf('/');
if (slPos != -1) {
nodecmd = subcmd.substring(slPos + 1);
identNode = course.getRunStructure().getNode(subcmd.substring(0, slPos));
} else {
identNode = course.getRunStructure().getNode(subcmd);
}
if (identNode == null) {
showWarning("msg.nodenotavailableanymore");
} else {
addLoggingResourceable(LoggingResourceable.wrap(identNode));
currentCourseNode = identNode;
updateTreeAndContent(ureq, identNode, nodecmd);
oe.accept();
}
}
} else if (event == Event.DONE_EVENT) {
// preconditions may have changed
if (needsRebuildAfterRunDone) {
needsRebuildAfterRunDone = false;
updateTreeAndContent(ureq, currentCourseNode, null);
}
} else if (REBUILD.equals(event.getCommand())) {
needsRebuildAfterRunDone = false;
updateTreeAndContent(ureq, currentCourseNode, null);
} else if (event instanceof TreeNodeEvent) {
TreeNodeEvent tne = (TreeNodeEvent) event;
TreeNode newCpTreeNode = tne.getChosenTreeNode();
luTree.setSelectedNodeId(newCpTreeNode.getIdent());
} else if (event == Event.CHANGED_EVENT) {
updateTreeAndContent(ureq, currentCourseNode, null);
} else if (event instanceof BusinessGroupModifiedEvent) {
fireEvent(ureq, event);
updateTreeAndContent(ureq, currentCourseNode, null);
}
}
}
use of org.olat.core.gui.components.tree.TreeNode in project OpenOLAT by OpenOLAT.
the class RunMainController method doPrevious.
private void doPrevious(UserRequest ureq) {
List<TreeNode> flatList = new ArrayList<>();
TreeNode currentNode = luTree.getSelectedNode();
TreeHelper.makeTreeFlat(luTree.getTreeModel().getRootNode(), flatList);
int index = flatList.indexOf(currentNode);
if (index - 1 >= 0 && index - 1 < flatList.size()) {
TreeNode previousNode = flatList.get(index - 1);
TreeEvent tev = new TreeEvent(MenuTree.COMMAND_TREENODE_CLICKED, previousNode.getIdent());
doNodeClick(ureq, tev);
}
}
use of org.olat.core.gui.components.tree.TreeNode in project OpenOLAT by OpenOLAT.
the class NodeEvaluation method addNodeEvaluationChild.
public void addNodeEvaluationChild(NodeEvaluation chdNodeEval) {
addChild(chdNodeEval);
TreeNode chTn = chdNodeEval.getTreeNode();
gtn.addChild(chTn);
}
use of org.olat.core.gui.components.tree.TreeNode in project OpenOLAT by OpenOLAT.
the class EditorMainController method doOpenNodeTypeChooser.
private void doOpenNodeTypeChooser(UserRequest ureq) {
removeAsListenerAndDispose(cmc);
removeAsListenerAndDispose(chooseNodeTypeCtr);
menuTree.getSelectedNode();
TreeNode tn = menuTree.getSelectedNode();
CourseEditorTreeNode cetn = tn == null ? null : cetm.getCourseEditorNodeById(tn.getIdent());
chooseNodeTypeCtr = new ChooseNodeController(ureq, getWindowControl(), ores, cetn);
listenTo(chooseNodeTypeCtr);
cmc = new CloseableModalController(getWindowControl(), translate("close"), chooseNodeTypeCtr.getInitialComponent(), true, translate("header.insertnodes"));
listenTo(cmc);
cmc.activate();
}
Aggregations