From c7f79b3a9878dafc4088f170964264dff839f502 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Fri, 20 Jul 2018 11:13:42 +0200 Subject: ... --- src/gui/mainwindow.cpp | 320 ++++++++++++++++++++++++------------------------- 1 file changed, 160 insertions(+), 160 deletions(-) (limited to 'src/gui/mainwindow.cpp') diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 953889e..15b6943 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -1,160 +1,160 @@ -#include "mainwindow.h" -#include "ui_mainwindow.h" - -#include "mainmenu.h" -#include "tikzassembler.h" -#include "toolpalette.h" -#include "tikzit.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -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); - - _toolPalette = new ToolPalette(this); - addToolBar(_toolPalette); - - _stylePalette = new StylePalette(this); - addDockWidget(Qt::RightDockWidgetArea, _stylePalette); - - _tikzScene = new TikzScene(_tikzDocument, _toolPalette, _stylePalette, this); - ui->tikzView->setScene(_tikzScene); - - // TODO: check if each window should have a menu - _menu = new MainMenu(); - _menu->setParent(this); - - setMenuBar(_menu); - - // initially, the source view should be collapsed - QList sz = ui->splitter->sizes(); - sz[0] = sz[0] + sz[1]; - sz[1] = 0; - ui->splitter->setSizes(sz); - - _tikzDocument->refreshTikz(); - - connect(_tikzDocument->undoStack(), SIGNAL(cleanChanged(bool)), this, SLOT(updateFileName())); -} - -MainWindow::~MainWindow() -{ - tikzit->removeWindow(this); - delete ui; -} - -void MainWindow::open(QString fileName) -{ - _tikzDocument->open(fileName); - - //ui->tikzSource->setText(_tikzDocument->tikz()); - - - if (_tikzDocument->parseSuccess()) { - statusBar()->showMessage("TiKZ parsed successfully", 2000); - //setWindowTitle("TiKZiT - " + _tikzDocument->shortName()); - _tikzScene->setTikzDocument(_tikzDocument); - updateFileName(); - } 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); - //tikzit->stylePalette()->raise(); - } - QMainWindow::changeEvent(event); -} - -StylePalette *MainWindow::stylePalette() const -{ - return _stylePalette; -} - -QString MainWindow::tikzSource() -{ - return ui->tikzSource->toPlainText(); -} - -void MainWindow::setSourceLine(int line) -{ - QTextCursor cursor(ui->tikzSource->document()->findBlockByLineNumber(line)); - cursor.movePosition(QTextCursor::EndOfLine); - //ui->tikzSource->moveCursor(QTextCursor::End); - ui->tikzSource->setTextCursor(cursor); - ui->tikzSource->setFocus(); -} - -void MainWindow::updateFileName() -{ - QString nm = _tikzDocument->shortName(); - if (nm.isEmpty()) nm = "untitled"; - if (!_tikzDocument->isClean()) nm += "*"; - setWindowTitle("TiKZiT - " + nm); -} - -void MainWindow::refreshTikz() -{ - // don't emit textChanged() when we update the tikz - ui->tikzSource->blockSignals(true); - ui->tikzSource->setText(_tikzDocument->tikz()); - ui->tikzSource->blockSignals(false); -} - -ToolPalette *MainWindow::toolPalette() const -{ - return _toolPalette; -} - -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; -} - -void MainWindow::on_tikzSource_textChanged() -{ - if (_tikzScene->enabled()) _tikzScene->setEnabled(false); -} - - +#include "mainwindow.h" +#include "ui_mainwindow.h" + +#include "mainmenu.h" +#include "tikzassembler.h" +#include "toolpalette.h" +#include "tikzit.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +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); + + _toolPalette = new ToolPalette(this); + addToolBar(_toolPalette); + + _stylePalette = new StylePalette(this); + addDockWidget(Qt::RightDockWidgetArea, _stylePalette); + + _tikzScene = new TikzScene(_tikzDocument, _toolPalette, _stylePalette, this); + ui->tikzView->setScene(_tikzScene); + + // TODO: check if each window should have a menu + _menu = new MainMenu(); + _menu->setParent(this); + + setMenuBar(_menu); + + // initially, the source view should be collapsed + QList sz = ui->splitter->sizes(); + sz[0] = sz[0] + sz[1]; + sz[1] = 0; + ui->splitter->setSizes(sz); + + _tikzDocument->refreshTikz(); + + connect(_tikzDocument->undoStack(), SIGNAL(cleanChanged(bool)), this, SLOT(updateFileName())); +} + +MainWindow::~MainWindow() +{ + tikzit->removeWindow(this); + delete ui; +} + +void MainWindow::open(QString fileName) +{ + _tikzDocument->open(fileName); + + //ui->tikzSource->setText(_tikzDocument->tikz()); + + + if (_tikzDocument->parseSuccess()) { + statusBar()->showMessage("TiKZ parsed successfully", 2000); + //setWindowTitle("TiKZiT - " + _tikzDocument->shortName()); + _tikzScene->setTikzDocument(_tikzDocument); + updateFileName(); + } 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); + //tikzit->stylePalette()->raise(); + } + QMainWindow::changeEvent(event); +} + +StylePalette *MainWindow::stylePalette() const +{ + return _stylePalette; +} + +QString MainWindow::tikzSource() +{ + return ui->tikzSource->toPlainText(); +} + +void MainWindow::setSourceLine(int line) +{ + QTextCursor cursor(ui->tikzSource->document()->findBlockByLineNumber(line)); + cursor.movePosition(QTextCursor::EndOfLine); + //ui->tikzSource->moveCursor(QTextCursor::End); + ui->tikzSource->setTextCursor(cursor); + ui->tikzSource->setFocus(); +} + +void MainWindow::updateFileName() +{ + QString nm = _tikzDocument->shortName(); + if (nm.isEmpty()) nm = "untitled"; + if (!_tikzDocument->isClean()) nm += "*"; + setWindowTitle("TiKZiT - " + nm); +} + +void MainWindow::refreshTikz() +{ + // don't emit textChanged() when we update the tikz + ui->tikzSource->blockSignals(true); + ui->tikzSource->setText(_tikzDocument->tikz()); + ui->tikzSource->blockSignals(false); +} + +ToolPalette *MainWindow::toolPalette() const +{ + return _toolPalette; +} + +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; +} + +void MainWindow::on_tikzSource_textChanged() +{ + if (_tikzScene->enabled()) _tikzScene->setEnabled(false); +} + + -- cgit v1.2.3