Guiliani  Version 2.4 revision 5970 (build 3)
CGUIKeyboard Class Reference

A basic on-screen keyboard control. More...

#include <GUIKeyboard.h>

Inheritance diagram for CGUIKeyboard:

Public Member Functions

 CGUIKeyboard (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t eTargetObjectID, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIKeyboard ()
 
void ConvertLayout (const eC_String &rkInputFile, const eC_String &rkOutputFile)
 
void GetColors (eC_UInt &uiColorStandard, eC_UInt &uiColorHighlighted, eC_UInt &uiColorGrayedOut, eC_UInt &uiColorPressed)
 
void GetImages (ImageResource_t &eImageNormal, ImageResource_t &eImageHighlighted, ImageResource_t &eImagePressed, ImageResource_t &eImageGrayedOut, ImageResource_t &eImageFocused)
 
GeneralResource_t GetLayout () const
 
void HandleKey (const eC_UInt uiKeycode)
 
eC_Bool LoadLayout (const eC_String &rkLayoutFile)
 
void LoadLayout (const GeneralResource_t &reResource)
 
eC_Bool LoadLayout (eC_File *pkFile, const eC_String &kFileExtension)
 
virtual void ReadFromStream ()
 
void SetColors (const eC_UInt &uiColorStandard, const eC_UInt &uiColorHighlighted, const eC_UInt &uiColorGrayedOut, const eC_UInt &uiColorPressed)
 
void SetColors (const GlobalProperty_t &eColorStandard, const GlobalProperty_t &eColorHighlighted, const GlobalProperty_t &eColorGrayedOut, const GlobalProperty_t &eColorPressed)
 
void SetFont (const FontResource_t &eFont)
 
void SetImages (const ImageResource_t &eImageNormal, const ImageResource_t &eImageHighlighted, const ImageResource_t &eImagePressed, const ImageResource_t &eImageGrayedOut, const ImageResource_t &eImageFocused)
 
void SetLayout (const GeneralResource_t &eLayout)
 
void SetTargetObject (const ObjectHandle_t eTargetObject)
 
virtual void WriteToStream (const eC_Bool bWriteClassID=false)
 
- Public Member Functions inherited from CGUICompositeObject
 CGUICompositeObject ()
 
 CGUICompositeObject (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUICompositeObject (CGUICompositeObject *const pParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUICompositeObject (const CGUICompositeObject &kSource)
 
virtual ~CGUICompositeObject ()
 This destructor is automatically virtual, as the base class destructor is virtual.
 
virtual eC_Bool AddObject (CGUIObject *pkObject)
 
eC_Bool BringToFront (const CGUIObject *pkObject)
 
eC_Bool CanBeCyclicFocussed () const
 
virtual eC_Bool DoPostDraw ()
 
void DrawOnTop (CGUIObject *pkObject)
 
void DrawOnTopOf (CGUIObject *const pkObject, CGUIObject *const pDrawOnTopOf)
 
virtual CGUIObjectFindObject (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
void Flip (const eC_Bool &rbVertical)
 
eC_Bool FocusAny ()
 
virtual eC_Bool FocusNext (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
 
virtual eC_Bool FocusPrevious (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
 
const CGUIObjectGetAndCheckObjectByID (ObjectHandle_t eObjID, const eC_String &kObjectName) const
 
CGUIObjectGetAndCheckObjectByID (ObjectHandle_t eObjID, const eC_String &kObjectName)
 
CGUIObjectGetChild (const eC_UInt uIndex) const
 
CGUIObjectGetChild (const eC_UInt uIndex)
 
const ObjectPtrListGetChildObjectsList () const
 
const ObjectPtrListGetDrawOrderList () const
 
eC_Int GetIndexOfChild (const CGUIObject *pkObject) const
 
eC_UInt GetNumberOfChildren () const
 
CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
 
const CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
 
eC_Bool InsertChildAt (const eC_UInt cuiIndex, CGUIObject *pkChild)
 
void InvalidateChildren ()
 Invalidates all chidren, but not this parent.
 
eC_Bool IsAncestorOf (const CGUIObject *pkObject) const
 
virtual eC_Bool IsCompositeObject () const
 
eC_Bool LowerOneLevel (const CGUIObject *pkObject)
 
CGUICompositeObjectoperator= (const CGUICompositeObject &kSource)
 
eC_Bool RaiseOneLevel (const CGUIObject *pkObject)
 
virtual void RefreshLayout (CGUILayouter::eMovedEdges_t eMovedEdges) const
 
void RemoveAllChildren ()
 
virtual void RemoveObject (CGUIObject *pkObject)
 
void Rotate (const eC_UInt &ruiDegrees, const eC_Bool &rbFirst=false)
 
eC_Bool SendToBack (const CGUIObject *pkObject)
 
virtual void SetClickThrough (const eC_Bool &bClickThrough)
 
virtual void SetClickThrough (const eC_Bool &bClickThrough, const eC_Bool &bChildrenClickThrough)
 
void SetCyclicFocus (const eC_Bool &bCyclicFocus)
 
virtual void SetDisabled (const eC_Bool &bDisabled)
 
virtual void SetDisabled (const eC_Bool &bDisabled, const eC_Bool &bChildrenDisabled)
 
virtual void SetFocussable (const eC_Bool &bFocussable)
 
virtual void SetFocussable (const eC_Bool &bFocussable, const eC_Bool &bChildrenFocussable)
 
virtual void SetGrayedOut (const eC_Bool &bGrayedOut)
 
virtual void SetGrayedOut (const eC_Bool &bGrayedOut, const eC_Bool &bChildrenGrayedOut)
 
virtual void SetHeight (const eC_Value &vY)
 
virtual void SetInvisible (const eC_Bool &bInvisible)
 
virtual void SetInvisible (const eC_Bool &bInvisible, const eC_Bool &bChildrenInvisible)
 
virtual void SetWidth (const eC_Value &vX)
 
- Public Member Functions inherited from CGUIObject
 CGUIObject (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIObject (CGUICompositeObject *const pParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIObject ()
 
 CGUIObject (const CGUIObject &kSource)
 
virtual ~CGUIObject ()
 
void AddValueObserver (CGUIObserver *pObserver)
 
eC_Bool CalculateInvalidatedRect (CGUIRect &rRect) const
 
virtual eC_Bool ClaimFocus ()
 
virtual void CreateSnapshot (eC_UInt uiBackColor=0x00)
 
eC_Bool DataPoolConnectorExists () const
 
void DeleteSnapshot ()
 
virtual void DisableSnapshotDrawing (eC_Bool bDeleteSnapshot=true)
 
virtual eC_Bool DoDraw ()
 
virtual eC_Bool DoDrawSnapshot ()
 
virtual void EnableSnapshotDrawing ()
 
CGUIRect GetAbsRect () const
 
eC_Value GetAbsXPos () const
 
eC_Value GetAbsXPosCenter () const
 
eC_Value GetAbsXPosREdge () const
 
eC_Value GetAbsYPos () const
 
eC_Value GetAbsYPosBEdge () const
 
eC_Value GetAbsYPosCenter () const
 
eC_UByte GetAlpha () const
 
CGUIBehaviourDecoratorGetBehaviour ()
 
const CGUIBehaviourDecoratorGetBehaviour () const
 
GUIBitmapPlaneID_t GetBitmapID () const
 
CGUIBitmapPlaneGetBitmapPlane () const
 
CGUIRect GetCurrentAbsRect () const
 
eC_Value GetCurrentAbsXPos () const
 
eC_Value GetCurrentAbsXPosCenter () const
 
eC_Value GetCurrentAbsXPosREdge () const
 
eC_Value GetCurrentAbsYPos () const
 
eC_Value GetCurrentAbsYPosBEdge () const
 
eC_Value GetCurrentAbsYPosCenter () const
 
CDataPoolConnectorGetDataPoolConnector ()
 
eC_Value GetDistanceBottom () const
 
eC_Value GetDistanceRight () const
 
eC_Value GetHalfHeight () const
 
eC_Value GetHalfWidth () const
 
eC_Value GetHeight () const
 
ObjectHandle_t GetID () const
 
CGUILayouterGetLayouter ()
 
const CGUILayouterGetLayouter () const
 
ObjectHandle_t GetNeighborBottomID () const
 
ObjectHandle_t GetNeighborLeftID () const
 
ObjectHandle_t GetNeighborRightID () const
 
ObjectHandle_t GetNeighborTopID () const
 
CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
 
const CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
 
CGUIRect GetOriginRect () const
 
CGUICompositeObjectGetParent ()
 
const CGUICompositeObjectGetParent () const
 
CGUIRect GetRelRect () const
 
eC_Value GetRelXPos () const
 
eC_Value GetRelXPosCenter () const
 
eC_Value GetRelXPosREdge () const
 
eC_Value GetRelYPos () const
 
eC_Value GetRelYPosBEdge () const
 
eC_Value GetRelYPosCenter () const
 
eC_Value GetWidth () const
 
void InvalidateArea ()
 
eC_Bool IsClickable () const
 
eC_Bool IsClickThrough () const
 
eC_Bool IsDescendantOf (const CGUIObject *const pAncestor) const
 
eC_Bool IsDisabled () const
 
eC_Bool IsDragable () const
 
eC_Bool IsDragged () const
 
eC_Bool IsDrawingSnapshot () const
 
eC_Bool IsFocussable () const
 
eC_Bool IsFocussed () const
 
eC_Bool IsGrayedOut () const
 
virtual eC_Bool IsHighlightable () const
 
eC_Bool IsHighlighted () const
 
eC_Bool IsInvisible () const
 
eC_Bool IsPressed () const
 
eC_Bool IsStopFocus () const
 
void NotifyValueObservers (const CGUIValue &kValue, const eC_UInt uiX=0, const eC_UInt uiY=0)
 
CGUIObjectoperator= (const CGUIObject &kSource)
 
void RemoveValueObserver (CGUIObserver *pObserver)
 
void RenderToBitmap (eC_UInt uiBitmapID, eC_Value vXOffset=eC_FromInt(0), eC_Value vYOffset=eC_FromInt(0))
 
eC_Bool RequestFocus ()
 
void SetAlpha (eC_UByte ubAlpha)
 
void SetBehaviour (CGUIBehaviourDecorator *pBehaviour)
 
void SetClickThrough (const eC_Bool &bClickThrough)
 
void SetID (const ObjectHandle_t &eID)
 
void SetLayouter (CGUILayouter *pLayouter)
 
void SetNeighborBottomID (const ObjectHandle_t eNewNeighborBottomID)
 
void SetNeighborIDs (const ObjectHandle_t eNewNeighborLeftID, const ObjectHandle_t eNewNeighborRightID, const ObjectHandle_t eNewNeighborTopID, const ObjectHandle_t eNewNeighborBottomID)
 
void SetNeighborLeftID (const ObjectHandle_t eNewNeighborLeftID)
 
void SetNeighborRightID (const ObjectHandle_t eNewNeighborRightID)
 
void SetNeighborTopID (const ObjectHandle_t eNewNeighborTopID)
 
virtual void SetParent (CGUICompositeObject *const pParent)
 
void SetRelRect (const CGUIRect &kNewRect)
 
virtual void SetRelXPos (const eC_Value &vX)
 
void SetRelXPosCenter (const eC_Value &vXCenter)
 
void SetRelXPosREdge (const eC_Value &vX)
 
virtual void SetRelYPos (const eC_Value &vY)
 
void SetRelYPosBEdge (const eC_Value &vY)
 
void SetRelYPosCenter (const eC_Value &vYCenter)
 
void SetStopFocus (const eC_Bool &bDontFocusToParent)
 
virtual eC_Bool SetValue (const CGUIValue &rkValue)
 
virtual eC_Bool SetValue (CDataPoolEntry &rkValue)
 
- Public Member Functions inherited from CGUIBehaviour
virtual eC_Bool DoUserEvent (CGUIEvent *const pEvent)
 
virtual void OnCreate ()
 
virtual void OnDelete ()
 
virtual void OnHide ()
 
virtual void OnShow ()
 
virtual eC_Bool DoClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoLongClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDoubleClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoButtonDown (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoButtonUp (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDrag (const eC_Value &vDeltaX=eC_FromInt(-1), const eC_Value &vDeltaY=eC_FromInt(-1), const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDragEnd (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseEnter (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseLeave (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseMove (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual void GetFocus ()
 
virtual void LoseFocus ()
 
virtual eC_Bool Decrease ()
 
virtual eC_Bool Increase ()
 
virtual eC_Bool DoKeyDown (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoKeyUp (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoChar (const eC_UInt &uiKey, const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoScrollUp (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollLeft (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollRight (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
- Public Member Functions inherited from CGUIStreamableObject
const eC_String & GetXMLTag () const
 
void SetXMLTag (const eC_String &kXMLTag)
 
- Public Member Functions inherited from CGUIAnimatable
virtual ~CGUIAnimatable ()
 Destructor. Removes all existing animation callbacks.
 
virtual void DoAnimate (const eC_Value &vTimes=eC_FromInt(1))
 
virtual eC_Bool IsAnimating () const
 
virtual void StartAnimation ()
 
virtual void StopAnimation ()
 
- Public Member Functions inherited from CGUIColorPropertyObserver
 CGUIColorPropertyObserver ()
 default-constructor
 
 ~CGUIColorPropertyObserver ()
 destructor
 
eC_UInt AddColorProperty (const eC_Bool &bColorIsProperty, const eC_UInt &uiColorValue, const GlobalProperty_t &eColorProperty)
 
void AddColorProperty (const eC_UInt &uiIndex, const eC_Bool &bColorIsProperty, const eC_UInt &uiColorValue, const GlobalProperty_t &eColorProperty)
 
ColorValue_t GetColorProperty (const eC_UInt &uiIndex) const
 
eC_UInt GetColorValue (const eC_UInt &uiIndex) const
 
virtual void OnColorPropertyChange ()
 
virtual void OnNotification ()
 Called by CGUISubject whenever an observed object triggers an update.
 
void RemoveColorProperty (const eC_UInt &uiIndex)
 
void SetColorProperty (const eC_UInt &uiIndex, const eC_UInt &uiColorValue)
 
void SetColorProperty (const eC_UInt &uiIndex, const GlobalProperty_t &eColorProperty)
 
void SetColorProperty (const eC_UInt &uiIndex, const ColorValue_t &kColorValue)
 
- Public Member Functions inherited from CGUIObserver
 CGUIObserver ()
 Default constructor.
 
virtual ~CGUIObserver ()
 Default destructor. Notifies all subjects of destruction.
 
const eC_TListDoubleLinked< CGUISubject * > & GetSubjectList () const
 
virtual void OnNotification (const eC_String &kMessage)
 
virtual void OnNotification (const CGUIObject *const pkUpdatedObject)
 
virtual void OnNotification (const CGUIValue &kObservedValue, const CGUIObject *const pkUpdatedObject, const eC_UInt uiX=0, const eC_UInt uiY=0)
 
void SetAutoDelete (const eC_Bool bAutoDelete)
 

Protected Member Functions

void Init ()
 Initializes the keyboard.
 
- Protected Member Functions inherited from CGUICompositeObject
virtual eC_Bool FourWayNext (FourWayFocus_t eFocusDirection)
 
ObjectPtrListGetChildObjectsList ()
 
virtual void HandleDraw (const CGUIRect &ClipRect)
 
- Protected Member Functions inherited from CGUIObject
virtual eC_Bool CreateBitmapPlane ()
 
- Protected Member Functions inherited from CGUIStreamableObject
eC_UInt ReadStreamingHeader (const eC_UInt &uiClassVersion, const eC_UInt &uiClassMinVersion=0) const
 
void WriteStreamingFooter (const eC_Bool &bWriteClassID) const
 
void WriteStreamingHeader (const eC_Bool &bWriteClassID, const eC_Char *const pkClassIDTag, const eC_Int &iClassID, const eC_UInt &uiClassVersion) const
 
- Protected Member Functions inherited from CGUIObserver
virtual void AddSubject (CGUISubject *pSubjectToAdd)
 
virtual void RemoveSubject (CGUISubject *pSubjectToRemove)
 

Protected Attributes

ObjectHandle_t m_eTargetObject
 ID of CGUIEdit which shall receive the keyboard's output.
 

Additional Inherited Members

- Public Types inherited from CGUIObject
enum  FourWayFocus_t { FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUS_DOWN }
 
- Static Public Attributes inherited from CGUICompositeObject
static const eC_Char XMLTAG_CHILDREN [] = "Children"
 XML comment tag to be used before writing children to a stream.
 
static const eC_Char XMLTAG_ENDCHILDREN [] = "/Children"
 XML comment tag to be used after writing children to a stream.
 
- Static Public Attributes inherited from CGUIObject
static const eC_Char XMLTAG_ALPHA [] = "Alpha"
 XML tag to be used writing alpha-value into a stream.
 
static const eC_Char XMLTAG_CLICKTHROUGH [] = "ClickThrough"
 XML tag to be used writing clickthrough-state into a stream.
 
static const eC_Char XMLTAG_CONTROLCLASSID [] = "ControlClassID"
 XML tag to be used when writing a control class ID into a stream.
 
static const eC_Char XMLTAG_DISABLED [] = "Disabled"
 XML tag to be used writing disabled-state into a stream.
 
static const eC_Char XMLTAG_FOCUSSABLE [] = "Focussable"
 XML tag to be used writing focussable-state into a stream.
 
static const eC_Char XMLTAG_GRAYEDOUT [] = "GrayedOut"
 XML tag to be used writing grayedout-state into a stream.
 
static const eC_Char XMLTAG_HEIGHT [] = "Height"
 XML tag to be used writing height into a stream.
 
static const eC_Char XMLTAG_INVISIBLE [] = "Invisible"
 XML tag to be used writing invisible-state into a stream.
 
static const eC_Char XMLTAG_OBJECTID [] = "ObjectID"
 XML tag to be used writing object id into a stream.
 
static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS [] = "OverriddenNeighbors"
 XML tag to be used writing overridden neighbors into a stream.
 
static const eC_Char XMLTAG_WIDTH [] = "Width"
 XML tag to be used writing width into a stream.
 
static const eC_Char XMLTAG_XPOS [] = "XPos"
 XML tag to be used writing x-position into a stream.
 
static const eC_Char XMLTAG_YPOS [] = "YPos"
 XML tag to be used writing y-position into a stream.
 
- Static Public Attributes inherited from CGUIBehaviour
static const eC_Char XMLTAG_BEHAVIOURCLASSID [] = "BehaviourClassID"
 XML tag to be used when writing a behaviour class ID into a stream.
 
- Static Public Attributes inherited from CGUIStreamableObject
static const eC_Char XMLTAG_CLASSVERSION [] = "ClassVersion"
 

Detailed Description

A basic on-screen keyboard control.

onscreen_keyboard.png
The "keyboard" control is a fully customizable. Offering all necessary means for standard QWERTY layout up to phone-style keyboards. Application specific symbols or images can be integrated easily. There are no limitations in the number or sizes of the keyboard buttons, making usage of Guiliani's intelligent layouters for a perfect positioning (Class: CGUIKeyboard).

This implements a basic OnScreen-Keyboard with four different layouts. (ASCII characters, ASCII capital Letters, Numerical, Symbolic) The keyboard's buttons send their corresponding keycodes to a defineable CGUIEdit in the GUI. The CGUIEdit is chosen via the CGUIKeyboard::SetTargetObject() API and will be the target for ALL subsequent key presses within ALL existing keyboard layouts.

The four default layouts can be created via the CreateDefaultLayouts() method. Alternatively you can create custom layouts by attaching a CGUIKeyboardBehaviour to your own custom controls. If you wish to use the existing default layouts, but change their visualization, you may inherit your own keyboard from CGUIKeyboard and override the CreateKeyboardButton() method. This will be called for all the buttons by CreateDefaultLayouts().

Example showing the creation of a keyboard with default layouts:

// Create keyboard
CGUIKeyboard* pkKeyboard = new CGUIKeyboard(pkMainWin, 0,0, eC_FromInt(300), eC_FromInt(100), OBJ_ID_OF_GUIEDIT, OBJ_KEYBOARD);
// Use default keyboard layouts
pkKeyboard->CreateDefaultLayouts();
// Set object which shall receive the keyboard output
CGUIKeyboard::SetTargetObject(OBJ_ID_OF_CGUIEDIT);

Example of a custom keyboard which uses CGUIBlendButton instead of plain CGUIButton:

class CMyKeyboard : public CGUIKeyboard
{
public:
CMyKeyboard(
CGUICompositeObject *const pParent,
const eC_Value &vX, const eC_Value &vY,
const eC_Value &vWidth, const eC_Value &vHeight,
const ObjectHandle_t eTargetObjectID,
const ObjectHandle_t &eID = NO_HANDLE)
: CGUIKeyboard(pParent, vX, vY, vWidth, vHeight, eTargetObjectID, eID)
{};
// Gets called for every button during the creation of the default layouts...
CGUIButton* CreateKeyboardButton(const eC_String& kLabel, const eC_UInt uiKeyCode, CGUICompositeObject* pParent)
{
// Create a CGUIBlendButton
CGUIBlendButton* pButton = new CGUIBlendButton(pParent, 0,0,0,0, kLabel, NULL, NO_HANDLE);
if (pButton)
{
// Set button attributes, such as Font, Images, NinePatch...
if (pButton->GetLabel())
{
pButton->GetLabel()->SetFont(FNT_KEYBOARD);
}
pButton->SetImages(IMG_STDCTRL_KEYBOARDBTN_STANDARD, IMG_STDCTRL_KEYBOARDBTN_PRESSED, IMG_STDCTRL_KEYBOARDBTN_HIGHLIGHTED, IMG_STDCTRL_KEYBOARDBTN_GRAYED_OUT, IMG_STDCTRL_KEYBOARDBTN_FOCUSED);
pButton->GetNinePatch().Assign(5,5,5,5);
// Assign a CGUIKeyboardBehaviour which sends the given uiKeyCode when being pressed
pButton->SetBehaviour(new CGUIKeyboardBehaviour(uiKeyCode));
}
return pButton;
}
};

Constructor & Destructor Documentation

◆ CGUIKeyboard() [1/2]

CGUIKeyboard::CGUIKeyboard ( CGUICompositeObject *const  pParent,
const eC_Value &  vX,
const eC_Value &  vY,
const eC_Value &  vWidth,
const eC_Value &  vHeight,
const ObjectHandle_t  eTargetObjectID,
const ObjectHandle_t eID = NO_HANDLE 
)

CGUIKeyboard constructor.

Parameters
vXX-position relative to its parent object
vYY-position relative to its parent object
vWidthWidth of the object
vHeightHeight of the object
pParentPointer to the designated parent object
eTargetObjectIDHandle to a CGUIEdit which shall receive the output of the keyboard
eIDof this object

◆ CGUIKeyboard() [2/2]

CGUIKeyboard::CGUIKeyboard ( )

Standard constructor

Member Function Documentation

◆ ConvertLayout()

void CGUIKeyboard::ConvertLayout ( const eC_String &  rkInputFile,
const eC_String &  rkOutputFile 
)

Convert an xml-layout into a binary layout to reduce size

Parameters
rkInputFileinput-file
rkOutputFileoutput-file

◆ GetColors()

void CGUIKeyboard::GetColors ( eC_UInt &  uiColorStandard,
eC_UInt &  uiColorHighlighted,
eC_UInt &  uiColorGrayedOut,
eC_UInt &  uiColorPressed 
)

Return the text-colors for the keyboard-buttons

Parameters
uiColorStandardstandard-color
uiColorHighlightedhighlighted-color
uiColorGrayedOutgrayedout-color
uiColorPressedpressed-color

◆ GetImages()

void CGUIKeyboard::GetImages ( ImageResource_t eImageNormal,
ImageResource_t eImageHighlighted,
ImageResource_t eImagePressed,
ImageResource_t eImageGrayedOut,
ImageResource_t eImageFocused 
)

Return the images for keyboard-buttons

Parameters
eImageNormalnormal-image
eImageHighlightedhighlighted-image
eImagePressedpressed-image
eImageGrayedOutgrayedout-image
eImageFocusedfocused-image

◆ GetLayout()

GeneralResource_t CGUIKeyboard::GetLayout ( ) const

Get the currently used layout

Returns
Resource-ID

◆ HandleKey()

void CGUIKeyboard::HandleKey ( const eC_UInt  uiKeycode)

Forwards the given KeyCode into the corresponding DoKeyDown and DoChar slots of the CGUIEdit identified by SetTargetObject().
Note that the following keycodes will be handled by calling DoKeyDown on the CGUIEdit:

KeyCodeName
0x0008GK_BACKSPACE
0x000DGK_ACTION
0x007FGK_DELETE
0x2190GK_LEFT
0x2192GK_RIGHT
Parameters
uiKeycodeUTF16 KeyCode which shall be handled.

Additional sanity check if RTTI is active. We HAVE an object, but it is of WRONG TYPE.

◆ LoadLayout() [1/3]

eC_Bool CGUIKeyboard::LoadLayout ( const eC_String &  rkLayoutFile)

Load a keyboard-layout for the keyboard. This can be used to change the keyboard-layout according to the active language. This will replace all existing keys and load them from the file. The content of the layout-file is structured as follows:

<KeyboardLayout>
<Version>1</Version>
<Group> -> there are four groups in the keyboard representing the different types (uppercase, lowercase, numbers, symbols)
<RowCount>XXX</RowCount> -> this is the number of rows for the current group
<Row> -> definition for the current row
<CharCount>XXX</CharCount> -> number of characters in the current row
<Char>XXX</Char> -> the character representing the key (either single character, also UTF-16 or a special keyword -> below)
</Row>
</Group>
...
</KeyboardLayout>

Special Keywords: BACK -> is the backspace-key SPACE -> spacebar ENTER -> enter-key ABC -> switch to uppercase-group abc -> switch to lowercase-group 123 -> switch to number-group SYM -> switch to symbol-group

Parameters
rkLayoutFilethe file containing the description of the layout
Returns
true on success, otherwise false

◆ LoadLayout() [2/3]

void CGUIKeyboard::LoadLayout ( const GeneralResource_t reResource)

Load a keyboard-layout using general resources

Parameters
reResourcethe ID of the resource to use

◆ LoadLayout() [3/3]

eC_Bool CGUIKeyboard::LoadLayout ( eC_File *  pkFile,
const eC_String &  kFileExtension 
)

Load a keyboard-layout from a file

Parameters
pkFilefile to load from
kFileExtensionextension of file to choose correct loader
Returns
true on success, otherwise false

◆ ReadFromStream()

void CGUIKeyboard::ReadFromStream ( )
virtual

Reads composite object attributes and children from stream. Reads attributes from the streaming file. Only for use with GUIFactoryManager.

See also
CGUIObject::ReadFromStream()
Exceptions
CGUIStreamingControlExceptionWhen catching a CGUIStreamingControlException from a child, this method adds the object from the exception, resets the object pointer to 'this', then re-throws.

Reimplemented from CGUICompositeObject.

◆ SetColors() [1/2]

void CGUIKeyboard::SetColors ( const eC_UInt &  uiColorStandard,
const eC_UInt &  uiColorHighlighted,
const eC_UInt &  uiColorGrayedOut,
const eC_UInt &  uiColorPressed 
)

Sets the text-colors for the keyboard-buttons

Parameters
uiColorStandardstandard-color
uiColorHighlightedhighlighted-color
uiColorGrayedOutgrayedout-color
uiColorPressedpressed-color

◆ SetColors() [2/2]

void CGUIKeyboard::SetColors ( const GlobalProperty_t eColorStandard,
const GlobalProperty_t eColorHighlighted,
const GlobalProperty_t eColorGrayedOut,
const GlobalProperty_t eColorPressed 
)

Sets the text-colors for the keyboard-buttons

Parameters
eColorStandardstandard-color
eColorHighlightedhighlighted-color
eColorGrayedOutgrayedout-color
eColorPressedpressed-color

◆ SetFont()

void CGUIKeyboard::SetFont ( const FontResource_t eFont)

Set font which is used by keyboard-buttons

Parameters
eFontfont-id

◆ SetImages()

void CGUIKeyboard::SetImages ( const ImageResource_t eImageNormal,
const ImageResource_t eImageHighlighted,
const ImageResource_t eImagePressed,
const ImageResource_t eImageGrayedOut,
const ImageResource_t eImageFocused 
)

Sets the images for keyboard-buttons

Parameters
eImageNormalnormal-image
eImageHighlightedhighlighted-image
eImagePressedpressed-image
eImageGrayedOutgrayedout-image
eImageFocusedfocused-image

◆ SetLayout()

void CGUIKeyboard::SetLayout ( const GeneralResource_t eLayout)

Set the current layout

Parameters
eLayoutResource-ID

◆ SetTargetObject()

void CGUIKeyboard::SetTargetObject ( const ObjectHandle_t  eTargetObject)
inline

Sets the CGUIEdit which will receive the output from all existing keyboards (or to be precise, from all CGUIKeyboardBehaviour instances). If no ID was explicitly given, the output will instead be sent to the currently focused object.

Note
If you choose to send the output to the currently focused object, you should make sure that they keyboard and its buttons are NOT focusable!
Parameters
eTargetObjectID of an instance of CGUIEdit

◆ WriteToStream()

void CGUIKeyboard::WriteToStream ( const eC_Bool  bWriteClassID = false)
virtual

Writes all object attributes to the streaming file. StreamWriter has to be initialized. Only for use with GUIStreamWriter.

Parameters
bWriteClassIDThis flag is used to select if writing of ControlID, leading and trailing tags is performed. Only GUIStreamWriter and GUICompositeObject have to set this flag true.
See also
CGUIStreamWriter

Reimplemented from CGUICompositeObject.


The documentation for this class was generated from the following files: