// todo: will work bad e.g. if operating with project data from modules pool public MPSTreeNode findNextTreeNode(SModel modelDescriptor) { SModelTreeNode sModelNode = findMostSuitableModelTreeNode(modelDescriptor); if (sModelNode == null) return null; DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) sModelNode.getParent(); TreeNode result = parentNode.getChildAfter(sModelNode); if (result == null) result = parentNode.getChildBefore(sModelNode); if (result == null) result = parentNode; return (MPSTreeNode) result; }
// todo: will work bad e.g. if operating with project data from modules pool public MPSTreeNode findNextTreeNode(SNode node) { MPSTreeNode foundNode = findMostSuitableSNodeTreeNode(node); if (foundNode == null) return null; DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) foundNode.getParent(); TreeNode result = parentNode.getChildAfter(foundNode); if (result == null) result = parentNode.getChildBefore(foundNode); if (result == null) result = parentNode; return (MPSTreeNode) result; }