psmith 2003/06/22 19:56:16
Modified: src/java/org/apache/log4j/chainsaw ReceiversPanel.java
Log:
Now uses the Pauseable interface to
activate the Pausing/resuming actions.
also allowed edit of Current receiver from popup menu (not that
the action does anything just yet).
Revision Changes Path
1.12 +79 -67
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.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ReceiversPanel.java 20 Jun 2003 06:32:31 -0000 1.11
+++ ReceiversPanel.java 23 Jun 2003 02:56:16 -0000 1.12
@@ -53,6 +53,7 @@
import org.apache.log4j.chainsaw.icons.ChainsawIcons;
import org.apache.log4j.net.SocketNodeEventListener;
import org.apache.log4j.net.SocketReceiver;
+import org.apache.log4j.plugins.Pauseable;
import org.apache.log4j.plugins.PluginRegistry;
import org.apache.log4j.plugins.Receiver;
@@ -108,7 +109,6 @@
final Action playReceiverButtonAction;
final Action shutdownReceiverButtonAction;
final Action pauseReceiverButtonAction;
-
final Action newReceiverButtonAction;
final Action editReceiverButtonAction;
@@ -130,22 +130,27 @@
JOptionPane.showMessageDialog(logui, "Not Implemented yet, sorry");
}
};
- newReceiverButtonAction.putValue(Action.SMALL_ICON, new
ImageIcon(ChainsawIcons.ICON_NEW_RECEIVER));
- newReceiverButtonAction.putValue(Action.SHORT_DESCRIPTION, "Creates and
configures a new Receiver");
+ newReceiverButtonAction.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.ICON_NEW_RECEIVER));
+ newReceiverButtonAction.putValue(
+ Action.SHORT_DESCRIPTION, "Creates and configures a new Receiver");
newReceiverButtonAction.putValue(Action.NAME, "New Receiver");
newReceiverButtonAction.putValue(
Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_N));
newReceiverButtonAction.setEnabled(true);
-
+
editReceiverButtonAction =
new AbstractAction() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(logui, "Not Implemented yet, sorry");
}
};
- editReceiverButtonAction.putValue(Action.SMALL_ICON, new
ImageIcon(ChainsawIcons.ICON_EDIT_RECEIVER));
- editReceiverButtonAction.putValue(Action.SHORT_DESCRIPTION, "Edits the
configuration of the selected Receiver");
+ editReceiverButtonAction.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.ICON_EDIT_RECEIVER));
+ editReceiverButtonAction.putValue(
+ Action.SHORT_DESCRIPTION,
+ "Edits the configuration of the selected Receiver");
editReceiverButtonAction.putValue(Action.NAME, "Edit Receiver");
editReceiverButtonAction.setEnabled(false);
editReceiverButtonAction.putValue(
@@ -160,15 +165,13 @@
playReceiverButtonAction.putValue(
Action.SHORT_DESCRIPTION, "Resumes the selected Node");
- playReceiverButtonAction.putValue(
- Action.NAME, "Resume");
+ playReceiverButtonAction.putValue(Action.NAME, "Resume");
playReceiverButtonAction.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.ICON_RESUME_RECEIVER));
playReceiverButtonAction.setEnabled(false);
playReceiverButtonAction.putValue(
Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_R));
-
pauseReceiverButtonAction =
new AbstractAction() {
public void actionPerformed(ActionEvent e) {
@@ -179,12 +182,10 @@
pauseReceiverButtonAction.putValue(
Action.SHORT_DESCRIPTION,
"Pause the selected Receiver. All events received will be discarded.");
- pauseReceiverButtonAction.putValue(
- Action.NAME, "Pause");
+ pauseReceiverButtonAction.putValue(Action.NAME, "Pause");
pauseReceiverButtonAction.putValue(
Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_P));
-
pauseReceiverButtonAction.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.PAUSE));
@@ -200,8 +201,7 @@
shutdownReceiverButtonAction.putValue(
Action.SHORT_DESCRIPTION,
"Shuts down the selected Receiver, and removes it from the Plugin registry");
- shutdownReceiverButtonAction.putValue(
- Action.NAME, "Shutdown");
+ shutdownReceiverButtonAction.putValue(Action.NAME, "Shutdown");
shutdownReceiverButtonAction.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.ICON_STOP_RECEIVER));
@@ -342,6 +342,23 @@
}
/**
+ * Returns the currently seleted node's User Object, or null
+ * if there is no selected node, or if the currently selected node has
+ * not user Object
+ * @return Object representing currently seleted Node's User Object
+ */
+ private Object getCurrentlySeletedUserObject() {
+ DefaultMutableTreeNode node =
+ (DefaultMutableTreeNode) receiversTree.getLastSelectedPathComponent();
+
+ if (node == null) {
+ return null;
+ }
+
+ return node.getUserObject();
+ }
+
+ /**
* Ensures that the currently selected receiver active property is set to
* true
*
@@ -352,11 +369,8 @@
public void run() {
Receiver receiver = getCurrentlySelectedReceiver();
- if (receiver != null) {
- if (!receiver.isActive()) {
- receiver.setActive(true);
- }
-
+ if ((receiver != null) && receiver instanceof Pauseable) {
+ ((Pauseable) receiver).setPaused(false);
updateReceiverTreeInDispatchThread();
}
}
@@ -377,8 +391,8 @@
public void run() {
Receiver receiver = getCurrentlySelectedReceiver();
- if (receiver != null) {
- receiver.setActive(false);
+ if ((receiver != null) && receiver instanceof Pauseable) {
+ ((Pauseable) receiver).setPaused(true);
updateReceiverTreeInDispatchThread();
}
}
@@ -414,6 +428,39 @@
}
/**
+ *
+ */
+ private void updateActions() {
+ Object object = getCurrentlySeletedUserObject();
+
+ 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);
+ }
+
+ if (object instanceof Receiver) {
+ editReceiverButtonAction.setEnabled(true);
+ newReceiverButtonAction.setEnabled(true);
+ } else {
+ editReceiverButtonAction.setEnabled(false);
+ newReceiverButtonAction.setEnabled(true);
+ }
+ }
+
+ /**
* A simple Panel that has toolbar buttons for restarting,
* playing, pausing, and stoping receivers
*
@@ -422,11 +469,9 @@
*/
private class ReceiverToolbar extends JToolBar
implements TreeSelectionListener {
-
private ReceiverToolbar() {
setFloatable(false);
-
SmallButton playReceiverButton =
new SmallButton(playReceiverButtonAction);
playReceiverButton.setText(null);
@@ -434,25 +479,25 @@
SmallButton pauseReceiverButton =
new SmallButton(pauseReceiverButtonAction);
pauseReceiverButton.setText(null);
-
+
SmallButton shutdownReceiverButton =
new SmallButton(shutdownReceiverButtonAction);
shutdownReceiverButton.setText(null);
-
+
SmallButton restartAllButton = new SmallButton(startAllAction);
restartAllButton.setText(null);
SmallButton newReceiverButton = new SmallButton(newReceiverButtonAction);
newReceiverButton.setText(null);
- SmallButton editReceiverButton = new SmallButton(editReceiverButtonAction);
+ SmallButton editReceiverButton =
+ new SmallButton(editReceiverButtonAction);
editReceiverButton.setText(null);
-
add(newReceiverButton);
add(editReceiverButton);
addSeparator();
-
+
add(playReceiverButton);
add(pauseReceiverButton);
add(shutdownReceiverButton);
@@ -482,30 +527,7 @@
* according to the currently selected node in the tree
*/
public void valueChanged(TreeSelectionEvent e) {
- Receiver receiver = getCurrentlySelectedReceiver();
-
- if (receiver != null) {
- if (receiver.isActive()) {
- shutdownReceiverButtonAction.setEnabled(true);
- pauseReceiverButtonAction.setEnabled(true);
- playReceiverButtonAction.setEnabled(false);
- editReceiverButtonAction.setEnabled(true);
- newReceiverButtonAction.setEnabled(false);
-
- } else {
- shutdownReceiverButtonAction.setEnabled(true);
- pauseReceiverButtonAction.setEnabled(false);
- playReceiverButtonAction.setEnabled(true);
- editReceiverButtonAction.setEnabled(true);
- newReceiverButtonAction.setEnabled(false);
- }
- } else {
- shutdownReceiverButtonAction.setEnabled(false);
- pauseReceiverButtonAction.setEnabled(false);
- playReceiverButtonAction.setEnabled(false);
- editReceiverButtonAction.setEnabled(false);
- newReceiverButtonAction.setEnabled(true);
- }
+ updateActions();
}
}
@@ -517,7 +539,6 @@
*
*/
class ReceiverPopupMenu extends JPopupMenu {
-
ReceiverPopupMenu() {
}
@@ -563,23 +584,15 @@
new AbstractAction(
"Pause this Receiver", new ImageIcon(ChainsawIcons.PAUSE)) {
public void actionPerformed(ActionEvent e) {
- Receiver receiver = getCurrentlySelectedReceiver();
-
- if (receiver != null) {
- if (receiver instanceof SocketReceiver) {
- SocketReceiver socketReceiver = (SocketReceiver) receiver;
- socketReceiver.setActive(false);
- logui.getStatusBar().setMessage(
- socketReceiver.getName() + " has been paused");
- updateReceiverTreeInDispatchThread();
- }
- }
+ pauseCurrentlySelectedReceiver();
}
};
add(playReceiverButtonAction);
add(pauseReceiverButtonAction);
add(shutdownReceiverButtonAction);
+ addSeparator();
+ add(editReceiverButtonAction);
}
/**
@@ -589,13 +602,12 @@
*/
private void buildForReceiversRoot() {
JMenuItem startAll = new JMenuItem(startAllAction);
-
+
add(newReceiverButtonAction);
add(editReceiverButtonAction);
-
+
addSeparator();
add(startAll);
-
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]