psmith 2003/06/22 20:50:33
Modified: src/java/org/apache/log4j/chainsaw ReceiversPanel.java
Log:
Changes because of TreeModel moving from static factory, to refresh
methodology.
Revision Changes Path
1.13 +50 -16
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ReceiversPanel.java
Index: ReceiversPanel.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ReceiversPanel.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ReceiversPanel.java 23 Jun 2003 02:56:16 -0000 1.12
+++ ReceiversPanel.java 23 Jun 2003 03:50:33 -0000 1.13
@@ -91,6 +91,8 @@
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeModel;
/**
@@ -121,7 +123,7 @@
setMinimumSize(getPreferredSize());
setMaximumSize(getPreferredSize());
- receiversTree.setModel(ReceiversTreeModel.create());
+ receiversTree.setModel(new ReceiversTreeModel());
receiversTree.setToolTipText("Allows you to manage Log4j Receivers");
newReceiverButtonAction =
@@ -256,7 +258,10 @@
updateReceiverTree =
new Runnable() {
public void run() {
- receiversTree.setModel(ReceiversTreeModel.create());
+ ReceiversTreeModel model =
+ (ReceiversTreeModel) receiversTree.getModel();
+
+ model.refresh();
}
};
@@ -347,7 +352,7 @@
* not user Object
* @return Object representing currently seleted Node's User Object
*/
- private Object getCurrentlySeletedUserObject() {
+ private Object getCurrentlySelectedUserObject() {
DefaultMutableTreeNode node =
(DefaultMutableTreeNode) receiversTree.getLastSelectedPathComponent();
@@ -367,11 +372,12 @@
new Thread(
new Runnable() {
public void run() {
- Receiver receiver = getCurrentlySelectedReceiver();
+ Object obj = getCurrentlySelectedUserObject();
- if ((receiver != null) && receiver instanceof Pauseable) {
- ((Pauseable) receiver).setPaused(false);
- updateReceiverTreeInDispatchThread();
+ if ((obj != null) && obj instanceof Pauseable) {
+ ((Pauseable) obj).setPaused(false);
+
+ updateCurrentlySelectedNodeInDispatchThread();
}
}
}).start();
@@ -389,17 +395,38 @@
new Thread(
new Runnable() {
public void run() {
- Receiver receiver = getCurrentlySelectedReceiver();
+ Object obj = getCurrentlySelectedUserObject();
- if ((receiver != null) && receiver instanceof Pauseable) {
- ((Pauseable) receiver).setPaused(true);
- updateReceiverTreeInDispatchThread();
+ if ((obj != null) && obj instanceof Pauseable) {
+ ((Pauseable) obj).setPaused(true);
+ updateCurrentlySelectedNodeInDispatchThread();
}
}
}).start();
}
/**
+ *
+ */
+ protected void updateCurrentlySelectedNodeInDispatchThread() {
+ SwingUtilities.invokeLater(
+ new Runnable() {
+ public void run() {
+ DefaultMutableTreeNode node =
+ (DefaultMutableTreeNode) receiversTree
+ .getLastSelectedPathComponent();
+
+ if (node == null) {
+ return;
+ }
+
+ ((ReceiversTreeModel) receiversTree.getModel()).reload(node);
+ updateActions();
+ }
+ });
+ }
+
+ /**
* Takes the currently selected Receiver and stops it, which effectively
* removes it from the PluginRegistry.
*
@@ -431,22 +458,19 @@
*
*/
private void updateActions() {
- Object object = getCurrentlySeletedUserObject();
+ Object object = getCurrentlySelectedUserObject();
if ((object != null) && object instanceof Pauseable) {
Pauseable pauseable = (Pauseable) object;
if (!pauseable.isPaused()) {
- shutdownReceiverButtonAction.setEnabled(true);
pauseReceiverButtonAction.setEnabled(true);
playReceiverButtonAction.setEnabled(false);
} else {
- shutdownReceiverButtonAction.setEnabled(true);
pauseReceiverButtonAction.setEnabled(false);
playReceiverButtonAction.setEnabled(true);
}
} else {
- shutdownReceiverButtonAction.setEnabled(false);
pauseReceiverButtonAction.setEnabled(false);
playReceiverButtonAction.setEnabled(false);
}
@@ -454,8 +478,10 @@
if (object instanceof Receiver) {
editReceiverButtonAction.setEnabled(true);
newReceiverButtonAction.setEnabled(true);
+ shutdownReceiverButtonAction.setEnabled(true);
} else {
editReceiverButtonAction.setEnabled(false);
+ shutdownReceiverButtonAction.setEnabled(false);
newReceiverButtonAction.setEnabled(true);
}
}
@@ -563,7 +589,7 @@
Object userObject = node.getUserObject();
removeAll();
- if (userObject == ReceiversTreeModel.RootNode.getUserObject()) {
+ if (userObject == getRootOfTree().getUserObject()) {
buildForReceiversRoot();
} else {
buildForReceiverNode();
@@ -573,6 +599,14 @@
this.validate();
super.show(invoker, x, y);
+ }
+
+ /**
+ *
+ */
+ private DefaultMutableTreeNode getRootOfTree() {
+ return (DefaultMutableTreeNode) receiversTree.getModel().getRoot();
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]