[chronojump] neuromuscularProfile export CSV done



commit 3312d6aace2bd0f33b1d1a5c6e2ef7266d22df98
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Mar 25 21:28:20 2014 +0100

    neuromuscularProfile export CSV done

 src/encoder.cs              |   18 ++++++++++++++----
 src/gui/encoder.cs          |   41 +++++++++++++++++++----------------------
 src/gui/encoderTreeviews.cs |   32 ++++++++++++++++++++++++++++++++
 3 files changed, 65 insertions(+), 26 deletions(-)
---
diff --git a/src/encoder.cs b/src/encoder.cs
index 1bc81ea..7cf2479 100644
--- a/src/encoder.cs
+++ b/src/encoder.cs
@@ -312,7 +312,7 @@ public class EncoderNeuromuscularData
                        int e2f_t, double e2f_f_max, int e2f_f_max_t, double e2f_rfd_max
                        )
        {
-               this.n = n; //?
+               this.n = n;
                this.e1_range = e1_range; 
                this.e1_t = e1_t;
                this.e1_fmax = e1_fmax;
@@ -342,7 +342,7 @@ public class EncoderNeuromuscularData
                for(int i = 1 ; i < cells.Length ;  i ++)
                        cells[i] = 
Util.TrimDecimals(Convert.ToDouble(Util.ChangeDecimalSeparator(cells[i])),3);
        
-               this.n = cells[0]; //?
+               this.n          = cells[0];
                this.e1_range   = Convert.ToInt32(cells[1]); 
                this.e1_t       = Convert.ToInt32(cells[2]);
                this.e1_fmax    = Convert.ToDouble(cells[3]);
@@ -365,9 +365,19 @@ public class EncoderNeuromuscularData
                this.e2f_rfd_max = Convert.ToDouble(cells[20]);
        }
 
-       //TODO:
        public string ToCSV() {
-               return "";
+               string sep = ";";
+               return 
+                       n + sep + e1_range.ToString() + sep + 
+                       e1_t.ToString() + sep + e1_fmax.ToString() + sep + 
+                       e1_rfd_avg.ToString() + sep + e1_i.ToString() + sep + 
+                       ca_range.ToString() + sep + cl_t.ToString() + sep + 
+                       cl_rfd_avg.ToString() + sep + cl_i.ToString() + sep + 
+                       cl_f_avg.ToString() + sep + cl_vf.ToString() + sep + cl_f_max.ToString() + sep + 
+                       cl_s_avg.ToString() + sep + cl_s_max.ToString() + sep + 
+                       cl_p_avg.ToString() + sep + cl_p_max.ToString() + sep + 
+                       e2f_t.ToString() + sep + e2f_f_max.ToString() + sep + 
+                       e2f_f_max_t.ToString() + sep + e2f_rfd_max;
        }
 }
 
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 6690efe..c9e5307 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -2908,19 +2908,30 @@ Log.WriteLine(str);
 
                checkFile(Constants.EncoderCheckFileOp.ANALYZE_SAVE_TABLE);
        }
+
        void on_button_encoder_save_table_file_selected (string destination)
        {
                try {
                        //this overwrites if needed
                        TextWriter writer = File.CreateText(destination);
 
-                       //wrrite header
-                       writer.WriteLine(Util.RemoveNewLine(Util.StringArrayToString(
-                                               treeviewEncoderAnalyzeHeaders, ";"), false));
-                       //write curves rows
-                       ArrayList array = getTreeViewCurves(encoderAnalyzeListStore);
-                       foreach (EncoderCurve ec in array)
-                               writer.WriteLine(ec.ToCSV());
+                       if(lastTreeviewEncoderAnalyzeIsNeuromuscular) {
+                               //write header
+                               writer.WriteLine(Util.RemoveNewLine(Util.StringArrayToString(
+                                                       treeviewEncoderAnalyzeNeuromuscularHeaders, ";"), 
false));
+                               //write curves rows
+                               ArrayList array = getTreeViewNeuromuscular(encoderAnalyzeListStore);
+                               foreach (EncoderNeuromuscularData nm in array)
+                                       writer.WriteLine(nm.ToCSV());
+                       } else {
+                               //write header
+                               writer.WriteLine(Util.RemoveNewLine(Util.StringArrayToString(
+                                                       treeviewEncoderAnalyzeHeaders, ";"), false));
+                               //write curves rows
+                               ArrayList array = getTreeViewCurves(encoderAnalyzeListStore);
+                               foreach (EncoderCurve ec in array)
+                                       writer.WriteLine(ec.ToCSV());
+                       }
                        
                        writer.Flush();
                        ((IDisposable)writer).Dispose();
@@ -2961,19 +2972,6 @@ Log.WriteLine(str);
        }
 
 
-       // ---------helpful methods -----------
-       
-       ArrayList getTreeViewCurves(Gtk.ListStore ls) {
-               TreeIter iter = new TreeIter();
-               ls.GetIterFirst ( out iter ) ;
-               ArrayList array = new ArrayList();
-               do {
-                       EncoderCurve ec = (EncoderCurve) ls.GetValue (iter, 0);
-                       array.Add(ec);
-               } while (ls.IterNext (ref iter));
-               return array;
-       }
-
 
        int getExerciseIDFromName (string name) {
                string idFound = Util.FindOnArray(':', 2, 0, name, 
@@ -4341,11 +4339,9 @@ Log.WriteLine(str);
                                        if(radiobutton_encoder_analyze_neuromuscular_profile.Active) {
                                                treeviewEncoderAnalyzeRemoveColumns(false);     
//neuromuscular
                                                createTreeViewEncoderAnalyzeNeuromuscular(contents);
-                                               button_encoder_analyze_table_save.Sensitive = false;
                                        } else {
                                                treeviewEncoderAnalyzeRemoveColumns(true);      //curves
                                                createTreeViewEncoderAnalyze(contents);
-                                               button_encoder_analyze_table_save.Sensitive = true;
                                        }
                                }
                        }
@@ -4356,6 +4352,7 @@ Log.WriteLine(str);
                        treeview_encoder_analyze_curves.Sensitive = true;
                        
                        button_encoder_analyze_image_save.Sensitive = true;
+                       button_encoder_analyze_table_save.Sensitive = true;
                        
                        string crossName = 
Util.FindOnArray(':',1,0,UtilGtk.ComboGetActive(combo_encoder_analyze_cross),
                                                encoderAnalyzeCrossTranslation);
diff --git a/src/gui/encoderTreeviews.cs b/src/gui/encoderTreeviews.cs
index 2496a4d..7f27f91 100644
--- a/src/gui/encoderTreeviews.cs
+++ b/src/gui/encoderTreeviews.cs
@@ -169,6 +169,8 @@ public partial class ChronoJumpWindow
                Catalog.GetString("PeakPower/PPT") + "\n (W/s)"
        };
 
+       bool lastTreeviewEncoderAnalyzeIsNeuromuscular = false;
+
        private int createTreeViewEncoderAnalyze(string contents) {
                string [] columnsString = treeviewEncoderAnalyzeHeaders;
 
@@ -300,6 +302,9 @@ public partial class ChronoJumpWindow
                        treeview_encoder_analyze_curves.AppendColumn (aColumn);
                        i++;
                }
+
+               lastTreeviewEncoderAnalyzeIsNeuromuscular = false; 
+
                return curvesCount;
        }
 
@@ -441,6 +446,9 @@ public partial class ChronoJumpWindow
                        treeview_encoder_analyze_curves.AppendColumn (aColumn);
                        i++;
                }
+               
+               lastTreeviewEncoderAnalyzeIsNeuromuscular = true; 
+               
                return curvesCount;
        }
 
@@ -919,6 +927,30 @@ public partial class ChronoJumpWindow
                }
        }
        
+       // ---------helpful methods -----------
+       
+       ArrayList getTreeViewCurves(Gtk.ListStore ls) {
+               TreeIter iter = new TreeIter();
+               ls.GetIterFirst ( out iter ) ;
+               ArrayList array = new ArrayList();
+               do {
+                       EncoderCurve ec = (EncoderCurve) ls.GetValue (iter, 0);
+                       array.Add(ec);
+               } while (ls.IterNext (ref iter));
+               return array;
+       }
+
+       ArrayList getTreeViewNeuromuscular(Gtk.ListStore ls) {
+               TreeIter iter = new TreeIter();
+               ls.GetIterFirst ( out iter ) ;
+               ArrayList array = new ArrayList();
+               do {
+                       EncoderNeuromuscularData nm = (EncoderNeuromuscularData) ls.GetValue (iter, 0);
+                       array.Add(nm);
+               } while (ls.IterNext (ref iter));
+               return array;
+       }
+
        /* end of TreeView stuff */     
 
 }


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