3#include "MRViewerFwd.h"
18 virtual void connect(
Viewer* viewer,
int group = 0, boost::signals2::connect_position pos = boost::signals2::connect_position::at_back ) = 0;
30template<
typename ...Connectables>
33 static_assert( ( std::is_base_of_v<IConnectable, Connectables> && ... ),
34 "Base classes must be children of IConnectable" );
39 [[maybe_unused]]
Viewer* viewer,
40 [[maybe_unused]]
int group = 0,
41 [[maybe_unused]] boost::signals2::connect_position pos = boost::signals2::connect_position::at_back )
43 ( Connectables::connect( viewer, group, pos ), ... );
48 [[maybe_unused]]
int dummy;
49 (void)( dummy = ... = ( Connectables::disconnect(), 0 ) );
57 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
66 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
75 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
84 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
93 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
102 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
111 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
120 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
129 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
138 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
140 virtual bool onKeyUp_(
int key,
int modifier ) = 0;
147 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
156 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
165 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
174 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
183 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
192 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
201 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
203 virtual bool dragDrop_(
const std::vector<std::filesystem::path>& paths ) = 0;
210 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
219 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
228 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
237 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
246 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
255 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
264 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
273 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
283 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
285 virtual bool spaceMouseMove_(
const Vector3f& translate,
const Vector3f& rotate ) = 0;
293 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
303 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
313 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
323 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
333 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
343 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
353 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
363 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
373 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
383 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
393 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
403 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
413 MRVIEWER_API
virtual void connect(
Viewer* viewer,
int group, boost::signals2::connect_position pos )
override;
GLFW-based mesh viewer.
Definition MRViewer.h:69
virtual bool onKeyDown_(int key, int modifier)=0
virtual void postDraw_()=0
virtual ~SpaceMouseDownListener()=default
virtual ~KeyUpListener()=default
virtual ~SpaceMouseUpListener()=default
MR_ADD_CTOR_DELETE_MOVE(PreSetupViewListener)
virtual ~MouseMoveListener()=default
MR_ADD_CTOR_DELETE_MOVE(DragListener)
virtual ~DragStartListener()=default
virtual bool onKeyRepeat_(int key, int modifier)=0
virtual bool onMouseMove_(int x, int y)=0
virtual ~TouchpadSwipeGestureBeginListener()=default
MouseButton
Definition MRMouse.h:12
virtual bool dragDrop_(const std::vector< std::filesystem::path > &paths)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onMouseScroll_(float delta)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual void connect(Viewer *viewer, int group=0, boost::signals2::connect_position pos=boost::signals2::connect_position::at_back)=0
virtual ~TouchpadSwipeGestureUpdateListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool touchpadRotateGestureUpdate_(float angle)=0
virtual ~DragEndListener()=default
virtual ~IConnectable()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(MouseMoveListener)
virtual ~TouchpadZoomGestureBeginListener()=default
MR_ADD_CTOR_DELETE_MOVE(SpaceMouseMoveListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(KeyUpListener)
MR_ADD_CTOR_DELETE_MOVE(CursorEntranceListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~PreDrawListener()=default
virtual bool onTouchEnd_(int id, int x, int y)=0
virtual void postFocus_(bool focused)=0
virtual bool spaceMouseDown_(int key)=0
MR_ADD_CTOR_DELETE_MOVE(TouchpadSwipeGestureBeginListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onCharPressed_(unsigned charKey, int modifier)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~DragListener()=default
virtual ~TouchpadRotateGestureEndListener()=default
virtual bool touchpadSwipeGestureEnd_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
angle
Definition MRObjectDimensionsEnum.h:16
MR_ADD_CTOR_DELETE_MOVE(PostResizeListener)
virtual bool onTouchMove_(int id, int x, int y)=0
MR_ADD_CTOR_DELETE_MOVE(TouchpadRotateGestureUpdateListener)
MR_ADD_CTOR_DELETE_MOVE(DragEndListener)
MR_ADD_CTOR_DELETE_MOVE(MouseClickListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual void preDraw_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchMoveListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchpadRotateGestureEndListener)
virtual ~MouseScrollListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadSwipeGestureUpdateListener)
boost::signals2::scoped_connection connection_
Definition MRViewerEventsListener.h:27
MR_ADD_CTOR_DELETE_MOVE(MouseScrollListener)
virtual ~TouchpadRotateGestureUpdateListener()=default
virtual ~PostResizeListener()=default
virtual bool touchpadRotateGestureBegin_()=0
MR_ADD_CTOR_DELETE_MOVE(SpaceMouseDownListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~MouseClickListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(KeyRepeatListener)
virtual ~PostDrawListener()=default
virtual bool touchpadRotateGestureEnd_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~MultiListener()=default
virtual ~DragDropListener()=default
virtual void postRescale_(float x, float y)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~PostRescaleListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onDrag_(int x, int y)=0
virtual bool spaceMouseMove_(const Vector3f &translate, const Vector3f &rotate)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~MouseDownListener()=default
virtual void disconnect()=0
MR_ADD_CTOR_DELETE_MOVE(DrawListener)
virtual bool onMouseClick_(MouseButton btn, int modifiers)=0
MR_ADD_CTOR_DELETE_MOVE(DragOverListener)
virtual void preSetupView_()=0
virtual ~PreSetupViewListener()=default
MR_ADD_CTOR_DELETE_MOVE(MouseDownListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(MouseUpListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual void dragEntrance_(bool enter)=0
MR_ADD_CTOR_DELETE_MOVE(CharPressedListener)
virtual bool onMouseDown_(MouseButton btn, int modifiers)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~DragOverListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~ConnectionHolder()=default
virtual ~InterruptCloseListener()=default
virtual void postResize_(int w, int h)=0
MR_ADD_CTOR_DELETE_MOVE(InterruptCloseListener)
MR_ADD_CTOR_DELETE_MOVE(DragEntranceListener)
virtual bool touchpadZoomGestureBegin_()=0
MR_ADD_CTOR_DELETE_MOVE(DragDropListener)
virtual ~DrawListener()=default
MR_ADD_CTOR_DELETE_MOVE(PreDrawListener)
virtual ~TouchpadRotateGestureBeginListener()=default
virtual ~DragEntranceListener()=default
virtual ~TouchEndListener()=default
virtual ~TouchpadZoomGestureUpdateListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadZoomGestureUpdateListener)
MR_ADD_CTOR_DELETE_MOVE(TouchpadSwipeGestureEndListener)
virtual ~TouchpadSwipeGestureEndListener()=default
virtual bool dragOver_(int x, int y)=0
virtual bool onKeyUp_(int key, int modifier)=0
virtual ~CursorEntranceListener()=default
virtual bool onTouchStart_(int id, int x, int y)=0
MR_ADD_CTOR_DELETE_MOVE(DragStartListener)
MR_ADD_CTOR_DELETE_MOVE(PostFocusListener)
virtual ~PostFocusListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchStartListener)
virtual ~CharPressedListener()=default
virtual bool onMouseUp_(MouseButton btn, int modifiers)=0
virtual ~KeyDownListener()=default
virtual bool touchpadSwipeGestureBegin_()=0
virtual void disconnect()
Definition MRViewerEventsListener.h:45
MR_ADD_CTOR_DELETE_MOVE(TouchpadZoomGestureEndListener)
MR_ADD_CTOR_DELETE_MOVE(PostDrawListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchEndListener)
virtual bool onDragEnd_(MouseButton btn, int modifiers)=0
virtual ~SpaceMouseMoveListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~MouseUpListener()=default
virtual void cursorEntrance_(bool enter)=0
virtual ~TouchStartListener()=default
virtual ~TouchpadZoomGestureEndListener()=default
virtual bool touchpadZoomGestureEnd_()=0
virtual bool onDragStart_(MouseButton btn, int modifiers)=0
virtual bool touchpadZoomGestureUpdate_(float scale, bool kinetic)=0
MR_ADD_CTOR_DELETE_MOVE(TouchpadZoomGestureBeginListener)
MR_ADD_CTOR_DELETE_MOVE(PostRescaleListener)
MR_ADD_CTOR_DELETE_MOVE(SpaceMouseUpListener)
virtual ~TouchMoveListener()=default
virtual bool touchpadSwipeGestureUpdate_(float dx, float dy, bool kinetic)=0
virtual bool spaceMouseUp_(int key)=0
virtual void connect(Viewer *viewer, int group=0, boost::signals2::connect_position pos=boost::signals2::connect_position::at_back)
Definition MRViewerEventsListener.h:38
virtual bool interruptClose_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(KeyDownListener)
MR_ADD_CTOR_DELETE_MOVE(TouchpadRotateGestureBeginListener)
virtual ~KeyRepeatListener()=default
virtual void disconnect()
Definition MRViewerEventsListener.h:25
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRViewerEventsListener.h:126
Definition MRViewerEventsListener.h:23
class to subscribe on CursorEntranceSingal
Definition MRViewerEventsListener.h:410
Definition MRViewerEventsListener.h:198
Definition MRViewerEventsListener.h:108
Definition MRViewerEventsListener.h:207
Definition MRViewerEventsListener.h:117
Definition MRViewerEventsListener.h:216
Definition MRViewerEventsListener.h:99
Definition MRViewerEventsListener.h:180
Definition MRViewerEventsListener.h:16
Definition MRViewerEventsListener.h:234
Definition MRViewerEventsListener.h:144
Definition MRViewerEventsListener.h:153
Definition MRViewerEventsListener.h:135
Definition MRViewerEventsListener.h:90
Definition MRViewerEventsListener.h:54
Definition MRViewerEventsListener.h:72
Definition MRViewerEventsListener.h:63
Definition MRViewerEventsListener.h:32
Definition MRViewerEventsListener.h:189
class to subscribe on PostFocusSingal
Definition MRViewerEventsListener.h:400
Definition MRViewerEventsListener.h:243
Definition MRViewerEventsListener.h:225
Definition MRViewerEventsListener.h:171
Definition MRViewerEventsListener.h:162
class to subscribe on SpaceMouseDownSgnal
Definition MRViewerEventsListener.h:290
class to subscribe on SpaceMouseMoveSignal
Definition MRViewerEventsListener.h:280
class to subscribe on SpaceMouseUpSignal
Definition MRViewerEventsListener.h:300
Definition MRViewerEventsListener.h:270
Definition MRViewerEventsListener.h:261
Definition MRViewerEventsListener.h:252
class to subscribe on TouchpadRotateGestureBeginEvent
Definition MRViewerEventsListener.h:310
class to subscribe on TouchpadRotateGestureEndEvent
Definition MRViewerEventsListener.h:330
class to subscribe on TouchpadRotateGestureUpdateEvent
Definition MRViewerEventsListener.h:320
class to subscribe on TouchpadSwipeGestureBeginEvent
Definition MRViewerEventsListener.h:340
class to subscribe on TouchpadSwipeGestureEndEvent
Definition MRViewerEventsListener.h:360
class to subscribe on TouchpadSwipeGestureUpdateEvent
Definition MRViewerEventsListener.h:350
class to subscribe on TouchpadZoomGestureBeginEvent
Definition MRViewerEventsListener.h:370
class to subscribe on TouchpadZoomGestureEndEvent
Definition MRViewerEventsListener.h:390
class to subscribe on TouchpadZoomGestureUpdateEvent
Definition MRViewerEventsListener.h:380