Main MRPT website > C++ reference
MRPT logo

mrpt::gui::CBaseGUIWindow Class Reference

The base class for GUI window classes. More...

#include <mrpt/gui/CBaseGUIWindow.h>

Inheritance diagram for mrpt::gui::CBaseGUIWindow:
Inheritance graph
[legend]
Collaboration diagram for mrpt::gui::CBaseGUIWindow:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void * getWxObject ()
 Read-only access to the wxDialog object.
void notifyChildWindowDestruction ()
 Called by wx main thread to set m_hwnd to NULL.
void notifySemThreadReady ()
 Called by wx main thread to signal the semaphore that the wx window is built and ready.
 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.
virtual ~CBaseGUIWindow ()
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.
virtual void setPos (int x, int y)=0
 Changes the position of the window on the screen.
virtual void setWindowTitle (const std::string &str)=0
 Changes the window title text.
int waitForKey (bool ignoreControlKeys=true, mrptKeyModifier *out_pushModifier=NULL)
 Waits for any key to be pushed on the image or the console, and returns the key code.
bool keyHit () const
 Returns true if a key has been pushed, without blocking waiting for a new key being pushed.
void clearKeyHitFlag ()
 Assure that "keyHit" will return false until the next pushed key.
int getPushedKey (mrptKeyModifier *out_pushModifier=NULL)
 Returns the latest pushed key, or 0 if there is no new key stroke.

Protected Member Functions

void createWxWindow (unsigned int initialWidth, unsigned int initialHeight)
 Must be called by child classes just within the constructor.

Protected Attributes

synch::CSemaphore m_semThreadReady
 This semaphore will be signaled when the wx window is built and ready.
synch::CSemaphore m_semWindowDestroyed
 This semaphore will be signaled when the wx window is destroyed.
std::string m_caption
 The caption of the window.
void_ptr_noncopy m_hwnd
 The window handle.
volatile bool m_keyPushed
volatile int m_keyPushedCode
volatile mrptKeyModifier m_keyPushedModifier

Private Attributes

const int m_CMD_CREATE_WIN
 can be 200,300,400... See WxSubsystem
const int m_CMD_DESTROY_WIN
 can be 299,399,499... See WxSubsystem
void * m_winobj_voidptr

Friends

class CWindowDialog
class C3DWindowDialog
class CWindowDialogPlots

Detailed Description

The base class for GUI window classes.

This class can be observed (see mrpt::utils::CObserver) for the following events (see mrpt::utils::mrptEvent):

IMPORTANTE NOTICE: Event handlers in your observer class will be invoked from the wxWidgets internal MRPT thread, so all your code in the handler must be thread safe.

Definition at line 62 of file CBaseGUIWindow.h.


Constructor & Destructor Documentation

mrpt::gui::CBaseGUIWindow::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.

.. See WxSubsystem

virtual mrpt::gui::CBaseGUIWindow::~CBaseGUIWindow (  )  [virtual]

Member Function Documentation

void mrpt::gui::CBaseGUIWindow::clearKeyHitFlag (  )  [inline]

Assure that "keyHit" will return false until the next pushed key.

See also:
keyHit, waitForKey

Definition at line 137 of file CBaseGUIWindow.h.

void mrpt::gui::CBaseGUIWindow::createWxWindow ( unsigned int  initialWidth,
unsigned int  initialHeight 
) [protected]

Must be called by child classes just within the constructor.

int mrpt::gui::CBaseGUIWindow::getPushedKey ( mrptKeyModifier out_pushModifier = NULL  ) 

Returns the latest pushed key, or 0 if there is no new key stroke.

Parameters:
out_pushModifier If set to !=NULL, the modifiers of the key stroke will be saved here.
Returns:
The virtual key code, as defined in <mrpt/gui/keycodes.h> (a replication of wxWidgets key codes).
See also:
keyHit, waitForKey
void* mrpt::gui::CBaseGUIWindow::getWxObject (  )  [inline]

Read-only access to the wxDialog object.

Definition at line 92 of file CBaseGUIWindow.h.

References mrpt::utils::non_copiable_ptr_basic< T >::get().

bool mrpt::gui::CBaseGUIWindow::isOpen (  ) 

Returns false if the user has already closed the window.

bool mrpt::gui::CBaseGUIWindow::keyHit (  )  const [inline]

Returns true if a key has been pushed, without blocking waiting for a new key being pushed.

See also:
waitForKey, clearKeyHitFlag

Definition at line 132 of file CBaseGUIWindow.h.

void mrpt::gui::CBaseGUIWindow::notifyChildWindowDestruction (  ) 

Called by wx main thread to set m_hwnd to NULL.

void mrpt::gui::CBaseGUIWindow::notifySemThreadReady (  ) 

Called by wx main thread to signal the semaphore that the wx window is built and ready.

virtual void mrpt::gui::CBaseGUIWindow::resize ( unsigned int  width,
unsigned int  height 
) [pure virtual]

Resizes the window, stretching the image to fit into the display area.

Implemented in mrpt::gui::CDisplayWindow, mrpt::gui::CDisplayWindow3D, and mrpt::gui::CDisplayWindowPlots.

virtual void mrpt::gui::CBaseGUIWindow::setPos ( int  x,
int  y 
) [pure virtual]

Changes the position of the window on the screen.

Implemented in mrpt::gui::CDisplayWindow, mrpt::gui::CDisplayWindow3D, and mrpt::gui::CDisplayWindowPlots.

virtual void mrpt::gui::CBaseGUIWindow::setWindowTitle ( const std::string &  str  )  [pure virtual]

Changes the window title text.

Implemented in mrpt::gui::CDisplayWindow, mrpt::gui::CDisplayWindow3D, and mrpt::gui::CDisplayWindowPlots.

int mrpt::gui::CBaseGUIWindow::waitForKey ( bool  ignoreControlKeys = true,
mrptKeyModifier out_pushModifier = NULL 
)

Waits for any key to be pushed on the image or the console, and returns the key code.

This method remove key strokes previous to its call, so it will always wait. To get the latest pushed key, see

Parameters:
ignoreControlKeys If set to false, any push of shift, cmd, control, etc... will make this method to return.
out_pushModifier If set to !=NULL, the modifiers of the key stroke will be saved here.
Returns:
The virtual key code, as defined in mrptKeyCode (a replication of wxWidgets key codes).
See also:
getPushedKey, Key codes in the enum mrptKeyCode

Friends And Related Function Documentation

friend class C3DWindowDialog [friend]

Reimplemented in mrpt::gui::CDisplayWindow3D.

Definition at line 70 of file CBaseGUIWindow.h.

friend class CWindowDialog [friend]

Definition at line 69 of file CBaseGUIWindow.h.

friend class CWindowDialogPlots [friend]

Reimplemented in mrpt::gui::CDisplayWindowPlots.

Definition at line 71 of file CBaseGUIWindow.h.


Member Data Documentation

std::string mrpt::gui::CBaseGUIWindow::m_caption [protected]

The caption of the window.

Definition at line 81 of file CBaseGUIWindow.h.

can be 200,300,400... See WxSubsystem

Definition at line 74 of file CBaseGUIWindow.h.

can be 299,399,499... See WxSubsystem

Definition at line 75 of file CBaseGUIWindow.h.

The window handle.

Definition at line 82 of file CBaseGUIWindow.h.

volatile bool mrpt::gui::CBaseGUIWindow::m_keyPushed [protected]

Definition at line 85 of file CBaseGUIWindow.h.

Definition at line 86 of file CBaseGUIWindow.h.

Definition at line 87 of file CBaseGUIWindow.h.

This semaphore will be signaled when the wx window is built and ready.

Definition at line 79 of file CBaseGUIWindow.h.

This semaphore will be signaled when the wx window is destroyed.

Definition at line 80 of file CBaseGUIWindow.h.

Definition at line 76 of file CBaseGUIWindow.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010