diff libgui/graphics/Object.h @ 27319:6b2d20317b26

use Qt signals to manage calls to gh_manager functions in Qt graphics toolkit Limit access to the gh_manager object to the qt_graphics_toolkit class by using Qt signals to pass gh_manager events from individual graphics objects up to the qt_graphics_toolkit object. From there, we can make calls to the gh_manager object. * qt-graphics-toolkit.h, qt-graphics-toolkit.cc (qt_graphics_toolkit::gh_callback_event, qt_graphics_toolkit::gh_set_event): New slots. (qt_graphics_toolkit::create_object): Connect Object::gh_callback_event and Object::gh_set_event signals to qt_graphics_toolkit::gh_callback_event and qt_graphics_toolkit::gh_set_event slots. * BaseControl.cc, ButtonControl.cc, ButtonGroup.cc, Canvas.cc, ContextMenu.cc, EditControl.cc, Figure.cc, ListBoxControl.cc, Menu.cc, PopupMenuControl.cc, PushTool.cc, SliderControl.cc, Table.cc, ToggleTool.cc: Emit gh_callback_event and gh_set_event signals instead of calling gh_manager functions directly. * Object.h (Object::gh_callback_event, Object::gh_set_event): New signals. * Canvas.h (Canvas::gh_callback_event, Canvas::gh_set_event): New signals. * Container.h (Container::gh_callback_event, Container::gh_set_event): New signals.
author John W. Eaton <jwe@octave.org>
date Fri, 02 Aug 2019 15:19:43 -0500
parents 718116e9c7d3
children 1952e110d346
line wrap: on
line diff
--- a/libgui/graphics/Object.h	Fri Aug 02 14:28:48 2019 -0500
+++ b/libgui/graphics/Object.h	Fri Aug 02 15:19:43 2019 -0500
@@ -83,6 +83,21 @@
     void interpreter_event (const octave::fcn_callback& fcn);
     void interpreter_event (const octave::meth_callback& meth);
 
+    void gh_callback_event (const graphics_handle& h, const std::string& name);
+
+    void gh_callback_event (const graphics_handle& h, const std::string& name,
+                            const octave_value& data);
+
+    void gh_set_event (const graphics_handle& h, const std::string& name,
+                       const octave_value& value);
+
+    void gh_set_event (const graphics_handle& h, const std::string& name,
+                       const octave_value& value, bool notify_toolkit);
+
+    void gh_set_event (const graphics_handle& h, const std::string& name,
+                       const octave_value& value, bool notify_toolkit,
+                       bool redraw_figure);
+
   public slots:
     void slotUpdate (int pId);
     void slotFinalize (void);