Changeset 7190


Ignore:
Timestamp:
11/12/10 21:02:48 (9 years ago)
Author:
aivar
Message:

Dynamically sets minimum, as well as maximum. TIdied up code & added comments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/maven/projects/slim-plugin/src/main/java/loci/slim/colorizer/DataColorizerUI.java

    r7135 r7190  
    3737import java.awt.BorderLayout; 
    3838 
    39 import javax.swing.JCheckBox; 
    40 import javax.swing.JComponent; 
    4139import javax.swing.JFrame; 
    42 import javax.swing.JLabel; 
    43 import javax.swing.JPanel; 
    44 import javax.swing.JTextField; 
    45  
    46 import org.jfree.chart.ChartPanel; 
    47 import org.jfree.chart.ChartUtilities; 
    48 import org.jfree.chart.JFreeChart; 
    49 import org.jfree.chart.axis.DateAxis; 
    50 import org.jfree.chart.axis.LogarithmicAxis; 
    51 import org.jfree.chart.axis.NumberAxis; 
    52 import org.jfree.chart.axis.ValueAxis; 
    53 import org.jfree.chart.plot.CombinedDomainXYPlot; 
    54 import org.jfree.chart.plot.Plot; 
    55 import org.jfree.chart.plot.XYPlot; 
    56 import org.jfree.chart.renderer.xy.XYDotRenderer; 
    57 import org.jfree.chart.renderer.xy.XYItemRenderer; 
    58 import org.jfree.chart.renderer.xy.XYSplineRenderer; 
    59 import org.jfree.chart.title.TextTitle; 
    60 import org.jfree.data.time.TimeSeries; 
    61 import org.jfree.data.time.TimeSeriesCollection; 
    62 import org.jfree.data.xy.XYDataItem; 
    63 import org.jfree.data.xy.XYDataset; 
    64 import org.jfree.data.xy.XYSeries; 
    65 import org.jfree.data.xy.XYSeriesCollection; 
    66 import org.jfree.ui.ApplicationFrame; 
    67 import org.jfree.ui.RefineryUtilities; 
    6840 
    6941/** 
    70  * TODO 
    71  * 
    72  * <dl><dt><b>Source code:</b></dt> 
    73  * <dd><a href="http://dev.loci.wisc.edu/trac/java/browser/trunk/projects/slim-plugin/src/main/java/loci/colorizer/DataColorizerUI.java">Trac</a>, 
    74  * <a href="http://dev.loci.wisc.edu/svn/java/trunk/projects/slim-plugin/src/main/java/loci/colorizer/DataColorizerUI.java">SVN</a></dd></dl> 
     42 * This frame shows a histogram of current lifetime distributions, a color bar 
     43 * used to colorize the lifetime data, and an input panel that allows the user 
     44 * to control the colorization. 
    7545 * 
    7646 * @author Aivar Grislis grislis at wisc.edu 
     
    8656    double m_start; 
    8757    double m_stop; 
     58    double m_min; 
    8859    double m_max; 
    8960 
     
    9263         
    9364        m_auto = true; 
    94         m_start = m_stop = m_max = 0.0; 
     65        m_start = m_stop = m_min = m_max = 0.0; 
    9566 
    9667        m_histogram = new Histogram(320, 160, this); 
     
    10879    } 
    10980 
    110     void updateData(double lifetime[], double max) { 
     81    /** 
     82     * Gets updates periodically as the fit progresses and the lifetime 
     83     * distribution changes. 
     84     * 
     85     * @param lifetime 
     86     * @param min 
     87     * @param max 
     88     */ 
     89    void updateData(double lifetime[], double min, double max) { 
    11190        synchronized (m_synchObject) { 
     91            m_min = min; 
    11292            m_max = max; 
    113             m_histogram.updateData(lifetime, max); 
     93            m_histogram.updateData(lifetime, min, max); 
    11494            if (m_auto) { 
     95                m_start = min; 
    11596                m_stop = max; 
    11697            } 
    117             m_colorBar.setRange(m_auto, m_start, m_stop, max); 
    118             m_inputPanel.setRange(m_auto, m_start, m_stop, max); 
     98            m_colorBar.setRange(m_auto, m_start, m_stop, min, max); 
     99            m_inputPanel.setRange(m_auto, m_start, m_stop, min, max); 
    119100        } 
    120101    } 
    121102 
    122     public void setRange(boolean auto, double start, double stop, double max) { 
     103    /** 
     104     * Responds to external changes in the range settings.  Passes 
     105     * them on to the histogram, color bar, and input panel and any 
     106     * registered listener. 
     107     * 
     108     * @param auto 
     109     * @param start 
     110     * @param stop 
     111     * @param min 
     112     * @param max 
     113     */ 
     114    public void setRange(boolean auto, double start, double stop, double min, double max) { 
    123115        synchronized (m_synchObject) { 
    124116           m_auto = auto; 
    125117           m_start = start; 
    126118           m_stop = stop; 
     119           m_min = min; 
    127120           m_max = max; 
    128121 
    129            m_histogram.setRange(auto, start, stop, max); 
    130            m_colorBar.setRange(auto, start, stop, max); 
    131            m_inputPanel.setRange(auto, start, stop, max); 
     122           m_histogram.setRange(auto, start, stop, min, max); 
     123           m_colorBar.setRange(auto, start, stop, min, max); 
     124           m_inputPanel.setRange(auto, start, stop, min, max); 
    132125 
    133            m_listener.setRange(auto, start, stop, max); 
     126           m_listener.setRange(auto, start, stop, min, max); 
    134127        } 
    135128    } 
    136129 
     130    /** 
     131     * Makes this UI go away if a fit is cancelled. 
     132     */ 
    137133    public void quit() { 
    138134        m_frame.dispose(); //TODO ? what should I call here 
Note: See TracChangeset for help on using the changeset viewer.