TrustGrapher
r52
A playabale simulator for modelling trust between agents
|
00001 00002 package cu.trustGrapher; 00003 00004 import aohara.utilities.*; 00005 import cu.trustGrapher.eventplayer.*; 00011 public class TrustMenuBar extends javax.swing.JFrame { 00012 00013 public static final String SHOW_PLAYBACK_PANEL = "showPlaybackPanel", SHOW_EVENT_PANEL = "showEventPanel"; 00014 protected TrustGrapher trustGrapher; 00015 00017 public TrustMenuBar(TrustGrapher trustGrapher) { 00018 this.trustGrapher = trustGrapher; 00019 initComponents(); 00020 00021 //Sets the status of the display buttons based on the properties file 00022 PropertyManager config = trustGrapher.getPropertyManager(); 00023 if (config.containsKey(SHOW_PLAYBACK_PANEL)) { 00024 togglePlaybackPanelButton.setSelected(Boolean.parseBoolean(config.getProperty(SHOW_PLAYBACK_PANEL))); 00025 } else { 00026 togglePlaybackPanelButton.setSelected(true); 00027 } 00028 if (config.containsKey(SHOW_EVENT_PANEL)) { 00029 toggleEventPanelButton.setSelected(Boolean.parseBoolean(config.getProperty(SHOW_EVENT_PANEL))); 00030 } else { 00031 toggleEventPanelButton.setSelected(true); 00032 } 00033 //Set the status of the view type buttons based on the properties file 00034 if (trustGrapher.getViewType() == TrustGrapher.GRID){ 00035 gridViewButton.setSelected(true); 00036 }else{ 00037 tabbedViewButton.setSelected(true); 00038 } 00039 } 00040 00042 00047 @SuppressWarnings("unchecked") 00048 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents 00049 private void initComponents() { 00050 00051 viewButtonGroup = new javax.swing.ButtonGroup(); 00052 javax.swing.JMenuBar jMenuBar1 = new javax.swing.JMenuBar(); 00053 javax.swing.JMenu jMenu1 = new javax.swing.JMenu(); 00054 javax.swing.JMenuItem loadButton = new javax.swing.JMenuItem(); 00055 javax.swing.JMenuItem saveLogButton = new javax.swing.JMenuItem(); 00056 javax.swing.JMenuItem exportButton = new javax.swing.JMenuItem(); 00057 javax.swing.JMenuItem exitButton = new javax.swing.JMenuItem(); 00058 javax.swing.JMenu jMenu2 = new javax.swing.JMenu(); 00059 javax.swing.JMenuItem insertEventButton = new javax.swing.JMenuItem(); 00060 javax.swing.JMenuItem modifyeventButton = new javax.swing.JMenuItem(); 00061 javax.swing.JMenuItem removeEventButton = new javax.swing.JMenuItem(); 00062 javax.swing.JPopupMenu.Separator jSeparator1 = new javax.swing.JPopupMenu.Separator(); 00063 javax.swing.JMenuItem optionsButton = new javax.swing.JMenuItem(); 00064 javax.swing.JMenu jMenu3 = new javax.swing.JMenu(); 00065 tabbedViewButton = new javax.swing.JRadioButtonMenuItem(); 00066 gridViewButton = new javax.swing.JRadioButtonMenuItem(); 00067 togglePlaybackPanelButton = new javax.swing.JCheckBoxMenuItem(); 00068 toggleEventPanelButton = new javax.swing.JCheckBoxMenuItem(); 00069 00070 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 00071 setEnabled(false); 00072 setFocusable(false); 00073 setFocusableWindowState(false); 00074 setResizable(false); 00075 setUndecorated(true); 00076 00077 jMenu1.setText("File"); 00078 00079 loadButton.setText("Load Algorithms"); 00080 loadButton.addActionListener(new java.awt.event.ActionListener() { 00081 public void actionPerformed(java.awt.event.ActionEvent evt) { 00082 loadButtonActionPerformed(evt); 00083 } 00084 }); 00085 jMenu1.add(loadButton); 00086 00087 saveLogButton.setText("Save Log File"); 00088 saveLogButton.addActionListener(new java.awt.event.ActionListener() { 00089 public void actionPerformed(java.awt.event.ActionEvent evt) { 00090 saveLogButtonActionPerformed(evt); 00091 } 00092 }); 00093 jMenu1.add(saveLogButton); 00094 00095 exportButton.setText("Export Results"); 00096 exportButton.addActionListener(new java.awt.event.ActionListener() { 00097 public void actionPerformed(java.awt.event.ActionEvent evt) { 00098 exportButtonActionPerformed(evt); 00099 } 00100 }); 00101 jMenu1.add(exportButton); 00102 00103 exitButton.setText("Exit"); 00104 exitButton.addActionListener(new java.awt.event.ActionListener() { 00105 public void actionPerformed(java.awt.event.ActionEvent evt) { 00106 exitButtonActionPerformed(evt); 00107 } 00108 }); 00109 jMenu1.add(exitButton); 00110 00111 jMenuBar1.add(jMenu1); 00112 00113 jMenu2.setText("Edit"); 00114 00115 insertEventButton.setText("Insert Event After"); 00116 insertEventButton.addActionListener(new java.awt.event.ActionListener() { 00117 public void actionPerformed(java.awt.event.ActionEvent evt) { 00118 insertEventButtonActionPerformed(evt); 00119 } 00120 }); 00121 jMenu2.add(insertEventButton); 00122 00123 modifyeventButton.setText("Modify Event"); 00124 modifyeventButton.addActionListener(new java.awt.event.ActionListener() { 00125 public void actionPerformed(java.awt.event.ActionEvent evt) { 00126 modifyeventButtonActionPerformed(evt); 00127 } 00128 }); 00129 jMenu2.add(modifyeventButton); 00130 00131 removeEventButton.setText("Remove Event"); 00132 removeEventButton.addActionListener(new java.awt.event.ActionListener() { 00133 public void actionPerformed(java.awt.event.ActionEvent evt) { 00134 removeEventButtonActionPerformed(evt); 00135 } 00136 }); 00137 jMenu2.add(removeEventButton); 00138 jMenu2.add(jSeparator1); 00139 00140 optionsButton.setText("Options"); 00141 optionsButton.addActionListener(new java.awt.event.ActionListener() { 00142 public void actionPerformed(java.awt.event.ActionEvent evt) { 00143 optionsButtonActionPerformed(evt); 00144 } 00145 }); 00146 jMenu2.add(optionsButton); 00147 00148 jMenuBar1.add(jMenu2); 00149 00150 jMenu3.setText("View"); 00151 00152 viewButtonGroup.add(tabbedViewButton); 00153 tabbedViewButton.setSelected(true); 00154 tabbedViewButton.setText("Tabbed View"); 00155 tabbedViewButton.addActionListener(new java.awt.event.ActionListener() { 00156 public void actionPerformed(java.awt.event.ActionEvent evt) { 00157 tabbedViewButtonActionPerformed(evt); 00158 } 00159 }); 00160 jMenu3.add(tabbedViewButton); 00161 00162 viewButtonGroup.add(gridViewButton); 00163 gridViewButton.setText("Grid View"); 00164 gridViewButton.addActionListener(new java.awt.event.ActionListener() { 00165 public void actionPerformed(java.awt.event.ActionEvent evt) { 00166 gridViewButtonActionPerformed(evt); 00167 } 00168 }); 00169 jMenu3.add(gridViewButton); 00170 00171 togglePlaybackPanelButton.setSelected(true); 00172 togglePlaybackPanelButton.setText("Display Playback Panel"); 00173 togglePlaybackPanelButton.addActionListener(new java.awt.event.ActionListener() { 00174 public void actionPerformed(java.awt.event.ActionEvent evt) { 00175 togglePlaybackPanelButtonActionPerformed(evt); 00176 } 00177 }); 00178 jMenu3.add(togglePlaybackPanelButton); 00179 00180 toggleEventPanelButton.setSelected(true); 00181 toggleEventPanelButton.setText("Display Event Panel"); 00182 toggleEventPanelButton.addActionListener(new java.awt.event.ActionListener() { 00183 public void actionPerformed(java.awt.event.ActionEvent evt) { 00184 toggleEventPanelButtonActionPerformed(evt); 00185 } 00186 }); 00187 jMenu3.add(toggleEventPanelButton); 00188 00189 jMenuBar1.add(jMenu3); 00190 00191 setJMenuBar(jMenuBar1); 00192 00193 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 00194 getContentPane().setLayout(layout); 00195 layout.setHorizontalGroup( 00196 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 00197 .addGap(0, 225, Short.MAX_VALUE) 00198 ); 00199 layout.setVerticalGroup( 00200 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 00201 .addGap(0, 18, Short.MAX_VALUE) 00202 ); 00203 00204 pack(); 00205 }// </editor-fold>//GEN-END:initComponents 00206 00207 private void loadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadButtonActionPerformed 00208 PlaybackPanel playbackPanel = (trustGrapher.graphsLoaded()) ? trustGrapher.getEventPlayer().getPlaybackPanel() : null; 00209 if (playbackPanel != null) { 00210 playbackPanel.getPauseButton().doClick(); 00211 } 00212 trustGrapher.startAlgorithmLoader(); 00213 }//GEN-LAST:event_loadButtonActionPerformed 00214 00215 private void saveLogButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveLogButtonActionPerformed 00216 if (trustGrapher.graphsLoaded()) { 00217 LogGen.saveEventLog(trustGrapher.getEventPlayer().getEvents()); 00218 } 00219 }//GEN-LAST:event_saveLogButtonActionPerformed 00220 00221 private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportButtonActionPerformed 00222 //Implement export results 00223 if (trustGrapher.graphsLoaded()){ 00224 ChatterBox.alert("Export results. To implement this, go to " + this.getClass().getName() + ",\nthen search 'Implement export results'."); 00225 } 00226 }//GEN-LAST:event_exportButtonActionPerformed 00227 00228 private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitButtonActionPerformed 00229 PlaybackPanel playbackPanel = (trustGrapher.graphsLoaded()) ? trustGrapher.getEventPlayer().getPlaybackPanel() : null; 00230 if (playbackPanel != null) { 00231 playbackPanel.getPauseButton().doClick(); 00232 } 00233 if (ChatterBox.yesNoDialog("Are you sure you want to exit?")) { 00234 System.exit(0); 00235 } 00236 }//GEN-LAST:event_exitButtonActionPerformed 00237 00238 private void insertEventButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertEventButtonActionPerformed 00239 EventInjector.getNewEvent(trustGrapher.getEventPlayer()); 00240 }//GEN-LAST:event_insertEventButtonActionPerformed 00241 00242 private void modifyeventButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_modifyeventButtonActionPerformed 00243 EventInjector.modifyEvent(trustGrapher.getEventPlayer()); 00244 }//GEN-LAST:event_modifyeventButtonActionPerformed 00245 00246 private void removeEventButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeEventButtonActionPerformed 00247 trustGrapher.getEventPlayer().removeEvent(); 00248 }//GEN-LAST:event_removeEventButtonActionPerformed 00249 00250 private void optionsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_optionsButtonActionPerformed 00251 if (trustGrapher.graphsLoaded()){ 00252 trustGrapher.getEventPlayer().pause(); 00253 } 00254 OptionsWindow.run(trustGrapher); 00255 }//GEN-LAST:event_optionsButtonActionPerformed 00256 00257 private void tabbedViewButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tabbedViewButtonActionPerformed 00258 PropertyManager config = trustGrapher.getPropertyManager(); 00259 EventPlayer eventThread = trustGrapher.getEventPlayer(); 00260 config.setProperty("viewType", "" + TrustGrapher.TABBED); 00261 config.save(); 00262 if (trustGrapher.graphsLoaded()) { 00263 eventThread.goToEvent(0); 00264 trustGrapher.startGraph(trustGrapher.getEventPlayer().getEvents()); 00265 } 00266 }//GEN-LAST:event_tabbedViewButtonActionPerformed 00267 00268 private void gridViewButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gridViewButtonActionPerformed 00269 PropertyManager config = trustGrapher.getPropertyManager(); 00270 EventPlayer eventThread = trustGrapher.getEventPlayer(); 00271 config.setProperty("viewType", "" + TrustGrapher.GRID); 00272 config.save(); 00273 if (trustGrapher.graphsLoaded()) { 00274 eventThread.goToEvent(0); 00275 trustGrapher.startGraph(eventThread.getEvents()); 00276 } 00277 }//GEN-LAST:event_gridViewButtonActionPerformed 00278 00279 private void togglePlaybackPanelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_togglePlaybackPanelButtonActionPerformed 00280 PropertyManager config = trustGrapher.getPropertyManager(); 00281 EventPlayer eventThread = trustGrapher.getEventPlayer(); 00282 config.setProperty(SHOW_PLAYBACK_PANEL, "" + togglePlaybackPanelButton.isSelected()); 00283 config.save(); 00284 if (trustGrapher.graphsLoaded()) { //If events have been loaded 00285 eventThread.getPlaybackPanel().setVisible(togglePlaybackPanelButton.isSelected()); 00286 //If you pack when the panel is not visible, it will leave an empty space for the panel 00287 if (togglePlaybackPanelButton.isSelected()) { 00288 trustGrapher.pack(); 00289 trustGrapher.validate(); 00290 } 00291 } 00292 }//GEN-LAST:event_togglePlaybackPanelButtonActionPerformed 00293 00294 private void toggleEventPanelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_toggleEventPanelButtonActionPerformed 00295 PropertyManager config = trustGrapher.getPropertyManager(); 00296 EventPlayer eventThread = trustGrapher.getEventPlayer(); 00297 config.setProperty(SHOW_EVENT_PANEL, "" + toggleEventPanelButton.isSelected()); 00298 config.save(); 00299 if (trustGrapher.graphsLoaded()) { //If events have been loaded 00300 eventThread.getLogPanel().setVisible(toggleEventPanelButton.isSelected()); 00301 //If you pack when the panel is not visible, it will leave an empty space for the panel 00302 if (toggleEventPanelButton.isSelected()) { 00303 trustGrapher.pack(); 00304 trustGrapher.validate(); 00305 } 00306 } 00307 }//GEN-LAST:event_toggleEventPanelButtonActionPerformed 00308 // Variables declaration - do not modify//GEN-BEGIN:variables 00309 private javax.swing.JRadioButtonMenuItem gridViewButton; 00310 private javax.swing.JRadioButtonMenuItem tabbedViewButton; 00311 public javax.swing.JCheckBoxMenuItem toggleEventPanelButton; 00312 public javax.swing.JCheckBoxMenuItem togglePlaybackPanelButton; 00313 private javax.swing.ButtonGroup viewButtonGroup; 00314 // End of variables declaration//GEN-END:variables 00315 } 00317