summaryrefslogtreecommitdiff
path: root/tikzit/src/gui/mainwindow.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2017-02-28 14:46:39 +0100
committerAleks Kissinger <aleks0@gmail.com>2017-02-28 14:46:39 +0100
commitcb322a3acee9debf40c48ad1e3fb4458b0f51b7f (patch)
tree2cd3dc1060885152f0c706e0cf52bff0d8181d1e /tikzit/src/gui/mainwindow.cpp
parente1756ba69dd626073e22fd0a4f4c5fda42c88829 (diff)
generic nodes
Diffstat (limited to 'tikzit/src/gui/mainwindow.cpp')
-rw-r--r--tikzit/src/gui/mainwindow.cpp57
1 files changed, 36 insertions, 21 deletions
diff --git a/tikzit/src/gui/mainwindow.cpp b/tikzit/src/gui/mainwindow.cpp
index f7357ec..7d7ab04 100644
--- a/tikzit/src/gui/mainwindow.cpp
+++ b/tikzit/src/gui/mainwindow.cpp
@@ -1,6 +1,8 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "tikzgraphassembler.h"
+#include "toolpalette.h"
+#include "tikzit.h"
#include <QDebug>
#include <QFile>
@@ -15,12 +17,13 @@ MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
+ _windowId = _numWindows;
_numWindows++;
ui->setupUi(this);
- setAttribute(Qt::WA_DeleteOnClose);
+ setAttribute(Qt::WA_DeleteOnClose, true);
_graph = new Graph(this);
- tikzScene = new TikzScene(_graph, this);
- ui->tikzView->setScene(tikzScene);
+ _tikzScene = new TikzScene(_graph, this);
+ ui->tikzView->setScene(_tikzScene);
_fileName = "";
_pristine = true;
@@ -33,7 +36,7 @@ MainWindow::MainWindow(QWidget *parent) :
MainWindow::~MainWindow()
{
- //qDebug() << "~MainWindow";
+ tikzit->removeWindow(this);
}
void MainWindow::open(QString fileName)
@@ -45,6 +48,8 @@ void MainWindow::open(QString fileName)
QSettings settings("tikzit", "tikzit");
settings.setValue("previous-file-path", fi.absolutePath());
+ setWindowTitle("TiKZiT - " + fi.fileName());
+
if (!file.open(QIODevice::ReadOnly)) {
QMessageBox::critical(this, tr("Error"),
tr("Could not open file"));
@@ -61,9 +66,11 @@ void MainWindow::open(QString fileName)
TikzGraphAssembler ass(newGraph);
if (ass.parse(tikz)) {
statusBar()->showMessage("TiKZ parsed successfully", 2000);
- tikzScene->setGraph(newGraph);
delete _graph;
_graph = newGraph;
+ foreach (Node *n, _graph->nodes()) n->attachStyle();
+ foreach (Edge *e, _graph->edges()) e->updateControls();
+ _tikzScene->setGraph(_graph);
} else {
statusBar()->showMessage("Cannot read TiKZ source");
delete newGraph;
@@ -77,24 +84,32 @@ void MainWindow::closeEvent(QCloseEvent *event)
QMainWindow::closeEvent(event);
}
-void MainWindow::on_actionOpen_triggered()
+void MainWindow::changeEvent(QEvent *event)
{
- QSettings settings("tikzit", "tikzit");
- QString fileName = QFileDialog::getOpenFileName(
- this,
- tr("Open File"),
- settings.value("previous-file-path").toString(),
- tr("TiKZ Files (*.tikz)"));
-
- if (!fileName.isEmpty()) {
- if (_pristine) {
- open(fileName);
- } else {
- MainWindow *w = new MainWindow();
- w->show();
- w->open(fileName);
- }
+ if (event->type() == QEvent::ActivationChange && isActiveWindow()) {
+ tikzit->setActiveWindow(this);
}
+ QMainWindow::changeEvent(event);
+}
+
+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;
}