[chronojump] encoder bells close, manages ok saved curves



commit 0e83c359eacac9480f392201f55e721f4e443e87
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Jun 2 14:34:34 2014 +0200

    encoder bells close, manages ok saved curves

 src/gui/chronojump.cs       |    4 ++-
 src/gui/encoder.cs          |   76 ++++++++++++++++++++++--------------------
 src/gui/encoderTreeviews.cs |    1 +
 3 files changed, 44 insertions(+), 37 deletions(-)
---
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index d261228..422b2fe 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -5809,7 +5809,9 @@ Console.WriteLine("X");
                EncoderCurve curve = treeviewEncoderCaptureCurvesGetCurve(1, false);
                if(curve.N != null) {
                        string contents = Util.ReadFile(UtilEncoder.GetEncoderCurvesTempFileName(), false);
-                       encoderUpdateTreeViewCapture(contents);
+                       encoderUpdateTreeViewCapture(contents); //this updates encoderCaptureCurves
+                       
+                       findAndMarkSavedCurves();
                        
                        //also update the bars plot (to show colors depending on bells changes)
                        if(captureCurvesBarsData.Count > 0) {
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 528818f..35382f1 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -4568,43 +4568,8 @@ Log.Write(" AT ANALYZE 2 ");
                                if(deletedUserCurves)
                                        updateUserCurvesLabelsAndCombo();               // (5)
                                
-                               
-                               //find the saved curves
-                               ArrayList linkedCurves = SqliteEncoder.SelectSignalCurve(false, 
-                                               Convert.ToInt32(encoderSignalUniqueID), //signal
-                                               -1, -1, -1);                            //curve, msStart,msEnd
-                               Log.WriteLine("SAVED CURVES FOUND");
-                               foreach(EncoderSignalCurve esc in linkedCurves)
-                                       Log.WriteLine(esc.ToString());
-
-                               int curveCount = 0;
-                               double curveStart = 0;
-                               double curveEnd = 0;
-                               foreach (EncoderCurve curve in encoderCaptureCurves) 
-                               {
-                                       if(eccon == "c") {
-                                               curveStart = Convert.ToDouble(curve.Start);
-                                               curveEnd = Convert.ToDouble(curve.Start) + 
Convert.ToDouble(curve.Duration);
-                                       } else { //eccon == "ecS"
-                                              if(Util.IsEven(curveCount)) {
-                                                       curveStart = Convert.ToDouble(curve.Start);
-                                                       curveCount ++;
-                                                       continue;
-                                              } else
-                                                       curveEnd = Convert.ToDouble(curve.Start) + 
Convert.ToDouble(curve.Duration);
-                                       }
-                                       
-                                       foreach(EncoderSignalCurve esc in linkedCurves) {
-                                               if(curveStart <= esc.msCentral && curveEnd >= esc.msCentral)
-                                               {
-                                                       Log.WriteLine(curve.Start + " is saved");
-                                                       encoderCaptureSelectBySavedCurves(esc.msCentral, 
true);
-                                                       break;
-                                               }
-                                       }
-                                       curveCount ++;
-                               }
 
+                               findAndMarkSavedCurves();
 
                        }
 
@@ -4680,6 +4645,45 @@ Log.Write(" AT ANALYZE 2 ");
                treeview_encoder_capture_curves.Sensitive = true;
                Util.FileDelete(UtilEncoder.GetEncoderStatusTempFileName());
        }
+
+       private void findAndMarkSavedCurves() {
+               //find the saved curves
+               ArrayList linkedCurves = SqliteEncoder.SelectSignalCurve(false, 
+                               Convert.ToInt32(encoderSignalUniqueID), //signal
+                               -1, -1, -1);                            //curve, msStart,msEnd
+               //Log.WriteLine("SAVED CURVES FOUND");
+               //foreach(EncoderSignalCurve esc in linkedCurves)
+               //      Log.WriteLine(esc.ToString());
+
+               int curveCount = 0;
+               double curveStart = 0;
+               double curveEnd = 0;
+               foreach (EncoderCurve curve in encoderCaptureCurves) 
+               {
+                       if(findEccon(true) == "c") {
+                               curveStart = Convert.ToDouble(curve.Start);
+                               curveEnd = Convert.ToDouble(curve.Start) + Convert.ToDouble(curve.Duration);
+                       } else { //eccon == "ecS"
+                               if(Util.IsEven(curveCount)) {
+                                       curveStart = Convert.ToDouble(curve.Start);
+                                       curveCount ++;
+                                       continue;
+                               } else
+                                       curveEnd = Convert.ToDouble(curve.Start) + 
Convert.ToDouble(curve.Duration);
+                       }
+
+                       foreach(EncoderSignalCurve esc in linkedCurves) {
+                               if(curveStart <= esc.msCentral && curveEnd >= esc.msCentral)
+                               {
+                                       Log.WriteLine(curve.Start + " is saved");
+                                       encoderCaptureSelectBySavedCurves(esc.msCentral, true);
+                                       break;
+                               }
+                       }
+                       curveCount ++;
+               }
+       }
+
        
        /* end of thread stuff */
        
diff --git a/src/gui/encoderTreeviews.cs b/src/gui/encoderTreeviews.cs
index fd4d429..af096e7 100644
--- a/src/gui/encoderTreeviews.cs
+++ b/src/gui/encoderTreeviews.cs
@@ -325,6 +325,7 @@ public partial class ChronoJumpWindow
        }
        
        //saved curves (when load), or recently deleted curves should modify the encoderCapture treeview
+       //used also on bells close
        void encoderCaptureSelectBySavedCurves(int msCentral, bool selectIt) {
                TreeIter iter;
                TreeIter iterPre;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]