diff libgui/graphics/Table.cc @ 27647:2a506bc4a7af

eliminate global access to Octave interpreter in qt graphics classes Provide reference to interprerter to qt graphics classes to eliminate need for accessing it through a global variable. * qt-graphics-toolkit.cc (qt_graphics_toolkit::create_object): Pass m_interpreter to create functions for individual graphics objects. * BaseControl.h, BaseControl.cc, ButtonControl.h, ButtonControl.cc, ButtonGroup.h, ButtonGroup.cc, Canvas.h, Canvas.cc, CheckBoxControl.h, CheckBoxControl.cc, Container.h, Container.cc, ContextMenu.h, ContextMenu.cc, EditControl.h, EditControl.cc, Figure.h, Figure.cc, GLCanvas.h, GLCanvas.cc, ListBoxControl.h, ListBoxControl.cc, Menu.h, Menu.cc, Object.h, Object.cc, Panel.h, Panel.cc, PopupMenuControl.h, PopupMenuControl.cc, PushButtonControl.h, PushButtonControl.cc, PushTool.h, PushTool.cc, QtHandlesUtils.h, RadioButtonControl.h, RadioButtonControl.cc, SliderControl.h, SliderControl.cc, Table.h, Table.cc, TextControl.h, TextControl.cc, ToggleButtonControl.h, ToggleButtonControl.cc, ToggleTool.h, ToggleTool.cc, ToolBar.h, ToolBar.cc, ToolBarButton.h, ToolBarButton.cc: Accept reference to interpreter in create function and constructors for graphics objects. Eliminate global access to interpreter object and graphics_handle manager.
author John W. Eaton <jwe@octave.org>
date Wed, 06 Nov 2019 12:42:12 -0500
parents 028205a91a07
children b442ec6dda5c
line wrap: on
line diff
--- a/libgui/graphics/Table.cc	Tue Nov 05 18:23:20 2019 -0500
+++ b/libgui/graphics/Table.cc	Wed Nov 06 12:42:12 2019 -0500
@@ -48,7 +48,7 @@
 #include "octave-qobject.h"
 
 #include "graphics.h"
-#include "interpreter-private.h"
+#include "interpreter.h"
 #include "oct-stream.h"
 #include "oct-string.h"
 #include "oct-strstrm.h"
@@ -426,25 +426,26 @@
   }
 
   Table*
-  Table::create (octave::base_qobject& oct_qobj, const graphics_object& go)
+  Table::create (octave::base_qobject& oct_qobj, octave::interpreter& interp,
+                 const graphics_object& go)
   {
-    Object *parent = Object::parentObject (go);
+    Object *parent = parentObject (interp, go);
 
     if (parent)
       {
         Container *container = parent->innerContainer ();
 
         if (container)
-          return new Table (oct_qobj, go, new QTableWidget (container));
+          return new Table (oct_qobj, interp, go, new QTableWidget (container));
       }
 
     return 0;
   }
 
-  Table::Table (octave::base_qobject&, const graphics_object& go,
-                QTableWidget *tableWidget)
-    : Object (go, tableWidget), m_tableWidget (tableWidget), m_curData (),
-      m_blockUpdates (false)
+  Table::Table (octave::base_qobject& oct_qobj, octave::interpreter& interp,
+                const graphics_object& go, QTableWidget *tableWidget)
+    : Object (oct_qobj, interp, go, tableWidget), m_tableWidget (tableWidget),
+      m_curData (), m_blockUpdates (false)
   {
     qObject ()->setObjectName ("UItable");
     uitable::properties& tp = properties<uitable> ();
@@ -565,7 +566,7 @@
 
     m_blockUpdates = true;
 
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Table::comboBoxCurrentIndexChanged");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -685,7 +686,7 @@
       return;
     m_blockUpdates = true;
 
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Table::checkBoxClicked");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -801,7 +802,7 @@
       return;
     m_blockUpdates = true;
 
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Table::itemChanged");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -1512,7 +1513,7 @@
   bool
   Table::eventFilter (QObject *watched, QEvent *xevent)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Table::eventFilter");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     //uitable::properties& tp = properties<uitable> ();
     if (qobject_cast<QTableWidget *> (watched))
@@ -1556,7 +1557,8 @@
                   emit gh_callback_event (m_handle, "buttondownfcn");
 
                   if (m->button () == Qt::RightButton)
-                    ContextMenu::executeAt (properties (), m->globalPos ());
+                    ContextMenu::executeAt (m_interpreter, properties (),
+                                            m->globalPos ());
                 }
               else
                 {
@@ -1698,7 +1700,7 @@
                   emit gh_callback_event (m_handle, "buttondownfcn");
 
                   if (m->button () == Qt::RightButton)
-                    ContextMenu::executeAt (tp, m->globalPos ());
+                    ContextMenu::executeAt (m_interpreter, tp, m->globalPos ());
                 }
               else
                 {