visualize the negative tree as well

pull/24/head
Zlatin Balevsky 2019-11-02 12:54:43 +00:00
parent f6d2bac5bb
commit 568255140f
3 changed files with 24 additions and 3 deletions

View File

@ -45,7 +45,7 @@ class FileTree {
true
}
private static class TreeNode {
public static class TreeNode {
TreeNode parent
File file
final Set<TreeNode> children = new HashSet<>()

View File

@ -1,6 +1,11 @@
package com.muwire.gui
import javax.swing.tree.DefaultMutableTreeNode
import javax.swing.tree.DefaultTreeModel
import javax.swing.tree.MutableTreeNode
import com.muwire.core.Core
import com.muwire.core.files.FileTree
import griffon.core.artifact.GriffonModel
import griffon.transform.Observable
@ -9,12 +14,26 @@ import griffon.metadata.ArtifactProviderFor
@ArtifactProviderFor(GriffonModel)
class AdvancedSharingModel {
def watchedDirectories = []
def treeRoot
def negativeTree
Core core
void mvcGroupInit(Map<String,String> args) {
watchedDirectories.addAll(core.muOptions.watchedDirectories)
// view.watchedDirsTable.model.fireTableDataChanged()
treeRoot = new DefaultMutableTreeNode()
negativeTree = new DefaultTreeModel(treeRoot)
copyTree(treeRoot, core.fileManager.negativeTree.root)
}
private void copyTree(DefaultMutableTreeNode jtreeNode, FileTree.TreeNode fileTreeNode) {
jtreeNode.setUserObject(fileTreeNode.file?.getName())
fileTreeNode.children.each {
MutableTreeNode newChild = new DefaultMutableTreeNode()
jtreeNode.add(newChild)
copyTree(newChild, it)
}
}
}

View File

@ -6,6 +6,7 @@ import griffon.metadata.ArtifactProviderFor
import javax.swing.JDialog
import javax.swing.JTabbedPane
import javax.swing.JTree
import javax.swing.SwingConstants
import java.awt.BorderLayout
@ -53,7 +54,8 @@ class AdvancedSharingView {
label(text : "Files which are explicitly not shared")
}
scrollPane( constraints : BorderLayout.CENTER ) {
// add tree here
def jtree = new JTree(model.negativeTree)
tree(rootVisible : false, jtree)
}
}
}