You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2017/05/30 23:48:43 UTC

[06/50] [abbrv] logging-chainsaw git commit: Replace 'search' in the UI with 'find' Syncing addition & removal of entries in the refine focus & find combo boxes

Replace 'search' in the UI with 'find'
Syncing addition & removal of entries in the refine focus & find combo boxes



Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/34497133
Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/34497133
Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/34497133

Branch: refs/heads/master
Commit: 344971335cfdf8005de1d920a3b21d748ef120d3
Parents: 622fc25
Author: Scott Deboy <sd...@apache.org>
Authored: Mon Oct 25 05:00:03 2010 +0000
Committer: Scott Deboy <sd...@apache.org>
Committed: Mon Oct 25 05:00:03 2010 +0000

----------------------------------------------------------------------
 .../log4j/chainsaw/ChainsawStatusBar.java       |  4 +-
 .../log4j/chainsaw/ChainsawToolBarAndMenus.java |  8 ++--
 .../org/apache/log4j/chainsaw/LogPanel.java     | 48 +++++++++++++-------
 .../log4j/chainsaw/LogPanelPreferencePanel.java |  4 +-
 .../log4j/chainsaw/LoggerNameTreePanel.java     | 10 ++--
 .../apache/log4j/chainsaw/color/ColorPanel.java |  2 +-
 .../log4j/chainsaw/help/release-notes.html      |  6 +--
 .../apache/log4j/chainsaw/help/tutorial.html    | 12 ++---
 8 files changed, 54 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java
index 55d9f29..ddaaf73 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java
@@ -104,7 +104,7 @@ public class ChainsawStatusBar extends JPanel {
     searchMatchLabel.setToolTipText("<# viewable events>:<# total events>");
     searchMatchLabel.setMinimumSize(
     new Dimension(
-    searchMatchLabel.getFontMetrics(eventCountLabel.getFont()).stringWidth("Search matches: 999999999999") + 5,
+    searchMatchLabel.getFontMetrics(eventCountLabel.getFont()).stringWidth("Find matches: 999999999999") + 5,
             (int) searchMatchLabel.getPreferredSize().getHeight()));
 
     receivedConnectionlabel.setBorder(statusBarComponentBorder);
@@ -273,7 +273,7 @@ public class ChainsawStatusBar extends JPanel {
           if (searchMatchCount == 0) {
             searchMatchLabel.setText("");
           } else {
-            searchMatchLabel.setText("Search matches: " + searchMatchCount);
+            searchMatchLabel.setText("Find matches: " + searchMatchCount);
           }
       }
   }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
index 9f5165a..ffe9543 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
@@ -274,7 +274,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
            }
          };
 
-       action.putValue(Action.SHORT_DESCRIPTION, "Searches for the next marker from the current location");
+       action.putValue(Action.SHORT_DESCRIPTION, "Find the next marker from the current location");
        action.putValue("enabled", Boolean.TRUE);
        action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_N));
        action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("F2"));
@@ -292,7 +292,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
           }
         };
 
-      action.putValue(Action.SHORT_DESCRIPTION, "Searches for the previous marker from the current location");
+      action.putValue(Action.SHORT_DESCRIPTION, "Find the previous marker from the current location");
       action.putValue("enabled", Boolean.TRUE);
       action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_P));
       action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2,  InputEvent.SHIFT_MASK));
@@ -892,7 +892,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
             }
           }
         };
-        action.putValue(Action.SHORT_DESCRIPTION, "Searches for the next colorized event from the current location");
+        action.putValue(Action.SHORT_DESCRIPTION, "Find the next colorized event from the current location");
         action.putValue("enabled", Boolean.TRUE);
         action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_N));
         action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
@@ -911,7 +911,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
             }
           }
         };
-        action.putValue(Action.SHORT_DESCRIPTION, "Searches for the next colorized event from the current location");
+        action.putValue(Action.SHORT_DESCRIPTION, "Find the next colorized event from the current location");
         action.putValue("enabled", Boolean.TRUE);
         action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_P));
         action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
index ea80971..d2bc5e3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
@@ -79,6 +79,7 @@ import javax.swing.Box;
 import javax.swing.BoxLayout;
 import javax.swing.ButtonGroup;
 import javax.swing.ComboBoxEditor;
+import javax.swing.ComboBoxModel;
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JCheckBoxMenuItem;
@@ -288,12 +289,13 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
     String prototypeValue = "1231231231231231231231";
 
     filterCombo = new AutoFilterComboBox();
+    findCombo = new AutoFilterComboBox();
+
     filterCombo.setPrototypeDisplayValue(prototypeValue);
-    buildCombo(filterCombo, true);
+    buildCombo(filterCombo, true, findCombo.model);
 
-    findCombo = new AutoFilterComboBox();
     findCombo.setPrototypeDisplayValue(prototypeValue);
-    buildCombo(findCombo, false);
+    buildCombo(findCombo, false, filterCombo.model);
 
     final Map columnNameKeywordMap = new HashMap();
     columnNameKeywordMap.put(ChainsawConstants.CLASS_COL_NAME, LoggingEventFieldResolver.CLASS_FIELD);
@@ -1105,20 +1107,28 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
     upperPanel.add(filterCombo);
     upperPanel.add(Box.createHorizontalStrut(3));
 
+    final JTextField filterText =(JTextField) filterCombo.getEditor().getEditorComponent();
+    final JTextField findText =(JTextField) findCombo.getEditor().getEditorComponent();
+
+
     //Adding a button to clear filter expressions which are currently remembered by Chainsaw...
     final JButton removeFilterButton = new JButton(" Remove ");
-    final JTextField filterText =(JTextField) filterCombo.getEditor().getEditorComponent();
+
     removeFilterButton.setToolTipText("Click here to remove the selected expression from the list");
     removeFilterButton.addActionListener(
             new AbstractAction() {
                 public void actionPerformed(ActionEvent e){
                 	Object selectedItem = filterCombo.getSelectedItem();
                     if (e.getSource() == removeFilterButton && selectedItem != null && !selectedItem.toString().trim().equals("")){
-                        //don't just remove the entry from the store, clear the field
-                        int index = filterCombo.getSelectedIndex();
-                        filterText.setText(null);
-                        filterCombo.setSelectedIndex(-1);
-                        filterCombo.removeItemAt(index);
+                      //don't just remove the entry from the store, clear the field
+                      int index = filterCombo.getSelectedIndex();
+                      filterText.setText(null);
+                      filterCombo.setSelectedIndex(-1);
+                      filterCombo.removeItemAt(index);
+                      if (!(findCombo.getSelectedItem() != null && findCombo.getSelectedItem().equals(selectedItem))) {
+                        //now remove the entry from the other model
+                        ((AutoFilterComboBox.AutoFilterComboBoxModel)findCombo.getModel()).removeElement(selectedItem);
+                      }
                     }
                 }
             }
@@ -1162,18 +1172,21 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
     
     //Adding a button to clear filter expressions which are currently remembered by Chainsaw...
     final JButton removeFindButton = new JButton(" Remove ");
-    final JTextField findText =(JTextField) findCombo.getEditor().getEditorComponent();
     removeFindButton.setToolTipText("Click here to remove the selected expression from the list");
     removeFindButton.addActionListener(
             new AbstractAction() {
                 public void actionPerformed(ActionEvent e){
                 	Object selectedItem = findCombo.getSelectedItem();
                     if (e.getSource() == removeFindButton && selectedItem != null && !selectedItem.toString().trim().equals("")){
-                        //don't just remove the entry from the store, clear the field
-                        int index = findCombo.getSelectedIndex();
-                        findText.setText(null);
-                        findCombo.setSelectedIndex(-1);
-                        findCombo.removeItemAt(index);
+                      //don't just remove the entry from the store, clear the field
+                      int index = findCombo.getSelectedIndex();
+                      findText.setText(null);
+                      findCombo.setSelectedIndex(-1);
+                      findCombo.removeItemAt(index);
+                      if (!(filterCombo.getSelectedItem() != null && filterCombo.getSelectedItem().equals(selectedItem))) {
+                        //now remove the entry from the other model if it wasn't selected
+                        ((AutoFilterComboBox.AutoFilterComboBoxModel)filterCombo.getModel()).removeElement(selectedItem);
+                      }
                     }
                 }
             }
@@ -1796,7 +1809,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
 
      class ClearSearch extends AbstractAction {
        public ClearSearch() {
-         super("Clear search field");
+         super("Clear find field");
        }
           public void actionPerformed(ActionEvent e) {
             findCombo.setSelectedItem(null);
@@ -1959,7 +1972,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
     return action;
   }
 
-  private  void buildCombo(final JComboBox combo, boolean isFiltering) {
+  private  void buildCombo(final AutoFilterComboBox combo, boolean isFiltering, final AutoFilterComboBox.AutoFilterComboBoxModel otherModel) {
     //add (hopefully useful) default filters
     combo.addItem("LEVEL == TRACE");
     combo.addItem("LEVEL >= DEBUG");
@@ -1987,6 +2000,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
                     ExpressionRule.getRule(item.toString());
                     //add entry as first row of the combo box
                     combo.insertItemAt(item, 0);
+                    otherModel.insertElementAt(item, 0);
                   }
                 //valid expression, reset background color in case we were previously an invalid expression
                 filterText.setBackground(UIManager.getColor("TextField.background"));

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java
index 254b59c..6967785 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java
@@ -531,8 +531,8 @@ public class LogPanelPreferencePanel extends AbstractPreferencePanel
     private final JCheckBox loggerTreePanel =
       new JCheckBox("Show Logger Tree");
     private final JCheckBox wrapMessage = new JCheckBox("Wrap message field (display multi-line rows) ");
-    private final JCheckBox searchResultsVisible = new JCheckBox("Display search results in details panel ");
-    private final JCheckBox highlightSearchMatchText = new JCheckBox("Highlight search match text ");
+    private final JCheckBox searchResultsVisible = new JCheckBox("Display find results in details panel ");
+    private final JCheckBox highlightSearchMatchText = new JCheckBox("Highlight find match text ");
     private final JCheckBox scrollToBottom =
       new JCheckBox("Scroll to bottom (view tracks with new events)");
     private final JCheckBox showMillisDeltaAsGap =

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
index 64fe415..f5ac429 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
@@ -829,7 +829,7 @@ final class LoggerNameTreePanel extends JPanel implements LoggerNameListener
       action.putValue(Action.NAME, "Find next");
       action.putValue(
         Action.SHORT_DESCRIPTION,
-        "Search using the selected node");
+        "Find using the selected node");
       action.setEnabled(false);
 
       return action;
@@ -941,10 +941,10 @@ final class LoggerNameTreePanel extends JPanel implements LoggerNameListener
           }
         };
 
-      action.putValue(Action.NAME, "Clear search field");
+      action.putValue(Action.NAME, "Clear find field");
       action.putValue(
         Action.SHORT_DESCRIPTION,
-        "Clear the search field");
+        "Clear the find field");
       action.setEnabled(false);
 
       return action;
@@ -1238,7 +1238,7 @@ final class LoggerNameTreePanel extends JPanel implements LoggerNameListener
     {
       focusOnAction.putValue(Action.NAME, "Focus On...");
       hideAction.putValue(Action.NAME, "Ignore...");
-      findNextAction.putValue(Action.NAME, "Search for...");
+      findNextAction.putValue(Action.NAME, "Find...");
       setRefineFocusAction.putValue(Action.NAME, "Set refine focus field");
       updateRefineFocusAction.putValue(Action.NAME, "Add to refine focus field");
       defineColorRuleForLoggerAction.putValue(Action.NAME, "Define color rule");
@@ -1247,7 +1247,7 @@ final class LoggerNameTreePanel extends JPanel implements LoggerNameListener
     {
       focusOnAction.putValue(Action.NAME, "Focus On '" + logger + "'");
       hideAction.putValue(Action.NAME, "Ignore '" + logger + "'");
-      findNextAction.putValue(Action.NAME, "Search for '" + logger + "'");
+      findNextAction.putValue(Action.NAME, "Find '" + logger + "'");
       setRefineFocusAction.putValue(Action.NAME, "Set refine focus field to '" + logger + "'");
       updateRefineFocusAction.putValue(Action.NAME, "Add '" + logger + "' to 'refine focus' field");
       defineColorRuleForLoggerAction.putValue(Action.NAME, "Define color rule for '" + logger + "'");

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
index 184ace4..7dc0911 100644
--- a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
@@ -303,7 +303,7 @@ public class ColorPanel extends JPanel
       JPanel panel = new JPanel();
       panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
 
-      JLabel defineSearchColorsLabel = new JLabel("Search colors");
+      JLabel defineSearchColorsLabel = new JLabel("Find colors");
 
       panel.add(defineSearchColorsLabel);
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html b/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
index 3457d51..ed61f2c 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
+++ b/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
@@ -17,7 +17,7 @@
 </ul>
 <h2>13 Oct 2010</h2>
 <ul>
-<li>Added log panel preference to display search results in the detail panel.  When the preference is enabled and a search is performed, the matching rows are displayed in a table in the details panel.  Clicking on a row in that table selects the row in the main event table.</li>
+<li>Added log panel preference to display find results in the detail panel.  When the preference is enabled and a search is performed, the matching rows are displayed in a table in the details panel.  Clicking on a row in that table selects the row in the main event table.</li>
 </ul>
 <h2>22 Sep 2010</h2>
 <ul>
@@ -25,9 +25,9 @@
 </ul>
 <h2>15 Sep 2010</h2>
 <ul>
-<li>New feature: Clickable thumbnail bar on the left shows time delta to prior displayed event if the time delta is > 1 second (behaves similarly to the thumbnail bar on the right which shows colors and search matches, but represents the time delta between events).  A bigger delta is represented as a wider line.</li>
+<li>New feature: Clickable thumbnail bar on the left shows time delta to prior displayed event if the time delta is > 1 second (behaves similarly to the thumbnail bar on the right which shows colors and find matches, but represents the time delta between events).  A bigger delta is represented as a wider line.</li>
 <li>Updated table rendering logic when in line-wrap mode</li>
-<li>Updated row selection logic (goto/search) to make sure event is on the screen</li>
+<li>Updated row selection logic (goto/find) to make sure event is on the screen</li>
 <li>Capped the event time delta rendering in the table to a max of 50 pixels tall</li>
 </ul>
 <h2>13 Sep 2010</h2>

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/34497133/src/main/resources/org/apache/log4j/chainsaw/help/tutorial.html
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/log4j/chainsaw/help/tutorial.html b/src/main/resources/org/apache/log4j/chainsaw/help/tutorial.html
index 79374fe..0f54454 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/help/tutorial.html
+++ b/src/main/resources/org/apache/log4j/chainsaw/help/tutorial.html
@@ -216,16 +216,16 @@ Example: to display only events which are greater than or equal to level INFO, u
 <tr><td>To display events occurring at 23:55:12 on the 19th of June (all events generated during that second, regardless of millisecond value)</td><td><b>TIMESTAMP == '2004/06/19 23:55:12'</b></td></tr>
 </table>
 
-<A NAME="search"><h3>Search</h3>
+<A NAME="search"><h3>Find</h3>
 <p>
-<b>How to search:</b></p>
+<b>How to find:</b></p>
 <ul>
-<li><b>Enter an expression</b> in the text field of the main Chainsaw toolbar (a log panel must be selected)</li>
-<li>Click the <b>down arrow icon</b> or press <b>F3</b> to search forward</li>
-<li>Click the <b>up arrow icon</b> or press <b>Shift+F3</b> to search backward</li>
+<li><b>Enter an expression</b> in the Find field</li>
+<li>Click the <b>down arrow icon</b> or press <b>F3</b> or <b>enter</b> to search forward from the currently selected row</li>
+<li>Click the <b>up arrow icon</b> or press <b>Shift+F3</b> to search backward from the currently selected row</li>
 <li>The first matching row becomes selected, with matching rows displayed with white text on a black background</li>
 <li>Subsequent forward or backward searches will navigate to the next match</li>
-<li>To <b>clear the search highlighting</b>, clear the text field and press <b>F3</b>)</li>
+<li>To <b>clear the find highlighting</b>, clear the text field and press <b>F3</b> or <b>enter</b></li>
 </ul>
 <p>
 <A NAME="display_filter"><h3>Display filters (refine focus)</h3>