This is a panel that has a TreeViewer and a BasicControlPalette with the default Controllers and Painters. @author Andrew Rambaut @version $Id$ $HeadURL$ $LastChangedBy$ $LastChangedDate$ $LastChangedRevision$
| 45 | * $LastChangedRevision$ |
| 46 | */ |
| 47 | public class FigTreePanel extends JPanel { |
| 48 | |
| 49 | public final static int CONTROL_PALETTE_WIDTH = 200; |
| 50 | |
| 51 | private final static boolean SEPARATE_NODE_SHAPE_PANELS = true; |
| 52 | |
| 53 | public FigTreePanel(JFrame frame, final ExtendedTreeViewer treeViewer, ControlPalette controlPalette) { |
| 54 | |
| 55 | this.treeViewer = treeViewer; |
| 56 | this.controlPalette = controlPalette; |
| 57 | |
| 58 | // the scrollpane below now has this border |
| 59 | // controlPalette.getPanel().setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, Color.GRAY)); |
| 60 | controlPalette.getPanel().setBackground(new Color(231, 237, 246)); |
| 61 | controlPalette.getPanel().setOpaque(true); |
| 62 | |
| 63 | treeViewerController = new TreeViewerController(treeViewer); |
| 64 | controlPalette.addController(treeViewerController); |
| 65 | |
| 66 | controlPalette.addController(new MultipleTreesController(treeViewer)); |
| 67 | |
| 68 | // This controller handles reading/writing of attribute colour schemes but doesn't presently |
| 69 | // show any UI |
| 70 | AttributeColourController attributeColourController = new AttributeColourController(treeViewer, frame); |
| 71 | controlPalette.addController(attributeColourController); |
| 72 | |
| 73 | controlPalette.addController(new TreeAppearanceController(treeViewer, frame, attributeColourController)); |
| 74 | |
| 75 | treesController = new TreesController(treeViewer); |
| 76 | controlPalette.addController(treesController); |
| 77 | |
| 78 | controlPalette.addController(new TimeScaleController(treeViewer)); |
| 79 | |
| 80 | // Create a tip label painter and its controller |
| 81 | final BasicLabelPainter tipLabelPainter = new BasicLabelPainter(BasicLabelPainter.PainterIntent.TIP); |
| 82 | controlPalette.addController(new LabelPainterController("Tip Labels", "tipLabels", tipLabelPainter, frame, attributeColourController, treeViewer)); |
| 83 | treeViewer.setTipLabelPainter(tipLabelPainter); |
| 84 | |
| 85 | // Create a node shape painter and its controller |
| 86 | if (SEPARATE_NODE_SHAPE_PANELS) { |
| 87 | final NodeShapePainter tipNodeShapePainter = new NodeShapePainter(); |
| 88 | tipNodeShapePainter.setVisible(false); |
| 89 | controlPalette.addController(new NodeShapeController("Tip Shapes", NodeShapeController.NodeType.EXTERNAL, tipNodeShapePainter, attributeColourController, treeViewer)); |
| 90 | treeViewer.setTipShapePainter(tipNodeShapePainter); |
| 91 | } |
| 92 | // Create a node label painter and its controller |
| 93 | final BasicLabelPainter nodeLabelPainter = new BasicLabelPainter(BasicLabelPainter.PainterIntent.NODE); |
| 94 | nodeLabelPainter.setVisible(false); |
| 95 | controlPalette.addController(new LabelPainterController("Node Labels", "nodeLabels", nodeLabelPainter, frame, attributeColourController, treeViewer)); |
| 96 | treeViewer.setNodeLabelPainter(nodeLabelPainter); |
| 97 | |
| 98 | // Create a node shape painter and its controller |
| 99 | final NodeShapePainter nodeShapePainter = new NodeShapePainter(); |
| 100 | nodeShapePainter.setVisible(false); |
| 101 | controlPalette.addController(new NodeShapeController("Node Shapes", |
| 102 | (SEPARATE_NODE_SHAPE_PANELS ? NodeShapeController.NodeType.INTERNAL : NodeShapeController.NodeType.BOTH), |
| 103 | nodeShapePainter, attributeColourController, treeViewer)); |
| 104 | if (!SEPARATE_NODE_SHAPE_PANELS) { |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…