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