1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.diyefi.openlogviewer;
25
26 import java.awt.Dimension;
27 import java.awt.FlowLayout;
28 import java.awt.event.MouseAdapter;
29 import java.awt.event.MouseEvent;
30
31 import javax.swing.ImageIcon;
32 import javax.swing.JButton;
33 import javax.swing.JPanel;
34
35 public class PlayBarPanel extends JPanel {
36 private static final long serialVersionUID = 1L;
37
38 private static final int PLAY_BAR_PREFERRED_WIDTH = 888;
39 private static final int PLAY_BAR_PREFERRED_HEIGHT = 40;
40
41 private JButton zoomInButton;
42 private JButton zoomResetButton;
43 private JButton zoomOutButton;
44 private JButton playButton;
45 private JButton slowDownButton;
46 private JButton stopButton;
47 private JButton ejectButton;
48 private JButton fastForwardButton;
49 private JButton pauseButton;
50
51
52
53
54 public PlayBarPanel() {
55 super();
56 zoomInButton = new JButton();
57 zoomResetButton = new JButton();
58 zoomOutButton = new JButton();
59 slowDownButton = new JButton();
60 playButton = new JButton();
61 pauseButton = new JButton();
62 stopButton = new JButton();
63 fastForwardButton = new JButton();
64 ejectButton = new JButton();
65 initComponents();
66 }
67
68
69
70
71 private void initComponents() {
72 this.setName("this");
73 this.setPreferredSize(new Dimension(PLAY_BAR_PREFERRED_WIDTH, PLAY_BAR_PREFERRED_HEIGHT));
74 this.setLayout(new FlowLayout(FlowLayout.RIGHT, 0, 0));
75
76 zoomInButton.setIcon(new ImageIcon(getClass().getResource("Playbar_+.png")));
77 zoomInButton.setAlignmentY(0.0F);
78 zoomInButton.setBorder(null);
79 zoomInButton.setBorderPainted(false);
80 zoomInButton.setContentAreaFilled(false);
81 zoomInButton.setName("zoomInButton");
82 zoomInButton.setRequestFocusEnabled(false);
83
84 zoomInButton.addMouseListener(new MouseAdapter() {
85 @Override
86 public void mouseReleased(final MouseEvent e) {
87 zoomInButtonMouseReleased(e);
88 }
89 });
90 this.add(zoomInButton);
91
92 zoomResetButton.setIcon(new ImageIcon(getClass().getResource("Playbar_o.png")));
93 zoomResetButton.setAlignmentY(0.0F);
94 zoomResetButton.setBorder(null);
95 zoomResetButton.setBorderPainted(false);
96 zoomResetButton.setContentAreaFilled(false);
97 zoomResetButton.setName("zoomResetButton");
98 zoomResetButton.setRequestFocusEnabled(false);
99 zoomResetButton.addMouseListener(new MouseAdapter() {
100 @Override
101 public void mouseReleased(final MouseEvent e) {
102 zoomResetButtonMouseReleased(e);
103 }
104 });
105 this.add(zoomResetButton);
106
107 zoomOutButton.setIcon(new ImageIcon(getClass().getResource("Playbar_-.png")));
108 zoomOutButton.setAlignmentY(0.0F);
109 zoomOutButton.setBorder(null);
110 zoomOutButton.setBorderPainted(false);
111 zoomOutButton.setContentAreaFilled(false);
112 zoomOutButton.setName("zoomOutButton");
113 zoomOutButton.setRequestFocusEnabled(false);
114 zoomOutButton.addMouseListener(new MouseAdapter() {
115 @Override
116 public void mouseReleased(final MouseEvent e) {
117 zoomOutButtonMouseReleased(e);
118 }
119 });
120 this.add(zoomOutButton);
121
122 slowDownButton.setIcon(new ImageIcon(getClass().getResource("Playbar_01.png")));
123 slowDownButton.setAlignmentY(0.0F);
124 slowDownButton.setBorder(null);
125 slowDownButton.setBorderPainted(false);
126 slowDownButton.setContentAreaFilled(false);
127 slowDownButton.setName("slowDownButton");
128 slowDownButton.setRequestFocusEnabled(false);
129 slowDownButton.addMouseListener(new MouseAdapter() {
130 @Override
131 public void mouseReleased(final MouseEvent e) {
132 reverseButtonMouseReleased(e);
133 }
134 });
135 this.add(slowDownButton);
136
137 playButton.setIcon(new ImageIcon(getClass().getResource("Playbar_02.png")));
138 playButton.setAlignmentY(0.0F);
139 playButton.setBorder(null);
140 playButton.setBorderPainted(false);
141 playButton.setContentAreaFilled(false);
142 playButton.setName("playButton");
143 playButton.setRequestFocusEnabled(false);
144 playButton.addMouseListener(new MouseAdapter() {
145 @Override
146 public void mouseReleased(final MouseEvent e) {
147 playButtonMouseReleased(e);
148 }
149 });
150 this.add(playButton);
151
152 pauseButton.setIcon(new ImageIcon(getClass().getResource("Playbar_03.png")));
153 pauseButton.setAlignmentY(0.0F);
154 pauseButton.setBorder(null);
155 pauseButton.setBorderPainted(false);
156 pauseButton.setContentAreaFilled(false);
157 pauseButton.setName("pauseButton");
158 pauseButton.setRequestFocusEnabled(false);
159 pauseButton.addMouseListener(new MouseAdapter() {
160 @Override
161 public void mouseReleased(final MouseEvent e) {
162 pauseButtonMouseReleased(e);
163 }
164 });
165 this.add(pauseButton);
166
167 stopButton.setIcon(new ImageIcon(getClass().getResource("Playbar_04.png")));
168 stopButton.setAlignmentY(0.0F);
169 stopButton.setBorder(null);
170 stopButton.setBorderPainted(false);
171 stopButton.setContentAreaFilled(false);
172 stopButton.setName("stopButton");
173 stopButton.setRequestFocusEnabled(false);
174 stopButton.addMouseListener(new MouseAdapter() {
175 @Override
176 public void mouseReleased(final MouseEvent e) {
177 stopButtonMouseReleased(e);
178 }
179 });
180 this.add(stopButton);
181
182 fastForwardButton.setIcon(new ImageIcon(getClass().getResource("Playbar_05.png")));
183 fastForwardButton.setAlignmentY(0.0F);
184 fastForwardButton.setBorder(null);
185 fastForwardButton.setBorderPainted(false);
186 fastForwardButton.setContentAreaFilled(false);
187 fastForwardButton.setName("fastForwardButton");
188 fastForwardButton.setRequestFocusEnabled(false);
189 fastForwardButton.addMouseListener(new MouseAdapter() {
190 @Override
191 public void mouseReleased(final MouseEvent e) {
192 fastForwardButtonMouseReleased(e);
193 }
194 });
195 this.add(fastForwardButton);
196
197 ejectButton.setIcon(new ImageIcon(getClass().getResource("Playbar_06.png")));
198 ejectButton.setAlignmentY(0.0F);
199 ejectButton.setBorder(null);
200 ejectButton.setBorderPainted(false);
201 ejectButton.setContentAreaFilled(false);
202 ejectButton.setName("ejectButton");
203 ejectButton.setRequestFocusEnabled(false);
204 ejectButton.addMouseListener(new MouseAdapter() {
205 @Override
206 public void mouseReleased(final MouseEvent e) {
207 ejectButtonMouseReleased(e);
208 }
209 });
210 this.add(ejectButton);
211 }
212
213
214
215
216
217 private void zoomInButtonMouseReleased(final MouseEvent e) {
218 OpenLogViewer.getInstance().getEntireGraphingPanel().zoomInCoarse();
219 }
220
221
222
223
224
225 private void zoomOutButtonMouseReleased(final MouseEvent e) {
226 OpenLogViewer.getInstance().getEntireGraphingPanel().zoomOutCoarse();
227 }
228
229
230
231
232
233 private void zoomResetButtonMouseReleased(final MouseEvent e) {
234 final int zoom = OpenLogViewer.getInstance().getEntireGraphingPanel().getZoom();
235 final boolean zoomedOut = OpenLogViewer.getInstance().getEntireGraphingPanel().isZoomedOutBeyondOneToOne();
236 if (zoomedOut) {
237 for (int i = zoom; i > 1; i--) {
238 OpenLogViewer.getInstance().getEntireGraphingPanel().zoomIn();
239 }
240 } else {
241 for (int i = zoom; i > 1; i--) {
242 OpenLogViewer.getInstance().getEntireGraphingPanel().zoomOut();
243 }
244 }
245 }
246
247
248
249
250
251 private void playButtonMouseReleased(final MouseEvent e) {
252 OpenLogViewer.getInstance().getEntireGraphingPanel().play();
253 OpenLogViewer.getInstance().getEntireGraphingPanel();
254 }
255
256
257
258
259
260 private void pauseButtonMouseReleased(final MouseEvent e) {
261 OpenLogViewer.getInstance().getEntireGraphingPanel().pause();
262 }
263
264
265
266
267
268 private void stopButtonMouseReleased(final MouseEvent e) {
269 OpenLogViewer.getInstance().getEntireGraphingPanel().stop();
270 }
271
272
273
274
275
276 private void fastForwardButtonMouseReleased(final MouseEvent e) {
277 OpenLogViewer.getInstance().getEntireGraphingPanel().fastForward();
278 }
279
280
281
282
283
284 private void reverseButtonMouseReleased(final MouseEvent e) {
285 OpenLogViewer.getInstance().getEntireGraphingPanel().slowDown();
286 }
287
288
289
290
291
292 private void ejectButtonMouseReleased(final MouseEvent e) {
293 OpenLogViewer.getInstance().getEntireGraphingPanel().eject();
294 }
295 }