psmith 2003/12/04 02:35:56 Modified: src/java/org/apache/log4j/chainsaw ReceiversPanel.java Log: added feature suggested by [EMAIL PROTECTED] to be able to stop all the currently selected Receivers rather than just one of them. Revision Changes Path 1.14 +19 -4 jakarta-log4j/src/java/org/apache/log4j/chainsaw/ReceiversPanel.java Index: ReceiversPanel.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ReceiversPanel.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ReceiversPanel.java 2 Nov 2003 19:53:47 -0000 1.13 +++ ReceiversPanel.java 4 Dec 2003 10:35:56 -0000 1.14 @@ -427,7 +427,6 @@ private Receiver getCurrentlySelectedReceiver() { DefaultMutableTreeNode node = (DefaultMutableTreeNode) receiversTree.getLastSelectedPathComponent(); - if (node == null) { return null; } @@ -440,6 +439,20 @@ return null; } + + private Receiver[] getSelectedReceivers() { + TreePath[] paths = receiversTree.getSelectionPaths(); + Collection receivers = new ArrayList(); + for (int i = 0; i < paths.length; i++) { + TreePath path = paths[i]; + DefaultMutableTreeNode node =(DefaultMutableTreeNode) path.getLastPathComponent(); + if (node !=null && node.getUserObject() instanceof Receiver) { + receivers.add(node.getUserObject()); + } + } + return (Receiver[]) receivers.toArray(new Receiver[0]); + + } /** * Returns the currently seleted node's User Object, or null @@ -516,10 +529,12 @@ new Thread( new Runnable() { public void run() { - Receiver receiver = getCurrentlySelectedReceiver(); + Receiver[] receivers = getSelectedReceivers(); - if (receiver != null) { - PluginRegistry.stopPlugin(receiver); + if (receivers != null) { + for (int i = 0; i < receivers.length; i++) { + PluginRegistry.stopPlugin(receivers[i]); + } } } }).start();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]