sdeboy 2004/07/24 00:20:35
Modified: src/java/org/apache/log4j/chainsaw LogPanel.java
ChainsawToolBarAndMenus.java
src/java/org/apache/log4j/chainsaw/help release-notes.html
Log:
Added scroll to bottom menu item, toolbar and ctrl-b accelerator.
Revision Changes Path
1.83 +51 -2 logging-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java
Index: LogPanel.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- LogPanel.java 23 Jul 2004 06:43:28 -0000 1.82
+++ LogPanel.java 24 Jul 2004 07:20:34 -0000 1.83
@@ -1290,8 +1290,26 @@
eventsPane.addMouseListener(popupListener);
table.addMouseListener(popupListener);
}
+
+ /**
+ * Accessor
+ *
+ * @return scrollToBottom
+ *
+ */
+ public boolean isScrollToBottom() {
+ return preferenceModel.isScrollToBottom();
+ }
/**
+ * Mutator
+ *
+ */
+ public void toggleScrollToBottom() {
+ preferenceModel.setScrollToBottom(!preferenceModel.isScrollToBottom());
+ }
+
+ /**
* Accessor
*
* @return namespace
@@ -1736,6 +1754,8 @@
dockShowPrefsAction.putValue(
Action.SMALL_ICON, ChainsawIcons.ICON_PREFERENCES);
+ toolbar.add(new SmallButton(dockShowPrefsAction));
+
Action dockToggleLogTreeAction =
new AbstractAction() {
public void actionPerformed(ActionEvent e) {
@@ -1752,8 +1772,6 @@
dockToggleLogTreeAction.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.WINDOW_ICON));
- toolbar.add(new SmallButton(dockShowPrefsAction));
-
final SmallToggleButton toggleLogTreeButton =
new SmallToggleButton(dockToggleLogTreeAction);
preferenceModel.addPropertyChangeListener("logTreePanelVisible", new
PropertyChangeListener() {
@@ -1789,6 +1807,37 @@
toolbar.add(dockClearButton);
toolbar.addSeparator();
+ Action dockToggleScrollToBottomAction =
+ new AbstractAction("Toggles Scroll to Bottom") {
+ public void actionPerformed(ActionEvent e) {
+ toggleScrollToBottom();
+ }
+ };
+
+ dockToggleScrollToBottomAction.putValue(Action.SHORT_DESCRIPTION, "Toggles
Scroll to Bottom");
+ dockToggleScrollToBottomAction.putValue("enabled", Boolean.TRUE);
+ dockToggleScrollToBottomAction.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.DOWN));
+
+ final SmallToggleButton toggleScrollToBottomButton =
+ new SmallToggleButton(dockToggleScrollToBottomAction);
+ preferenceModel.addPropertyChangeListener("scrollToBottom", new
PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt) {
+
toggleScrollToBottomButton.setSelected(preferenceModel.isScrollToBottom());
+ }
+ });
+
+ toggleScrollToBottomButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_MASK),
+ dockToggleScrollToBottomAction.getValue(Action.NAME));
+ toggleScrollToBottomButton.getActionMap().put(
+ dockToggleScrollToBottomAction.getValue(Action.NAME),
dockToggleScrollToBottomAction);
+
+ toggleScrollToBottomButton.setSelected(isScrollToBottom());
+ toggleScrollToBottomButton.setText("");
+ toolbar.add(toggleScrollToBottomButton);
+ toolbar.addSeparator();
+
findField = new JTextField();
findField.addKeyListener(
new ExpressionRuleContext(filterModel, findField));
1.44 +50 -1
logging-log4j/src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
Index: ChainsawToolBarAndMenus.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- ChainsawToolBarAndMenus.java 22 May 2004 05:55:02 -0000 1.43
+++ ChainsawToolBarAndMenus.java 24 Jul 2004 07:20:34 -0000 1.44
@@ -78,6 +78,7 @@
private final Action showColorPanelAction;
private final Action showReceiversAction;
private final Action toggleLogTreeAction;
+ private final Action toggleScrollToBottomAction;
private final Action toggleDetailPaneAction;
private final Action toggleToolbarAction;
private final Action undockAction;
@@ -87,6 +88,8 @@
new JCheckBoxMenuItem();
private final JCheckBoxMenuItem toggleLogTreeMenuItem =
new JCheckBoxMenuItem();
+ private final JCheckBoxMenuItem toggleScrollToBottomMenuItem =
+ new JCheckBoxMenuItem();
private final JCheckBoxMenuItem toggleDetailMenuItem =
new JCheckBoxMenuItem();
private final JCheckBoxMenuItem toggleCyclicMenuItem =
@@ -102,6 +105,7 @@
private final SmallButton clearButton = new SmallButton();
private final SmallToggleButton detailPaneButton = new SmallToggleButton();
private final SmallToggleButton logTreePaneButton = new SmallToggleButton();
+ private final SmallToggleButton scrollToBottomButton = new SmallToggleButton();
private final SmallToggleButton pauseButton = new SmallToggleButton();
private final SmallToggleButton toggleCyclicButton = new SmallToggleButton();
private final Action[] logPanelSpecificActions;
@@ -123,6 +127,7 @@
showColorPanelAction = createShowColorPanelAction();
toggleToolbarAction = createToggleToolbarAction();
toggleLogTreeAction = createToggleLogTreeAction();
+ toggleScrollToBottomAction = createScrollToBottomAction();
pauseAction = createPauseAction();
clearAction = createClearAction();
undockAction = createUndockAction();
@@ -151,7 +156,7 @@
pauseAction, findNextAction, findPreviousAction, clearAction,
fileMenu.getFileSaveAction(), toggleDetailPaneAction,
showPreferencesAction, showColorPanelAction, undockAction,
- toggleLogTreeAction, changeModelAction,
+ toggleLogTreeAction, toggleScrollToBottomAction, changeModelAction,
};
logui.getApplicationPreferenceModel().addPropertyChangeListener(
@@ -219,6 +224,31 @@
}
/**
+ * @return
+ */
+ private Action createScrollToBottomAction() {
+ Action action =
+ new AbstractAction("Toggle Scroll to Bottom") {
+ public void actionPerformed(ActionEvent e) {
+ if (logui.getCurrentLogPanel() != null) {
+ logui.getCurrentLogPanel().toggleScrollToBottom();
+ }
+ }
+ };
+
+ action.putValue(Action.SHORT_DESCRIPTION, "Toggles Scroll to Bottom");
+ action.putValue("enabled", Boolean.TRUE);
+ action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_B));
+ action.putValue(
+ Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_MASK));
+ action.putValue(
+ Action.SMALL_ICON, new ImageIcon(ChainsawIcons.DOWN));
+
+ return action;
+ }
+
+ /**
* DOCUMENT ME!
*/
public void stateChange() {
@@ -351,6 +381,8 @@
toggleLogTreeMenuItem.setAction(toggleLogTreeAction);
toggleLogTreeMenuItem.setSelected(true);
+ toggleScrollToBottomMenuItem.setAction(toggleScrollToBottomAction);
+
final Action toggleStatusBarAction =
new AbstractAction("Show Status bar") {
public void actionPerformed(ActionEvent arg0) {
@@ -378,6 +410,7 @@
activeTabMenu.addSeparator();
activeTabMenu.add(new JMenuItem(clearAction));
activeTabMenu.addSeparator();
+ activeTabMenu.add(toggleScrollToBottomMenuItem);
activeTabMenu.add(menuItemUseRightMouse);
viewMenu.add(showToolbarCheck);
@@ -630,6 +663,14 @@
toggleLogTreeAction.getValue(Action.NAME));
logTreePaneButton.setText(null);
+ scrollToBottomButton.setAction(toggleScrollToBottomAction);
+ scrollToBottomButton.getActionMap().put(
+ toggleScrollToBottomAction.getValue(Action.NAME), toggleScrollToBottomAction);
+ scrollToBottomButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.ALT_MASK),
+ toggleScrollToBottomAction.getValue(Action.NAME));
+ scrollToBottomButton.setText(null);
+
SmallButton prefsButton = new SmallButton(showPreferencesAction);
SmallButton undockButton = new SmallButton(undockAction);
undockButton.setText("");
@@ -640,6 +681,7 @@
toolbar.addSeparator();
toolbar.add(detailPaneButton);
toolbar.add(logTreePaneButton);
+ toolbar.add(scrollToBottomButton);
toolbar.add(prefsButton);
toolbar.addSeparator();
@@ -707,6 +749,12 @@
logui.getApplicationPreferenceModel().isReceivers());
logTreePaneButton.setSelected(logui.isLogTreePanelVisible());
+ LogPanel panel = logui.getCurrentLogPanel();
+ if (panel != null) {
+ scrollToBottomButton.setSelected(panel.isScrollToBottom());
+ } else {
+ scrollToBottomButton.setSelected(false);
+ }
showReceiversButton.setSelected(
logui.getApplicationPreferenceModel().isReceivers());
menuItemClose.setSelected(logui.getTabbedPane().containsWelcomePanel());
@@ -741,6 +789,7 @@
toggleCyclicMenuItem.setSelected(logPanel.isCyclic());
detailPaneButton.getModel().setSelected(logPanel.isDetailVisible());
toggleLogTreeMenuItem.setSelected(logPanel.isLogTreeVisible());
+ toggleScrollToBottomMenuItem.setSelected(logPanel.isScrollToBottom());
}
findPanel.invalidate();
1.33 +5 -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.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- release-notes.html 23 Jul 2004 06:43:29 -0000 1.32
+++ release-notes.html 24 Jul 2004 07:20:35 -0000 1.33
@@ -9,6 +9,11 @@
<h1>1.99.99</h2>
+<h2>24 July 2004</h2>
+<ul>
+ <li>Added scroll to bottom menu item, toolbar and ctrl-b accelerator.</li>
+</ul>
+
<h2>22 July 2004</h2>
<ul>
<li>Corrected 'show all hidden' bug when undocked panels exist.</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]