visualize the negative tree as well
This commit is contained in:
@@ -45,7 +45,7 @@ class FileTree {
|
|||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class TreeNode {
|
public static class TreeNode {
|
||||||
TreeNode parent
|
TreeNode parent
|
||||||
File file
|
File file
|
||||||
final Set<TreeNode> children = new HashSet<>()
|
final Set<TreeNode> children = new HashSet<>()
|
||||||
|
@@ -1,6 +1,11 @@
|
|||||||
package com.muwire.gui
|
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.Core
|
||||||
|
import com.muwire.core.files.FileTree
|
||||||
|
|
||||||
import griffon.core.artifact.GriffonModel
|
import griffon.core.artifact.GriffonModel
|
||||||
import griffon.transform.Observable
|
import griffon.transform.Observable
|
||||||
@@ -9,12 +14,26 @@ import griffon.metadata.ArtifactProviderFor
|
|||||||
@ArtifactProviderFor(GriffonModel)
|
@ArtifactProviderFor(GriffonModel)
|
||||||
class AdvancedSharingModel {
|
class AdvancedSharingModel {
|
||||||
def watchedDirectories = []
|
def watchedDirectories = []
|
||||||
|
def treeRoot
|
||||||
|
def negativeTree
|
||||||
|
|
||||||
Core core
|
Core core
|
||||||
|
|
||||||
void mvcGroupInit(Map<String,String> args) {
|
void mvcGroupInit(Map<String,String> args) {
|
||||||
watchedDirectories.addAll(core.muOptions.watchedDirectories)
|
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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@@ -6,6 +6,7 @@ import griffon.metadata.ArtifactProviderFor
|
|||||||
|
|
||||||
import javax.swing.JDialog
|
import javax.swing.JDialog
|
||||||
import javax.swing.JTabbedPane
|
import javax.swing.JTabbedPane
|
||||||
|
import javax.swing.JTree
|
||||||
import javax.swing.SwingConstants
|
import javax.swing.SwingConstants
|
||||||
|
|
||||||
import java.awt.BorderLayout
|
import java.awt.BorderLayout
|
||||||
@@ -53,7 +54,8 @@ class AdvancedSharingView {
|
|||||||
label(text : "Files which are explicitly not shared")
|
label(text : "Files which are explicitly not shared")
|
||||||
}
|
}
|
||||||
scrollPane( constraints : BorderLayout.CENTER ) {
|
scrollPane( constraints : BorderLayout.CENTER ) {
|
||||||
// add tree here
|
def jtree = new JTree(model.negativeTree)
|
||||||
|
tree(rootVisible : false, jtree)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user