-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainWindow.hpp
More file actions
170 lines (140 loc) · 6.46 KB
/
MainWindow.hpp
File metadata and controls
170 lines (140 loc) · 6.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#ifndef __MAINWINDOW_HPP__
#define __MAINWINDOW_HPP__
#include "Map/MapScene.hpp"
#include "Map/MapFrame.hpp"
#include "Plot/PlotFrame.hpp"
#include "Plot/HorizontalScale.hpp"
#include "Plot/VerticalScale.hpp"
#include "DBModule/ImportModule.hpp"
#include "CompetitionEntryDialog.hpp"
#include "CompetitionProxyModel.hpp"
#include "Common/GroupingTreeModel.hpp"
#include "Common/TreeLapInformationModel.hpp"
#include "DBModule/ExportModule.hpp"
#include "Common/ColorizerProxyModel.hpp"
#include "Map/SampleLapViewer.hpp"
#include "LapInformationProxyModel.hpp"
#include "Common/LapInformationTreeModel.hpp"
#include "LapDataCompartor.hpp"
#include "Utils/DataBaseManager.hpp"
#include "Utils/QCSVParser.hpp"
#include <QtGui>
#include <QtSql>
#include <float.h>
namespace Ui {
class MainWindow;
}
typedef QMap<QString, QVariant> TrackIdentifier;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow(void);
virtual bool eventFilter(QObject* src, QEvent* event);
private slots:
// Autoconnect
void on_actionAboutQt_triggered(void);
void on_actionQuit_triggered(void);
void on_actionImport_triggered(void);
void on_actionAboutEcoManager2013_triggered(void);
void on_actionExportConfigurationModule_triggered(void);
void on_actionExportData_triggered(void);
void on_raceView_doubleClicked(const QModelIndex& index);
void on_actionDelimitingSectors_triggered(void);
void on_raceView_customContextMenuRequested(const QPoint &pos);
void on_actionDisplayRaceTableData_triggered(bool checked);
void on_actionDisplayRaceTableUnder_triggered();
void on_actionDisplayRaceTableAbove_triggered();
void on_actionDisplayRaceTableOnRight_triggered();
void on_actionDisplayRaceTableOnLeft_triggered();
void on_actionDisplayRaceView_triggered(bool checked);
void on_actionSaveCurrentLayout_triggered(void);
void on_actionConfiguredLayout1_triggered(void);
void on_actionConfiguredLayout2_triggered(void);
void on_actionConfiguredLayout3_triggered(void);
void on_actionConfiguredLayout4_triggered(void);
void on_actionLapDataEraseTable_triggered(void);
void on_actionLapDataTableResizeToContents_triggered(bool checked);
void on_actionClearAllData_triggered(void);
void on_raceTable_customContextMenuRequested(const QPoint &pos);
void on_actionLapDataComparaison_triggered(void);
void on_raceTable_doubleClicked(const QModelIndex &index);
void on_menuLapDataTable_aboutToShow(void);
void on_actionLapDataSelectAll_triggered(bool checked);
void on_actionLapDataDrawSectors_triggered(void);
void on_actionLapDataDisplayInAllViews_triggered(void);
void on_actionLapDataExportToCSV_triggered(void);
void on_menuEditRaceView_aboutToShow(void);
void on_actionRaceViewDisplayLap_triggered(void);
void on_actionRaceViewRemoveLap_triggered(void);
void on_actionRaceViewExportLapDataInCSV_triggered(void);
void on_actionRaceViewDeleteRace_triggered(void);
void on_actionRaceViewDeleteRacesAtSpecificDate_triggered(void);
void on_actionDeleteCurrentCompetition_triggered(void);
void on_actionNewProject_triggered(void);
void on_actionOpenProject_triggered(void);
// for debug purpose --- should be deleted at the end
void on_actionCompter_le_nombre_de_tours_triggered(void);
void on_actionCompter_le_nombre_de_courses_triggered(void);
void on_actionPRAGMA_foreign_keys_triggered(void);
void on_actionListing_des_courses_triggered(void);
void on_actionListing_des_competitions_triggered(void);
void on_actionCompter_tous_les_tuples_de_toutes_les_tables_triggered(void);
// Personal slots
void loadCompetition(int index);
void removeSector(const QString& competitionName, int sectorNum);
void addSector(QString, int, IndexedPosition, IndexedPosition);
void updateSector(QString, int, IndexedPosition, IndexedPosition);
void displayLapInformation(float timeValue, const QVariant& trackId);
void displayLapInformation(float lowerTimeValue, float upperTimeValue,
const QVariant &trackId);
void deleteRace(int raceId);
void deleteRaces(QVariantList listRaceId);
private:
void centerOnScreen(void);
void createRaceView(void);
void createToolsBar(void);
void createMapZone(void);
void createPlotZone(void);
void createMegaSquirtZone(void);
void createRaceTable(void);
void readSettings(const QString& settingsGroup);
void writeSettings(const QString& settingsGroup) const;
void displayDataLap(void);
void connectSignals(void);
void reloadRaceView(void);
void loadSectors(const QString& competitionName);
void highlightPointInAllView(const QModelIndex& index);
void removeTrackFromAllView(QMap<QString, QVariant> const& trackId);
void updateDataBase(QString const& dbFilePath,
bool(*dataBaseAction)(QString const&));
double getCurrentCompetitionWheelPerimeter(void) const;
// TODO : Jeter une exception avec le message d'erreur au lieu d'un bool
bool getAllDataFromSpeed(
const TrackIdentifier& trackId, float lowerTimeValue,
float upperTimeValue, QList< QList<QVariant> >& data);
void exportLapDataToCSV(const TrackIdentifier& trackId,
float lowerTimeValue, float upperTimeValue);
protected:
virtual void closeEvent(QCloseEvent* event);
Ui::MainWindow* ui;
QComboBox* competitionBox;
QString currentCompetition;
QList<TrackIdentifier> currentTracksDisplayed;
// Mapping
MapFrame* mapFrame;
// Plot
PlotFrame* distancePlotFrame;
PlotFrame* timePlotFrame;
PlotFrame* megaSquirtPlotFrame;
// Models
QSqlTableModel* sectorModel;
QSqlTableModel* competitionNameModel;
// Personal Models
GroupingTreeModel* competitionModel;
LapInformationTreeModel* raceInformationTableModel; //TreeLapInformationModel* raceInformationTableModel;
// RaceView item identifier
QVariant raceViewItemidentifier;
};
#endif /* __MAINWINDOW_HPP__ */