psmith 2004/05/17 17:39:55
Modified: src/java/org/apache/log4j/chainsaw/version
VersionManager.java
src/java/org/apache/log4j/chainsaw LoggerNameTreePanel.java
src/java/org/apache/log4j/chainsaw/help release-notes.html
Log:
Tidied up the Hidden logger panel area of the Logger tree panel. It's now in a
popup dialog,
but you can see a summary of how many hidden loggers you have at the bottom of the
Logger
Tree panel.
Revision Changes Path
1.3 +1 -1
logging-log4j/src/java/org/apache/log4j/chainsaw/version/VersionManager.java
Index: VersionManager.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/version/VersionManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- VersionManager.java 17 May 2004 22:26:09 -0000 1.2
+++ VersionManager.java 18 May 2004 00:39:55 -0000 1.3
@@ -10,7 +10,7 @@
private static final VersionManager instance = new VersionManager();
- private static final String VERSION_INFO = "1.99.99 (18th May 2004)";
+ private static final String VERSION_INFO = "1.99.99 (18th May 2004 10:35
GMT+10)";
public static final VersionManager getInstance() {
return instance;
1.28 +83 -22
logging-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
Index: LoggerNameTreePanel.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- LoggerNameTreePanel.java 1 May 2004 09:18:48 -0000 1.27
+++ LoggerNameTreePanel.java 18 May 2004 00:39:55 -0000 1.28
@@ -20,6 +20,7 @@
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Cursor;
+import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Point;
import java.awt.Toolkit;
@@ -49,6 +50,7 @@
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
@@ -115,6 +117,8 @@
private final JList ignoreList = new JList();
private final JScrollPane ignoreListScroll = new JScrollPane(ignoreList);
+ private final JDialog ignoreDialog = new JDialog();
+ private final JLabel ignoreSummary = new JLabel("0 hidden loggers");
private final SmallToggleButton ignoreLoggerButton = new SmallToggleButton();
private final EventListenerList listenerList = new EventListenerList();
private final JTree logTree;
@@ -231,18 +235,24 @@
add(toolbar, BorderLayout.NORTH);
add(scrollTree, BorderLayout.CENTER);
- add(ignoreListScroll, BorderLayout.SOUTH);
+ ignoreDialog.setTitle("Hidden/Ignored Loggers");
+ ignoreDialog.setModal(true);
+ JPanel ignoreSummaryPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ ignoreSummaryPanel.add(ignoreSummary);
+
+ Action showIgnoreDialogAction = new AbstractAction("...") {
- CheckListCellRenderer ignoreCellRenderer = new CheckListCellRenderer()
- {
- protected boolean isSelected(Object value)
+ public void actionPerformed(ActionEvent e)
{
- return true;
- }
- };
-
- ignoreList.setCellRenderer(ignoreCellRenderer);
+ ignoreDialog.show();
+ }};
+ showIgnoreDialogAction.putValue(Action.SHORT_DESCRIPTION, "Click to view and
manage your hidden/ignored loggers");
+ JButton btnShowIgnoreDialog = new SmallButton(showIgnoreDialogAction);
+
+ ignoreSummaryPanel.add(btnShowIgnoreDialog);
+ add(ignoreSummaryPanel, BorderLayout.SOUTH);
+ ignoreList.setModel(new DefaultListModel());
ignoreList.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
@@ -269,6 +279,43 @@
}
}
});
+
+ JPanel ignoreListPanel = new JPanel(new BorderLayout());
+
ignoreListScroll.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"Double
click an entry to unhide it"));
+ ignoreListPanel.add(ignoreListScroll, BorderLayout.CENTER);
+
+ Box ignoreListButtonPanel = Box.createHorizontalBox();
+
+ JButton unhideAll = new JButton(new AbstractAction("Unhide All") {
+
+ public void actionPerformed(final ActionEvent e)
+ {
+ SwingUtilities.invokeLater(new Runnable() {
+
+ public void run()
+ {
+ clearIgnoreListAction.actionPerformed(e);
+ }});
+
+ }});
+ ignoreListButtonPanel.add(unhideAll);
+
+ ignoreListButtonPanel.add(Box.createHorizontalGlue());
+ JButton ignoreCloseButton = new JButton(new AbstractAction("Close") {
+
+ public void actionPerformed(ActionEvent e)
+ {
+ ignoreDialog.hide();
+
+ }});
+ ignoreListButtonPanel.add(ignoreCloseButton);
+
+
+ ignoreListPanel.add(ignoreListButtonPanel, BorderLayout.SOUTH);
+
+
+ ignoreDialog.getContentPane().add(ignoreListPanel);
+ ignoreDialog.pack();
}
//~ Methods =================================================================
@@ -990,6 +1037,7 @@
}
};
firePropertyChange("rule", null, null);
+ updateAllIgnoreStuff();
}
});
@@ -997,22 +1045,35 @@
{
public void propertyChange(PropertyChangeEvent arg0)
{
- DefaultListModel model = new DefaultListModel();
-
- List sortedIgnoreList = new ArrayList(getHiddenSet());
- Collections.sort(sortedIgnoreList);
-
- for (Iterator iter = sortedIgnoreList.iterator(); iter.hasNext();)
- {
- String string = (String) iter.next();
- model.addElement(string);
- }
-
- ignoreList.setModel(model);
+ updateAllIgnoreStuff();
}
});
}
+ private void updateAllIgnoreStuff() {
+ updateHiddenSetModels();
+ updateIgnoreSummary();
+ }
+
+ private void updateHiddenSetModels() {
+ DefaultListModel model = (DefaultListModel) ignoreList.getModel();
+ model.clear();
+ List sortedIgnoreList = new ArrayList(getHiddenSet());
+ Collections.sort(sortedIgnoreList);
+
+ for (Iterator iter = sortedIgnoreList.iterator(); iter.hasNext();)
+ {
+ String string = (String) iter.next();
+ model.addElement(string);
+ }
+
+// ignoreList.setModel(model);
+
+ }
+ private void updateIgnoreSummary() {
+ ignoreSummary.setText(ignoreList.getModel().getSize() + " hidden loggers");
+ }
+
private void toggleFocusOnState()
{
setFocusOnSelected(!isFocusOnSelected());
1.5 +7 -0
logging-log4j/src/java/org/apache/log4j/chainsaw/help/release-notes.html
Index: release-notes.html
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/help/release-notes.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- release-notes.html 17 May 2004 22:26:09 -0000 1.4
+++ release-notes.html 18 May 2004 00:39:55 -0000 1.5
@@ -7,6 +7,13 @@
<BODY>
<h2>Release Notes</h2>
+
+<h3>1.99.99 (18th May 2004 10:35 GMT+10)</h3>
+<h2>18 May 2004</h2>
+<ul>
+ <li>Tidied up the Logger Tree Panel's hidden logger functionality. It's now
managed by a popup dialog, freeing up space for the Logger tree itself.</li>
+</ul>
+
<h3>v1.99.99 (pre-log4j 1.3 Alpha)</h3>
<h2>18 May 2004</h2>
<ul>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]