private void refreshTree(TreeNode node) { int childCount = node.getChildCount(); for (int i = 0; i < childCount; i++) { if (!node.isChildLeaf(i) && node.isChildOpen(i)) { node.setChildOpen(i, false); TreeNode child = node.setChildOpen(i, true); if (child != null) { refreshTree(child); } } } }
private boolean openNode(TreeNode node, TreePlace place) { int childCount = node.getChildCount(); for (int i = 0; i < childCount; i++) { if (node.getChildValue(i).equals(place)) { //node.setChildOpen(i, true, true); return true; } else if (!node.isChildLeaf(i)) { boolean wasOpen = node.isChildOpen(i); TreeNode child = node.setChildOpen(i, true); if (child != null && openNode(child, place)) { return true; } else if (!wasOpen) { node.setChildOpen(i, false); } } } return false; }
void toggleComposerOpen(Composer composer) { int index = composers.indexOf(composer); TreeNode rootTreeNode = tree.getRootTreeNode(); rootTreeNode.setChildOpen(index, !rootTreeNode.isChildOpen(index)); } void togglePlaylistOpen(Playlist playlist) { Composer composer = playlist.getComposer(); TreeNode composerTreeNode = getTreeNode(composer); int index = composer.getPlaylist().indexOf(playlist); composer.setChildOpen(index, !composer.isChildOpen(index)); } private void TreeNode getTreeNode(Composer composer) { int index = composers.indexOf(composer); return tree.getRootTreeNode().setChildOpen(index, true); }