//called on changing radio mode (! show), and on clicking button_encoder_analyze_data_select_curves (show) //not called on current_set void prepareAnalyzeRepetitions() { if(radio_encoder_analyze_individual_current_session.Active) { if(encSelReps == null || encSelReps.Type != EncoderSelectRepetitions.Types.INDIVIDUAL_CURRENT_SESSION) encSelReps = new EncoderSelectRepetitionsIndividualCurrentSession(); encSelReps.FakeButtonDeleteCurve.Clicked -= new EventHandler(on_delete_encoder_curve); encSelReps.FakeButtonDeleteCurve.Clicked += new EventHandler(on_delete_encoder_curve); } else if(radio_encoder_analyze_individual_all_sessions.Active) { if(encSelReps == null || encSelReps.Type != EncoderSelectRepetitions.Types.INDIVIDUAL_ALL_SESSIONS) encSelReps = new EncoderSelectRepetitionsIndividualAllSessions(); } else if(radio_encoder_analyze_groupal_current_session.Active) { if(encSelReps == null || encSelReps.Type != EncoderSelectRepetitions.Types.GROUPAL_CURRENT_SESSION) encSelReps = new EncoderSelectRepetitionsGroupalCurrentSession(); } else return; //error encSelReps.PassVariables(currentPerson, currentSession, currentEncoderGI, button_encoder_analyze, getExerciseIDFromCombo(exerciseCombos.ANALYZE), preferences.askDeletion); encSelReps.Do(); updateUserCurvesLabelsAndCombo(false); }
//TODO:put zoom,unzoom (at side of delete curve) in capture curves (for every curve) // //TODO: capture also with webcam an attach it to signal or curve // //TODO: peak power in eccentric in absolute values // //TODO: on cross, spline and force speed and power speed should have a spar value higher, like 0.7. On the other hand, the other cross graphs, haveload(mass) in the X lot more discrete, there is good to put 0.5 private void encoderInitializeStuff() { encoder_pulsebar_capture.Fraction = 1; encoder_pulsebar_capture.Text = ""; encoder_pulsebar_analyze.Fraction = 1; encoder_pulsebar_analyze.Text = ""; //read from SQL encoderConfigurationCurrent = SqliteEncoder.LoadEncoderConfiguration(); encoderCaptureListStore = new Gtk.ListStore (typeof (EncoderCurve)); encSelReps = new EncoderSelectRepetitions(); //the glade cursor_changed does not work on mono 1.2.5 windows //treeview_encoder_capture_curves.CursorChanged += on_treeview_encoder_capture_curves_cursor_changed; //changed, now unselectable because there are the checkboxes createEncoderCombos(); encoderConfigurationGUIUpdate(); //on start it's concentric and powerbars. Eccon-together should be unsensitive check_encoder_analyze_eccon_together.Sensitive = false; //spin_encoder_capture_inertial.Value = Convert.ToDouble(Util.ChangeDecimalSeparator( // SqlitePreferences.Select("inertialmomentum"))); //initialize capture and analyze classes encoderRProcCapture = new EncoderRProcCapture(); encoderRProcAnalyze = new EncoderRProcAnalyze(); captureCurvesBarsData = new ArrayList(0); try { playVideoEncoderInitialSetup(); } catch { //it crashes on Raspberry, Banana } capturingCsharp = encoderCaptureProcess.STOPPED; //done here because in Glade we cannot use the TextBuffer.Changed textview_encoder_signal_comment.Buffer.Changed += new EventHandler(on_textview_encoder_signal_comment_key_press_event); configInit(); array1RM = new ArrayList(); }