001    package org.LiveGraph.gui;
002    
003    
004    import org.LiveGraph.events.EventType;
005    
006    public enum GUIEvent implements EventType {
007    
008    /**
009     * <table>
010     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
011     * <tr><td>{@code getInfoBoolean()}</td>      <td><em>unspecified</em></td></tr>
012     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
013     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
014     * <tr><td>{@code getInfoObject()}</td>               <td>a {@code List&lt;Integer&gt;}-object containing
015     *                                                                                              series indices of highlighted series</td></tr>
016     * </table>
017     */
018    GUI_DataSeriesHighlighted,
019    
020    
021    /**
022     * <table>
023     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
024     * <tr><td>{@code getInfoBoolean()}</td>      <td>{@code true} (showing) or {@code false} (hidden)</td></tr>
025     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
026     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
027     * <tr><td>{@code getInfoObject()}</td>               <td><em>unspecified</em></td></tr>
028     * </table>
029     */
030    GUI_DataFileSettingsDisplayStateChanged,
031    
032    /**
033     * <table>
034     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
035     * <tr><td>{@code getInfoBoolean()}</td>      <td>{@code true} (showing) or {@code false} (hidden)</td></tr>
036     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
037     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
038     * <tr><td>{@code getInfoObject()}</td>               <td><em>unspecified</em></td></tr>
039     * </table>
040     */
041    GUI_GraphSettingsDisplayStateChanged,
042    
043    /**
044     * <table>
045     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
046     * <tr><td>{@code getInfoBoolean()}</td>      <td>{@code true} (showing) or {@code false} (hidden)</td></tr>
047     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
048     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
049     * <tr><td>{@code getInfoObject()}</td>               <td><em>unspecified</em></td></tr>
050     * </table>
051     */
052    GUI_DataSeriesSettingsDisplayStateChanged,
053    
054    /**
055     * <table>
056     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
057     * <tr><td>{@code getInfoBoolean()}</td>      <td>{@code true} (showing) or {@code false} (hidden)</td></tr>
058     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
059     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
060     * <tr><td>{@code getInfoObject()}</td>               <td><em>unspecified</em></td></tr>
061     * </table>
062     */
063    GUI_PlotDisplayStateChanged,
064    
065    /**
066     * <table>
067     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
068     * <tr><td>{@code getInfoBoolean()}</td>      <td>{@code true} (showing) or {@code false} (hidden)</td></tr>
069     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
070     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
071     * <tr><td>{@code getInfoObject()}</td>               <td><em>unspecified</em></td></tr>
072     * </table>
073     */
074    GUI_MessagesDisplayStateChanged,
075    
076    
077    /**
078     * This event is raised by the {@code GUIManager} in response to the invokation of
079     * {@link GUIManager#logSuccessLn(Object)} in order to notify all listeners who would
080     * like to log messages.
081     * <table>
082     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
083     * <tr><td>{@code getInfoBoolean()}</td>      <td><em>unspecified</em></td></tr>
084     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
085     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
086     * <tr><td>{@code getInfoObject()}</td>               <td>The {@code String} to log</td></tr>
087     * </table>
088     */
089    GUI_LogMessageSuccess,
090    
091    /**
092     * This event is raised by the {@code GUIManager} in response to the invokation of
093     * {@link GUIManager#logErrorLn(Object)} in order to notify all listeners who would
094     * like to log messages. It can be considered crucial that every error message does
095     * eventually get logged. In oder to notify the {@code GUIManager} that the error message
096     * was actually logged or displayed, an {@code EventListener} that successfully processed
097     * an event of this type <em>must</em> attach an annotation to the event, with the
098     * annotation info being an object of type {@code Boolean} representing the value
099     * {@code true}. After the event has been processed by all listeners, {@code GUIManager}
100     * will examine all annotations of the event. If it can find one or more annotations with
101     * the info-object being a {@code Boolean} that evaluates to {@code true}, it will do
102     * nothing. Otherwise it it assume that the error message was not diaplayed/logged. In
103     * that case it will immediately display a modal dialog with the error message and also
104     * write the message to {@code System.err}.<br />
105     * Note that this procedure does not apply to {@code GUI_LogMessageSuccess} and
106     * {@code GUI_LogMessageInfo} events as it is assumed that they are less crucial and it
107     * is up to the application whether they should be displayed. 
108     * <table>
109     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
110     * <tr><td>{@code getInfoBoolean()}</td>      <td><em>unspecified</em></td></tr>
111     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
112     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
113     * <tr><td>{@code getInfoObject()}</td>               <td>The {@code String} to log</td></tr>
114     * </table>
115     */
116    GUI_LogMessageError,
117    
118    /**
119     * This event is raised by the {@code GUIManager} in response to the invokation of
120     * {@link GUIManager#logInfoLn(Object)} in order to notify all listeners who would
121     * like to log messages.
122     * <table>
123     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
124     * <tr><td>{@code getInfoBoolean()}</td>      <td><em>unspecified</em></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>The {@code String} to log</td></tr>
128     * </table>
129     */
130    GUI_LogMessageInfo,
131    
132    /**
133     * <table>
134     * <tr><th>Info parameter</th>                                <th>Value</th></tr>
135     * <tr><td>{@code getInfoBoolean()}</td>      <td><em>unspecified</em></td></tr>
136     * <tr><td>{@code getInfoLong()}</td>         <td><em>unspecified</em></td></tr>
137     * <tr><td>{@code getInfoDouble()}</td>               <td><em>unspecified</em></td></tr>
138     * <tr><td>{@code getInfoObject()}</td>               <td><em>unspecified</em></td></tr>
139     * </table>
140     */
141    GUI_DisposeAll,
142    
143    } // public enum GUIEvent