[chronojump] Refactorized some sprint methods
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Refactorized some sprint methods
- Date: Wed, 24 Mar 2021 16:47:17 +0000 (UTC)
commit 012285cf8ea14b75d63e0433224cc940f5c5e460
Author: Xavier de Blas <xaviblas gmail com>
Date: Wed Mar 24 17:37:37 2021 +0100
Refactorized some sprint methods
src/gui/app1/chronojump.cs | 6 ++---
src/gui/sprint.cs | 59 +++++-----------------------------------------
src/run.cs | 48 ++++++++++++++++++++++++++++++++++++-
3 files changed, 56 insertions(+), 57 deletions(-)
---
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index 6fcca50c..5f446294 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -22,7 +22,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Copyright (C) 2004-2020 Xavier de Blas <xaviblas gmail com>
+ * Copyright (C) 2004-2021 Xavier de Blas <xaviblas gmail com>
*/
@@ -4909,7 +4909,7 @@ public partial class ChronoJumpWindow
private void calculateSprintAndUpload()
{
- string positions = getSprintPositions(
+ string positions = RunInterval.GetSprintPositions(
currentRunInterval.DistanceInterval, //distanceInterval. == -1 means variable
distances
currentRunInterval.IntervalTimesString,
currentRunIntervalType.DistancesString //distancesString
@@ -4920,7 +4920,7 @@ public partial class ChronoJumpWindow
positions = Util.ChangeChars(positions, ",", ".");
positions = "0;" + positions;
- string splitTimes = getSplitTimes(currentRunInterval.IntervalTimesString);
+ string splitTimes = RunInterval.GetSplitTimes(currentRunInterval.IntervalTimesString,
preferences.digitsNumber);
splitTimes = Util.ChangeChars(splitTimes, ",", ".");
splitTimes = "0;" + splitTimes;
diff --git a/src/gui/sprint.cs b/src/gui/sprint.cs
index 88702d68..afa023ad 100644
--- a/src/gui/sprint.cs
+++ b/src/gui/sprint.cs
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Copyright (C) 2017 Xavier de Blas <xaviblas gmail com>
+ * Copyright (C) 2017,2021 Xavier de Blas <xaviblas gmail com>
*/
using System;
@@ -87,15 +87,15 @@ public partial class ChronoJumpWindow
//get intervalTimes
string intervalTimesString = lineSplit[8];
- string positions = getSprintPositions(
+ string positions = RunInterval.GetSprintPositions(
Convert.ToDouble(lineSplit[7]), //distanceInterval. == -1 means
variable distances
intervalTimesString,
- runIntervalTypeDistances(lineSplit[4], runITypes)
//distancesString
+ SelectRunITypes.RunIntervalTypeDistances(lineSplit[4], runITypes)
//distancesString
);
if(positions == "")
continue;
- string splitTimes = getSplitTimes(intervalTimesString);
+ string splitTimes = RunInterval.GetSplitTimes(intervalTimesString,
preferences.digitsNumber);
string [] lineParams = {
lineSplit[4],
@@ -118,7 +118,7 @@ public partial class ChronoJumpWindow
return;
}
- string positions = getSprintPositions(
+ string positions = RunInterval.GetSprintPositions(
runI.DistanceInterval, //distanceInterval. == -1 means variable
distances
runI.IntervalTimesString,
runIType.DistancesString //distancesString
@@ -135,7 +135,7 @@ public partial class ChronoJumpWindow
runI.Type,
runI.UniqueID.ToString(),
positions,
- getSplitTimes(runI.IntervalTimesString),
+ RunInterval.GetSplitTimes(runI.IntervalTimesString, preferences.digitsNumber),
Util.TrimDecimals(runI.TimeTotal, preferences.digitsNumber)
);
@@ -145,53 +145,6 @@ public partial class ChronoJumpWindow
LogB.Information("SPRINT add END");
}
- private string getSprintPositions(double distanceInterval, string intervalTimesString, string
distancesString)
- {
- string positions = "";
- string [] intervalTimesSplit = intervalTimesString.Split(new char[] {'='});
- if(! distancesString.Contains("R") ) //discard RSA
- {
- string sep = "";
- for(int i=0; i < intervalTimesSplit.Length; i ++)
- {
- positions += sep + Util.GetRunITotalDistance(distanceInterval,
distancesString, i+1);
- sep = ";";
- }
-
- //format positions
- positions = Util.ChangeChars(positions, "-", ";");
- }
- return positions;
- }
-
- private string getSplitTimes(string intervalTimesString)
- {
- string [] intervalTimesSplit = intervalTimesString.Split(new char[] {'='});
-
- //manage accumulated time
- double timeAccumulated = 0;
- string splitTimes = "";
- string sep = "";
- foreach(string time in intervalTimesSplit)
- {
- double timeD = Convert.ToDouble(time);
- timeAccumulated += timeD;
- splitTimes += sep + Util.TrimDecimals(timeAccumulated, preferences.digitsNumber);
- sep = ";";
- }
-
- return splitTimes;
- }
-
- private string runIntervalTypeDistances(string runTypeEnglishName, List<object> runITypes)
- {
- foreach(SelectRunITypes type in runITypes)
- if(type.NameEnglish == runTypeEnglishName)
- return(type.DistancesString);
-
- return "";
- }
-
private void onTreeviewSprintSelectionEntry (object o, EventArgs args)
{
TreeModel model;
diff --git a/src/run.cs b/src/run.cs
index 41a0299e..6804da9f 100644
--- a/src/run.cs
+++ b/src/run.cs
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Copyright (C) 2004-2017 Xavier de Blas <xaviblas gmail com>
+ * Copyright (C) 2004-2021 Xavier de Blas <xaviblas gmail com>
*/
using System;
@@ -209,6 +209,52 @@ public class RunInterval : Run
limited, simulated, initialSpeed, datetime);
}
+ //this discards RSA
+ public static string GetSprintPositions(double distanceInterval, string intervalTimesString, string
distancesString)
+ {
+ string positions = "";
+ string [] intervalTimesSplit = intervalTimesString.Split(new char[] {'='});
+ if(! distancesString.Contains("R") ) //discard RSA
+ {
+ string sep = "";
+ for(int i=0; i < intervalTimesSplit.Length; i ++)
+ {
+ positions += sep + Util.GetRunITotalDistance(distanceInterval,
distancesString, i+1);
+ sep = ";";
+ }
+
+ //format positions
+ positions = Util.ChangeChars(positions, "-", ";");
+ }
+ return positions;
+ }
+
+ public static string GetSplitTimes(string intervalTimesString, int prefsDigitsNumber)
+ {
+ string [] intervalTimesSplit = intervalTimesString.Split(new char[] {'='});
+
+ //manage accumulated time
+ double timeAccumulated = 0;
+ string splitTimes = "";
+ string sep = "";
+ foreach(string time in intervalTimesSplit)
+ {
+ double timeD = Convert.ToDouble(time);
+ timeAccumulated += timeD;
+ splitTimes += sep + Util.TrimDecimals(timeAccumulated, prefsDigitsNumber);
+ sep = ";";
+ }
+
+ return splitTimes;
+ }
+
+ public static string GetCSVInputMulti() {
+ return Path.Combine(Path.GetTempPath(), "sprintInputMulti.csv");
+ }
+ public static string GetCSVResultsFileName() {
+ return Path.Combine(Path.GetTempPath(), "sprintResults.csv");
+ }
+
public string IntervalTimesString
{
get { return intervalTimesString; }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]