<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>LoggerNameTreePanel xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/LoggerNameTreePanel.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> * </em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> * </em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw;
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> java.awt.BorderLayout;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.awt.Color;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.awt.Component;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.awt.Cursor;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> java.awt.Dimension;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> java.awt.EventQueue;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.awt.Font;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.awt.Point;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.awt.Toolkit;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> java.awt.event.InputEvent;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> java.awt.event.MouseAdapter;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> java.awt.event.MouseEvent;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> java.awt.event.MouseMotionAdapter;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.awt.event.MouseMotionListener;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.beans.PropertyChangeEvent;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> java.beans.PropertyChangeListener;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <strong class="jxr_keyword">import</strong> javax.swing.AbstractAction;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">import</strong> javax.swing.Action;
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <strong class="jxr_keyword">import</strong> javax.swing.BorderFactory;
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <strong class="jxr_keyword">import</strong> javax.swing.Box;
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">import</strong> javax.swing.BoxLayout;
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <strong class="jxr_keyword">import</strong> javax.swing.DefaultListModel;
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> javax.swing.ImageIcon;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> javax.swing.JButton;
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">import</strong> javax.swing.JCheckBoxMenuItem;
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  <strong class="jxr_keyword">import</strong> javax.swing.JColorChooser;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  <strong class="jxr_keyword">import</strong> javax.swing.JDialog;
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  <strong class="jxr_keyword">import</strong> javax.swing.JEditorPane;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  <strong class="jxr_keyword">import</strong> javax.swing.JLabel;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  <strong class="jxr_keyword">import</strong> javax.swing.JList;
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  <strong class="jxr_keyword">import</strong> javax.swing.JPanel;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  <strong class="jxr_keyword">import</strong> javax.swing.JPopupMenu;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  <strong class="jxr_keyword">import</strong> javax.swing.JScrollPane;
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  <strong class="jxr_keyword">import</strong> javax.swing.JToolBar;
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  <strong class="jxr_keyword">import</strong> javax.swing.JTree;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  <strong class="jxr_keyword">import</strong> javax.swing.SwingUtilities;
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <strong class="jxr_keyword">import</strong> javax.swing.ToolTipManager;
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  <strong class="jxr_keyword">import</strong> javax.swing.UIManager;
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.ChangeEvent;
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.ChangeListener;
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.EventListenerList;
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.TreeModelEvent;
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.TreeModelListener;
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.TreeSelectionEvent;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.TreeSelectionListener;
<a class="jxr_linenumber" name="L77" href="#L77">77</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultMutableTreeNode;
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultTreeCellRenderer;
<a class="jxr_linenumber" name="L79" href="#L79">79</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultTreeSelectionModel;
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.TreeNode;
<a class="jxr_linenumber" name="L81" href="#L81">81</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath;
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.TreeSelectionModel;
<a class="jxr_linenumber" name="L83" href="#L83">83</a>  
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager;
<a class="jxr_linenumber" name="L85" href="#L85">85</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger;
<a class="jxr_linenumber" name="L86" href="#L86">86</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.color.RuleColorizer;
<a class="jxr_linenumber" name="L87" href="#L87">87</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.filter.FilterModel;
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.icons.ChainsawIcons;
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.icons.LineIconFactory;
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.AbstractRule;
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.ColorRule;
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.ExpressionRule;
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.Rule;
<a class="jxr_linenumber" name="L94" href="#L94">94</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent;
<a class="jxr_linenumber" name="L95" href="#L95">95</a>  
<a class="jxr_linenumber" name="L96" href="#L96">96</a>  
<a class="jxr_linenumber" name="L97" href="#L97">97</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L98" href="#L98">98</a>  <em class="jxr_javadoccomment"> * A panel that encapsulates the Logger Name tree, with associated actions</em>
<a class="jxr_linenumber" name="L99" href="#L99">99</a>  <em class="jxr_javadoccomment"> * and implements the Rule interface so that it can filter in/out events</em>
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment"> * that do not match the users request for refining the view based on Loggers.</em>
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_javadoccomment"> * @author Paul Smith &amp;lt;psmith@apache.org&amp;gt;</em>
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L104" href="#L104">104</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerNameTreePanel</a> <strong class="jxr_keyword">extends</strong> JPanel <strong class="jxr_keyword">implements</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameListener.html">LoggerNameListener</a>
<a class="jxr_linenumber" name="L105" href="#L105">105</a> {
<a class="jxr_linenumber" name="L106" href="#L106">106</a>   <em class="jxr_comment">//~ Static fields/initializers ==============================================</em>
<a class="jxr_linenumber" name="L107" href="#L107">107</a> 
<a class="jxr_linenumber" name="L108" href="#L108">108</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> WARN_DEPTH = 4;
<a class="jxr_linenumber" name="L109" href="#L109">109</a> 
<a class="jxr_linenumber" name="L110" href="#L110">110</a>   <em class="jxr_comment">//~ Instance fields =========================================================</em>
<a class="jxr_linenumber" name="L111" href="#L111">111</a> 
<a class="jxr_linenumber" name="L112" href="#L112">112</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerNameTreeCellRenderer</a> cellRenderer =
<a class="jxr_linenumber" name="L113" href="#L113">113</a>     <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerNameTreeCellRenderer</a>();
<a class="jxr_linenumber" name="L114" href="#L114">114</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action clearIgnoreListAction;
<a class="jxr_linenumber" name="L115" href="#L115">115</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action closeAction;
<a class="jxr_linenumber" name="L116" href="#L116">116</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JButton closeButton = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>();
<a class="jxr_linenumber" name="L117" href="#L117">117</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action collapseAction;
<a class="jxr_linenumber" name="L118" href="#L118">118</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JButton collapseButton = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>();
<a class="jxr_linenumber" name="L119" href="#L119">119</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action editLoggerAction;
<a class="jxr_linenumber" name="L120" href="#L120">120</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JButton editLoggerButton = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>();
<a class="jxr_linenumber" name="L121" href="#L121">121</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action expandAction;
<a class="jxr_linenumber" name="L122" href="#L122">122</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action findAction;
<a class="jxr_linenumber" name="L123" href="#L123">123</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action clearFindNextAction;
<a class="jxr_linenumber" name="L124" href="#L124">124</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action defineColorRuleForLoggerAction;
<a class="jxr_linenumber" name="L125" href="#L125">125</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action setRefineFocusAction;
<a class="jxr_linenumber" name="L126" href="#L126">126</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action updateRefineFocusAction;
<a class="jxr_linenumber" name="L127" href="#L127">127</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action updateFindAction;
<a class="jxr_linenumber" name="L128" href="#L128">128</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JButton expandButton = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>();
<a class="jxr_linenumber" name="L129" href="#L129">129</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action focusOnAction;
<a class="jxr_linenumber" name="L130" href="#L130">130</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action clearRefineFocusAction;
<a class="jxr_linenumber" name="L131" href="#L131">131</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallToggleButton.html">SmallToggleButton</a> focusOnLoggerButton =
<a class="jxr_linenumber" name="L132" href="#L132">132</a>     <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallToggleButton.html">SmallToggleButton</a>();
<a class="jxr_linenumber" name="L133" href="#L133">133</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set hiddenSet = <strong class="jxr_keyword">new</strong> HashSet();
<a class="jxr_linenumber" name="L134" href="#L134">134</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action hideAction;
<a class="jxr_linenumber" name="L135" href="#L135">135</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Action hideSubLoggersAction;
<a class="jxr_linenumber" name="L136" href="#L136">136</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LogPanelPreferenceModel.html">LogPanelPreferenceModel</a> preferenceModel;
<a class="jxr_linenumber" name="L137" href="#L137">137</a> 
<a class="jxr_linenumber" name="L138" href="#L138">138</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JList ignoreList = <strong class="jxr_keyword">new</strong> JList();
<a class="jxr_linenumber" name="L139" href="#L139">139</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JEditorPane ignoreExpressionEntryField = <strong class="jxr_keyword">new</strong> JEditorPane();
<a class="jxr_linenumber" name="L140" href="#L140">140</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JEditorPane alwaysDisplayExpressionEntryField = <strong class="jxr_keyword">new</strong> JEditorPane();
<a class="jxr_linenumber" name="L141" href="#L141">141</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JScrollPane ignoreListScroll = <strong class="jxr_keyword">new</strong> JScrollPane(ignoreList);
<a class="jxr_linenumber" name="L142" href="#L142">142</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JDialog ignoreDialog = <strong class="jxr_keyword">new</strong> JDialog();
<a class="jxr_linenumber" name="L143" href="#L143">143</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JDialog ignoreExpressionDialog = <strong class="jxr_keyword">new</strong> JDialog();
<a class="jxr_linenumber" name="L144" href="#L144">144</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JDialog alwaysDisplayExpressionDialog = <strong class="jxr_keyword">new</strong> JDialog();
<a class="jxr_linenumber" name="L145" href="#L145">145</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JLabel ignoreSummary = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"0 hidden loggers"</span>);
<a class="jxr_linenumber" name="L146" href="#L146">146</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JLabel ignoreExpressionSummary = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Ignore expression"</span>);
<a class="jxr_linenumber" name="L147" href="#L147">147</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JLabel alwaysDisplayExpressionSummary = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Always displayed expression"</span>);
<a class="jxr_linenumber" name="L148" href="#L148">148</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallToggleButton.html">SmallToggleButton</a> ignoreLoggerButton = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallToggleButton.html">SmallToggleButton</a>();
<a class="jxr_linenumber" name="L149" href="#L149">149</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> EventListenerList listenerList = <strong class="jxr_keyword">new</strong> EventListenerList();
<a class="jxr_linenumber" name="L150" href="#L150">150</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JTree logTree;
<a class="jxr_linenumber" name="L151" href="#L151">151</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = LogManager.getLogger(LoggerNameTreePanel.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L152" href="#L152">152</a> 
<a class="jxr_linenumber" name="L153" href="#L153">153</a>   <em class="jxr_comment">//  private final EventListenerList focusOnActionListeners =</em>
<a class="jxr_linenumber" name="L154" href="#L154">154</a>   <em class="jxr_comment">//    new EventListenerList();</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.html">LogPanelLoggerTreeModel</a> logTreeModel;
<a class="jxr_linenumber" name="L156" href="#L156">156</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/PopupListener.html">PopupListener</a> popupListener;
<a class="jxr_linenumber" name="L157" href="#L157">157</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerTreePopupMenu</a> popupMenu;
<a class="jxr_linenumber" name="L158" href="#L158">158</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">VisibilityRuleDelegate</a> visibilityRuleDelegate;
<a class="jxr_linenumber" name="L159" href="#L159">159</a>   <strong class="jxr_keyword">private</strong> Rule colorRuleDelegate; 
<a class="jxr_linenumber" name="L160" href="#L160">160</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JScrollPane scrollTree;
<a class="jxr_linenumber" name="L161" href="#L161">161</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JToolBar toolbar = <strong class="jxr_keyword">new</strong> JToolBar();
<a class="jxr_linenumber" name="L162" href="#L162">162</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LogPanel.html">LogPanel</a> logPanel;
<a class="jxr_linenumber" name="L163" href="#L163">163</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> colorizer;
<a class="jxr_linenumber" name="L164" href="#L164">164</a>   <strong class="jxr_keyword">private</strong> Rule ignoreExpressionRule;
<a class="jxr_linenumber" name="L165" href="#L165">165</a>   <strong class="jxr_keyword">private</strong> Rule alwaysDisplayExpressionRule;
<a class="jxr_linenumber" name="L166" href="#L166">166</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> expandRootLatch = false;
<a class="jxr_linenumber" name="L167" href="#L167">167</a>   <strong class="jxr_keyword">private</strong> String currentlySelectedLoggerName;
<a class="jxr_linenumber" name="L168" href="#L168">168</a> 
<a class="jxr_linenumber" name="L169" href="#L169">169</a>     <em class="jxr_comment">//~ Constructors ============================================================</em>
<a class="jxr_linenumber" name="L170" href="#L170">170</a> 
<a class="jxr_linenumber" name="L171" href="#L171">171</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <em class="jxr_javadoccomment">   * Creates a new LoggerNameTreePanel object.</em>
<a class="jxr_linenumber" name="L173" href="#L173">173</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <em class="jxr_javadoccomment">   * @param logTreeModel</em>
<a class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a>   <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerNameTreePanel</a>(<a href="../../../../org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.html">LogPanelLoggerTreeModel</a> logTreeModel, <a href="../../../../org/apache/log4j/chainsaw/LogPanelPreferenceModel.html">LogPanelPreferenceModel</a> preferenceModel, <a href="../../../../org/apache/log4j/chainsaw/LogPanel.html">LogPanel</a> logPanel, <a href="../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> colorizer, <a href="../../../../org/apache/log4j/chainsaw/filter/FilterModel.html">FilterModel</a> filterModel)
<a class="jxr_linenumber" name="L177" href="#L177">177</a>   {
<a class="jxr_linenumber" name="L178" href="#L178">178</a>     <strong class="jxr_keyword">super</strong>();
<a class="jxr_linenumber" name="L179" href="#L179">179</a>     <strong class="jxr_keyword">this</strong>.logTreeModel = logTreeModel;
<a class="jxr_linenumber" name="L180" href="#L180">180</a>     <strong class="jxr_keyword">this</strong>.preferenceModel = preferenceModel;
<a class="jxr_linenumber" name="L181" href="#L181">181</a>     <strong class="jxr_keyword">this</strong>.logPanel = logPanel;
<a class="jxr_linenumber" name="L182" href="#L182">182</a>     <strong class="jxr_keyword">this</strong>.colorizer = colorizer;
<a class="jxr_linenumber" name="L183" href="#L183">183</a> 
<a class="jxr_linenumber" name="L184" href="#L184">184</a>     setLayout(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L185" href="#L185">185</a>     ignoreExpressionEntryField.setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(300, 150));
<a class="jxr_linenumber" name="L186" href="#L186">186</a>     alwaysDisplayExpressionEntryField.setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(300, 150));
<a class="jxr_linenumber" name="L187" href="#L187">187</a>     alwaysDisplayExpressionSummary.setMinimumSize(<strong class="jxr_keyword">new</strong> Dimension(10, alwaysDisplayExpressionSummary.getHeight()));
<a class="jxr_linenumber" name="L188" href="#L188">188</a>     ignoreExpressionSummary.setMinimumSize(<strong class="jxr_keyword">new</strong> Dimension(10, ignoreExpressionSummary.getHeight()));
<a class="jxr_linenumber" name="L189" href="#L189">189</a>     ignoreSummary.setMinimumSize(<strong class="jxr_keyword">new</strong> Dimension(10, ignoreSummary.getHeight()));
<a class="jxr_linenumber" name="L190" href="#L190">190</a> 
<a class="jxr_linenumber" name="L191" href="#L191">191</a>     JTextComponentFormatter.applySystemFontAndSize(ignoreExpressionEntryField);
<a class="jxr_linenumber" name="L192" href="#L192">192</a>     JTextComponentFormatter.applySystemFontAndSize(alwaysDisplayExpressionEntryField);
<a class="jxr_linenumber" name="L193" href="#L193">193</a> 
<a class="jxr_linenumber" name="L194" href="#L194">194</a>     visibilityRuleDelegate = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">VisibilityRuleDelegate</a>();
<a class="jxr_linenumber" name="L195" href="#L195">195</a>     colorRuleDelegate = 
<a class="jxr_linenumber" name="L196" href="#L196">196</a>         <strong class="jxr_keyword">new</strong> AbstractRule()
<a class="jxr_linenumber" name="L197" href="#L197">197</a>         {
<a class="jxr_linenumber" name="L198" href="#L198">198</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> evaluate(LoggingEvent e, Map matches)
<a class="jxr_linenumber" name="L199" href="#L199">199</a>           {
<a class="jxr_linenumber" name="L200" href="#L200">200</a>             <strong class="jxr_keyword">boolean</strong> hiddenLogger = e.getLoggerName() != <strong class="jxr_keyword">null</strong> &amp;&amp; isHiddenLogger(e.getLoggerName());
<a class="jxr_linenumber" name="L201" href="#L201">201</a>             <strong class="jxr_keyword">boolean</strong> hiddenExpression = (ignoreExpressionRule != <strong class="jxr_keyword">null</strong> &amp;&amp; ignoreExpressionRule.evaluate(e, <strong class="jxr_keyword">null</strong>));
<a class="jxr_linenumber" name="L202" href="#L202">202</a>             <strong class="jxr_keyword">boolean</strong> alwaysDisplayExpression = (alwaysDisplayExpressionRule != <strong class="jxr_keyword">null</strong> &amp;&amp; alwaysDisplayExpressionRule.evaluate(e, <strong class="jxr_keyword">null</strong>));
<a class="jxr_linenumber" name="L203" href="#L203">203</a>             <strong class="jxr_keyword">boolean</strong> hidden = (!alwaysDisplayExpression) &amp;&amp; (hiddenLogger || hiddenExpression);
<a class="jxr_linenumber" name="L204" href="#L204">204</a>             String currentlySelectedLoggerName = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L205" href="#L205">205</a> 
<a class="jxr_linenumber" name="L206" href="#L206">206</a>             <strong class="jxr_keyword">if</strong> (!isFocusOnSelected() &amp;&amp; !hidden &amp;&amp; currentlySelectedLoggerName != <strong class="jxr_keyword">null</strong> &amp;&amp; !<span class="jxr_string">""</span>.equals(currentlySelectedLoggerName))
<a class="jxr_linenumber" name="L207" href="#L207">207</a>             {
<a class="jxr_linenumber" name="L208" href="#L208">208</a>             	<strong class="jxr_keyword">return</strong> (e.getLoggerName().startsWith(currentlySelectedLoggerName+<span class="jxr_string">"."</span>) || e.getLoggerName().endsWith(currentlySelectedLoggerName)) ;
<a class="jxr_linenumber" name="L209" href="#L209">209</a>             }
<a class="jxr_linenumber" name="L210" href="#L210">210</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L211" href="#L211">211</a>           }
<a class="jxr_linenumber" name="L212" href="#L212">212</a>         };
<a class="jxr_linenumber" name="L213" href="#L213">213</a> 
<a class="jxr_linenumber" name="L214" href="#L214">214</a>     logTree =
<a class="jxr_linenumber" name="L215" href="#L215">215</a>     <strong class="jxr_keyword">new</strong> JTree(logTreeModel)
<a class="jxr_linenumber" name="L216" href="#L216">216</a>       {
<a class="jxr_linenumber" name="L217" href="#L217">217</a>         <strong class="jxr_keyword">public</strong> String getToolTipText(MouseEvent ev)
<a class="jxr_linenumber" name="L218" href="#L218">218</a>         {
<a class="jxr_linenumber" name="L219" href="#L219">219</a>           <strong class="jxr_keyword">if</strong> (ev == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L220" href="#L220">220</a>           {
<a class="jxr_linenumber" name="L221" href="#L221">221</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L222" href="#L222">222</a>           }
<a class="jxr_linenumber" name="L223" href="#L223">223</a> 
<a class="jxr_linenumber" name="L224" href="#L224">224</a>           TreePath path = logTree.getPathForLocation(ev.getX(), ev.getY());
<a class="jxr_linenumber" name="L225" href="#L225">225</a> 
<a class="jxr_linenumber" name="L226" href="#L226">226</a>           String loggerName = getLoggerName(path);
<a class="jxr_linenumber" name="L227" href="#L227">227</a> 
<a class="jxr_linenumber" name="L228" href="#L228">228</a>           <strong class="jxr_keyword">if</strong> (hiddenSet.contains(loggerName))
<a class="jxr_linenumber" name="L229" href="#L229">229</a>           {
<a class="jxr_linenumber" name="L230" href="#L230">230</a>             loggerName += <span class="jxr_string">" (you are ignoring this logger)"</span>;
<a class="jxr_linenumber" name="L231" href="#L231">231</a>           }
<a class="jxr_linenumber" name="L232" href="#L232">232</a> 
<a class="jxr_linenumber" name="L233" href="#L233">233</a>           <strong class="jxr_keyword">return</strong> loggerName;
<a class="jxr_linenumber" name="L234" href="#L234">234</a>         }
<a class="jxr_linenumber" name="L235" href="#L235">235</a>       };
<a class="jxr_linenumber" name="L236" href="#L236">236</a> 
<a class="jxr_linenumber" name="L237" href="#L237">237</a>     ToolTipManager.sharedInstance().registerComponent(logTree);
<a class="jxr_linenumber" name="L238" href="#L238">238</a>     logTree.setCellRenderer(cellRenderer);
<a class="jxr_linenumber" name="L239" href="#L239">239</a> 
<a class="jxr_linenumber" name="L240" href="#L240">240</a>     <em class="jxr_comment">//	============================================</em>
<a class="jxr_linenumber" name="L241" href="#L241">241</a>     logTreeModel.addTreeModelListener(<strong class="jxr_keyword">new</strong> TreeModelListener()
<a class="jxr_linenumber" name="L242" href="#L242">242</a>       {
<a class="jxr_linenumber" name="L243" href="#L243">243</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesChanged(TreeModelEvent e)
<a class="jxr_linenumber" name="L244" href="#L244">244</a>         {
<a class="jxr_linenumber" name="L245" href="#L245">245</a>         }
<a class="jxr_linenumber" name="L246" href="#L246">246</a> 
<a class="jxr_linenumber" name="L247" href="#L247">247</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesInserted(TreeModelEvent e)
<a class="jxr_linenumber" name="L248" href="#L248">248</a>         {
<a class="jxr_linenumber" name="L249" href="#L249">249</a>           <strong class="jxr_keyword">if</strong> (!expandRootLatch)
<a class="jxr_linenumber" name="L250" href="#L250">250</a>           {
<a class="jxr_linenumber" name="L251" href="#L251">251</a>             ensureRootExpanded();
<a class="jxr_linenumber" name="L252" href="#L252">252</a>             expandRootLatch = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L253" href="#L253">253</a>           }
<a class="jxr_linenumber" name="L254" href="#L254">254</a>         }
<a class="jxr_linenumber" name="L255" href="#L255">255</a> 
<a class="jxr_linenumber" name="L256" href="#L256">256</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesRemoved(TreeModelEvent e)
<a class="jxr_linenumber" name="L257" href="#L257">257</a>         {
<a class="jxr_linenumber" name="L258" href="#L258">258</a>         }
<a class="jxr_linenumber" name="L259" href="#L259">259</a> 
<a class="jxr_linenumber" name="L260" href="#L260">260</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeStructureChanged(TreeModelEvent e)
<a class="jxr_linenumber" name="L261" href="#L261">261</a>         {
<a class="jxr_linenumber" name="L262" href="#L262">262</a>         }
<a class="jxr_linenumber" name="L263" href="#L263">263</a>       });
<a class="jxr_linenumber" name="L264" href="#L264">264</a> 
<a class="jxr_linenumber" name="L265" href="#L265">265</a>     logTree.setEditable(false);
<a class="jxr_linenumber" name="L266" href="#L266">266</a> 
<a class="jxr_linenumber" name="L267" href="#L267">267</a>     <em class="jxr_comment">//	TODO decide if Multi-selection is useful, and how it would work	</em>
<a class="jxr_linenumber" name="L268" href="#L268">268</a>     TreeSelectionModel selectionModel = <strong class="jxr_keyword">new</strong> DefaultTreeSelectionModel();
<a class="jxr_linenumber" name="L269" href="#L269">269</a>     selectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
<a class="jxr_linenumber" name="L270" href="#L270">270</a>     logTree.setSelectionModel(selectionModel);
<a class="jxr_linenumber" name="L271" href="#L271">271</a> 
<a class="jxr_linenumber" name="L272" href="#L272">272</a>     logTree.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
<a class="jxr_linenumber" name="L273" href="#L273">273</a>     scrollTree = <strong class="jxr_keyword">new</strong> JScrollPane(logTree);
<a class="jxr_linenumber" name="L274" href="#L274">274</a>     toolbar.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(toolbar, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L275" href="#L275">275</a> 
<a class="jxr_linenumber" name="L276" href="#L276">276</a>     expandAction = createExpandAction();
<a class="jxr_linenumber" name="L277" href="#L277">277</a>     findAction = createFindNextAction();
<a class="jxr_linenumber" name="L278" href="#L278">278</a>     clearFindNextAction = createClearFindNextAction();
<a class="jxr_linenumber" name="L279" href="#L279">279</a>     defineColorRuleForLoggerAction = createDefineColorRuleForLoggerAction();
<a class="jxr_linenumber" name="L280" href="#L280">280</a>     clearRefineFocusAction = createClearRefineFocusAction();
<a class="jxr_linenumber" name="L281" href="#L281">281</a>     setRefineFocusAction = createSetRefineFocusAction();
<a class="jxr_linenumber" name="L282" href="#L282">282</a>     updateRefineFocusAction = createUpdateRefineFocusAction();
<a class="jxr_linenumber" name="L283" href="#L283">283</a>     updateFindAction = createUpdateFindAction();
<a class="jxr_linenumber" name="L284" href="#L284">284</a>     editLoggerAction = createEditLoggerAction();
<a class="jxr_linenumber" name="L285" href="#L285">285</a>     closeAction = createCloseAction();
<a class="jxr_linenumber" name="L286" href="#L286">286</a>     collapseAction = createCollapseAction();
<a class="jxr_linenumber" name="L287" href="#L287">287</a>     focusOnAction = createFocusOnAction();
<a class="jxr_linenumber" name="L288" href="#L288">288</a>     hideAction = createIgnoreAction();
<a class="jxr_linenumber" name="L289" href="#L289">289</a>     hideSubLoggersAction = createIgnoreAllAction();
<a class="jxr_linenumber" name="L290" href="#L290">290</a>     clearIgnoreListAction = createClearIgnoreListAction();
<a class="jxr_linenumber" name="L291" href="#L291">291</a> 
<a class="jxr_linenumber" name="L292" href="#L292">292</a>     popupMenu = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerTreePopupMenu</a>();
<a class="jxr_linenumber" name="L293" href="#L293">293</a>     popupListener = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/PopupListener.html">PopupListener</a>(popupMenu);
<a class="jxr_linenumber" name="L294" href="#L294">294</a> 
<a class="jxr_linenumber" name="L295" href="#L295">295</a>     setupListeners();
<a class="jxr_linenumber" name="L296" href="#L296">296</a>     configureToolbarPanel();
<a class="jxr_linenumber" name="L297" href="#L297">297</a> 
<a class="jxr_linenumber" name="L298" href="#L298">298</a>     add(toolbar, BorderLayout.NORTH);
<a class="jxr_linenumber" name="L299" href="#L299">299</a>     add(scrollTree, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L300" href="#L300">300</a> 
<a class="jxr_linenumber" name="L301" href="#L301">301</a>     ignoreDialog.setTitle(<span class="jxr_string">"Hidden/Ignored Loggers"</span>);
<a class="jxr_linenumber" name="L302" href="#L302">302</a>     ignoreDialog.setModal(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L303" href="#L303">303</a> 
<a class="jxr_linenumber" name="L304" href="#L304">304</a>     ignoreExpressionDialog.setTitle(<span class="jxr_string">"Hidden/Ignored Expression"</span>);
<a class="jxr_linenumber" name="L305" href="#L305">305</a>     ignoreExpressionDialog.setModal(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L306" href="#L306">306</a> 
<a class="jxr_linenumber" name="L307" href="#L307">307</a>     alwaysDisplayExpressionDialog.setTitle(<span class="jxr_string">"Always displayed Expression"</span>);
<a class="jxr_linenumber" name="L308" href="#L308">308</a>     alwaysDisplayExpressionDialog.setModal(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L309" href="#L309">309</a> 
<a class="jxr_linenumber" name="L310" href="#L310">310</a>     JPanel ignorePanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L311" href="#L311">311</a>     ignorePanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(ignorePanel, BoxLayout.Y_AXIS));
<a class="jxr_linenumber" name="L312" href="#L312">312</a>     JPanel ignoreSummaryPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L313" href="#L313">313</a>     ignoreSummaryPanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(ignoreSummaryPanel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L314" href="#L314">314</a>     ignoreSummaryPanel.add(ignoreSummary);
<a class="jxr_linenumber" name="L315" href="#L315">315</a>     
<a class="jxr_linenumber" name="L316" href="#L316">316</a>     Action showIgnoreDialogAction = <strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">"..."</span>) {
<a class="jxr_linenumber" name="L317" href="#L317">317</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a class="jxr_linenumber" name="L318" href="#L318">318</a>             LogPanel.centerAndSetVisible(ignoreDialog);
<a class="jxr_linenumber" name="L319" href="#L319">319</a>         }
<a class="jxr_linenumber" name="L320" href="#L320">320</a>     };
<a class="jxr_linenumber" name="L321" href="#L321">321</a> 
<a class="jxr_linenumber" name="L322" href="#L322">322</a>     Action showIgnoreExpressionDialogAction = <strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">"..."</span>) {
<a class="jxr_linenumber" name="L323" href="#L323">323</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a class="jxr_linenumber" name="L324" href="#L324">324</a>           LogPanel.centerAndSetVisible(ignoreExpressionDialog);
<a class="jxr_linenumber" name="L325" href="#L325">325</a>       }
<a class="jxr_linenumber" name="L326" href="#L326">326</a>     };
<a class="jxr_linenumber" name="L327" href="#L327">327</a> 
<a class="jxr_linenumber" name="L328" href="#L328">328</a> 
<a class="jxr_linenumber" name="L329" href="#L329">329</a>     Action showAlwaysDisplayExpressionDialogAction = <strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">"..."</span>) {
<a class="jxr_linenumber" name="L330" href="#L330">330</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a class="jxr_linenumber" name="L331" href="#L331">331</a>           LogPanel.centerAndSetVisible(alwaysDisplayExpressionDialog);
<a class="jxr_linenumber" name="L332" href="#L332">332</a>       }
<a class="jxr_linenumber" name="L333" href="#L333">333</a>     };
<a class="jxr_linenumber" name="L334" href="#L334">334</a> 
<a class="jxr_linenumber" name="L335" href="#L335">335</a>     showIgnoreDialogAction.putValue(Action.SHORT_DESCRIPTION, <span class="jxr_string">"Click to view and manage your hidden/ignored loggers"</span>);
<a class="jxr_linenumber" name="L336" href="#L336">336</a>     JButton btnShowIgnoreDialog = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>(showIgnoreDialogAction);
<a class="jxr_linenumber" name="L337" href="#L337">337</a>     
<a class="jxr_linenumber" name="L338" href="#L338">338</a>     ignoreSummaryPanel.add(btnShowIgnoreDialog);
<a class="jxr_linenumber" name="L339" href="#L339">339</a>     ignorePanel.add(ignoreSummaryPanel);
<a class="jxr_linenumber" name="L340" href="#L340">340</a> 
<a class="jxr_linenumber" name="L341" href="#L341">341</a>     JPanel ignoreExpressionPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L342" href="#L342">342</a>     ignoreExpressionPanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(ignoreExpressionPanel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L343" href="#L343">343</a>     ignoreExpressionPanel.add(ignoreExpressionSummary);
<a class="jxr_linenumber" name="L344" href="#L344">344</a>     showIgnoreExpressionDialogAction.putValue(Action.SHORT_DESCRIPTION, <span class="jxr_string">"Click to view and manage your hidden/ignored expression"</span>);
<a class="jxr_linenumber" name="L345" href="#L345">345</a>     JButton btnShowIgnoreExpressionDialog = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>(showIgnoreExpressionDialogAction);
<a class="jxr_linenumber" name="L346" href="#L346">346</a>     ignoreExpressionPanel.add(btnShowIgnoreExpressionDialog);
<a class="jxr_linenumber" name="L347" href="#L347">347</a> 
<a class="jxr_linenumber" name="L348" href="#L348">348</a>     ignorePanel.add(ignoreExpressionPanel);
<a class="jxr_linenumber" name="L349" href="#L349">349</a> 
<a class="jxr_linenumber" name="L350" href="#L350">350</a>     JPanel alwaysDisplayExpressionPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L351" href="#L351">351</a>     alwaysDisplayExpressionPanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(alwaysDisplayExpressionPanel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L352" href="#L352">352</a>     alwaysDisplayExpressionPanel.add(alwaysDisplayExpressionSummary);
<a class="jxr_linenumber" name="L353" href="#L353">353</a>     showAlwaysDisplayExpressionDialogAction.putValue(Action.SHORT_DESCRIPTION, <span class="jxr_string">"Click to view and manage your always-displayed expression"</span>);
<a class="jxr_linenumber" name="L354" href="#L354">354</a>     JButton btnShowAlwaysDisplayExpressionDialog = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/SmallButton.html">SmallButton</a>(showAlwaysDisplayExpressionDialogAction);
<a class="jxr_linenumber" name="L355" href="#L355">355</a>     alwaysDisplayExpressionPanel.add(btnShowAlwaysDisplayExpressionDialog);
<a class="jxr_linenumber" name="L356" href="#L356">356</a> 
<a class="jxr_linenumber" name="L357" href="#L357">357</a>     ignorePanel.add(alwaysDisplayExpressionPanel);
<a class="jxr_linenumber" name="L358" href="#L358">358</a> 
<a class="jxr_linenumber" name="L359" href="#L359">359</a>     add(ignorePanel, BorderLayout.SOUTH);
<a class="jxr_linenumber" name="L360" href="#L360">360</a> 
<a class="jxr_linenumber" name="L361" href="#L361">361</a>     ignoreList.setModel(<strong class="jxr_keyword">new</strong> DefaultListModel());
<a class="jxr_linenumber" name="L362" href="#L362">362</a>     ignoreList.addMouseListener(<strong class="jxr_keyword">new</strong> MouseAdapter()
<a class="jxr_linenumber" name="L363" href="#L363">363</a>       {
<a class="jxr_linenumber" name="L364" href="#L364">364</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> mouseClicked(MouseEvent e)
<a class="jxr_linenumber" name="L365" href="#L365">365</a>         {
<a class="jxr_linenumber" name="L366" href="#L366">366</a>           <strong class="jxr_keyword">if</strong> (
<a class="jxr_linenumber" name="L367" href="#L367">367</a>             (e.getClickCount() &gt; 1)
<a class="jxr_linenumber" name="L368" href="#L368">368</a>               &amp;&amp; ((e.getModifiers() &amp; InputEvent.BUTTON1_MASK) &gt; 0))
<a class="jxr_linenumber" name="L369" href="#L369">369</a>           {
<a class="jxr_linenumber" name="L370" href="#L370">370</a>             <strong class="jxr_keyword">int</strong> index = ignoreList.locationToIndex(e.getPoint());
<a class="jxr_linenumber" name="L371" href="#L371">371</a> 
<a class="jxr_linenumber" name="L372" href="#L372">372</a>             <strong class="jxr_keyword">if</strong> (index &gt;= 0)
<a class="jxr_linenumber" name="L373" href="#L373">373</a>             {
<a class="jxr_linenumber" name="L374" href="#L374">374</a>               String string =
<a class="jxr_linenumber" name="L375" href="#L375">375</a>                 ignoreList.getModel().getElementAt(index).toString();
<a class="jxr_linenumber" name="L376" href="#L376">376</a>               toggleHiddenLogger(string);
<a class="jxr_linenumber" name="L377" href="#L377">377</a>               fireChangeEvent();
<a class="jxr_linenumber" name="L378" href="#L378">378</a> 
<a class="jxr_linenumber" name="L379" href="#L379">379</a>               <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L380" href="#L380">380</a> <em class="jxr_javadoccomment">               * TODO this needs to get the node that has this logger and fire a visual update</em>
<a class="jxr_linenumber" name="L381" href="#L381">381</a> <em class="jxr_javadoccomment">               */</em>
<a class="jxr_linenumber" name="L382" href="#L382">382</a>               LoggerNameTreePanel.<strong class="jxr_keyword">this</strong>.logTreeModel.nodeStructureChanged(
<a class="jxr_linenumber" name="L383" href="#L383">383</a>                 (TreeNode) LoggerNameTreePanel.<strong class="jxr_keyword">this</strong>.logTreeModel.getRoot());
<a class="jxr_linenumber" name="L384" href="#L384">384</a>             }
<a class="jxr_linenumber" name="L385" href="#L385">385</a>           }
<a class="jxr_linenumber" name="L386" href="#L386">386</a>         }
<a class="jxr_linenumber" name="L387" href="#L387">387</a>       });
<a class="jxr_linenumber" name="L388" href="#L388">388</a>     
<a class="jxr_linenumber" name="L389" href="#L389">389</a>     JPanel ignoreListPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L390" href="#L390">390</a>     ignoreListScroll.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),<span class="jxr_string">"Double click an entry to unhide it"</span>));
<a class="jxr_linenumber" name="L391" href="#L391">391</a>     ignoreListPanel.add(ignoreListScroll, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L392" href="#L392">392</a> 
<a class="jxr_linenumber" name="L393" href="#L393">393</a>     JPanel ignoreExpressionDialogPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L394" href="#L394">394</a>     ignoreExpressionEntryField.addKeyListener(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/ExpressionRuleContext.html">ExpressionRuleContext</a>(filterModel, ignoreExpressionEntryField));
<a class="jxr_linenumber" name="L395" href="#L395">395</a> 
<a class="jxr_linenumber" name="L396" href="#L396">396</a>     ignoreExpressionDialogPanel.add(<strong class="jxr_keyword">new</strong> JScrollPane(ignoreExpressionEntryField), BorderLayout.CENTER);
<a class="jxr_linenumber" name="L397" href="#L397">397</a>     JButton ignoreExpressionCloseButton = <strong class="jxr_keyword">new</strong> JButton(<strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">" Close "</span>) {
<a class="jxr_linenumber" name="L398" href="#L398">398</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L399" href="#L399">399</a>           {
<a class="jxr_linenumber" name="L400" href="#L400">400</a>               String ignoreText = ignoreExpressionEntryField.getText();
<a class="jxr_linenumber" name="L401" href="#L401">401</a> 
<a class="jxr_linenumber" name="L402" href="#L402">402</a>               <strong class="jxr_keyword">if</strong> (updateIgnoreExpression(ignoreText)) {
<a class="jxr_linenumber" name="L403" href="#L403">403</a>                 ignoreExpressionDialog.setVisible(false);
<a class="jxr_linenumber" name="L404" href="#L404">404</a>               }
<a class="jxr_linenumber" name="L405" href="#L405">405</a>           }});
<a class="jxr_linenumber" name="L406" href="#L406">406</a> 
<a class="jxr_linenumber" name="L407" href="#L407">407</a> 
<a class="jxr_linenumber" name="L408" href="#L408">408</a>     JPanel alwaysDisplayExpressionDialogPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L409" href="#L409">409</a>     alwaysDisplayExpressionEntryField.addKeyListener(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/ExpressionRuleContext.html">ExpressionRuleContext</a>(filterModel, alwaysDisplayExpressionEntryField));
<a class="jxr_linenumber" name="L410" href="#L410">410</a> 
<a class="jxr_linenumber" name="L411" href="#L411">411</a>     alwaysDisplayExpressionDialogPanel.add(<strong class="jxr_keyword">new</strong> JScrollPane(alwaysDisplayExpressionEntryField), BorderLayout.CENTER);
<a class="jxr_linenumber" name="L412" href="#L412">412</a>     JButton alwaysDisplayExpressionCloseButton = <strong class="jxr_keyword">new</strong> JButton(<strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">" Close "</span>) {
<a class="jxr_linenumber" name="L413" href="#L413">413</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L414" href="#L414">414</a>           {
<a class="jxr_linenumber" name="L415" href="#L415">415</a>               String alwaysDisplayText = alwaysDisplayExpressionEntryField.getText();
<a class="jxr_linenumber" name="L416" href="#L416">416</a> 
<a class="jxr_linenumber" name="L417" href="#L417">417</a>               <strong class="jxr_keyword">if</strong> (updateAlwaysDisplayExpression(alwaysDisplayText)) {
<a class="jxr_linenumber" name="L418" href="#L418">418</a>                 alwaysDisplayExpressionDialog.setVisible(false);
<a class="jxr_linenumber" name="L419" href="#L419">419</a>               }
<a class="jxr_linenumber" name="L420" href="#L420">420</a>           }});
<a class="jxr_linenumber" name="L421" href="#L421">421</a> 
<a class="jxr_linenumber" name="L422" href="#L422">422</a>     JPanel closeAlwaysDisplayExpressionPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L423" href="#L423">423</a>     closeAlwaysDisplayExpressionPanel.add(alwaysDisplayExpressionCloseButton);
<a class="jxr_linenumber" name="L424" href="#L424">424</a>     alwaysDisplayExpressionDialogPanel.add(closeAlwaysDisplayExpressionPanel, BorderLayout.SOUTH);
<a class="jxr_linenumber" name="L425" href="#L425">425</a> 
<a class="jxr_linenumber" name="L426" href="#L426">426</a>     JPanel closeIgnoreExpressionPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L427" href="#L427">427</a>     closeIgnoreExpressionPanel.add(ignoreExpressionCloseButton);
<a class="jxr_linenumber" name="L428" href="#L428">428</a>     ignoreExpressionDialogPanel.add(closeIgnoreExpressionPanel, BorderLayout.SOUTH);
<a class="jxr_linenumber" name="L429" href="#L429">429</a> 
<a class="jxr_linenumber" name="L430" href="#L430">430</a>     Box ignoreListButtonPanel = Box.createHorizontalBox();
<a class="jxr_linenumber" name="L431" href="#L431">431</a>     
<a class="jxr_linenumber" name="L432" href="#L432">432</a>     JButton unhideAll = <strong class="jxr_keyword">new</strong> JButton(<strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">" Unhide All "</span>) {
<a class="jxr_linenumber" name="L433" href="#L433">433</a> 
<a class="jxr_linenumber" name="L434" href="#L434">434</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(<strong class="jxr_keyword">final</strong> ActionEvent e)
<a class="jxr_linenumber" name="L435" href="#L435">435</a>         {
<a class="jxr_linenumber" name="L436" href="#L436">436</a>              SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() {
<a class="jxr_linenumber" name="L437" href="#L437">437</a> 
<a class="jxr_linenumber" name="L438" href="#L438">438</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run()
<a class="jxr_linenumber" name="L439" href="#L439">439</a>                 {
<a class="jxr_linenumber" name="L440" href="#L440">440</a>                     clearIgnoreListAction.actionPerformed(e);
<a class="jxr_linenumber" name="L441" href="#L441">441</a>                 }}); 
<a class="jxr_linenumber" name="L442" href="#L442">442</a>             
<a class="jxr_linenumber" name="L443" href="#L443">443</a>         }});
<a class="jxr_linenumber" name="L444" href="#L444">444</a>     ignoreListButtonPanel.add(unhideAll);
<a class="jxr_linenumber" name="L445" href="#L445">445</a>     
<a class="jxr_linenumber" name="L446" href="#L446">446</a>     ignoreListButtonPanel.add(Box.createHorizontalGlue());
<a class="jxr_linenumber" name="L447" href="#L447">447</a>     JButton ignoreCloseButton = <strong class="jxr_keyword">new</strong> JButton(<strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">" Close "</span>) {
<a class="jxr_linenumber" name="L448" href="#L448">448</a> 
<a class="jxr_linenumber" name="L449" href="#L449">449</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L450" href="#L450">450</a>         {
<a class="jxr_linenumber" name="L451" href="#L451">451</a>             ignoreDialog.setVisible(false);
<a class="jxr_linenumber" name="L452" href="#L452">452</a>             
<a class="jxr_linenumber" name="L453" href="#L453">453</a>         }});
<a class="jxr_linenumber" name="L454" href="#L454">454</a>     ignoreListButtonPanel.add(ignoreCloseButton);
<a class="jxr_linenumber" name="L455" href="#L455">455</a>     
<a class="jxr_linenumber" name="L456" href="#L456">456</a>     
<a class="jxr_linenumber" name="L457" href="#L457">457</a>     ignoreListPanel.add(ignoreListButtonPanel, BorderLayout.SOUTH);
<a class="jxr_linenumber" name="L458" href="#L458">458</a>     
<a class="jxr_linenumber" name="L459" href="#L459">459</a>     
<a class="jxr_linenumber" name="L460" href="#L460">460</a>     ignoreDialog.getContentPane().add(ignoreListPanel);
<a class="jxr_linenumber" name="L461" href="#L461">461</a>     ignoreDialog.pack();
<a class="jxr_linenumber" name="L462" href="#L462">462</a> 
<a class="jxr_linenumber" name="L463" href="#L463">463</a>     ignoreExpressionDialog.getContentPane().add(ignoreExpressionDialogPanel);
<a class="jxr_linenumber" name="L464" href="#L464">464</a>     ignoreExpressionDialog.pack();
<a class="jxr_linenumber" name="L465" href="#L465">465</a> 
<a class="jxr_linenumber" name="L466" href="#L466">466</a>     alwaysDisplayExpressionDialog.getContentPane().add(alwaysDisplayExpressionDialogPanel);
<a class="jxr_linenumber" name="L467" href="#L467">467</a>     alwaysDisplayExpressionDialog.pack();
<a class="jxr_linenumber" name="L468" href="#L468">468</a>   }
<a class="jxr_linenumber" name="L469" href="#L469">469</a> 
<a class="jxr_linenumber" name="L470" href="#L470">470</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> updateIgnoreExpression(String ignoreText)
<a class="jxr_linenumber" name="L471" href="#L471">471</a>     {
<a class="jxr_linenumber" name="L472" href="#L472">472</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L473" href="#L473">473</a>             <strong class="jxr_keyword">if</strong> (ignoreText != <strong class="jxr_keyword">null</strong> &amp;&amp; !ignoreText.trim().equals(<span class="jxr_string">""</span>)) {
<a class="jxr_linenumber" name="L474" href="#L474">474</a>                 ignoreExpressionRule = ExpressionRule.getRule(ignoreText);
<a class="jxr_linenumber" name="L475" href="#L475">475</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L476" href="#L476">476</a>                 ignoreExpressionRule = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L477" href="#L477">477</a>             }
<a class="jxr_linenumber" name="L478" href="#L478">478</a>             visibilityRuleDelegate.firePropertyChange(<span class="jxr_string">"hiddenSet"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L479" href="#L479">479</a> 
<a class="jxr_linenumber" name="L480" href="#L480">480</a>             updateDisplay();
<a class="jxr_linenumber" name="L481" href="#L481">481</a>             ignoreExpressionEntryField.setBackground(UIManager.getColor(<span class="jxr_string">"TextField.background"</span>));
<a class="jxr_linenumber" name="L482" href="#L482">482</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L483" href="#L483">483</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException iae) {
<a class="jxr_linenumber" name="L484" href="#L484">484</a>             ignoreExpressionEntryField.setToolTipText(iae.getMessage());
<a class="jxr_linenumber" name="L485" href="#L485">485</a>             ignoreExpressionEntryField.setBackground(ChainsawConstants.INVALID_EXPRESSION_BACKGROUND);
<a class="jxr_linenumber" name="L486" href="#L486">486</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L487" href="#L487">487</a>         }
<a class="jxr_linenumber" name="L488" href="#L488">488</a>     }
<a class="jxr_linenumber" name="L489" href="#L489">489</a> 
<a class="jxr_linenumber" name="L490" href="#L490">490</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> updateAlwaysDisplayExpression(String alwaysDisplayText)
<a class="jxr_linenumber" name="L491" href="#L491">491</a>     {
<a class="jxr_linenumber" name="L492" href="#L492">492</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L493" href="#L493">493</a>             <strong class="jxr_keyword">if</strong> (alwaysDisplayText != <strong class="jxr_keyword">null</strong> &amp;&amp; !alwaysDisplayText.trim().equals(<span class="jxr_string">""</span>)) {
<a class="jxr_linenumber" name="L494" href="#L494">494</a>                 alwaysDisplayExpressionRule = ExpressionRule.getRule(alwaysDisplayText);
<a class="jxr_linenumber" name="L495" href="#L495">495</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L496" href="#L496">496</a>                 alwaysDisplayExpressionRule = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L497" href="#L497">497</a>             }
<a class="jxr_linenumber" name="L498" href="#L498">498</a>             visibilityRuleDelegate.firePropertyChange(<span class="jxr_string">"alwaysDisplayedSet"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L499" href="#L499">499</a> 
<a class="jxr_linenumber" name="L500" href="#L500">500</a>             updateDisplay();
<a class="jxr_linenumber" name="L501" href="#L501">501</a>             alwaysDisplayExpressionEntryField.setBackground(UIManager.getColor(<span class="jxr_string">"TextField.background"</span>));
<a class="jxr_linenumber" name="L502" href="#L502">502</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L503" href="#L503">503</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException iae) {
<a class="jxr_linenumber" name="L504" href="#L504">504</a>             alwaysDisplayExpressionEntryField.setToolTipText(iae.getMessage());
<a class="jxr_linenumber" name="L505" href="#L505">505</a>             alwaysDisplayExpressionEntryField.setBackground(ChainsawConstants.INVALID_EXPRESSION_BACKGROUND);
<a class="jxr_linenumber" name="L506" href="#L506">506</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L507" href="#L507">507</a>         }
<a class="jxr_linenumber" name="L508" href="#L508">508</a>     }
<a class="jxr_linenumber" name="L509" href="#L509">509</a> 
<a class="jxr_linenumber" name="L510" href="#L510">510</a>     <em class="jxr_comment">//~ Methods =================================================================</em>
<a class="jxr_linenumber" name="L511" href="#L511">511</a> 
<a class="jxr_linenumber" name="L512" href="#L512">512</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L513" href="#L513">513</a> <em class="jxr_javadoccomment">   * Adds a change Listener to this LoggerNameTreePanel to be notfied</em>
<a class="jxr_linenumber" name="L514" href="#L514">514</a> <em class="jxr_javadoccomment">   * when the State of the Focus or Hidden details have changed.</em>
<a class="jxr_linenumber" name="L515" href="#L515">515</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L516" href="#L516">516</a> <em class="jxr_javadoccomment">   * @param l</em>
<a class="jxr_linenumber" name="L517" href="#L517">517</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L518" href="#L518">518</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addChangeListener(ChangeListener l)
<a class="jxr_linenumber" name="L519" href="#L519">519</a>   {
<a class="jxr_linenumber" name="L520" href="#L520">520</a>     listenerList.add(ChangeListener.<strong class="jxr_keyword">class</strong>, l);
<a class="jxr_linenumber" name="L521" href="#L521">521</a>   }
<a class="jxr_linenumber" name="L522" href="#L522">522</a> 
<a class="jxr_linenumber" name="L523" href="#L523">523</a>   <strong class="jxr_keyword">public</strong> Rule getLoggerColorRule() {
<a class="jxr_linenumber" name="L524" href="#L524">524</a>   	<strong class="jxr_keyword">return</strong> colorRuleDelegate;
<a class="jxr_linenumber" name="L525" href="#L525">525</a>   }
<a class="jxr_linenumber" name="L526" href="#L526">526</a> 
<a class="jxr_linenumber" name="L527" href="#L527">527</a>   <strong class="jxr_keyword">public</strong> Rule getLoggerVisibilityRule() {
<a class="jxr_linenumber" name="L528" href="#L528">528</a>       <strong class="jxr_keyword">return</strong> visibilityRuleDelegate;
<a class="jxr_linenumber" name="L529" href="#L529">529</a>   }
<a class="jxr_linenumber" name="L530" href="#L530">530</a> 
<a class="jxr_linenumber" name="L531" href="#L531">531</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L532" href="#L532">532</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L533" href="#L533">533</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L534" href="#L534">534</a> <em class="jxr_javadoccomment">   * @param l DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L535" href="#L535">535</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L536" href="#L536">536</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeChangeListener(ChangeListener l)
<a class="jxr_linenumber" name="L537" href="#L537">537</a>   {
<a class="jxr_linenumber" name="L538" href="#L538">538</a>     listenerList.remove(ChangeListener.<strong class="jxr_keyword">class</strong>, l);
<a class="jxr_linenumber" name="L539" href="#L539">539</a>   }
<a class="jxr_linenumber" name="L540" href="#L540">540</a> 
<a class="jxr_linenumber" name="L541" href="#L541">541</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L542" href="#L542">542</a> <em class="jxr_javadoccomment">   * Ensures the Focus is set to a specific logger name</em>
<a class="jxr_linenumber" name="L543" href="#L543">543</a> <em class="jxr_javadoccomment">   * @param</em>
<a class="jxr_linenumber" name="L544" href="#L544">544</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L545" href="#L545">545</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFocusOn(String newLogger)
<a class="jxr_linenumber" name="L546" href="#L546">546</a>   {
<a class="jxr_linenumber" name="L547" href="#L547">547</a>     DefaultMutableTreeNode node = logTreeModel.lookupLogger(newLogger);
<a class="jxr_linenumber" name="L548" href="#L548">548</a> 
<a class="jxr_linenumber" name="L549" href="#L549">549</a>     <strong class="jxr_keyword">if</strong> (node != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L550" href="#L550">550</a>     {
<a class="jxr_linenumber" name="L551" href="#L551">551</a>       TreeNode[] nodes = node.getPath();
<a class="jxr_linenumber" name="L552" href="#L552">552</a>       TreePath treePath = <strong class="jxr_keyword">new</strong> TreePath(nodes);
<a class="jxr_linenumber" name="L553" href="#L553">553</a>       logTree.setSelectionPath(treePath);
<a class="jxr_linenumber" name="L554" href="#L554">554</a> 
<a class="jxr_linenumber" name="L555" href="#L555">555</a>       <strong class="jxr_keyword">if</strong> (!focusOnLoggerButton.isSelected())
<a class="jxr_linenumber" name="L556" href="#L556">556</a>       {
<a class="jxr_linenumber" name="L557" href="#L557">557</a>         focusOnLoggerButton.doClick();
<a class="jxr_linenumber" name="L558" href="#L558">558</a>       }
<a class="jxr_linenumber" name="L559" href="#L559">559</a>     }
<a class="jxr_linenumber" name="L560" href="#L560">560</a>     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L561" href="#L561">561</a>     {
<a class="jxr_linenumber" name="L562" href="#L562">562</a>       logger.error(<span class="jxr_string">"failed to lookup logger "</span> + newLogger);
<a class="jxr_linenumber" name="L563" href="#L563">563</a>     }
<a class="jxr_linenumber" name="L564" href="#L564">564</a>   }
<a class="jxr_linenumber" name="L565" href="#L565">565</a> 
<a class="jxr_linenumber" name="L566" href="#L566">566</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isHiddenLogger(String loggerName) {
<a class="jxr_linenumber" name="L567" href="#L567">567</a>     <strong class="jxr_keyword">for</strong> (Iterator iter = hiddenSet.iterator();iter.hasNext();) {
<a class="jxr_linenumber" name="L568" href="#L568">568</a>       String hiddenLoggerEntry = iter.next().toString();
<a class="jxr_linenumber" name="L569" href="#L569">569</a>       <strong class="jxr_keyword">if</strong> (loggerName.startsWith(hiddenLoggerEntry + <span class="jxr_string">"."</span>) || loggerName.endsWith(hiddenLoggerEntry)) {
<a class="jxr_linenumber" name="L570" href="#L570">570</a>           <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L571" href="#L571">571</a>       }
<a class="jxr_linenumber" name="L572" href="#L572">572</a>     }
<a class="jxr_linenumber" name="L573" href="#L573">573</a>     <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L574" href="#L574">574</a>   }
<a class="jxr_linenumber" name="L575" href="#L575">575</a> 
<a class="jxr_linenumber" name="L576" href="#L576">576</a> 
<a class="jxr_linenumber" name="L577" href="#L577">577</a> 
<a class="jxr_linenumber" name="L578" href="#L578">578</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L579" href="#L579">579</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L580" href="#L580">580</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L581" href="#L581">581</a> <em class="jxr_javadoccomment">   * @param logger</em>
<a class="jxr_linenumber" name="L582" href="#L582">582</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L583" href="#L583">583</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> toggleHiddenLogger(String logger)
<a class="jxr_linenumber" name="L584" href="#L584">584</a>   {
<a class="jxr_linenumber" name="L585" href="#L585">585</a>     <strong class="jxr_keyword">if</strong> (!hiddenSet.contains(logger))
<a class="jxr_linenumber" name="L586" href="#L586">586</a>     {
<a class="jxr_linenumber" name="L587" href="#L587">587</a>       hiddenSet.add(logger);
<a class="jxr_linenumber" name="L588" href="#L588">588</a>     }
<a class="jxr_linenumber" name="L589" href="#L589">589</a>     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L590" href="#L590">590</a>     {
<a class="jxr_linenumber" name="L591" href="#L591">591</a>       hiddenSet.remove(logger);
<a class="jxr_linenumber" name="L592" href="#L592">592</a>     }
<a class="jxr_linenumber" name="L593" href="#L593">593</a> 
<a class="jxr_linenumber" name="L594" href="#L594">594</a>     visibilityRuleDelegate.firePropertyChange(<span class="jxr_string">"hiddenSet"</span>, (Object) <strong class="jxr_keyword">null</strong>, (Object) <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L595" href="#L595">595</a>   }
<a class="jxr_linenumber" name="L596" href="#L596">596</a> 
<a class="jxr_linenumber" name="L597" href="#L597">597</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L598" href="#L598">598</a> <em class="jxr_javadoccomment">   * Returns the full name of the Logger that is represented by</em>
<a class="jxr_linenumber" name="L599" href="#L599">599</a> <em class="jxr_javadoccomment">   * the currently selected Logger node in the tree.</em>
<a class="jxr_linenumber" name="L600" href="#L600">600</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L601" href="#L601">601</a> <em class="jxr_javadoccomment">   * This is the dotted name, of the current node including all it's parents.</em>
<a class="jxr_linenumber" name="L602" href="#L602">602</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L603" href="#L603">603</a> <em class="jxr_javadoccomment">   * If multiple Nodes are selected, the first path is used</em>
<a class="jxr_linenumber" name="L604" href="#L604">604</a> <em class="jxr_javadoccomment">   * @return Logger Name or null if nothing selected</em>
<a class="jxr_linenumber" name="L605" href="#L605">605</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L606" href="#L606">606</a>   String getCurrentlySelectedLoggerName()
<a class="jxr_linenumber" name="L607" href="#L607">607</a>   {
<a class="jxr_linenumber" name="L608" href="#L608">608</a>     TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L609" href="#L609">609</a> 
<a class="jxr_linenumber" name="L610" href="#L610">610</a>     <strong class="jxr_keyword">if</strong> ((paths == <strong class="jxr_keyword">null</strong>) || (paths.length == 0))
<a class="jxr_linenumber" name="L611" href="#L611">611</a>     {
<a class="jxr_linenumber" name="L612" href="#L612">612</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L613" href="#L613">613</a>     }
<a class="jxr_linenumber" name="L614" href="#L614">614</a> 
<a class="jxr_linenumber" name="L615" href="#L615">615</a>     TreePath firstPath = paths[0];
<a class="jxr_linenumber" name="L616" href="#L616">616</a> 
<a class="jxr_linenumber" name="L617" href="#L617">617</a>     <strong class="jxr_keyword">return</strong> getLoggerName(firstPath);
<a class="jxr_linenumber" name="L618" href="#L618">618</a>   }
<a class="jxr_linenumber" name="L619" href="#L619">619</a> 
<a class="jxr_linenumber" name="L620" href="#L620">620</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L621" href="#L621">621</a> <em class="jxr_javadoccomment">   * Returns the full</em>
<a class="jxr_linenumber" name="L622" href="#L622">622</a> <em class="jxr_javadoccomment">   * @param path DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L623" href="#L623">623</a> <em class="jxr_javadoccomment">   * @return</em>
<a class="jxr_linenumber" name="L624" href="#L624">624</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L625" href="#L625">625</a>   String getLoggerName(TreePath path)
<a class="jxr_linenumber" name="L626" href="#L626">626</a>   {
<a class="jxr_linenumber" name="L627" href="#L627">627</a>     <strong class="jxr_keyword">if</strong> (path != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L628" href="#L628">628</a>     {
<a class="jxr_linenumber" name="L629" href="#L629">629</a>       Object[] objects = path.getPath();
<a class="jxr_linenumber" name="L630" href="#L630">630</a>       StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
<a class="jxr_linenumber" name="L631" href="#L631">631</a> 
<a class="jxr_linenumber" name="L632" href="#L632">632</a>       <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; objects.length; i++)
<a class="jxr_linenumber" name="L633" href="#L633">633</a>       {
<a class="jxr_linenumber" name="L634" href="#L634">634</a>         buf.append(objects[i].toString());
<a class="jxr_linenumber" name="L635" href="#L635">635</a> 
<a class="jxr_linenumber" name="L636" href="#L636">636</a>         <strong class="jxr_keyword">if</strong> (i &lt; (objects.length - 1))
<a class="jxr_linenumber" name="L637" href="#L637">637</a>         {
<a class="jxr_linenumber" name="L638" href="#L638">638</a>           buf.append(<span class="jxr_string">"."</span>);
<a class="jxr_linenumber" name="L639" href="#L639">639</a>         }
<a class="jxr_linenumber" name="L640" href="#L640">640</a>       }
<a class="jxr_linenumber" name="L641" href="#L641">641</a> 
<a class="jxr_linenumber" name="L642" href="#L642">642</a>       <strong class="jxr_keyword">return</strong> buf.toString();
<a class="jxr_linenumber" name="L643" href="#L643">643</a>     }
<a class="jxr_linenumber" name="L644" href="#L644">644</a> 
<a class="jxr_linenumber" name="L645" href="#L645">645</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L646" href="#L646">646</a>   }
<a class="jxr_linenumber" name="L647" href="#L647">647</a> 
<a class="jxr_linenumber" name="L648" href="#L648">648</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L649" href="#L649">649</a> <em class="jxr_javadoccomment">   * adds a Collection of Strings to the ignore List and notifise all listeners of</em>
<a class="jxr_linenumber" name="L650" href="#L650">650</a> <em class="jxr_javadoccomment">   * both the "hiddenSet" property and those expecting the Rule to change</em>
<a class="jxr_linenumber" name="L651" href="#L651">651</a> <em class="jxr_javadoccomment">   * via the ChangeListener interface </em>
<a class="jxr_linenumber" name="L652" href="#L652">652</a> <em class="jxr_javadoccomment">   * @param fqnLoggersToIgnore</em>
<a class="jxr_linenumber" name="L653" href="#L653">653</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L654" href="#L654">654</a>   <strong class="jxr_keyword">void</strong> ignore(Collection fqnLoggersToIgnore)
<a class="jxr_linenumber" name="L655" href="#L655">655</a>   {
<a class="jxr_linenumber" name="L656" href="#L656">656</a>     hiddenSet.addAll(fqnLoggersToIgnore);
<a class="jxr_linenumber" name="L657" href="#L657">657</a>     visibilityRuleDelegate.firePropertyChange(<span class="jxr_string">"hiddenSet"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L658" href="#L658">658</a>     fireChangeEvent();
<a class="jxr_linenumber" name="L659" href="#L659">659</a>   }
<a class="jxr_linenumber" name="L660" href="#L660">660</a> 
<a class="jxr_linenumber" name="L661" href="#L661">661</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L662" href="#L662">662</a> <em class="jxr_javadoccomment">   * Returns true if the FocusOn element has been selected</em>
<a class="jxr_linenumber" name="L663" href="#L663">663</a> <em class="jxr_javadoccomment">   * @return true if the FocusOn action/lement has been selected</em>
<a class="jxr_linenumber" name="L664" href="#L664">664</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L665" href="#L665">665</a>   <strong class="jxr_keyword">boolean</strong> isFocusOnSelected()
<a class="jxr_linenumber" name="L666" href="#L666">666</a>   {
<a class="jxr_linenumber" name="L667" href="#L667">667</a>     <strong class="jxr_keyword">return</strong> focusOnAction.getValue(<span class="jxr_string">"checked"</span>) != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L668" href="#L668">668</a>   }
<a class="jxr_linenumber" name="L669" href="#L669">669</a> 
<a class="jxr_linenumber" name="L670" href="#L670">670</a>   <strong class="jxr_keyword">void</strong> setFocusOnSelected(<strong class="jxr_keyword">boolean</strong> selected)
<a class="jxr_linenumber" name="L671" href="#L671">671</a>   {
<a class="jxr_linenumber" name="L672" href="#L672">672</a>     <strong class="jxr_keyword">if</strong> (selected)
<a class="jxr_linenumber" name="L673" href="#L673">673</a>     {
<a class="jxr_linenumber" name="L674" href="#L674">674</a>       focusOnAction.putValue(<span class="jxr_string">"checked"</span>, Boolean.TRUE);
<a class="jxr_linenumber" name="L675" href="#L675">675</a>     }
<a class="jxr_linenumber" name="L676" href="#L676">676</a>     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L677" href="#L677">677</a>     {
<a class="jxr_linenumber" name="L678" href="#L678">678</a>       focusOnAction.putValue(<span class="jxr_string">"checked"</span>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L679" href="#L679">679</a>     }
<a class="jxr_linenumber" name="L680" href="#L680">680</a>   }
<a class="jxr_linenumber" name="L681" href="#L681">681</a> 
<a class="jxr_linenumber" name="L682" href="#L682">682</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L683" href="#L683">683</a> <em class="jxr_javadoccomment">   * Given the currently selected nodes</em>
<a class="jxr_linenumber" name="L684" href="#L684">684</a> <em class="jxr_javadoccomment">   * collapses all the children of those nodes.</em>
<a class="jxr_linenumber" name="L685" href="#L685">685</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L686" href="#L686">686</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L687" href="#L687">687</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> collapseCurrentlySelectedNode()
<a class="jxr_linenumber" name="L688" href="#L688">688</a>   {
<a class="jxr_linenumber" name="L689" href="#L689">689</a>     TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L690" href="#L690">690</a> 
<a class="jxr_linenumber" name="L691" href="#L691">691</a>     <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L692" href="#L692">692</a>     {
<a class="jxr_linenumber" name="L693" href="#L693">693</a>       <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L694" href="#L694">694</a>     }
<a class="jxr_linenumber" name="L695" href="#L695">695</a> 
<a class="jxr_linenumber" name="L696" href="#L696">696</a>       logger.debug(<span class="jxr_string">"Collapsing all children of selected node"</span>);
<a class="jxr_linenumber" name="L697" href="#L697">697</a> 
<a class="jxr_linenumber" name="L698" href="#L698">698</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++)
<a class="jxr_linenumber" name="L699" href="#L699">699</a>     {
<a class="jxr_linenumber" name="L700" href="#L700">700</a>       TreePath path = paths[i];
<a class="jxr_linenumber" name="L701" href="#L701">701</a>       DefaultMutableTreeNode node =
<a class="jxr_linenumber" name="L702" href="#L702">702</a>         (DefaultMutableTreeNode) path.getLastPathComponent();
<a class="jxr_linenumber" name="L703" href="#L703">703</a>       Enumeration enumeration = node.depthFirstEnumeration();
<a class="jxr_linenumber" name="L704" href="#L704">704</a> 
<a class="jxr_linenumber" name="L705" href="#L705">705</a>       <strong class="jxr_keyword">while</strong> (enumeration.hasMoreElements())
<a class="jxr_linenumber" name="L706" href="#L706">706</a>       {
<a class="jxr_linenumber" name="L707" href="#L707">707</a>         DefaultMutableTreeNode child =
<a class="jxr_linenumber" name="L708" href="#L708">708</a>           (DefaultMutableTreeNode) enumeration.nextElement();
<a class="jxr_linenumber" name="L709" href="#L709">709</a> 
<a class="jxr_linenumber" name="L710" href="#L710">710</a>         <strong class="jxr_keyword">if</strong> ((child.getParent() != <strong class="jxr_keyword">null</strong>) &amp;&amp; (child != node))
<a class="jxr_linenumber" name="L711" href="#L711">711</a>         {
<a class="jxr_linenumber" name="L712" href="#L712">712</a>           TreeNode[] nodes =
<a class="jxr_linenumber" name="L713" href="#L713">713</a>             ((DefaultMutableTreeNode) child.getParent()).getPath();
<a class="jxr_linenumber" name="L714" href="#L714">714</a> 
<a class="jxr_linenumber" name="L715" href="#L715">715</a>           TreePath treePath = <strong class="jxr_keyword">new</strong> TreePath(nodes);
<a class="jxr_linenumber" name="L716" href="#L716">716</a>           logTree.collapsePath(treePath);
<a class="jxr_linenumber" name="L717" href="#L717">717</a>         }
<a class="jxr_linenumber" name="L718" href="#L718">718</a>       }
<a class="jxr_linenumber" name="L719" href="#L719">719</a>     }
<a class="jxr_linenumber" name="L720" href="#L720">720</a> 
<a class="jxr_linenumber" name="L721" href="#L721">721</a>     ensureRootExpanded();
<a class="jxr_linenumber" name="L722" href="#L722">722</a>   }
<a class="jxr_linenumber" name="L723" href="#L723">723</a> 
<a class="jxr_linenumber" name="L724" href="#L724">724</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L725" href="#L725">725</a> <em class="jxr_javadoccomment">     * configures all the components that are used in the mini-toolbar of this</em>
<a class="jxr_linenumber" name="L726" href="#L726">726</a> <em class="jxr_javadoccomment">     * component</em>
<a class="jxr_linenumber" name="L727" href="#L727">727</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L728" href="#L728">728</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> configureToolbarPanel()
<a class="jxr_linenumber" name="L729" href="#L729">729</a>   {
<a class="jxr_linenumber" name="L730" href="#L730">730</a>     toolbar.setFloatable(false);
<a class="jxr_linenumber" name="L731" href="#L731">731</a> 
<a class="jxr_linenumber" name="L732" href="#L732">732</a>     expandButton.setAction(expandAction);
<a class="jxr_linenumber" name="L733" href="#L733">733</a>     expandButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L734" href="#L734">734</a>     collapseButton.setAction(collapseAction);
<a class="jxr_linenumber" name="L735" href="#L735">735</a>     collapseButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L736" href="#L736">736</a>     focusOnLoggerButton.setAction(focusOnAction);
<a class="jxr_linenumber" name="L737" href="#L737">737</a>     focusOnLoggerButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L738" href="#L738">738</a>     ignoreLoggerButton.setAction(hideAction);
<a class="jxr_linenumber" name="L739" href="#L739">739</a>     ignoreLoggerButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L740" href="#L740">740</a> 
<a class="jxr_linenumber" name="L741" href="#L741">741</a>     expandButton.setFont(expandButton.getFont().deriveFont(Font.BOLD));
<a class="jxr_linenumber" name="L742" href="#L742">742</a>     collapseButton.setFont(collapseButton.getFont().deriveFont(Font.BOLD));
<a class="jxr_linenumber" name="L743" href="#L743">743</a> 
<a class="jxr_linenumber" name="L744" href="#L744">744</a>     editLoggerButton.setAction(editLoggerAction);
<a class="jxr_linenumber" name="L745" href="#L745">745</a>     editLoggerButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L746" href="#L746">746</a>     closeButton.setAction(closeAction);
<a class="jxr_linenumber" name="L747" href="#L747">747</a>     closeButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L748" href="#L748">748</a> 
<a class="jxr_linenumber" name="L749" href="#L749">749</a>     toolbar.add(expandButton);
<a class="jxr_linenumber" name="L750" href="#L750">750</a>     toolbar.add(collapseButton);
<a class="jxr_linenumber" name="L751" href="#L751">751</a>     toolbar.addSeparator();
<a class="jxr_linenumber" name="L752" href="#L752">752</a>     toolbar.add(focusOnLoggerButton);
<a class="jxr_linenumber" name="L753" href="#L753">753</a>     toolbar.add(ignoreLoggerButton);
<a class="jxr_linenumber" name="L754" href="#L754">754</a> 
<a class="jxr_linenumber" name="L755" href="#L755">755</a>     <em class="jxr_comment">//    toolbar.add(editLoggerButton);</em>
<a class="jxr_linenumber" name="L756" href="#L756">756</a>     toolbar.addSeparator();
<a class="jxr_linenumber" name="L757" href="#L757">757</a> 
<a class="jxr_linenumber" name="L758" href="#L758">758</a>     toolbar.add(Box.createHorizontalGlue());
<a class="jxr_linenumber" name="L759" href="#L759">759</a>     toolbar.add(closeButton);
<a class="jxr_linenumber" name="L760" href="#L760">760</a>     toolbar.add(Box.createHorizontalStrut(5));
<a class="jxr_linenumber" name="L761" href="#L761">761</a>   }
<a class="jxr_linenumber" name="L762" href="#L762">762</a> 
<a class="jxr_linenumber" name="L763" href="#L763">763</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L764" href="#L764">764</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L765" href="#L765">765</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L766" href="#L766">766</a> <em class="jxr_javadoccomment">   * @return</em>
<a class="jxr_linenumber" name="L767" href="#L767">767</a> <em class="jxr_javadoccomment">  */</em>
<a class="jxr_linenumber" name="L768" href="#L768">768</a>   <strong class="jxr_keyword">private</strong> Action createClearIgnoreListAction()
<a class="jxr_linenumber" name="L769" href="#L769">769</a>   {
<a class="jxr_linenumber" name="L770" href="#L770">770</a>     Action action = <strong class="jxr_keyword">new</strong> AbstractAction(<span class="jxr_string">"Clear Ignore list"</span>, <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L771" href="#L771">771</a>       {
<a class="jxr_linenumber" name="L772" href="#L772">772</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L773" href="#L773">773</a>         {
<a class="jxr_linenumber" name="L774" href="#L774">774</a>           ignoreLoggerButton.setSelected(false);
<a class="jxr_linenumber" name="L775" href="#L775">775</a>           logTreeModel.reload();
<a class="jxr_linenumber" name="L776" href="#L776">776</a>           hiddenSet.clear();
<a class="jxr_linenumber" name="L777" href="#L777">777</a>           fireChangeEvent();
<a class="jxr_linenumber" name="L778" href="#L778">778</a>         }
<a class="jxr_linenumber" name="L779" href="#L779">779</a>       };
<a class="jxr_linenumber" name="L780" href="#L780">780</a> 
<a class="jxr_linenumber" name="L781" href="#L781">781</a>     action.putValue(
<a class="jxr_linenumber" name="L782" href="#L782">782</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L783" href="#L783">783</a>       <span class="jxr_string">"Removes all entries from the Ignore list so you can see their events in the view"</span>);
<a class="jxr_linenumber" name="L784" href="#L784">784</a> 
<a class="jxr_linenumber" name="L785" href="#L785">785</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L786" href="#L786">786</a>   }
<a class="jxr_linenumber" name="L787" href="#L787">787</a> 
<a class="jxr_linenumber" name="L788" href="#L788">788</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L789" href="#L789">789</a> <em class="jxr_javadoccomment">     * An action that closes (hides) this panel</em>
<a class="jxr_linenumber" name="L790" href="#L790">790</a> <em class="jxr_javadoccomment">    * @return</em>
<a class="jxr_linenumber" name="L791" href="#L791">791</a> <em class="jxr_javadoccomment">    */</em>
<a class="jxr_linenumber" name="L792" href="#L792">792</a>   <strong class="jxr_keyword">private</strong> Action createCloseAction()
<a class="jxr_linenumber" name="L793" href="#L793">793</a>   {
<a class="jxr_linenumber" name="L794" href="#L794">794</a>     Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L795" href="#L795">795</a>       {
<a class="jxr_linenumber" name="L796" href="#L796">796</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L797" href="#L797">797</a>         {
<a class="jxr_linenumber" name="L798" href="#L798">798</a>             preferenceModel.setLogTreePanelVisible(false);
<a class="jxr_linenumber" name="L799" href="#L799">799</a>         }
<a class="jxr_linenumber" name="L800" href="#L800">800</a>       };
<a class="jxr_linenumber" name="L801" href="#L801">801</a> 
<a class="jxr_linenumber" name="L802" href="#L802">802</a>     action.putValue(Action.NAME, <span class="jxr_string">"Close"</span>);
<a class="jxr_linenumber" name="L803" href="#L803">803</a>     action.putValue(Action.SHORT_DESCRIPTION, <span class="jxr_string">"Closes the Logger panel"</span>);
<a class="jxr_linenumber" name="L804" href="#L804">804</a>     action.putValue(Action.SMALL_ICON, LineIconFactory.createCloseIcon());
<a class="jxr_linenumber" name="L805" href="#L805">805</a> 
<a class="jxr_linenumber" name="L806" href="#L806">806</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L807" href="#L807">807</a>   }
<a class="jxr_linenumber" name="L808" href="#L808">808</a> 
<a class="jxr_linenumber" name="L809" href="#L809">809</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L810" href="#L810">810</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L811" href="#L811">811</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L812" href="#L812">812</a> <em class="jxr_javadoccomment">   * @return</em>
<a class="jxr_linenumber" name="L813" href="#L813">813</a> <em class="jxr_javadoccomment">  */</em>
<a class="jxr_linenumber" name="L814" href="#L814">814</a>   <strong class="jxr_keyword">private</strong> Action createCollapseAction()
<a class="jxr_linenumber" name="L815" href="#L815">815</a>   {
<a class="jxr_linenumber" name="L816" href="#L816">816</a>     Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L817" href="#L817">817</a>       {
<a class="jxr_linenumber" name="L818" href="#L818">818</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L819" href="#L819">819</a>         {
<a class="jxr_linenumber" name="L820" href="#L820">820</a>           collapseCurrentlySelectedNode();
<a class="jxr_linenumber" name="L821" href="#L821">821</a>         }
<a class="jxr_linenumber" name="L822" href="#L822">822</a>       };
<a class="jxr_linenumber" name="L823" href="#L823">823</a> 
<a class="jxr_linenumber" name="L824" href="#L824">824</a>     action.putValue(Action.SMALL_ICON, LineIconFactory.createCollapseIcon());
<a class="jxr_linenumber" name="L825" href="#L825">825</a>     action.putValue(Action.NAME, <span class="jxr_string">"Collapse Branch"</span>);
<a class="jxr_linenumber" name="L826" href="#L826">826</a>     action.putValue(
<a class="jxr_linenumber" name="L827" href="#L827">827</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L828" href="#L828">828</a>       <span class="jxr_string">"Collapses all the children of the currently selected node"</span>);
<a class="jxr_linenumber" name="L829" href="#L829">829</a>     action.setEnabled(false);
<a class="jxr_linenumber" name="L830" href="#L830">830</a> 
<a class="jxr_linenumber" name="L831" href="#L831">831</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L832" href="#L832">832</a>   }
<a class="jxr_linenumber" name="L833" href="#L833">833</a> 
<a class="jxr_linenumber" name="L834" href="#L834">834</a>   <strong class="jxr_keyword">private</strong> Action createEditLoggerAction()
<a class="jxr_linenumber" name="L835" href="#L835">835</a>   {
<a class="jxr_linenumber" name="L836" href="#L836">836</a>     Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L837" href="#L837">837</a>       {
<a class="jxr_linenumber" name="L838" href="#L838">838</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L839" href="#L839">839</a>         {
<a class="jxr_linenumber" name="L840" href="#L840">840</a>           <em class="jxr_comment">// TODO Auto-generated method stub</em>
<a class="jxr_linenumber" name="L841" href="#L841">841</a>         }
<a class="jxr_linenumber" name="L842" href="#L842">842</a>       };
<a class="jxr_linenumber" name="L843" href="#L843">843</a> 
<a class="jxr_linenumber" name="L844" href="#L844">844</a>     <em class="jxr_comment">//    TODO enable this when it's ready.</em>
<a class="jxr_linenumber" name="L845" href="#L845">845</a>     action.putValue(<span class="jxr_string">"enabled"</span>, Boolean.FALSE);
<a class="jxr_linenumber" name="L846" href="#L846">846</a> 
<a class="jxr_linenumber" name="L847" href="#L847">847</a>     action.putValue(Action.NAME, <span class="jxr_string">"Edit filters/colors"</span>);
<a class="jxr_linenumber" name="L848" href="#L848">848</a>     action.putValue(
<a class="jxr_linenumber" name="L849" href="#L849">849</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L850" href="#L850">850</a>       <span class="jxr_string">"Allows you to specify filters and coloring for this Logger"</span>);
<a class="jxr_linenumber" name="L851" href="#L851">851</a>     action.putValue(
<a class="jxr_linenumber" name="L852" href="#L852">852</a>       Action.SMALL_ICON, <strong class="jxr_keyword">new</strong> ImageIcon(ChainsawIcons.ICON_EDIT_RECEIVER));
<a class="jxr_linenumber" name="L853" href="#L853">853</a>     action.setEnabled(false);
<a class="jxr_linenumber" name="L854" href="#L854">854</a> 
<a class="jxr_linenumber" name="L855" href="#L855">855</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L856" href="#L856">856</a>   }
<a class="jxr_linenumber" name="L857" href="#L857">857</a> 
<a class="jxr_linenumber" name="L858" href="#L858">858</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L859" href="#L859">859</a> <em class="jxr_javadoccomment">   * Creates an action that is used to expand the selected node</em>
<a class="jxr_linenumber" name="L860" href="#L860">860</a> <em class="jxr_javadoccomment">   * and all children</em>
<a class="jxr_linenumber" name="L861" href="#L861">861</a> <em class="jxr_javadoccomment">   * @return an Action</em>
<a class="jxr_linenumber" name="L862" href="#L862">862</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L863" href="#L863">863</a>   <strong class="jxr_keyword">private</strong> Action createExpandAction()
<a class="jxr_linenumber" name="L864" href="#L864">864</a>   {
<a class="jxr_linenumber" name="L865" href="#L865">865</a>     Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L866" href="#L866">866</a>       {
<a class="jxr_linenumber" name="L867" href="#L867">867</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L868" href="#L868">868</a>         {
<a class="jxr_linenumber" name="L869" href="#L869">869</a>           expandCurrentlySelectedNode();
<a class="jxr_linenumber" name="L870" href="#L870">870</a>         }
<a class="jxr_linenumber" name="L871" href="#L871">871</a>       };
<a class="jxr_linenumber" name="L872" href="#L872">872</a> 
<a class="jxr_linenumber" name="L873" href="#L873">873</a>     action.putValue(Action.SMALL_ICON, LineIconFactory.createExpandIcon());
<a class="jxr_linenumber" name="L874" href="#L874">874</a>     action.putValue(Action.NAME, <span class="jxr_string">"Expand branch"</span>);
<a class="jxr_linenumber" name="L875" href="#L875">875</a>     action.putValue(
<a class="jxr_linenumber" name="L876" href="#L876">876</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L877" href="#L877">877</a>       <span class="jxr_string">"Expands all the child nodes of the currently selected node, recursively"</span>);
<a class="jxr_linenumber" name="L878" href="#L878">878</a>     action.setEnabled(false);
<a class="jxr_linenumber" name="L879" href="#L879">879</a> 
<a class="jxr_linenumber" name="L880" href="#L880">880</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L881" href="#L881">881</a>   }
<a class="jxr_linenumber" name="L882" href="#L882">882</a> 
<a class="jxr_linenumber" name="L883" href="#L883">883</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L884" href="#L884">884</a> <em class="jxr_javadoccomment">     * Creates an action that is used to find the next match of the selected node (similar to default selection behavior</em>
<a class="jxr_linenumber" name="L885" href="#L885">885</a> <em class="jxr_javadoccomment">     * except the search field is populated and the next match is selected.</em>
<a class="jxr_linenumber" name="L886" href="#L886">886</a> <em class="jxr_javadoccomment">     * @return an Action</em>
<a class="jxr_linenumber" name="L887" href="#L887">887</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L888" href="#L888">888</a>     <strong class="jxr_keyword">private</strong> Action createFindNextAction()
<a class="jxr_linenumber" name="L889" href="#L889">889</a>     {
<a class="jxr_linenumber" name="L890" href="#L890">890</a>       Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L891" href="#L891">891</a>         {
<a class="jxr_linenumber" name="L892" href="#L892">892</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L893" href="#L893">893</a>           {
<a class="jxr_linenumber" name="L894" href="#L894">894</a>             findNextUsingCurrentlySelectedNode();
<a class="jxr_linenumber" name="L895" href="#L895">895</a>           }
<a class="jxr_linenumber" name="L896" href="#L896">896</a>         };
<a class="jxr_linenumber" name="L897" href="#L897">897</a> 
<a class="jxr_linenumber" name="L898" href="#L898">898</a>       action.putValue(Action.NAME, <span class="jxr_string">"Find next"</span>);
<a class="jxr_linenumber" name="L899" href="#L899">899</a>       action.putValue(
<a class="jxr_linenumber" name="L900" href="#L900">900</a>         Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L901" href="#L901">901</a>         <span class="jxr_string">"Find using the selected node"</span>);
<a class="jxr_linenumber" name="L902" href="#L902">902</a>       action.setEnabled(false);
<a class="jxr_linenumber" name="L903" href="#L903">903</a> 
<a class="jxr_linenumber" name="L904" href="#L904">904</a>       <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L905" href="#L905">905</a>     }
<a class="jxr_linenumber" name="L906" href="#L906">906</a> 
<a class="jxr_linenumber" name="L907" href="#L907">907</a>     <strong class="jxr_keyword">private</strong> Action createSetRefineFocusAction()
<a class="jxr_linenumber" name="L908" href="#L908">908</a>     {
<a class="jxr_linenumber" name="L909" href="#L909">909</a>       Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L910" href="#L910">910</a>         {
<a class="jxr_linenumber" name="L911" href="#L911">911</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L912" href="#L912">912</a>           {
<a class="jxr_linenumber" name="L913" href="#L913">913</a>             setRefineFocusUsingCurrentlySelectedNode();
<a class="jxr_linenumber" name="L914" href="#L914">914</a>           }
<a class="jxr_linenumber" name="L915" href="#L915">915</a>         };
<a class="jxr_linenumber" name="L916" href="#L916">916</a> 
<a class="jxr_linenumber" name="L917" href="#L917">917</a>       action.putValue(Action.NAME, <span class="jxr_string">"Set 'refine focus' to selected logger"</span>);
<a class="jxr_linenumber" name="L918" href="#L918">918</a>       action.putValue(
<a class="jxr_linenumber" name="L919" href="#L919">919</a>         Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L920" href="#L920">920</a>         <span class="jxr_string">"Refine focus on the selected node"</span>);
<a class="jxr_linenumber" name="L921" href="#L921">921</a>       action.setEnabled(false);
<a class="jxr_linenumber" name="L922" href="#L922">922</a> 
<a class="jxr_linenumber" name="L923" href="#L923">923</a>       <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L924" href="#L924">924</a>     }
<a class="jxr_linenumber" name="L925" href="#L925">925</a> 
<a class="jxr_linenumber" name="L926" href="#L926">926</a>     <strong class="jxr_keyword">private</strong> Action createUpdateRefineFocusAction()
<a class="jxr_linenumber" name="L927" href="#L927">927</a>     {
<a class="jxr_linenumber" name="L928" href="#L928">928</a>       Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L929" href="#L929">929</a>         {
<a class="jxr_linenumber" name="L930" href="#L930">930</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L931" href="#L931">931</a>           {
<a class="jxr_linenumber" name="L932" href="#L932">932</a>             updateRefineFocusUsingCurrentlySelectedNode();
<a class="jxr_linenumber" name="L933" href="#L933">933</a>           }
<a class="jxr_linenumber" name="L934" href="#L934">934</a>         };
<a class="jxr_linenumber" name="L935" href="#L935">935</a> 
<a class="jxr_linenumber" name="L936" href="#L936">936</a>       action.putValue(Action.NAME, <span class="jxr_string">"Update 'refine focus' to include selected logger"</span>);
<a class="jxr_linenumber" name="L937" href="#L937">937</a>       action.putValue(
<a class="jxr_linenumber" name="L938" href="#L938">938</a>         Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L939" href="#L939">939</a>         <span class="jxr_string">"Add selected node to 'refine focus' field"</span>);
<a class="jxr_linenumber" name="L940" href="#L940">940</a>       action.setEnabled(false);
<a class="jxr_linenumber" name="L941" href="#L941">941</a> 
<a class="jxr_linenumber" name="L942" href="#L942">942</a>       <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L943" href="#L943">943</a>     }
<a class="jxr_linenumber" name="L944" href="#L944">944</a> 
<a class="jxr_linenumber" name="L945" href="#L945">945</a>   <strong class="jxr_keyword">private</strong> Action createUpdateFindAction()
<a class="jxr_linenumber" name="L946" href="#L946">946</a>   {
<a class="jxr_linenumber" name="L947" href="#L947">947</a>     Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L948" href="#L948">948</a>       {
<a class="jxr_linenumber" name="L949" href="#L949">949</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L950" href="#L950">950</a>         {
<a class="jxr_linenumber" name="L951" href="#L951">951</a>           updateFindUsingCurrentlySelectedNode();
<a class="jxr_linenumber" name="L952" href="#L952">952</a>         }
<a class="jxr_linenumber" name="L953" href="#L953">953</a>       };
<a class="jxr_linenumber" name="L954" href="#L954">954</a> 
<a class="jxr_linenumber" name="L955" href="#L955">955</a>     action.putValue(Action.NAME, <span class="jxr_string">"Update 'find' to include selected logger"</span>);
<a class="jxr_linenumber" name="L956" href="#L956">956</a>     action.putValue(
<a class="jxr_linenumber" name="L957" href="#L957">957</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L958" href="#L958">958</a>       <span class="jxr_string">"Add selected node to 'find' field"</span>);
<a class="jxr_linenumber" name="L959" href="#L959">959</a>     action.setEnabled(false);
<a class="jxr_linenumber" name="L960" href="#L960">960</a> 
<a class="jxr_linenumber" name="L961" href="#L961">961</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L962" href="#L962">962</a>   }
<a class="jxr_linenumber" name="L963" href="#L963">963</a> 
<a class="jxr_linenumber" name="L964" href="#L964">964</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateFindUsingCurrentlySelectedNode()
<a class="jxr_linenumber" name="L965" href="#L965">965</a>   {
<a class="jxr_linenumber" name="L966" href="#L966">966</a>       String selectedLogger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L967" href="#L967">967</a>       TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L968" href="#L968">968</a> 
<a class="jxr_linenumber" name="L969" href="#L969">969</a>       <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L970" href="#L970">970</a>       {
<a class="jxr_linenumber" name="L971" href="#L971">971</a>         <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L972" href="#L972">972</a>       }
<a class="jxr_linenumber" name="L973" href="#L973">973</a>       String currentFindText = logPanel.getFindText();
<a class="jxr_linenumber" name="L974" href="#L974">974</a>       logPanel.setFindText(currentFindText + <span class="jxr_string">" || logger ~= "</span> + selectedLogger);
<a class="jxr_linenumber" name="L975" href="#L975">975</a>   }
<a class="jxr_linenumber" name="L976" href="#L976">976</a> 
<a class="jxr_linenumber" name="L977" href="#L977">977</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateRefineFocusUsingCurrentlySelectedNode()
<a class="jxr_linenumber" name="L978" href="#L978">978</a>     {
<a class="jxr_linenumber" name="L979" href="#L979">979</a>         String selectedLogger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L980" href="#L980">980</a>         TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L981" href="#L981">981</a> 
<a class="jxr_linenumber" name="L982" href="#L982">982</a>         <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L983" href="#L983">983</a>         {
<a class="jxr_linenumber" name="L984" href="#L984">984</a>           <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L985" href="#L985">985</a>         }
<a class="jxr_linenumber" name="L986" href="#L986">986</a>         String currentFilterText = logPanel.getRefineFocusText();
<a class="jxr_linenumber" name="L987" href="#L987">987</a>         logPanel.setRefineFocusText(currentFilterText + <span class="jxr_string">" || logger ~= "</span> + selectedLogger);
<a class="jxr_linenumber" name="L988" href="#L988">988</a>     }
<a class="jxr_linenumber" name="L989" href="#L989">989</a> 
<a class="jxr_linenumber" name="L990" href="#L990">990</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setRefineFocusUsingCurrentlySelectedNode()
<a class="jxr_linenumber" name="L991" href="#L991">991</a>     {
<a class="jxr_linenumber" name="L992" href="#L992">992</a>         String selectedLogger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L993" href="#L993">993</a>         TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L994" href="#L994">994</a> 
<a class="jxr_linenumber" name="L995" href="#L995">995</a>         <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L996" href="#L996">996</a>         {
<a class="jxr_linenumber" name="L997" href="#L997">997</a>           <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L998" href="#L998">998</a>         }
<a class="jxr_linenumber" name="L999" href="#L999">999</a>         logPanel.setRefineFocusText(<span class="jxr_string">"logger ~= "</span> + selectedLogger);
<a class="jxr_linenumber" name="L1000" href="#L1000">1000</a>     }
<a class="jxr_linenumber" name="L1001" href="#L1001">1001</a> 
<a class="jxr_linenumber" name="L1002" href="#L1002">1002</a>     <strong class="jxr_keyword">private</strong> Action createDefineColorRuleForLoggerAction() {
<a class="jxr_linenumber" name="L1003" href="#L1003">1003</a>         Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L1004" href="#L1004">1004</a>           {
<a class="jxr_linenumber" name="L1005" href="#L1005">1005</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L1006" href="#L1006">1006</a>             {
<a class="jxr_linenumber" name="L1007" href="#L1007">1007</a>                 String selectedLogger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L1008" href="#L1008">1008</a>                 TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L1009" href="#L1009">1009</a> 
<a class="jxr_linenumber" name="L1010" href="#L1010">1010</a>                 <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1011" href="#L1011">1011</a>                 {
<a class="jxr_linenumber" name="L1012" href="#L1012">1012</a>                   <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L1013" href="#L1013">1013</a>                 }
<a class="jxr_linenumber" name="L1014" href="#L1014">1014</a>             Color c = JColorChooser.showDialog(getRootPane(), <span class="jxr_string">"Choose a color"</span>, Color.red);
<a class="jxr_linenumber" name="L1015" href="#L1015">1015</a>             <strong class="jxr_keyword">if</strong> (c != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L1016" href="#L1016">1016</a>                 String expression = <span class="jxr_string">"logger like '^"</span> + selectedLogger + <span class="jxr_string">".*'"</span>;
<a class="jxr_linenumber" name="L1017" href="#L1017">1017</a>                 colorizer.addRule(ChainsawConstants.DEFAULT_COLOR_RULE_NAME, <strong class="jxr_keyword">new</strong> ColorRule(expression,
<a class="jxr_linenumber" name="L1018" href="#L1018">1018</a>                         ExpressionRule.getRule(expression), c, ChainsawConstants.COLOR_DEFAULT_FOREGROUND));
<a class="jxr_linenumber" name="L1019" href="#L1019">1019</a>             }
<a class="jxr_linenumber" name="L1020" href="#L1020">1020</a>         }};
<a class="jxr_linenumber" name="L1021" href="#L1021">1021</a> 
<a class="jxr_linenumber" name="L1022" href="#L1022">1022</a>         action.putValue(Action.NAME, <span class="jxr_string">"Define color rule for selected logger"</span>);
<a class="jxr_linenumber" name="L1023" href="#L1023">1023</a>         action.putValue(
<a class="jxr_linenumber" name="L1024" href="#L1024">1024</a>           Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L1025" href="#L1025">1025</a>           <span class="jxr_string">"Define color rule for logger"</span>);
<a class="jxr_linenumber" name="L1026" href="#L1026">1026</a>         action.setEnabled(false);
<a class="jxr_linenumber" name="L1027" href="#L1027">1027</a>         <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L1028" href="#L1028">1028</a>     }
<a class="jxr_linenumber" name="L1029" href="#L1029">1029</a> 
<a class="jxr_linenumber" name="L1030" href="#L1030">1030</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1031" href="#L1031">1031</a> <em class="jxr_javadoccomment">     * Creates an action that is used to find the next match of the selected node (similar to default selection behavior</em>
<a class="jxr_linenumber" name="L1032" href="#L1032">1032</a> <em class="jxr_javadoccomment">     * except the search field is populated and the next match is selected.</em>
<a class="jxr_linenumber" name="L1033" href="#L1033">1033</a> <em class="jxr_javadoccomment">     * @return an Action</em>
<a class="jxr_linenumber" name="L1034" href="#L1034">1034</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1035" href="#L1035">1035</a>     <strong class="jxr_keyword">private</strong> Action createClearFindNextAction()
<a class="jxr_linenumber" name="L1036" href="#L1036">1036</a>     {
<a class="jxr_linenumber" name="L1037" href="#L1037">1037</a>       Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L1038" href="#L1038">1038</a>         {
<a class="jxr_linenumber" name="L1039" href="#L1039">1039</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L1040" href="#L1040">1040</a>           {
<a class="jxr_linenumber" name="L1041" href="#L1041">1041</a>             clearFindNext();
<a class="jxr_linenumber" name="L1042" href="#L1042">1042</a>           }
<a class="jxr_linenumber" name="L1043" href="#L1043">1043</a>         };
<a class="jxr_linenumber" name="L1044" href="#L1044">1044</a> 
<a class="jxr_linenumber" name="L1045" href="#L1045">1045</a>       action.putValue(Action.NAME, <span class="jxr_string">"Clear find field"</span>);
<a class="jxr_linenumber" name="L1046" href="#L1046">1046</a>       action.putValue(
<a class="jxr_linenumber" name="L1047" href="#L1047">1047</a>         Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L1048" href="#L1048">1048</a>         <span class="jxr_string">"Clear the find field"</span>);
<a class="jxr_linenumber" name="L1049" href="#L1049">1049</a>       action.setEnabled(false);
<a class="jxr_linenumber" name="L1050" href="#L1050">1050</a> 
<a class="jxr_linenumber" name="L1051" href="#L1051">1051</a>       <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L1052" href="#L1052">1052</a>     }
<a class="jxr_linenumber" name="L1053" href="#L1053">1053</a> 
<a class="jxr_linenumber" name="L1054" href="#L1054">1054</a>     <strong class="jxr_keyword">private</strong> Action createClearRefineFocusAction()
<a class="jxr_linenumber" name="L1055" href="#L1055">1055</a>     {
<a class="jxr_linenumber" name="L1056" href="#L1056">1056</a>       Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L1057" href="#L1057">1057</a>         {
<a class="jxr_linenumber" name="L1058" href="#L1058">1058</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L1059" href="#L1059">1059</a>           {
<a class="jxr_linenumber" name="L1060" href="#L1060">1060</a>             clearRefineFocus();
<a class="jxr_linenumber" name="L1061" href="#L1061">1061</a>           }
<a class="jxr_linenumber" name="L1062" href="#L1062">1062</a>         };
<a class="jxr_linenumber" name="L1063" href="#L1063">1063</a> 
<a class="jxr_linenumber" name="L1064" href="#L1064">1064</a>       action.putValue(Action.NAME, <span class="jxr_string">"Clear 'refine focus' field"</span>);
<a class="jxr_linenumber" name="L1065" href="#L1065">1065</a>       action.putValue(
<a class="jxr_linenumber" name="L1066" href="#L1066">1066</a>         Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L1067" href="#L1067">1067</a>         <span class="jxr_string">"Clear the refine focus field"</span>);
<a class="jxr_linenumber" name="L1068" href="#L1068">1068</a>       action.setEnabled(false);
<a class="jxr_linenumber" name="L1069" href="#L1069">1069</a> 
<a class="jxr_linenumber" name="L1070" href="#L1070">1070</a>       <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L1071" href="#L1071">1071</a>     }
<a class="jxr_linenumber" name="L1072" href="#L1072">1072</a> 
<a class="jxr_linenumber" name="L1073" href="#L1073">1073</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1074" href="#L1074">1074</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1075" href="#L1075">1075</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L1076" href="#L1076">1076</a> <em class="jxr_javadoccomment">   * @return</em>
<a class="jxr_linenumber" name="L1077" href="#L1077">1077</a> <em class="jxr_javadoccomment">  */</em>
<a class="jxr_linenumber" name="L1078" href="#L1078">1078</a>   <strong class="jxr_keyword">private</strong> Action createFocusOnAction()
<a class="jxr_linenumber" name="L1079" href="#L1079">1079</a>   {
<a class="jxr_linenumber" name="L1080" href="#L1080">1080</a>     <strong class="jxr_keyword">final</strong> Action action = <strong class="jxr_keyword">new</strong> AbstractAction()
<a class="jxr_linenumber" name="L1081" href="#L1081">1081</a>       {
<a class="jxr_linenumber" name="L1082" href="#L1082">1082</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L1083" href="#L1083">1083</a>         {
<a class="jxr_linenumber" name="L1084" href="#L1084">1084</a>           toggleFocusOnState();
<a class="jxr_linenumber" name="L1085" href="#L1085">1085</a>         }
<a class="jxr_linenumber" name="L1086" href="#L1086">1086</a>       };
<a class="jxr_linenumber" name="L1087" href="#L1087">1087</a> 
<a class="jxr_linenumber" name="L1088" href="#L1088">1088</a>     action.putValue(Action.NAME, <span class="jxr_string">"Focus"</span>);
<a class="jxr_linenumber" name="L1089" href="#L1089">1089</a>     action.putValue(
<a class="jxr_linenumber" name="L1090" href="#L1090">1090</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L1091" href="#L1091">1091</a>       <span class="jxr_string">"Allows you to Focus on the selected logger by setting a filter that discards all but this Logger"</span>);
<a class="jxr_linenumber" name="L1092" href="#L1092">1092</a>     action.putValue(
<a class="jxr_linenumber" name="L1093" href="#L1093">1093</a>       Action.SMALL_ICON, <strong class="jxr_keyword">new</strong> ImageIcon(ChainsawIcons.WINDOW_ICON));
<a class="jxr_linenumber" name="L1094" href="#L1094">1094</a> 
<a class="jxr_linenumber" name="L1095" href="#L1095">1095</a>     action.setEnabled(false);
<a class="jxr_linenumber" name="L1096" href="#L1096">1096</a> 
<a class="jxr_linenumber" name="L1097" href="#L1097">1097</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L1098" href="#L1098">1098</a>   }
<a class="jxr_linenumber" name="L1099" href="#L1099">1099</a> 
<a class="jxr_linenumber" name="L1100" href="#L1100">1100</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1101" href="#L1101">1101</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1102" href="#L1102">1102</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1103" href="#L1103">1103</a> <em class="jxr_javadoccomment">     * @return</em>
<a class="jxr_linenumber" name="L1104" href="#L1104">1104</a> <em class="jxr_javadoccomment">      */</em>
<a class="jxr_linenumber" name="L1105" href="#L1105">1105</a>     <strong class="jxr_keyword">private</strong> Action createIgnoreAllAction()
<a class="jxr_linenumber" name="L1106" href="#L1106">1106</a>     {
<a class="jxr_linenumber" name="L1107" href="#L1107">1107</a>       Action action =
<a class="jxr_linenumber" name="L1108" href="#L1108">1108</a>         <strong class="jxr_keyword">new</strong> AbstractAction(
<a class="jxr_linenumber" name="L1109" href="#L1109">1109</a>           <span class="jxr_string">"Ignore loggers below selection"</span>)
<a class="jxr_linenumber" name="L1110" href="#L1110">1110</a>         {
<a class="jxr_linenumber" name="L1111" href="#L1111">1111</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L1112" href="#L1112">1112</a>           {
<a class="jxr_linenumber" name="L1113" href="#L1113">1113</a>             <em class="jxr_comment">//add all top level loggers as hidden loggers</em>
<a class="jxr_linenumber" name="L1114" href="#L1114">1114</a>               TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L1115" href="#L1115">1115</a> 
<a class="jxr_linenumber" name="L1116" href="#L1116">1116</a>               String parentPathString = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L1117" href="#L1117">1117</a>               DefaultMutableTreeNode root;
<a class="jxr_linenumber" name="L1118" href="#L1118">1118</a>               <strong class="jxr_keyword">if</strong> ((paths == <strong class="jxr_keyword">null</strong>) || (paths.length == 0))
<a class="jxr_linenumber" name="L1119" href="#L1119">1119</a>               {
<a class="jxr_linenumber" name="L1120" href="#L1120">1120</a>                   root = (DefaultMutableTreeNode) logTreeModel.getRoot();
<a class="jxr_linenumber" name="L1121" href="#L1121">1121</a>               } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L1122" href="#L1122">1122</a>                   root = (DefaultMutableTreeNode) logTree.getSelectionPath().getLastPathComponent();
<a class="jxr_linenumber" name="L1123" href="#L1123">1123</a>                   TreeNode[] path = root.getPath();
<a class="jxr_linenumber" name="L1124" href="#L1124">1124</a>                   <em class="jxr_comment">//don't add 'root logger' to path string</em>
<a class="jxr_linenumber" name="L1125" href="#L1125">1125</a>                   <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=1;i&lt;path.length;i++) {
<a class="jxr_linenumber" name="L1126" href="#L1126">1126</a>                       <strong class="jxr_keyword">if</strong> (i &gt; 1) {
<a class="jxr_linenumber" name="L1127" href="#L1127">1127</a>                           parentPathString = parentPathString + <span class="jxr_string">"."</span>;
<a class="jxr_linenumber" name="L1128" href="#L1128">1128</a>                       }
<a class="jxr_linenumber" name="L1129" href="#L1129">1129</a>                       parentPathString = parentPathString + path[i].toString();
<a class="jxr_linenumber" name="L1130" href="#L1130">1130</a>                   }
<a class="jxr_linenumber" name="L1131" href="#L1131">1131</a>                   <strong class="jxr_keyword">if</strong> (!(parentPathString.equals(<span class="jxr_string">""</span>))) {
<a class="jxr_linenumber" name="L1132" href="#L1132">1132</a>                       parentPathString = parentPathString + <span class="jxr_string">"."</span>;
<a class="jxr_linenumber" name="L1133" href="#L1133">1133</a>                   }
<a class="jxr_linenumber" name="L1134" href="#L1134">1134</a>               }
<a class="jxr_linenumber" name="L1135" href="#L1135">1135</a>               Enumeration topLevelLoggersEnumeration = root.children();
<a class="jxr_linenumber" name="L1136" href="#L1136">1136</a>               Set topLevelLoggersSet = <strong class="jxr_keyword">new</strong> HashSet();
<a class="jxr_linenumber" name="L1137" href="#L1137">1137</a>               <strong class="jxr_keyword">while</strong> (topLevelLoggersEnumeration.hasMoreElements()) {
<a class="jxr_linenumber" name="L1138" href="#L1138">1138</a>                   String thisLogger = topLevelLoggersEnumeration.nextElement().toString();
<a class="jxr_linenumber" name="L1139" href="#L1139">1139</a>                   topLevelLoggersSet.add(parentPathString + thisLogger);
<a class="jxr_linenumber" name="L1140" href="#L1140">1140</a>               }
<a class="jxr_linenumber" name="L1141" href="#L1141">1141</a>               <strong class="jxr_keyword">if</strong> (topLevelLoggersSet.size() &gt; 0) {
<a class="jxr_linenumber" name="L1142" href="#L1142">1142</a>                   ignore(topLevelLoggersSet);
<a class="jxr_linenumber" name="L1143" href="#L1143">1143</a>               }
<a class="jxr_linenumber" name="L1144" href="#L1144">1144</a> 
<a class="jxr_linenumber" name="L1145" href="#L1145">1145</a>               logTreeModel.nodeChanged(root);
<a class="jxr_linenumber" name="L1146" href="#L1146">1146</a>               ignoreLoggerButton.setSelected(false);
<a class="jxr_linenumber" name="L1147" href="#L1147">1147</a>               focusOnAction.setEnabled(false);
<a class="jxr_linenumber" name="L1148" href="#L1148">1148</a>               popupMenu.hideCheck.setSelected(false);
<a class="jxr_linenumber" name="L1149" href="#L1149">1149</a>               fireChangeEvent();
<a class="jxr_linenumber" name="L1150" href="#L1150">1150</a>           }
<a class="jxr_linenumber" name="L1151" href="#L1151">1151</a>         };
<a class="jxr_linenumber" name="L1152" href="#L1152">1152</a> 
<a class="jxr_linenumber" name="L1153" href="#L1153">1153</a>       action.putValue(
<a class="jxr_linenumber" name="L1154" href="#L1154">1154</a>         Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L1155" href="#L1155">1155</a>         <span class="jxr_string">"Adds all loggers to your Ignore list (unhide loggers you want to see in the view)"</span>);
<a class="jxr_linenumber" name="L1156" href="#L1156">1156</a> 
<a class="jxr_linenumber" name="L1157" href="#L1157">1157</a>       <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L1158" href="#L1158">1158</a>     }
<a class="jxr_linenumber" name="L1159" href="#L1159">1159</a> 
<a class="jxr_linenumber" name="L1160" href="#L1160">1160</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1161" href="#L1161">1161</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1162" href="#L1162">1162</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L1163" href="#L1163">1163</a> <em class="jxr_javadoccomment">   * @return</em>
<a class="jxr_linenumber" name="L1164" href="#L1164">1164</a> <em class="jxr_javadoccomment">    */</em>
<a class="jxr_linenumber" name="L1165" href="#L1165">1165</a>   <strong class="jxr_keyword">private</strong> Action createIgnoreAction()
<a class="jxr_linenumber" name="L1166" href="#L1166">1166</a>   {
<a class="jxr_linenumber" name="L1167" href="#L1167">1167</a>     Action action =
<a class="jxr_linenumber" name="L1168" href="#L1168">1168</a>       <strong class="jxr_keyword">new</strong> AbstractAction(
<a class="jxr_linenumber" name="L1169" href="#L1169">1169</a>         <span class="jxr_string">"Ignore this Logger"</span>, <strong class="jxr_keyword">new</strong> ImageIcon(ChainsawIcons.ICON_COLLAPSE))
<a class="jxr_linenumber" name="L1170" href="#L1170">1170</a>       {
<a class="jxr_linenumber" name="L1171" href="#L1171">1171</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L1172" href="#L1172">1172</a>         {
<a class="jxr_linenumber" name="L1173" href="#L1173">1173</a>           String logger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L1174" href="#L1174">1174</a> 
<a class="jxr_linenumber" name="L1175" href="#L1175">1175</a>           <strong class="jxr_keyword">if</strong> (logger != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1176" href="#L1176">1176</a>           {
<a class="jxr_linenumber" name="L1177" href="#L1177">1177</a>             toggleHiddenLogger(logger);
<a class="jxr_linenumber" name="L1178" href="#L1178">1178</a>             logTreeModel.nodeChanged(
<a class="jxr_linenumber" name="L1179" href="#L1179">1179</a>               (TreeNode) logTree.getSelectionPath().getLastPathComponent());
<a class="jxr_linenumber" name="L1180" href="#L1180">1180</a>             ignoreLoggerButton.setSelected(hiddenSet.contains(logger));
<a class="jxr_linenumber" name="L1181" href="#L1181">1181</a>             focusOnAction.setEnabled(!hiddenSet.contains(logger));
<a class="jxr_linenumber" name="L1182" href="#L1182">1182</a>             popupMenu.hideCheck.setSelected(hiddenSet.contains(logger));
<a class="jxr_linenumber" name="L1183" href="#L1183">1183</a>           }
<a class="jxr_linenumber" name="L1184" href="#L1184">1184</a> 
<a class="jxr_linenumber" name="L1185" href="#L1185">1185</a>           fireChangeEvent();
<a class="jxr_linenumber" name="L1186" href="#L1186">1186</a>         }
<a class="jxr_linenumber" name="L1187" href="#L1187">1187</a>       };
<a class="jxr_linenumber" name="L1188" href="#L1188">1188</a> 
<a class="jxr_linenumber" name="L1189" href="#L1189">1189</a>     action.putValue(
<a class="jxr_linenumber" name="L1190" href="#L1190">1190</a>       Action.SHORT_DESCRIPTION,
<a class="jxr_linenumber" name="L1191" href="#L1191">1191</a>       <span class="jxr_string">"Adds the selected Logger to your Ignore list, filtering those events from view"</span>);
<a class="jxr_linenumber" name="L1192" href="#L1192">1192</a> 
<a class="jxr_linenumber" name="L1193" href="#L1193">1193</a>     <strong class="jxr_keyword">return</strong> action;
<a class="jxr_linenumber" name="L1194" href="#L1194">1194</a>   }
<a class="jxr_linenumber" name="L1195" href="#L1195">1195</a> 
<a class="jxr_linenumber" name="L1196" href="#L1196">1196</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> ensureRootExpanded()
<a class="jxr_linenumber" name="L1197" href="#L1197">1197</a>   {
<a class="jxr_linenumber" name="L1198" href="#L1198">1198</a>       logger.debug(<span class="jxr_string">"Ensuring Root node is expanded."</span>);
<a class="jxr_linenumber" name="L1199" href="#L1199">1199</a> 
<a class="jxr_linenumber" name="L1200" href="#L1200">1200</a>     <strong class="jxr_keyword">final</strong> DefaultMutableTreeNode root =
<a class="jxr_linenumber" name="L1201" href="#L1201">1201</a>       (DefaultMutableTreeNode) logTreeModel.getRoot();
<a class="jxr_linenumber" name="L1202" href="#L1202">1202</a>     SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable()
<a class="jxr_linenumber" name="L1203" href="#L1203">1203</a>       {
<a class="jxr_linenumber" name="L1204" href="#L1204">1204</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run()
<a class="jxr_linenumber" name="L1205" href="#L1205">1205</a>         {
<a class="jxr_linenumber" name="L1206" href="#L1206">1206</a>           logTree.expandPath(<strong class="jxr_keyword">new</strong> TreePath(root));
<a class="jxr_linenumber" name="L1207" href="#L1207">1207</a>         }
<a class="jxr_linenumber" name="L1208" href="#L1208">1208</a>       });
<a class="jxr_linenumber" name="L1209" href="#L1209">1209</a>   }
<a class="jxr_linenumber" name="L1210" href="#L1210">1210</a> 
<a class="jxr_linenumber" name="L1211" href="#L1211">1211</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> findNextUsingCurrentlySelectedNode()
<a class="jxr_linenumber" name="L1212" href="#L1212">1212</a>   {
<a class="jxr_linenumber" name="L1213" href="#L1213">1213</a>       String selectedLogger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L1214" href="#L1214">1214</a>       TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L1215" href="#L1215">1215</a> 
<a class="jxr_linenumber" name="L1216" href="#L1216">1216</a>       <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1217" href="#L1217">1217</a>       {
<a class="jxr_linenumber" name="L1218" href="#L1218">1218</a>         <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L1219" href="#L1219">1219</a>       }
<a class="jxr_linenumber" name="L1220" href="#L1220">1220</a>       logPanel.setFindText(<span class="jxr_string">"logger like '^"</span> + selectedLogger + <span class="jxr_string">".*'"</span>);
<a class="jxr_linenumber" name="L1221" href="#L1221">1221</a>   }
<a class="jxr_linenumber" name="L1222" href="#L1222">1222</a> 
<a class="jxr_linenumber" name="L1223" href="#L1223">1223</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> clearFindNext()
<a class="jxr_linenumber" name="L1224" href="#L1224">1224</a>   {
<a class="jxr_linenumber" name="L1225" href="#L1225">1225</a>       logPanel.setFindText(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="L1226" href="#L1226">1226</a>   }
<a class="jxr_linenumber" name="L1227" href="#L1227">1227</a> 
<a class="jxr_linenumber" name="L1228" href="#L1228">1228</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> clearRefineFocus()
<a class="jxr_linenumber" name="L1229" href="#L1229">1229</a>   {
<a class="jxr_linenumber" name="L1230" href="#L1230">1230</a>       logPanel.setRefineFocusText(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="L1231" href="#L1231">1231</a>   }
<a class="jxr_linenumber" name="L1232" href="#L1232">1232</a> 
<a class="jxr_linenumber" name="L1233" href="#L1233">1233</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1234" href="#L1234">1234</a> <em class="jxr_javadoccomment">   * Expands the currently selected node (if any)</em>
<a class="jxr_linenumber" name="L1235" href="#L1235">1235</a> <em class="jxr_javadoccomment">   * including all the children.</em>
<a class="jxr_linenumber" name="L1236" href="#L1236">1236</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L1237" href="#L1237">1237</a> <em class="jxr_javadoccomment">   */</em>
<a class="jxr_linenumber" name="L1238" href="#L1238">1238</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> expandCurrentlySelectedNode()
<a class="jxr_linenumber" name="L1239" href="#L1239">1239</a>   {
<a class="jxr_linenumber" name="L1240" href="#L1240">1240</a>     TreePath[] paths = logTree.getSelectionPaths();
<a class="jxr_linenumber" name="L1241" href="#L1241">1241</a> 
<a class="jxr_linenumber" name="L1242" href="#L1242">1242</a>     <strong class="jxr_keyword">if</strong> (paths == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1243" href="#L1243">1243</a>     {
<a class="jxr_linenumber" name="L1244" href="#L1244">1244</a>       <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L1245" href="#L1245">1245</a>     }
<a class="jxr_linenumber" name="L1246" href="#L1246">1246</a> 
<a class="jxr_linenumber" name="L1247" href="#L1247">1247</a>       logger.debug(<span class="jxr_string">"Expanding all children of selected node"</span>);
<a class="jxr_linenumber" name="L1248" href="#L1248">1248</a> 
<a class="jxr_linenumber" name="L1249" href="#L1249">1249</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++)
<a class="jxr_linenumber" name="L1250" href="#L1250">1250</a>     {
<a class="jxr_linenumber" name="L1251" href="#L1251">1251</a>       TreePath path = paths[i];
<a class="jxr_linenumber" name="L1252" href="#L1252">1252</a> 
<a class="jxr_linenumber" name="L1253" href="#L1253">1253</a>       <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1254" href="#L1254">1254</a> <em class="jxr_javadoccomment">       * TODO this is commented out, right now it expands all nodes including the root, so if there is a large tree..... look out.</em>
<a class="jxr_linenumber" name="L1255" href="#L1255">1255</a> <em class="jxr_javadoccomment">       */</em>
<a class="jxr_linenumber" name="L1256" href="#L1256">1256</a> 
<a class="jxr_linenumber" name="L1257" href="#L1257">1257</a>       <em class="jxr_comment">//      /**</em>
<a class="jxr_linenumber" name="L1258" href="#L1258">1258</a>       <em class="jxr_comment">//       * Handle an expansion of the Root node by only doing the first level.</em>
<a class="jxr_linenumber" name="L1259" href="#L1259">1259</a>       <em class="jxr_comment">//       * Safe...</em>
<a class="jxr_linenumber" name="L1260" href="#L1260">1260</a>       <em class="jxr_comment">//       */</em>
<a class="jxr_linenumber" name="L1261" href="#L1261">1261</a>       <em class="jxr_comment">//      if (path.getPathCount() == 1) {</em>
<a class="jxr_linenumber" name="L1262" href="#L1262">1262</a>       <em class="jxr_comment">//        logTree.expandPath(path);</em>
<a class="jxr_linenumber" name="L1263" href="#L1263">1263</a>       <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L1264" href="#L1264">1264</a>       <em class="jxr_comment">//        return;</em>
<a class="jxr_linenumber" name="L1265" href="#L1265">1265</a>       <em class="jxr_comment">//      }</em>
<a class="jxr_linenumber" name="L1266" href="#L1266">1266</a> 
<a class="jxr_linenumber" name="L1267" href="#L1267">1267</a>       DefaultMutableTreeNode treeNode =
<a class="jxr_linenumber" name="L1268" href="#L1268">1268</a>         (DefaultMutableTreeNode) path.getLastPathComponent();
<a class="jxr_linenumber" name="L1269" href="#L1269">1269</a> 
<a class="jxr_linenumber" name="L1270" href="#L1270">1270</a>       Enumeration depthEnum = treeNode.depthFirstEnumeration();
<a class="jxr_linenumber" name="L1271" href="#L1271">1271</a> 
<a class="jxr_linenumber" name="L1272" href="#L1272">1272</a>       <strong class="jxr_keyword">if</strong> (!depthEnum.hasMoreElements())
<a class="jxr_linenumber" name="L1273" href="#L1273">1273</a>       {
<a class="jxr_linenumber" name="L1274" href="#L1274">1274</a>         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L1275" href="#L1275">1275</a>       }
<a class="jxr_linenumber" name="L1276" href="#L1276">1276</a> 
<a class="jxr_linenumber" name="L1277" href="#L1277">1277</a>       List depths = <strong class="jxr_keyword">new</strong> ArrayList();
<a class="jxr_linenumber" name="L1278" href="#L1278">1278</a> 
<a class="jxr_linenumber" name="L1279" href="#L1279">1279</a>       <strong class="jxr_keyword">while</strong> (depthEnum.hasMoreElements())
<a class="jxr_linenumber" name="L1280" href="#L1280">1280</a>       {
<a class="jxr_linenumber" name="L1281" href="#L1281">1281</a>         depths.add(
<a class="jxr_linenumber" name="L1282" href="#L1282">1282</a>           <strong class="jxr_keyword">new</strong> Integer(
<a class="jxr_linenumber" name="L1283" href="#L1283">1283</a>             ((DefaultMutableTreeNode) depthEnum.nextElement()).getDepth()));
<a class="jxr_linenumber" name="L1284" href="#L1284">1284</a>       }
<a class="jxr_linenumber" name="L1285" href="#L1285">1285</a> 
<a class="jxr_linenumber" name="L1286" href="#L1286">1286</a>       Collections.sort(depths);
<a class="jxr_linenumber" name="L1287" href="#L1287">1287</a>       Collections.reverse(depths);
<a class="jxr_linenumber" name="L1288" href="#L1288">1288</a> 
<a class="jxr_linenumber" name="L1289" href="#L1289">1289</a>       <strong class="jxr_keyword">int</strong> maxDepth = ((Integer) depths.get(0)).intValue();
<a class="jxr_linenumber" name="L1290" href="#L1290">1290</a> 
<a class="jxr_linenumber" name="L1291" href="#L1291">1291</a>       <strong class="jxr_keyword">if</strong> (maxDepth &gt; WARN_DEPTH)
<a class="jxr_linenumber" name="L1292" href="#L1292">1292</a>       {
<a class="jxr_linenumber" name="L1293" href="#L1293">1293</a>         logger.warn(<span class="jxr_string">"Should warn user, depth="</span> + maxDepth);
<a class="jxr_linenumber" name="L1294" href="#L1294">1294</a>       }
<a class="jxr_linenumber" name="L1295" href="#L1295">1295</a> 
<a class="jxr_linenumber" name="L1296" href="#L1296">1296</a>       depthEnum = treeNode.depthFirstEnumeration();
<a class="jxr_linenumber" name="L1297" href="#L1297">1297</a> 
<a class="jxr_linenumber" name="L1298" href="#L1298">1298</a>       <strong class="jxr_keyword">while</strong> (depthEnum.hasMoreElements())
<a class="jxr_linenumber" name="L1299" href="#L1299">1299</a>       {
<a class="jxr_linenumber" name="L1300" href="#L1300">1300</a>         DefaultMutableTreeNode node =
<a class="jxr_linenumber" name="L1301" href="#L1301">1301</a>           (DefaultMutableTreeNode) depthEnum.nextElement();
<a class="jxr_linenumber" name="L1302" href="#L1302">1302</a> 
<a class="jxr_linenumber" name="L1303" href="#L1303">1303</a>         <strong class="jxr_keyword">if</strong> (node.isLeaf() &amp;&amp; node.getParent() != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1304" href="#L1304">1304</a>         {
<a class="jxr_linenumber" name="L1305" href="#L1305">1305</a>           TreeNode[] nodes =
<a class="jxr_linenumber" name="L1306" href="#L1306">1306</a>             ((DefaultMutableTreeNode) node.getParent()).getPath();
<a class="jxr_linenumber" name="L1307" href="#L1307">1307</a>           TreePath treePath = <strong class="jxr_keyword">new</strong> TreePath(nodes);
<a class="jxr_linenumber" name="L1308" href="#L1308">1308</a> 
<a class="jxr_linenumber" name="L1309" href="#L1309">1309</a>           logger.debug(<span class="jxr_string">"Expanding path:"</span> + treePath);
<a class="jxr_linenumber" name="L1310" href="#L1310">1310</a> 
<a class="jxr_linenumber" name="L1311" href="#L1311">1311</a>           logTree.expandPath(treePath);
<a class="jxr_linenumber" name="L1312" href="#L1312">1312</a>         }
<a class="jxr_linenumber" name="L1313" href="#L1313">1313</a>       }
<a class="jxr_linenumber" name="L1314" href="#L1314">1314</a>     }
<a class="jxr_linenumber" name="L1315" href="#L1315">1315</a>   }
<a class="jxr_linenumber" name="L1316" href="#L1316">1316</a> 
<a class="jxr_linenumber" name="L1317" href="#L1317">1317</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> fireChangeEvent()
<a class="jxr_linenumber" name="L1318" href="#L1318">1318</a>   {
<a class="jxr_linenumber" name="L1319" href="#L1319">1319</a>     ChangeListener[] listeners =
<a class="jxr_linenumber" name="L1320" href="#L1320">1320</a>       (ChangeListener[]) listenerList.getListeners(ChangeListener.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L1321" href="#L1321">1321</a>     ChangeEvent e = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1322" href="#L1322">1322</a> 
<a class="jxr_linenumber" name="L1323" href="#L1323">1323</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; listeners.length; i++)
<a class="jxr_linenumber" name="L1324" href="#L1324">1324</a>     {
<a class="jxr_linenumber" name="L1325" href="#L1325">1325</a>       <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1326" href="#L1326">1326</a>       {
<a class="jxr_linenumber" name="L1327" href="#L1327">1327</a>         e = <strong class="jxr_keyword">new</strong> ChangeEvent(<strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L1328" href="#L1328">1328</a>       }
<a class="jxr_linenumber" name="L1329" href="#L1329">1329</a> 
<a class="jxr_linenumber" name="L1330" href="#L1330">1330</a>       listeners[i].stateChanged(e);
<a class="jxr_linenumber" name="L1331" href="#L1331">1331</a>     }
<a class="jxr_linenumber" name="L1332" href="#L1332">1332</a>   }
<a class="jxr_linenumber" name="L1333" href="#L1333">1333</a> 
<a class="jxr_linenumber" name="L1334" href="#L1334">1334</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> reconfigureMenuText()
<a class="jxr_linenumber" name="L1335" href="#L1335">1335</a>   {
<a class="jxr_linenumber" name="L1336" href="#L1336">1336</a>     String logger = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L1337" href="#L1337">1337</a> 
<a class="jxr_linenumber" name="L1338" href="#L1338">1338</a>     <strong class="jxr_keyword">if</strong> ((logger == <strong class="jxr_keyword">null</strong>) || (logger.length() == 0))
<a class="jxr_linenumber" name="L1339" href="#L1339">1339</a>     {
<a class="jxr_linenumber" name="L1340" href="#L1340">1340</a>       focusOnAction.putValue(Action.NAME, <span class="jxr_string">"Focus On..."</span>);
<a class="jxr_linenumber" name="L1341" href="#L1341">1341</a>       hideAction.putValue(Action.NAME, <span class="jxr_string">"Ignore..."</span>);
<a class="jxr_linenumber" name="L1342" href="#L1342">1342</a>       findAction.putValue(Action.NAME, <span class="jxr_string">"Find..."</span>);
<a class="jxr_linenumber" name="L1343" href="#L1343">1343</a>       setRefineFocusAction.putValue(Action.NAME, <span class="jxr_string">"Set refine focus field"</span>);
<a class="jxr_linenumber" name="L1344" href="#L1344">1344</a>       updateRefineFocusAction.putValue(Action.NAME, <span class="jxr_string">"Add to refine focus field"</span>);
<a class="jxr_linenumber" name="L1345" href="#L1345">1345</a>       updateFindAction.putValue(Action.NAME, <span class="jxr_string">"Add to find field"</span>);
<a class="jxr_linenumber" name="L1346" href="#L1346">1346</a>       defineColorRuleForLoggerAction.putValue(Action.NAME, <span class="jxr_string">"Define color rule"</span>);
<a class="jxr_linenumber" name="L1347" href="#L1347">1347</a>     }
<a class="jxr_linenumber" name="L1348" href="#L1348">1348</a>     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1349" href="#L1349">1349</a>     {
<a class="jxr_linenumber" name="L1350" href="#L1350">1350</a>       focusOnAction.putValue(Action.NAME, <span class="jxr_string">"Focus On '"</span> + logger + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="L1351" href="#L1351">1351</a>       hideAction.putValue(Action.NAME, <span class="jxr_string">"Ignore '"</span> + logger + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="L1352" href="#L1352">1352</a>       findAction.putValue(Action.NAME, <span class="jxr_string">"Find '"</span> + logger + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="L1353" href="#L1353">1353</a>       setRefineFocusAction.putValue(Action.NAME, <span class="jxr_string">"Set refine focus field to '"</span> + logger + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="L1354" href="#L1354">1354</a>       updateRefineFocusAction.putValue(Action.NAME, <span class="jxr_string">"Add '"</span> + logger + <span class="jxr_string">"' to 'refine focus' field"</span>);
<a class="jxr_linenumber" name="L1355" href="#L1355">1355</a>       updateFindAction.putValue(Action.NAME, <span class="jxr_string">"Add '"</span> + logger + <span class="jxr_string">"' to 'find' field"</span>);
<a class="jxr_linenumber" name="L1356" href="#L1356">1356</a>       defineColorRuleForLoggerAction.putValue(Action.NAME, <span class="jxr_string">"Define color rule for '"</span> + logger + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="L1357" href="#L1357">1357</a>     }
<a class="jxr_linenumber" name="L1358" href="#L1358">1358</a> 
<a class="jxr_linenumber" name="L1359" href="#L1359">1359</a>     <em class="jxr_comment">// need to ensure the button doens't update itself with the text, looks stupid otherwise</em>
<a class="jxr_linenumber" name="L1360" href="#L1360">1360</a>     hideSubLoggersAction.putValue(Action.NAME, <span class="jxr_string">"Ignore loggers below selection"</span>);
<a class="jxr_linenumber" name="L1361" href="#L1361">1361</a>     focusOnLoggerButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1362" href="#L1362">1362</a>     ignoreLoggerButton.setText(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1363" href="#L1363">1363</a>   }
<a class="jxr_linenumber" name="L1364" href="#L1364">1364</a> 
<a class="jxr_linenumber" name="L1365" href="#L1365">1365</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1366" href="#L1366">1366</a> <em class="jxr_javadoccomment">    * Configures varoius listeners etc for the components within</em>
<a class="jxr_linenumber" name="L1367" href="#L1367">1367</a> <em class="jxr_javadoccomment">    * this Class.</em>
<a class="jxr_linenumber" name="L1368" href="#L1368">1368</a> <em class="jxr_javadoccomment">    */</em>
<a class="jxr_linenumber" name="L1369" href="#L1369">1369</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setupListeners()
<a class="jxr_linenumber" name="L1370" href="#L1370">1370</a>   {
<a class="jxr_linenumber" name="L1371" href="#L1371">1371</a>     logTree.addMouseMotionListener(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">MouseKeyIconListener</a>());
<a class="jxr_linenumber" name="L1372" href="#L1372">1372</a> 
<a class="jxr_linenumber" name="L1373" href="#L1373">1373</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1374" href="#L1374">1374</a> <em class="jxr_javadoccomment">       * Enable the actions depending on state of the tree selection</em>
<a class="jxr_linenumber" name="L1375" href="#L1375">1375</a> <em class="jxr_javadoccomment">       */</em>
<a class="jxr_linenumber" name="L1376" href="#L1376">1376</a>     logTree.addTreeSelectionListener(<strong class="jxr_keyword">new</strong> TreeSelectionListener()
<a class="jxr_linenumber" name="L1377" href="#L1377">1377</a>       {
<a class="jxr_linenumber" name="L1378" href="#L1378">1378</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> valueChanged(TreeSelectionEvent e)
<a class="jxr_linenumber" name="L1379" href="#L1379">1379</a>         {
<a class="jxr_linenumber" name="L1380" href="#L1380">1380</a>           TreePath path = e.getNewLeadSelectionPath();
<a class="jxr_linenumber" name="L1381" href="#L1381">1381</a>           TreeNode node = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1382" href="#L1382">1382</a> 
<a class="jxr_linenumber" name="L1383" href="#L1383">1383</a>           <strong class="jxr_keyword">if</strong> (path != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1384" href="#L1384">1384</a>           {
<a class="jxr_linenumber" name="L1385" href="#L1385">1385</a>             node = (TreeNode) path.getLastPathComponent();
<a class="jxr_linenumber" name="L1386" href="#L1386">1386</a>           }
<a class="jxr_linenumber" name="L1387" href="#L1387">1387</a>           <strong class="jxr_keyword">boolean</strong> focusOnSelected = isFocusOnSelected();
<a class="jxr_linenumber" name="L1388" href="#L1388">1388</a>           <em class="jxr_comment">//          editLoggerAction.setEnabled(path != null);</em>
<a class="jxr_linenumber" name="L1389" href="#L1389">1389</a>           currentlySelectedLoggerName = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L1390" href="#L1390">1390</a>           focusOnAction.setEnabled(
<a class="jxr_linenumber" name="L1391" href="#L1391">1391</a>             (path != <strong class="jxr_keyword">null</strong>) &amp;&amp; (node != <strong class="jxr_keyword">null</strong>) &amp;&amp; (node.getParent() != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1392" href="#L1392">1392</a>             &amp;&amp; !hiddenSet.contains(currentlySelectedLoggerName));
<a class="jxr_linenumber" name="L1393" href="#L1393">1393</a>           hideAction.setEnabled(
<a class="jxr_linenumber" name="L1394" href="#L1394">1394</a>             (path != <strong class="jxr_keyword">null</strong>) &amp;&amp; (node != <strong class="jxr_keyword">null</strong>) &amp;&amp; (node.getParent() != <strong class="jxr_keyword">null</strong>));
<a class="jxr_linenumber" name="L1395" href="#L1395">1395</a>           <strong class="jxr_keyword">if</strong> (!focusOnAction.isEnabled())
<a class="jxr_linenumber" name="L1396" href="#L1396">1396</a>           {
<a class="jxr_linenumber" name="L1397" href="#L1397">1397</a>             setFocusOnSelected(false);
<a class="jxr_linenumber" name="L1398" href="#L1398">1398</a>           }
<a class="jxr_linenumber" name="L1399" href="#L1399">1399</a>           <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1400" href="#L1400">1400</a>           {
<a class="jxr_linenumber" name="L1401" href="#L1401">1401</a>           }
<a class="jxr_linenumber" name="L1402" href="#L1402">1402</a> 
<a class="jxr_linenumber" name="L1403" href="#L1403">1403</a>           expandAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1404" href="#L1404">1404</a>           findAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1405" href="#L1405">1405</a>           clearFindNextAction.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L1406" href="#L1406">1406</a>           defineColorRuleForLoggerAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1407" href="#L1407">1407</a>           setRefineFocusAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1408" href="#L1408">1408</a>           updateRefineFocusAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1409" href="#L1409">1409</a>           updateFindAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1410" href="#L1410">1410</a>           clearRefineFocusAction.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L1411" href="#L1411">1411</a> 
<a class="jxr_linenumber" name="L1412" href="#L1412">1412</a>           <strong class="jxr_keyword">if</strong> (currentlySelectedLoggerName != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1413" href="#L1413">1413</a>           {
<a class="jxr_linenumber" name="L1414" href="#L1414">1414</a>             <strong class="jxr_keyword">boolean</strong> isHidden = hiddenSet.contains(currentlySelectedLoggerName);
<a class="jxr_linenumber" name="L1415" href="#L1415">1415</a>             popupMenu.hideCheck.setSelected(isHidden);
<a class="jxr_linenumber" name="L1416" href="#L1416">1416</a>             ignoreLoggerButton.setSelected(isHidden);
<a class="jxr_linenumber" name="L1417" href="#L1417">1417</a>           }
<a class="jxr_linenumber" name="L1418" href="#L1418">1418</a> 
<a class="jxr_linenumber" name="L1419" href="#L1419">1419</a>           collapseAction.setEnabled(path != <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1420" href="#L1420">1420</a> 
<a class="jxr_linenumber" name="L1421" href="#L1421">1421</a>           reconfigureMenuText();
<a class="jxr_linenumber" name="L1422" href="#L1422">1422</a>           <strong class="jxr_keyword">if</strong> (isFocusOnSelected()) {
<a class="jxr_linenumber" name="L1423" href="#L1423">1423</a>               fireChangeEvent();
<a class="jxr_linenumber" name="L1424" href="#L1424">1424</a>           }
<a class="jxr_linenumber" name="L1425" href="#L1425">1425</a>           <em class="jxr_comment">//fire change event if we toggled focus off</em>
<a class="jxr_linenumber" name="L1426" href="#L1426">1426</a>           <strong class="jxr_keyword">if</strong> (focusOnSelected &amp;&amp; !isFocusOnSelected()) {
<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a>               fireChangeEvent();
<a class="jxr_linenumber" name="L1428" href="#L1428">1428</a>           }
<a class="jxr_linenumber" name="L1429" href="#L1429">1429</a>           <em class="jxr_comment">//trigger a table repaint</em>
<a class="jxr_linenumber" name="L1430" href="#L1430">1430</a>           logPanel.repaint();
<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a>         }
<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a>       });
<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a> 
<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a>     logTree.addMouseListener(popupListener);
<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a> 
<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a> <em class="jxr_javadoccomment">     * This listener ensures the Tool bar toggle button and popup menu check box</em>
<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a> <em class="jxr_javadoccomment">     * stay in sync, plus notifies all the ChangeListeners that</em>
<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a> <em class="jxr_javadoccomment">     * an effective filter criteria has been modified</em>
<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a>     focusOnAction.addPropertyChangeListener(<strong class="jxr_keyword">new</strong> PropertyChangeListener()
<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a>       {
<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> propertyChange(PropertyChangeEvent evt)
<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a>         {
<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a>           popupMenu.focusOnCheck.setSelected(isFocusOnSelected());
<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a>           focusOnLoggerButton.setSelected(isFocusOnSelected());
<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a> 
<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a>           <strong class="jxr_keyword">if</strong> (logTree.getSelectionPath() != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a>           {
<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a>             logTreeModel.nodeChanged(
<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a>               (TreeNode) logTree.getSelectionPath().getLastPathComponent());
<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a>           }
<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a>         }
<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a>       });
<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a> 
<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a>     hideAction.addPropertyChangeListener(<strong class="jxr_keyword">new</strong> PropertyChangeListener()
<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a>       {
<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> propertyChange(PropertyChangeEvent evt)
<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a>         {
<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a>           <strong class="jxr_keyword">if</strong> (logTree.getSelectionPath() != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a>           {
<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a>             logTreeModel.nodeChanged(
<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a>               (TreeNode) logTree.getSelectionPath().getLastPathComponent());
<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a>           }
<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a>         }
<a class="jxr_linenumber" name="L1466" href="#L1466">1466</a>       });
<a class="jxr_linenumber" name="L1467" href="#L1467">1467</a> 
<a class="jxr_linenumber" name="L1468" href="#L1468">1468</a>     <em class="jxr_comment">//    /**</em>
<a class="jxr_linenumber" name="L1469" href="#L1469">1469</a>     <em class="jxr_comment">//     * Now add a MouseListener that fires the expansion</em>
<a class="jxr_linenumber" name="L1470" href="#L1470">1470</a>     <em class="jxr_comment">//     * action if CTRL + DBL CLICK is done.</em>
<a class="jxr_linenumber" name="L1471" href="#L1471">1471</a>     <em class="jxr_comment">//     */</em>
<a class="jxr_linenumber" name="L1472" href="#L1472">1472</a>     <em class="jxr_comment">//    logTree.addMouseListener(</em>
<a class="jxr_linenumber" name="L1473" href="#L1473">1473</a>     <em class="jxr_comment">//      new MouseAdapter() {</em>
<a class="jxr_linenumber" name="L1474" href="#L1474">1474</a>     <em class="jxr_comment">//        public void mouseClicked(MouseEvent e) {</em>
<a class="jxr_linenumber" name="L1475" href="#L1475">1475</a>     <em class="jxr_comment">//          if (</em>
<a class="jxr_linenumber" name="L1476" href="#L1476">1476</a>     <em class="jxr_comment">//            (e.getClickCount() &gt; 1)</em>
<a class="jxr_linenumber" name="L1477" href="#L1477">1477</a>     <em class="jxr_comment">//              &amp;&amp; ((e.getModifiers() &amp; InputEvent.CTRL_MASK) &gt; 0)</em>
<a class="jxr_linenumber" name="L1478" href="#L1478">1478</a>     <em class="jxr_comment">//              &amp;&amp; ((e.getModifiers() &amp; InputEvent.BUTTON1_MASK) &gt; 0)) {</em>
<a class="jxr_linenumber" name="L1479" href="#L1479">1479</a>     <em class="jxr_comment">//            expandCurrentlySelectedNode();</em>
<a class="jxr_linenumber" name="L1480" href="#L1480">1480</a>     <em class="jxr_comment">//            e.consume();</em>
<a class="jxr_linenumber" name="L1481" href="#L1481">1481</a>     <em class="jxr_comment">//          } else if (e.getClickCount() &gt; 1) {</em>
<a class="jxr_linenumber" name="L1482" href="#L1482">1482</a>     <em class="jxr_comment">//            super.mouseClicked(e);</em>
<a class="jxr_linenumber" name="L1483" href="#L1483">1483</a>     <em class="jxr_comment">//            logger.debug("Ignoring dbl click event " + e);</em>
<a class="jxr_linenumber" name="L1484" href="#L1484">1484</a>     <em class="jxr_comment">//          }</em>
<a class="jxr_linenumber" name="L1485" href="#L1485">1485</a>     <em class="jxr_comment">//        }</em>
<a class="jxr_linenumber" name="L1486" href="#L1486">1486</a>     <em class="jxr_comment">//      });</em>
<a class="jxr_linenumber" name="L1487" href="#L1487">1487</a> 
<a class="jxr_linenumber" name="L1488" href="#L1488">1488</a>     logTree.addMouseListener(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">MouseFocusOnListener</a>());
<a class="jxr_linenumber" name="L1489" href="#L1489">1489</a> 
<a class="jxr_linenumber" name="L1490" href="#L1490">1490</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1491" href="#L1491">1491</a> <em class="jxr_javadoccomment">     * We listen for when the FocusOn action changes, and then  translate</em>
<a class="jxr_linenumber" name="L1492" href="#L1492">1492</a> <em class="jxr_javadoccomment">     * that to a RuleChange</em>
<a class="jxr_linenumber" name="L1493" href="#L1493">1493</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1494" href="#L1494">1494</a>     addChangeListener(<strong class="jxr_keyword">new</strong> ChangeListener()
<a class="jxr_linenumber" name="L1495" href="#L1495">1495</a>       {
<a class="jxr_linenumber" name="L1496" href="#L1496">1496</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> stateChanged(ChangeEvent evt)
<a class="jxr_linenumber" name="L1497" href="#L1497">1497</a>         {
<a class="jxr_linenumber" name="L1498" href="#L1498">1498</a>           visibilityRuleDelegate.firePropertyChange(<span class="jxr_string">"rule"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1499" href="#L1499">1499</a>           updateDisplay();
<a class="jxr_linenumber" name="L1500" href="#L1500">1500</a>         }
<a class="jxr_linenumber" name="L1501" href="#L1501">1501</a>       });
<a class="jxr_linenumber" name="L1502" href="#L1502">1502</a> 
<a class="jxr_linenumber" name="L1503" href="#L1503">1503</a>     visibilityRuleDelegate.addPropertyChangeListener(<strong class="jxr_keyword">new</strong> PropertyChangeListener()
<a class="jxr_linenumber" name="L1504" href="#L1504">1504</a>       {
<a class="jxr_linenumber" name="L1505" href="#L1505">1505</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> propertyChange(PropertyChangeEvent event)
<a class="jxr_linenumber" name="L1506" href="#L1506">1506</a>         {
<a class="jxr_linenumber" name="L1507" href="#L1507">1507</a>           <strong class="jxr_keyword">if</strong> (event.getPropertyName().equals(<span class="jxr_string">"hiddenSet"</span>)) {
<a class="jxr_linenumber" name="L1508" href="#L1508">1508</a>             updateDisplay();
<a class="jxr_linenumber" name="L1509" href="#L1509">1509</a>           }
<a class="jxr_linenumber" name="L1510" href="#L1510">1510</a>         }
<a class="jxr_linenumber" name="L1511" href="#L1511">1511</a>       });
<a class="jxr_linenumber" name="L1512" href="#L1512">1512</a>   }
<a class="jxr_linenumber" name="L1513" href="#L1513">1513</a> 
<a class="jxr_linenumber" name="L1514" href="#L1514">1514</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateDisplay() {
<a class="jxr_linenumber" name="L1515" href="#L1515">1515</a>       updateHiddenSetModels();
<a class="jxr_linenumber" name="L1516" href="#L1516">1516</a>       updateIgnoreSummary();
<a class="jxr_linenumber" name="L1517" href="#L1517">1517</a>       updateIgnoreExpressionSummary();
<a class="jxr_linenumber" name="L1518" href="#L1518">1518</a>       updateAlwaysDisplayExpressionSummary();
<a class="jxr_linenumber" name="L1519" href="#L1519">1519</a>   }
<a class="jxr_linenumber" name="L1520" href="#L1520">1520</a>   
<a class="jxr_linenumber" name="L1521" href="#L1521">1521</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateHiddenSetModels() {
<a class="jxr_linenumber" name="L1522" href="#L1522">1522</a>       DefaultListModel model = (DefaultListModel) ignoreList.getModel();
<a class="jxr_linenumber" name="L1523" href="#L1523">1523</a>       model.clear();
<a class="jxr_linenumber" name="L1524" href="#L1524">1524</a>       List sortedIgnoreList = <strong class="jxr_keyword">new</strong> ArrayList(hiddenSet);
<a class="jxr_linenumber" name="L1525" href="#L1525">1525</a>       Collections.sort(sortedIgnoreList);
<a class="jxr_linenumber" name="L1526" href="#L1526">1526</a> 
<a class="jxr_linenumber" name="L1527" href="#L1527">1527</a>       <strong class="jxr_keyword">for</strong> (Iterator iter = sortedIgnoreList.iterator(); iter.hasNext();)
<a class="jxr_linenumber" name="L1528" href="#L1528">1528</a>       {
<a class="jxr_linenumber" name="L1529" href="#L1529">1529</a>         String string = (String) iter.next();
<a class="jxr_linenumber" name="L1530" href="#L1530">1530</a>         model.addElement(string);
<a class="jxr_linenumber" name="L1531" href="#L1531">1531</a>       }
<a class="jxr_linenumber" name="L1532" href="#L1532">1532</a> 
<a class="jxr_linenumber" name="L1533" href="#L1533">1533</a> <em class="jxr_comment">//      ignoreList.setModel(model);</em>
<a class="jxr_linenumber" name="L1534" href="#L1534">1534</a> 
<a class="jxr_linenumber" name="L1535" href="#L1535">1535</a>   }
<a class="jxr_linenumber" name="L1536" href="#L1536">1536</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateIgnoreSummary() {
<a class="jxr_linenumber" name="L1537" href="#L1537">1537</a>       ignoreSummary.setText(ignoreList.getModel().getSize() + <span class="jxr_string">" hidden loggers"</span>);
<a class="jxr_linenumber" name="L1538" href="#L1538">1538</a>   }
<a class="jxr_linenumber" name="L1539" href="#L1539">1539</a> 
<a class="jxr_linenumber" name="L1540" href="#L1540">1540</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateIgnoreExpressionSummary() {
<a class="jxr_linenumber" name="L1541" href="#L1541">1541</a>     ignoreExpressionSummary.setText(ignoreExpressionRule != <strong class="jxr_keyword">null</strong>?<span class="jxr_string">"Ignore (set)"</span>:<span class="jxr_string">"Ignore (unset)"</span>);
<a class="jxr_linenumber" name="L1542" href="#L1542">1542</a>   }
<a class="jxr_linenumber" name="L1543" href="#L1543">1543</a>   
<a class="jxr_linenumber" name="L1544" href="#L1544">1544</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateAlwaysDisplayExpressionSummary() {
<a class="jxr_linenumber" name="L1545" href="#L1545">1545</a>     alwaysDisplayExpressionSummary.setText(alwaysDisplayExpressionRule != <strong class="jxr_keyword">null</strong>?<span class="jxr_string">"Always displayed (set)"</span>:<span class="jxr_string">"Always displayed (unset)"</span>);
<a class="jxr_linenumber" name="L1546" href="#L1546">1546</a>   }
<a class="jxr_linenumber" name="L1547" href="#L1547">1547</a> 
<a class="jxr_linenumber" name="L1548" href="#L1548">1548</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> toggleFocusOnState()
<a class="jxr_linenumber" name="L1549" href="#L1549">1549</a>   {
<a class="jxr_linenumber" name="L1550" href="#L1550">1550</a>     setFocusOnSelected(!isFocusOnSelected());
<a class="jxr_linenumber" name="L1551" href="#L1551">1551</a>     fireChangeEvent();
<a class="jxr_linenumber" name="L1552" href="#L1552">1552</a>   }
<a class="jxr_linenumber" name="L1553" href="#L1553">1553</a> 
<a class="jxr_linenumber" name="L1554" href="#L1554">1554</a>     <strong class="jxr_keyword">public</strong> Collection getHiddenSet() {
<a class="jxr_linenumber" name="L1555" href="#L1555">1555</a>         <strong class="jxr_keyword">return</strong> Collections.unmodifiableSet(hiddenSet);
<a class="jxr_linenumber" name="L1556" href="#L1556">1556</a>     }
<a class="jxr_linenumber" name="L1557" href="#L1557">1557</a> 
<a class="jxr_linenumber" name="L1558" href="#L1558">1558</a>     <strong class="jxr_keyword">public</strong> String getHiddenExpression() {
<a class="jxr_linenumber" name="L1559" href="#L1559">1559</a>         String text = ignoreExpressionEntryField.getText();
<a class="jxr_linenumber" name="L1560" href="#L1560">1560</a>         <strong class="jxr_keyword">if</strong> (text == <strong class="jxr_keyword">null</strong> || text.trim().equals(<span class="jxr_string">""</span>)) {
<a class="jxr_linenumber" name="L1561" href="#L1561">1561</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1562" href="#L1562">1562</a>         }
<a class="jxr_linenumber" name="L1563" href="#L1563">1563</a>         <strong class="jxr_keyword">return</strong> text.trim();
<a class="jxr_linenumber" name="L1564" href="#L1564">1564</a>     }
<a class="jxr_linenumber" name="L1565" href="#L1565">1565</a> 
<a class="jxr_linenumber" name="L1566" href="#L1566">1566</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setHiddenExpression(String hiddenExpression) {
<a class="jxr_linenumber" name="L1567" href="#L1567">1567</a>         ignoreExpressionEntryField.setText(hiddenExpression);
<a class="jxr_linenumber" name="L1568" href="#L1568">1568</a>         updateIgnoreExpression(hiddenExpression);
<a class="jxr_linenumber" name="L1569" href="#L1569">1569</a>     }
<a class="jxr_linenumber" name="L1570" href="#L1570">1570</a> 
<a class="jxr_linenumber" name="L1571" href="#L1571">1571</a>     <strong class="jxr_keyword">public</strong> String getAlwaysDisplayExpression() {
<a class="jxr_linenumber" name="L1572" href="#L1572">1572</a>         String text = alwaysDisplayExpressionEntryField.getText();
<a class="jxr_linenumber" name="L1573" href="#L1573">1573</a>         <strong class="jxr_keyword">if</strong> (text == <strong class="jxr_keyword">null</strong> || text.trim().equals(<span class="jxr_string">""</span>)) {
<a class="jxr_linenumber" name="L1574" href="#L1574">1574</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1575" href="#L1575">1575</a>         }
<a class="jxr_linenumber" name="L1576" href="#L1576">1576</a>         <strong class="jxr_keyword">return</strong> text.trim();
<a class="jxr_linenumber" name="L1577" href="#L1577">1577</a>     }
<a class="jxr_linenumber" name="L1578" href="#L1578">1578</a> 
<a class="jxr_linenumber" name="L1579" href="#L1579">1579</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAlwaysDisplayExpression(String alwaysDisplayExpression) {
<a class="jxr_linenumber" name="L1580" href="#L1580">1580</a>         alwaysDisplayExpressionEntryField.setText(alwaysDisplayExpression);
<a class="jxr_linenumber" name="L1581" href="#L1581">1581</a>         updateAlwaysDisplayExpression(alwaysDisplayExpression);
<a class="jxr_linenumber" name="L1582" href="#L1582">1582</a>     }
<a class="jxr_linenumber" name="L1583" href="#L1583">1583</a> 
<a class="jxr_linenumber" name="L1584" href="#L1584">1584</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loggerNameAdded(String loggerName)
<a class="jxr_linenumber" name="L1585" href="#L1585">1585</a>     {
<a class="jxr_linenumber" name="L1586" href="#L1586">1586</a>         <em class="jxr_comment">//no-op</em>
<a class="jxr_linenumber" name="L1587" href="#L1587">1587</a>     }
<a class="jxr_linenumber" name="L1588" href="#L1588">1588</a> 
<a class="jxr_linenumber" name="L1589" href="#L1589">1589</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset()
<a class="jxr_linenumber" name="L1590" href="#L1590">1590</a>     {
<a class="jxr_linenumber" name="L1591" href="#L1591">1591</a>         expandRootLatch = false;
<a class="jxr_linenumber" name="L1592" href="#L1592">1592</a>         <em class="jxr_comment">//keep track if focuson was active when we were reset</em>
<a class="jxr_linenumber" name="L1593" href="#L1593">1593</a>         <strong class="jxr_keyword">final</strong> String logger = currentlySelectedLoggerName;
<a class="jxr_linenumber" name="L1594" href="#L1594">1594</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> focusOnSelected = isFocusOnSelected();
<a class="jxr_linenumber" name="L1595" href="#L1595">1595</a>         <strong class="jxr_keyword">if</strong> (logger == <strong class="jxr_keyword">null</strong> || !focusOnSelected) {
<a class="jxr_linenumber" name="L1596" href="#L1596">1596</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L1597" href="#L1597">1597</a>         }
<a class="jxr_linenumber" name="L1598" href="#L1598">1598</a> 
<a class="jxr_linenumber" name="L1599" href="#L1599">1599</a>         <em class="jxr_comment">//loggernameAdded runs on EDT</em>
<a class="jxr_linenumber" name="L1600" href="#L1600">1600</a>         logTreeModel.loggerNameAdded(logger);
<a class="jxr_linenumber" name="L1601" href="#L1601">1601</a>         EventQueue.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() {
<a class="jxr_linenumber" name="L1602" href="#L1602">1602</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a class="jxr_linenumber" name="L1603" href="#L1603">1603</a>                 setFocusOn(logger);
<a class="jxr_linenumber" name="L1604" href="#L1604">1604</a>             }
<a class="jxr_linenumber" name="L1605" href="#L1605">1605</a>         });
<a class="jxr_linenumber" name="L1606" href="#L1606">1606</a>     }
<a class="jxr_linenumber" name="L1607" href="#L1607">1607</a> 
<a class="jxr_linenumber" name="L1608" href="#L1608">1608</a>     <em class="jxr_comment">//~ Inner Classes ===========================================================</em>
<a class="jxr_linenumber" name="L1609" href="#L1609">1609</a> 
<a class="jxr_linenumber" name="L1610" href="#L1610">1610</a>   <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1611" href="#L1611">1611</a> <em class="jxr_javadoccomment">   * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1612" href="#L1612">1612</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L1613" href="#L1613">1613</a> <em class="jxr_javadoccomment">   * @author $author$</em>
<a class="jxr_linenumber" name="L1614" href="#L1614">1614</a> <em class="jxr_javadoccomment">   * @version $Revision$, $Date$</em>
<a class="jxr_linenumber" name="L1615" href="#L1615">1615</a> <em class="jxr_javadoccomment">   *</em>
<a class="jxr_linenumber" name="L1616" href="#L1616">1616</a> <em class="jxr_javadoccomment">   * @author Paul Smith &amp;lt;psmith@apache.org&amp;gt;</em>
<a class="jxr_linenumber" name="L1617" href="#L1617">1617</a> <em class="jxr_javadoccomment">        *</em>
<a class="jxr_linenumber" name="L1618" href="#L1618">1618</a> <em class="jxr_javadoccomment">        */</em>
<a class="jxr_linenumber" name="L1619" href="#L1619">1619</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerNameTreeCellRenderer</a> <strong class="jxr_keyword">extends</strong> DefaultTreeCellRenderer
<a class="jxr_linenumber" name="L1620" href="#L1620">1620</a>   {
<a class="jxr_linenumber" name="L1621" href="#L1621">1621</a>     <em class="jxr_comment">//~ Constructors ==========================================================</em>
<a class="jxr_linenumber" name="L1622" href="#L1622">1622</a> 
<a class="jxr_linenumber" name="L1623" href="#L1623">1623</a>     <em class="jxr_comment">//    private JPanel panel = new JPanel();</em>
<a class="jxr_linenumber" name="L1624" href="#L1624">1624</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerNameTreeCellRenderer</a>()
<a class="jxr_linenumber" name="L1625" href="#L1625">1625</a>     {
<a class="jxr_linenumber" name="L1626" href="#L1626">1626</a>       <strong class="jxr_keyword">super</strong>();
<a class="jxr_linenumber" name="L1627" href="#L1627">1627</a> 
<a class="jxr_linenumber" name="L1628" href="#L1628">1628</a>       <em class="jxr_comment">//      panel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));</em>
<a class="jxr_linenumber" name="L1629" href="#L1629">1629</a>       <em class="jxr_comment">//      panel.add(this);</em>
<a class="jxr_linenumber" name="L1630" href="#L1630">1630</a>       setLeafIcon(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L1631" href="#L1631">1631</a>       setOpaque(false);
<a class="jxr_linenumber" name="L1632" href="#L1632">1632</a>     }
<a class="jxr_linenumber" name="L1633" href="#L1633">1633</a> 
<a class="jxr_linenumber" name="L1634" href="#L1634">1634</a>     <em class="jxr_comment">//~ Methods ===============================================================</em>
<a class="jxr_linenumber" name="L1635" href="#L1635">1635</a> 
<a class="jxr_linenumber" name="L1636" href="#L1636">1636</a>     <em class="jxr_comment">/* (non-Javadoc)</em>
<a class="jxr_linenumber" name="L1637" href="#L1637">1637</a> <em class="jxr_comment">     * @see javax.swing.tree.TreeCellRenderer#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)</em>
<a class="jxr_linenumber" name="L1638" href="#L1638">1638</a> <em class="jxr_comment">     */</em>
<a class="jxr_linenumber" name="L1639" href="#L1639">1639</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1640" href="#L1640">1640</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1641" href="#L1641">1641</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1642" href="#L1642">1642</a> <em class="jxr_javadoccomment">     * @param tree DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1643" href="#L1643">1643</a> <em class="jxr_javadoccomment">     * @param value DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1644" href="#L1644">1644</a> <em class="jxr_javadoccomment">     * @param sel DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1645" href="#L1645">1645</a> <em class="jxr_javadoccomment">     * @param expanded DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1646" href="#L1646">1646</a> <em class="jxr_javadoccomment">     * @param leaf DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1647" href="#L1647">1647</a> <em class="jxr_javadoccomment">     * @param row DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1648" href="#L1648">1648</a> <em class="jxr_javadoccomment">     * @param focus DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1649" href="#L1649">1649</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1650" href="#L1650">1650</a> <em class="jxr_javadoccomment">     * @return DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1651" href="#L1651">1651</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1652" href="#L1652">1652</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/Component.html">Component</a> getTreeCellRendererComponent(
<a class="jxr_linenumber" name="L1653" href="#L1653">1653</a>       JTree tree, Object value, <strong class="jxr_keyword">boolean</strong> sel, <strong class="jxr_keyword">boolean</strong> expanded, <strong class="jxr_keyword">boolean</strong> leaf,
<a class="jxr_linenumber" name="L1654" href="#L1654">1654</a>       <strong class="jxr_keyword">int</strong> row, <strong class="jxr_keyword">boolean</strong> focus)
<a class="jxr_linenumber" name="L1655" href="#L1655">1655</a>     {
<a class="jxr_linenumber" name="L1656" href="#L1656">1656</a>       JLabel component =
<a class="jxr_linenumber" name="L1657" href="#L1657">1657</a>         (JLabel) <strong class="jxr_keyword">super</strong>.getTreeCellRendererComponent(
<a class="jxr_linenumber" name="L1658" href="#L1658">1658</a>           tree, value, sel, expanded, leaf, row, focus);
<a class="jxr_linenumber" name="L1659" href="#L1659">1659</a> 
<a class="jxr_linenumber" name="L1660" href="#L1660">1660</a>       Font originalFont = <strong class="jxr_keyword">new</strong> Font(component.getFont().getName(), component.getFont().getStyle(), component.getFont().getSize());
<a class="jxr_linenumber" name="L1661" href="#L1661">1661</a> 
<a class="jxr_linenumber" name="L1662" href="#L1662">1662</a>       <strong class="jxr_keyword">int</strong> style = Font.PLAIN;
<a class="jxr_linenumber" name="L1663" href="#L1663">1663</a> 
<a class="jxr_linenumber" name="L1664" href="#L1664">1664</a>       <strong class="jxr_keyword">if</strong> (sel &amp;&amp; focusOnLoggerButton.isSelected())
<a class="jxr_linenumber" name="L1665" href="#L1665">1665</a>       {
<a class="jxr_linenumber" name="L1666" href="#L1666">1666</a>         style = style | Font.BOLD;
<a class="jxr_linenumber" name="L1667" href="#L1667">1667</a>       }
<a class="jxr_linenumber" name="L1668" href="#L1668">1668</a> 
<a class="jxr_linenumber" name="L1669" href="#L1669">1669</a>       String logger =
<a class="jxr_linenumber" name="L1670" href="#L1670">1670</a>         getLoggerName(
<a class="jxr_linenumber" name="L1671" href="#L1671">1671</a>           <strong class="jxr_keyword">new</strong> TreePath(((DefaultMutableTreeNode) value).getPath()));
<a class="jxr_linenumber" name="L1672" href="#L1672">1672</a> 
<a class="jxr_linenumber" name="L1673" href="#L1673">1673</a>       <strong class="jxr_keyword">if</strong> (hiddenSet.contains(logger))
<a class="jxr_linenumber" name="L1674" href="#L1674">1674</a>       {
<a class="jxr_linenumber" name="L1675" href="#L1675">1675</a>         <em class="jxr_comment">//        component.setEnabled(false);</em>
<a class="jxr_linenumber" name="L1676" href="#L1676">1676</a>         <em class="jxr_comment">//        component.setIcon(leaf?null:getDefaultOpenIcon());</em>
<a class="jxr_linenumber" name="L1677" href="#L1677">1677</a>         style = style | Font.ITALIC;
<a class="jxr_linenumber" name="L1678" href="#L1678">1678</a> 
<a class="jxr_linenumber" name="L1679" href="#L1679">1679</a>         <em class="jxr_comment">//        logger.debug("TreeRenderer: '" + logger + "' is in hiddenSet, italicizing");</em>
<a class="jxr_linenumber" name="L1680" href="#L1680">1680</a>       }
<a class="jxr_linenumber" name="L1681" href="#L1681">1681</a>       <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1682" href="#L1682">1682</a>       {
<a class="jxr_linenumber" name="L1683" href="#L1683">1683</a>         <em class="jxr_comment">//          logger.debug("TreeRenderer: '" + logger + "' is NOT in hiddenSet, leaving plain");</em>
<a class="jxr_linenumber" name="L1684" href="#L1684">1684</a>         <em class="jxr_comment">//        component.setEnabled(true);</em>
<a class="jxr_linenumber" name="L1685" href="#L1685">1685</a>       }
<a class="jxr_linenumber" name="L1686" href="#L1686">1686</a> 
<a class="jxr_linenumber" name="L1687" href="#L1687">1687</a>       <strong class="jxr_keyword">if</strong> (originalFont != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1688" href="#L1688">1688</a>       {
<a class="jxr_linenumber" name="L1689" href="#L1689">1689</a>         Font font2 = originalFont.deriveFont(style);
<a class="jxr_linenumber" name="L1690" href="#L1690">1690</a> 
<a class="jxr_linenumber" name="L1691" href="#L1691">1691</a>         <strong class="jxr_keyword">if</strong> (font2 != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1692" href="#L1692">1692</a>         {
<a class="jxr_linenumber" name="L1693" href="#L1693">1693</a>           component.setFont(font2);
<a class="jxr_linenumber" name="L1694" href="#L1694">1694</a>         }
<a class="jxr_linenumber" name="L1695" href="#L1695">1695</a>       }
<a class="jxr_linenumber" name="L1696" href="#L1696">1696</a> 
<a class="jxr_linenumber" name="L1697" href="#L1697">1697</a>       <strong class="jxr_keyword">return</strong> component;
<a class="jxr_linenumber" name="L1698" href="#L1698">1698</a>     }
<a class="jxr_linenumber" name="L1699" href="#L1699">1699</a>   }
<a class="jxr_linenumber" name="L1700" href="#L1700">1700</a> 
<a class="jxr_linenumber" name="L1701" href="#L1701">1701</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerTreePopupMenu</a> <strong class="jxr_keyword">extends</strong> JPopupMenu
<a class="jxr_linenumber" name="L1702" href="#L1702">1702</a>   {
<a class="jxr_linenumber" name="L1703" href="#L1703">1703</a>     <em class="jxr_comment">//~ Instance fields =======================================================</em>
<a class="jxr_linenumber" name="L1704" href="#L1704">1704</a> 
<a class="jxr_linenumber" name="L1705" href="#L1705">1705</a>     JCheckBoxMenuItem focusOnCheck = <strong class="jxr_keyword">new</strong> JCheckBoxMenuItem();
<a class="jxr_linenumber" name="L1706" href="#L1706">1706</a>     JCheckBoxMenuItem hideCheck = <strong class="jxr_keyword">new</strong> JCheckBoxMenuItem();
<a class="jxr_linenumber" name="L1707" href="#L1707">1707</a> 
<a class="jxr_linenumber" name="L1708" href="#L1708">1708</a>     <em class="jxr_comment">//~ Constructors ==========================================================</em>
<a class="jxr_linenumber" name="L1709" href="#L1709">1709</a> 
<a class="jxr_linenumber" name="L1710" href="#L1710">1710</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">LoggerTreePopupMenu</a>()
<a class="jxr_linenumber" name="L1711" href="#L1711">1711</a>     {
<a class="jxr_linenumber" name="L1712" href="#L1712">1712</a>       initMenu();
<a class="jxr_linenumber" name="L1713" href="#L1713">1713</a>     }
<a class="jxr_linenumber" name="L1714" href="#L1714">1714</a> 
<a class="jxr_linenumber" name="L1715" href="#L1715">1715</a>     <em class="jxr_comment">//~ Methods ===============================================================</em>
<a class="jxr_linenumber" name="L1716" href="#L1716">1716</a> 
<a class="jxr_linenumber" name="L1717" href="#L1717">1717</a>     <em class="jxr_comment">/* (non-Javadoc)</em>
<a class="jxr_linenumber" name="L1718" href="#L1718">1718</a> <em class="jxr_comment">     * @see javax.swing.JPopupMenu#show(java.awt.Component, int, int)</em>
<a class="jxr_linenumber" name="L1719" href="#L1719">1719</a> <em class="jxr_comment">     */</em>
<a class="jxr_linenumber" name="L1720" href="#L1720">1720</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1721" href="#L1721">1721</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1722" href="#L1722">1722</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1723" href="#L1723">1723</a> <em class="jxr_javadoccomment">     * @param invoker DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1724" href="#L1724">1724</a> <em class="jxr_javadoccomment">     * @param x DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1725" href="#L1725">1725</a> <em class="jxr_javadoccomment">     * @param y DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1726" href="#L1726">1726</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1727" href="#L1727">1727</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> show(<a href="../../../../org/apache/log4j/spi/Component.html">Component</a> invoker, <strong class="jxr_keyword">int</strong> x, <strong class="jxr_keyword">int</strong> y)
<a class="jxr_linenumber" name="L1728" href="#L1728">1728</a>     {
<a class="jxr_linenumber" name="L1729" href="#L1729">1729</a>       DefaultMutableTreeNode node =
<a class="jxr_linenumber" name="L1730" href="#L1730">1730</a>         (DefaultMutableTreeNode) logTree.getLastSelectedPathComponent();
<a class="jxr_linenumber" name="L1731" href="#L1731">1731</a> 
<a class="jxr_linenumber" name="L1732" href="#L1732">1732</a>       <strong class="jxr_keyword">if</strong> (node == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1733" href="#L1733">1733</a>       {
<a class="jxr_linenumber" name="L1734" href="#L1734">1734</a>         <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L1735" href="#L1735">1735</a>       }
<a class="jxr_linenumber" name="L1736" href="#L1736">1736</a> 
<a class="jxr_linenumber" name="L1737" href="#L1737">1737</a>       <strong class="jxr_keyword">super</strong>.show(invoker, x, y);
<a class="jxr_linenumber" name="L1738" href="#L1738">1738</a>     }
<a class="jxr_linenumber" name="L1739" href="#L1739">1739</a> 
<a class="jxr_linenumber" name="L1740" href="#L1740">1740</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1741" href="#L1741">1741</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1742" href="#L1742">1742</a> <em class="jxr_javadoccomment">    */</em>
<a class="jxr_linenumber" name="L1743" href="#L1743">1743</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initMenu()
<a class="jxr_linenumber" name="L1744" href="#L1744">1744</a>     {
<a class="jxr_linenumber" name="L1745" href="#L1745">1745</a>       focusOnCheck.setAction(focusOnAction);
<a class="jxr_linenumber" name="L1746" href="#L1746">1746</a>       hideCheck.setAction(hideAction);
<a class="jxr_linenumber" name="L1747" href="#L1747">1747</a>       add(expandAction);
<a class="jxr_linenumber" name="L1748" href="#L1748">1748</a>       add(collapseAction);
<a class="jxr_linenumber" name="L1749" href="#L1749">1749</a>       addSeparator();
<a class="jxr_linenumber" name="L1750" href="#L1750">1750</a>       add(focusOnCheck);
<a class="jxr_linenumber" name="L1751" href="#L1751">1751</a>       add(hideCheck);
<a class="jxr_linenumber" name="L1752" href="#L1752">1752</a>       addSeparator();
<a class="jxr_linenumber" name="L1753" href="#L1753">1753</a>       add(setRefineFocusAction);
<a class="jxr_linenumber" name="L1754" href="#L1754">1754</a>       add(updateRefineFocusAction);
<a class="jxr_linenumber" name="L1755" href="#L1755">1755</a>       add(clearRefineFocusAction);
<a class="jxr_linenumber" name="L1756" href="#L1756">1756</a>       addSeparator();
<a class="jxr_linenumber" name="L1757" href="#L1757">1757</a>       add(findAction);
<a class="jxr_linenumber" name="L1758" href="#L1758">1758</a>       add(updateFindAction);
<a class="jxr_linenumber" name="L1759" href="#L1759">1759</a>       add(clearFindNextAction);
<a class="jxr_linenumber" name="L1760" href="#L1760">1760</a> 
<a class="jxr_linenumber" name="L1761" href="#L1761">1761</a>       addSeparator();
<a class="jxr_linenumber" name="L1762" href="#L1762">1762</a>       add(defineColorRuleForLoggerAction);
<a class="jxr_linenumber" name="L1763" href="#L1763">1763</a>       addSeparator();
<a class="jxr_linenumber" name="L1764" href="#L1764">1764</a> 
<a class="jxr_linenumber" name="L1765" href="#L1765">1765</a>       add(hideSubLoggersAction);
<a class="jxr_linenumber" name="L1766" href="#L1766">1766</a>       add(clearIgnoreListAction);
<a class="jxr_linenumber" name="L1767" href="#L1767">1767</a>     }
<a class="jxr_linenumber" name="L1768" href="#L1768">1768</a>   }
<a class="jxr_linenumber" name="L1769" href="#L1769">1769</a> 
<a class="jxr_linenumber" name="L1770" href="#L1770">1770</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">MouseFocusOnListener</a> <strong class="jxr_keyword">extends</strong> MouseAdapter
<a class="jxr_linenumber" name="L1771" href="#L1771">1771</a>   {
<a class="jxr_linenumber" name="L1772" href="#L1772">1772</a>     <em class="jxr_comment">//~ Methods ===============================================================</em>
<a class="jxr_linenumber" name="L1773" href="#L1773">1773</a> 
<a class="jxr_linenumber" name="L1774" href="#L1774">1774</a>     <em class="jxr_comment">/* (non-Javadoc)</em>
<a class="jxr_linenumber" name="L1775" href="#L1775">1775</a> <em class="jxr_comment">     * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)</em>
<a class="jxr_linenumber" name="L1776" href="#L1776">1776</a> <em class="jxr_comment">     */</em>
<a class="jxr_linenumber" name="L1777" href="#L1777">1777</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1778" href="#L1778">1778</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1779" href="#L1779">1779</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1780" href="#L1780">1780</a> <em class="jxr_javadoccomment">     * @param e DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1781" href="#L1781">1781</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1782" href="#L1782">1782</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> mouseClicked(MouseEvent e)
<a class="jxr_linenumber" name="L1783" href="#L1783">1783</a>     {
<a class="jxr_linenumber" name="L1784" href="#L1784">1784</a>       <strong class="jxr_keyword">if</strong> (
<a class="jxr_linenumber" name="L1785" href="#L1785">1785</a>         (e.getClickCount() &gt; 1)
<a class="jxr_linenumber" name="L1786" href="#L1786">1786</a>           &amp;&amp; ((e.getModifiers() &amp; InputEvent.CTRL_MASK) &gt; 0)
<a class="jxr_linenumber" name="L1787" href="#L1787">1787</a>           &amp;&amp; ((e.getModifiers() &amp; InputEvent.SHIFT_MASK) &gt; 0))
<a class="jxr_linenumber" name="L1788" href="#L1788">1788</a>       {
<a class="jxr_linenumber" name="L1789" href="#L1789">1789</a>         ignoreLoggerAtPoint(e.getPoint());
<a class="jxr_linenumber" name="L1790" href="#L1790">1790</a>         e.consume();
<a class="jxr_linenumber" name="L1791" href="#L1791">1791</a>         fireChangeEvent();
<a class="jxr_linenumber" name="L1792" href="#L1792">1792</a>       }
<a class="jxr_linenumber" name="L1793" href="#L1793">1793</a>       <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (
<a class="jxr_linenumber" name="L1794" href="#L1794">1794</a>         (e.getClickCount() &gt; 1)
<a class="jxr_linenumber" name="L1795" href="#L1795">1795</a>           &amp;&amp; ((e.getModifiers() &amp; InputEvent.CTRL_MASK) &gt; 0))
<a class="jxr_linenumber" name="L1796" href="#L1796">1796</a>       {
<a class="jxr_linenumber" name="L1797" href="#L1797">1797</a>         focusAnLoggerAtPoint(e.getPoint());
<a class="jxr_linenumber" name="L1798" href="#L1798">1798</a>         e.consume();
<a class="jxr_linenumber" name="L1799" href="#L1799">1799</a>         fireChangeEvent();
<a class="jxr_linenumber" name="L1800" href="#L1800">1800</a>       }
<a class="jxr_linenumber" name="L1801" href="#L1801">1801</a>     }
<a class="jxr_linenumber" name="L1802" href="#L1802">1802</a> 
<a class="jxr_linenumber" name="L1803" href="#L1803">1803</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1804" href="#L1804">1804</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1805" href="#L1805">1805</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1806" href="#L1806">1806</a> <em class="jxr_javadoccomment">     * @param point</em>
<a class="jxr_linenumber" name="L1807" href="#L1807">1807</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1808" href="#L1808">1808</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> focusAnLoggerAtPoint(Point point)
<a class="jxr_linenumber" name="L1809" href="#L1809">1809</a>     {
<a class="jxr_linenumber" name="L1810" href="#L1810">1810</a>       String logger = getLoggerAtPoint(point);
<a class="jxr_linenumber" name="L1811" href="#L1811">1811</a> 
<a class="jxr_linenumber" name="L1812" href="#L1812">1812</a>       <strong class="jxr_keyword">if</strong> (logger != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1813" href="#L1813">1813</a>       {
<a class="jxr_linenumber" name="L1814" href="#L1814">1814</a>         toggleFocusOnState();
<a class="jxr_linenumber" name="L1815" href="#L1815">1815</a>       }
<a class="jxr_linenumber" name="L1816" href="#L1816">1816</a>     }
<a class="jxr_linenumber" name="L1817" href="#L1817">1817</a> 
<a class="jxr_linenumber" name="L1818" href="#L1818">1818</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1819" href="#L1819">1819</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1820" href="#L1820">1820</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1821" href="#L1821">1821</a> <em class="jxr_javadoccomment">     * @param point</em>
<a class="jxr_linenumber" name="L1822" href="#L1822">1822</a> <em class="jxr_javadoccomment">     * @return</em>
<a class="jxr_linenumber" name="L1823" href="#L1823">1823</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1824" href="#L1824">1824</a>     <strong class="jxr_keyword">private</strong> String getLoggerAtPoint(Point point)
<a class="jxr_linenumber" name="L1825" href="#L1825">1825</a>     {
<a class="jxr_linenumber" name="L1826" href="#L1826">1826</a>       TreePath path = logTree.getPathForLocation(point.x, point.y);
<a class="jxr_linenumber" name="L1827" href="#L1827">1827</a> 
<a class="jxr_linenumber" name="L1828" href="#L1828">1828</a>       <strong class="jxr_keyword">if</strong> (path != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1829" href="#L1829">1829</a>       {
<a class="jxr_linenumber" name="L1830" href="#L1830">1830</a>         <strong class="jxr_keyword">return</strong> getLoggerName(path);
<a class="jxr_linenumber" name="L1831" href="#L1831">1831</a>       }
<a class="jxr_linenumber" name="L1832" href="#L1832">1832</a> 
<a class="jxr_linenumber" name="L1833" href="#L1833">1833</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1834" href="#L1834">1834</a>     }
<a class="jxr_linenumber" name="L1835" href="#L1835">1835</a> 
<a class="jxr_linenumber" name="L1836" href="#L1836">1836</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1837" href="#L1837">1837</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1838" href="#L1838">1838</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1839" href="#L1839">1839</a> <em class="jxr_javadoccomment">     * @param point</em>
<a class="jxr_linenumber" name="L1840" href="#L1840">1840</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1841" href="#L1841">1841</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> ignoreLoggerAtPoint(Point point)
<a class="jxr_linenumber" name="L1842" href="#L1842">1842</a>     {
<a class="jxr_linenumber" name="L1843" href="#L1843">1843</a>       String logger = getLoggerAtPoint(point);
<a class="jxr_linenumber" name="L1844" href="#L1844">1844</a> 
<a class="jxr_linenumber" name="L1845" href="#L1845">1845</a>       <strong class="jxr_keyword">if</strong> (logger != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="L1846" href="#L1846">1846</a>       {
<a class="jxr_linenumber" name="L1847" href="#L1847">1847</a>         toggleHiddenLogger(logger);
<a class="jxr_linenumber" name="L1848" href="#L1848">1848</a>         fireChangeEvent();
<a class="jxr_linenumber" name="L1849" href="#L1849">1849</a>       }
<a class="jxr_linenumber" name="L1850" href="#L1850">1850</a>     }
<a class="jxr_linenumber" name="L1851" href="#L1851">1851</a>   }
<a class="jxr_linenumber" name="L1852" href="#L1852">1852</a> 
<a class="jxr_linenumber" name="L1853" href="#L1853">1853</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">MouseKeyIconListener</a> <strong class="jxr_keyword">extends</strong> MouseMotionAdapter
<a class="jxr_linenumber" name="L1854" href="#L1854">1854</a>     <strong class="jxr_keyword">implements</strong> MouseMotionListener
<a class="jxr_linenumber" name="L1855" href="#L1855">1855</a>   {
<a class="jxr_linenumber" name="L1856" href="#L1856">1856</a>     <em class="jxr_comment">//~ Instance fields =======================================================</em>
<a class="jxr_linenumber" name="L1857" href="#L1857">1857</a> 
<a class="jxr_linenumber" name="L1858" href="#L1858">1858</a>     Cursor focusOnCursor =
<a class="jxr_linenumber" name="L1859" href="#L1859">1859</a>       Toolkit.getDefaultToolkit().createCustomCursor(
<a class="jxr_linenumber" name="L1860" href="#L1860">1860</a>         ChainsawIcons.FOCUS_ON_ICON.getImage(), <strong class="jxr_keyword">new</strong> Point(10, 10), <span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="L1861" href="#L1861">1861</a>     Cursor ignoreCursor =
<a class="jxr_linenumber" name="L1862" href="#L1862">1862</a>       Toolkit.getDefaultToolkit().createCustomCursor(
<a class="jxr_linenumber" name="L1863" href="#L1863">1863</a>         ChainsawIcons.IGNORE_ICON.getImage(), <strong class="jxr_keyword">new</strong> Point(10, 10), <span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="L1864" href="#L1864">1864</a> 
<a class="jxr_linenumber" name="L1865" href="#L1865">1865</a>     <em class="jxr_comment">//~ Methods ===============================================================</em>
<a class="jxr_linenumber" name="L1866" href="#L1866">1866</a> 
<a class="jxr_linenumber" name="L1867" href="#L1867">1867</a>     <em class="jxr_comment">/* (non-Javadoc)</em>
<a class="jxr_linenumber" name="L1868" href="#L1868">1868</a> <em class="jxr_comment">     * @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)</em>
<a class="jxr_linenumber" name="L1869" href="#L1869">1869</a> <em class="jxr_comment">     */</em>
<a class="jxr_linenumber" name="L1870" href="#L1870">1870</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1871" href="#L1871">1871</a> <em class="jxr_javadoccomment">     * DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1872" href="#L1872">1872</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1873" href="#L1873">1873</a> <em class="jxr_javadoccomment">     * @param e DOCUMENT ME!</em>
<a class="jxr_linenumber" name="L1874" href="#L1874">1874</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1875" href="#L1875">1875</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> mouseMoved(MouseEvent e)
<a class="jxr_linenumber" name="L1876" href="#L1876">1876</a>     {
<a class="jxr_linenumber" name="L1877" href="#L1877">1877</a>       <em class="jxr_comment">//      logger.debug(e.toString());</em>
<a class="jxr_linenumber" name="L1878" href="#L1878">1878</a>       <strong class="jxr_keyword">if</strong> (
<a class="jxr_linenumber" name="L1879" href="#L1879">1879</a>         ((e.getModifiers() &amp; InputEvent.CTRL_MASK) &gt; 0)
<a class="jxr_linenumber" name="L1880" href="#L1880">1880</a>           &amp;&amp; ((e.getModifiers() &amp; InputEvent.SHIFT_MASK) &gt; 0))
<a class="jxr_linenumber" name="L1881" href="#L1881">1881</a>       {
<a class="jxr_linenumber" name="L1882" href="#L1882">1882</a>         logTree.setCursor(ignoreCursor);
<a class="jxr_linenumber" name="L1883" href="#L1883">1883</a>       }
<a class="jxr_linenumber" name="L1884" href="#L1884">1884</a>       <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ((e.getModifiers() &amp; InputEvent.CTRL_MASK) &gt; 0)
<a class="jxr_linenumber" name="L1885" href="#L1885">1885</a>       {
<a class="jxr_linenumber" name="L1886" href="#L1886">1886</a>         logTree.setCursor(focusOnCursor);
<a class="jxr_linenumber" name="L1887" href="#L1887">1887</a>       }
<a class="jxr_linenumber" name="L1888" href="#L1888">1888</a>       <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1889" href="#L1889">1889</a>       {
<a class="jxr_linenumber" name="L1890" href="#L1890">1890</a>         logTree.setCursor(Cursor.getDefaultCursor());
<a class="jxr_linenumber" name="L1891" href="#L1891">1891</a>       }
<a class="jxr_linenumber" name="L1892" href="#L1892">1892</a>     }
<a class="jxr_linenumber" name="L1893" href="#L1893">1893</a>   }
<a class="jxr_linenumber" name="L1894" href="#L1894">1894</a> 
<a class="jxr_linenumber" name="L1895" href="#L1895">1895</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggerNameTreePanel.html">VisibilityRuleDelegate</a> <strong class="jxr_keyword">extends</strong> AbstractRule {
<a class="jxr_linenumber" name="L1896" href="#L1896">1896</a>     	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> evaluate(LoggingEvent e, Map matches)
<a class="jxr_linenumber" name="L1897" href="#L1897">1897</a>         {
<a class="jxr_linenumber" name="L1898" href="#L1898">1898</a>           String currentlySelectedLoggerName = getCurrentlySelectedLoggerName();
<a class="jxr_linenumber" name="L1899" href="#L1899">1899</a>           <strong class="jxr_keyword">boolean</strong> hiddenLogger = e.getLoggerName() != <strong class="jxr_keyword">null</strong> &amp;&amp; isHiddenLogger(e.getLoggerName());
<a class="jxr_linenumber" name="L1900" href="#L1900">1900</a>           <strong class="jxr_keyword">boolean</strong> hiddenExpression = (ignoreExpressionRule != <strong class="jxr_keyword">null</strong> &amp;&amp; ignoreExpressionRule.evaluate(e, <strong class="jxr_keyword">null</strong>));
<a class="jxr_linenumber" name="L1901" href="#L1901">1901</a>           <strong class="jxr_keyword">boolean</strong> alwaysDisplayExpression = (alwaysDisplayExpressionRule != <strong class="jxr_keyword">null</strong> &amp;&amp; alwaysDisplayExpressionRule.evaluate(e, <strong class="jxr_keyword">null</strong>));
<a class="jxr_linenumber" name="L1902" href="#L1902">1902</a>           <strong class="jxr_keyword">boolean</strong> hidden = (!alwaysDisplayExpression) &amp;&amp; (hiddenLogger || hiddenExpression);
<a class="jxr_linenumber" name="L1903" href="#L1903">1903</a>           <strong class="jxr_keyword">if</strong> (currentlySelectedLoggerName == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L1904" href="#L1904">1904</a>           	<em class="jxr_comment">//if there is no selected logger, pass if not hidden</em>
<a class="jxr_linenumber" name="L1905" href="#L1905">1905</a>           	<strong class="jxr_keyword">return</strong> !hidden;
<a class="jxr_linenumber" name="L1906" href="#L1906">1906</a>           }
<a class="jxr_linenumber" name="L1907" href="#L1907">1907</a>           <strong class="jxr_keyword">boolean</strong> result = (e.getLoggerName() != <strong class="jxr_keyword">null</strong>) &amp;&amp; !hidden;
<a class="jxr_linenumber" name="L1908" href="#L1908">1908</a> 
<a class="jxr_linenumber" name="L1909" href="#L1909">1909</a>           <strong class="jxr_keyword">if</strong> (result &amp;&amp; isFocusOnSelected())
<a class="jxr_linenumber" name="L1910" href="#L1910">1910</a>           {
<a class="jxr_linenumber" name="L1911" href="#L1911">1911</a>             result = (e.getLoggerName() != <strong class="jxr_keyword">null</strong> &amp;&amp; (e.getLoggerName().startsWith(currentlySelectedLoggerName+<span class="jxr_string">"."</span>) || e.getLoggerName().endsWith(currentlySelectedLoggerName)));
<a class="jxr_linenumber" name="L1912" href="#L1912">1912</a>           }
<a class="jxr_linenumber" name="L1913" href="#L1913">1913</a> 
<a class="jxr_linenumber" name="L1914" href="#L1914">1914</a>           <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="L1915" href="#L1915">1915</a>         }
<a class="jxr_linenumber" name="L1916" href="#L1916">1916</a> 
<a class="jxr_linenumber" name="L1917" href="#L1917">1917</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> firePropertyChange(String propertyName, Object oldVal, Object newVal)
<a class="jxr_linenumber" name="L1918" href="#L1918">1918</a>         {
<a class="jxr_linenumber" name="L1919" href="#L1919">1919</a>             <strong class="jxr_keyword">super</strong>.firePropertyChange(propertyName, oldVal, newVal);
<a class="jxr_linenumber" name="L1920" href="#L1920">1920</a>         }
<a class="jxr_linenumber" name="L1921" href="#L1921">1921</a>     }
<a class="jxr_linenumber" name="L1922" href="#L1922">1922</a> 
<a class="jxr_linenumber" name="L1923" href="#L1923">1923</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2002&#x2013;2017 <a href="http://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
