You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@logging.apache.org by sd...@apache.org on 2010/05/05 02:29:50 UTC
svn commit: r941121 - in
/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw:
ChainsawStatusBar.java ChainsawToolBarAndMenus.java LogPanel.java LogUI.java
Author: sdeboy
Date: Wed May 5 00:29:50 2010
New Revision: 941121
URL: http://svn.apache.org/viewvc?rev=941121&view=rev
Log:
Only display active tab's state in status bar
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java?rev=941121&r1=941120&r2=941121&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java Wed May 5 00:29:50 2010
@@ -62,10 +62,11 @@ public class ChainsawStatusBar extends J
private final NumberFormat nf = NumberFormat.getNumberInstance();
private final Border statusBarComponentBorder =
BorderFactory.createLineBorder(statusMsg.getBackground().darker());
+ private final LogUI logUI;
- public ChainsawStatusBar() {
+ public ChainsawStatusBar(LogUI logUI) {
setLayout(new GridBagLayout());
-
+ this.logUI = logUI;
nf.setMaximumFractionDigits(0);
nf.setMinimumFractionDigits(0);
nf.setGroupingUsed(false);
@@ -237,37 +238,43 @@ public class ChainsawStatusBar extends J
/**
* Called when the paused state of the LogPanel has been updated
* @param isPaused
+ * @param tabName
*/
- void setPaused(final boolean isPaused) {
- Runnable runnable =
- new Runnable() {
- public void run() {
- pausedLabel.setIcon(isPaused ? pausedIcon : null);
- pausedLabel.setToolTipText(
- isPaused ? "This Log panel is currently paused"
- : "This Log panel is not paused");
- }
+ void setPaused(final boolean isPaused, String tabName) {
+ if (tabName.equals(logUI.getActiveTabName())) {
+ Runnable runnable =
+ new Runnable() {
+ public void run() {
+ pausedLabel.setIcon(isPaused ? pausedIcon : null);
+ pausedLabel.setToolTipText(
+ isPaused ? "This Log panel is currently paused"
+ : "This Log panel is not paused");
+ }
};
-
- SwingUtilities.invokeLater(runnable);
+ SwingUtilities.invokeLater(runnable);
+ }
}
void setSelectedLine(
- final int selectedLine, final int lineCount, final int total) {
- SwingUtilities.invokeLater(
- new Runnable() {
- public void run() {
- lineSelectionLabel.setText(selectedLine+"");
- eventCountLabel.setText("Filtered/Total: " + lineCount + ":" + total);
- }
- });
+ final int selectedLine, final int lineCount, final int total, String tabName) {
+ if (tabName.equals(logUI.getActiveTabName())) {
+ SwingUtilities.invokeLater(
+ new Runnable() {
+ public void run() {
+ lineSelectionLabel.setText(selectedLine+"");
+ eventCountLabel.setText("Filtered/Total: " + lineCount + ":" + total);
+ }
+ });
+ }
}
- void setSearchMatchCount(int searchMatchCount) {
- if (searchMatchCount == 0) {
- searchMatchLabel.setText("");
- } else {
- searchMatchLabel.setText("Search matches: " + searchMatchCount);
+ void setSearchMatchCount(int searchMatchCount, String tabName) {
+ if (tabName.equals(logUI.getActiveTabName())) {
+ if (searchMatchCount == 0) {
+ searchMatchLabel.setText("");
+ } else {
+ searchMatchLabel.setText("Search matches: " + searchMatchCount);
+ }
}
}
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java?rev=941121&r1=941120&r2=941121&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java Wed May 5 00:29:50 2010
@@ -936,7 +936,7 @@ class ChainsawToolBarAndMenus implements
pauseButton.getModel().setSelected(logPanel.isPaused());
toggleCyclicButton.setSelected(logPanel.isCyclic());
- logui.getStatusBar().setPaused(logPanel.isPaused());
+ logui.getStatusBar().setPaused(logPanel.isPaused(), logPanel.getIdentifier());
toggleCyclicMenuItem.setSelected(logPanel.isCyclic());
detailPaneButton.getModel().setSelected(logPanel.isDetailVisible());
toggleLogTreeMenuItem.setSelected(logPanel.isLogTreeVisible());
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java?rev=941121&r1=941120&r2=941121&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java Wed May 5 00:29:50 2010
@@ -250,6 +250,7 @@ public class LogPanel extends DockablePa
private TableCellEditor markerCellEditor;
private AutoFilterComboBox filterCombo;
private JScrollPane eventsPane;
+ private int currentSearchMatchCount;
/**
* Creates a new LogPanel object. If a LogPanel with this identifier has
@@ -610,7 +611,7 @@ public class LogPanel extends DockablePa
public void eventCountChanged(int currentCount, int totalCount) {
if (LogPanel.this.isVisible()) {
statusBar.setSelectedLine(
- table.getSelectedRow() + 1, currentCount, totalCount);
+ table.getSelectedRow() + 1, currentCount, totalCount, getIdentifier());
}
}
});
@@ -2015,7 +2016,8 @@ public class LogPanel extends DockablePa
findField.setBackground(UIManager.getColor("TextField.background"));
findField.setToolTipText(
"Enter expression - right click or ctrl-space for menu");
- statusBar.setSearchMatchCount(0);
+ currentSearchMatchCount = 0;
+ statusBar.setSearchMatchCount(currentSearchMatchCount, getIdentifier());
} else {
//only turn off scrolltobottom when finding something (find not empty)
preferenceModel.setScrollToBottom(false);
@@ -2028,17 +2030,18 @@ public class LogPanel extends DockablePa
findField.setToolTipText(
"Enter expression - right click or ctrl-space for menu");
findRule = ExpressionRule.getRule(ruleText);
- int matchCount = tableModel.updateEventsWithFindRule(findRule);
+ currentSearchMatchCount = tableModel.updateEventsWithFindRule(findRule);
colorizer.setFindRule(findRule);
//valid expression, reset background color in case we were previously an invalid expression
findField.setBackground(UIManager.getColor("TextField.background"));
- statusBar.setSearchMatchCount(matchCount);
+ statusBar.setSearchMatchCount(currentSearchMatchCount, getIdentifier());
} catch (IllegalArgumentException re) {
findField.setToolTipText(re.getMessage());
findField.setBackground(INVALID_EXPRESSION_BACKGROUND);
colorizer.setFindRule(null);
tableModel.updateEventsWithFindRule(null);
- statusBar.setSearchMatchCount(0);
+ currentSearchMatchCount = 0;
+ statusBar.setSearchMatchCount(currentSearchMatchCount, getIdentifier());
}
}
}
@@ -2336,13 +2339,14 @@ public class LogPanel extends DockablePa
/**
* Update the status bar with current selected row and row count
*/
- private void updateStatusBar() {
+ protected void updateStatusBar() {
SwingHelper.invokeOnEDT(
new Runnable() {
public void run() {
statusBar.setSelectedLine(
table.getSelectedRow() + 1, tableModel.getRowCount(),
- tableModel.size());
+ tableModel.size(), getIdentifier());
+ statusBar.setSearchMatchCount(currentSearchMatchCount, getIdentifier());
}
});
}
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java?rev=941121&r1=941120&r2=941121&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java Wed May 5 00:29:50 2010
@@ -497,7 +497,7 @@ public class LogUI extends JFrame implem
private void initGUI() {
setupHelpSystem();
- statusBar = new ChainsawStatusBar();
+ statusBar = new ChainsawStatusBar(this);
setupReceiverPanel();
setToolBarAndMenus(new ChainsawToolBarAndMenus(this));
@@ -773,6 +773,17 @@ public class LogUI extends JFrame implem
getContentPane().setLayout(new BorderLayout());
getTabbedPane().addChangeListener(getToolBarAndMenus());
+ getTabbedPane().addChangeListener(new ChangeListener()
+ {
+ public void stateChanged(ChangeEvent e)
+ {
+ LogPanel thisLogPanel = getCurrentLogPanel();
+ if (thisLogPanel != null)
+ {
+ thisLogPanel.updateStatusBar();
+ }
+ }
+ });
KeyStroke ksRight =
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, Event.CTRL_MASK);