diff options
Diffstat (limited to 'src/gui/mainwindow.cpp')
-rw-r--r-- | src/gui/mainwindow.cpp | 320 |
1 files changed, 160 insertions, 160 deletions
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 <QDebug>
-#include <QFile>
-#include <QList>
-#include <QSettings>
-#include <QMessageBox>
-#include <QFileDialog>
-#include <QTextEdit>
-#include <QTextBlock>
-
-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<int> 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 <QDebug> +#include <QFile> +#include <QList> +#include <QSettings> +#include <QMessageBox> +#include <QFileDialog> +#include <QTextEdit> +#include <QTextBlock> + +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<int> 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); +} + + |