Swiftray  1.0
mainwindow.h
Go to the documentation of this file.
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3 
4 #include <QMainWindow>
5 #include <QQuickWindow>
6 #include <QQuickWidget>
7 #include <QListWidget>
8 #include <QToolButton>
16 #include <windows/gcode-player.h>
17 #include <windows/welcome-dialog.h>
18 #include <canvas/canvas.h>
19 #include <widgets/base-container.h>
20 
21 namespace Ui {
22  class MainWindow;
23 }
24 
25 class MainWindow : public QMainWindow, BaseContainer {
26 Q_OBJECT
27 
28 public:
29  explicit MainWindow(QWidget *parent = nullptr);
30 
31  ~MainWindow();
32 
33  bool event(QEvent *e) override;
34 
35  void loadCanvas();
36 
37  void loadStyles() override;
38 
39  void closeEvent(QCloseEvent *event) override;
40 
41  Canvas *canvas() const;
42 
43 signals:
44 
46 
48 
49 private slots:
50 
51  void canvasLoaded(QQuickWidget::Status status);
52 
53  void sceneGraphError(QQuickWindow::SceneGraphError error, const QString &message);
54 
55  void updateMode();
56 
57  void updateSelections();
58 
59  void openFile();
60 
61  void openImageFile();
62 
63  void imageSelected(const QImage image);
64 
65  void showWelcomeDialog();
66 
67 private:
68 
69  void loadWidgets() override;
70 
71  void loadSettings() override;
72 
73  void registerEvents() override;
74 
75  Ui::MainWindow *ui;
76  Canvas *canvas_;
77  TransformPanel *transform_panel_;
78  GCodePlayer *gcode_player_;
79  DocPanel *doc_panel_;
80  FontPanel *font_panel_;
81  LayerPanel *layer_panel_;
82  MachineManager *machine_manager_;
83  WelcomeDialog *welcome_dialog_;
84  PreferencesWindow *preferences_window_;
85 
86  void saveFile();
87 };
88 
89 #endif // MAINWINDOW_H
A class template for widget containers.
Definition: base-container.h:7
Definition: canvas.h:27
Definition: doc-panel.h:14
Definition: font-panel.h:14
Definition: gcode-player.h:19
Definition: layer-panel.h:14
Definition: machine-manager.h:13
Definition: mainwindow.h:25
void closeEvent(QCloseEvent *event) override
Definition: mainwindow.cpp:323
void machineSettingsChanged()
MainWindow(QWidget *parent=nullptr)
Definition: mainwindow.cpp:17
void loadStyles() override
Definition: mainwindow.cpp:50
void loadCanvas()
Definition: mainwindow.cpp:36
~MainWindow()
Definition: mainwindow.cpp:184
void presetSettingsChanged()
Canvas * canvas() const
Definition: mainwindow.cpp:330
bool event(QEvent *e) override
Definition: mainwindow.cpp:161
Definition: preferences-window.h:10
Definition: transform-panel.h:16
Definition: welcome-dialog.h:10
Definition: layer-list-item.h:7