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