FGx  1
 All Classes Files Functions Variables Enumerations Enumerator Macros Pages
launcherwindow.h
1 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
2 // FGx FlightGear Launcher // launcherwindow.h
3 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
4 // (c) 2010-2012
5 // Yves Sablonier, Pete Morgan
6 // Geoff McLane
7 // GNU GPLv2, see main.cpp and shipped licence.txt for further information
8 
9 #ifndef LAUNCHERWINDOW_H
10 #define LAUNCHERWINDOW_H
11 
12 #include <QtGui/QWidget>
13 
14 #include <QtGui/QAction>
15 #include <QtGui/QActionGroup>
16 #include <QtGui/QPushButton>
17 #include <QtGui/QMessageBox>
18 
19 
20 #include "panes/coresettingswidget.h"
21 class CoreSettingsWidget;
22 
23 #include "panes/timeweatherwidget.h"
24 class TimeWeatherWidget;
25 
26 #include "panes/renderingwidget.h"
27 class RenderingWidget;
28 
29 #include "aircraft/aircraftwidget.h"
30 class AircraftWidget;
31 
32 #include "airports/airportswidget.h"
33 class AirportsWidget;
34 
35 #include "network/networkwidget.h"
36 class NetworkWidget;
37 
38 #include "panes/expertoptionswidget.h"
40 
41 #include "xwidgets/execontrols.h"
42 class ExeControls;
43 
44 #include "launcher/headerwidget.h"
45 class HeaderWidget;
46 
47 #include "launcher/menuwidget.h"
48 class MenuWidget;
49 
50 #include "utilities/statusbar.h"
51 
52 #include "utilities/messagebox.h"
53 
54 #include "xobjects/mainobject.h"
55 #include "xwidgets/xgroupboxes.h"
56 
57 
58 
59 
60 class LauncherWindow : public QWidget
61 {
62  Q_OBJECT
63 
64 public:
65 
66  LauncherWindow(MainObject *mob, QWidget *parent = 0);
67 
68  ~LauncherWindow();
69 
70  MainObject *mainObject;
71  bool initializing;
72 
73  MenuWidget *menuWidget;
74  HeaderWidget *headerWidget;
75 
76  XGroupHBox *toolBox;
77 
78  QToolButton *buttonWhatsThis;
79 
80  QActionGroup *actionGroupStyle;
81  QTabWidget *tabWidget;
82 
83  CoreSettingsWidget *coreSettingsWidget;
84  TimeWeatherWidget *timeWeatherWidget;
85  RenderingWidget *renderingWidget;
86  AircraftWidget *aircraftWidget;
87  AirportsWidget *airportsWidget;
88  NetworkWidget *networkWidget;
89  ExpertOptionsWidget *expertOptionsWidget;
90 
91  QPushButton *buttonLoadSettings;
92  QPushButton *buttonSaveSettings;
93  QPushButton *buttonResetSettings;
94 
95  ExeControls *exeAll;
96  ExeControls *exeFgfs;
97  ExeControls *exeTerraSync;
98  ExeControls *exeFgCom;
99 
100  StatusBar *statusBar;
101  MessageBox *messageBox;
102 
103  QMessageBox *NativeMessageBox;
104 
105  void closeEvent(QCloseEvent *event);
106 
107 signals:
108  void setx(QString option, bool enabled, QString value);
109 
110 public slots:
111 
112 
113  //= Start/Stop
114  void on_start_all_clicked();
115  void on_start_fgfs_clicked();
116  void on_start_terrasync_clicked();
117  void on_start_fgcom_clicked();
118 
119 
120  //* Actions
121  void on_whats_this();
122 
123  //* Functions
124  void save_settings();
125  void load_profile();
126  void save_profile();
127  void reset_profile();
128  void initialize();
129  bool validate();
130 
131  //* Header messages
132  void header_show_message(QString message);
133 
134 
135  //* Ouput Buttons
136  void on_command_preview();
137 
138 
139  //* Widget Events
140  void on_tab_changed(int);
141 
142  void on_upx(QString option, bool enabled, QString value);
143 
144  void on_debug_mode();
145 };
146 
147 #endif // LAUNCHERWINDOW_H
Definition: networkwidget.h:27
The MainObject is an extended QObject, and the main "controller" for FGx.
Definition: mainobject.h:61
Definition: airportswidget.h:46
Definition: aircraftwidget.h:28
Definition: expertoptionswidget.h:22
A QGroupBox with a QHBoxLyout layout.
Definition: xgroupboxes.h:39
Definition: launcherwindow.h:60
Definition: statusbar.h:14
Definition: coresettingswidget.h:27
Definition: messagebox.h:14
Definition: renderingwidget.h:28
Definition: execontrols.h:22
Definition: headerwidget.h:23
Definition: timeweatherwidget.h:26
Definition: menuwidget.h:29