source: tmcsimulator-scriptbuilder/branches/ScriptBuilder4/src/scriptbuilder/gui/drawers/TimeSliceDrawer.java @ 6

Revision 6, 2.1 KB checked in by jdalbey, 9 years ago (diff)

Add original prototype to branch

Line 
1package scriptbuilder.gui.drawers;
2
3import java.awt.Graphics2D;
4import java.awt.Image;
5import java.awt.geom.AffineTransform;
6import java.io.File;
7import java.io.IOException;
8import java.util.logging.Level;
9import java.util.logging.Logger;
10import javax.imageio.ImageIO;
11import scriptbuilder.gui.ScriptBuilderGuiConstants;
12import scriptbuilder.structures.ScriptEvent;
13import scriptbuilder.structures.TimeSlice;
14
15/**
16 *
17 * @author Greg Eddington <geddingt@calpoly.edu>
18 */
19public class TimeSliceDrawer
20{
21    private static Image sliceEventImage = null;
22    public static int zoom = 20;
23
24    private static Image getSliceEventImage()
25    {
26        if (sliceEventImage == null)
27        {
28            try
29            {
30                sliceEventImage = ImageIO.read(images.Images.getImage("Event.png"));
31            }
32            catch (IOException ex)
33            {
34                Logger.getLogger(EventIconDrawer.class.getName()).log(Level.SEVERE, null, ex);
35            }
36        }
37
38        return sliceEventImage;
39    }
40
41    public static void DrawTimeSlice(Graphics2D g2d, TimeSlice slice,
42            boolean collapsed)
43    {
44        // If this is an empty slice, return
45        if (slice.events.size() == 0)
46            return;
47
48        // Draw the slice event icon to show that there are events here
49        g2d.drawImage(getSliceEventImage(), slice.getX() -
50                ScriptBuilderGuiConstants.EVENT_ICON_WIDTH,
51                ScriptBuilderGuiConstants.TIMELINE_EVENT_ICON_MARGIN, null);
52
53        // If the incident isn't collapsed, draw the event icons
54        if (!collapsed)
55        {
56            for (int i = 0; i < slice.events.size(); i++)
57            {
58                if (i >= ScriptBuilderGuiConstants.MAX_NUMBER_OF_SCRIPT_EVENT_ICON)
59                    break;
60
61                ScriptEvent event = slice.events.get(i);
62                EventIconDrawer.DrawEventIcon(g2d, event, slice.getX() -
63                        ScriptBuilderGuiConstants.EVENT_ICON_WIDTH,
64                        ScriptBuilderGuiConstants.SCRIPT_EVENT_ICON_TOP_MARGIN +
65                        i * ScriptBuilderGuiConstants.SCRIPT_EVENT_ICON_STEP);
66            }
67        }
68    }
69}
Note: See TracBrowser for help on using the repository browser.