Changeset 7910 for trunk


Ignore:
Timestamp:
03/02/12 19:44:30 (8 years ago)
Author:
aivar
Message:

SLIM Plugin: Fixed cursor code bugs. Prompt cursors were not working at all.

Location:
trunk/projects/slim-plugin/src/main/java/loci/slim
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/projects/slim-plugin/src/main/java/loci/slim/SLIMProcessor.java

    r7904 r7910  
    458458        double[] decay = getSummedDecay(); 
    459459        int[] results = CursorHelper.estimateDecayCursors(m_timeRange, decay); 
    460         int dataStart = results[CursorHelper.DECAY_START]; 
    461         int transientStop = results[CursorHelper.DECAY_STOP]; 
    462          
     460        int transientStart = results[CursorHelper.TRANSIENT_START]; 
     461        int dataStart = results[CursorHelper.DATA_START]; 
     462        int transientStop = results[CursorHelper.TRANSIENT_STOP]; 
     463 
     464        // want to batch all of the fitting cursor notifications to listeners 
     465        _fittingCursor.suspendNotifications(true); 
     466        _fittingCursor.setTransientStartBin(transientStart); 
    463467        _fittingCursor.setDataStartBin(dataStart); 
     468        _fittingCursor.suspendNotifications(false); 
    464469        _fittingCursor.setTransientStopBin(transientStop); 
    465470    } 
     
    507512 
    508513            double[] results = CursorHelper.estimateCursors(m_timeRange, excitation.getValues(), decay); 
     514            // want all the fitting cursor listeners to get everything at once 
     515            _fittingCursor.suspendNotifications(true); 
    509516            _fittingCursor.setPromptStartBin   ((int) results[CursorHelper.PROMPT_START]); 
    510517            _fittingCursor.setPromptStopBin    ((int) results[CursorHelper.PROMPT_STOP]); 
    511518            _fittingCursor.setPromptBaselineValue    (results[CursorHelper.PROMPT_BASELINE]); 
    512             _fittingCursor.setTransientStartBin((int) results[CursorHelper.TRANSIENT_STOP]); 
    513             _fittingCursor.setDataStartBin     ((int) results[CursorHelper.TRANSIENT_STOP]); 
     519            _fittingCursor.setTransientStartBin((int) results[CursorHelper.TRANSIENT_START]); 
     520            _fittingCursor.setDataStartBin     ((int) results[CursorHelper.DATA_START]); 
     521            _fittingCursor.suspendNotifications(false); 
    514522            _fittingCursor.setTransientStopBin ((int) results[CursorHelper.TRANSIENT_STOP]); 
    515523 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/fitting/cursor/FittingCursor.java

    r7904 r7910  
    5151    private Set<IFittingCursorListener> _listeners; 
    5252    private boolean _showBins; 
     53    private volatile boolean _suspend; 
    5354    private double _promptStartValue; 
    5455    private double _promptStopValue; 
     
    106107        return _showBins; 
    107108    } 
    108  
    109     /** 
    110      * Sets the start of the prompt based on a string.  Handles bins or time 
    111      * values. 
    112      *  
    113      * @param promptStart  
    114      */ 
    115     public void setPromptStart(String promptStart) { 
    116         Double promptStartValue = null; 
    117         if (_showBins) { 
    118             Integer parsedInteger = getIntegerValue(promptStart); 
     109     
     110    public void suspendNotifications(boolean suspend) { 
     111        _suspend = suspend; 
     112    } 
     113 
     114    /** 
     115     * Sets the start of the prompt based on a prompt delay string.  Handles 
     116     * bins or time values. 
     117     *  
     118     * @param promptDelay  
     119     */ 
     120    public void setPromptDelay(String promptDelay) { 
     121        Double promptDelayValue = null; 
     122        if (_showBins) { 
     123            Integer parsedInteger = getIntegerValue(promptDelay); 
    119124            if (null != parsedInteger) { 
    120                 promptStartValue = _inc * parsedInteger; 
    121             } 
    122         } 
    123         else { 
    124             promptStartValue = getDoubleValue(promptStart); 
    125         } 
    126         if (null != promptStartValue) { 
     125                promptDelayValue = _inc * parsedInteger; 
     126            } 
     127        } 
     128        else { 
     129            promptDelayValue = getDoubleValue(promptDelay); 
     130        } 
     131        if (null != promptDelayValue) { 
     132            // convert delay to start 
     133            double promptStartValue = promptDelayValue + _transientStartValue; 
    127134            if (promptStartValue <= _promptStopValue && 
    128135                    promptStartValue >= 0.0) { 
    129                 _promptStartValue = promptStartValue; 
     136                double diff = _promptStartValue - promptStartValue; 
     137                _promptStartValue += diff; 
     138                _promptStopValue  += diff; 
    130139            } 
    131140        } 
     
    135144  
    136145    /** 
    137      * Gets the start of the prompt as a string.  Handles bins or time values. 
    138      *  
    139      * @return  
    140      */ 
    141     public String getPromptStart() { 
     146     * Gets the start of the prompt as a string showing prompt delay.  Handles 
     147     * bins or time values. 
     148     *  
     149     * @return  
     150     */ 
     151    public String getPromptDelay() { 
    142152        StringBuffer returnValue = new StringBuffer(); 
    143153        if (_showBins) { 
    144             returnValue.append(getPromptStartBin()); 
    145         } 
    146         else { 
    147             returnValue.append(getPromptStartValue()); 
     154            int delay = getPromptStartBin() - getTransientStartBin(); 
     155            returnValue.append(delay); 
     156        } 
     157        else { 
     158            double delay = getPromptStartValue() - getTransientStartValue(); 
     159            returnValue.append(delay); 
    148160        } 
    149161        return returnValue.toString(); 
     
    190202  
    191203    /** 
    192      * Sets the end of the prompt based on a string.  Handles bins or time 
    193      * values. 
    194      *  
    195      * @param promptStop  
    196      */ 
    197     public void setPromptStop(String promptStop) { 
    198         Double promptStopValue = null; 
    199         if (_showBins) { 
    200             Integer parsedInteger = getIntegerValue(promptStop); 
     204     * Sets the end of the prompt based on a prompt width string.  Handles bins 
     205     * or time values. 
     206     *  
     207     * @param promptWidth  
     208     */ 
     209    public void setPromptWidth(String promptWidth) { 
     210        Double promptWidthValue = null; 
     211        if (_showBins) { 
     212            Integer parsedInteger = getIntegerValue(promptWidth); 
    201213            if (null != parsedInteger) { 
    202                 promptStopValue = _inc * parsedInteger; 
    203             } 
    204         } 
    205         else { 
    206             promptStopValue = getDoubleValue(promptStop); 
    207         } 
    208         if (null != promptStopValue) { 
     214                promptWidthValue = _inc * parsedInteger; 
     215            } 
     216        } 
     217        else { 
     218            promptWidthValue = getDoubleValue(promptWidth); 
     219        } 
     220        if (null != promptWidthValue) { 
     221            double promptStopValue = getPromptStartValue() + promptWidthValue; 
    209222            if (promptStopValue >= _promptStartValue && 
    210223                    promptStopValue <= _bins * _inc) { 
     
    217230 
    218231    /** 
    219      * Gets the end of the prompt as a string.  Handles bins or time values. 
    220      *  
    221      * @return  
    222      */ 
    223     public String getPromptStop() { 
     232     * Gets the end of the prompt as a string showing prompt width.  Handles 
     233     * bins or time values. 
     234     *  
     235     * @return  
     236     */ 
     237    public String getPromptWidth() { 
    224238        StringBuffer returnValue = new StringBuffer(); 
    225239        if (_showBins) { 
    226             returnValue.append(getPromptStopBin()); 
    227         } 
    228         else { 
    229             returnValue.append(getPromptStopValue()); 
     240            int width = getPromptStopBin() - getPromptStartBin(); 
     241            returnValue.append(width); 
     242        } 
     243        else { 
     244            double width = getPromptStopValue() - getPromptStartValue(); 
     245            returnValue.append(width); 
    230246        } 
    231247        return returnValue.toString(); 
     
    596612     */ 
    597613    private void notifyListeners() { 
    598         for (IFittingCursorListener listener : _listeners) { 
    599             listener.cursorChanged(this); 
     614        if (!_suspend) { 
     615            for (IFittingCursorListener listener : _listeners) { 
     616                listener.cursorChanged(this); 
     617            } 
    600618        } 
    601619    } 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/fitting/cursor/FittingCursorHelper.java

    r7904 r7910  
    114114     
    115115    /** 
    116      * Gets the prompt start cursor. 
     116     * Gets the prompt delay cursor. 
    117117     *  
    118118     * @return  
    119119     */ 
    120120    @Override 
    121     public String getPromptStart() { 
    122         return _fittingCursorUI.getPromptStart(); 
     121    public String getPromptDelay() { 
     122        return _fittingCursorUI.getPromptDelay(); 
    123123    } 
    124124   
    125125    /** 
    126      * Sets the prompt start cursor. 
     126     * Sets the prompt delay cursor. 
    127127     *  
    128128     * @param promptStart  
    129129     */ 
    130130    @Override 
    131     public void setPromptStart(String promptStart) { 
    132         _fittingCursor.setPromptStart(promptStart); 
     131    public void setPromptDelay(String promptDelay) { 
     132        _fittingCursor.setPromptDelay(promptDelay); 
    133133    } 
    134134 
    135135    /** 
    136      * Gets the prompt end cursor. 
     136     * Gets the prompt width cursor. 
    137137     *  
    138138     * @return  
    139139     */ 
    140140    @Override 
    141     public String getPromptStop() { 
    142         return _fittingCursorUI.getPromptStop(); 
     141    public String getPromptWidth() { 
     142        return _fittingCursorUI.getPromptWidth(); 
    143143    } 
    144144 
    145145    /** 
    146      * Sets the prompt end cursor. 
     146     * Sets the prompt width cursor. 
    147147     *  
    148      * @param promptStop  
     148     * @param promptWidth 
    149149     */ 
    150150    @Override 
    151     public void setPromptStop(String promptStop) { 
    152         _fittingCursor.setPromptStart(promptStop);  
     151    public void setPromptWidth(String promptWidth) { 
     152        _fittingCursor.setPromptWidth(promptWidth);  
    153153    } 
    154154     
     
    169169    @Override 
    170170    public void setPromptBaseline(String promptBaseline) { 
    171         _fittingCursor.setPromptStart(promptBaseline); 
     171        _fittingCursor.setPromptBaseline(promptBaseline); 
    172172    } 
    173173 
     
    180180            _fittingCursorUI.setDataStart(_fittingCursor.getDataStart()); 
    181181            _fittingCursorUI.setTransientStop(_fittingCursor.getTransientStop()); 
    182             _fittingCursorUI.setPromptStart(_fittingCursor.getPromptStart()); 
    183             _fittingCursorUI.setPromptStop(_fittingCursor.getPromptStop()); 
     182            _fittingCursorUI.setPromptDelay(_fittingCursor.getPromptDelay()); 
     183            _fittingCursorUI.setPromptWidth(_fittingCursor.getPromptWidth()); 
    184184            _fittingCursorUI.setPromptBaseline(_fittingCursor.getPromptBaseline());  
    185185        } 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/fitting/cursor/IFittingCursorUI.java

    r7904 r7910  
    5353     
    5454    /** 
    55      * Gets the prompt start cursor. 
     55     * Gets the prompt delay cursor. 
    5656     *  
    5757     * @return  
    5858     */ 
    59     public String getPromptStart(); 
     59    public String getPromptDelay(); 
    6060   
    6161    /** 
    62      * Sets the prompt start cursor. 
     62     * Sets the prompt delay cursor. 
    6363     *  
    64      * @param promptStart  
     64     * @param promptDelay  
    6565     */ 
    66     public void setPromptStart(String promptStart); 
     66    public void setPromptDelay(String promptDelay); 
    6767 
    6868    /** 
    69      * Gets the prompt end cursor. 
     69     * Gets the prompt width cursor. 
    7070     *  
    7171     * @return  
    7272     */ 
    73     public String getPromptStop(); 
     73    public String getPromptWidth(); 
    7474 
    7575    /** 
    76      * Sets the prompt end cursor. 
     76     * Sets the prompt width cursor. 
    7777     *  
    78      * @param promptStop  
     78     * @param promptWidth  
    7979     */ 
    80     public void setPromptStop(String promptStop); 
     80    public void setPromptWidth(String promptWidth); 
    8181     
    8282    /** 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/fitting/images/AbstractBaseColorizedImage.java

    r7889 r7910  
    8282                int channelIndex = _stackWindow.getSlice() - 1; 
    8383                _histogramData.setChannelIndex(channelIndex); 
    84                 System.out.println("focusGained channel " + channelIndex); 
    8584                HistogramTool.getInstance().setHistogramData(_histogramData); 
    8685            } 
     
    146145    public void recalcHistogram() { 
    147146        double[] minMaxLUT = _histogramData.recalcHistogram(); 
    148          
    149         System.out.println("RecalcHistogram to " + minMaxLUT[0] + " " + minMaxLUT[1]); 
    150147 
    151148        if (null != minMaxLUT) { 
     
    186183        int y       = location[1]; 
    187184        int channel = location[2]; 
    188         //System.out.println("updatePixel(" + x + " " + y + " " + channel + " prev channel is " + _channel); 
    189185         
    190186        if (_channel != channel) { 
    191187            _channel = channel; 
    192188            _stackWindow.showSlice(channel + 1); 
    193             _values = _histogramDataChannels[channel].getValues(); 
    194              
    195             //System.out.println("values is " + _values + " " + _values.hashCode()); 
    196              
     189            _values = _histogramDataChannels[channel].getValues();             
    197190            _imageProcessor = (FloatProcessor) _imageStack.getProcessor(channel + 1); 
    198             //System.out.println("ImageProc for " + channel + " is " + _imageProcessor.toString() + " hash " + _imageProcessor.hashCode()); 
    199191        } 
    200192         
  • trunk/projects/slim-plugin/src/main/java/loci/slim/heuristics/CursorHelper.java

    r7903 r7910  
    5656    public static final int PROMPT_BASELINE     = 2; 
    5757    public static final int TRANSIENT_START     = 3; 
    58     public static final int TRANSIENT_FIT_START = 4; 
     58    public static final int DATA_START          = 4; 
    5959    public static final int TRANSIENT_STOP      = 5; 
    60     public static final int DECAY_START = 0; // use for 'estimateDecayCursors' results 
    61     public static final int DECAY_STOP  = 1; 
    6260    private static final int ATTEMPTS = 10; 
    6361 
     
    153151        } 
    154152 
    155         return new int[] { startIndex, stopIndex }; 
     153        int[] returnValue = new int[6]; 
     154        returnValue[TRANSIENT_START] = 0; 
     155        returnValue[DATA_START]      = startIndex; 
     156        returnValue[TRANSIENT_STOP]  = stopIndex; 
     157        return returnValue; 
    156158    } 
    157159 
     
    263265        transEndIndex = 9 * decay.length / 10; // "90% of transient" 
    264266        if (transEndIndex <= transStartIndex + 2 * ATTEMPTS) { // "oops" 
    265             returnValue[PROMPT_START]        = startp; 
    266             returnValue[PROMPT_STOP]         = endp; 
    267             returnValue[PROMPT_BASELINE]     = baseline; 
    268             returnValue[TRANSIENT_START]     = transStartIndex; 
    269             returnValue[TRANSIENT_FIT_START] = startt; 
    270             returnValue[TRANSIENT_STOP]      = transEndIndex; 
     267            returnValue[PROMPT_START]    = startp; 
     268            returnValue[PROMPT_STOP]     = endp; 
     269            returnValue[PROMPT_BASELINE] = baseline; 
     270            returnValue[TRANSIENT_START] = transStartIndex; 
     271            returnValue[DATA_START]      = startt; 
     272            returnValue[TRANSIENT_STOP]  = transEndIndex; 
    271273             
    272274            return returnValue; //TODO "do_estimate_resets; do_estimate_frees; " 
     
    325327            System.out.println("index is " + index); 
    326328 
    327             returnValue[PROMPT_START]        = startp; 
    328             returnValue[PROMPT_STOP]         = endp; 
    329             returnValue[PROMPT_BASELINE]     = baseline; 
    330             returnValue[TRANSIENT_START]     = transStartIndex; 
    331             returnValue[TRANSIENT_FIT_START] = startt; 
    332             returnValue[TRANSIENT_STOP]      = transEndIndex; 
     329            returnValue[PROMPT_START]    = startp; 
     330            returnValue[PROMPT_STOP]     = endp; 
     331            returnValue[PROMPT_BASELINE] = baseline; 
     332            returnValue[TRANSIENT_START] = transStartIndex; 
     333            returnValue[DATA_START]      = startt; 
     334            returnValue[TRANSIENT_STOP]  = transEndIndex; 
    333335            return returnValue; //TODO do estimate resets/frees??? 
    334336        } 
     
    342344        transFitStartIndex = transStartIndex + (transEndIndex - transStartIndex) / 20; 
    343345         
    344         returnValue[PROMPT_START]        = startp; 
    345         returnValue[PROMPT_STOP]         = endp; 
    346         returnValue[PROMPT_BASELINE]     = baseline; 
    347         returnValue[TRANSIENT_START]     = transStartIndex; 
    348         returnValue[TRANSIENT_FIT_START] = transFitStartIndex; 
    349         returnValue[TRANSIENT_STOP]      = transEndIndex; 
     346        returnValue[PROMPT_START]    = startp; 
     347        returnValue[PROMPT_STOP]     = endp; 
     348        returnValue[PROMPT_BASELINE] = baseline; 
     349        returnValue[TRANSIENT_START] = transStartIndex; 
     350        returnValue[DATA_START]      = transFitStartIndex; 
     351        returnValue[TRANSIENT_STOP]  = transEndIndex; 
    350352        return returnValue; 
    351353    } 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/ui/DecayGraph.java

    r7904 r7910  
    177177        return _frame; 
    178178    } 
    179      
     179 
     180    /** 
     181     * Sets the fitting cursor, which keeps track of prompt and transient 
     182     * start and stop cursors. 
     183     *  
     184     * @param fittingCursor  
     185     */ 
    180186    public void setFittingCursor(FittingCursor fittingCursor) { 
    181187        if (null == _fittingCursor) { 
     
    188194        _fittingCursor.addListener(_fittingCursorListener); 
    189195    } 
    190      
     196 
     197    /** 
     198     * Set or change the title. 
     199     *  
     200     * @param title  
     201     */ 
    191202    public void setTitle(final String title) { 
    192203        _frame.setTitle(title); 
     
    212223     */ 
    213224    public void setStartStop(int transStart, int dataStart, int transStop) { 
    214         if (true || null == _dataStart) { 
     225        if (null == _dataStart) { 
    215226            // initialize the vertical bars 
    216227            double transStartValue = transStart * _timeInc; 
     
    247258        int transStop  = (int) (transStopProportion  * _bins + 0.5); 
    248259 
    249         // if changed, notify listener 
     260        // if changed, notify cursor listeners 
    250261        if (transStart != _transStart || dataStart != _dataStart || 
    251262                transStop != _transStop) 
     
    546557                        } 
    547558                        else { 
    548                             _transStopMarkerProportion = _transStartMarkerProportion; 
     559                            _dataStartMarkerProportion = _transStartMarkerProportion; 
    549560                        } 
    550561                    } 
     
    628639                                } 
    629640                            } 
    630                             // start dragging start line 
    631                             _dragTransStartMarker = true; 
     641                            else { 
     642                                // no superimposition; start dragging start line 
     643                                _dragTransStartMarker = true; 
     644                            } 
    632645 
    633646                        } 
     
    645658                                } 
    646659                            } 
    647                             // start dragging data start line 
    648                             _dragDataStartMarker = true; 
     660                            else { 
     661                                // no superimposition; start dragging data start line 
     662                                _dragDataStartMarker = true; 
     663                            } 
    649664                        } 
    650665                        else if (Math.abs(x - _xTransStop) < CLOSE_ENOUGH) { 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/ui/ExcitationGraph.java

    r7904 r7910  
    511511            int promptStop        = cursor.getPromptStopBin(); 
    512512            double promptBaseline = cursor.getPromptBaselineValue(); 
    513             //setStartStop(transientStart, dataStart, transientStop); 
    514             _frame.repaint(); 
     513            if (null != _frame) { 
     514                _frame.repaint(); 
     515            } 
    515516            System.out.println("PROMPT CHANGED " + promptStart + " " + promptStop + " " + promptBaseline); 
    516517        } 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/ui/ExcitationPanel.java

    r7904 r7910  
    7474public class ExcitationPanel extends JFrame { 
    7575    private Excitation m_excitation; 
    76     private JTextField m_fileField; 
    77     private JTextField m_startField; 
    78     private JTextField m_stopField; 
    79     private JTextField m_baseField; 
    8076 
    8177    public ExcitationPanel(Excitation excitation, FittingCursor fittingCursor) { 
     
    8480 
    8581        this.setTitle("Instrument Response Function"); 
     82         
     83        int start = fittingCursor.getPromptStartBin(); 
     84        int stop  = fittingCursor.getPromptStopBin(); 
     85        double base = fittingCursor.getPromptBaselineValue(); 
    8686 
    87         int start = excitation.getStart(); 
    88         int stop = excitation.getStop(); 
    89         double base = excitation.getBase(); 
     87        //int start = excitation.getStart(); 
     88        //int stop = excitation.getStop(); 
     89        //double base = excitation.getBase(); 
    9090        double[] values = excitation.getValues(); 
    9191        int bins = values.length; 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/ui/UserInterfacePanel.java

    r7904 r7910  
    174174     
    175175    // cursor settings 
     176    JTextField m_promptBaselineField; 
    176177    JTextField m_transientStartField; 
    177178    JTextField m_dataStartField; 
    178179    JTextField m_transientStopField; 
    179     JTextField m_promptStartField; 
    180     JTextField m_promptStopField; 
    181     JTextField m_promptBaselineField; 
     180    JTextField m_promptDelayField; 
     181    JTextField m_promptWidthField; 
    182182    JComboBox m_promptComboBox; 
    183183    JButton m_estimateCursorsButton; 
     
    545545        cursorPanel.setLayout(new SpringLayout()); 
    546546 
     547        // emulating TRI2 cursor listing order here 
     548        JLabel excitationBaselineLabel = new JLabel("Excitation Baseline"); 
     549        excitationBaselineLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
     550        cursorPanel.add(excitationBaselineLabel); 
     551        m_promptBaselineField = new JTextField(9); 
     552        m_promptBaselineField.addActionListener(new ActionListener() { 
     553            public void actionPerformed(ActionEvent e) { 
     554                _fittingCursorHelper.setPromptBaseline(m_promptBaselineField.getText()); 
     555            } 
     556        }); 
     557        m_promptBaselineField.addFocusListener(new FocusAdapter() { 
     558            public void focusLost(FocusEvent e) { 
     559                _fittingCursorHelper.setPromptBaseline(m_promptBaselineField.getText()); 
     560            } 
     561        }); 
     562         
     563        cursorPanel.add(m_promptBaselineField);  
    547564        JLabel transStartLabel = new JLabel("Transient Start"); 
    548565        transStartLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
     
    596613        excitationStartLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
    597614        cursorPanel.add(excitationStartLabel); 
    598         m_promptStartField = new JTextField(9); 
    599         m_promptStartField.addActionListener(new ActionListener() { 
     615        m_promptDelayField = new JTextField(9); 
     616        m_promptDelayField.addActionListener(new ActionListener() { 
    600617            public void actionPerformed(ActionEvent e) { 
    601                 _fittingCursorHelper.setPromptStart(m_promptStartField.getText()); 
    602             } 
    603         }); 
    604         m_promptStartField.addFocusListener(new FocusAdapter() { 
     618                _fittingCursorHelper.setPromptDelay(m_promptDelayField.getText()); 
     619            } 
     620        }); 
     621        m_promptDelayField.addFocusListener(new FocusAdapter() { 
    605622            public void focusLost(FocusEvent e) { 
    606                 _fittingCursorHelper.setPromptStart(m_promptStartField.getText()); 
    607             } 
    608         }); 
    609         cursorPanel.add(m_promptStartField);        
     623                _fittingCursorHelper.setPromptDelay(m_promptDelayField.getText()); 
     624            } 
     625        }); 
     626        cursorPanel.add(m_promptDelayField);        
    610627         
    611628        JLabel excitationStopLabel = new JLabel("Excitation Width"); 
    612629        excitationStopLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
    613630        cursorPanel.add(excitationStopLabel); 
    614         m_promptStopField = new JTextField(9); 
    615         m_promptStopField.addActionListener(new ActionListener() { 
     631        m_promptWidthField = new JTextField(9); 
     632        m_promptWidthField.addActionListener(new ActionListener() { 
    616633            public void actionPerformed(ActionEvent e) { 
    617                 _fittingCursorHelper.setPromptStop(m_promptStopField.getText()); 
    618             } 
    619         }); 
    620         m_promptStopField.addFocusListener(new FocusAdapter() { 
     634                _fittingCursorHelper.setPromptWidth(m_promptWidthField.getText()); 
     635            } 
     636        }); 
     637        m_promptWidthField.addFocusListener(new FocusAdapter() { 
    621638            public void focusLost(FocusEvent e) { 
    622                 _fittingCursorHelper.setPromptStop(m_promptStopField.getText()); 
    623             } 
    624         }); 
    625         cursorPanel.add(m_promptStopField);            
    626          
    627         JLabel excitationBaselineLabel = new JLabel("Excitation Baseline"); 
    628         excitationBaselineLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
    629         cursorPanel.add(excitationBaselineLabel); 
    630         m_promptBaselineField = new JTextField(9); 
    631         m_promptBaselineField.addActionListener(new ActionListener() { 
    632             public void actionPerformed(ActionEvent e) { 
    633                 _fittingCursorHelper.setPromptBaseline(m_promptBaselineField.getText()); 
    634             } 
    635         }); 
    636         m_promptBaselineField.addFocusListener(new FocusAdapter() { 
    637             public void focusLost(FocusEvent e) { 
    638                 _fittingCursorHelper.setPromptBaseline(m_promptBaselineField.getText()); 
    639             } 
    640         }); 
    641         cursorPanel.add(m_promptBaselineField);  
     639                _fittingCursorHelper.setPromptWidth(m_promptWidthField.getText()); 
     640            } 
     641        }); 
     642        cursorPanel.add(m_promptWidthField); 
    642643         
    643644        JLabel excitationLabel = new JLabel("Excitation"); 
     
    675676                        m_promptComboBox.setSelectedItem(EXCITATION_NONE); 
    676677                        String text = _fittingCursorHelper.getShowBins() ? "0" : "0.0"; 
    677                         m_promptStartField.setText(text); 
    678                         m_promptStopField.setText(text); 
     678                        m_promptDelayField.setText(text); 
     679                        m_promptWidthField.setText(text); 
    679680                        m_promptBaselineField.setText("0.0"); 
    680681                        enablePromptCursors(false); 
     
    16861687 
    16871688    /** 
    1688      * Gets the excitation start cursor. 
     1689     * Gets the excitation delay cursor. 
    16891690     *  
    16901691     * @return  
    16911692     */ 
    1692     public String getPromptStart() { 
    1693         return m_promptStartField.getText(); 
     1693    public String getPromptDelay() { 
     1694        return m_promptDelayField.getText(); 
    16941695    } 
    16951696 
    16961697    /** 
    1697      * Sets the excitation start cursor. 
     1698     * Sets the excitation delay cursor. 
    16981699     *  
    16991700     * @param promptStart  
    17001701     */ 
    1701     public void setPromptStart(String promptStart) { 
    1702         m_promptStartField.setText(promptStart); 
     1702    public void setPromptDelay(String promptDelay) { 
     1703        m_promptDelayField.setText(promptDelay); 
    17031704    } 
    17041705 
    17051706    /** 
    1706      * Gets the excitation end cursor. 
     1707     * Gets the excitation width cursor. 
    17071708     * @return  
    17081709     */ 
    1709     public String getPromptStop() { 
    1710         return m_promptStopField.getText(); 
     1710    public String getPromptWidth() { 
     1711        return m_promptWidthField.getText(); 
    17111712    } 
    17121713 
    17131714    /** 
    1714      * Sets the excitation end cursor. 
     1715     * Sets the excitation width cursor. 
    17151716     *  
    1716      * @param promptStop  
    1717      */ 
    1718     public void setPromptStop(String promptStop) { 
    1719         m_promptStopField.setText(promptStop); 
     1717     * @param promptWidth  
     1718     */ 
     1719    public void setPromptWidth(String promptWidth) { 
     1720        m_promptWidthField.setText(promptWidth); 
    17201721    } 
    17211722 
     
    17551756     */ 
    17561757    private void enablePromptCursors(boolean enable) { 
    1757         m_promptStartField.setEditable(enable); 
    1758         m_promptStopField.setEditable(enable); 
     1758        m_promptDelayField.setEditable(enable); 
     1759        m_promptWidthField.setEditable(enable); 
    17591760        m_promptBaselineField.setEditable(enable); 
    17601761    } 
Note: See TracChangeset for help on using the changeset viewer.