Go to the documentation of this file.
70 void createWxWindow(
unsigned int initialWidth,
unsigned int initialHeight);
88 void* winobj_voidptr,
int CMD_CREATE_WIN,
int CMD_DESTROY_WIN,
89 const std::string& initial_caption = std::string());
98 virtual void resize(
unsigned int width,
unsigned int height) = 0;
102 virtual void setPos(
int x,
int y) = 0;
132 bool ignoreControlKeys =
true,
The basic event type for the observer-observable pattern in MRPT.
void createWxWindow(unsigned int initialWidth, unsigned int initialHeight)
Must be called by child classes just within the constructor.
std::atomic< mrptKeyModifier > m_keyPushedModifier
void do_nothing() override
Just to allow this class to be polymorphic.
The wx dialog for gui::CDisplayWindow.
std::atomic_int m_keyPushedCode
const int m_CMD_DESTROY_WIN
can be 299,399,499...
virtual void setCursorCross(bool cursorIsCross)=0
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true)
CBaseGUIWindow * source_object
An event sent by a window when the mouse is moved over it.
const int m_CMD_CREATE_WIN
can be 200,300,400...
An event sent by a window upon a char pressed by the user.
An event sent by a window upon resize.
std::promise< void > m_windowDestroyed
This semaphore will be signaled when the wx window is destroyed.
void clearKeyHitFlag()
Assure that "keyHit" will return false until the next pushed key.
void do_nothing() override
Just to allow this class to be polymorphic.
void notifySemThreadReady()
Called by wx main thread to signal the semaphore that the wx window is built and ready.
The base class for GUI window classes based on wxWidgets.
An event sent by a window upon a mouse click, giving the (x,y) pixel coordinates.
~CBaseGUIWindow() override
bool isOpen()
Returns false if the user has already closed the window.
virtual void resize(unsigned int width, unsigned int height)=0
Resizes the window, stretching the image to fit into the display area.
int getPushedKey(mrptKeyModifier *out_pushModifier=nullptr)
Returns the latest pushed key, or 0 if there is no new key stroke.
std::string m_caption
The caption of the window.
CBaseGUIWindow * source_object
mrptEventMouseMove(CBaseGUIWindow *obj, mrpt::img::TPixelCoord _coords, bool _leftButton, bool _rightButton)
mrpt::void_ptr_noncopy m_hwnd
The window handle.
mrptEventWindowChar(CBaseGUIWindow *obj, int _char_code, mrptKeyModifier _key_mod)
CBaseGUIWindow * source_object
mrptKeyModifier key_modifiers
Modifiers (Shift, Control, etc...)
virtual void setWindowTitle(const std::string &str)=0
Changes the window title text.
mrpt::img::TPixelCoord coords
int char_code
The virtual key code, as defined in <mrpt/gui/keycodes.h> (a replication of wxWidgets key codes).
void do_nothing() override
Just to allow this class to be polymorphic.
Classes for creating GUI windows for 2D and 3D visualization.
void notifyChildWindowDestruction()
Called by wx main thread to set m_hwnd to NULL.
virtual bool getLastMousePosition(int &x, int &y) const =0
Gets the last x,y pixel coordinates of the mouse.
void do_nothing() override
Just to allow this class to be polymorphic.
mrptEventWindowClosed(CBaseGUIWindow *obj, bool _allow_close=true)
std::atomic_bool m_keyPushed
mrptEventMouseDown(CBaseGUIWindow *obj, mrpt::img::TPixelCoord _coords, bool _leftButton, bool _rightButton)
std::promise< void > m_threadReady
This semaphore will be signaled when the wx window is built and ready.
mrpt::img::TPixelCoord coords
bool keyHit() const
Returns true if a key has been pushed, without blocking waiting for a new key being pushed.
A pair (x,y) of pixel coordinates (integer resolution).
void * getWxObject()
Read-only access to the wxDialog object.
void destroyWxWindow()
Must be called by child classes in their destructors.
An event sent by a window upon when it's about to be closed, either manually by the user or programma...
int waitForKey(bool ignoreControlKeys=true, mrptKeyModifier *out_pushModifier=nullptr)
Waits for any key to be pushed on the image or the console, and returns the key code.
void do_nothing() override
Just to allow this class to be polymorphic.
virtual void setPos(int x, int y)=0
Changes the position of the window on the screen.
The wx dialog for gui::CDisplayWindowPlots.
CBaseGUIWindow * source_object
Inherit from this class for those objects capable of being observed by a CObserver class.
CBaseGUIWindow(void *winobj_voidptr, int CMD_CREATE_WIN, int CMD_DESTROY_WIN, const std::string &initial_caption=std::string())
CMD_DESTROY_WIN can be 299,399,499...
mrptEventWindowResize(CBaseGUIWindow *obj, size_t _new_width, size_t _new_height)
CBaseGUIWindow * source_object
Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Fri May 29 13:06:46 UTC 2020 | |