9 #ifndef CBaseGUIWindow_H 10 #define CBaseGUIWindow_H 74 void createWxWindow(
unsigned int initialWidth,
unsigned int initialHeight);
92 void* winobj_voidptr,
int CMD_CREATE_WIN,
int CMD_DESTROY_WIN,
106 virtual void setPos(
int x,
int y) = 0;
136 bool ignoreControlKeys =
true,
An event sent by a window upon resize.
CBaseGUIWindow * source_object
const int m_CMD_CREATE_WIN
can be 200,300,400...
An event sent by a window upon a mouse click, giving the (x,y) pixel coordinates. ...
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.
virtual void setWindowTitle(const std::string &str)=0
Changes the window title text.
The basic event type for the observer-observable pattern in MRPT.
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.
A pair (x,y) of pixel coordinates (integer resolution).
mrptEventWindowResize(CBaseGUIWindow *obj, size_t _new_width, size_t _new_height)
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...
The wx dialog for gui::CDisplayWindowPlots.
GLsizei GLsizei GLuint * obj
virtual void setCursorCross(bool cursorIsCross)=0
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true) ...
An event sent by a window upon when it's about to be closed, either manually by the user or programma...
An event sent by a window when the mouse is moved over it.
void notifyChildWindowDestruction()
Called by wx main thread to set m_hwnd to NULL.
virtual void do_nothing() override
Just to allow this class to be polymorphic.
mrptEventMouseMove(CBaseGUIWindow *obj, mrpt::utils::TPixelCoord _coords, bool _leftButton, bool _rightButton)
mrpt::utils::TPixelCoord coords
virtual void setPos(int x, int y)=0
Changes the position of the window on the screen.
void * getWxObject()
Read-only access to the wxDialog object.
virtual void do_nothing() override
Just to allow this class to be polymorphic.
bool isOpen()
Returns false if the user has already closed the window.
virtual void do_nothing() override
Just to allow this class to be polymorphic.
bool keyHit() const
Returns true if a key has been pushed, without blocking waiting for a new key being pushed...
The wx dialog for gui::CDisplayWindow.
CBaseGUIWindow * source_object
const int m_CMD_DESTROY_WIN
can be 299,399,499...
An event sent by a window upon a char pressed by the user.
CBaseGUIWindow * source_object
std::promise< void > m_threadReady
This semaphore will be signaled when the wx window is built and ready.
GLsizei const GLchar ** string
volatile mrptKeyModifier m_keyPushedModifier
mrptEventWindowClosed(CBaseGUIWindow *obj, bool _allow_close=true)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
virtual void do_nothing() override
Just to allow this class to be polymorphic.
virtual void do_nothing() override
Just to allow this class to be polymorphic.
mrptEventMouseDown(CBaseGUIWindow *obj, mrpt::utils::TPixelCoord _coords, bool _leftButton, bool _rightButton)
mrptKeyModifier key_modifiers
Modifiers (Shift, Control, etc...)
virtual void resize(unsigned int width, unsigned int height)=0
Resizes the window, stretching the image to fit into the display area.
volatile bool m_keyPushed
mrptEventWindowChar(CBaseGUIWindow *obj, int _char_code, mrptKeyModifier _key_mod)
CBaseGUIWindow * source_object
virtual bool getLastMousePosition(int &x, int &y) const =0
Gets the last x,y pixel coordinates of the mouse.
void destroyWxWindow()
Must be called by child classes in their destructors.
void createWxWindow(unsigned int initialWidth, unsigned int initialHeight)
Must be called by child classes just within the constructor.
volatile int m_keyPushedCode
virtual ~CBaseGUIWindow()
CBaseGUIWindow * source_object
GLenum GLsizei GLsizei height
void notifySemThreadReady()
Called by wx main thread to signal the semaphore that the wx window is built and ready.
Inherit from this class for those objects capable of being observed by a CObserver class...
std::promise< void > m_windowDestroyed
This semaphore will be signaled when the wx window is destroyed.
mrpt::utils::void_ptr_noncopy m_hwnd
The window handle.
int char_code
The virtual key code, as defined in <mrpt/gui/keycodes.h> (a replication of wxWidgets key codes)...
The base class for GUI window classes.
mrpt::utils::TPixelCoord coords
void clearKeyHitFlag()
Assure that "keyHit" will return false until the next pushed key.