diff libgui/graphics/Object.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 c40be2cf044d
children b442ec6dda5c
line wrap: on
line diff
--- a/libgui/graphics/Object.cc	Tue Nov 05 18:23:20 2019 -0500
+++ b/libgui/graphics/Object.cc	Wed Nov 06 12:42:12 2019 -0500
@@ -29,18 +29,21 @@
 
 #include "Object.h"
 #include "QtHandlesUtils.h"
+#include "octave-qobject.h"
 #include "qt-graphics-toolkit.h"
 
 #include "graphics.h"
-#include "interpreter-private.h"
+#include "interpreter.h"
 
 namespace QtHandles
 {
 
-  Object::Object (const graphics_object& go, QObject *obj)
-    : QObject (), m_go (go), m_handle (go.get_handle ()), m_qobject (nullptr)
+  Object::Object (octave::base_qobject& oct_qobj, octave::interpreter& interp,
+                  const graphics_object& go, QObject *obj)
+    : QObject (), m_octave_qobj (oct_qobj), m_interpreter (interp),
+      m_go (go), m_handle (go.get_handle ()), m_qobject (nullptr)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::Object");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -76,7 +79,7 @@
   graphics_object
   Object::object (void) const
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::object");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock (), false);
 
@@ -91,7 +94,7 @@
   void
   Object::slotUpdate (int pId)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::slotUpdate");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -114,7 +117,7 @@
   void
   Object::slotFinalize (void)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::slotFinalize");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -124,7 +127,7 @@
   void
   Object::slotRedraw (void)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::slotRedraw");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -135,7 +138,7 @@
   void
   Object::slotShow (void)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::slotShow");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -146,7 +149,7 @@
   void
   Object::slotPrint (const QString& file_cmd, const QString& term)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::slotPrint");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -192,9 +195,9 @@
   }
 
   Object*
-  Object::parentObject (const graphics_object& go)
+  Object::parentObject (octave::interpreter& interp, const graphics_object& go)
   {
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("Object::parentObject");
+    gh_manager& gh_mgr = interp.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());