Mercurial > octave
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 ());