summaryrefslogtreecommitdiff
path: root/src/mainwindow.h
blob: 020ae8f130ff14c3f8127d79eab521d5220a08b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

// qt
#include <QMainWindow>
#include <QProperty>

// optical design
class GraphicsScene;
class GraphicsView;
class OpticalDesign;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget* parent = nullptr);
    ~MainWindow();

private:
    void initUi();
    void initShortcuts();

private slots:
    /*!
     * \brief onExport - export design data in OpenSCAD format
     */
    /*!
     * \brief onExport - export design data in OpenSCAD format
     * \param filepath - path to file to write to
     */
    void onExport(const QString& filepath);

private:
    GraphicsScene* m_scene{nullptr};
    GraphicsView* m_view{nullptr};
    OpticalDesign* m_design{nullptr};
};