dfb2402946bbf3e06008b2bb89eec47f9b646053
[speedfreak] / Client / carmainwindow.h
1 /**
2   * CarMainWindow main class
3   *
4   * @author     Toni Jussila <toni.jussila@fudeco.com>
5   * @author     Janne Änäkkälä <janne.anakkala@fudeco.com>
6   * @author     Tiina Kivilinna-Korhola <tiina.kivilinna-korhola@fudeco.com>
7   * @author     Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
8   * @copyright  (c) 2010 Speed Freak team
9   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
10   */
11
12 #ifndef CARMAINWINDOW_H
13 #define CARMAINWINDOW_H
14
15 #include <QMainWindow>
16 #include <QStandardItemModel>
17 #include <QModelIndex>
18 #include <QStringList>
19 #include <QString>
20 #include <QNetworkAccessManager>
21 #include <QNetworkRequest>
22 #include <QNetworkReply>
23 #include <QMessageBox>
24 #include <QStandardItemModel>
25 #include <QBuffer>
26 #include <QByteArray>
27 #include <QDebug>
28 #include "resultdialog.h"
29 #include "measuredialog.h"
30 #include "loginwindow.h"
31 #include "registration.h"
32 #include "xmlwriter.h"
33 #include "xmlreader.h"
34 #include "ui_carmainwindow.h"
35 #include "stringlistmodel.h"
36
37 namespace Ui {
38     class CarMainWindow;
39 }
40
41 class CarMainWindow : public QMainWindow {
42     Q_OBJECT
43 public:
44     CarMainWindow(QWidget *parent = 0);
45     ~CarMainWindow();
46
47     void setComboBoxStartTabUnits(QStringList units);    //Start-tab view
48     void setListViewStartTabAccelerationCategories(QStringList numbers); //Start-tab view
49     void setListViewTopList(QString category);  //Top-tab view
50     void setCategoryCompoBox(); //Top-tab
51
52 protected:
53     void changeEvent(QEvent *e);
54
55 private:
56     Ui::CarMainWindow *ui;
57     ResultDialog *result;
58     MeasureDialog *measure;
59     XmlReader *xmlreader;
60     XmlWriter *xmlwriter;
61     QNetworkAccessManager* manager;
62     LoginWindow *myLogin;
63     Registration *myRegistration;
64     //void initCategoryCompoBox();    //
65     void initComboBoxStartTabUnits();    //Start-tab view
66     void initListViewStartTabAccelerationCategories();   //Start-tab view
67
68 private:
69     QStringList accelerationCategoriesStartTab; //Start-tab view
70     QStringList units;  //Start-tab view
71     QStringList categories; //Top-tab view
72
73 private slots:
74     void on_manualStartButton_clicked();
75     void on_setUserPushButton_clicked();
76     void on_registratePushButton_clicked();
77     void on_loginLogoutButton_clicked();
78     void on_comboBoxTopCategory_activated(QString );
79     void on_pushButton_clicked();
80     void networkResponse(QNetworkReply*);
81     void on_comboBoxTopCategory_currentIndexChanged(QString category); //Top-tab view
82     void on_listViewStartTabAccelerationCategories_clicked(QModelIndex index); //Start-tab view
83     void updateComboBoxStartTabUnits(QString unit);  //Start-tab view
84     void openResultView();
85     void on_buttonTopRefresh_clicked(); //Top-tab view: button
86     void on_autoStartButton_clicked();  //Start-tab view: button
87     void registrate();
88     void sendXml();
89     void ackOfResult();
90     void ackOfRegistration();
91 };
92
93 #endif // CARMAINWINDOW_H