TrustGrapher  r52
A playabale simulator for modelling trust between agents
D:/src/cu/trustGrapher/TrustMenuBar.java
Go to the documentation of this file.
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