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

Base class for text input controls. More...

#include <GUIBaseInputField.h>

Inheritance diagram for CGUIBaseInputField:

Public Member Functions

 CGUIBaseInputField (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_String &rkText, CGUIEdit::AcceptedChars_t eAcceptedChars=CGUIEdit::AC_ALL, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIBaseInputField (CGUICompositeObject *const pParent, const CGUIRect &kRect, const eC_String &rkText, CGUIEdit::AcceptedChars_t eAcceptedChars=CGUIEdit::AC_ALL, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIBaseInputField (const CGUIBaseInputField &kSource)
 
 CGUIBaseInputField ()
 
 ~CGUIBaseInputField ()
 
void AddInputFinishedObserver (CGUIObserver *pObserver)
 
void AddInputStartedObserver (CGUIObserver *pObserver)
 
void AddTextChangedObserver (CGUIObserver *pObserver)
 
eC_Bool DoButtonDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoDraw ()
 
virtual eC_Bool DoKeyDown (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoKeyUp (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
CGUIEdit::AcceptedChars_t GetAcceptedChars () const
 
eC_Value GetBorderWidthBottom () const
 
eC_Value GetBorderWidthLeft () const
 
eC_Value GetBorderWidthRight () const
 
void GetBorderWidths (eC_Value &vLeft, eC_Value &vRight, eC_Value &vTop, eC_Value &vBottom) const
 
eC_Value GetBorderWidthTop () const
 
CGUIEditGetEdit () const
 
void GetFocus ()
 
CGUIEditableTextGetLabel ()
 
eC_Int GetMaxLength () const
 
eC_String GetPassword () const
 
eC_UInt GetSelectedTextColor () const
 
eC_String GetText () const
 
CGUIValidatorGetValidator ()
 
void LoseFocus ()
 
CGUIBaseInputFieldoperator= (const CGUIBaseInputField &kSource)
 
virtual void ReadFromStream ()
 
void RemoveInputFinishedObserver (CGUIObserver *pObserver)
 
void RemoveInputStartedObserver (CGUIObserver *pObserver)
 
virtual void RemoveObject (CGUIObject *pObject)
 
void RemoveTextChangedObserver (CGUIObserver *pObserver)
 
void SetAcceptedChars (CGUIEdit::AcceptedChars_t eAcceptedChars)
 
void SetActionCommand (CGUICommandPtr pCommand)
 
void SetBorderWidth (eC_Value vBorderWidth)
 
void SetBorderWidths (eC_Value vLeftBorder, eC_Value vRightBorder, eC_Value vTopBorder, eC_Value vBottomBorder)
 
void SetHeight (const eC_Value &vHeight)
 
void SetLabel (CGUIEditableText *pkText)
 
void SetMaxLength (eC_Int iMaxLength)
 
void SetPasswordMode (eC_String &kPwdStr)
 
void SetSelectedTextColor (eC_UInt uiCol) const
 
virtual void SetText (const eC_String &rkTextString)
 
void SetValidator (CGUIValidator *pValidator)
 
virtual eC_Bool SetValue (const CGUIValue &rkValue)
 
void SetWidth (const eC_Value &vWidth)
 
virtual void StartEditing ()
 
void Validate ()
 
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 ()
 
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 SetInvisible (const eC_Bool &bInvisible)
 
virtual void SetInvisible (const eC_Bool &bInvisible, const eC_Bool &bChildrenInvisible)
 
- 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 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 (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 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 eC_Bool Decrease ()
 
virtual eC_Bool Increase ()
 
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 ()
 

Protected Attributes

CGUISubject m_kInputFinishedSubject
 Subject informing observers whenever the input is finished.
 
CGUISubject m_kInputStartedSubject
 Subject informing observers whenever the input has started.
 
CGUICommandPtr m_pActionCmd
 
CGUIEditm_pkEdit
 The internal edit field.
 

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"
 
- 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
 

Detailed Description

Base class for text input controls.

Like all the "BaseXXXXX"-Classes, this serves primarily as base-class, from which you can derive your own customized objects. For an inputfield implementation which uses images to visualize itself, please refer to CGUIInputField.

This is a wrapper control for the very basic CGUIEdit. It manages focusing and editability and serves as a base for more sophisticated input fields, for instance with background images, additional icons etc.

This control is a composite object whose only child is a CGUIEdit. The size of the edit field is determined by the size of this control and configurable border widths (see SetBorderWidths()). These widths define the distances of this control's edges to the edges of the internal edit field. By default, the border widths are set to 2 pixels for each edge. Since this control draws a frame and a background rectangle, this results in a 1-pixel space between the frame and the edit field. The frame and background colors are configurable.

The internal edit field is by default not focusable so that keyboard focusing only finds this control but not the child. Clicking this control makes the internal edit field focusable and requests the focus for it, setting the cursor at the clicked position. Pressing the 'activate' key on this control while it is focused also makes the internal edit field focusable, transfers the focus to the edit field and selects all text.

The text content of the input field can be set and read by calling the methods SetText() and GetText(). Alternatively, a pointer to the internal CGUIEditableText can be obtained by calling GetLabel(). This can also be used for more detailed formatting of the text. It is also possible to change the internal text object by calling SetLabel().

The password mode enables the input field to obfuscate the input using a specified character that is displayed instead of the actual input.

A CGUICommand can be executed after the user enters text in the input field and presses the action (ENTER) key. The command can be attached to the input field by calling the SetActionCommand().

User input can be validated by attaching a CGUIValidator (SetValidator()). The input is validated and potentially changed whenever the user finishes input by either pressing the action key or when leaving the input field, i.e. by passing the focus to a focusable control outside of the input field. Validation is done by calling Validate(). This method may also be called at other times if this is needed by the application.

Example:

// Create base input field.
CGUIBaseInputField *pBaseInputField = new CGUIBaseInputField(this,
eC_FromInt(0), eC_FromInt(0),
eC_FromInt(110), eC_FromInt(30),
OBJ_BASEINPUTFIELD);
// Set the text.
pBaseInputField->SetText("Hello World!");
// Get the text.
eC_String kStr = pBaseInputField->GetText();
// Sets uniform border widths for all four edges.
pBaseInputField->SetBorderWidth(eC_FromInt(3));
// Limit user input to numbers between 10 and 20.
pBaseInputField->SetValidator(new CGUIIntValidator(10, 20));

Constructor & Destructor Documentation

◆ CGUIBaseInputField() [1/4]

CGUIBaseInputField::CGUIBaseInputField ( CGUICompositeObject *const  pParent,
const eC_Value &  vX,
const eC_Value &  vY,
const eC_Value &  vWidth,
const eC_Value &  vHeight,
const eC_String &  rkText,
CGUIEdit::AcceptedChars_t  eAcceptedChars = CGUIEdit::AC_ALL,
const ObjectHandle_t eID = NO_HANDLE 
)

CGUIBaseInputField constructor.

Parameters
pParentPointer to the designated parent object
vXX-position relative to its parent object
vYX-position relative to its parent object
vWidthWidth of the input field
vHeightHeight of the input field
rkTextInitial text to be shown in the input field
eAcceptedCharsThe character set accepted as input.
eIDObject Identifier of this input field (use NO_HANDLE if none is required)

◆ CGUIBaseInputField() [2/4]

CGUIBaseInputField::CGUIBaseInputField ( CGUICompositeObject *const  pParent,
const CGUIRect kRect,
const eC_String &  rkText,
CGUIEdit::AcceptedChars_t  eAcceptedChars = CGUIEdit::AC_ALL,
const ObjectHandle_t eID = NO_HANDLE 
)

CGUIBaseInputField constructor.

Parameters
pParentPointer to the designated parent object
kRectThe client rectangle (control position and size).
rkTextInitial text to be shown in the input field
eAcceptedCharsThe character set accepted as input.
eIDObject Identifier of this input field (use NO_HANDLE if none is required)

◆ ~CGUIBaseInputField()

CGUIBaseInputField::~CGUIBaseInputField ( void  )

CGUIBaseInputField destructor

◆ CGUIBaseInputField() [3/4]

CGUIBaseInputField::CGUIBaseInputField ( const CGUIBaseInputField kSource)

Copy-constructor of the CGUIBaseInputField class.

Parameters
kSourceSource object to be copied.

◆ CGUIBaseInputField() [4/4]

CGUIBaseInputField::CGUIBaseInputField ( )

Standard constructor.

Member Function Documentation

◆ DoButtonDown()

eC_Bool CGUIBaseInputField::DoButtonDown ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

If this control receives a button down event, it means that the internal edit field is currently not focusable but the user wants to edit it. This method sets the edit field focusable and transfers the focus to it.

Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled.

Reimplemented from CGUIBehaviour.

◆ DoDraw()

eC_Bool CGUIBaseInputField::DoDraw ( )
virtual

Draws a frame and background rectangle.

Returns
True if something was painted, otherwise False.

Reimplemented from CGUIObject.

Reimplemented in CGUIInputField.

◆ DoKeyDown()

eC_Bool CGUIBaseInputField::DoKeyDown ( const GUIKeyIdentifier_t eKeyIdentifier,
const eC_UInt &  uiModifiers 
)
virtual

Handles incoming keyboard events. For all keys in the range of GK_A to GK_DIVIDE, StartEditing() will be called and the key will be handled by the internal edit field. If the 'activate' button is pressed, two things might happen:

  • If this control (the input field) is currently focused, the focus is transferred to the internal edit field, all text is selected and the cursor is positioned at the end.
  • If the internal edit field is currently focused, the focus is transferred to this control (input field), effectively ending the editing operation. The edit field is set to 'not focusable'. The command that was set with SetActionCommand() is executed.
See also
CGUIEdit::SelectAll()
StartEditing()
Parameters
eKeyIdentifierThe Guiliani key identifier.
uiModifiersThe key modifiers bitfield.
Returns
true if event has been consumed, otherwise false

Reimplemented from CGUIBehaviour.

◆ DoKeyUp()

eC_Bool CGUIBaseInputField::DoKeyUp ( const GUIKeyIdentifier_t eKeyIdentifier,
const eC_UInt &  uiModifiers 
)
virtual

Called in reaction to a ET_KEYUP event, which means in general that a non-character key was released. For that reason you will only get the Guiliani key identifier (possibly with modifiers) in this slot and not the character of the released key.

Parameters
eKeyIdentifierThe Guiliani key identifier.
uiModifiersThe key modifiers bitfield.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ GetAcceptedChars()

CGUIEdit::AcceptedChars_t CGUIBaseInputField::GetAcceptedChars ( ) const
Returns
The current set of characters accepted as input as set by SetAcceptedChars() or the constructor. If the internal CGUIEdit control does not exist, CGUIEdit::AC_NONE is returned.
See also
CGUIEdit::GetAcceptedChars()

◆ GetBorderWidthBottom()

eC_Value CGUIBaseInputField::GetBorderWidthBottom ( ) const
Returns
Width of the bottom border.

◆ GetBorderWidthLeft()

eC_Value CGUIBaseInputField::GetBorderWidthLeft ( ) const
Returns
Width of the left border.

◆ GetBorderWidthRight()

eC_Value CGUIBaseInputField::GetBorderWidthRight ( ) const
Returns
Width of the right border.

◆ GetBorderWidths()

void CGUIBaseInputField::GetBorderWidths ( eC_Value &  vLeft,
eC_Value &  vRight,
eC_Value &  vTop,
eC_Value &  vBottom 
) const

Returns the border widths that have been set with SetBorderWidth() or SetBorderWidths().

Parameters
[out]vLeftWidth of the left border.
[out]vRightWidth of the right border.
[out]vTopWidth of the top border.
[out]vBottomWidth of the bottom border.

◆ GetBorderWidthTop()

eC_Value CGUIBaseInputField::GetBorderWidthTop ( ) const
Returns
Width of the top border.

◆ GetEdit()

CGUIEdit * CGUIBaseInputField::GetEdit ( ) const

Retrieves a pointer to the Inputfield::s internal CGUIEdit.

Returns
Pointer to internal CGUIEdit instance

◆ GetFocus()

void CGUIBaseInputField::GetFocus ( )
virtual

When the Input field receives the focus, the edit field's contest will be selected

Reimplemented from CGUIBehaviour.

◆ GetLabel()

CGUIEditableText * CGUIBaseInputField::GetLabel ( )

Get the label of the input field. Use this to obtain a pointer to the internal text for formatting etc.

Returns
Pointer to the internal text label.

◆ GetMaxLength()

eC_Int CGUIBaseInputField::GetMaxLength ( ) const
Returns
the maximum length of the input text.

◆ GetPassword()

eC_String CGUIBaseInputField::GetPassword ( ) const

Transparent call to CGUIEditableText::GetPassword().

Returns
a copy of the password, or a copy of the visible text if the input field is not in password mode.

◆ GetSelectedTextColor()

eC_UInt CGUIBaseInputField::GetSelectedTextColor ( ) const

Get the color currently used as the background for selected text.

Returns
the selected text color.
See also
CGUIEditableText::GetSelectionColor()

◆ GetText()

eC_String CGUIBaseInputField::GetText ( ) const

Returns the current text content of the input field. In password mode, this method returns the string of obfuscation characters. To obtain the entered password, use GetPassword().

Returns
a copy of the current text content of the input field.

◆ GetValidator()

CGUIValidator * CGUIBaseInputField::GetValidator ( )
Returns
The currently set validator.
See also
SetValidator()

◆ LoseFocus()

void CGUIBaseInputField::LoseFocus ( )
virtual

Sets the internal edit field not focusable. Required for correct behaviour when leaving the input field via direction keys.

Reimplemented from CGUIBehaviour.

◆ operator=()

CGUIBaseInputField & CGUIBaseInputField::operator= ( const CGUIBaseInputField kSource)

Operator= method of the CGUIBaseInputField class.

Parameters
kSourceSource object to be copied.
Returns
Copied object.

◆ ReadFromStream()

void CGUIBaseInputField::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.

Reimplemented in CGUIInputField.

◆ RemoveInputFinishedObserver()

void CGUIBaseInputField::RemoveInputFinishedObserver ( CGUIObserver pObserver)

Unsubscribe an observer that subscribed as InputFinished observer.

Parameters
pObserverThe Observer that wants to unsubscribe.

◆ RemoveInputStartedObserver()

void CGUIBaseInputField::RemoveInputStartedObserver ( CGUIObserver pObserver)

Unsubscribe an observer that subscribed as InputStarted observer.

Parameters
pObserverThe Observer that wants to unsubscribe.

◆ RemoveObject()

void CGUIBaseInputField::RemoveObject ( CGUIObject pObject)
virtual

Calls the base class implementation and takes care of resetting internal pointers if specific children are removed.

Parameters
pObjectThe child object to be removed.

Reimplemented from CGUICompositeObject.

◆ RemoveTextChangedObserver()

void CGUIBaseInputField::RemoveTextChangedObserver ( CGUIObserver pObserver)

Unsubscribe an observer that subscribed as TextChanged observer.

Parameters
pObserverThe Observer that wants to unsubscribe.

◆ SetAcceptedChars()

void CGUIBaseInputField::SetAcceptedChars ( CGUIEdit::AcceptedChars_t  eAcceptedChars)

Set the type of characters that are accepted by CGUIEdit::DoChar(). This call is forwarded to CGUIEdit::SetAcceptedChars().

Parameters
eAcceptedCharsThe character set accepted as input.
See also
GetAcceptedChars()

◆ SetActionCommand()

void CGUIBaseInputField::SetActionCommand ( CGUICommandPtr  pCommand)

Attaches an action command to the input field. This command is executed whenever the action key is pushed.

Parameters
pCommandThe command to be attached.

◆ SetBorderWidth()

void CGUIBaseInputField::SetBorderWidth ( eC_Value  vBorderWidth)

Sets uniform border widths for all four edges.

Parameters
vBorderWidthThe inner border width for each border.
See also
SetBorderWidths()

◆ SetBorderWidths()

void CGUIBaseInputField::SetBorderWidths ( eC_Value  vLeftBorder,
eC_Value  vRightBorder,
eC_Value  vTopBorder,
eC_Value  vBottomBorder 
)

Set the widths of the inner borders. The border width is the distance of this control's edges to the edges of the internal CGUIEdit.

Parameters
vLeftBorderWidth of the left inner border.
vRightBorderWidth of the right inner border.
vTopBorderWidth of the top inner border.
vBottomBorderWidth of the bottom inner border.
See also
SetBorderWidth()

◆ SetHeight()

void CGUIBaseInputField::SetHeight ( const eC_Value &  vHeight)
virtual

Set the height of the InputField. Automatically adjusts size of internal objects.

Parameters
vHeightNew height of the InputField

Reimplemented from CGUICompositeObject.

◆ SetLabel()

void CGUIBaseInputField::SetLabel ( CGUIEditableText pkText)

Changes the internal text. This call is directly passed through to CGUIEdit::SetLabel.

Parameters
pkTextThe new text to be used by the internal edit control.

◆ SetMaxLength()

void CGUIBaseInputField::SetMaxLength ( eC_Int  iMaxLength)

Set the maximum length of the input text.

Parameters
iMaxLengthThe maximum length of input text.

◆ SetPasswordMode()

void CGUIBaseInputField::SetPasswordMode ( eC_String &  kPwdStr)

Activate the password mode to obfuscate the input using a specified character that is displayed instead.

Parameters
kPwdStrThe character that shall be displayed.

◆ SetSelectedTextColor()

void CGUIBaseInputField::SetSelectedTextColor ( eC_UInt  uiCol) const

Sets the color used as the background for selected text.

Parameters
uiColThe selected text color.
See also
CGUIEditableText::SetSelectionColor()

◆ SetText()

void CGUIBaseInputField::SetText ( const eC_String &  rkTextString)
virtual

Set the text.

Note
This will not trigger notifications for observers of this InputField.
Parameters
rkTextStringThe string to be assigned to this object.

◆ SetValidator()

void CGUIBaseInputField::SetValidator ( CGUIValidator pValidator)

Sets a validator for checking any user input in this input field. The input fields owns the validator, i.e. it deletes it when necessary.

Parameters
pValidatorThe validator to be set. If there is a previous validator it is deleted. Pass NULL to remove the current validator.

◆ SetValue()

eC_Bool CGUIBaseInputField::SetValue ( const CGUIValue rkValue)
virtual

Sets the text label within the InputField's CGUIEdit

See also
CGUIEditableText::SetTextString()
Parameters
rkValueThe CGUIValue containing the new value(s)
Returns
Always True.

Reimplemented from CGUIObject.

◆ SetWidth()

void CGUIBaseInputField::SetWidth ( const eC_Value &  vWidth)
virtual

Set the width of the InputField. Automatically adjusts size of internal objects.

Parameters
vWidthNew width of the InputField

Reimplemented from CGUICompositeObject.

◆ StartEditing()

void CGUIBaseInputField::StartEditing ( )
virtual

If not already done, the input field is set to editing mode. All content is selected.

◆ Validate()

void CGUIBaseInputField::Validate ( )

Uses the validator (see SetValidator()) to validate the current text. If the value is not valid, the validator is asked to make the value valid. In this case, this method then calls SetText() to apply the new value.

If there is no validator, this method does nothing.

◆ WriteToStream()

void CGUIBaseInputField::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.

Reimplemented in CGUIInputField.

Member Data Documentation

◆ m_pActionCmd

CGUICommandPtr CGUIBaseInputField::m_pActionCmd
protected

The command to be executed after the user pushes the action (ENTER) key.


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