1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package de.jaret.examples.timebars.hierarchy.swing;
21
22 import java.awt.BorderLayout;
23
24 import javax.swing.JFrame;
25
26 import de.jaret.examples.timebars.hierarchy.model.ModelCreator;
27 import de.jaret.examples.timebars.pdi.swing.ControlPanel1;
28 import de.jaret.util.date.JaretDate;
29 import de.jaret.util.ui.timebars.TimeBarMarkerImpl;
30 import de.jaret.util.ui.timebars.mod.DefaultIntervalModificator;
31 import de.jaret.util.ui.timebars.model.AddingTimeBarRowModel;
32 import de.jaret.util.ui.timebars.model.HierarchicalTimeBarModel;
33 import de.jaret.util.ui.timebars.model.TimeBarNode;
34 import de.jaret.util.ui.timebars.swing.TimeBarViewer;
35 import de.jaret.util.ui.timebars.swing.renderer.DefaultHierarchyRenderer;
36 import de.jaret.util.ui.timebars.swing.renderer.DefaultRelationRenderer;
37 import de.jaret.util.ui.timebars.swing.renderer.DefaultTitleRenderer;
38
39 /***
40 * Simple hierarchical view Swing version. Scaling, manipulating the intervals, tree structure, draggable marker.
41 *
42 * @author Peter Kliem
43 * @version $Id: SwingHierarchy.java 798 2008-12-27 21:51:27Z kliem $
44 */
45 public class SwingHierarchy {
46
47 public static void main(String[] args) {
48
49 JFrame f = new JFrame(SwingHierarchy.class.getName());
50 f.setSize(1000, 600);
51 f.getContentPane().setLayout(new BorderLayout());
52 f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
53
54
55 HierarchicalTimeBarModel model = ModelCreator.createModel(2, 5);
56
57 TimeBarViewer _tbv = new TimeBarViewer();
58 _tbv.setName("Hierarchy");
59 _tbv.setModel(model);
60 _tbv.setTimeScalePosition(TimeBarViewer.TIMESCALE_POSITION_TOP);
61 _tbv.setHierarchyRenderer(new DefaultHierarchyRenderer());
62 _tbv.setHierarchyWidth(100);
63 _tbv.setYAxisWidth(100);
64
65 _tbv.addIntervalModificator(new DefaultIntervalModificator());
66
67
68 _tbv.registerTimeBarRenderer(AddingTimeBarRowModel.MergedInterval.class, new SumRenderer());
69
70
71 _tbv.setTitleRenderer(new DefaultTitleRenderer());
72
73
74 _tbv.setRelationRenderer(new DefaultRelationRenderer());
75
76
77
78
79 TimeBarMarkerImpl tm = new TimeBarMarkerImpl(true, new JaretDate().advanceDays(1));
80 tm.setDescription("Timebarmarker");
81 _tbv.addMarker(tm);
82
83 f.getContentPane().add(_tbv, BorderLayout.CENTER);
84
85
86 TimeBarNode root = model.getRootNode();
87 _tbv.getHierarchicalViewState().setExpandedRecursive(root, true);
88
89
90
91
92 ControlPanel1 cp = new ControlPanel1(_tbv, null, true);
93 f.getContentPane().add(cp, BorderLayout.NORTH);
94
95 f.setVisible(true);
96 }
97 }