1 package de.jaret.examples.timebars.scheduling.swing.renderer;
2
3 import java.awt.Color;
4 import java.awt.Rectangle;
5
6 import javax.swing.JButton;
7 import javax.swing.JComponent;
8
9 import de.jaret.examples.timebars.scheduling.model.Job;
10 import de.jaret.util.date.Interval;
11 import de.jaret.util.ui.timebars.TimeBarViewerDelegate;
12 import de.jaret.util.ui.timebars.swing.TimeBarViewer;
13 import de.jaret.util.ui.timebars.swing.renderer.TimeBarRenderer;
14
15 public class JobRenderer implements TimeBarRenderer {
16 /*** component used for rendering. */
17 protected JButton _component = new JButton();
18
19
20 /***
21 * {@inheritDoc}
22 */
23 public JComponent getTimeBarRendererComponent(TimeBarViewer tbv, Interval value, boolean isSelected,
24 boolean overlapping) {
25
26 _component.setText(value.toString());
27 _component.setToolTipText(value.toString());
28
29 Job job = (Job)value;
30 switch (job.getPriority()) {
31 case 0:
32 _component.setBackground(Color.RED);
33 break;
34 case 1:
35 _component.setBackground(Color.ORANGE);
36 break;
37 case 2:
38 _component.setBackground(Color.YELLOW);
39 break;
40 case 3:
41 _component.setBackground(Color.LIGHT_GRAY);
42 break;
43
44 default:
45 break;
46 }
47
48 if (isSelected) {
49 _component.setBackground(Color.BLUE);
50 }
51 return _component;
52 }
53
54 /***
55 * {@inheritDoc} Simple default implementation.
56 */
57 public Rectangle getPreferredDrawingBounds(Rectangle intervalDrawingArea,
58 TimeBarViewerDelegate delegate, Interval interval,
59 boolean selected, boolean overlap) {
60 return intervalDrawingArea;
61 }
62 }