QDriverStation
The free, cross-platform FRC Driver Station
dashboards.h
1 /*
2  * Copyright (c) 2015-2016 Alex Spataru <alex_spataru@outlook.com>
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20  * THE SOFTWARE.
21  */
22 
23 #ifndef _QDS_DASHBOARDS_H
24 #define _QDS_DASHBOARDS_H
25 
26 #include <QProcess>
27 
31 class Dashboards : public QObject {
32  Q_OBJECT
33  Q_ENUMS (DashboardTypes)
34 
35  public:
36  explicit Dashboards();
37 
38  enum DashboardTypes {
39  kNone = 0,
40  kSFXDashboard = 1,
41  kSmartDashboard = 2,
42  kLabVIEWDashboard = 3,
43  };
44 
45  Q_INVOKABLE QStringList dashboardList();
46 
47  public slots:
48  void openDashboard (int dashboard);
49 
50  private:
51  QProcess m_process;
52 };
53 
54 #endif
Dashboards()
Definition: dashboards.cpp:49
Opens and closes the available FRC Dashboards.
Definition: dashboards.h:31
Q_INVOKABLE QStringList dashboardList()
Definition: dashboards.cpp:57
void openDashboard(int dashboard)
Definition: dashboards.cpp:73