MCPcopy Create free account
hub / github.com/rambaut/figtree / FigTreePanel

Class FigTreePanel

src/figtree/application/FigTreePanel.java:47–239  ·  view source on GitHub ↗

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$

Source from the content-addressed store, hash-verified

45 * $LastChangedRevision$
46 */
47public 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) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…