psmith 2003/12/14 13:27:38
Modified: src/java/org/apache/log4j/chainsaw
ChainsawToolBarAndMenus.java LogUI.java
ApplicationPreferenceModel.java
ApplicationPreferenceModelPanel.java
Log:
More refactoring of the Application Preference stuff.
The state of the Toolbar and Receivers panel is now under
the control of the ApplicationPreferenceModel, with
all GUI items reacting to changes in that model. The state of visibility of these
items can now be saved
as a preference.
Also resized the App Pref panel and got it to center on screen.
Revision Changes Path
1.26 +23 -48
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
Index: ChainsawToolBarAndMenus.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ChainsawToolBarAndMenus.java 14 Dec 2003 05:04:19 -0000 1.25
+++ ChainsawToolBarAndMenus.java 14 Dec 2003 21:27:38 -0000 1.26
@@ -49,7 +49,6 @@
package org.apache.log4j.chainsaw;
-import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.event.ActionEvent;
@@ -193,7 +192,15 @@
boolean value = ((Boolean)evt.getNewValue()).booleanValue();
toggleStatusBarCheck.setSelected(value);
}});
- }
+
+ logui.getApplicationPreferenceModel().addPropertyChangeListener("receivers",
new PropertyChangeListener() {
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ boolean value = ((Boolean)evt.getNewValue()).booleanValue();
+ showReceiversButton.setSelected(value);
+ toggleShowReceiversCheck.setSelected(value);
+ }});
+ }
/**
* @return
@@ -422,14 +429,18 @@
viewMenu.setMnemonic('V');
- JCheckBoxMenuItem lockToolbarCheck =
- new JCheckBoxMenuItem(lockToolbarAction);
- lockToolbarCheck.setSelected(true);
-
- JCheckBoxMenuItem showToolbarCheck =
+ final JCheckBoxMenuItem showToolbarCheck =
new JCheckBoxMenuItem(toggleToolbarAction);
- showToolbarCheck.setSelected(true);
+ showToolbarCheck.setSelected(logui.getApplicationPreferenceModel().isToolbar());
+
+ logui.getApplicationPreferenceModel().addPropertyChangeListener("toolbar", new
PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt)
+ {
+ boolean value =((Boolean)evt.getNewValue()).booleanValue();
+ showToolbarCheck.setSelected(value);
+ }});
+
menuItemClose.setAction(closeAction);
JCheckBoxMenuItem pause = new JCheckBoxMenuItem(pauseAction);
@@ -662,7 +673,7 @@
final Action action =
new AbstractAction("Show Receivers") {
public void actionPerformed(ActionEvent arg0) {
- logui.toggleReceiversPanel();
+
logui.getApplicationPreferenceModel().setReceivers(!logui.getApplicationPreferenceModel().isReceivers());
}
};
@@ -712,34 +723,9 @@
*/
final Action toggleToolbarAction =
new AbstractAction("Show Toolbar") {
- private boolean hide = false;
public void actionPerformed(ActionEvent e) {
- hide = !hide;
-
- Runnable runnable = null;
-
- if (hide) {
- runnable =
- new Runnable() {
- public void run() {
- logui.getContentPane().remove(toolbar);
- logui.getRootPane().repaint();
- logui.getRootPane().revalidate();
- }
- };
- } else {
- runnable =
- new Runnable() {
- public void run() {
- logui.getContentPane().add(toolbar, BorderLayout.NORTH);
- logui.getRootPane().repaint();
- logui.getRootPane().revalidate();
- }
- };
- }
-
- SwingUtilities.invokeLater(runnable);
+
logui.getApplicationPreferenceModel().setToolbar(!logui.getApplicationPreferenceModel().isToolbar());
}
};
@@ -871,23 +857,12 @@
}
private void scanState() {
-// switch (logui.getTabbedPane().getTabPlacement()) {
-// case SwingConstants.TOP:
-// tabsTop.setSelected(true);
-//
-// break;
-//
-// case SwingConstants.BOTTOM:
-// tabsBottom.setSelected(true);
-//
-// break;
-// }
toggleStatusBarCheck.setSelected(logui.isStatusBarVisible());
- toggleShowReceiversCheck.setSelected(logui.isReceiverPanelVisible());
+
toggleShowReceiversCheck.setSelected(logui.getApplicationPreferenceModel().isReceivers());
logTreePaneButton.setSelected(logui.isLogTreePanelVisible());
- showReceiversButton.setSelected(logui.isReceiverPanelVisible());
+
showReceiversButton.setSelected(logui.getApplicationPreferenceModel().isReceivers());
menuItemClose.setSelected(logui.getTabbedPane().containsWelcomePanel());
/**
1.54 +23 -16 jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java
Index: LogUI.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- LogUI.java 14 Dec 2003 05:04:19 -0000 1.53
+++ LogUI.java 14 Dec 2003 21:27:38 -0000 1.54
@@ -417,6 +417,22 @@
boolean value = ((Boolean)evt.getNewValue()).booleanValue();
setStatusBarVisible(value);
}});
+
+ applicationPreferenceModel.addPropertyChangeListener("receivers", new
PropertyChangeListener() {
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ boolean value = ((Boolean)evt.getNewValue()).booleanValue();
+ receiversPanel.setVisible(value);
+ }});
+ receiversPanel.setVisible(applicationPreferenceModel.isReceivers());
+
+ applicationPreferenceModel.addPropertyChangeListener("toolbar", new
PropertyChangeListener() {
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ boolean value = ((Boolean)evt.getNewValue()).booleanValue();
+ toolbar.setVisible(value);
+ }});
+ toolbar.setVisible(applicationPreferenceModel.isToolbar());
setStatusBarVisible(applicationPreferenceModel.isStatusBar());
@@ -660,7 +676,11 @@
((ImageIcon) ChainsawIcons.ICON_PREFERENCES).getImage());
preferencesFrame.getContentPane().add(applicationPreferenceModelPanel);
- preferencesFrame.setSize(640, 480);
+ preferencesFrame.setSize(640, 340);
+
+ Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+ preferencesFrame.setLocation(new
Point((screenDimension.width/2)-(preferencesFrame.getSize().width/2),
(screenDimension.height/2)-(preferencesFrame.getSize().height/2) ));
+
getSettingsManager().configure(
new SettingsListener() {
public void loadSettings(LoadSettingsEvent event) {
@@ -983,8 +1003,8 @@
dialog.dispose();
applicationPreferenceModel.setShowNoReceiverWarning(!noReceiversWarningPanel.isDontWarnMeAgain());
- if (noReceiversWarningPanel.getModel().isManualMode()) {
- toggleReceiversPanel();
+ if (noReceiversWarningPanel.getModel().isManualMode() ) {
+ applicationPreferenceModel.setReceivers(true);
} else if (noReceiversWarningPanel.getModel().isSimpleReceiverMode()) {
int port = noReceiversWarningPanel.getModel().getSimplePort();
Class receiverClass =
@@ -1060,19 +1080,6 @@
getTabbedPane().remove(
getTabbedPane().getComponentAt(getTabbedPane().indexOfTab("Welcome")));
}
- }
-
- void toggleReceiversPanel() {
- SwingUtilities.invokeLater(
- new Runnable() {
- public void run() {
- receiversPanel.setVisible(!receiversPanel.isVisible());
- receiversPanel.invalidate();
- receiversPanel.validate();
-
- getToolBarAndMenus().stateChange();
- }
- });
}
boolean isReceiverPanelVisible() {
1.6 +41 -0
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
Index: ApplicationPreferenceModel.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ApplicationPreferenceModel.java 14 Dec 2003 05:04:19 -0000 1.5
+++ ApplicationPreferenceModel.java 14 Dec 2003 21:27:38 -0000 1.6
@@ -68,6 +68,9 @@
private boolean showNoReceiverWarning ;
private boolean statusBar;
+ private boolean toolbar;
+ private boolean receivers;
+
private int responsiveness;
@@ -198,6 +201,8 @@
setResponsiveness(event.asInt("Responsiveness"));
setTabPlacement(event.asInt("tabPlacement"));
setStatusBar(event.asBoolean("statusBar"));
+ setToolbar(event.asBoolean("toolbar"));
+ setReceivers(event.asBoolean("receivers"));
}
/* (non-Javadoc)
@@ -209,6 +214,8 @@
event.saveSetting("Responsiveness", getResponsiveness());
event.saveSetting("tabPlacement", getTabPlacement());
event.saveSetting("statusBar", isStatusBar());
+ event.saveSetting("toolbar", isToolbar());
+ event.saveSetting("receivers", isReceivers());
}
/**
@@ -222,6 +229,8 @@
setResponsiveness(model.getResponsiveness());
setTabPlacement(model.getTabPlacement());
setStatusBar(model.isStatusBar());
+ setToolbar(model.isToolbar());
+ setReceivers(model.isReceivers());
}
/**
* @return Returns the responsiveness.
@@ -271,4 +280,36 @@
firePropertyChange("statusBar", oldValue, this.statusBar);
}
+ /**
+ * @return Returns the receivers.
+ */
+ public final boolean isReceivers()
+ {
+ return receivers;
+ }
+ /**
+ * @param receivers The receivers to set.
+ */
+ public final void setReceivers(boolean receivers)
+ {
+ boolean oldValue = this.receivers;
+ this.receivers = receivers;
+ firePropertyChange("receivers", oldValue, this.receivers);
+ }
+ /**
+ * @return Returns the toolbar.
+ */
+ public final boolean isToolbar()
+ {
+ return toolbar;
+ }
+ /**
+ * @param toolbar The toolbar to set.
+ */
+ public final void setToolbar(boolean toolbar)
+ {
+ boolean oldValue = this.toolbar;
+ this.toolbar = toolbar;
+ firePropertyChange("toolbar", oldValue, this.toolbar);
+ }
}
1.5 +32 -1
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
Index: ApplicationPreferenceModelPanel.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ApplicationPreferenceModelPanel.java 14 Dec 2003 05:04:19 -0000 1.4
+++ ApplicationPreferenceModelPanel.java 14 Dec 2003 21:27:38 -0000 1.5
@@ -170,6 +170,8 @@
private final JRadioButton bottomPlacement = new JRadioButton("Bottom");
private final JCheckBox statusBar = new JCheckBox("Show Status bar");
+ private final JCheckBox toolBar = new JCheckBox("Show Toolbar");
+ private final JCheckBox receivers = new JCheckBox("Show Receivers");
private VisualsPrefPanel() {
super("Visuals");
@@ -198,6 +200,18 @@
uncommittedPreferenceModel.setStatusBar(statusBar.isSelected());
}});
+ toolBar.addActionListener(new ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ uncommittedPreferenceModel.setToolbar(toolBar.isSelected());
+ }});
+
+ receivers.addActionListener(new ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ uncommittedPreferenceModel.setReceivers(receivers.isSelected());
+ }});
+
uncommittedPreferenceModel.addPropertyChangeListener("tabPlacement", new
PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
@@ -221,7 +235,21 @@
statusBar.setSelected(((Boolean)evt.getNewValue()).booleanValue());
}});
- }
+
+ uncommittedPreferenceModel.addPropertyChangeListener("toolbar", new
PropertyChangeListener() {
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ toolBar.setSelected(((Boolean)evt.getNewValue()).booleanValue());
+
+ }});
+
+ uncommittedPreferenceModel.addPropertyChangeListener("receivers", new
PropertyChangeListener() {
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ receivers.setSelected(((Boolean)evt.getNewValue()).booleanValue());
+
+ }});
+ }
/**
*
@@ -246,6 +274,9 @@
add(tabPlacementBox);
add(statusBar);
+ add(receivers);
+ add(toolBar);
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]