mirror of https://github.com/zlatinb/muwire
fix tree renderer for collection trees
parent
531def2a14
commit
c27a09473f
|
@ -7,6 +7,7 @@ class PathTree {
|
||||||
final PathNode root
|
final PathNode root
|
||||||
PathTree(String root) {
|
PathTree(String root) {
|
||||||
this.root = new PathNode(root, null)
|
this.root = new PathNode(root, null)
|
||||||
|
this.root.setUserObject(root)
|
||||||
keyToNode.put(this.root.key(), this.root)
|
keyToNode.put(this.root.key(), this.root)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,7 @@ class CollectionTabView {
|
||||||
borderLayout()
|
borderLayout()
|
||||||
scrollPane(constraints : BorderLayout.CENTER, border : etchedBorder()) {
|
scrollPane(constraints : BorderLayout.CENTER, border : etchedBorder()) {
|
||||||
itemsTree = new JTree(model.fileTreeModel)
|
itemsTree = new JTree(model.fileTreeModel)
|
||||||
|
itemsTree.setCellRenderer(new PathTreeRenderer())
|
||||||
tree(rowHeight : rowHeight, rootVisible : true, expandsSelectedPaths : true, itemsTree)
|
tree(rowHeight : rowHeight, rootVisible : true, expandsSelectedPaths : true, itemsTree)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ class CollectionWizardView {
|
||||||
label(text : trans("COLLECTION_REVIEW_TITLE"), constraints : BorderLayout.NORTH)
|
label(text : trans("COLLECTION_REVIEW_TITLE"), constraints : BorderLayout.NORTH)
|
||||||
scrollPane(constraints : BorderLayout.CENTER) {
|
scrollPane(constraints : BorderLayout.CENTER) {
|
||||||
jTree = new JTree(model.tree)
|
jTree = new JTree(model.tree)
|
||||||
// jtree.setCellRenderer(new SharedTreeRenderer()) // TODO: create new renderer
|
jTree.setCellRenderer(new PathTreeRenderer())
|
||||||
tree(id : "preview-tree", rowHeight : rowHeight, rootVisible : true, expandsSelectedPaths : true, jTree)
|
tree(id : "preview-tree", rowHeight : rowHeight, rootVisible : true, expandsSelectedPaths : true, jTree)
|
||||||
}
|
}
|
||||||
panel(constraints : BorderLayout.SOUTH) {
|
panel(constraints : BorderLayout.SOUTH) {
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.muwire.gui
|
||||||
|
|
||||||
|
import java.awt.Component
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon
|
||||||
|
import javax.swing.JTree
|
||||||
|
import javax.swing.tree.DefaultTreeCellRenderer
|
||||||
|
|
||||||
|
import com.muwire.core.collections.FileCollectionItem
|
||||||
|
|
||||||
|
class PathTreeRenderer extends DefaultTreeCellRenderer {
|
||||||
|
|
||||||
|
private final ImageIcon commentIcon
|
||||||
|
|
||||||
|
public PathTreeRenderer() {
|
||||||
|
commentIcon = new ImageIcon((URL) PathTreeRenderer.class.getResource("/comment.png"))
|
||||||
|
}
|
||||||
|
|
||||||
|
public Component getTreeCellRendererComponent(JTree tree, Object value,
|
||||||
|
boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
|
||||||
|
def userObject = value.getUserObject()
|
||||||
|
|
||||||
|
def defaultRenderer = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus)
|
||||||
|
if (userObject == null || userObject instanceof String) {
|
||||||
|
return defaultRenderer
|
||||||
|
}
|
||||||
|
|
||||||
|
FileCollectionItem item = (FileCollectionItem) userObject
|
||||||
|
String fileName = item.pathElements.get(item.pathElements.size() - 1)
|
||||||
|
setText(fileName)
|
||||||
|
setEnabled(true)
|
||||||
|
if (item.comment != "" && item.comment != null) {
|
||||||
|
setIcon(commentIcon)
|
||||||
|
}
|
||||||
|
|
||||||
|
this
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue