diff libgui/graphics/ButtonGroup.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 92fea2cd024f
line wrap: on
line diff
--- a/libgui/graphics/ButtonGroup.cc	Tue Nov 05 18:23:20 2019 -0500
+++ b/libgui/graphics/ButtonGroup.cc	Wed Nov 06 12:42:12 2019 -0500
@@ -44,7 +44,7 @@
 
 #include "octave-qobject.h"
 
-#include "interpreter-private.h"
+#include "interpreter.h"
 #include "ov-struct.h"
 
 namespace QtHandles
@@ -97,9 +97,9 @@
 
   ButtonGroup*
   ButtonGroup::create (octave::base_qobject& oct_qobj,
-                       const graphics_object& go)
+                       octave::interpreter& interp, const graphics_object& go)
   {
-    Object *parent = Object::parentObject (go);
+    Object *parent = parentObject (interp, go);
 
     if (parent)
       {
@@ -108,8 +108,8 @@
         if (container)
           {
             QFrame *frame = new QFrame (container);
-            return new ButtonGroup (oct_qobj, go, new QButtonGroup (frame),
-                                    frame);
+            return new ButtonGroup (oct_qobj, interp, go,
+                                    new QButtonGroup (frame), frame);
           }
       }
 
@@ -117,10 +117,11 @@
   }
 
   ButtonGroup::ButtonGroup (octave::base_qobject& oct_qobj,
+                            octave::interpreter& interp,
                             const graphics_object& go,
                             QButtonGroup *buttongroup, QFrame *frame)
-    : Object (go, frame), m_hiddenbutton(nullptr), m_container (nullptr),
-      m_title (nullptr), m_blockUpdates (false)
+    : Object (oct_qobj, interp, go, frame), m_hiddenbutton (nullptr),
+      m_container (nullptr), m_title (nullptr), m_blockUpdates (false)
   {
     uibuttongroup::properties& pp = properties<uibuttongroup> ();
 
@@ -139,7 +140,7 @@
     m_hiddenbutton->hide ();
     m_buttongroup->addButton (m_hiddenbutton);
 
-    m_container = new Container (frame, oct_qobj);
+    m_container = new Container (frame, oct_qobj, interp);
     m_container->canvas (m_handle);
 
     connect (m_container, SIGNAL (interpeter_event (const fcn_callback&)),
@@ -189,7 +190,7 @@
   {
     if (! m_blockUpdates)
       {
-        gh_manager& gh_mgr = octave::__get_gh_manager__ ("ButtonGroup::eventFilter");
+        gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
         if (watched == qObject ())
           {
@@ -230,7 +231,8 @@
                     {
                       octave::autolock guard (gh_mgr.graphics_lock ());
 
-                      ContextMenu::executeAt (properties (), m->globalPos ());
+                      ContextMenu::executeAt (m_interpreter, properties (),
+                                              m->globalPos ());
                     }
                 }
                 break;
@@ -363,7 +365,7 @@
         {
           graphics_handle h = pp.get_selectedobject ();
 
-          gh_manager& gh_mgr = octave::__get_gh_manager__ ("ButtonGroup::update");
+          gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
           octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -468,7 +470,7 @@
     Q_UNUSED (toggled);
     if (! m_blockUpdates)
       {
-        gh_manager& gh_mgr = octave::__get_gh_manager__ ("ButtonGroup::buttonToggled");
+        gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
         octave::autolock guard (gh_mgr.graphics_lock ());
 
@@ -496,7 +498,7 @@
   {
     Q_UNUSED (btn);
 
-    gh_manager& gh_mgr = octave::__get_gh_manager__ ("ButtonGroup::buttonClicked");
+    gh_manager& gh_mgr = m_interpreter.get_gh_manager ();
 
     octave::autolock guard (gh_mgr.graphics_lock ());