summaryrefslogtreecommitdiff
path: root/src/gui/mainwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/mainwindow.h')
-rw-r--r--src/gui/mainwindow.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h
new file mode 100644
index 0000000..21fbd5a
--- /dev/null
+++ b/src/gui/mainwindow.h
@@ -0,0 +1,64 @@
+/*!
+ * A top-level window, which contains a single TikzDocument.
+ */
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include "tikzscene.h"
+#include "tikzview.h"
+#include "graph.h"
+#include "tikzdocument.h"
+#include "mainmenu.h"
+#include "toolpalette.h"
+#include "stylepalette.h"
+
+#include <QMainWindow>
+#include <QGraphicsView>
+#include <QSplitter>
+
+namespace Ui {
+class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ explicit MainWindow(QWidget *parent = 0);
+ ~MainWindow();
+
+ void open(QString fileName);
+ int windowId() const;
+ TikzView *tikzView() const;
+ TikzScene *tikzScene() const;
+ TikzDocument *tikzDocument() const;
+ ToolPalette *toolPalette() const;
+ StylePalette *stylePalette() const;
+ QSplitter *splitter() const;
+ QString tikzSource();
+ void setSourceLine(int line);
+
+ MainMenu *menu() const;
+
+public slots:
+ void on_tikzSource_textChanged();
+ void updateFileName();
+ void refreshTikz();
+protected:
+ void closeEvent(QCloseEvent *event) override;
+ void changeEvent(QEvent *event) override;
+
+private:
+ TikzScene *_tikzScene;
+ TikzDocument *_tikzDocument;
+ MainMenu *_menu;
+ ToolPalette *_toolPalette;
+ StylePalette *_stylePalette;
+ Ui::MainWindow *ui;
+ int _windowId;
+ static int _numWindows;
+};
+
+#endif // MAINWINDOW_H