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
|
||||
PathTree(String root) {
|
||||
this.root = new PathNode(root, null)
|
||||
this.root.setUserObject(root)
|
||||
keyToNode.put(this.root.key(), this.root)
|
||||
}
|
||||
|
||||
|
|
|
@ -98,6 +98,7 @@ class CollectionTabView {
|
|||
borderLayout()
|
||||
scrollPane(constraints : BorderLayout.CENTER, border : etchedBorder()) {
|
||||
itemsTree = new JTree(model.fileTreeModel)
|
||||
itemsTree.setCellRenderer(new PathTreeRenderer())
|
||||
tree(rowHeight : rowHeight, rootVisible : true, expandsSelectedPaths : true, itemsTree)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ class CollectionWizardView {
|
|||
label(text : trans("COLLECTION_REVIEW_TITLE"), constraints : BorderLayout.NORTH)
|
||||
scrollPane(constraints : BorderLayout.CENTER) {
|
||||
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)
|
||||
}
|
||||
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