summaryrefslogtreecommitdiff
path: root/src/gui/mainwindow.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-01-04 16:00:52 +0100
committerAleks Kissinger <aleks0@gmail.com>2018-01-04 16:00:52 +0100
commit738ecbd5fad2b46836bfd6a94aeebf165ae2bbca (patch)
treedf04709807cc9ec8481a3ebc7d80ac25e5b2f457 /src/gui/mainwindow.cpp
parent0421a96749743868554d44585050b1b3d04864d2 (diff)
relocated source code to the root
Diffstat (limited to 'src/gui/mainwindow.cpp')
-rw-r--r--src/gui/mainwindow.cpp99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp
new file mode 100644
index 0000000..19b6a59
--- /dev/null
+++ b/src/gui/mainwindow.cpp
@@ -0,0 +1,99 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include "tikzgraphassembler.h"
+#include "toolpalette.h"
+#include "tikzit.h"
+
+#include <QDebug>
+#include <QFile>
+#include <QList>
+#include <QSettings>
+#include <QMessageBox>
+#include <QFileDialog>
+
+int MainWindow::_numWindows = 0;
+
+MainWindow::MainWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow)
+{
+ _windowId = _numWindows;
+ _numWindows++;
+ ui->setupUi(this);
+ setAttribute(Qt::WA_DeleteOnClose, true);
+ _tikzDocument = new TikzDocument(this);
+ _tikzScene = new TikzScene(_tikzDocument, this);
+ ui->tikzView->setScene(_tikzScene);
+ _fileName = "";
+ _pristine = true;
+
+ // initially, the source view should be collapsed
+ QList<int> sz = ui->splitter->sizes();
+ sz[0] = sz[0] + sz[1];
+ sz[1] = 0;
+ ui->splitter->setSizes(sz);
+}
+
+MainWindow::~MainWindow()
+{
+ tikzit->removeWindow(this);
+ delete ui;
+}
+
+void MainWindow::open(QString fileName)
+{
+ _pristine = false;
+ _tikzDocument->open(fileName);
+ ui->tikzSource->setText(_tikzDocument->tikz());
+
+
+ if (_tikzDocument->parseSuccess()) {
+ statusBar()->showMessage("TiKZ parsed successfully", 2000);
+ setWindowTitle("TiKZiT - " + _tikzDocument->shortName());
+ _tikzScene->setTikzDocument(_tikzDocument);
+ } else {
+ statusBar()->showMessage("Cannot read TiKZ source");
+ }
+
+}
+
+void MainWindow::closeEvent(QCloseEvent *event)
+{
+ //qDebug() << "got close event";
+ QMainWindow::closeEvent(event);
+}
+
+void MainWindow::changeEvent(QEvent *event)
+{
+ if (event->type() == QEvent::ActivationChange && isActiveWindow()) {
+ tikzit->setActiveWindow(this);
+ }
+ QMainWindow::changeEvent(event);
+}
+
+TikzDocument *MainWindow::tikzDocument() const
+{
+ return _tikzDocument;
+}
+
+TikzScene *MainWindow::tikzScene() const
+{
+ return _tikzScene;
+}
+
+int MainWindow::windowId() const
+{
+ return _windowId;
+}
+
+TikzView *MainWindow::tikzView() const
+{
+ return ui->tikzView;
+}
+
+bool MainWindow::pristine() const
+{
+ return _pristine;
+}
+
+