changeset 16423:04c4dd7fd3ce

use signal for octave_link::update_dbstop_marker * octave-qt-link.h (octave_qt_link): Derive from QObject. (octave_qt_link::update_dbstop_marker_signal): New signal. * libgui/src/module.mk (octave_gui_MOC): Include src/moc-octave-qt-link.cc in the list. * main-window.cc (main_window::construct): Connect octave_qt_link::update_dbstop_marker_signal to file_editor::handle_update_dbstop_marker_request. * octave-qt-link.cc (octave_qt_link::do_update_breakpoint): Emit signal instead of using event listener.
author John W. Eaton <jwe@octave.org>
date Thu, 04 Apr 2013 00:03:45 -0400
parents 436f6e0e4268
children ad052cdc89ad
files libgui/src/main-window.cc libgui/src/module.mk libgui/src/octave-gui.cc libgui/src/octave-qt-link.cc libgui/src/octave-qt-link.h
diffstat 5 files changed, 18 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/main-window.cc	Wed Apr 03 23:48:45 2013 -0400
+++ b/libgui/src/main-window.cc	Thu Apr 04 00:03:45 2013 -0400
@@ -1214,6 +1214,11 @@
 
   _octave_qt_link = new octave_qt_link ();
 
+  connect (_octave_qt_link,
+           SIGNAL (update_dbstop_marker_signal (bool, const QString&, int)),
+           _file_editor,
+           SLOT (handle_update_dbstop_marker_request (bool, const QString&, int)));
+
   octave_link::connect_link (_octave_qt_link);
 
   octave_link::register_event_listener (_octave_qt_event_listener);
--- a/libgui/src/module.mk	Wed Apr 03 23:48:45 2013 -0400
+++ b/libgui/src/module.mk	Thu Apr 04 00:03:45 2013 -0400
@@ -73,6 +73,7 @@
   src/moc-main-window.cc \
   src/moc-octave-main-thread.cc \
   src/moc-octave-qt-event-listener.cc \
+  src/moc-octave-qt-link.cc \
   src/moc-settings-dialog.cc \
   src/moc-terminal-dockwidget.cc \
   src/moc-color-picker.cc \
--- a/libgui/src/octave-gui.cc	Wed Apr 03 23:48:45 2013 -0400
+++ b/libgui/src/octave-gui.cc	Thu Apr 04 00:03:45 2013 -0400
@@ -80,7 +80,7 @@
 int
 octave_start_gui (int argc, char *argv[])
 {
-  dissociate_terminal ();
+  // dissociate_terminal ();
 
   QApplication application (argc, argv);
 
--- a/libgui/src/octave-qt-link.cc	Wed Apr 03 23:48:45 2013 -0400
+++ b/libgui/src/octave-qt-link.cc	Thu Apr 04 00:03:45 2013 -0400
@@ -107,12 +107,7 @@
 octave_qt_link::do_update_breakpoint (bool insert,
                                       const std::string& file, int line)
 {
-  if (event_listener)
-    {
-      event_listener->update_dbstop_marker (insert, file, line);
-
-      do_process_events ();
-    }
+  emit update_dbstop_marker_signal (insert, QString::fromStdString (file), line);
 }
 
 bool
--- a/libgui/src/octave-qt-link.h	Wed Apr 03 23:48:45 2013 -0400
+++ b/libgui/src/octave-qt-link.h	Thu Apr 04 00:03:45 2013 -0400
@@ -27,6 +27,9 @@
 
 #include <string>
 
+#include <QObject>
+#include <QString>
+
 #include "octave-link.h"
 #include "octave-main-thread.h"
 
@@ -38,8 +41,10 @@
 // buffering access operations to octave and executing them in the
 // readline event hook, which lives in the octave thread.
 
-class octave_qt_link : public octave_link
+class octave_qt_link : public QObject, public octave_link
 {
+  Q_OBJECT
+
 public:
 
   octave_qt_link (void);
@@ -73,6 +78,10 @@
 
   // Thread running octave_main.
   octave_main_thread *main_thread;
+
+signals:
+
+  void update_dbstop_marker_signal (bool insert, const QString& file, int line);
 };
 
 #endif