Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

CUIButton Class Reference

Represents a Button. More...

#include <CUIButton.h>

Inheritance diagram for CUIButton:

MUIWidget CUIBitmapButton List of all members.

Public Member Functions

 CUIButton (const CUIRect &aRectangle, const char *aTitle, MUIWidgetEvents *aObserver)
 Constructs CUIButton object.

virtual void Draw ()
 Draws this widget on the virtual screen.

virtual bool HandlePenEvent (MInputReader::TTouchEventData &aData)
 Reacts on touch screen event.

virtual bool HandleKeyEvent (MInputReader::TKeyEventData &aData)
 Reacts on keyboard or remote control input event.


Protected Member Functions

CDesktop::TColor GetColor ()
 Returns the color to draw the title with.


Protected Attributes

bool iPressed

Detailed Description

Represents a Button.

Button is a control that generates MUIWidget::MUIWidgetEvents::FiredPressEvent() when it is pressed


Constructor & Destructor Documentation

CUIButton::CUIButton const CUIRect aRectangle,
const char *  aTitle,
MUIWidgetEvents *  aObserver
 

Constructs CUIButton object.

Parameters:
aRectangle Position and size
aTitle Text to write on the button. Can be NULL
aObserver Observer for events. Can be NULL


Member Function Documentation

virtual void CUIButton::Draw  )  [virtual]
 

Draws this widget on the virtual screen.

The library does not provide any clipping mechanism, so the widget is completely responsible for drawing in its iRectangle. If the widget should be drawn fully or partially transparently over its iParent, it should call iParent->RestoreBackground() for every transparent region

Implements MUIWidget.

Reimplemented in CUIBitmapButton.

virtual bool CUIButton::HandleKeyEvent MInputReader::TKeyEventData aData  )  [virtual]
 

Reacts on keyboard or remote control input event.

It is permitted to re-draw this or other widgets as a response on this event. In this case the CUIEventLoop flushes the virtual screen automatically to ensure that it is displayed. In some cases it's necessary to completely re-draw the whole screen. If it's needed, the handling code should set CUIEventLoop::GetEventLoop().iForceFullRedraw to true.

Warning:
The full screen redraw could be very time consuming and should be used carefully

Implements MUIWidget.

virtual bool CUIButton::HandlePenEvent MInputReader::TTouchEventData aData  )  [virtual]
 

Reacts on touch screen event.

Returns true if the event was consumed.

It is permitted to re-draw this or other widgets as a response on this event. In this case the CUIEventLoop flushes the virtual screen automatically to ensure that it is displayed. In some cases it's necessary to completely re-draw the whole screen. If it's needed, the handling code should set CUIEventLoop::GetEventLoop().iForceFullRedraw to true. Note that because of nature of the touchscreen, the widget could receive PenUp event (aData.iPressure == 0) with the aData.iX and aData.iY pointing outside of iRectangle of this widget. In this case the widget should not react for such an event or perform necessary cleanup if it has reacted on PenDown event (aData.iPressure != 0 ).

Warning:
The full screen redraw could be very time consuming and should be used carefully

Implements MUIWidget.


Member Data Documentation

bool CUIButton::iPressed [protected]
 

Indicates that the button is being pressed. Note that the button fires the event only when it was released, that's why the main intention of this member is to be used for custom drawing


The documentation for this class was generated from the following file:
Generated on Fri Jul 15 16:46:44 2005 for TomTom GO User Interface library by doxygen 1.3.5