001 package org.LiveGraph.settings;
002
003 import org.LiveGraph.events.EventType;
004 import org.LiveGraph.events.Validation;
005
006 /**
007 * This class defines the event types for events that may be raised by any of the LiveGraph
008 * settings objects to notify various application components of a changed setting.
009 * <p>Currently, there are 3 settings classes ({@link DataFileSettings}, {@link GraphSettings}
010 * and {@link DataSeriesSettings}) and the LiveGraph application holds a unique instance
011 * of each of these classes. If either a GUI or a third-party application wishes to change
012 * any of the current LiveGraph settings at run-time, it must obtain the appropriate settings
013 * object from the LiveGraph application and use one of the provided setter methods. The
014 * settings object will change its internal setting value then raise an event to notify all
015 * LiveGraph components interested in that particular setting of the changed value.</p>
016 *
017 * <p>
018 * <strong>LiveGraph</strong>
019 * (<a href="http://www.live-graph.org" target="_blank">http://www.live-graph.org</a>).
020 * </p>
021 * <p>Copyright (c) 2007-2008 by G. Paperin.</p>
022 * <p>File: SettingsEvent.java</p>
023 * <p style="font-size:smaller;">Redistribution and use in source and binary forms, with or
024 * without modification, are permitted provided that the following terms and conditions are met:
025 * </p>
026 * <p style="font-size:smaller;">1. Redistributions of source code must retain the above
027 * acknowledgement of the LiveGraph project and its web-site, the above copyright notice,
028 * this list of conditions and the following disclaimer.<br />
029 * 2. Redistributions in binary form must reproduce the above acknowledgement of the
030 * LiveGraph project and its web-site, the above copyright notice, this list of conditions
031 * and the following disclaimer in the documentation and/or other materials provided with
032 * the distribution.<br />
033 * 3. All advertising materials mentioning features or use of this software or any derived
034 * software must display the following acknowledgement:<br />
035 * <em>This product includes software developed by the LiveGraph project and its
036 * contributors.<br />(http://www.live-graph.org)</em><br />
037 * 4. All advertising materials distributed in form of HTML pages or any other technology
038 * permitting active hyper-links that mention features or use of this software or any
039 * derived software must display the acknowledgment specified in condition 3 of this
040 * agreement, and in addition, include a visible and working hyper-link to the LiveGraph
041 * homepage (http://www.live-graph.org).
042 * </p>
043 * <p style="font-size:smaller;">THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY
044 * OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
045 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
046 * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
047 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
048 * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
049 * </p>
050 *
051 * @author Greg Paperin (<a href="http://www.paperin.org" target="_blank">http://www.paperin.org</a>)
052 * @version {@value org.LiveGraph.LiveGraph#version}
053 *
054 */
055 @Validation(Validation.Requirement.MUST_VALIDATE)
056 public enum SettingsEvent implements EventType {
057
058
059 //----------- DataFileSettings events: { -------------------------------------------------------
060
061 /**
062 * <p>Events of this type are <strong>raised</strong> by {@link DataFileSettings} after
063 * loading settings from a file; events of this type are <strong>validated</strong> before
064 * loading the settings, and loading proceeds only if the event is validated by all listeners.</p>
065 * <p>When issuing events of type {@code DFS_Load}, {@code DataFileSettings} initialises
066 * the event info parameters as follows:
067 * <table>
068 * <tr><th>Info parameter</th> <th>Value</th></tr>
069 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
070 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
071 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
072 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the file name</td></tr>
073 * </table>
074 * </p>
075 */
076 DFS_Load,
077
078
079 /**
080 * <p>Events of this type are <strong>raised</strong> by {@link DataFileSettings} after
081 * saving settings to a file; events of this type are <strong>validated</strong> before
082 * saving the settings, and saving proceeds only if the event is validated by all listeners.</p>
083 * <p>When issuing events of type {@code GS_Save}, {@code DataFileSettings} initialises
084 * the event info parameters as follows:
085 * <table>
086 * <tr><th>Info parameter</th> <th>Value</th></tr>
087 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
088 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
089 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
090 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the file name</td></tr>
091 * </table>
092 * </p>
093 */
094 DFS_Save,
095
096
097 /**
098 * <p>Events of this type are <strong>raised</strong> by {@link DataFileSettings} after
099 * changing the data source file; events of this type are <strong>validated</strong> before changing
100 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
101 * <p>When issuing events of type {@code DFS_DataFile}, {@code DataFileSettings} initialises
102 * the event info parameters as follows:
103 * <table>
104 * <tr><th>Info parameter</th> <th>Value</th></tr>
105 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
106 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
107 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
108 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the file name</td></tr>
109 * </table>
110 * </p>
111 */
112 DFS_DataFile,
113
114
115 /**
116 * <p>Events of this type are <strong>raised</strong> by {@link DataFileSettings} after
117 * changing the setting determining whether to show all or only the tail data;
118 * events of this type are <strong>validated</strong> before changing
119 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
120 * <p>When issuing events of type {@code DFS_ShowOnlyTailData}, {@code DataFileSettings} initialises
121 * the event info parameters as follows:
122 * <table>
123 * <tr><th>Info parameter</th> <th>Value</th></tr>
124 * <tr><td>{@code getInfoBoolean()}</td> <td>{@code true} (tail data) or {@code false} (all data)</td></tr>
125 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
126 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
127 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
128 * </table>
129 * </p>
130 */
131 DFS_ShowOnlyTailData,
132
133
134 /**
135 * <p>Events of this type are <strong>raised</strong> by {@link DataFileSettings} after
136 * changing data caching setting; events of this type are <strong>validated</strong> before changing
137 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
138 * <p>When issuing events of type {@code DFS_DoNotCacheData}, {@code DataFileSettings} initialises
139 * the event info parameters as follows:
140 * <table>
141 * <tr><th>Info parameter</th> <th>Value</th></tr>
142 * <tr><td>{@code getInfoBoolean()}</td> <td>{@code true} (don't cache) or {@code false} (do cache)</td></tr>
143 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
144 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
145 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
146 * </table>
147 * </p>
148 */
149 DFS_DoNotCacheData,
150
151
152 /**
153 * <p>Events of this type are <strong>raised</strong> by {@link DataFileSettings} after
154 * changing the update frequency; events of this type are <strong>validated</strong> before changing
155 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
156 * <p>When issuing events of type {@code DFS_UpdateFrequency}, {@code DataFileSettings} initialises
157 * the event info parameters as follows:
158 * <table>
159 * <tr><th>Info parameter</th> <th>Value</th></tr>
160 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
161 * <tr><td>{@code getInfoLong()}</td> <td>undate frequency in milliseconds</td></tr>
162 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
163 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
164 * </table>
165 * </p>
166 */
167 DFS_UpdateFrequency,
168
169 //----------- } DataFileSettings events. -------------------------------------------------------
170
171
172 //----------- GraphSettings events: { -------------------------------------------------------
173
174 /**
175 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
176 * loading settings from a file; events of this type are <strong>validated</strong> before
177 * loading the settings, and loading proceeds only if the event is validated by all listeners.</p>
178 * <p>When issuing events of type {@code GS_Load}, {@code GraphSettings} initialises
179 * the event info parameters as follows:
180 * <table>
181 * <tr><th>Info parameter</th> <th>Value</th></tr>
182 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
183 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
184 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
185 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the file name</td></tr>
186 * </table>
187 * </p>
188 */
189 GS_Load,
190
191
192 /**
193 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
194 * saving settings to a file; events of this type are <strong>validated</strong> before
195 * saving the settings, and saving proceeds only if the event is validated by all listeners.</p>
196 * <p>When issuing events of type {@code GS_Save}, {@code GraphSettings} initialises
197 * the event info parameters as follows:
198 * <table>
199 * <tr><th>Info parameter</th> <th>Value</th></tr>
200 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
201 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
202 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
203 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the file name</td></tr>
204 * </table>
205 * </p>
206 */
207 GS_Save,
208
209
210 /**
211 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
212 * changing bottom edge of the visible data area
213 * events of this type are <strong>validated</strong> before changing
214 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
215 * <p>When issuing events of type {@code GS_MinY}, {@code GraphSettings} initialises
216 * the event info parameters as follows:
217 * <table>
218 * <tr><th>Info parameter</th> <th>Value</th></tr>
219 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
220 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
221 * <tr><td>{@code getInfoDouble()}</td> <td><em>minY</em> ({@code Double.NaN} indicates <em>auto</em>)</td></tr>
222 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
223 * </table>
224 * </p>
225 */
226 GS_MinY,
227
228
229 /**
230 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
231 * changing top edge of the visible data area;
232 * events of this type are <strong>validated</strong> before changing
233 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
234 * <p>When issuing events of type {@code GS_MaxY}, {@code GraphSettings} initialises
235 * the event info parameters as follows:
236 * <table>
237 * <tr><th>Info parameter</th> <th>Value</th></tr>
238 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
239 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
240 * <tr><td>{@code getInfoDouble()}</td> <td><em>maxY</em> ({@code Double.NaN} indicates <em>auto</em>)</td></tr>
241 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
242 * </table>
243 * </p>
244 */
245 GS_MaxY,
246
247
248 /**
249 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
250 * changing left edge of the visible data area;
251 * events of this type are <strong>validated</strong> before changing
252 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
253 * <p>When issuing events of type {@code GS_MinX}, {@code GraphSettings} initialises
254 * the event info parameters as follows:
255 * <table>
256 * <tr><th>Info parameter</th> <th>Value</th></tr>
257 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
258 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
259 * <tr><td>{@code getInfoDouble()}</td> <td><em>minX</em> ({@code Double.NaN} indicates <em>auto</em>)</td></tr>
260 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
261 * </table>
262 * </p>
263 */
264 GS_MinX,
265
266
267 /**
268 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
269 * changing right edge of the visible data area;
270 * events of this type are <strong>validated</strong> before changing
271 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
272 * <p>When issuing events of type {@code GS_MaxX}, {@code GraphSettings} initialises
273 * the event info parameters as follows:
274 * <table>
275 * <tr><th>Info parameter</th> <th>Value</th></tr>
276 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
277 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
278 * <tr><td>{@code getInfoDouble()}</td> <td><em>maxX</em> ({@code Double.NaN} indicates <em>auto</em>)</td></tr>
279 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
280 * </table>
281 * </p>
282 */
283 GS_MaxX,
284
285
286 /**
287 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
288 * changing type of the vertical grid; events of this type are <strong>validated</strong> before changing
289 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
290 * <p>When issuing events of type {@code GS_VGridType}, {@code GraphSettings} initialises
291 * the event info parameters as follows:
292 * <table>
293 * <tr><th>Info parameter</th> <th>Value</th></tr>
294 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
295 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
296 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
297 * <tr><td>{@code getInfoObject()}</td> <td>a {@code VGridType} object</td></tr>
298 * </table>
299 * </p>
300 */
301 GS_VGridType,
302
303
304 /**
305 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
306 * changing spacing of the vertical grid; events of this type are <strong>validated</strong> before changing
307 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
308 * <p>When issuing events of type {@code GS_VGridSize}, {@code GraphSettings} initialises
309 * the event info parameters as follows:
310 * <table>
311 * <tr><th>Info parameter</th> <th>Value</th></tr>
312 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
313 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
314 * <tr><td>{@code getInfoDouble()}</td> <td>vertical grid spacing</td></tr>
315 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
316 * </table>
317 * </p>
318 */
319 GS_VGridSize,
320
321
322 /**
323 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
324 * changing colour of the vertical grid; events of this type are <strong>validated</strong> before changing
325 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
326 * <p>When issuing events of type {@code GS_VGridColour}, {@code GraphSettings} initialises
327 * the event info parameters as follows:
328 * <table>
329 * <tr><th>Info parameter</th> <th>Value</th></tr>
330 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
331 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
332 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
333 * <tr><td>{@code getInfoObject()}</td> <td>a {@code Color} object</td></tr>
334 * </table>
335 * </p>
336 */
337 GS_VGridColour,
338
339
340 /**
341 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
342 * changing type of the horisontal grid; events of this type are <strong>validated</strong> before changing
343 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
344 * <p>When issuing events of type {@code GS_HGridType}, {@code GraphSettings} initialises
345 * the event info parameters as follows:
346 * <table>
347 * <tr><th>Info parameter</th> <th>Value</th></tr>
348 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
349 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
350 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
351 * <tr><td>{@code getInfoObject()}</td> <td>a {@code HGridType} object</td></tr>
352 * </table>
353 * </p>
354 */
355 GS_HGridType,
356
357
358 /**
359 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
360 * changing horisontal grid spacing; events of this type are <strong>validated</strong> before changing
361 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
362 * <p>When issuing events of type {@code GS_HGridSize}, {@code GraphSettings} initialises
363 * the event info parameters as follows:
364 * <table>
365 * <tr><th>Info parameter</th> <th>Value</th></tr>
366 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
367 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
368 * <tr><td>{@code getInfoDouble()}</td> <td>horisontal grid spacing</td></tr>
369 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
370 * </table>
371 * </p>
372 */
373 GS_HGridSize,
374
375
376 /**
377 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
378 * changing the colour of the horisontal grid;
379 * events of this type are <strong>validated</strong> before changing
380 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
381 * <p>When issuing events of type {@code GS_HGridColour}, {@code GraphSettings} initialises
382 * the event info parameters as follows:
383 * <table>
384 * <tr><th>Info parameter</th> <th>Value</th></tr>
385 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
386 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
387 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
388 * <tr><td>{@code getInfoObject()}</td> <td>a {@code Color} object</td></tr>
389 * </table>
390 * </p>
391 */
392 GS_HGridColour,
393
394
395 /**
396 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
397 * changing the transformation mode for x-axis values;
398 * events of this type are <strong>validated</strong> before changing
399 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
400 * <p>When issuing events of type {@code GS_XAxisType}, {@code GraphSettings} initialises
401 * the event info parameters as follows:
402 * <table>
403 * <tr><th>Info parameter</th> <th>Value</th></tr>
404 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
405 * <tr><td>{@code getInfoLong()}</td> <td>index of the data series to use as the a-axis</td></tr>
406 * <tr><td>{@code getInfoDouble()}</td> <td>the x-axis transformation parameter</td></tr>
407 * <tr><td>{@code getInfoObject()}</td> <td>a {@code XAxisType} object</td></tr>
408 * </table>
409 * </p>
410 */
411 GS_XAxisType,
412
413
414 /**
415 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
416 * changing the index of the data series to use as the a-axis;
417 * events of this type are <strong>validated</strong> before changing
418 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
419 * <p>When issuing events of type {@code GS_XAxisSeriesIndex}, {@code GraphSettings} initialises
420 * the event info parameters as follows:
421 * <table>
422 * <tr><th>Info parameter</th> <th>Value</th></tr>
423 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
424 * <tr><td>{@code getInfoLong()}</td> <td>index of the data series to use as the a-axis</td></tr>
425 * <tr><td>{@code getInfoDouble()}</td> <td>the x-axis transformation parameter</td></tr>
426 * <tr><td>{@code getInfoObject()}</td> <td>a {@code XAxisType} object</td></tr>
427 * </table>
428 * </p>
429 */
430 GS_XAxisSeriesIndex,
431
432
433 /**
434 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
435 * changing transformation parameter for x-axis values;
436 * events of this type are <strong>validated</strong> before changing
437 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
438 * <p>When issuing events of type {@code GS_XAxisParamValue}, {@code GraphSettings} initialises
439 * the event info parameters as follows:
440 * <table>
441 * <tr><th>Info parameter</th> <th>Value</th></tr>
442 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
443 * <tr><td>{@code getInfoLong()}</td> <td>index of the data series to use as the a-axis</td></tr>
444 * <tr><td>{@code getInfoDouble()}</td> <td>the x-axis transformation parameter</td></tr>
445 * <tr><td>{@code getInfoObject()}</td> <td>a {@code XAxisType} object</td></tr>
446 * </table>
447 * </p>
448 */
449 GS_XAxisParamValue,
450
451
452 /**
453 * <p>Events of this type are <strong>raised</strong> by {@link GraphSettings} after
454 * changing whther of not data points should be highlighted as the mouse is hovered over them;
455 * events of this type are <strong>validated</strong> before changing
456 * this settings value, and the change proceeds only if the event is validated by all listeners.</p>
457 * <p>When issuing events of type {@code GS_HighlightDataPoints}, {@code GraphSettings} initialises
458 * the event info parameters as follows:
459 * <table>
460 * <tr><th>Info parameter</th> <th>Value</th></tr>
461 * <tr><td>{@code getInfoBoolean()}</td> <td>{@code true} (highlight) or {@code false} (don't)</td></tr>
462 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
463 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
464 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
465 * </table>
466 * </p>
467 */
468 GS_HighlightDataPoints,
469
470 //----------- } GraphSettings events. -------------------------------------------------------
471
472
473 // ----------- DataSeriesSettings events: { -------------------------------------------------------
474
475 /**
476 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
477 * loading the settings from a file; events of this type are <strong>validated</strong> before
478 * loading, and loading proceeds only if the event is validated by all listeners.</p>
479 * <p>When issuing events of type {@code DSS_Load}, {@code DataSeriesSettings} initialises
480 * the event info parameters as follows:
481 * <table>
482 * <tr><th>Info parameter</th> <th>Value</th></tr>
483 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
484 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
485 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
486 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the file name</td></tr>
487 * </table>
488 * </p>
489 *
490 * This event type indicates that the <strong>data series setttings</strong> have
491 * been loaded or are about to be loaded from a file.<br />
492 *
493 */
494 DSS_Load,
495
496
497 /**
498 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
499 * saving the settings to a file; events of this type are <strong>validated</strong> before
500 * saving, and saving proceeds only if the event is validated by all listeners.</p>
501 * <p>When issuing events of type {@code DSS_Save}, {@code DataSeriesSettings} initialises
502 * the event info parameters as follows:
503 * <table>
504 * <tr><th>Info parameter</th> <th>Value</th></tr>
505 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
506 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
507 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
508 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
509 * </table>
510 * </p>
511 */
512 DSS_Save,
513
514
515 /**
516 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
517 * changing the visibility of several data series in one go;
518 * events of this type are <strong>validated</strong> before
519 * changing the visibility, and changing proceeds only if the event is validated by all listeners.</p>
520 * <p>When issuing events of type {@code DSS_SeriesRange_Visibility}, {@code DataSeriesSettings} initialises
521 * the event info parameters as follows:
522 * <table>
523 * <tr><th>Info parameter</th> <th>Value</th></tr>
524 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
525 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr>
526 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
527 * <tr><td>{@code getInfoObject()}</td> <td>{@code Pair<Integer, Integer>(fromSeries, fromSeries)}</td></tr>
528 * </table>
529 * </p>
530 */
531 DSS_SeriesRange_Visibility,
532
533
534 /**
535 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
536 * changing the visibility of a data series; events of this type are <strong>validated</strong> before
537 * changing the visibility, and changing proceeds only if the event is validated by all listeners.</p>
538 * <p>When issuing events of type {@code DSS_Series_Visibility}, {@code DataSeriesSettings} initialises
539 * the event info parameters as follows:
540 * <table>
541 * <tr><th>Info parameter</th> <th>Value</th></tr>
542 * <tr><td>{@code getInfoBoolean()}</td> <td>{@code true} (show) or {@code false} (don't show)</td></tr>
543 * <tr><td>{@code getInfoLong()}</td> <td>{@code seriesIndex}</td></tr>
544 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
545 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr>
546 * </table>
547 * </p>
548 */
549 DSS_Series_Visibility,
550
551
552 /**
553 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
554 * changing the plot colour for a data series; events of this type are <strong>validated</strong> before
555 * changing the colour, and changing proceeds only if the event is validated by all listeners.</p>
556 * <p>When issuing events of type {@code DSS_Series_Colour}, {@code DataSeriesSettings} initialises
557 * the event info parameters as follows:
558 * <table>
559 * <tr><th>Info parameter</th> <th>Value</th></tr>
560 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
561 * <tr><td>{@code getInfoLong()}</td> <td>{@code seriesIndex}</td></tr>
562 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr>
563 * <tr><td>{@code getInfoObject()}</td> <td>a {@code Color} object for the new color</td></tr>
564 * </table>
565 * </p>
566 */
567 DSS_Series_Colour,
568
569
570 /**
571 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
572 * changing the values transformation mode for a data series;
573 * events of this type are <strong>validated</strong> before
574 * changing the transformation mode, and changing proceeds only if the event is validated by all listeners.</p>
575 * <p>When issuing events of type {@code DSS_Series_TransformMode}, {@code DataSeriesSettings} initialises
576 * the event info parameters as follows:
577 * <table>
578 * <tr><th>Info parameter</th> <th>Value</th></tr>
579 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
580 * <tr><td>{@code getInfoLong()}</td> <td>{@code seriesIndex}</td></tr>
581 * <tr><td>{@code getInfoDouble()}</td> <td>transformation parameter</td></tr>
582 * <tr><td>{@code getInfoObject()}</td> <td>a {@code DataSeriesSettings.TransformMode} object</td></tr>
583 * </table>
584 * </p>
585 */
586 DSS_Series_TransformMode,
587
588
589 /**
590 * <p>Events of this type are <strong>raised</strong> by {@link DataSeriesSettings} after
591 * changing the values transformation parameter for a data series;
592 * events of this type are <strong>validated</strong> before
593 * changing the values transformation parameter,
594 * and changing proceeds only if the event is validated by all listeners.</p>
595 * <p>When issuing events of type {@code DSS_Series_TransformParam}, {@code DataSeriesSettings} initialises
596 * the event info parameters as follows:
597 * <table>
598 * <tr><th>Info parameter</th> <th>Value</th></tr>
599 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr>
600 * <tr><td>{@code getInfoLong()}</td> <td>{@code seriesIndex}</td></tr>
601 * <tr><td>{@code getInfoDouble()}</td> <td>transformation parameter</td></tr>
602 * <tr><td>{@code getInfoObject()}</td> <td>a {@code DataSeriesSettings.TransformMode} object</td></tr>
603 * </table>
604 * </p>
605 */
606 DSS_Series_TransformParam,
607
608 // ----------- } DataSeriesSettings events. -------------------------------------------------------
609
610 } // public enum SettingsEvent