Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 1 | /* |
2 | * Copyright 2017 Google Inc. | ||||
3 | * | ||||
4 | * Use of this source code is governed by a BSD-style license that can be | ||||
5 | * found in the LICENSE file. | ||||
6 | */ | ||||
7 | |||||
8 | #ifndef MainWindow_DEFINED | ||||
9 | #define MainWindow_DEFINED | ||||
10 | |||||
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 11 | #include <memory> |
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 12 | #include <QMainWindow> |
13 | |||||
Robert Phillips | deaf568 | 2017-09-06 13:07:21 -0400 | [diff] [blame] | 14 | #include "Model.h" |
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 15 | |
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 16 | class QLabel; |
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 17 | class QMenu; |
Robert Phillips | 276066b | 2017-09-06 17:17:44 -0400 | [diff] [blame] | 18 | class QTreeWidget; |
19 | class QTreeWidgetItem; | ||||
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 20 | |
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 21 | |
22 | class MainWindow : public QMainWindow { | ||||
23 | Q_OBJECT | ||||
24 | |||||
25 | public: | ||||
26 | MainWindow(); | ||||
27 | |||||
28 | private slots: | ||||
29 | void openFile(); | ||||
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 30 | void about(); |
Robert Phillips | 276066b | 2017-09-06 17:17:44 -0400 | [diff] [blame] | 31 | void onCurrentItemChanged(QTreeWidgetItem* cur, QTreeWidgetItem* prev); |
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 32 | |
33 | private: | ||||
34 | void loadFile(const QString &fileName); | ||||
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 35 | void setupOpListWidget(); |
Robert Phillips | deaf568 | 2017-09-06 13:07:21 -0400 | [diff] [blame] | 36 | void presentCurrentRenderState(); |
37 | |||||
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 38 | |
39 | void createActions(); | ||||
40 | void createStatusBar(); | ||||
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 41 | void createDockWindows(); |
42 | |||||
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 43 | void readSettings(); |
44 | void writeSettings(); | ||||
45 | |||||
46 | QImage fImage; | ||||
47 | QLabel* fImageLabel; | ||||
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 48 | |
Robert Phillips | 276066b | 2017-09-06 17:17:44 -0400 | [diff] [blame] | 49 | QTreeWidget* fOpListWidget; |
Robert Phillips | 5fccf9d | 2017-09-05 15:10:12 -0400 | [diff] [blame] | 50 | |
51 | QMenu* fViewMenu; | ||||
52 | |||||
Robert Phillips | deaf568 | 2017-09-06 13:07:21 -0400 | [diff] [blame] | 53 | Model fModel; |
Robert Phillips | a6d2d70 | 2017-09-01 12:17:03 -0400 | [diff] [blame] | 54 | }; |
55 | |||||
56 | #endif |