Mercurial > octave
diff gui/src/MainWindow.cpp @ 13541:b48ac9ad8de0
Highly improved separation of model and view classes.
author | Jacob Dawid <jacob.dawid@googlemail.com> |
---|---|
date | Tue, 26 Jul 2011 23:04:52 +0200 |
parents | 0dbf8681cd08 |
children | 5b168bbd6044 |
line wrap: on
line diff
--- a/gui/src/MainWindow.cpp Tue Jul 26 22:31:01 2011 +0200 +++ b/gui/src/MainWindow.cpp Tue Jul 26 23:04:52 2011 +0200 @@ -26,16 +26,14 @@ #include "FileEditorMdiSubWindow.h" #include "ImageViewerMdiSubWindow.h" #include "SettingsDialog.h" -#include "OctaveCallbackThread.h" #include "cmd-edit.h" #define VERSION_STRING "Octave GUI (0.6.0)" -MainWindow::MainWindow (QWidget * parent):QMainWindow (parent), -m_isRunning (true) +MainWindow::MainWindow (QWidget * parent):QMainWindow (parent) { construct (); - establishOctaveLink (); + OctaveLink::instance ()->launchOctave(); } MainWindow::~MainWindow () @@ -151,14 +149,10 @@ void MainWindow::closeEvent (QCloseEvent * closeEvent) { - m_isRunning = false; reportStatusMessage (tr ("Saving data and shutting down.")); writeSettings (); - m_octaveCallbackThread->terminate (); - m_octaveCallbackThread->wait (); - - m_octaveMainThread->terminate (); + OctaveLink::instance ()->terminateOctave(); QMainWindow::closeEvent (closeEvent); } @@ -206,6 +200,8 @@ m_documentationWidget = new BrowserWidget (this); m_ircWidget = new IRCWidget (this); + m_octaveTerminal->openTerminal (); + m_documentationWidgetSubWindow = m_centralMdiArea->addSubWindow (m_documentationWidget, Qt::WindowTitleHint | Qt:: @@ -304,15 +300,3 @@ openWebPage ("http://www.gnu.org/software/octave/doc/interpreter/"); } -void -MainWindow::establishOctaveLink () -{ - m_octaveTerminal->openTerminal (); - - m_octaveMainThread = new OctaveMainThread (this); - m_octaveMainThread->start (); - - m_octaveCallbackThread = new OctaveCallbackThread (this, this); - connect (m_octaveMainThread, SIGNAL(ready()), m_octaveCallbackThread, SLOT(start())); - reportStatusMessage (tr ("Established link to Octave.")); -}