<!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>ColorPanel xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/chainsaw/color/ColorPanel.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>  
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw.color;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">import</strong> java.awt.BorderLayout;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> java.awt.Color;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.awt.Component;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.awt.Dimension;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.awt.FlowLayout;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> java.awt.Graphics;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> java.awt.GridLayout;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ItemEvent;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ItemListener;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> java.beans.PropertyChangeEvent;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> java.beans.PropertyChangeListener;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> java.util.Vector;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> javax.swing.AbstractAction;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> javax.swing.Action;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> javax.swing.BorderFactory;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> javax.swing.Box;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> javax.swing.BoxLayout;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> javax.swing.DefaultCellEditor;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">import</strong> javax.swing.DefaultComboBoxModel;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <strong class="jxr_keyword">import</strong> javax.swing.Icon;
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <strong class="jxr_keyword">import</strong> javax.swing.JButton;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">import</strong> javax.swing.JCheckBox;
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <strong class="jxr_keyword">import</strong> javax.swing.JColorChooser;
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <strong class="jxr_keyword">import</strong> javax.swing.JComboBox;
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">import</strong> javax.swing.JDialog;
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <strong class="jxr_keyword">import</strong> javax.swing.JLabel;
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> javax.swing.JList;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> javax.swing.JPanel;
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">import</strong> javax.swing.JScrollPane;
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  <strong class="jxr_keyword">import</strong> javax.swing.JTable;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  <strong class="jxr_keyword">import</strong> javax.swing.JTextField;
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  <strong class="jxr_keyword">import</strong> javax.swing.ListCellRenderer;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  <strong class="jxr_keyword">import</strong> javax.swing.ListSelectionModel;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  <strong class="jxr_keyword">import</strong> javax.swing.WindowConstants;
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  <strong class="jxr_keyword">import</strong> javax.swing.border.Border;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.ListSelectionEvent;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  <strong class="jxr_keyword">import</strong> javax.swing.event.ListSelectionListener;
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  <strong class="jxr_keyword">import</strong> javax.swing.table.DefaultTableModel;
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  <strong class="jxr_keyword">import</strong> javax.swing.table.TableCellRenderer;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.ApplicationPreferenceModel;
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.ChainsawConstants;
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.ExpressionRuleContext;
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.filter.FilterModel;
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.helper.SwingHelper;
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.chainsaw.icons.ChainsawIcons;
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.ColorRule;
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.ExpressionRule;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.rule.Rule;
<a class="jxr_linenumber" name="L77" href="#L77">77</a>  
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
<a class="jxr_linenumber" name="L79" href="#L79">79</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  <em class="jxr_javadoccomment"> * Panel which updates a RuleColorizer, allowing the user to build expression-based</em>
<a class="jxr_linenumber" name="L81" href="#L81">81</a>  <em class="jxr_javadoccomment"> * color rules.</em>
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  <em class="jxr_javadoccomment"> * </em>
<a class="jxr_linenumber" name="L83" href="#L83">83</a>  <em class="jxr_javadoccomment"> * TODO: examine ColorPanel/RuleColorizer/LogPanel listeners and interactions</em>
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L85" href="#L85">85</a>  <em class="jxr_javadoccomment"> * @author Scott Deboy &amp;lt;sdeboy@apache.org&amp;gt;</em>
<a class="jxr_linenumber" name="L86" href="#L86">86</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L87" href="#L87">87</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/chainsaw/LogPanel.html">ColorPanel</a> <strong class="jxr_keyword">extends</strong> JPanel
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  {
<a class="jxr_linenumber" name="L89" href="#L89">89</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_STATUS = <span class="jxr_string">"&lt;html&gt;Double click a rule field to edit the rule&lt;/html&gt;"</span>;
<a class="jxr_linenumber" name="L90" href="#L90">90</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String currentRuleSet = <span class="jxr_string">"Default"</span>;
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  
<a class="jxr_linenumber" name="L92" href="#L92">92</a>    <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> colorizer;
<a class="jxr_linenumber" name="L93" href="#L93">93</a>    <strong class="jxr_keyword">private</strong> JPanel rulesPanel;
<a class="jxr_linenumber" name="L94" href="#L94">94</a>    <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/chainsaw/filter/FilterModel.html">FilterModel</a> filterModel;
<a class="jxr_linenumber" name="L95" href="#L95">95</a>    <strong class="jxr_keyword">private</strong> DefaultTableModel tableModel;
<a class="jxr_linenumber" name="L96" href="#L96">96</a>    <strong class="jxr_keyword">private</strong> JScrollPane tableScrollPane;
<a class="jxr_linenumber" name="L97" href="#L97">97</a>    <strong class="jxr_keyword">private</strong> JTable table;
<a class="jxr_linenumber" name="L98" href="#L98">98</a>    <strong class="jxr_keyword">private</strong> ActionListener closeListener;
<a class="jxr_linenumber" name="L99" href="#L99">99</a>    <strong class="jxr_keyword">private</strong> JLabel statusBar;
<a class="jxr_linenumber" name="L100" href="#L100">100</a>   <strong class="jxr_keyword">private</strong> Vector columns;
<a class="jxr_linenumber" name="L101" href="#L101">101</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String noTab = <span class="jxr_string">"None"</span>;
<a class="jxr_linenumber" name="L102" href="#L102">102</a>   <strong class="jxr_keyword">private</strong> DefaultComboBoxModel logPanelColorizersModel;
<a class="jxr_linenumber" name="L103" href="#L103">103</a>   <strong class="jxr_keyword">private</strong> Map allLogPanelColorizers;
<a class="jxr_linenumber" name="L104" href="#L104">104</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> currentLogPanelColorizer;
<a class="jxr_linenumber" name="L105" href="#L105">105</a>   <strong class="jxr_keyword">private</strong> JTable searchTable;
<a class="jxr_linenumber" name="L106" href="#L106">106</a>   <strong class="jxr_keyword">private</strong> DefaultTableModel searchTableModel;
<a class="jxr_linenumber" name="L107" href="#L107">107</a>   <strong class="jxr_keyword">private</strong> Vector searchColumns;
<a class="jxr_linenumber" name="L108" href="#L108">108</a>   <strong class="jxr_keyword">private</strong> Vector searchDataVector;
<a class="jxr_linenumber" name="L109" href="#L109">109</a>   <strong class="jxr_keyword">private</strong> Vector searchDataVectorEntry;
<a class="jxr_linenumber" name="L110" href="#L110">110</a> 
<a class="jxr_linenumber" name="L111" href="#L111">111</a>   <strong class="jxr_keyword">private</strong> JTable alternatingColorTable;
<a class="jxr_linenumber" name="L112" href="#L112">112</a>   <strong class="jxr_keyword">private</strong> DefaultTableModel alternatingColorTableModel;
<a class="jxr_linenumber" name="L113" href="#L113">113</a>   <strong class="jxr_keyword">private</strong> Vector alternatingColorColumns;
<a class="jxr_linenumber" name="L114" href="#L114">114</a>   <strong class="jxr_keyword">private</strong> Vector alternatingColorDataVector;
<a class="jxr_linenumber" name="L115" href="#L115">115</a>   <strong class="jxr_keyword">private</strong> Vector alternatingColorDataVectorEntry;
<a class="jxr_linenumber" name="L116" href="#L116">116</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/chainsaw/ApplicationPreferenceModel.html">ApplicationPreferenceModel</a> applicationPreferenceModel;
<a class="jxr_linenumber" name="L117" href="#L117">117</a>   <strong class="jxr_keyword">private</strong> JCheckBox bypassSearchColorsCheckBox;
<a class="jxr_linenumber" name="L118" href="#L118">118</a> 
<a class="jxr_linenumber" name="L119" href="#L119">119</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/chainsaw/LogPanel.html">ColorPanel</a>(<strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> currentLogPanelColorizer, <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/log4j/chainsaw/filter/FilterModel.html">FilterModel</a> filterModel,
<a class="jxr_linenumber" name="L120" href="#L120">120</a>                       <strong class="jxr_keyword">final</strong> Map allLogPanelColorizers, <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/log4j/chainsaw/ApplicationPreferenceModel.html">ApplicationPreferenceModel</a> applicationPreferenceModel) {
<a class="jxr_linenumber" name="L121" href="#L121">121</a>     <strong class="jxr_keyword">super</strong>(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L122" href="#L122">122</a> 
<a class="jxr_linenumber" name="L123" href="#L123">123</a>     <strong class="jxr_keyword">this</strong>.currentLogPanelColorizer = currentLogPanelColorizer;
<a class="jxr_linenumber" name="L124" href="#L124">124</a>     <strong class="jxr_keyword">this</strong>.colorizer = currentLogPanelColorizer;
<a class="jxr_linenumber" name="L125" href="#L125">125</a>     <strong class="jxr_keyword">this</strong>.filterModel = filterModel;
<a class="jxr_linenumber" name="L126" href="#L126">126</a>     <strong class="jxr_keyword">this</strong>.allLogPanelColorizers = allLogPanelColorizers;
<a class="jxr_linenumber" name="L127" href="#L127">127</a>     <strong class="jxr_keyword">this</strong>.applicationPreferenceModel = applicationPreferenceModel;
<a class="jxr_linenumber" name="L128" href="#L128">128</a> 
<a class="jxr_linenumber" name="L129" href="#L129">129</a>     currentLogPanelColorizer.addPropertyChangeListener(
<a class="jxr_linenumber" name="L130" href="#L130">130</a>     	      <span class="jxr_string">"colorrule"</span>,
<a class="jxr_linenumber" name="L131" href="#L131">131</a>     	      <strong class="jxr_keyword">new</strong> PropertyChangeListener() {
<a class="jxr_linenumber" name="L132" href="#L132">132</a>     	        <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> propertyChange(PropertyChangeEvent evt) {
<a class="jxr_linenumber" name="L133" href="#L133">133</a>     	        	updateColors();
<a class="jxr_linenumber" name="L134" href="#L134">134</a>     	        }
<a class="jxr_linenumber" name="L135" href="#L135">135</a>     	      });
<a class="jxr_linenumber" name="L136" href="#L136">136</a> 
<a class="jxr_linenumber" name="L137" href="#L137">137</a>     tableModel = <strong class="jxr_keyword">new</strong> DefaultTableModel();
<a class="jxr_linenumber" name="L138" href="#L138">138</a>     table = <strong class="jxr_keyword">new</strong> JTable(tableModel);
<a class="jxr_linenumber" name="L139" href="#L139">139</a>     table.setRowHeight(ChainsawConstants.DEFAULT_ROW_HEIGHT);
<a class="jxr_linenumber" name="L140" href="#L140">140</a> 
<a class="jxr_linenumber" name="L141" href="#L141">141</a>     searchTableModel = <strong class="jxr_keyword">new</strong> DefaultTableModel();
<a class="jxr_linenumber" name="L142" href="#L142">142</a>     searchTable = <strong class="jxr_keyword">new</strong> JTable(searchTableModel);
<a class="jxr_linenumber" name="L143" href="#L143">143</a>     searchTable.setRowHeight(ChainsawConstants.DEFAULT_ROW_HEIGHT);
<a class="jxr_linenumber" name="L144" href="#L144">144</a>     searchTable.setPreferredScrollableViewportSize(<strong class="jxr_keyword">new</strong> Dimension(30, 30));
<a class="jxr_linenumber" name="L145" href="#L145">145</a> 
<a class="jxr_linenumber" name="L146" href="#L146">146</a>     alternatingColorTableModel = <strong class="jxr_keyword">new</strong> DefaultTableModel();
<a class="jxr_linenumber" name="L147" href="#L147">147</a>     alternatingColorTable = <strong class="jxr_keyword">new</strong> JTable(alternatingColorTableModel);
<a class="jxr_linenumber" name="L148" href="#L148">148</a>     alternatingColorTable.setRowHeight(ChainsawConstants.DEFAULT_ROW_HEIGHT);
<a class="jxr_linenumber" name="L149" href="#L149">149</a>     alternatingColorTable.setPreferredScrollableViewportSize(<strong class="jxr_keyword">new</strong> Dimension(30, 30));
<a class="jxr_linenumber" name="L150" href="#L150">150</a> 
<a class="jxr_linenumber" name="L151" href="#L151">151</a>     columns = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L152" href="#L152">152</a>     columns.add(<span class="jxr_string">"Expression"</span>);
<a class="jxr_linenumber" name="L153" href="#L153">153</a>     columns.add(<span class="jxr_string">"Background"</span>);
<a class="jxr_linenumber" name="L154" href="#L154">154</a>     columns.add(<span class="jxr_string">"Foreground"</span>);
<a class="jxr_linenumber" name="L155" href="#L155">155</a> 
<a class="jxr_linenumber" name="L156" href="#L156">156</a>     searchColumns = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L157" href="#L157">157</a>     searchColumns.add(<span class="jxr_string">"Background"</span>);
<a class="jxr_linenumber" name="L158" href="#L158">158</a>     searchColumns.add(<span class="jxr_string">"Foreground"</span>);
<a class="jxr_linenumber" name="L159" href="#L159">159</a> 
<a class="jxr_linenumber" name="L160" href="#L160">160</a>     alternatingColorColumns = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L161" href="#L161">161</a>     alternatingColorColumns.add(<span class="jxr_string">"Background"</span>);
<a class="jxr_linenumber" name="L162" href="#L162">162</a>     alternatingColorColumns.add(<span class="jxr_string">"Foreground"</span>);
<a class="jxr_linenumber" name="L163" href="#L163">163</a> 
<a class="jxr_linenumber" name="L164" href="#L164">164</a>     <em class="jxr_comment">//searchtable contains only a single-entry vector containing a two-item vector (foreground, background)</em>
<a class="jxr_linenumber" name="L165" href="#L165">165</a>     searchDataVector = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L166" href="#L166">166</a>     searchDataVectorEntry = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L167" href="#L167">167</a>     searchDataVectorEntry.add(applicationPreferenceModel.getSearchBackgroundColor());
<a class="jxr_linenumber" name="L168" href="#L168">168</a>     searchDataVectorEntry.add(applicationPreferenceModel.getSearchForegroundColor());
<a class="jxr_linenumber" name="L169" href="#L169">169</a>     searchDataVector.add(searchDataVectorEntry);
<a class="jxr_linenumber" name="L170" href="#L170">170</a>     searchTableModel.setDataVector(searchDataVector, searchColumns);
<a class="jxr_linenumber" name="L171" href="#L171">171</a> 
<a class="jxr_linenumber" name="L172" href="#L172">172</a>     alternatingColorDataVector = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L173" href="#L173">173</a>     alternatingColorDataVectorEntry = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L174" href="#L174">174</a>     alternatingColorDataVectorEntry.add(applicationPreferenceModel.getAlternatingColorBackgroundColor());
<a class="jxr_linenumber" name="L175" href="#L175">175</a>     alternatingColorDataVectorEntry.add(applicationPreferenceModel.getAlternatingColorForegroundColor());
<a class="jxr_linenumber" name="L176" href="#L176">176</a>     alternatingColorDataVector.add(alternatingColorDataVectorEntry);
<a class="jxr_linenumber" name="L177" href="#L177">177</a>     alternatingColorTableModel.setDataVector(alternatingColorDataVector, alternatingColorColumns);
<a class="jxr_linenumber" name="L178" href="#L178">178</a> 
<a class="jxr_linenumber" name="L179" href="#L179">179</a>     table.setPreferredScrollableViewportSize(<strong class="jxr_keyword">new</strong> Dimension(525, 200));
<a class="jxr_linenumber" name="L180" href="#L180">180</a>     tableScrollPane = <strong class="jxr_keyword">new</strong> JScrollPane(table);
<a class="jxr_linenumber" name="L181" href="#L181">181</a> 
<a class="jxr_linenumber" name="L182" href="#L182">182</a>     Vector data = getColorizerVector();
<a class="jxr_linenumber" name="L183" href="#L183">183</a>     tableModel.setDataVector(data, columns);
<a class="jxr_linenumber" name="L184" href="#L184">184</a> 
<a class="jxr_linenumber" name="L185" href="#L185">185</a>     table.sizeColumnsToFit(0);
<a class="jxr_linenumber" name="L186" href="#L186">186</a>     table.getColumnModel().getColumn(1).setPreferredWidth(80);
<a class="jxr_linenumber" name="L187" href="#L187">187</a>     table.getColumnModel().getColumn(2).setPreferredWidth(80);
<a class="jxr_linenumber" name="L188" href="#L188">188</a>     table.getColumnModel().getColumn(1).setMaxWidth(80);
<a class="jxr_linenumber" name="L189" href="#L189">189</a>     table.getColumnModel().getColumn(2).setMaxWidth(80);
<a class="jxr_linenumber" name="L190" href="#L190">190</a> 
<a class="jxr_linenumber" name="L191" href="#L191">191</a>     searchTable.sizeColumnsToFit(0);
<a class="jxr_linenumber" name="L192" href="#L192">192</a>     searchTable.getColumnModel().getColumn(0).setPreferredWidth(80);
<a class="jxr_linenumber" name="L193" href="#L193">193</a>     searchTable.getColumnModel().getColumn(1).setPreferredWidth(80);
<a class="jxr_linenumber" name="L194" href="#L194">194</a>     searchTable.getColumnModel().getColumn(0).setMaxWidth(80);
<a class="jxr_linenumber" name="L195" href="#L195">195</a>     searchTable.getColumnModel().getColumn(1).setMaxWidth(80);
<a class="jxr_linenumber" name="L196" href="#L196">196</a>     <em class="jxr_comment">//building color choosers needs to be done on the EDT</em>
<a class="jxr_linenumber" name="L197" href="#L197">197</a>     SwingHelper.invokeOnEDT(<strong class="jxr_keyword">new</strong> Runnable() {
<a class="jxr_linenumber" name="L198" href="#L198">198</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a class="jxr_linenumber" name="L199" href="#L199">199</a>         configureSingleEntryColorTable(searchTable);
<a class="jxr_linenumber" name="L200" href="#L200">200</a>       }
<a class="jxr_linenumber" name="L201" href="#L201">201</a>     });
<a class="jxr_linenumber" name="L202" href="#L202">202</a> 
<a class="jxr_linenumber" name="L203" href="#L203">203</a>     alternatingColorTable.sizeColumnsToFit(0);
<a class="jxr_linenumber" name="L204" href="#L204">204</a>     alternatingColorTable.getColumnModel().getColumn(0).setPreferredWidth(80);
<a class="jxr_linenumber" name="L205" href="#L205">205</a>     alternatingColorTable.getColumnModel().getColumn(1).setPreferredWidth(80);
<a class="jxr_linenumber" name="L206" href="#L206">206</a>     alternatingColorTable.getColumnModel().getColumn(0).setMaxWidth(80);
<a class="jxr_linenumber" name="L207" href="#L207">207</a>     alternatingColorTable.getColumnModel().getColumn(1).setMaxWidth(80);
<a class="jxr_linenumber" name="L208" href="#L208">208</a>     <em class="jxr_comment">//building color choosers needs to be done on the EDT</em>
<a class="jxr_linenumber" name="L209" href="#L209">209</a>     SwingHelper.invokeOnEDT(<strong class="jxr_keyword">new</strong> Runnable() {
<a class="jxr_linenumber" name="L210" href="#L210">210</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a class="jxr_linenumber" name="L211" href="#L211">211</a>         configureSingleEntryColorTable(alternatingColorTable);
<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> 
<a class="jxr_linenumber" name="L215" href="#L215">215</a>     configureTable();
<a class="jxr_linenumber" name="L216" href="#L216">216</a> 
<a class="jxr_linenumber" name="L217" href="#L217">217</a>     statusBar = <strong class="jxr_keyword">new</strong> JLabel(DEFAULT_STATUS);
<a class="jxr_linenumber" name="L218" href="#L218">218</a> 
<a class="jxr_linenumber" name="L219" href="#L219">219</a>     rulesPanel = buildRulesPanel();
<a class="jxr_linenumber" name="L220" href="#L220">220</a>     rulesPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
<a class="jxr_linenumber" name="L221" href="#L221">221</a> 
<a class="jxr_linenumber" name="L222" href="#L222">222</a>     JPanel rightPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L223" href="#L223">223</a> 
<a class="jxr_linenumber" name="L224" href="#L224">224</a>     JPanel rightOuterPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L225" href="#L225">225</a>     rightOuterPanel.setLayout(
<a class="jxr_linenumber" name="L226" href="#L226">226</a>       <strong class="jxr_keyword">new</strong> BoxLayout(rightOuterPanel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L227" href="#L227">227</a>     rightOuterPanel.add(Box.createHorizontalStrut(10));
<a class="jxr_linenumber" name="L228" href="#L228">228</a> 
<a class="jxr_linenumber" name="L229" href="#L229">229</a>     JPanel southPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L230" href="#L230">230</a>     southPanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(southPanel, BoxLayout.Y_AXIS));
<a class="jxr_linenumber" name="L231" href="#L231">231</a>     southPanel.add(Box.createVerticalStrut(5));
<a class="jxr_linenumber" name="L232" href="#L232">232</a>     southPanel.add(Box.createVerticalStrut(5));
<a class="jxr_linenumber" name="L233" href="#L233">233</a>     JPanel searchAndAlternatingColorPanel = buildSearchAndAlternatingColorPanel();
<a class="jxr_linenumber" name="L234" href="#L234">234</a>     JPanel bypassSearchColorsPanel = buildBypassSearchColorsPanel();
<a class="jxr_linenumber" name="L235" href="#L235">235</a>     bypassSearchColorsCheckBox.setSelected(applicationPreferenceModel.isBypassSearchColors());
<a class="jxr_linenumber" name="L236" href="#L236">236</a> 
<a class="jxr_linenumber" name="L237" href="#L237">237</a>     JPanel globalLabelPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L238" href="#L238">238</a>     globalLabelPanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(globalLabelPanel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L239" href="#L239">239</a>     JLabel globalLabel = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Global colors:"</span>);
<a class="jxr_linenumber" name="L240" href="#L240">240</a>     globalLabelPanel.add(globalLabel);
<a class="jxr_linenumber" name="L241" href="#L241">241</a>     globalLabelPanel.add(Box.createHorizontalGlue());
<a class="jxr_linenumber" name="L242" href="#L242">242</a>     southPanel.add(globalLabelPanel);
<a class="jxr_linenumber" name="L243" href="#L243">243</a>     southPanel.add(searchAndAlternatingColorPanel);
<a class="jxr_linenumber" name="L244" href="#L244">244</a>     southPanel.add(bypassSearchColorsPanel);
<a class="jxr_linenumber" name="L245" href="#L245">245</a>     southPanel.add(Box.createVerticalStrut(5));
<a class="jxr_linenumber" name="L246" href="#L246">246</a>     JPanel closePanel = buildClosePanel();
<a class="jxr_linenumber" name="L247" href="#L247">247</a>     southPanel.add(closePanel);
<a class="jxr_linenumber" name="L248" href="#L248">248</a> 
<a class="jxr_linenumber" name="L249" href="#L249">249</a>     JPanel statusPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> FlowLayout(FlowLayout.LEFT));
<a class="jxr_linenumber" name="L250" href="#L250">250</a>     statusPanel.add(statusBar);
<a class="jxr_linenumber" name="L251" href="#L251">251</a>     southPanel.add(statusPanel);
<a class="jxr_linenumber" name="L252" href="#L252">252</a>     rightPanel.add(rulesPanel, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L253" href="#L253">253</a>     rightPanel.add(southPanel, BorderLayout.SOUTH);
<a class="jxr_linenumber" name="L254" href="#L254">254</a>     rightOuterPanel.add(rightPanel);
<a class="jxr_linenumber" name="L255" href="#L255">255</a> 
<a class="jxr_linenumber" name="L256" href="#L256">256</a>     JPanel topPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L257" href="#L257">257</a>     topPanel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(topPanel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L258" href="#L258">258</a> 
<a class="jxr_linenumber" name="L259" href="#L259">259</a>     JLabel selectText = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Apply a tab's colors"</span>);
<a class="jxr_linenumber" name="L260" href="#L260">260</a>     topPanel.add(selectText);
<a class="jxr_linenumber" name="L261" href="#L261">261</a>     topPanel.add(Box.createHorizontalStrut(5));
<a class="jxr_linenumber" name="L262" href="#L262">262</a> 
<a class="jxr_linenumber" name="L263" href="#L263">263</a>     logPanelColorizersModel = <strong class="jxr_keyword">new</strong> DefaultComboBoxModel();
<a class="jxr_linenumber" name="L264" href="#L264">264</a>     <strong class="jxr_keyword">final</strong> JComboBox loadPanelColorizersComboBox = <strong class="jxr_keyword">new</strong> JComboBox(logPanelColorizersModel);
<a class="jxr_linenumber" name="L265" href="#L265">265</a>     loadLogPanelColorizers();
<a class="jxr_linenumber" name="L266" href="#L266">266</a> 
<a class="jxr_linenumber" name="L267" href="#L267">267</a>     topPanel.add(loadPanelColorizersComboBox);
<a class="jxr_linenumber" name="L268" href="#L268">268</a> 
<a class="jxr_linenumber" name="L269" href="#L269">269</a>     topPanel.add(Box.createHorizontalStrut(5));
<a class="jxr_linenumber" name="L270" href="#L270">270</a>     <strong class="jxr_keyword">final</strong> Action copyRulesAction = <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L271" href="#L271">271</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e)
<a class="jxr_linenumber" name="L272" href="#L272">272</a>           {
<a class="jxr_linenumber" name="L273" href="#L273">273</a>               tableModel.getDataVector().clear();
<a class="jxr_linenumber" name="L274" href="#L274">274</a>               Object selectedItem = loadPanelColorizersComboBox.getSelectedItem();
<a class="jxr_linenumber" name="L275" href="#L275">275</a>               <strong class="jxr_keyword">if</strong> (selectedItem != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L276" href="#L276">276</a>                 <a href="../../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> sourceColorizer = (RuleColorizer) allLogPanelColorizers.get(selectedItem.toString());
<a class="jxr_linenumber" name="L277" href="#L277">277</a>                 colorizer.setRules(sourceColorizer.getRules());
<a class="jxr_linenumber" name="L278" href="#L278">278</a>                 updateColors();
<a class="jxr_linenumber" name="L279" href="#L279">279</a>               }
<a class="jxr_linenumber" name="L280" href="#L280">280</a>           }
<a class="jxr_linenumber" name="L281" href="#L281">281</a>       };
<a class="jxr_linenumber" name="L282" href="#L282">282</a>         
<a class="jxr_linenumber" name="L283" href="#L283">283</a>       loadPanelColorizersComboBox.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() {
<a class="jxr_linenumber" name="L284" href="#L284">284</a>           <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a class="jxr_linenumber" name="L285" href="#L285">285</a>               Object selectedItem = loadPanelColorizersComboBox.getSelectedItem();
<a class="jxr_linenumber" name="L286" href="#L286">286</a>               <strong class="jxr_keyword">if</strong> (selectedItem != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L287" href="#L287">287</a>                 String selectedColorizerName = selectedItem.toString();
<a class="jxr_linenumber" name="L288" href="#L288">288</a>                 copyRulesAction.setEnabled(!(noTab.equals(selectedColorizerName)));
<a class="jxr_linenumber" name="L289" href="#L289">289</a>               }
<a class="jxr_linenumber" name="L290" href="#L290">290</a>           }
<a class="jxr_linenumber" name="L291" href="#L291">291</a>       });
<a class="jxr_linenumber" name="L292" href="#L292">292</a> 
<a class="jxr_linenumber" name="L293" href="#L293">293</a>     copyRulesAction.putValue(Action.NAME, <span class="jxr_string">"Copy color rules"</span>);
<a class="jxr_linenumber" name="L294" href="#L294">294</a>     copyRulesAction.setEnabled(!(noTab.equals(loadPanelColorizersComboBox.getSelectedItem())));
<a class="jxr_linenumber" name="L295" href="#L295">295</a> 
<a class="jxr_linenumber" name="L296" href="#L296">296</a>     JButton copyRulesButton = <strong class="jxr_keyword">new</strong> JButton(copyRulesAction);
<a class="jxr_linenumber" name="L297" href="#L297">297</a>     topPanel.add(copyRulesButton);
<a class="jxr_linenumber" name="L298" href="#L298">298</a> 
<a class="jxr_linenumber" name="L299" href="#L299">299</a>     add(topPanel, BorderLayout.NORTH);
<a class="jxr_linenumber" name="L300" href="#L300">300</a>     add(rightOuterPanel, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L301" href="#L301">301</a>     <strong class="jxr_keyword">if</strong> (table.getRowCount() &gt; 0) {
<a class="jxr_linenumber" name="L302" href="#L302">302</a>         table.getSelectionModel().setSelectionInterval(0, 0);
<a class="jxr_linenumber" name="L303" href="#L303">303</a>     }
<a class="jxr_linenumber" name="L304" href="#L304">304</a>   }
<a class="jxr_linenumber" name="L305" href="#L305">305</a> 
<a class="jxr_linenumber" name="L306" href="#L306">306</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loadLogPanelColorizers() {
<a class="jxr_linenumber" name="L307" href="#L307">307</a>       <strong class="jxr_keyword">if</strong> (logPanelColorizersModel.getIndexOf(noTab) == -1) {
<a class="jxr_linenumber" name="L308" href="#L308">308</a>         logPanelColorizersModel.addElement(noTab);
<a class="jxr_linenumber" name="L309" href="#L309">309</a>       }
<a class="jxr_linenumber" name="L310" href="#L310">310</a>       <strong class="jxr_keyword">for</strong> (Iterator iter = allLogPanelColorizers.entrySet().iterator();iter.hasNext();) {
<a class="jxr_linenumber" name="L311" href="#L311">311</a>           Map.Entry entry = (Map.Entry)iter.next();
<a class="jxr_linenumber" name="L312" href="#L312">312</a>           <strong class="jxr_keyword">if</strong> (!entry.getValue().equals(currentLogPanelColorizer) &amp;&amp; (logPanelColorizersModel.getIndexOf(entry.getKey()) == -1)) {
<a class="jxr_linenumber" name="L313" href="#L313">313</a>               logPanelColorizersModel.addElement(entry.getKey());
<a class="jxr_linenumber" name="L314" href="#L314">314</a>           }
<a class="jxr_linenumber" name="L315" href="#L315">315</a>       }
<a class="jxr_linenumber" name="L316" href="#L316">316</a>       <em class="jxr_comment">//update search and alternating colors, since they may have changed from another color panel</em>
<a class="jxr_linenumber" name="L317" href="#L317">317</a>       searchDataVectorEntry.set(0, applicationPreferenceModel.getSearchBackgroundColor());
<a class="jxr_linenumber" name="L318" href="#L318">318</a>       searchDataVectorEntry.set(1, applicationPreferenceModel.getSearchForegroundColor());
<a class="jxr_linenumber" name="L319" href="#L319">319</a>       alternatingColorDataVectorEntry.set(0, applicationPreferenceModel.getAlternatingColorBackgroundColor());
<a class="jxr_linenumber" name="L320" href="#L320">320</a>       alternatingColorDataVectorEntry.set(1, applicationPreferenceModel.getAlternatingColorForegroundColor());
<a class="jxr_linenumber" name="L321" href="#L321">321</a>   }
<a class="jxr_linenumber" name="L322" href="#L322">322</a> 
<a class="jxr_linenumber" name="L323" href="#L323">323</a>   <strong class="jxr_keyword">public</strong> JPanel buildBypassSearchColorsPanel() {
<a class="jxr_linenumber" name="L324" href="#L324">324</a>     JPanel panel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L325" href="#L325">325</a>     panel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(panel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L326" href="#L326">326</a> 
<a class="jxr_linenumber" name="L327" href="#L327">327</a>     bypassSearchColorsCheckBox = <strong class="jxr_keyword">new</strong> JCheckBox(<span class="jxr_string">"Don't use a search color for matching rows"</span>);
<a class="jxr_linenumber" name="L328" href="#L328">328</a>     panel.add(bypassSearchColorsCheckBox);
<a class="jxr_linenumber" name="L329" href="#L329">329</a>     <strong class="jxr_keyword">return</strong> panel;
<a class="jxr_linenumber" name="L330" href="#L330">330</a>   }
<a class="jxr_linenumber" name="L331" href="#L331">331</a> 
<a class="jxr_linenumber" name="L332" href="#L332">332</a>   <strong class="jxr_keyword">public</strong> JPanel buildSearchAndAlternatingColorPanel() {
<a class="jxr_linenumber" name="L333" href="#L333">333</a>       JPanel panel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L334" href="#L334">334</a>       panel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(panel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L335" href="#L335">335</a> 
<a class="jxr_linenumber" name="L336" href="#L336">336</a>       JLabel defineSearchColorsLabel = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Find colors"</span>);
<a class="jxr_linenumber" name="L337" href="#L337">337</a> 
<a class="jxr_linenumber" name="L338" href="#L338">338</a>       panel.add(defineSearchColorsLabel);
<a class="jxr_linenumber" name="L339" href="#L339">339</a> 
<a class="jxr_linenumber" name="L340" href="#L340">340</a>       panel.add(Box.createHorizontalStrut(10));
<a class="jxr_linenumber" name="L341" href="#L341">341</a>       JScrollPane searchPane = <strong class="jxr_keyword">new</strong> JScrollPane(searchTable);
<a class="jxr_linenumber" name="L342" href="#L342">342</a>       searchPane.setBorder(BorderFactory.createEmptyBorder());
<a class="jxr_linenumber" name="L343" href="#L343">343</a>       panel.add(searchPane);
<a class="jxr_linenumber" name="L344" href="#L344">344</a> 
<a class="jxr_linenumber" name="L345" href="#L345">345</a>       panel.add(Box.createHorizontalStrut(10));
<a class="jxr_linenumber" name="L346" href="#L346">346</a>       JLabel defineAlternatingColorLabel = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Alternating colors"</span>);
<a class="jxr_linenumber" name="L347" href="#L347">347</a> 
<a class="jxr_linenumber" name="L348" href="#L348">348</a>       panel.add(defineAlternatingColorLabel);
<a class="jxr_linenumber" name="L349" href="#L349">349</a> 
<a class="jxr_linenumber" name="L350" href="#L350">350</a>       panel.add(Box.createHorizontalStrut(10));
<a class="jxr_linenumber" name="L351" href="#L351">351</a>       JScrollPane alternatingColorPane = <strong class="jxr_keyword">new</strong> JScrollPane(alternatingColorTable);
<a class="jxr_linenumber" name="L352" href="#L352">352</a>       alternatingColorPane.setBorder(BorderFactory.createEmptyBorder());
<a class="jxr_linenumber" name="L353" href="#L353">353</a> 
<a class="jxr_linenumber" name="L354" href="#L354">354</a>       panel.add(alternatingColorPane);
<a class="jxr_linenumber" name="L355" href="#L355">355</a>       panel.setBorder(BorderFactory.createEtchedBorder());
<a class="jxr_linenumber" name="L356" href="#L356">356</a>       panel.add(Box.createHorizontalGlue());
<a class="jxr_linenumber" name="L357" href="#L357">357</a>       <strong class="jxr_keyword">return</strong> panel;
<a class="jxr_linenumber" name="L358" href="#L358">358</a>   }
<a class="jxr_linenumber" name="L359" href="#L359">359</a> 
<a class="jxr_linenumber" name="L360" href="#L360">360</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateColors() {
<a class="jxr_linenumber" name="L361" href="#L361">361</a>     tableModel.getDataVector().clear();
<a class="jxr_linenumber" name="L362" href="#L362">362</a>     tableModel.getDataVector().addAll(getColorizerVector());
<a class="jxr_linenumber" name="L363" href="#L363">363</a>     tableModel.fireTableDataChanged();
<a class="jxr_linenumber" name="L364" href="#L364">364</a>   }
<a class="jxr_linenumber" name="L365" href="#L365">365</a>   
<a class="jxr_linenumber" name="L366" href="#L366">366</a>   <strong class="jxr_keyword">private</strong> Vector getColorizerVector() {
<a class="jxr_linenumber" name="L367" href="#L367">367</a>       Vector data = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L368" href="#L368">368</a>       Map map = colorizer.getRules();
<a class="jxr_linenumber" name="L369" href="#L369">369</a>       Iterator iter = map.entrySet().iterator();
<a class="jxr_linenumber" name="L370" href="#L370">370</a>       <strong class="jxr_keyword">while</strong> (iter.hasNext()) {
<a class="jxr_linenumber" name="L371" href="#L371">371</a>         Map.Entry entry = (Map.Entry)iter.next();
<a class="jxr_linenumber" name="L372" href="#L372">372</a>         <em class="jxr_comment">//update ruleset list</em>
<a class="jxr_linenumber" name="L373" href="#L373">373</a>         <strong class="jxr_keyword">if</strong> (entry.getKey().equals(currentRuleSet)) {
<a class="jxr_linenumber" name="L374" href="#L374">374</a>             Iterator iter2 = ((List)entry.getValue()).iterator();
<a class="jxr_linenumber" name="L375" href="#L375">375</a> 
<a class="jxr_linenumber" name="L376" href="#L376">376</a>             <strong class="jxr_keyword">while</strong> (iter2.hasNext()) {
<a class="jxr_linenumber" name="L377" href="#L377">377</a>                 ColorRule rule = (ColorRule)iter2.next();
<a class="jxr_linenumber" name="L378" href="#L378">378</a>                 Vector v = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L379" href="#L379">379</a>                 v.add(rule.getExpression());
<a class="jxr_linenumber" name="L380" href="#L380">380</a>                 v.add(rule.getBackgroundColor());
<a class="jxr_linenumber" name="L381" href="#L381">381</a>                 v.add(rule.getForegroundColor());
<a class="jxr_linenumber" name="L382" href="#L382">382</a>                 data.add(v);
<a class="jxr_linenumber" name="L383" href="#L383">383</a>             }
<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>       <strong class="jxr_keyword">return</strong> data;
<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>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> configureTable() {
<a class="jxr_linenumber" name="L390" href="#L390">390</a>     table.setToolTipText(<span class="jxr_string">"Double click to edit"</span>);
<a class="jxr_linenumber" name="L391" href="#L391">391</a>     table.setRowHeight(20);
<a class="jxr_linenumber" name="L392" href="#L392">392</a>     table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
<a class="jxr_linenumber" name="L393" href="#L393">393</a>     table.setColumnSelectionAllowed(false);
<a class="jxr_linenumber" name="L394" href="#L394">394</a> 
<a class="jxr_linenumber" name="L395" href="#L395">395</a>     Vector backgroundColors = colorizer.getDefaultColors();
<a class="jxr_linenumber" name="L396" href="#L396">396</a>     Vector foregroundColors = colorizer.getDefaultColors();
<a class="jxr_linenumber" name="L397" href="#L397">397</a>     backgroundColors.add(<span class="jxr_string">"Browse..."</span>);
<a class="jxr_linenumber" name="L398" href="#L398">398</a>     foregroundColors.add(<span class="jxr_string">"Browse..."</span>);
<a class="jxr_linenumber" name="L399" href="#L399">399</a> 
<a class="jxr_linenumber" name="L400" href="#L400">400</a>     JComboBox background = <strong class="jxr_keyword">new</strong> JComboBox(backgroundColors);
<a class="jxr_linenumber" name="L401" href="#L401">401</a>     background.setMaximumRowCount(15);
<a class="jxr_linenumber" name="L402" href="#L402">402</a>     background.setRenderer(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorListCellRenderer</a>());
<a class="jxr_linenumber" name="L403" href="#L403">403</a> 
<a class="jxr_linenumber" name="L404" href="#L404">404</a>     JComboBox foreground = <strong class="jxr_keyword">new</strong> JComboBox(foregroundColors);
<a class="jxr_linenumber" name="L405" href="#L405">405</a>     foreground.setMaximumRowCount(15);
<a class="jxr_linenumber" name="L406" href="#L406">406</a>     foreground.setRenderer(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorListCellRenderer</a>());
<a class="jxr_linenumber" name="L407" href="#L407">407</a> 
<a class="jxr_linenumber" name="L408" href="#L408">408</a>     DefaultCellEditor backgroundEditor = <strong class="jxr_keyword">new</strong> DefaultCellEditor(background);
<a class="jxr_linenumber" name="L409" href="#L409">409</a>     DefaultCellEditor foregroundEditor = <strong class="jxr_keyword">new</strong> DefaultCellEditor(foreground);
<a class="jxr_linenumber" name="L410" href="#L410">410</a>     JTextField textField = <strong class="jxr_keyword">new</strong> JTextField();
<a class="jxr_linenumber" name="L411" href="#L411">411</a>     textField.addKeyListener(
<a class="jxr_linenumber" name="L412" href="#L412">412</a>       <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/ExpressionRuleContext.html">ExpressionRuleContext</a>(filterModel, textField));
<a class="jxr_linenumber" name="L413" href="#L413">413</a>     table.getColumnModel().getColumn(0).setCellEditor(
<a class="jxr_linenumber" name="L414" href="#L414">414</a>       <strong class="jxr_keyword">new</strong> DefaultCellEditor(textField));
<a class="jxr_linenumber" name="L415" href="#L415">415</a>     table.getColumnModel().getColumn(1).setCellEditor(backgroundEditor);
<a class="jxr_linenumber" name="L416" href="#L416">416</a>     table.getColumnModel().getColumn(2).setCellEditor(foregroundEditor);
<a class="jxr_linenumber" name="L417" href="#L417">417</a> 
<a class="jxr_linenumber" name="L418" href="#L418">418</a>     background.addItemListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorItemListener</a>(background));
<a class="jxr_linenumber" name="L419" href="#L419">419</a>     foreground.addItemListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorItemListener</a>(foreground));
<a class="jxr_linenumber" name="L420" href="#L420">420</a> 
<a class="jxr_linenumber" name="L421" href="#L421">421</a>     table.getColumnModel().getColumn(0).setCellRenderer(
<a class="jxr_linenumber" name="L422" href="#L422">422</a>       <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ExpressionTableCellRenderer</a>());
<a class="jxr_linenumber" name="L423" href="#L423">423</a>     table.getColumnModel().getColumn(1).setCellRenderer(
<a class="jxr_linenumber" name="L424" href="#L424">424</a>       <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorTableCellRenderer</a>());
<a class="jxr_linenumber" name="L425" href="#L425">425</a>     table.getColumnModel().getColumn(2).setCellRenderer(
<a class="jxr_linenumber" name="L426" href="#L426">426</a>       <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorTableCellRenderer</a>());
<a class="jxr_linenumber" name="L427" href="#L427">427</a>   }
<a class="jxr_linenumber" name="L428" href="#L428">428</a> 
<a class="jxr_linenumber" name="L429" href="#L429">429</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> configureSingleEntryColorTable(JTable thisTable) {
<a class="jxr_linenumber" name="L430" href="#L430">430</a>       thisTable.setToolTipText(<span class="jxr_string">"Double click to edit"</span>);
<a class="jxr_linenumber" name="L431" href="#L431">431</a>       thisTable.setRowHeight(20);
<a class="jxr_linenumber" name="L432" href="#L432">432</a>       thisTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
<a class="jxr_linenumber" name="L433" href="#L433">433</a>       thisTable.setColumnSelectionAllowed(false);
<a class="jxr_linenumber" name="L434" href="#L434">434</a> 
<a class="jxr_linenumber" name="L435" href="#L435">435</a>       Vector backgroundColors = colorizer.getDefaultColors();
<a class="jxr_linenumber" name="L436" href="#L436">436</a>       Vector foregroundColors = colorizer.getDefaultColors();
<a class="jxr_linenumber" name="L437" href="#L437">437</a>       backgroundColors.add(<span class="jxr_string">"Browse..."</span>);
<a class="jxr_linenumber" name="L438" href="#L438">438</a>       foregroundColors.add(<span class="jxr_string">"Browse..."</span>);
<a class="jxr_linenumber" name="L439" href="#L439">439</a> 
<a class="jxr_linenumber" name="L440" href="#L440">440</a>       JComboBox background = <strong class="jxr_keyword">new</strong> JComboBox(backgroundColors);
<a class="jxr_linenumber" name="L441" href="#L441">441</a>       background.setMaximumRowCount(15);
<a class="jxr_linenumber" name="L442" href="#L442">442</a>       background.setRenderer(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorListCellRenderer</a>());
<a class="jxr_linenumber" name="L443" href="#L443">443</a> 
<a class="jxr_linenumber" name="L444" href="#L444">444</a>       JComboBox foreground = <strong class="jxr_keyword">new</strong> JComboBox(foregroundColors);
<a class="jxr_linenumber" name="L445" href="#L445">445</a>       foreground.setMaximumRowCount(15);
<a class="jxr_linenumber" name="L446" href="#L446">446</a>       foreground.setRenderer(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorListCellRenderer</a>());
<a class="jxr_linenumber" name="L447" href="#L447">447</a> 
<a class="jxr_linenumber" name="L448" href="#L448">448</a>       DefaultCellEditor backgroundEditor = <strong class="jxr_keyword">new</strong> DefaultCellEditor(background);
<a class="jxr_linenumber" name="L449" href="#L449">449</a>       DefaultCellEditor foregroundEditor = <strong class="jxr_keyword">new</strong> DefaultCellEditor(foreground);
<a class="jxr_linenumber" name="L450" href="#L450">450</a>       thisTable.getColumnModel().getColumn(0).setCellEditor(backgroundEditor);
<a class="jxr_linenumber" name="L451" href="#L451">451</a>       thisTable.getColumnModel().getColumn(1).setCellEditor(foregroundEditor);
<a class="jxr_linenumber" name="L452" href="#L452">452</a> 
<a class="jxr_linenumber" name="L453" href="#L453">453</a>       background.addItemListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorItemListener</a>(background));
<a class="jxr_linenumber" name="L454" href="#L454">454</a>       foreground.addItemListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorItemListener</a>(foreground));
<a class="jxr_linenumber" name="L455" href="#L455">455</a> 
<a class="jxr_linenumber" name="L456" href="#L456">456</a>       thisTable.getColumnModel().getColumn(0).setCellRenderer(
<a class="jxr_linenumber" name="L457" href="#L457">457</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorTableCellRenderer</a>());
<a class="jxr_linenumber" name="L458" href="#L458">458</a>       thisTable.getColumnModel().getColumn(1).setCellRenderer(
<a class="jxr_linenumber" name="L459" href="#L459">459</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorTableCellRenderer</a>());
<a class="jxr_linenumber" name="L460" href="#L460">460</a>   }
<a class="jxr_linenumber" name="L461" href="#L461">461</a> 
<a class="jxr_linenumber" name="L462" href="#L462">462</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCloseActionListener(ActionListener listener) {
<a class="jxr_linenumber" name="L463" href="#L463">463</a>     closeListener = listener;
<a class="jxr_linenumber" name="L464" href="#L464">464</a>   }
<a class="jxr_linenumber" name="L465" href="#L465">465</a> 
<a class="jxr_linenumber" name="L466" href="#L466">466</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> hidePanel() {
<a class="jxr_linenumber" name="L467" href="#L467">467</a>     <strong class="jxr_keyword">if</strong> (closeListener != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L468" href="#L468">468</a>       closeListener.actionPerformed(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L469" href="#L469">469</a>     }
<a class="jxr_linenumber" name="L470" href="#L470">470</a>   }
<a class="jxr_linenumber" name="L471" href="#L471">471</a> 
<a class="jxr_linenumber" name="L472" href="#L472">472</a>   <strong class="jxr_keyword">void</strong> applyRules(String ruleSet, <a href="../../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> applyingColorizer) {
<a class="jxr_linenumber" name="L473" href="#L473">473</a>     table.getColumnModel().getColumn(0).getCellEditor().stopCellEditing();
<a class="jxr_linenumber" name="L474" href="#L474">474</a> 
<a class="jxr_linenumber" name="L475" href="#L475">475</a>     List list = <strong class="jxr_keyword">new</strong> ArrayList();
<a class="jxr_linenumber" name="L476" href="#L476">476</a>     Vector vector = tableModel.getDataVector();
<a class="jxr_linenumber" name="L477" href="#L477">477</a>     StringBuffer result = <strong class="jxr_keyword">new</strong> StringBuffer();
<a class="jxr_linenumber" name="L478" href="#L478">478</a> 
<a class="jxr_linenumber" name="L479" href="#L479">479</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; vector.size(); i++) {
<a class="jxr_linenumber" name="L480" href="#L480">480</a>       Vector v = (Vector) vector.elementAt(i);
<a class="jxr_linenumber" name="L481" href="#L481">481</a> 
<a class="jxr_linenumber" name="L482" href="#L482">482</a>       <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L483" href="#L483">483</a>         Rule expressionRule = ExpressionRule.getRule((String) v.elementAt(0));
<a class="jxr_linenumber" name="L484" href="#L484">484</a>         Color background = getBackground();
<a class="jxr_linenumber" name="L485" href="#L485">485</a>         Color foreground = getForeground();
<a class="jxr_linenumber" name="L486" href="#L486">486</a> 
<a class="jxr_linenumber" name="L487" href="#L487">487</a>         <strong class="jxr_keyword">if</strong> (v.elementAt(1) instanceof Color) {
<a class="jxr_linenumber" name="L488" href="#L488">488</a>           background = (Color) v.elementAt(1);
<a class="jxr_linenumber" name="L489" href="#L489">489</a>         }
<a class="jxr_linenumber" name="L490" href="#L490">490</a> 
<a class="jxr_linenumber" name="L491" href="#L491">491</a>         <strong class="jxr_keyword">if</strong> (v.elementAt(2) instanceof Color) {
<a class="jxr_linenumber" name="L492" href="#L492">492</a>           foreground = (Color) v.elementAt(2);
<a class="jxr_linenumber" name="L493" href="#L493">493</a>         }
<a class="jxr_linenumber" name="L494" href="#L494">494</a> 
<a class="jxr_linenumber" name="L495" href="#L495">495</a>         ColorRule r = <strong class="jxr_keyword">new</strong> ColorRule((String)v.elementAt(0), expressionRule, background, foreground);
<a class="jxr_linenumber" name="L496" href="#L496">496</a>         list.add(r);
<a class="jxr_linenumber" name="L497" href="#L497">497</a>       } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException iae) {
<a class="jxr_linenumber" name="L498" href="#L498">498</a>         <strong class="jxr_keyword">if</strong> (!result.toString().equals(<span class="jxr_string">""</span>)) {
<a class="jxr_linenumber" name="L499" href="#L499">499</a>           result.append(<span class="jxr_string">"&lt;br&gt;"</span>);
<a class="jxr_linenumber" name="L500" href="#L500">500</a>         }
<a class="jxr_linenumber" name="L501" href="#L501">501</a> 
<a class="jxr_linenumber" name="L502" href="#L502">502</a>         result.append(iae.getMessage());
<a class="jxr_linenumber" name="L503" href="#L503">503</a>       }
<a class="jxr_linenumber" name="L504" href="#L504">504</a>     }
<a class="jxr_linenumber" name="L505" href="#L505">505</a> 
<a class="jxr_linenumber" name="L506" href="#L506">506</a>     <em class="jxr_comment">//all rules are valid, they can be applied</em>
<a class="jxr_linenumber" name="L507" href="#L507">507</a>     <strong class="jxr_keyword">if</strong> (result.toString().equals(<span class="jxr_string">""</span>)) {
<a class="jxr_linenumber" name="L508" href="#L508">508</a>       ((<a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ExpressionTableCellRenderer</a>) table.getColumnModel().getColumn(0).getCellRenderer())
<a class="jxr_linenumber" name="L509" href="#L509">509</a>       .setToolTipText(<span class="jxr_string">"Double click to edit"</span>);
<a class="jxr_linenumber" name="L510" href="#L510">510</a>       statusBar.setText(DEFAULT_STATUS);
<a class="jxr_linenumber" name="L511" href="#L511">511</a> 
<a class="jxr_linenumber" name="L512" href="#L512">512</a>       <em class="jxr_comment">//only update rules if there were no errors</em>
<a class="jxr_linenumber" name="L513" href="#L513">513</a>       Map map = <strong class="jxr_keyword">new</strong> HashMap();
<a class="jxr_linenumber" name="L514" href="#L514">514</a>       map.put(ruleSet, list);
<a class="jxr_linenumber" name="L515" href="#L515">515</a>       applyingColorizer.setRules(map);
<a class="jxr_linenumber" name="L516" href="#L516">516</a> 
<a class="jxr_linenumber" name="L517" href="#L517">517</a>     } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L518" href="#L518">518</a>       statusBar.setText(<span class="jxr_string">"Errors - see expression tooltip (color filters won't be active until errors are resolved)"</span>);
<a class="jxr_linenumber" name="L519" href="#L519">519</a>       ((<a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ExpressionTableCellRenderer</a>) table.getColumnModel().getColumn(0).getCellRenderer())
<a class="jxr_linenumber" name="L520" href="#L520">520</a>       .setToolTipText(<span class="jxr_string">"&lt;html&gt;"</span> + result.toString() + <span class="jxr_string">"&lt;/html&gt;"</span>);
<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> 
<a class="jxr_linenumber" name="L524" href="#L524">524</a>   JPanel buildClosePanel() {
<a class="jxr_linenumber" name="L525" href="#L525">525</a>     JPanel panel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L526" href="#L526">526</a>     panel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(panel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L527" href="#L527">527</a>     panel.add(Box.createHorizontalGlue());
<a class="jxr_linenumber" name="L528" href="#L528">528</a> 
<a class="jxr_linenumber" name="L529" href="#L529">529</a>     JButton saveAsDefaultButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">" Save as default "</span>);
<a class="jxr_linenumber" name="L530" href="#L530">530</a> 
<a class="jxr_linenumber" name="L531" href="#L531">531</a>     saveAsDefaultButton.addActionListener(
<a class="jxr_linenumber" name="L532" href="#L532">532</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L533" href="#L533">533</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L534" href="#L534">534</a>           <a href="../../../../../org/apache/log4j/chainsaw/color/RuleColorizer.html">RuleColorizer</a> defaultColorizer = (RuleColorizer) allLogPanelColorizers.get(ChainsawConstants.DEFAULT_COLOR_RULE_NAME);
<a class="jxr_linenumber" name="L535" href="#L535">535</a>           applyRules(currentRuleSet, defaultColorizer);
<a class="jxr_linenumber" name="L536" href="#L536">536</a>         }
<a class="jxr_linenumber" name="L537" href="#L537">537</a>     });
<a class="jxr_linenumber" name="L538" href="#L538">538</a> 
<a class="jxr_linenumber" name="L539" href="#L539">539</a>     panel.add(saveAsDefaultButton);
<a class="jxr_linenumber" name="L540" href="#L540">540</a> 
<a class="jxr_linenumber" name="L541" href="#L541">541</a>     JButton applyButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">" Apply "</span>);
<a class="jxr_linenumber" name="L542" href="#L542">542</a> 
<a class="jxr_linenumber" name="L543" href="#L543">543</a>     applyButton.addActionListener(
<a class="jxr_linenumber" name="L544" href="#L544">544</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L545" href="#L545">545</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L546" href="#L546">546</a>           applyRules(currentRuleSet, colorizer);
<a class="jxr_linenumber" name="L547" href="#L547">547</a>           saveSearchColors();
<a class="jxr_linenumber" name="L548" href="#L548">548</a>           saveAlternatingColors();
<a class="jxr_linenumber" name="L549" href="#L549">549</a>           saveBypassFlag();
<a class="jxr_linenumber" name="L550" href="#L550">550</a>         }
<a class="jxr_linenumber" name="L551" href="#L551">551</a>       });
<a class="jxr_linenumber" name="L552" href="#L552">552</a> 
<a class="jxr_linenumber" name="L553" href="#L553">553</a>     panel.add(Box.createHorizontalStrut(10));
<a class="jxr_linenumber" name="L554" href="#L554">554</a>     panel.add(applyButton);
<a class="jxr_linenumber" name="L555" href="#L555">555</a> 
<a class="jxr_linenumber" name="L556" href="#L556">556</a>     JButton closeButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">" Close "</span>);
<a class="jxr_linenumber" name="L557" href="#L557">557</a> 
<a class="jxr_linenumber" name="L558" href="#L558">558</a>     closeButton.addActionListener(
<a class="jxr_linenumber" name="L559" href="#L559">559</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L560" href="#L560">560</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L561" href="#L561">561</a>           hidePanel();
<a class="jxr_linenumber" name="L562" href="#L562">562</a>         }
<a class="jxr_linenumber" name="L563" href="#L563">563</a>       });
<a class="jxr_linenumber" name="L564" href="#L564">564</a>     panel.add(Box.createHorizontalStrut(10));
<a class="jxr_linenumber" name="L565" href="#L565">565</a>     panel.add(closeButton);
<a class="jxr_linenumber" name="L566" href="#L566">566</a> 
<a class="jxr_linenumber" name="L567" href="#L567">567</a>     <strong class="jxr_keyword">return</strong> panel;
<a class="jxr_linenumber" name="L568" href="#L568">568</a>   }
<a class="jxr_linenumber" name="L569" href="#L569">569</a> 
<a class="jxr_linenumber" name="L570" href="#L570">570</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> saveSearchColors() {
<a class="jxr_linenumber" name="L571" href="#L571">571</a>       Vector thisVector = (Vector) searchTableModel.getDataVector().get(0);
<a class="jxr_linenumber" name="L572" href="#L572">572</a>       applicationPreferenceModel.setSearchBackgroundColor((Color)thisVector.get(0));
<a class="jxr_linenumber" name="L573" href="#L573">573</a>       applicationPreferenceModel.setSearchForegroundColor((Color)thisVector.get(1));
<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>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> saveAlternatingColors() {
<a class="jxr_linenumber" name="L577" href="#L577">577</a>       Vector thisVector = (Vector) alternatingColorTableModel.getDataVector().get(0);
<a class="jxr_linenumber" name="L578" href="#L578">578</a>       applicationPreferenceModel.setAlternatingBackgroundColor((Color)thisVector.get(0));
<a class="jxr_linenumber" name="L579" href="#L579">579</a>       Color alternatingColorForegroundColor = (Color) thisVector.get(1);
<a class="jxr_linenumber" name="L580" href="#L580">580</a>       applicationPreferenceModel.setAlternatingForegroundColor(alternatingColorForegroundColor);
<a class="jxr_linenumber" name="L581" href="#L581">581</a>   }
<a class="jxr_linenumber" name="L582" href="#L582">582</a> 
<a class="jxr_linenumber" name="L583" href="#L583">583</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> saveBypassFlag() {
<a class="jxr_linenumber" name="L584" href="#L584">584</a>     applicationPreferenceModel.setBypassSearchColors(bypassSearchColorsCheckBox.isSelected());
<a class="jxr_linenumber" name="L585" href="#L585">585</a>   }
<a class="jxr_linenumber" name="L586" href="#L586">586</a> 
<a class="jxr_linenumber" name="L587" href="#L587">587</a>   JPanel buildUpDownPanel() {
<a class="jxr_linenumber" name="L588" href="#L588">588</a>     JPanel panel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L589" href="#L589">589</a>     JPanel innerPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L590" href="#L590">590</a>     innerPanel.setLayout(<strong class="jxr_keyword">new</strong> GridLayout(5, 1));
<a class="jxr_linenumber" name="L591" href="#L591">591</a> 
<a class="jxr_linenumber" name="L592" href="#L592">592</a>     <strong class="jxr_keyword">final</strong> JButton upButton = <strong class="jxr_keyword">new</strong> JButton(ChainsawIcons.ICON_UP);
<a class="jxr_linenumber" name="L593" href="#L593">593</a>     upButton.setToolTipText(<span class="jxr_string">"Move selected rule up"</span>);
<a class="jxr_linenumber" name="L594" href="#L594">594</a> 
<a class="jxr_linenumber" name="L595" href="#L595">595</a>     <strong class="jxr_keyword">final</strong> JButton downButton = <strong class="jxr_keyword">new</strong> JButton(ChainsawIcons.ICON_DOWN);
<a class="jxr_linenumber" name="L596" href="#L596">596</a>     downButton.setToolTipText(<span class="jxr_string">"Move selected rule down"</span>);
<a class="jxr_linenumber" name="L597" href="#L597">597</a>     upButton.setEnabled(false);
<a class="jxr_linenumber" name="L598" href="#L598">598</a>     downButton.setEnabled(false);
<a class="jxr_linenumber" name="L599" href="#L599">599</a> 
<a class="jxr_linenumber" name="L600" href="#L600">600</a>     table.getSelectionModel().addListSelectionListener(
<a class="jxr_linenumber" name="L601" href="#L601">601</a>       <strong class="jxr_keyword">new</strong> ListSelectionListener() {
<a class="jxr_linenumber" name="L602" href="#L602">602</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> valueChanged(ListSelectionEvent e) {
<a class="jxr_linenumber" name="L603" href="#L603">603</a>           <strong class="jxr_keyword">if</strong> (!e.getValueIsAdjusting()) {
<a class="jxr_linenumber" name="L604" href="#L604">604</a>             <strong class="jxr_keyword">int</strong> index = table.getSelectionModel().getMaxSelectionIndex();
<a class="jxr_linenumber" name="L605" href="#L605">605</a> 
<a class="jxr_linenumber" name="L606" href="#L606">606</a>             <strong class="jxr_keyword">if</strong> (index &lt; 0) {
<a class="jxr_linenumber" name="L607" href="#L607">607</a>               downButton.setEnabled(false);
<a class="jxr_linenumber" name="L608" href="#L608">608</a>               upButton.setEnabled(false);
<a class="jxr_linenumber" name="L609" href="#L609">609</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ((index == 0) &amp;&amp; (tableModel.getRowCount() == 1)) {
<a class="jxr_linenumber" name="L610" href="#L610">610</a>               downButton.setEnabled(false);
<a class="jxr_linenumber" name="L611" href="#L611">611</a>               upButton.setEnabled(false);
<a class="jxr_linenumber" name="L612" href="#L612">612</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ((index == 0) &amp;&amp; (tableModel.getRowCount() &gt; 1)) {
<a class="jxr_linenumber" name="L613" href="#L613">613</a>               downButton.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L614" href="#L614">614</a>               upButton.setEnabled(false);
<a class="jxr_linenumber" name="L615" href="#L615">615</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (index == (tableModel.getRowCount() - 1)) {
<a class="jxr_linenumber" name="L616" href="#L616">616</a>               downButton.setEnabled(false);
<a class="jxr_linenumber" name="L617" href="#L617">617</a>               upButton.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L618" href="#L618">618</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L619" href="#L619">619</a>               downButton.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L620" href="#L620">620</a>               upButton.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L621" href="#L621">621</a>             }
<a class="jxr_linenumber" name="L622" href="#L622">622</a>           }
<a class="jxr_linenumber" name="L623" href="#L623">623</a>         }
<a class="jxr_linenumber" name="L624" href="#L624">624</a>       });
<a class="jxr_linenumber" name="L625" href="#L625">625</a> 
<a class="jxr_linenumber" name="L626" href="#L626">626</a>     JPanel upPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L627" href="#L627">627</a> 
<a class="jxr_linenumber" name="L628" href="#L628">628</a>     upPanel.add(upButton);
<a class="jxr_linenumber" name="L629" href="#L629">629</a> 
<a class="jxr_linenumber" name="L630" href="#L630">630</a>     JPanel downPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L631" href="#L631">631</a>     downPanel.add(downButton);
<a class="jxr_linenumber" name="L632" href="#L632">632</a> 
<a class="jxr_linenumber" name="L633" href="#L633">633</a>     innerPanel.add(<strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">""</span>));
<a class="jxr_linenumber" name="L634" href="#L634">634</a>     innerPanel.add(upPanel);
<a class="jxr_linenumber" name="L635" href="#L635">635</a>     innerPanel.add(<strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">""</span>));
<a class="jxr_linenumber" name="L636" href="#L636">636</a>     innerPanel.add(downPanel);
<a class="jxr_linenumber" name="L637" href="#L637">637</a>     panel.add(innerPanel, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L638" href="#L638">638</a> 
<a class="jxr_linenumber" name="L639" href="#L639">639</a>     upButton.addActionListener(
<a class="jxr_linenumber" name="L640" href="#L640">640</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L641" href="#L641">641</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L642" href="#L642">642</a>           <strong class="jxr_keyword">int</strong> index = table.getSelectionModel().getMaxSelectionIndex();
<a class="jxr_linenumber" name="L643" href="#L643">643</a> 
<a class="jxr_linenumber" name="L644" href="#L644">644</a>           <strong class="jxr_keyword">if</strong> (index &gt; 0) {
<a class="jxr_linenumber" name="L645" href="#L645">645</a>             Vector v = tableModel.getDataVector();
<a class="jxr_linenumber" name="L646" href="#L646">646</a>             Vector row = (Vector) v.elementAt(index);
<a class="jxr_linenumber" name="L647" href="#L647">647</a>             tableModel.removeRow(index);
<a class="jxr_linenumber" name="L648" href="#L648">648</a>             index = index - 1;
<a class="jxr_linenumber" name="L649" href="#L649">649</a>             tableModel.insertRow(index, row);
<a class="jxr_linenumber" name="L650" href="#L650">650</a>             table.getSelectionModel().setSelectionInterval(index, index);
<a class="jxr_linenumber" name="L651" href="#L651">651</a>           }
<a class="jxr_linenumber" name="L652" href="#L652">652</a>         }
<a class="jxr_linenumber" name="L653" href="#L653">653</a>       });
<a class="jxr_linenumber" name="L654" href="#L654">654</a> 
<a class="jxr_linenumber" name="L655" href="#L655">655</a>     downButton.addActionListener(
<a class="jxr_linenumber" name="L656" href="#L656">656</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L657" href="#L657">657</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L658" href="#L658">658</a>           <strong class="jxr_keyword">int</strong> index = table.getSelectionModel().getMaxSelectionIndex();
<a class="jxr_linenumber" name="L659" href="#L659">659</a> 
<a class="jxr_linenumber" name="L660" href="#L660">660</a>           <strong class="jxr_keyword">if</strong> ((index &gt; -1) &amp;&amp; (index &lt; (tableModel.getRowCount() - 1))) {
<a class="jxr_linenumber" name="L661" href="#L661">661</a>             Vector v = tableModel.getDataVector();
<a class="jxr_linenumber" name="L662" href="#L662">662</a>             Vector row = (Vector) v.elementAt(index);
<a class="jxr_linenumber" name="L663" href="#L663">663</a> 
<a class="jxr_linenumber" name="L664" href="#L664">664</a>             tableModel.removeRow(index);
<a class="jxr_linenumber" name="L665" href="#L665">665</a>             index = index + 1;
<a class="jxr_linenumber" name="L666" href="#L666">666</a>             tableModel.insertRow(index, row);
<a class="jxr_linenumber" name="L667" href="#L667">667</a>             table.getSelectionModel().setSelectionInterval(index, index);
<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>       });
<a class="jxr_linenumber" name="L671" href="#L671">671</a> 
<a class="jxr_linenumber" name="L672" href="#L672">672</a>     <strong class="jxr_keyword">return</strong> panel;
<a class="jxr_linenumber" name="L673" href="#L673">673</a>   }
<a class="jxr_linenumber" name="L674" href="#L674">674</a> 
<a class="jxr_linenumber" name="L675" href="#L675">675</a>   JPanel buildRulesPanel() {
<a class="jxr_linenumber" name="L676" href="#L676">676</a>     JPanel listPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L677" href="#L677">677</a>     JPanel panel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L678" href="#L678">678</a>     panel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(panel, BoxLayout.Y_AXIS));
<a class="jxr_linenumber" name="L679" href="#L679">679</a> 
<a class="jxr_linenumber" name="L680" href="#L680">680</a>     panel.add(Box.createVerticalStrut(10));
<a class="jxr_linenumber" name="L681" href="#L681">681</a> 
<a class="jxr_linenumber" name="L682" href="#L682">682</a>     JLabel rulesLabel = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Rules:"</span>);
<a class="jxr_linenumber" name="L683" href="#L683">683</a> 
<a class="jxr_linenumber" name="L684" href="#L684">684</a>     panel.add(rulesLabel);
<a class="jxr_linenumber" name="L685" href="#L685">685</a> 
<a class="jxr_linenumber" name="L686" href="#L686">686</a>     JPanel buttonPanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> GridLayout(0, 2));
<a class="jxr_linenumber" name="L687" href="#L687">687</a>     buttonPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
<a class="jxr_linenumber" name="L688" href="#L688">688</a> 
<a class="jxr_linenumber" name="L689" href="#L689">689</a>     JPanel newPanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L690" href="#L690">690</a>     JButton newButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">" New "</span>);
<a class="jxr_linenumber" name="L691" href="#L691">691</a>     newButton.addActionListener(
<a class="jxr_linenumber" name="L692" href="#L692">692</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L693" href="#L693">693</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L694" href="#L694">694</a>           <strong class="jxr_keyword">int</strong> currentRow = table.getSelectedRow();
<a class="jxr_linenumber" name="L695" href="#L695">695</a>           Vector v = <strong class="jxr_keyword">new</strong> Vector();
<a class="jxr_linenumber" name="L696" href="#L696">696</a>           v.add(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="L697" href="#L697">697</a>           v.add(Color.white);
<a class="jxr_linenumber" name="L698" href="#L698">698</a>           v.add(Color.black);
<a class="jxr_linenumber" name="L699" href="#L699">699</a> 
<a class="jxr_linenumber" name="L700" href="#L700">700</a>           <strong class="jxr_keyword">if</strong> (currentRow &lt; 0) {
<a class="jxr_linenumber" name="L701" href="#L701">701</a>             tableModel.addRow(v);
<a class="jxr_linenumber" name="L702" href="#L702">702</a>             currentRow = table.getRowCount() - 1;
<a class="jxr_linenumber" name="L703" href="#L703">703</a>           } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L704" href="#L704">704</a>             tableModel.insertRow(currentRow, v);
<a class="jxr_linenumber" name="L705" href="#L705">705</a>           }
<a class="jxr_linenumber" name="L706" href="#L706">706</a> 
<a class="jxr_linenumber" name="L707" href="#L707">707</a>           table.getSelectionModel().setSelectionInterval(
<a class="jxr_linenumber" name="L708" href="#L708">708</a>             currentRow, currentRow);
<a class="jxr_linenumber" name="L709" href="#L709">709</a>         }
<a class="jxr_linenumber" name="L710" href="#L710">710</a>       });
<a class="jxr_linenumber" name="L711" href="#L711">711</a> 
<a class="jxr_linenumber" name="L712" href="#L712">712</a>     newPanel.add(newButton);
<a class="jxr_linenumber" name="L713" href="#L713">713</a> 
<a class="jxr_linenumber" name="L714" href="#L714">714</a>     JPanel deletePanel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L715" href="#L715">715</a>     <strong class="jxr_keyword">final</strong> JButton deleteButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">" Delete "</span>);
<a class="jxr_linenumber" name="L716" href="#L716">716</a>     deleteButton.setEnabled(false);
<a class="jxr_linenumber" name="L717" href="#L717">717</a> 
<a class="jxr_linenumber" name="L718" href="#L718">718</a>     deleteButton.addActionListener(
<a class="jxr_linenumber" name="L719" href="#L719">719</a>       <strong class="jxr_keyword">new</strong> AbstractAction() {
<a class="jxr_linenumber" name="L720" href="#L720">720</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent evt) {
<a class="jxr_linenumber" name="L721" href="#L721">721</a>           <strong class="jxr_keyword">int</strong> index = table.getSelectionModel().getMaxSelectionIndex();
<a class="jxr_linenumber" name="L722" href="#L722">722</a> 
<a class="jxr_linenumber" name="L723" href="#L723">723</a>           <strong class="jxr_keyword">if</strong> ((index &gt; -1) &amp;&amp; (index &lt; table.getRowCount())) {
<a class="jxr_linenumber" name="L724" href="#L724">724</a>             tableModel.removeRow(index);
<a class="jxr_linenumber" name="L725" href="#L725">725</a> 
<a class="jxr_linenumber" name="L726" href="#L726">726</a>             <strong class="jxr_keyword">if</strong> (index &gt; 0) {
<a class="jxr_linenumber" name="L727" href="#L727">727</a>               index = index - 1;
<a class="jxr_linenumber" name="L728" href="#L728">728</a>             }
<a class="jxr_linenumber" name="L729" href="#L729">729</a> 
<a class="jxr_linenumber" name="L730" href="#L730">730</a>             <strong class="jxr_keyword">if</strong> (tableModel.getRowCount() &gt; 0) {
<a class="jxr_linenumber" name="L731" href="#L731">731</a>               table.getSelectionModel().setSelectionInterval(index, index);
<a class="jxr_linenumber" name="L732" href="#L732">732</a>             }
<a class="jxr_linenumber" name="L733" href="#L733">733</a>           }
<a class="jxr_linenumber" name="L734" href="#L734">734</a>         }
<a class="jxr_linenumber" name="L735" href="#L735">735</a>       });
<a class="jxr_linenumber" name="L736" href="#L736">736</a> 
<a class="jxr_linenumber" name="L737" href="#L737">737</a>     table.getSelectionModel().addListSelectionListener(
<a class="jxr_linenumber" name="L738" href="#L738">738</a>       <strong class="jxr_keyword">new</strong> ListSelectionListener() {
<a class="jxr_linenumber" name="L739" href="#L739">739</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> valueChanged(ListSelectionEvent e) {
<a class="jxr_linenumber" name="L740" href="#L740">740</a>           <strong class="jxr_keyword">if</strong> (!e.getValueIsAdjusting()) {
<a class="jxr_linenumber" name="L741" href="#L741">741</a>             <strong class="jxr_keyword">int</strong> index = table.getSelectionModel().getMaxSelectionIndex();
<a class="jxr_linenumber" name="L742" href="#L742">742</a> 
<a class="jxr_linenumber" name="L743" href="#L743">743</a>             <strong class="jxr_keyword">if</strong> (index &lt; 0) {
<a class="jxr_linenumber" name="L744" href="#L744">744</a>               deleteButton.setEnabled(false);
<a class="jxr_linenumber" name="L745" href="#L745">745</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L746" href="#L746">746</a>               deleteButton.setEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L747" href="#L747">747</a>             }
<a class="jxr_linenumber" name="L748" href="#L748">748</a>           }
<a class="jxr_linenumber" name="L749" href="#L749">749</a>         }
<a class="jxr_linenumber" name="L750" href="#L750">750</a>       });
<a class="jxr_linenumber" name="L751" href="#L751">751</a> 
<a class="jxr_linenumber" name="L752" href="#L752">752</a>     deletePanel.add(deleteButton);
<a class="jxr_linenumber" name="L753" href="#L753">753</a> 
<a class="jxr_linenumber" name="L754" href="#L754">754</a>     buttonPanel.add(newPanel);
<a class="jxr_linenumber" name="L755" href="#L755">755</a>     buttonPanel.add(deletePanel);
<a class="jxr_linenumber" name="L756" href="#L756">756</a> 
<a class="jxr_linenumber" name="L757" href="#L757">757</a>     listPanel.add(panel, BorderLayout.NORTH);
<a class="jxr_linenumber" name="L758" href="#L758">758</a> 
<a class="jxr_linenumber" name="L759" href="#L759">759</a>     JPanel tablePanel = <strong class="jxr_keyword">new</strong> JPanel(<strong class="jxr_keyword">new</strong> BorderLayout());
<a class="jxr_linenumber" name="L760" href="#L760">760</a>     tableScrollPane.setBorder(BorderFactory.createEtchedBorder());
<a class="jxr_linenumber" name="L761" href="#L761">761</a>     tablePanel.add(tableScrollPane, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L762" href="#L762">762</a>     tablePanel.add(buildUpDownPanel(), BorderLayout.EAST);
<a class="jxr_linenumber" name="L763" href="#L763">763</a>     listPanel.add(tablePanel, BorderLayout.CENTER);
<a class="jxr_linenumber" name="L764" href="#L764">764</a>     listPanel.add(buttonPanel, BorderLayout.SOUTH);
<a class="jxr_linenumber" name="L765" href="#L765">765</a> 
<a class="jxr_linenumber" name="L766" href="#L766">766</a>     <strong class="jxr_keyword">return</strong> listPanel;
<a class="jxr_linenumber" name="L767" href="#L767">767</a>   }
<a class="jxr_linenumber" name="L768" href="#L768">768</a> 
<a class="jxr_linenumber" name="L769" href="#L769">769</a>     <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorListCellRenderer</a> <strong class="jxr_keyword">extends</strong> JLabel <strong class="jxr_keyword">implements</strong> ListCellRenderer {
<a class="jxr_linenumber" name="L770" href="#L770">770</a>     <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorListCellRenderer</a>() {
<a class="jxr_linenumber" name="L771" href="#L771">771</a>       setOpaque(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L772" href="#L772">772</a>     }
<a class="jxr_linenumber" name="L773" href="#L773">773</a> 
<a class="jxr_linenumber" name="L774" href="#L774">774</a>     <strong class="jxr_keyword">public</strong> Component getListCellRendererComponent(
<a class="jxr_linenumber" name="L775" href="#L775">775</a>       JList list, Object value, <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">boolean</strong> isSelected,
<a class="jxr_linenumber" name="L776" href="#L776">776</a>       <strong class="jxr_keyword">boolean</strong> cellHasFocus) {
<a class="jxr_linenumber" name="L777" href="#L777">777</a>       setText(<span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="L778" href="#L778">778</a> 
<a class="jxr_linenumber" name="L779" href="#L779">779</a>       <strong class="jxr_keyword">if</strong> (isSelected &amp;&amp; (index &gt; -1)) {
<a class="jxr_linenumber" name="L780" href="#L780">780</a>         setBorder(BorderFactory.createLineBorder(Color.black, 2));
<a class="jxr_linenumber" name="L781" href="#L781">781</a>       } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L782" href="#L782">782</a>         setBorder(BorderFactory.createEmptyBorder());
<a class="jxr_linenumber" name="L783" href="#L783">783</a>       }
<a class="jxr_linenumber" name="L784" href="#L784">784</a> 
<a class="jxr_linenumber" name="L785" href="#L785">785</a>       <strong class="jxr_keyword">if</strong> (value instanceof Color) {
<a class="jxr_linenumber" name="L786" href="#L786">786</a>         setBackground((Color) value);
<a class="jxr_linenumber" name="L787" href="#L787">787</a>       } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L788" href="#L788">788</a>         setBackground(Color.white);
<a class="jxr_linenumber" name="L789" href="#L789">789</a> 
<a class="jxr_linenumber" name="L790" href="#L790">790</a>         <strong class="jxr_keyword">if</strong> (value != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L791" href="#L791">791</a>           setText(value.toString());
<a class="jxr_linenumber" name="L792" href="#L792">792</a>         }
<a class="jxr_linenumber" name="L793" href="#L793">793</a>       }
<a class="jxr_linenumber" name="L794" href="#L794">794</a> 
<a class="jxr_linenumber" name="L795" href="#L795">795</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="L796" href="#L796">796</a>     }
<a class="jxr_linenumber" name="L797" href="#L797">797</a>   }
<a class="jxr_linenumber" name="L798" href="#L798">798</a> 
<a class="jxr_linenumber" name="L799" href="#L799">799</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorItemListener</a> <strong class="jxr_keyword">implements</strong> ItemListener {
<a class="jxr_linenumber" name="L800" href="#L800">800</a>     JComboBox box;
<a class="jxr_linenumber" name="L801" href="#L801">801</a>     JDialog dialog;
<a class="jxr_linenumber" name="L802" href="#L802">802</a>     JColorChooser colorChooser;
<a class="jxr_linenumber" name="L803" href="#L803">803</a>     Color lastColor;
<a class="jxr_linenumber" name="L804" href="#L804">804</a> 
<a class="jxr_linenumber" name="L805" href="#L805">805</a>     <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorItemListener</a>(<strong class="jxr_keyword">final</strong> JComboBox box) {
<a class="jxr_linenumber" name="L806" href="#L806">806</a>       <strong class="jxr_keyword">this</strong>.box = box;
<a class="jxr_linenumber" name="L807" href="#L807">807</a>       colorChooser = <strong class="jxr_keyword">new</strong> JColorChooser();
<a class="jxr_linenumber" name="L808" href="#L808">808</a>       dialog =
<a class="jxr_linenumber" name="L809" href="#L809">809</a>         JColorChooser.createDialog(
<a class="jxr_linenumber" name="L810" href="#L810">810</a>           box, <span class="jxr_string">"Pick a Color"</span>, <strong class="jxr_keyword">true</strong>, <em class="jxr_comment">//modal</em>
<a class="jxr_linenumber" name="L811" href="#L811">811</a>           colorChooser,
<a class="jxr_linenumber" name="L812" href="#L812">812</a>           <strong class="jxr_keyword">new</strong> ActionListener() {
<a class="jxr_linenumber" name="L813" href="#L813">813</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a class="jxr_linenumber" name="L814" href="#L814">814</a>               box.insertItemAt(colorChooser.getColor(), 0);
<a class="jxr_linenumber" name="L815" href="#L815">815</a>               box.setSelectedIndex(0);
<a class="jxr_linenumber" name="L816" href="#L816">816</a>             }
<a class="jxr_linenumber" name="L817" href="#L817">817</a>           }, <em class="jxr_comment">//OK button handler</em>
<a class="jxr_linenumber" name="L818" href="#L818">818</a>           <strong class="jxr_keyword">new</strong> ActionListener() {
<a class="jxr_linenumber" name="L819" href="#L819">819</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a class="jxr_linenumber" name="L820" href="#L820">820</a>                 box.setSelectedItem(lastColor);
<a class="jxr_linenumber" name="L821" href="#L821">821</a>             }
<a class="jxr_linenumber" name="L822" href="#L822">822</a>           }); <em class="jxr_comment">//CANCEL button handler</em>
<a class="jxr_linenumber" name="L823" href="#L823">823</a>       dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
<a class="jxr_linenumber" name="L824" href="#L824">824</a>     }
<a class="jxr_linenumber" name="L825" href="#L825">825</a> 
<a class="jxr_linenumber" name="L826" href="#L826">826</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> itemStateChanged(ItemEvent e) {
<a class="jxr_linenumber" name="L827" href="#L827">827</a>       <strong class="jxr_keyword">if</strong> (e.getStateChange() == ItemEvent.SELECTED) {
<a class="jxr_linenumber" name="L828" href="#L828">828</a>         <strong class="jxr_keyword">if</strong> (box.getSelectedItem() instanceof Color) {
<a class="jxr_linenumber" name="L829" href="#L829">829</a>           box.setBackground((Color) box.getSelectedItem());
<a class="jxr_linenumber" name="L830" href="#L830">830</a>           repaint();
<a class="jxr_linenumber" name="L831" href="#L831">831</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L832" href="#L832">832</a>           box.setBackground(Color.white);
<a class="jxr_linenumber" name="L833" href="#L833">833</a>           <strong class="jxr_keyword">int</strong> selectedRow = table.getSelectedRow();
<a class="jxr_linenumber" name="L834" href="#L834">834</a>           <strong class="jxr_keyword">int</strong> selectedColumn = table.getSelectedColumn();
<a class="jxr_linenumber" name="L835" href="#L835">835</a>           <strong class="jxr_keyword">if</strong> (selectedRow != -1 &amp;&amp; selectedColumn != -1) {
<a class="jxr_linenumber" name="L836" href="#L836">836</a>               colorChooser.setColor((Color)table.getValueAt(selectedRow, selectedColumn));
<a class="jxr_linenumber" name="L837" href="#L837">837</a>               lastColor = (Color)table.getValueAt(selectedRow, selectedColumn);
<a class="jxr_linenumber" name="L838" href="#L838">838</a>           }
<a class="jxr_linenumber" name="L839" href="#L839">839</a>           dialog.setVisible(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L840" href="#L840">840</a>         }
<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> 
<a class="jxr_linenumber" name="L845" href="#L845">845</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorTableCellRenderer</a> <strong class="jxr_keyword">implements</strong> TableCellRenderer {
<a class="jxr_linenumber" name="L846" href="#L846">846</a>     Border border;
<a class="jxr_linenumber" name="L847" href="#L847">847</a>     JPanel panel;
<a class="jxr_linenumber" name="L848" href="#L848">848</a>     
<a class="jxr_linenumber" name="L849" href="#L849">849</a>     <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ColorTableCellRenderer</a>() {
<a class="jxr_linenumber" name="L850" href="#L850">850</a>         panel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L851" href="#L851">851</a>         panel.setOpaque(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L852" href="#L852">852</a>     }
<a class="jxr_linenumber" name="L853" href="#L853">853</a> 
<a class="jxr_linenumber" name="L854" href="#L854">854</a>     <strong class="jxr_keyword">public</strong> Color getCurrentColor() {
<a class="jxr_linenumber" name="L855" href="#L855">855</a>         <strong class="jxr_keyword">return</strong> panel.getBackground();
<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>     <strong class="jxr_keyword">public</strong> Component getTableCellRendererComponent(
<a class="jxr_linenumber" name="L859" href="#L859">859</a>       JTable thisTable, Object value, <strong class="jxr_keyword">boolean</strong> isSelected, <strong class="jxr_keyword">boolean</strong> hasFocus, <strong class="jxr_keyword">int</strong> row,
<a class="jxr_linenumber" name="L860" href="#L860">860</a>       <strong class="jxr_keyword">int</strong> column) {
<a class="jxr_linenumber" name="L861" href="#L861">861</a>       <strong class="jxr_keyword">if</strong> (value instanceof Color) {
<a class="jxr_linenumber" name="L862" href="#L862">862</a>         panel.setBackground((Color) value);
<a class="jxr_linenumber" name="L863" href="#L863">863</a>       }
<a class="jxr_linenumber" name="L864" href="#L864">864</a>       <strong class="jxr_keyword">if</strong> (border == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L865" href="#L865">865</a>         border = BorderFactory.createMatteBorder(2, 2, 2, 2, table.getBackground());
<a class="jxr_linenumber" name="L866" href="#L866">866</a>       }
<a class="jxr_linenumber" name="L867" href="#L867">867</a> 
<a class="jxr_linenumber" name="L868" href="#L868">868</a>       panel.setBorder(border);
<a class="jxr_linenumber" name="L869" href="#L869">869</a> 
<a class="jxr_linenumber" name="L870" href="#L870">870</a>       <strong class="jxr_keyword">return</strong> panel;
<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> 
<a class="jxr_linenumber" name="L874" href="#L874">874</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ExpressionTableCellRenderer</a> <strong class="jxr_keyword">implements</strong> TableCellRenderer {
<a class="jxr_linenumber" name="L875" href="#L875">875</a>     JPanel panel = <strong class="jxr_keyword">new</strong> JPanel();
<a class="jxr_linenumber" name="L876" href="#L876">876</a>     JLabel expressionLabel = <strong class="jxr_keyword">new</strong> JLabel();
<a class="jxr_linenumber" name="L877" href="#L877">877</a>     JLabel iconLabel = <strong class="jxr_keyword">new</strong> JLabel();
<a class="jxr_linenumber" name="L878" href="#L878">878</a>     Icon selectedIcon = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">SelectedIcon</a>(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L879" href="#L879">879</a>     Icon unselectedIcon = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">SelectedIcon</a>(false);
<a class="jxr_linenumber" name="L880" href="#L880">880</a> 
<a class="jxr_linenumber" name="L881" href="#L881">881</a>     <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">ExpressionTableCellRenderer</a>() {
<a class="jxr_linenumber" name="L882" href="#L882">882</a>       panel.setLayout(<strong class="jxr_keyword">new</strong> BoxLayout(panel, BoxLayout.X_AXIS));
<a class="jxr_linenumber" name="L883" href="#L883">883</a>       panel.setOpaque(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L884" href="#L884">884</a>       panel.add(iconLabel);
<a class="jxr_linenumber" name="L885" href="#L885">885</a>       panel.add(Box.createHorizontalStrut(5));
<a class="jxr_linenumber" name="L886" href="#L886">886</a>       panel.add(expressionLabel);
<a class="jxr_linenumber" name="L887" href="#L887">887</a>     }
<a class="jxr_linenumber" name="L888" href="#L888">888</a>     
<a class="jxr_linenumber" name="L889" href="#L889">889</a>     <strong class="jxr_keyword">void</strong> setToolTipText(String text) {
<a class="jxr_linenumber" name="L890" href="#L890">890</a>         panel.setToolTipText(text);
<a class="jxr_linenumber" name="L891" href="#L891">891</a>     }
<a class="jxr_linenumber" name="L892" href="#L892">892</a> 
<a class="jxr_linenumber" name="L893" href="#L893">893</a>     <strong class="jxr_keyword">public</strong> Component getTableCellRendererComponent(
<a class="jxr_linenumber" name="L894" href="#L894">894</a>       JTable thisTable, Object value, <strong class="jxr_keyword">boolean</strong> isSelected, <strong class="jxr_keyword">boolean</strong> hasFocus, <strong class="jxr_keyword">int</strong> row,
<a class="jxr_linenumber" name="L895" href="#L895">895</a>       <strong class="jxr_keyword">int</strong> column) {
<a class="jxr_linenumber" name="L896" href="#L896">896</a>       <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L897" href="#L897">897</a>           <strong class="jxr_keyword">return</strong> panel;
<a class="jxr_linenumber" name="L898" href="#L898">898</a>       }
<a class="jxr_linenumber" name="L899" href="#L899">899</a> 
<a class="jxr_linenumber" name="L900" href="#L900">900</a>       Vector v = tableModel.getDataVector();
<a class="jxr_linenumber" name="L901" href="#L901">901</a>       Vector r = (Vector) v.elementAt(row);
<a class="jxr_linenumber" name="L902" href="#L902">902</a>       expressionLabel.setText(value.toString());
<a class="jxr_linenumber" name="L903" href="#L903">903</a> 
<a class="jxr_linenumber" name="L904" href="#L904">904</a>       <strong class="jxr_keyword">if</strong> (r.elementAt(1) instanceof Color) {
<a class="jxr_linenumber" name="L905" href="#L905">905</a>         expressionLabel.setBackground((Color) r.elementAt(1));
<a class="jxr_linenumber" name="L906" href="#L906">906</a>         panel.setBackground((Color) r.elementAt(1));
<a class="jxr_linenumber" name="L907" href="#L907">907</a>       }
<a class="jxr_linenumber" name="L908" href="#L908">908</a> 
<a class="jxr_linenumber" name="L909" href="#L909">909</a>       <strong class="jxr_keyword">if</strong> (r.elementAt(2) instanceof Color) {
<a class="jxr_linenumber" name="L910" href="#L910">910</a>         expressionLabel.setForeground((Color) r.elementAt(2));
<a class="jxr_linenumber" name="L911" href="#L911">911</a>         panel.setForeground((Color) r.elementAt(2));
<a class="jxr_linenumber" name="L912" href="#L912">912</a>       }
<a class="jxr_linenumber" name="L913" href="#L913">913</a> 
<a class="jxr_linenumber" name="L914" href="#L914">914</a>       <strong class="jxr_keyword">if</strong> (isSelected) {
<a class="jxr_linenumber" name="L915" href="#L915">915</a>           iconLabel.setIcon(selectedIcon);
<a class="jxr_linenumber" name="L916" href="#L916">916</a>       } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L917" href="#L917">917</a>           iconLabel.setIcon(unselectedIcon);
<a class="jxr_linenumber" name="L918" href="#L918">918</a>       }
<a class="jxr_linenumber" name="L919" href="#L919">919</a> 
<a class="jxr_linenumber" name="L920" href="#L920">920</a>       <strong class="jxr_keyword">return</strong> panel;
<a class="jxr_linenumber" name="L921" href="#L921">921</a>     }
<a class="jxr_linenumber" name="L922" href="#L922">922</a>   }
<a class="jxr_linenumber" name="L923" href="#L923">923</a> 
<a class="jxr_linenumber" name="L924" href="#L924">924</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">SelectedIcon</a> <strong class="jxr_keyword">implements</strong> Icon {
<a class="jxr_linenumber" name="L925" href="#L925">925</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isSelected;
<a class="jxr_linenumber" name="L926" href="#L926">926</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> width = 9;
<a class="jxr_linenumber" name="L927" href="#L927">927</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> height = 18;
<a class="jxr_linenumber" name="L928" href="#L928">928</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong>[] xPoints = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[4];
<a class="jxr_linenumber" name="L929" href="#L929">929</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong>[] yPoints = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[4];
<a class="jxr_linenumber" name="L930" href="#L930">930</a> 
<a class="jxr_linenumber" name="L931" href="#L931">931</a>       <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/chainsaw/color/ColorPanel.html">SelectedIcon</a>(<strong class="jxr_keyword">boolean</strong> isSelected) {
<a class="jxr_linenumber" name="L932" href="#L932">932</a>         <strong class="jxr_keyword">this</strong>.isSelected = isSelected;
<a class="jxr_linenumber" name="L933" href="#L933">933</a>         xPoints[0] = 0;
<a class="jxr_linenumber" name="L934" href="#L934">934</a>         yPoints[0] = -1;
<a class="jxr_linenumber" name="L935" href="#L935">935</a>         xPoints[1] = 0;
<a class="jxr_linenumber" name="L936" href="#L936">936</a>         yPoints[1] = height;
<a class="jxr_linenumber" name="L937" href="#L937">937</a>         xPoints[2] = width;
<a class="jxr_linenumber" name="L938" href="#L938">938</a>         yPoints[2] = height / 2;
<a class="jxr_linenumber" name="L939" href="#L939">939</a>         xPoints[3] = width;
<a class="jxr_linenumber" name="L940" href="#L940">940</a>         yPoints[3] = (height / 2) - 1;
<a class="jxr_linenumber" name="L941" href="#L941">941</a>       }
<a class="jxr_linenumber" name="L942" href="#L942">942</a> 
<a class="jxr_linenumber" name="L943" href="#L943">943</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getIconHeight() {
<a class="jxr_linenumber" name="L944" href="#L944">944</a>         <strong class="jxr_keyword">return</strong> height;
<a class="jxr_linenumber" name="L945" href="#L945">945</a>       }
<a class="jxr_linenumber" name="L946" href="#L946">946</a> 
<a class="jxr_linenumber" name="L947" href="#L947">947</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getIconWidth() {
<a class="jxr_linenumber" name="L948" href="#L948">948</a>         <strong class="jxr_keyword">return</strong> width;
<a class="jxr_linenumber" name="L949" href="#L949">949</a>       }
<a class="jxr_linenumber" name="L950" href="#L950">950</a> 
<a class="jxr_linenumber" name="L951" href="#L951">951</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> paintIcon(Component c, Graphics g, <strong class="jxr_keyword">int</strong> x, <strong class="jxr_keyword">int</strong> y) {
<a class="jxr_linenumber" name="L952" href="#L952">952</a>         <strong class="jxr_keyword">if</strong> (isSelected) {
<a class="jxr_linenumber" name="L953" href="#L953">953</a>           <strong class="jxr_keyword">int</strong> length = xPoints.length;
<a class="jxr_linenumber" name="L954" href="#L954">954</a>           <strong class="jxr_keyword">int</strong>[] newXPoints = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[length];
<a class="jxr_linenumber" name="L955" href="#L955">955</a>           <strong class="jxr_keyword">int</strong>[] newYPoints = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[length];
<a class="jxr_linenumber" name="L956" href="#L956">956</a> 
<a class="jxr_linenumber" name="L957" href="#L957">957</a>           <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; length; i++) {
<a class="jxr_linenumber" name="L958" href="#L958">958</a>             newXPoints[i] = xPoints[i] + x;
<a class="jxr_linenumber" name="L959" href="#L959">959</a>             newYPoints[i] = yPoints[i] + y;
<a class="jxr_linenumber" name="L960" href="#L960">960</a>           }
<a class="jxr_linenumber" name="L961" href="#L961">961</a> 
<a class="jxr_linenumber" name="L962" href="#L962">962</a>           g.setColor(Color.black);
<a class="jxr_linenumber" name="L963" href="#L963">963</a> 
<a class="jxr_linenumber" name="L964" href="#L964">964</a>           g.fillPolygon(newXPoints, newYPoints, length);
<a class="jxr_linenumber" name="L965" href="#L965">965</a>         }
<a class="jxr_linenumber" name="L966" href="#L966">966</a>       }
<a class="jxr_linenumber" name="L967" href="#L967">967</a>   }
<a class="jxr_linenumber" name="L968" href="#L968">968</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2002&#x2013;2018 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
