-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainWindow.hpp
136 lines (114 loc) · 4.91 KB
/
MainWindow.hpp
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
/*
* Pour les menus contextuels --> Créer les actions dans le designer et suivre
* la démarche proposée sur le site :
* http://www.developpez.net/forums/d719698/c-cpp/bibliotheques/qt/qtreeview-menu-contextuel/
*/
#ifndef __MAINWINDOW_HPP__
#define __MAINWINDOW_HPP__
#include "ResourceInstaller.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 <QtGui>
#include <QtSql>
namespace Ui {
class MainWindow;
}
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_menuEditRaceView_aboutToShow(void);
void on_actionRaceViewDisplayLap_triggered(void);
void on_actionRaceViewRemoveLap_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);
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);
protected:
virtual void closeEvent(QCloseEvent* event);
Ui::MainWindow* ui;
QComboBox* competitionBox;
QString currentCompetition;
QList< QMap<QString, QVariant> > currentTracksDisplayed;
// Mapping
MapFrame* mapFrame;
// Plot
PlotFrame* distancePlotFrame;
PlotFrame* timePlotFrame;
PlotFrame* megaSquirtPlotFrame;
// Models
QSqlTableModel* sectorModel;
QSqlTableModel* competitionNameModel;
// Personal Models
GroupingTreeModel* competitionModel;
LapInformationTreeModel* raceInformationTableModel; //TreeLapInformationModel* raceInformationTableModel;
};
#endif /* __MAINWINDOW_HPP__ */