psmith      2003/12/14 13:27:38

  Modified:    src/java/org/apache/log4j/chainsaw
                        ChainsawToolBarAndMenus.java LogUI.java
                        ApplicationPreferenceModel.java
                        ApplicationPreferenceModelPanel.java
  Log:
  More refactoring of the Application Preference stuff.
  
  The state of the Toolbar and Receivers panel is now under
  the control of the ApplicationPreferenceModel, with
  all GUI items reacting to changes in that model. The state of visibility of these 
items can now be saved
  as a preference.
  
  Also resized the App Pref panel and got it to center on screen.
  
  Revision  Changes    Path
  1.26      +23 -48    
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
  
  Index: ChainsawToolBarAndMenus.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ChainsawToolBarAndMenus.java      14 Dec 2003 05:04:19 -0000      1.25
  +++ ChainsawToolBarAndMenus.java      14 Dec 2003 21:27:38 -0000      1.26
  @@ -49,7 +49,6 @@
   
   package org.apache.log4j.chainsaw;
   
  -import java.awt.BorderLayout;
   import java.awt.Dimension;
   import java.awt.Insets;
   import java.awt.event.ActionEvent;
  @@ -193,7 +192,15 @@
            boolean value = ((Boolean)evt.getNewValue()).booleanValue();
            toggleStatusBarCheck.setSelected(value);
         }});
  -  }
  +    
  +    logui.getApplicationPreferenceModel().addPropertyChangeListener("receivers", 
new PropertyChangeListener() {
  +
  +      public void propertyChange(PropertyChangeEvent evt) {
  +        boolean value = ((Boolean)evt.getNewValue()).booleanValue();
  +        showReceiversButton.setSelected(value);
  +        toggleShowReceiversCheck.setSelected(value);
  +      }});
  +   }
   
     /**
      * @return
  @@ -422,14 +429,18 @@
   
       viewMenu.setMnemonic('V');
   
  -    JCheckBoxMenuItem lockToolbarCheck =
  -      new JCheckBoxMenuItem(lockToolbarAction);
  -    lockToolbarCheck.setSelected(true);
  -
  -    JCheckBoxMenuItem showToolbarCheck =
  +    final JCheckBoxMenuItem showToolbarCheck =
         new JCheckBoxMenuItem(toggleToolbarAction);
  -    showToolbarCheck.setSelected(true);
  +    showToolbarCheck.setSelected(logui.getApplicationPreferenceModel().isToolbar());
  +
  +    logui.getApplicationPreferenceModel().addPropertyChangeListener("toolbar", new 
PropertyChangeListener() {
   
  +      public void propertyChange(PropertyChangeEvent evt)
  +      {
  +        boolean value =((Boolean)evt.getNewValue()).booleanValue();
  +        showToolbarCheck.setSelected(value);
  +      }});
  +    
       menuItemClose.setAction(closeAction);
   
       JCheckBoxMenuItem pause = new JCheckBoxMenuItem(pauseAction);
  @@ -662,7 +673,7 @@
       final Action action =
         new AbstractAction("Show Receivers") {
           public void actionPerformed(ActionEvent arg0) {
  -          logui.toggleReceiversPanel();
  +          
logui.getApplicationPreferenceModel().setReceivers(!logui.getApplicationPreferenceModel().isReceivers());
           }
         };
   
  @@ -712,34 +723,9 @@
        */
       final Action toggleToolbarAction =
         new AbstractAction("Show Toolbar") {
  -        private boolean hide = false;
   
           public void actionPerformed(ActionEvent e) {
  -          hide = !hide;
  -
  -          Runnable runnable = null;
  -
  -          if (hide) {
  -            runnable =
  -              new Runnable() {
  -                  public void run() {
  -                    logui.getContentPane().remove(toolbar);
  -                    logui.getRootPane().repaint();
  -                    logui.getRootPane().revalidate();
  -                  }
  -                };
  -          } else {
  -            runnable =
  -              new Runnable() {
  -                  public void run() {
  -                    logui.getContentPane().add(toolbar, BorderLayout.NORTH);
  -                    logui.getRootPane().repaint();
  -                    logui.getRootPane().revalidate();
  -                  }
  -                };
  -          }
  -
  -          SwingUtilities.invokeLater(runnable);
  +          
logui.getApplicationPreferenceModel().setToolbar(!logui.getApplicationPreferenceModel().isToolbar());
           }
         };
   
  @@ -871,23 +857,12 @@
     }
   
     private void scanState() {
  -//    switch (logui.getTabbedPane().getTabPlacement()) {
  -//    case SwingConstants.TOP:
  -//      tabsTop.setSelected(true);
  -//
  -//      break;
  -//
  -//    case SwingConstants.BOTTOM:
  -//      tabsBottom.setSelected(true);
  -//
  -//      break;
  -//    }
   
       toggleStatusBarCheck.setSelected(logui.isStatusBarVisible());
  -    toggleShowReceiversCheck.setSelected(logui.isReceiverPanelVisible());
  +    
toggleShowReceiversCheck.setSelected(logui.getApplicationPreferenceModel().isReceivers());
   
       logTreePaneButton.setSelected(logui.isLogTreePanelVisible());
  -    showReceiversButton.setSelected(logui.isReceiverPanelVisible());
  +    
showReceiversButton.setSelected(logui.getApplicationPreferenceModel().isReceivers());
       menuItemClose.setSelected(logui.getTabbedPane().containsWelcomePanel());
   
       /**
  
  
  
  1.54      +23 -16    jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java
  
  Index: LogUI.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- LogUI.java        14 Dec 2003 05:04:19 -0000      1.53
  +++ LogUI.java        14 Dec 2003 21:27:38 -0000      1.54
  @@ -417,6 +417,22 @@
             boolean value = ((Boolean)evt.getNewValue()).booleanValue();
             setStatusBarVisible(value);
         }});
  +
  +    applicationPreferenceModel.addPropertyChangeListener("receivers", new 
PropertyChangeListener() {
  +
  +      public void propertyChange(PropertyChangeEvent evt) {
  +        boolean value = ((Boolean)evt.getNewValue()).booleanValue();
  +        receiversPanel.setVisible(value);
  +      }});
  +    receiversPanel.setVisible(applicationPreferenceModel.isReceivers());
  +    
  +    applicationPreferenceModel.addPropertyChangeListener("toolbar", new 
PropertyChangeListener() {
  +
  +      public void propertyChange(PropertyChangeEvent evt) {
  +        boolean value = ((Boolean)evt.getNewValue()).booleanValue();
  +        toolbar.setVisible(value);
  +      }});
  +    toolbar.setVisible(applicationPreferenceModel.isToolbar());
       
       setStatusBarVisible(applicationPreferenceModel.isStatusBar());
       
  @@ -660,7 +676,11 @@
           ((ImageIcon) ChainsawIcons.ICON_PREFERENCES).getImage());
       preferencesFrame.getContentPane().add(applicationPreferenceModelPanel);
   
  -    preferencesFrame.setSize(640, 480);
  +    preferencesFrame.setSize(640, 340);
  +    
  +    Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
  +    preferencesFrame.setLocation(new 
Point((screenDimension.width/2)-(preferencesFrame.getSize().width/2),  
(screenDimension.height/2)-(preferencesFrame.getSize().height/2)  ));
  +    
       getSettingsManager().configure(
         new SettingsListener() {
           public void loadSettings(LoadSettingsEvent event) {
  @@ -983,8 +1003,8 @@
             dialog.dispose();
   
             
applicationPreferenceModel.setShowNoReceiverWarning(!noReceiversWarningPanel.isDontWarnMeAgain());
  -          if (noReceiversWarningPanel.getModel().isManualMode()) {
  -            toggleReceiversPanel();
  +          if (noReceiversWarningPanel.getModel().isManualMode() ) {
  +            applicationPreferenceModel.setReceivers(true);
             } else if (noReceiversWarningPanel.getModel().isSimpleReceiverMode()) {
               int port = noReceiversWarningPanel.getModel().getSimplePort();
               Class receiverClass =
  @@ -1060,19 +1080,6 @@
         getTabbedPane().remove(
           getTabbedPane().getComponentAt(getTabbedPane().indexOfTab("Welcome")));
       }
  -  }
  -
  -  void toggleReceiversPanel() {
  -    SwingUtilities.invokeLater(
  -      new Runnable() {
  -        public void run() {
  -          receiversPanel.setVisible(!receiversPanel.isVisible());
  -          receiversPanel.invalidate();
  -          receiversPanel.validate();
  -
  -          getToolBarAndMenus().stateChange();
  -        }
  -      });
     }
   
     boolean isReceiverPanelVisible() {
  
  
  
  1.6       +41 -0     
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
  
  Index: ApplicationPreferenceModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ApplicationPreferenceModel.java   14 Dec 2003 05:04:19 -0000      1.5
  +++ ApplicationPreferenceModel.java   14 Dec 2003 21:27:38 -0000      1.6
  @@ -68,6 +68,9 @@
   
       private boolean showNoReceiverWarning  ;
       private boolean statusBar;
  +    private boolean toolbar;
  +    private boolean receivers;
  +    
       
       private int responsiveness;
       
  @@ -198,6 +201,8 @@
          setResponsiveness(event.asInt("Responsiveness"));
          setTabPlacement(event.asInt("tabPlacement"));
          setStatusBar(event.asBoolean("statusBar"));
  +       setToolbar(event.asBoolean("toolbar"));
  +       setReceivers(event.asBoolean("receivers"));
       }
   
       /* (non-Javadoc)
  @@ -209,6 +214,8 @@
           event.saveSetting("Responsiveness", getResponsiveness());
           event.saveSetting("tabPlacement", getTabPlacement());
           event.saveSetting("statusBar", isStatusBar());
  +        event.saveSetting("toolbar", isToolbar());
  +        event.saveSetting("receivers", isReceivers());
       }
   
       /**
  @@ -222,6 +229,8 @@
         setResponsiveness(model.getResponsiveness());
         setTabPlacement(model.getTabPlacement());
         setStatusBar(model.isStatusBar());
  +      setToolbar(model.isToolbar());
  +      setReceivers(model.isReceivers());
       }
       /**
        * @return Returns the responsiveness.
  @@ -271,4 +280,36 @@
         firePropertyChange("statusBar", oldValue, this.statusBar);
       }
   
  +    /**
  +     * @return Returns the receivers.
  +     */
  +    public final boolean isReceivers()
  +    {
  +      return receivers;
  +    }
  +    /**
  +     * @param receivers The receivers to set.
  +     */
  +    public final void setReceivers(boolean receivers)
  +    {
  +      boolean oldValue = this.receivers;
  +      this.receivers = receivers;
  +      firePropertyChange("receivers", oldValue, this.receivers);
  +    }
  +    /**
  +     * @return Returns the toolbar.
  +     */
  +    public final boolean isToolbar()
  +    {
  +      return toolbar;
  +    }
  +    /**
  +     * @param toolbar The toolbar to set.
  +     */
  +    public final void setToolbar(boolean toolbar)
  +    {
  +      boolean oldValue = this.toolbar;
  +      this.toolbar = toolbar;
  +      firePropertyChange("toolbar", oldValue, this.toolbar);
  +    }
   }
  
  
  
  1.5       +32 -1     
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
  
  Index: ApplicationPreferenceModelPanel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ApplicationPreferenceModelPanel.java      14 Dec 2003 05:04:19 -0000      1.4
  +++ ApplicationPreferenceModelPanel.java      14 Dec 2003 21:27:38 -0000      1.5
  @@ -170,6 +170,8 @@
         private final JRadioButton bottomPlacement = new JRadioButton("Bottom");
   
         private final JCheckBox statusBar = new JCheckBox("Show Status bar");
  +      private final JCheckBox toolBar = new JCheckBox("Show Toolbar");
  +      private final JCheckBox receivers = new JCheckBox("Show Receivers");
         
         private VisualsPrefPanel() {
           super("Visuals");
  @@ -198,6 +200,18 @@
                uncommittedPreferenceModel.setStatusBar(statusBar.isSelected());
             }});
            
  +         toolBar.addActionListener(new ActionListener() {
  +
  +           public void actionPerformed(ActionEvent e) {
  +             uncommittedPreferenceModel.setToolbar(toolBar.isSelected());
  +           }});
  +         
  +         receivers.addActionListener(new ActionListener() {
  +
  +           public void actionPerformed(ActionEvent e) {
  +             uncommittedPreferenceModel.setReceivers(receivers.isSelected());
  +           }});
  +         
            uncommittedPreferenceModel.addPropertyChangeListener("tabPlacement", new 
PropertyChangeListener() {
   
             public void propertyChange(PropertyChangeEvent evt) {
  @@ -221,7 +235,21 @@
               statusBar.setSelected(((Boolean)evt.getNewValue()).booleanValue());
               
             }});
  -      }
  +        
  +         uncommittedPreferenceModel.addPropertyChangeListener("toolbar", new 
PropertyChangeListener() {
  +
  +           public void propertyChange(PropertyChangeEvent evt) {
  +             toolBar.setSelected(((Boolean)evt.getNewValue()).booleanValue());
  +             
  +           }});
  +        
  +         uncommittedPreferenceModel.addPropertyChangeListener("receivers", new 
PropertyChangeListener() {
  +
  +           public void propertyChange(PropertyChangeEvent evt) {
  +             receivers.setSelected(((Boolean)evt.getNewValue()).booleanValue());
  +             
  +           }});
  +        }
   
         /**
          * 
  @@ -246,6 +274,9 @@
           
           add(tabPlacementBox);
           add(statusBar);
  +        add(receivers);
  +        add(toolBar);
  +        
           
           
         }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to