logging-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sde...@apache.org
Subject svn commit: r995673 - in /logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw: LogUI.java ReceiverConfigurationPanel.java
Date Fri, 10 Sep 2010 05:44:46 GMT
Author: sdeboy
Date: Fri Sep 10 05:44:46 2010
New Revision: 995673

URL: http://svn.apache.org/viewvc?rev=995673&view=rev
Log:
Reworked receiver config panel layout

Now showing radio buttons at the top and showing details in a lower panel based on the selected
radio button.  Replaced I'm fine, thanks radio button with a cancel button

Modified:
    logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java
    logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java

Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java?rev=995673&r1=995672&r2=995673&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java Fri Sep 10 05:44:46
2010
@@ -1448,7 +1448,7 @@ public class LogUI extends JFrame implem
 
           dialog.setResizable(false);
 
-          receiverConfigurationPanel.setOkActionListener(
+          receiverConfigurationPanel.setCompletionActionListener(
             new ActionListener() {
               public void actionPerformed(ActionEvent e) {
                 dialog.setVisible(false);

Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java?rev=995673&r1=995672&r2=995673&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
(original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
Fri Sep 10 05:44:46 2010
@@ -16,7 +16,9 @@
  */
 package org.apache.log4j.chainsaw;
 
+import java.awt.BorderLayout;
 import java.awt.Component;
+import java.awt.Dimension;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
 import java.awt.Insets;
@@ -40,7 +42,6 @@ import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JRadioButton;
-import javax.swing.JSeparator;
 import javax.swing.JTextField;
 import javax.swing.JTextPane;
 import javax.swing.SwingUtilities;
@@ -89,31 +90,40 @@ class ReceiverConfigurationPanel extends
     //don't warn again widgets
     private JCheckBox dontwarnIfNoReceiver;
 
-    //ok button
     private JButton okButton;
+    private JButton cancelButton;
 
     //radiobutton widgets
     private JRadioButton logFileReceiverRadioButton;
     private JRadioButton networkReceiverRadioButton;
-    private JRadioButton doNothingRadioButton;
     private JRadioButton useExistingConfigurationRadioButton;
     private JRadioButton useAutoSavedConfigRadioButton;
     private ButtonGroup buttonGroup;
 
-    ReceiverConfigurationPanel() {
-        JPanel networkReceiverPanel = buildNetworkReceiverPanel();
-        JPanel logFileReceiverPanel = buildLogFileReceiverPanel();
-        JPanel useExistingConfigurationPanel = buildUseExistingConfigurationPanel();
-        JPanel dontWarnAndOKPanel = buildDontWarnAndOKPanel();
-        JPanel bottomDescriptionPanel = buildBottomDescriptionPanel();
+    private JPanel lowerPanel;
 
-        buttonGroup = new ButtonGroup();
+    private final JPanel networkReceiverPanel = buildNetworkReceiverPanel();
+    private final JPanel logFileReceiverPanel = buildLogFileReceiverPanel();
+    private final JPanel useExistingConfigurationPanel = buildUseExistingConfigurationPanel();
+    private final JPanel dontWarnAndOKPanel = buildDontWarnAndOKPanel();
+    private final JPanel bottomDescriptionPanel = buildBottomDescriptionPanel();
 
-        setBorder(BorderFactory.createEmptyBorder(5, 15, 5, 15));
+    //set by LogUI to handle hiding of the dialog
+    private ActionListener completionActionListener;
 
+    ReceiverConfigurationPanel() {
+        setBorder(BorderFactory.createEmptyBorder(5, 15, 5, 15));
         setLayout(new GridBagLayout());
 
+        buttonGroup = new ButtonGroup();
+
+        lowerPanel = new JPanel(new BorderLayout());
+        lowerPanel.setBorder(BorderFactory.createEtchedBorder());
+        lowerPanel.setPreferredSize(new Dimension(600, 275));
+        lowerPanel.setMinimumSize(new Dimension(600, 275));
+
         int yPos = 0;
+
         GridBagConstraints c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = yPos++;
@@ -125,22 +135,6 @@ class ReceiverConfigurationPanel extends
         c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = yPos++;
-        c.weightx = 0.5;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(0, 10, 0, 0);
-        add(logFileReceiverPanel, c);
-
-        //HTML label is adding extra space..
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(3, 30, 5, 30);
-        add(new JSeparator(), c);
-
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
         c.fill = GridBagConstraints.HORIZONTAL;
         networkReceiverRadioButton = new JRadioButton("Receive events from the network");
         buttonGroup.add(networkReceiverRadioButton);
@@ -149,21 +143,6 @@ class ReceiverConfigurationPanel extends
         c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = yPos++;
-        c.weightx = 0.5;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(0, 10, 0, 0);
-        add(networkReceiverPanel, c);
-
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(12, 30, 5, 30);
-        add(new JSeparator(), c);
-
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
         c.fill = GridBagConstraints.HORIZONTAL;
         useExistingConfigurationRadioButton = new JRadioButton("Use an existing Chainsaw
configuration file...");
         buttonGroup.add(useExistingConfigurationRadioButton);
@@ -172,21 +151,6 @@ class ReceiverConfigurationPanel extends
         c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = yPos++;
-        c.weightx = 0.5;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(0, 10, 0, 0);
-        add(useExistingConfigurationPanel, c);
-
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(12, 30, 5, 30);
-        add(new JSeparator(), c);
-
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
         c.fill = GridBagConstraints.HORIZONTAL;
         c.insets = new Insets(0, 0, 0, 0);
         useAutoSavedConfigRadioButton = new JRadioButton("Use auto-saved configuration from
$HOME/.chainsaw/receiver-config.xml");
@@ -197,17 +161,9 @@ class ReceiverConfigurationPanel extends
         c.gridx = 0;
         c.gridy = yPos++;
         c.fill = GridBagConstraints.HORIZONTAL;
-        c.insets = new Insets(12, 30, 5, 30);
-        add(new JSeparator(), c);
-
-        c = new GridBagConstraints();
-        c.gridx = 0;
-        c.gridy = yPos++;
-        c.fill = GridBagConstraints.HORIZONTAL;
-        doNothingRadioButton = new JRadioButton("I'm fine thanks, don't worry");
-        buttonGroup.add(doNothingRadioButton);
-        add(doNothingRadioButton, c);
-
+        c.insets = new Insets(10, 10, 10, 0);
+        add(lowerPanel, c);
+        
         c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = yPos++;
@@ -220,6 +176,7 @@ class ReceiverConfigurationPanel extends
         c.gridx = 0;
         c.gridy = yPos++;
         c.fill = GridBagConstraints.HORIZONTAL;
+        c.insets = new Insets(10, 10, 10, 0);
         add(bottomDescriptionPanel, c);
 
         /**
@@ -234,13 +191,11 @@ class ReceiverConfigurationPanel extends
 
         logFileReceiverRadioButton.addActionListener(al);
         networkReceiverRadioButton.addActionListener(al);
-        doNothingRadioButton.addActionListener(al);
         useExistingConfigurationRadioButton.addActionListener(al);
         useAutoSavedConfigRadioButton.addActionListener(al);
 
-        //set 'do nothing' as default
-        buttonGroup.setSelected(doNothingRadioButton.getModel(), true);
-        updateEnabledState(doNothingRadioButton);
+        buttonGroup.setSelected(logFileReceiverRadioButton.getModel(), true);
+        updateEnabledState(logFileReceiverRadioButton);
     }
 
     private JPanel buildDontWarnAndOKPanel() {
@@ -261,6 +216,28 @@ class ReceiverConfigurationPanel extends
         okButton = new JButton(" OK ");
         panel.add(okButton, c);
 
+        c = new GridBagConstraints();
+        c.fill = GridBagConstraints.HORIZONTAL;
+        c.gridx = 2;
+        c.gridy = 0;
+        cancelButton = new JButton(" Cancel ");
+        panel.add(cancelButton, c);
+        cancelButton.addActionListener(new ActionListener()
+        {
+            public void actionPerformed(ActionEvent e)
+            {
+                panelModel.setCancelled();
+                completionActionListener.actionPerformed(new ActionEvent(this, -1, "cancelled"));
+            }
+        });
+
+        okButton.addActionListener(new ActionListener()
+        {
+            public void actionPerformed(ActionEvent e)
+            {
+                completionActionListener.actionPerformed(new ActionEvent(this, -1, "cancelled"));
+            }
+        });
         return panel;
     }
 
@@ -271,7 +248,7 @@ class ReceiverConfigurationPanel extends
         StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
         doc.setParagraphAttributes(0, doc.getLength(), center, false);
 
-        descriptionTextPane.setText("The active configuration is auto-saved on exit to $HOME/.chainsaw/receiver-config.xml\n\nAn
example configuration file is available from the Welcome tab");
+        descriptionTextPane.setText("An example configuration file is available from the
Welcome tab");
         descriptionTextPane.setEditable(false);
         descriptionTextPane.setOpaque(false);
         descriptionTextPane.setFont(getFont());
@@ -437,7 +414,7 @@ class ReceiverConfigurationPanel extends
         c.gridy = 5;
         c.gridwidth=5;
         c.insets = new Insets(5, 5, 0, 5);
-        panel.add(new JLabel("<html> Log file format examples: (See PatternLayout or
LogFilePatternReceiver JavaDoc for details) <ul><li>PatternLayout: %-5p %d [%t]
%c: %m%n</li><li>LogFilePatternReceiver: LEVEL TIMESTAMP [THREAD] LOGGER: MESSAGE</li></ul></html>"),
c);
+        panel.add(new JLabel("<html> Log file format examples: <ul><li>PatternLayout:
%-5p %d [%t] %c: %m%n</li><li>LogFilePatternReceiver: LEVEL TIMESTAMP [THREAD]
LOGGER: MESSAGE</li></ul> See PatternLayout or LogFilePatternReceiver JavaDoc
for details</html>"), c);
         return panel;
     }
 
@@ -535,20 +512,23 @@ class ReceiverConfigurationPanel extends
      * back this Panel's model top determine what to do.
      * @param actionListener listener which will be notified that ok was selected
      */
-    void setOkActionListener(ActionListener actionListener) {
-        okButton.addActionListener(actionListener);
+    void setCompletionActionListener(ActionListener actionListener) {
+        completionActionListener = actionListener;
     }
 
     private void updateEnabledState(Component component) {
-        existingConfigurationComboBox.setEnabled(component == useExistingConfigurationRadioButton);
-        browseForAnExistingConfigurationButton.setEnabled(component == useExistingConfigurationRadioButton);
-        networkReceiverPortComboBox.setEnabled(component == networkReceiverRadioButton);
-        networkReceiverClassNameComboBox.setEnabled(component == networkReceiverRadioButton);
-        browseLogFileButton.setEnabled(component == logFileReceiverRadioButton);
-        logFileURLTextField.setEnabled(component == logFileReceiverRadioButton);
-        logFileFormatTypeComboBox.setEnabled(component == logFileReceiverRadioButton);
-        logFileFormatTextField.setEnabled(component == logFileReceiverRadioButton);
-        logFileFormatTimestampFormatComboBox.setEnabled(component == logFileReceiverRadioButton);
+        lowerPanel.removeAll();
+        if (component == useExistingConfigurationRadioButton) {
+            lowerPanel.add(useExistingConfigurationPanel, BorderLayout.NORTH);
+        }
+        if (component == networkReceiverRadioButton) {
+            lowerPanel.add(networkReceiverPanel, BorderLayout.NORTH);
+        }
+        if (component == logFileReceiverRadioButton) {
+            lowerPanel.add(logFileReceiverPanel, BorderLayout.NORTH);
+        }
+        lowerPanel.revalidate();
+        lowerPanel.repaint();
     }
 
     /**
@@ -641,6 +621,7 @@ class ReceiverConfigurationPanel extends
 
         private URL configUrl;
         private File file;
+        private boolean cancelled;
 
         public PanelModel(){
             file = new File(SettingsManager.getInstance().getSettingsDirectory(), "receiver-config.xml");
@@ -648,7 +629,7 @@ class ReceiverConfigurationPanel extends
 
         boolean isNetworkReceiverMode() {
 
-            return networkReceiverRadioButton.isSelected();
+            return !cancelled && networkReceiverRadioButton.isSelected();
         }
 
         int getNetworkReceiverPort() {
@@ -662,16 +643,16 @@ class ReceiverConfigurationPanel extends
 
         boolean isLoadConfig() {
 
-            return useExistingConfigurationRadioButton.isSelected();
+            return !cancelled && useExistingConfigurationRadioButton.isSelected();
         }
 
         boolean isLoadSavedConfigs() {
 
-            return useAutoSavedConfigRadioButton.isSelected();
+            return !cancelled && useAutoSavedConfigRadioButton.isSelected();
         }
 
         boolean isLogFileReceiverConfig() {
-            return logFileReceiverRadioButton.isSelected();
+            return !cancelled && logFileReceiverRadioButton.isSelected();
         }
 
         public Object[] getRememberedConfigs() {
@@ -764,5 +745,10 @@ class ReceiverConfigurationPanel extends
             //TODO: implement
             return new Object[0];
         }
+
+        public void setCancelled()
+        {
+            cancelled = true;
+        }
     }
 }



Mime
View raw message