1
2
3
4
5
6
7
8
9
10 package nl.tudelft.simulation.dsol.gui.editor2D;
11
12 import javax.swing.ImageIcon;
13 import javax.swing.JButton;
14 import javax.swing.JToolBar;
15 import javax.swing.SwingConstants;
16
17 import nl.tudelft.simulation.dsol.gui.animation2D.GridPanel;
18 import nl.tudelft.simulation.dsol.gui.editor2D.actions.NavigationToolbarActions;
19 import nl.tudelft.simulation.language.io.URLResource;
20
21 /***
22 * NavigationToolbar.java <br>
23 * (c) copyright 2002-2005 <a href="http://www.simulation.tudelft.nl">Delft
24 * University of Technology </a>, the Netherlands. <br>
25 * See for project information <a
26 * href="http://www.simulation.tudelft.nl">www.simulation.tudelft.nl </a> <br>
27 * License of use: <a href="http://www.gnu.org/copyleft/lesser.html">Lesser
28 * General Public License (LGPL) </a>, no warranty.
29 *
30 * @version $Revision$ $Date$
31 * @author <a href="http://www.tbm.tudelft.nl/webstaf/royc/index.htm">Roy Chin
32 * </a>
33 */
34 public class NavigationToolbar extends JToolBar
35 {
36 /*** Pan left button */
37 private JButton panLeft = null;
38
39 /*** Pan right button */
40 private JButton panRight = null;
41
42 /*** Pan uo button */
43 private JButton panUp = null;
44
45 /*** Pan down button */
46 private JButton panDown = null;
47
48 /*** Zoom in button */
49 private JButton zoomIn = null;
50
51 /*** Zoom out button */
52 private JButton zoomOut = null;
53
54 /*** Home button */
55 private JButton home = null;
56
57 /*** Troggle grid button */
58 private JButton troggleGrid = null;
59
60 /*** Action listener */
61 private NavigationToolbarActions actions = null;
62
63 /***
64 * Constructs the toolbar
65 *
66 * @param target Target grid panel
67 */
68 public NavigationToolbar(final GridPanel target)
69 {
70 super();
71 this.setFloatable(true);
72 this.setOrientation(SwingConstants.HORIZONTAL);
73 this.setRollover(true);
74
75
76 this.actions = new NavigationToolbarActions(this, target);
77
78
79 this.panLeft = createButton("", "Pan left",
80 "/toolbarButtonGraphics/navigation/Back16.gif");
81
82 this.panRight = createButton("", "Pan right",
83 "/toolbarButtonGraphics/navigation/Forward16.gif");
84
85 this.panUp = createButton("", "Pan up",
86 "/toolbarButtonGraphics/navigation/Up16.gif");
87
88 this.panDown = createButton("", "Pan down",
89 "/toolbarButtonGraphics/navigation/Down16.gif");
90
91 this.zoomIn = createButton("", "Zoom in",
92 "/toolbarButtonGraphics/general/ZoomIn16.gif");
93
94 this.zoomOut = createButton("", "Zoom out",
95 "/toolbarButtonGraphics/general/ZoomOut16.gif");
96
97 this.home = createButton("", "Home",
98 "/toolbarButtonGraphics/navigation/Home16.gif");
99
100 this.troggleGrid = createButton("", "Troggle grid",
101 "/editorToolbarButtons/grid.GIF");
102
103 this.add(this.panLeft);
104 this.add(this.panRight);
105 this.add(this.panUp);
106 this.add(this.panDown);
107 this.add(this.zoomIn);
108 this.add(this.zoomOut);
109 this.add(this.home);
110 this.add(this.troggleGrid);
111
112 }
113
114 /***
115 * Create a toolbar button
116 *
117 * @param text Text on the button
118 * @param tooltip Tooltip text
119 * @param icon Location of icon
120 * @return Button
121 */
122 private JButton createButton(final String text, final String tooltip,
123 final String icon)
124 {
125 JButton button = new JButton(text, new ImageIcon(URLResource
126 .getResource(icon)));
127 button.setToolTipText(tooltip);
128 button.addActionListener(this.actions);
129 return button;
130 }
131
132 /***
133 * @return Returns the panDown.
134 */
135 public JButton getPanDown()
136 {
137 return this.panDown;
138 }
139
140 /***
141 * @return Returns the panLeft.
142 */
143 public JButton getPanLeft()
144 {
145 return this.panLeft;
146 }
147
148 /***
149 * @return Returns the panRight.
150 */
151 public JButton getPanRight()
152 {
153 return this.panRight;
154 }
155
156 /***
157 * @return Returns the panUp.
158 */
159 public JButton getPanUp()
160 {
161 return this.panUp;
162 }
163
164 /***
165 * @return Returns the zoomIn.
166 */
167 public JButton getZoomIn()
168 {
169 return this.zoomIn;
170 }
171
172 /***
173 * @return Returns the zoomOut.
174 */
175 public JButton getZoomOut()
176 {
177 return this.zoomOut;
178 }
179
180 /***
181 * @return Returns the home.
182 */
183 public JButton getHome()
184 {
185 return this.home;
186 }
187
188 /***
189 * @return Returns the troggleGrid.
190 */
191 public JButton getTroggleGrid()
192 {
193 return this.troggleGrid;
194 }
195 }