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."));
-}