Running Manager  1.7
API for Running Manager (https://github.com/HWiman-ICONIC/running-manager)
D:/dev/running-manager/Calculator.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Defines.h>
4 #include <vector>
5 
6 #include <wx/aui/auibook.h>
7 #include <wx/panel.h>
8 #include <wx/textctrl.h>
9 #include <wx/grid.h>
10 #include <wx/stattext.h>
11 
15 namespace rm {
19 class Calculator : public wxAuiNotebook {
20 public:
24  class Speed : public wxPanel {
25  public:
26 
31  Speed( wxWindow *pParent );
32 
37  void OnMinPerKm( wxSpinEvent &e );
38 
43  void OnMinPerMile( wxSpinEvent &e );
44 
49  void Update(ESpeedType const &sender );
50 
51  wxSpinCtrl *cMinPerKmMinSpin;
52  wxSpinCtrl *cMinPerKmSecSpin;
53  wxSpinCtrl *cMinPerMileMinSpin;
54  wxSpinCtrl *cMinPerMileSecSpin;
55  wxTextCtrl *cKmPerHour;
56  wxGrid *cDistanceGrid;
57  };
58 
62  class Predictor : public wxPanel {
63  public:
68  Predictor( wxWindow *pParent );
69 
74  void OnHour( wxSpinEvent &e );
75 
80  void OnMinute( wxSpinEvent &e );
81 
86  void OnSecond( wxSpinEvent &e );
87 
92  void OnDistance( wxCommandEvent &e );
93 
97  void Update();
98 
99  wxArrayString cDistanceNames;
100  std::vector<double> cDistances;
101 
102  wxComboBox *cpSelectedDistance;
103  wxSpinCtrl *cHourSpin;
104  wxSpinCtrl *cMinuteSpin;
105  wxSpinCtrl *cSecondSpin;
106  wxStaticText *cResultText;
107  };
108 
113  Calculator( wxWindow *pParent );
114 };
115 }
wxSpinCtrl * cMinPerKmSecSpin
Definition: Calculator.h:52
Predictor(wxWindow *pParent)
Constructor.
Calculator(wxWindow *pParent)
Constructor.
wxSpinCtrl * cMinPerMileMinSpin
Definition: Calculator.h:53
wxSpinCtrl * cHourSpin
Definition: Calculator.h:103
RunningManager namespace.
Definition: Calculator.h:15
void OnDistance(wxCommandEvent &e)
Handle changed distance.
wxGrid * cDistanceGrid
Definition: Calculator.h:56
Speed(wxWindow *pParent)
Constructor.
wxStaticText * cResultText
Definition: Calculator.h:106
ESpeedType
Speed unit.
Definition: Defines.h:179
void OnHour(wxSpinEvent &e)
Handle changed hour.
void Update()
Update after change.
wxSpinCtrl * cMinPerMileSecSpin
Definition: Calculator.h:54
wxTextCtrl * cKmPerHour
Definition: Calculator.h:55
wxSpinCtrl * cSecondSpin
Definition: Calculator.h:105
wxArrayString cDistanceNames
Definition: Calculator.h:99
std::vector< double > cDistances
Definition: Calculator.h:100
void OnSecond(wxSpinEvent &e)
Handle changed second.
void OnMinPerKm(wxSpinEvent &e)
Convert from min/km.
wxSpinCtrl * cMinuteSpin
Definition: Calculator.h:104
GUI for time predictor for different distances.
Definition: Calculator.h:62
void OnMinute(wxSpinEvent &e)
Handle changed minute.
GUI for predictor and unit conversion.
Definition: Calculator.h:19
void OnMinPerMile(wxSpinEvent &e)
Convert from min/mile.
void Update(ESpeedType const &sender)
Update after new event.
wxComboBox * cpSelectedDistance
Definition: Calculator.h:102
GUI panel for unit conversion.
Definition: Calculator.h:24
wxSpinCtrl * cMinPerKmMinSpin
Definition: Calculator.h:51