package org.jabref.gui.groups;
import javax.swing.JTree;
import javax.swing.ToolTipManager;
import javax.swing.tree.TreeSelectionModel;
public class GroupsTree extends JTree {
private final GroupTreeCellRenderer localCellRenderer = new GroupTreeCellRenderer();
/**
* @param groupSelector the parent UI component
*/
public GroupsTree(GroupSelector groupSelector) {
setCellRenderer(localCellRenderer);
setFocusable(false);
setToggleClickCount(0);
ToolTipManager.sharedInstance().registerComponent(this);
setShowsRootHandles(false);
getSelectionModel().setSelectionMode(
TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
this.setFocusable(true);
}
/** Highlights the specified cell or disables highlight if cell == null */
public void setHighlightBorderCell(GroupTreeNodeViewModel node) {
localCellRenderer.setHighlightBorderCell(node);
repaint();
}
/** Sort immediate children of the specified node alphabetically. */
public void sort(GroupTreeNodeViewModel node, boolean recursive) {
node.sortChildrenByName(recursive);
}
}