You.i Engine
CYITextEditView Class Reference

Detailed Description

Displays text to the user and allows them to edit it.

This view will display editable text as well as a blinking caret. The caret is a vertical line which indicates the current editing position.

A CYITextEditView can receive focus but must be activated in order to receive inputs. The CYITextEditView is activated by selecting it once it has focus. When CYITextEditView is clicked, it receives focus and is activated.

The clear button cannot be interacted with using focus navigation.

This view provides a password mode that masks entered text contents in password fields. The view allows for a mask character to be configured as well as the duration which the last entered character will be visible for.

Note
When password mode is enabled certain configurations of CYITextEditView can lead to erratic behavior if bidirectional or right-to-left text is entered. If the view is set to use text justifications CYITextEditView::Justification::Start or CYITextEditView::Justification::End, the view will automatically align based on the detected base direction of the text. Since password mask characters are typically not strongly directional, including the default character '•', the default text direction of left-to-right will typically be detected when all characters are mask characters. If a right-to-left character is entered, and the show character timer, which is set using SetCharacterShowDuration, is not set to zero, the visible right-to-left character will briefly cause the string to be detected as having a base direction of right-to-left. Since the start and end justifications automatically adjust alignment based on base text direction, this can cause the entered text to jump between the left and right side of the view.
When password mode is enabled we recommend using justifications with a static alignment, such as CYITextEditView::Justification::Left, CYITextEditView::Justification::Right, or CYITextEditView::Justification::Center when calling CYITextEditView::SetXJustify on a CYITextEditView that is expected to have bidirectional or right-to-left text entered. Alternatively, the show character timer can be set to zero by calling SetCharacterShowDuration, to prevent strongly directional characters from ever being visible.

View Template Specification

Type Labels Property Description
Marker Blink Optional An optional timeline that will be looped while the text edit is active. If not provided, the caret will blink on and off using a timer. The visibility track must not be used to animate the blink, as the caret is shown and hidden in normal operation of the view.
Node Text Required Layer name for the text field. It must be a text layer which uses point type and left justified.
Node InputProperties Required Solid Color to mark the end of the text edit field, and also to set the color of the text that will be typed by the user. Please note that the InputProperties's parent field needs to be set to the Text layer in After Effects.
Node Caret Optional Layer name for the caret. If no 'Caret' layer exists, a default black and rectangular caret will be created. Change the color of the caret using the caret-color comment or the SetCaretColor function. The caret's anchor point will be positioned at the baseline of the text. Note that this layer must not be layer-parented to another layer.
Node Clear Optional Layer name for the button that clears the text field. Layer must be a CYIPushButtonView. This button will be made non-focusable at initialization time, even if it contains focus timelines.
Node EntryField Optional Layer name for the node that marks the start and end of the text edit field. If present, it will take priority over the InputProperties node in determining the end of the text edit field.
Comment default-text Optional Corresponds to: SetDefaultText. Contains a quoted string.
Comment input-type Optional Corresponds to: GetInputType. Default: text, Possible Values: text, phone, number, email, uri, password. Can be set on the composition & the layer.
Comment caret-color Optional Corresponds to: SetCaretColor. Colors the caret with a provided string in hexadecimal #RRGGBB or #RRGGBBAA format.
Comment is-password Optional Corresponds to: EnablePasswordMode. Deafult: false. When enabled, input masking is used wherever possible.

Notes:

  • "Text" must be point type and left justified
  • "InputProperties" must be parented under "Text".
  • Comment properties may be set at the composition level or the layer level.

#include <view/YiTextEditView.h>

Inheritance diagram for CYITextEditView:

Public Types

enum  Justification : uint8_t {
  Justification::Left = 0,
  Justification::Right,
  Justification::Center,
  Justification::Start,
  Justification::End
}
 
enum  ClearButtonMode {
  ClearButtonMode::Never,
  ClearButtonMode::WhileEditing,
  ClearButtonMode::UnlessEditing,
  ClearButtonMode::Always
}
 
- Public Types inherited from CYISceneView
enum  TimelineGetMode {
  TimelineGetMode::GetDefault,
  TimelineGetMode::GetTimeline,
  TimelineGetMode::GetTimelineGroup,
  TimelineGetMode::GetComponentOfTimelineGroup
}
 
enum  InitialFocusLifetime {
  InitialFocusLifetime::Persistent,
  InitialFocusLifetime::ClearOnEntry
}
 
- Public Types inherited from CYISceneNode
enum  LayoutDirtyFlag : uint8_t {
  LayoutDirtyFlag::Clean,
  LayoutDirtyFlag::ChildDirty,
  LayoutDirtyFlag::Dirty
}
 
enum  LayoutConfigFetchMode {
  LayoutConfigFetchMode::DoNotLazyInstantiate = 0,
  LayoutConfigFetchMode::LazyInstantiate
}
 
enum  MeasureMode {
  MeasureMode::Unspecified,
  MeasureMode::UpTo,
  MeasureMode::Exactly
}
 
enum  FetchType {
  FetchType::Optional = 0,
  FetchType::Mandatory
}
 
typedef std::reverse_iterator< IteratorReverseIterator
 
typedef uint16_t DirtyFlag
 
- Public Types inherited from CYIEventTarget
enum  SpecialEventTargetType : uint8_t {
  SpecialEventTargetType::None = 0x00,
  SpecialEventTargetType::NoPick = 0x20
}
 
enum  Phase : uint8_t {
  Phase::Bubble,
  Phase::Capture
}
 

Public Member Functions

 CYITextEditView ()
 
virtual ~CYITextEditView ()
 
virtual bool Init () override
 
virtual void Clear ()
 
void SetValue (CYIString text)
 
virtual CYIString GetValue () const
 
void SetDefaultText (const CYIString &defaultText, bool cropToMaxCharacterCount=true)
 
const CYIStringGetDefaultText () const
 
void SetDefaultTextColor (const CYIColor &defaultTextColor)
 
const CYIColorGetDefaultTextColor () const
 
bool IsDisplayingDefaultText () const
 
void SetTextColor (const CYIColor &textColor)
 
const CYIColorGetTextColor () const
 
void SetFontSize (int32_t size)
 
size_t GetFontSize () const
 
void SetCaretColor (const CYIColor &clrCaret)
 
const CYIColorGetCaretColor () const
 
size_t GetCaretPosition () const
 
void SetCaretPosition (size_t position)
 
void DeactivateCaret ()
 
void ActivateCaret ()
 
void SetClearButtonMode (ClearButtonMode mode)
 
ClearButtonMode GetClearButtonMode () const
 
void SetMaximumCharacterCount (size_t maximumCharacterCount)
 
void SetEditingEnabled (bool enable)
 
bool IsEditingEnabled () const
 
void Activate ()
 
void Deactivate ()
 
bool IsActivated () const
 
size_t GetMaximumCharacterCount () const
 
bool SetTextEntryBoxWidth (float boxWidth)
 
float GetTextEntryBoxWidth () const
 
float GetInitialTextEntryBoxWidth () const
 
void SetXJustify (Justification xJustify)
 
Justification GetXJustify () const
 
void SetDefaultTextDirection (CYITextLayout::TextDirection direction)
 
CYITextLayout::TextDirection GetDefaultTextDirection () const
 
CYIKeyboardInputBridge::ReturnKeyType GetReturnKeyType () const
 
void SetReturnKeyType (CYIKeyboardInputBridge::ReturnKeyType keyType)
 
void SetInputType (CYIKeyboardInputBridge::InputType inputType)
 
CYIKeyboardInputBridge::InputType GetInputType () const
 
void SetInputModifiers (CYIKeyboardInputBridge::InputModifiers inputModifiers)
 
CYIKeyboardInputBridge::InputModifiers GetInputModifiers () const
 
bool SetAccessoryImageUrl (const CYIUrl &url)
 
const CYIUrlGetAccessoryImageUrl () const
 
virtual const CYISceneView::AssetRequirementGetAssetRequirements (uint32_t *pRequirementCount) override
 
virtual bool HandleEvent (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) override
 
void EnablePasswordMode (bool passwordModeEnabled)
 
bool IsPasswordModeEnabled () const
 
void SetMaskCharacter (char32_t maskCharacter)
 
char32_t GetMaskCharacter () const
 
void SetCharacterShowDuration (uint64_t timeMs)
 
uint64_t GetCharacterShowDuration () const
 
- Public Member Functions inherited from CYISceneView
 CYISceneView ()
 
virtual ~CYISceneView ()
 
bool BuildFromTemplate (CYISceneManager *pSceneManager, const std::shared_ptr< CYIAssetViewTemplate > &pAssetViewTemplate, CYISceneManager::MissingClassHandlingMode missingHandlingMode=CYISceneManager::MissingClassHandlingMode::Abort)
 
bool IsInitialized () const
 
void SetClippingAreaNode (CYISceneNode *pClippingNode)
 
virtual CYIOptional< CYIStringViewGetProperty (CYIStringView propertyName) const override
 
bool GetProperty (CYIStringView propertyName, CYIString *pValue) const
 
virtual std::map< CYIString, CYIStringGetProperties () const override
 
virtual void ForEachProperty (const std::function< void(const CYIString &, const CYIString &)> &action) const override
 
virtual bool HasProperties () const override
 
void EnableDefaultHitZone ()
 
bool IsResponsiveLayoutEnabled () const
 
void EnableResponsiveLayout ()
 
void DisableResponsiveLayout ()
 
void AddAnchor (EYIAnchorType anchorType)
 
YI_ANCHOR_DATA GetAnchor (EYIAnchorType anchorType) const
 
CYIAbstractTimelineGetInTimeline () const
 
CYIAbstractTimelineGetOutTimeline () const
 
CYIAbstractTimelineGetFocusInTimeline () const
 
CYIAbstractTimelineGetFocusOutTimeline () const
 
virtual bool HandlesFocusInDescendants () const
 
virtual bool RequestFocus (CYIFocus::Direction direction=CYIFocus::Direction::Forward, CYIFocus::FocusRootRule focusRootRule=CYIFocus::FocusRootRule::DescendantsUpdateContext, const CYIAABB &previousFocusRect=CYIAABB(), const CYIFocusSearchOptions &options=CYIFocusSearchOptions())
 
bool HasFocus () const
 
void SetFocusable (bool focusable)
 
bool IsFocusable () const
 
bool CanBeFocused () const
 
void SetNextFocus (CYISceneView *pView, CYIFocus::Direction direction)
 
CYISceneViewGetNextFocus (CYIFocus::Direction direction) const
 
virtual void SetInitiallyFocusedView (CYISceneView *pView, InitialFocusLifetime initialFocusLifetime=InitialFocusLifetime::Persistent)
 
CYISceneViewGetInitiallyFocusedView () const
 
CYISceneView::InitialFocusLifetime GetInitialFocusLifetime () const
 
CYISceneViewFindNextFocus (CYIFocus::Direction direction, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const
 
CYISceneViewFindNextFocus (CYIFocus::Direction direction, CYIAABB &screenSpaceFocusRegion, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const
 
virtual CYISceneViewFindNextFocusInDescendants (const CYISceneView *pCurrentFocusView, CYIFocus::Direction direction, CYIAABB &screenSpaceFocusRegion, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const
 
const CYISceneNodeGetFocusRoot () const
 
CYISceneViewGetFocusHandler () const
 
virtual void OnFocusGained ()
 
virtual void FocusGained ()
 
virtual void OnFocusLost ()
 
virtual void FocusLost ()
 
virtual void FocusGainedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) override
 
virtual bool ContainsFocusableDescendant (const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const override
 
const std::shared_ptr< CYIAssetViewTemplate > & GetViewTemplate () const
 
const std::vector< CYIString > & GetChildTemplateNames ()
 
virtual CYIAbstractTimelineGetTimeline (CYIStringView markerName, TimelineGetMode mode=TimelineGetMode::GetDefault)
 
CYIAbstractTimelineGetTimeline (CYIMarkerData::ID id, TimelineGetMode mode=TimelineGetMode::GetDefault)
 
std::map< CYIString, CYITimeline * > GetTimelines () const
 
bool FindTimeline (CYIAbstractTimeline *&pTimeline, CYIStringView markerName, FetchType type, const CYIString &tag="", TimelineGetMode mode=TimelineGetMode::GetDefault)
 
CYITimelineGroupGetTimelineGroup (CYIStringView markerName)
 
std::unique_ptr< CYITimelineGroupBuildTimelineGroup (CYIStringView markerName)
 
void BuildAnchorList ()
 
virtual void Reset ()
 
void SetLayout (std::unique_ptr< CYILayout > pLayout)
 
const CYILayoutGetLayout () const
 
CYILayoutGetLayout ()
 
virtual void Measure (const MeasureSpec &widthSpec, const MeasureSpec &heightSpec, const MeasureSpec &depthSpec) override
 
virtual void ApplyMeasurements () override
 
- Public Member Functions inherited from CYISceneNode
 CYISceneNode ()
 
virtual ~CYISceneNode ()
 
bool IsInitialized () const
 
void ForceDirty ()
 
void SetDirtyFlag (DirtyFlag dirtyFlag)
 
DirtyFlag GetDirtyFlag () const
 
DirtyFlag GetPreviousDirtyFlag () const
 
const CYIStringGetName () const
 
CYIString GetUniqueName () const
 
void SetSceneManager (CYISceneManager *pSceneManager)
 
void SetName (const CYIString &name)
 
int32_t GetID () const
 
void SetID (int32_t id)
 
uint64_t GetUniqueID () const
 
bool AddChild (std::unique_ptr< CYISceneNode > pSceneNode)
 
bool AddChild (std::unique_ptr< CYISceneNode >, size_t index)
 
bool InsertChildAfter (CYISceneNode *pRefNode, std::unique_ptr< CYISceneNode > pSceneNode)
 
std::unique_ptr< CYISceneNodeRemoveChild (CYISceneNode *pSceneNode)
 
bool ReorderChild (size_t fromIndex, size_t toIndex)
 
CYITransformGetTransform ()
 
CYISceneNodeGetParent () const
 
bool ChangeParent (CYISceneNode *pParent)
 
CYISceneNodeGetDrawParent () const
 
bool IsAncestorOf (const CYISceneNode *pNode) const
 
CYISceneManagerGetSceneManager () const
 
size_t GetChildCount () const
 
uint32_t GetChildCountRecursive () const
 
CYISceneNodeGetChild (size_t index) const
 
Iterator begin (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const
 
Iterator end (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const
 
ReverseIterator rbegin (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const
 
ReverseIterator rend (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const
 
CYISceneNodeGetChild (const CYIString &name) const
 
size_t GetDrawChildCount () const
 
CYISceneNodeGetDrawChild (size_t index) const
 
CYISceneNodeGetDrawChildByID (int32_t id) const
 
template<class YI_SCENE_NODE_SUBCLASS >
YI_SCENE_NODE_SUBCLASS * GetChild (uint32_t targetMatchedNodeCount=1) const
 
template<class YI_SCENE_NODE_SUBCLASS >
std::list< YI_SCENE_NODE_SUBCLASS * > GetChildren () const
 
template<class YI_SCENE_NODE_SUBCLASS >
std::list< YI_SCENE_NODE_SUBCLASS * > GetDrawChildren () const
 
size_t GetIndexOfChild (const CYISceneNode *pSceneNode) const
 
size_t GetIndexOfDrawChild (const CYISceneNode *pSceneNode) const
 
void Show ()
 
void Hide ()
 
void SetVisibility (bool visible)
 
void SetOpacity (float opacity)
 
float GetCompositeOpacity () const
 
float GetLocalOpacity () const
 
bool IsVisible () const
 
bool IsTrulyVisible () const
 
bool IsPerceptible () const
 
CYISceneNodeGetNode (CYIStringView name)
 
CYISceneNodeGetNode (CYIStringView name, const CYIRuntimeTypeInfo &enforceClassType)
 
CYISceneNodeGetNode (const CYIRuntimeTypeInfo &enforceClassType)
 
CYISceneNodeGetNodeAfterTarget (const CYIRuntimeTypeInfo &enforceClassType, CYISceneNode *pStartAfterTarget)
 
template<class YI_SCENE_NODE_SUBCLASS >
YI_SCENE_NODE_SUBCLASS * GetNode (CYIStringView name)
 
CYISceneNodeGetNode (const int32_t id)
 
CYISceneNodeGetNode (const int32_t id, const CYIRuntimeTypeInfo &enforceClassType)
 
CYISceneNodeGetNodeWithUniqueID (uint64_t uniqueID)
 
template<class YI_SCENE_NODE_SUBCLASS >
bool FindNode (YI_SCENE_NODE_SUBCLASS *&pNode, CYIStringView nodeName, FetchType type, const CYIString &tag)
 
std::list< CYISceneNode * > GetNodes (CYIStringView name)
 
std::list< CYISceneNode * > GetNodes (int32_t id)
 
std::list< CYISceneNode * > GetNodes (const CYIRuntimeTypeInfo &enforceClassType)
 
template<class YI_SCENE_NODE_SUBCLASS >
const YI_SCENE_NODE_SUBCLASS * GetNode (uint32_t targetMatchedNodeCount=1) const
 
template<class YI_SCENE_NODE_SUBCLASS >
YI_SCENE_NODE_SUBCLASS * GetNode (uint32_t targetMatchedNodeCount=1)
 
void SetMesh (const std::shared_ptr< CYIMesh > &pMesh)
 
bool SetNPatchBitmap (const std::shared_ptr< CYIBitmap > &pNPatchBitmap)
 
void ClearNPatch ()
 
void SetMaterial (const std::shared_ptr< CYIMaterial > &pMaterial, size_t index=0)
 
void AddEffect (const std::shared_ptr< CYIEffect > &pEffect)
 
void RemoveEffect (const std::shared_ptr< CYIEffect > &pEffect)
 
size_t GetEffectCount () const
 
const std::shared_ptr< CYIEffect > & GetEffect (size_t index) const
 
void ConnectEffectsToTimelines (const CYITimelineTrack *pTrack)
 
void AddMask (std::unique_ptr< CYIMask > pMask)
 
std::unique_ptr< CYIMaskRemoveMask (const CYIMask *pMask)
 
size_t GetMaskCount () const
 
const CYIMaskGetMask (size_t index) const
 
CYIMaskGetMask (size_t index)
 
const std::shared_ptr< CYIMesh > & GetMesh () const
 
const std::shared_ptr< CYIBitmap > & GetNPatchBitmap () const
 
size_t GetMaterialCount () const
 
const std::shared_ptr< CYIMaterial > & GetMaterial (size_t index=0) const
 
const std::shared_ptr< IYIUniformBufferObject > & GetShaderUniforms () const
 
void SetMeshTransform (const glm::mat4 &rTransform)
 
void DestroyChildren ()
 
glm::mat4 GetLocalTransform () const
 
glm::mat4 GetWorldTransform () const
 
bool Intersects (const CYISceneNode *pNode) const
 
void SetRenderTarget (const std::shared_ptr< CYIRenderTarget > &pRenderTarget)
 
const std::shared_ptr< CYIRenderTarget > & GetRenderTarget () const
 
virtual void OnPreBuildDrawList (std::vector< IYIRenderer::Command > *pDrawList, std::vector< CYIAbstractCameraSceneNode *> *pDrawWithCameraList)
 
virtual void OnPostBuildDrawList (std::vector< IYIRenderer::Command > *pDrawList)
 
const CYIAABBGetWorldAABB () const
 
const CYIAABBGetLocalAABB () const
 
void SetAnchorPoint (const glm::vec3 &anchorPoint)
 
void SetAnchorPoint (float x, float y, float z)
 
void SetAnchorPointX (float x)
 
void SetAnchorPointY (float y)
 
void SetAnchorPointZ (float z)
 
void SetPosition (const glm::vec3 &position)
 
void SetPosition (float x, float y, float z)
 
void SetPositionX (float x)
 
void SetPositionY (float y)
 
void SetPositionZ (float z)
 
void SetRotation (const glm::vec3 &rotation)
 
void SetRotation (float pitchDegrees, float yawDegrees, float rollDegrees)
 
void SetRotationX (float pitchDegrees)
 
void SetRotationY (float yawDegrees)
 
void SetRotationZ (float rollDegrees)
 
void SetOrientation (float pitchDegrees, float yawDegrees, float rollDegrees)
 
void SetOrientation (const glm::quat &orientation)
 
void SetScale (const glm::vec3 &scale)
 
void SetScale (float factorX, float factorY, float factorZ)
 
void SetScaleX (float factor)
 
void SetScaleY (float factor)
 
void SetScaleZ (float factor)
 
const glm::vec3 & GetPosition () const
 
const glm::vec3 & GetScale () const
 
const glm::vec3 & GetWorldScale () const
 
const glm::vec3 & GetWorldSurfaceScale () const
 
const glm::vec3 & GetRotation () const
 
const glm::quat & GetOrientation () const
 
const glm::vec3 & GetAnchorPoint () const
 
virtual void SetSize (const glm::vec3 &size, bool dirtyLayout=true)
 
const glm::vec3 & GetSize () const
 
const glm::vec3 & GetInitialSize () const
 
void SetMeasuredSize (const glm::vec3 &measuredSize)
 
const glm::vec3 & GetMeasuredSize () const
 
void SetInternalCustomTimelineValue (uint32_t trackID, const CYIVariant &value)
 
virtual void SetCustomTimelineValue (uint32_t trackID, const CYIVariant &value)
 
void SetClippingOn ()
 
void SetClippingOff ()
 
bool GetClipping () const
 
void SetClippingBox (const CYIAABB &rWorldBox)
 
const CYIAABBGetClippingBox () const
 
void StartPropertyAnimation (PropertyAnimation::Type propType, float from, float to, uint32_t durMs, CYITimeInterpolator *pTimeInterpolator=nullptr, bool dirtyLayout=true)
 
void StopPropertyAnimation (PropertyAnimation::Type propType)
 
void UpdateLocalSpaceCollision (CYIActionEvent *pActionEvent)
 
virtual bool BroadcastEvent (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent)
 
void UpdateEventForLocalSpace (CYIActionEvent *pActionEvent, glm::vec3 &rayOrigin, glm::vec3 &rayNonOriginPoint) const
 
bool IsBoundingBoxHit (const CYIRay &rWorldSpaceRay) const
 
bool IsMeshHit (const CYIRay &rWorldSpaceRay) const
 
void DumpTree () const
 
void StartCaptureKeyboardEvents ()
 
void StopCaptureKeyboardEvents ()
 
void StartCaptureTrackpadEvents ()
 
void StopCaptureTrackpadEvents ()
 
void StartCapturePointerEvents (uint8_t pointerID)
 
void StopCapturePointerEvents (uint8_t pointerID)
 
bool DrawBehindChildren (CYISceneNode *pSceneNode, bool *pChanged=nullptr)
 
bool DrawInFrontOfChildren (CYISceneNode *pSceneNode, bool *pChanged=nullptr)
 
bool DrawBehind (CYISceneNode *pSceneNode, bool *pChanged=nullptr)
 
bool DrawInFront (CYISceneNode *pSceneNode, bool *pChanged=nullptr)
 
bool IsFocusRoot () const
 
void SetIsFocusRoot (bool isFocusRoot)
 
virtual void OnFocusGainedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus)
 
virtual void OnFocusLostInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus)
 
virtual void FocusLostInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus)
 
virtual void OnFocusChangedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus)
 
virtual void FocusChangedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus)
 
void SetUseLocalTransformAndAlpha (bool use)
 
bool GetProperty (CYIStringView propertyName, CYIString *pValue) const
 
void SetProperty (const CYIString &rPropertyName, const CYIString &rPropertyValue)
 
std::shared_ptr< CYISceneNodeProxyGetSceneNodeProxy () const
 
void SetLayoutConfig (std::unique_ptr< CYILayoutConfig > pLayoutConfig)
 
const CYILayoutConfigGetLayoutConfig (LayoutConfigFetchMode fetchMode=LayoutConfigFetchMode::LazyInstantiate) const
 
CYILayoutConfigGetLayoutConfig (LayoutConfigFetchMode fetchMode=LayoutConfigFetchMode::LazyInstantiate)
 
void SetLayoutState (std::unique_ptr< CYILayoutState > pLayoutState)
 
const CYILayoutStateGetLayoutState () const
 
CYILayoutStateGetLayoutState ()
 
void RequestLayout ()
 
LayoutDirtyFlag GetLayoutDirtyFlag () const
 
virtual void SetLayoutDirtyFlag (LayoutDirtyFlag flag)
 
virtual CYIAbstractCameraSceneNodeFindActiveCamera (const CYISceneNode *pTargetSceneNode=nullptr) const
 
CYIAccessibilityAttributes::Accessible GetAccessible () const
 
void SetAccessible (CYIAccessibilityAttributes::Accessible accessible)
 
const CYIAccessibilityAttributesGetAccessibilityAttributes () const
 
std::unique_ptr< CYIAccessibilityAttributesTakeAccessibilityAttributes ()
 
void SetAccessibilityAttributes (std::unique_ptr< CYIAccessibilityAttributes > pAttributes)
 
const CYIRenderableGetRenderable () const
 
template<typename T >
bool CanCastTo () const
 
CYIAdjustmentLayerSceneNode * GetLastAdjustmentLayer () const
 
- Public Member Functions inherited from CYIEventTarget
 CYIEventTarget ()
 
virtual ~CYIEventTarget ()
 
bool AddEventListener (CYIEvent::Type eventType, CYIEventHandler *pListener, CYIEventTarget::Phase phase=CYIEventTarget::Phase::Bubble)
 
bool RemoveEventListener (CYIEvent::Type eventType, CYIEventHandler *pListener, CYIEventTarget::Phase phase=CYIEventTarget::Phase::Bubble)
 
void SetSpecialTypeFlag (SpecialEventTargetType type)
 
void ClearSpecialTypeFlag (SpecialEventTargetType type)
 
SpecialEventTargetType GetSpecialTypes () const
 
const std::shared_ptr< CYIEventTargetProxy > & GetProxy () const
 
- Public Member Functions inherited from CYISignalHandler
 CYISignalHandler ()
 
 CYISignalHandler (const CYISignalHandler &rSignalHandler)
 
virtual ~CYISignalHandler ()
 
CYISignalHandleroperator= (const CYISignalHandler &rSignalHandler)
 
void MoveToThread (CYIThread *pThread)
 This function allows the user to override the default thread affinity to any CYIThread that may or may not be running. More...
 
CYIThreadHandle GetThreadAffinity () const
 
void SetThreadAffinity (const CYIThreadHandle &rThreadAffinity)
 
virtual bool IsConnected () const
 
virtual bool IsConnected (const CYISignalBase &rSignal) const
 
void Disconnect (CYISignalBase &rSignal)
 
void DisconnectFromAllSignals ()
 
- Public Member Functions inherited from CYIThread::Listener
 Listener ()
 
virtual ~Listener ()
 
virtual void OnThreadStarted (CYIThread *)
 
virtual void OnThreadTerminated (CYIThread *)
 
virtual void OnThreadFinished (CYIThread *)
 
- Public Member Functions inherited from IYIPropertiesSource
virtual ~IYIPropertiesSource ()=default
 
bool GetProperty (CYIStringView propertyName, CYIString *pValue) const
 
- Public Member Functions inherited from CYIEventHandler
 CYIEventHandler ()
 
 CYIEventHandler (const CYIEventHandler &)
 
virtual ~CYIEventHandler ()
 
CYIEventHandleroperator= (const CYIEventHandler &)
 
bool RegisterEventFilter (CYIEventFilter *pFilter)
 
bool UnregisterEventFilter (CYIEventFilter *pFilter)
 
bool PreFilter (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent)
 
bool PostFilter (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent)
 
bool AreEventsEnabled () const
 
void EnableEvents (bool enable)
 

Public Attributes

CYISignal< const CYIString &, const CYIString &> TextChanged
 
CYISignal< CYITextEditView * > Activated
 
CYISignal< CYITextEditView * > Deactivated
 
CYISignal< CYITextEditView * > ReturnKeyPressed
 
- Public Attributes inherited from CYISceneView
CYISignal< CYISceneView *, CYISceneView *> GainedFocus
 Emitted when focus has entered this view. The first signal argument is the view that gained focus (e.g. the current view) and the second signal argument is the view that lost focus. More...
 
CYISignal< CYISceneView *, CYISceneView *> LostFocus
 Emitted when focus has left this view. The first signal argument is the view that lost focus (e.g. the current view) and the second signal argument is the view that gained focus. More...
 
- Public Attributes inherited from CYISceneNode
CYISignal< CYISceneNode *, PropertyAnimation::TypePropertyAnimationComplete
 
CYISignal< CYISceneNode *, CYISceneNode *> DescendantGainedFocus
 Emitted when focus has entered this tree. The first signal parameter is the new node with focus, and the second signal parameter is the previous node with focus. More...
 
CYISignal< CYISceneNode *, CYISceneNode *> DescendantLostFocus
 Emitted when focus has left this tree. The first signal parameter is the new node with focus, and the second signal parameter is the previous node with focus. More...
 
CYISignal< CYISceneNode *, CYISceneNode *> DescendantsChangedFocus
 Emitted when focus has changed within this tree. This signal is called only if focus was previously within this tree and focus is now on a different node (but still within this tree). The first signal parameter is the new node with focus, and the second signal parameter is the previous node with focus. More...
 
CYISignal< CYIAccessibilityAttributes::AccessibleAccessibleStateChanged
 Emitted when accessible state changed. More...
 

Protected Member Functions

virtual void UpdateTextView ()
 
void UpdateTextView (const CYIString &currentText)
 
bool OnKeyDownWhenActive (CYIKeyEvent *pEvent)
 
bool OnKeyInputWhenActive (CYIKeyEvent *pEvent)
 
virtual bool OnCharWhenActive (CYIKeyEvent *pEvent)
 
void OnCaretBlink ()
 
void OnActivated ()
 
void OnDeactivated ()
 
void ShowKeyboard ()
 
void OnTextChanged (bool notifyKeyboard)
 
void UpdateCaretNodePositionAndTextOffset ()
 
void ResetCaretBlinkTimer ()
 
void SetCaretPositionInString (float localSpaceX, float localSpaceY, int8_t caretOffset=0)
 
void OnClearButtonClicked ()
 
void UpdateClearButton ()
 
void UpdateTextSpan (bool updateTextOffset)
 
void InitInputSettings ()
 
bool InitDefaultTextFromProperty ()
 
float GetTextWidth (uint32_t position)
 
void OnScrollTimerEvent ()
 
void StartScrolling ()
 
void StopScrolling ()
 
void DoScrollingForTimerEvent ()
 
void DoScrollingForMouseEvent ()
 
virtual bool OnTextEntered (const CYIString &pText, int32_t caret)
 
virtual bool OnTextDeleted (int32_t beforeCaret, int32_t afterCaret)
 
virtual void OnTextReplaced (const CYIString &text, size_t cursor)
 
virtual void OnCursorPositionChanged (size_t cursor)
 
bool OnKeyboardHidden ()
 
void OnSynchronizeKeyboard (CYIKeyboardInputBridge::Receiver::Description &receiverDescription)
 
virtual void WorldSurfaceScaleUpdated () override
 
virtual void UpdateBegin () override
 
virtual void UpdateEnd () override
 
void HideLastCharacter ()
 
CYIString GetMaskedText (const CYIString &text, bool showLastChar) const
 
- Protected Member Functions inherited from CYISceneView
void UpdateClipping ()
 
virtual void WorldScaleUpdated () override
 
virtual void WorldBoundingBoxUpdated () override
 
virtual void OnViewReflowed (const glm::vec3 &worldScale)
 
virtual void ViewReflowed (const glm::vec3 &worldScale)
 
virtual bool ProcessEvent (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) override
 
void UpdateResponsiveLayoutAnchors ()
 
virtual void SizeChanged () override
 
virtual void ChildNeedsLayout () override
 
virtual void LayoutDirtied () override
 
virtual void ChildAdded (CYISceneNode *pChild) override
 
virtual void ChildRemoved (CYISceneNode *pChild) override
 
virtual void ChildVisibilityChanged (CYISceneNode *pChild) override
 
void OnViewIsInAnimatedPosition ()
 
void OnViewIsGoingOutOfAnimatedPosition ()
 
void SetInTimeline (CYIAbstractTimeline *pTimeline)
 
void SetOutTimeline (CYIAbstractTimeline *pTimeline)
 
virtual void OnInit ()
 
bool TryRequestFocusOnInitiallyFocusedView ()
 
CYITimelineReverseAssignReverseTimelineToMarker (CYIStringView markerName, CYIAbstractTimeline *pTimelineToReverse)
 
- Protected Member Functions inherited from CYISceneNode
void Update ()
 
virtual void OnUpdateBegin ()
 
virtual void OnUpdateEnd ()
 
virtual void OnDirtyFlagChanged ()
 
virtual void DirtyFlagChanged ()
 
virtual void OnTransformUpdated ()
 
virtual void TransformUpdated ()
 
virtual void OnWorldScaleUpdated ()
 
virtual void OnWorldSurfaceScaleUpdated ()
 
virtual void OnVisibilityUpdated ()
 
virtual void VisibilityUpdated ()
 
virtual void OnCompositeOpacityUpdated ()
 
virtual void CompositeOpacityUpdated ()
 
virtual void OnWorldBoundingBoxUpdated ()
 
virtual void OnLocalBoundingBoxUpdated ()
 
virtual void LocalBoundingBoxUpdated ()
 
virtual void OnChildAdded (CYISceneNode *pChild)
 
virtual void OnChildRemoved (CYISceneNode *pChild)
 
virtual void OnSizeChanged ()
 
virtual void OnChildVisibilityChanged (CYISceneNode *pChild)
 
virtual void OnDrawOrderChanged ()
 
LayoutDirtyFlag GetCurrentLayoutDirtyFlag () const
 
virtual CYIString GetDumpTreeString () const
 
void DumpTree (int32_t indentLevel) const
 
virtual void SetCustomUniforms ()
 
template<class T >
void SetNodeType ()
 
virtual CYISceneNodeGetNodeFromChildren (CYIStringView name)
 
virtual CYISceneNodeGetNodeFromChildren (const int32_t id)
 
virtual CYISceneNodeGetNodeFromChildren (const CYIRuntimeTypeInfo &enforceClassType)
 
CYISceneNodeGetNodeFromChildrenAfterTarget (const CYIRuntimeTypeInfo &enforceClassType, bool *pTargetReached, CYISceneNode *pStartAfterTarget)
 

Protected Attributes

CYITimer m_CaretTimer
 
std::unique_ptr< CYITimelineLoopm_pCaretBlinkTimelineLoop
 
CYISceneNodem_pCaretNode
 
CYISceneNodem_pSecondaryCaretNode
 
CYITextSceneNodem_pTextNode
 
CYIPushButtonViewm_pClearBtn
 
CYISceneNodem_pEntryFieldNode
 
std::unique_ptr< CYITimerm_pScrollTimer
 
CYIString m_CurrentText
 
CYIString m_PreviousText
 
CYIString m_DefaultText
 
CYIColor m_DefaultTextColor
 
CYIColor m_TextColor
 
CYIColor m_CaretColor
 
ClearButtonMode m_clearButtonMode
 
bool m_updateText
 
bool m_editingEnabled
 
bool m_activated
 
bool m_caretActive
 
bool m_placeholderTextMode
 
size_t m_lengthOfValueString
 
CYITextEngine::PositionInString m_posInString
 
bool m_alignedCharacterMustBeVisible
 
size_t m_maximumCharacterCount
 
CYIKeyboardInputBridge::InputType m_inputType
 
CYIKeyboardInputBridge::InputModifiers m_inputModifiers
 
CYITextLayout::TextDirection m_defaultTextDirection
 
glm::vec2 m_scrollMouseLocationDown
 
glm::vec3 m_scrollMouseLocalSpaceLocation
 
float m_caretMaxX
 
float m_initialCaretMaxX
 
Justification m_xJustify
 
std::shared_ptr< CYIAssetTexturem_DefaultCaretTexture
 
std::unique_ptr< CYITextEditReceiverm_pReceiver
 
bool m_maskingEnabled
 
CYITimer m_lastCharacterShowTimer
 
CYIString m_maskCharacter
 
- Protected Attributes inherited from CYISceneView
bool m_stopEventPropagation
 
bool m_responsiveLayoutEnabled
 
bool m_sceneTreeBuilt
 
bool m_inAnimatedPosition
 
CYISceneNodem_pClippingNode
 
CYIAbstractTimelinem_pFocusInTimeline
 
CYIAbstractTimelinem_pFocusOutTimeline
 
std::unique_ptr< CYILayoutm_pLayout
 
std::shared_ptr< CYIAssetViewTemplatem_pAssetViewTemplate
 
std::shared_ptr< CYISceneNodeProxym_pInitiallyFocusedView
 
InitialFocusLifetime m_initialFocusLifetime
 
std::multimap< EYIAnchorType, YI_ANCHOR_DATAm_anchors
 
std::map< CYIString, std::unique_ptr< CYITimeline >, std::less<> > m_timelines
 
std::map< CYIString, std::unique_ptr< CYIParallelTimelineGroup >, std::less<> > m_timelineGroups
 
std::map< CYIString, std::unique_ptr< CYITimelineReverse > > m_reverseTimelines
 
- Protected Attributes inherited from CYISceneNode
CYIString m_name
 
CYISceneNodem_pParent
 
CYISceneNodem_pDrawParent
 
std::vector< std::unique_ptr< CYISceneNode > > m_children
 
std::vector< CYISceneNode * > m_drawChildren
 
std::map< CYIString, CYIString, std::less<> > m_Properties
 
std::vector< std::shared_ptr< CYIEffect > > m_Effects
 
std::vector< std::unique_ptr< PropertyAnimation > > m_propertyAnimations
 
float m_localOpacity
 
std::unique_ptr< CYITransformm_pTransform
 
glm::vec3 m_size
 
glm::vec3 m_initialSize
 
glm::vec3 m_measuredSize
 
glm::vec3 m_vlsLastCollision
 
bool m_clip
 
bool m_localVisibility
 
int32_t m_id
 
uint64_t m_guid
 
std::unique_ptr< CYINPatch > m_pNPatch
 
std::shared_ptr< CYIBitmapm_pNPatchBitmap
 
std::shared_ptr< CYIRenderablem_pRenderable
 
- Protected Attributes inherited from CYIEventTarget
std::vector< EventListenerEntry > m_listeners
 
SpecialEventTargetType m_specialTypes
 
std::shared_ptr< CYIEventTargetProxym_pEventTargetProxy
 
- Protected Attributes inherited from CYIEventHandler
bool m_enableEvents
 

Friends

class CYITextEditReceiver
 
class CYITextEditViewPriv
 

Additional Inherited Members

- Static Public Member Functions inherited from CYISceneView
static void RegisterAllViews ()
 
- Static Public Member Functions inherited from CYISceneNode
static void RegisterAllSceneNodes ()
 
- Static Public Attributes inherited from CYISceneNode
static const float OPACITY_NOT_VISIBLE_EPSILON
 
static constexpr DirtyFlag DirtyClean = 0x0000
 
static constexpr DirtyFlag DirtySceneGraph = 0x0001
 
static constexpr DirtyFlag DirtyVisibility = 0x0002
 
static constexpr DirtyFlag DirtyOpacity = 0x0004
 
static constexpr DirtyFlag DirtyLocalTransform = 0x0008
 
static constexpr DirtyFlag DirtyWorldTransform = 0x0010
 
static constexpr DirtyFlag DirtyUniform = 0x0020
 
static constexpr DirtyFlag DirtyWorldBoundingBox = 0x0040
 
static constexpr DirtyFlag DirtyMesh = 0x0080
 
static constexpr DirtyFlag DirtyWorldSurfaceScale = 0x0100
 
static constexpr DirtyFlag DirtyWorldScale = 0x0200
 
static constexpr DirtyFlag DirtyLocalBoundingBox = 0x0400
 
static constexpr DirtyFlag DirtyEverything = (DirtySceneGraph | DirtyVisibility | DirtyOpacity | DirtyLocalTransform | DirtyWorldTransform | DirtyUniform | DirtyWorldBoundingBox | DirtyWorldSurfaceScale | DirtyWorldScale | DirtyLocalBoundingBox)
 

Member Enumeration Documentation

◆ ClearButtonMode

Enumerator
Never 
WhileEditing 
UnlessEditing 
Always 

◆ Justification

enum CYITextEditView::Justification : uint8_t
strong
Enumerator
Left 

Text is aligned with the left of the textbox.

Right 

Text is aligned with the right of the textbox.

Center 

Text is aligned with the center of the textbox.

Start 

Text is aligned with the start of the textbox. Alignment automatically adjusts based on the detected text direction. If there are no strongly-directional characters, alignment will follow the default text direction. Left-to-right text will be left-aligned, and right-to-left text will be right-aligned.

End 

Text is aligned with the end of the textbox. Alignment automatically adjusts based on the detected text direction. If there are no strongly-directional characters, alignment will follow the default text direction. Left-to-right text will be right-aligned, and right-to-left text will be left-aligned.

Constructor & Destructor Documentation

◆ CYITextEditView()

CYITextEditView::CYITextEditView ( )

◆ ~CYITextEditView()

virtual CYITextEditView::~CYITextEditView ( )
virtual

Member Function Documentation

◆ Activate()

void CYITextEditView::Activate ( )

Focuses and activates the text view. This will show the virtual keyboard if applicable.

See also
Deactivate
IsActivated
Activated

◆ ActivateCaret()

void CYITextEditView::ActivateCaret ( )

Turns on displaying of the caret. It is on by default.

◆ Clear()

virtual void CYITextEditView::Clear ( )
virtual

Clears the text and hides any keyboard selection menus such as copy and paste dialogs.

◆ Deactivate()

void CYITextEditView::Deactivate ( )

Deactivates the text view. Focus is retained on the text view after deactivation. This will hide any selection menus from virtual keyboards.

See also
Activate
IsActivated
Deactivated

◆ DeactivateCaret()

void CYITextEditView::DeactivateCaret ( )

Turns off displaying of the caret.

◆ DoScrollingForMouseEvent()

void CYITextEditView::DoScrollingForMouseEvent ( )
protected

Handles scrolling when triggered by mouse movement within the view.

◆ DoScrollingForTimerEvent()

void CYITextEditView::DoScrollingForTimerEvent ( )
protected

Handles scrolling when triggered by m_pScrollTimer.

◆ EnablePasswordMode()

void CYITextEditView::EnablePasswordMode ( bool  passwordModeEnabled)

Enables/disables the masking of characters in this view. The view's input type will be changed to password.

By default password mode is disabled for this view.

Enabling password mode will also set the input modifiers to CYIKeyboardInputBridge::InputModifiers::MaskInput and CYIKeyboardInputBridge::InputModifiers::NoSuggestions.

See also
IsPasswordModeEnabled
SetInputType
SetInputModifiers

◆ GetAccessoryImageUrl()

const CYIUrl& CYITextEditView::GetAccessoryImageUrl ( ) const

Returns the URL used for the AccessoryImage.

See also
SetAccessoryImageUrl

◆ GetAssetRequirements()

virtual const CYISceneView::AssetRequirement* CYITextEditView::GetAssetRequirements ( uint32_t *  pRequirementCount)
overridevirtual

Returns the asset requirements for the view; implemented in each subclass to return the nodes and timelines which must be present in the view. Used internally by the You.i Engine After Effects Plug-in.

Reimplemented from CYISceneView.

◆ GetCaretColor()

const CYIColor& CYITextEditView::GetCaretColor ( ) const

Returns the color of the caret.

See also
SetCaretColor

◆ GetCaretPosition()

size_t CYITextEditView::GetCaretPosition ( ) const

Returns the zero-based position of the caret.

◆ GetCharacterShowDuration()

uint64_t CYITextEditView::GetCharacterShowDuration ( ) const

Returns the duration that the last entered character will be shown for.

See also
SetCharacterShowDuration

◆ GetClearButtonMode()

ClearButtonMode CYITextEditView::GetClearButtonMode ( ) const

Gets the ClearButtonMode, which dictates the condition that the clear button, if provided, is displayed.

See also
SetClearButtonMode

◆ GetDefaultText()

const CYIString& CYITextEditView::GetDefaultText ( ) const

Returns the current default text.

See also
SetDefaultText

◆ GetDefaultTextColor()

const CYIColor& CYITextEditView::GetDefaultTextColor ( ) const

Returns the color of the default text.

See also
SetDefaultTextColor

◆ GetDefaultTextDirection()

CYITextLayout::TextDirection CYITextEditView::GetDefaultTextDirection ( ) const

Returns the default text direction.

Note
The initial default text direction is left-to-right.

◆ GetFontSize()

size_t CYITextEditView::GetFontSize ( ) const

Returns the font size of the text.

See also
SetFontSize

◆ GetInitialTextEntryBoxWidth()

float CYITextEditView::GetInitialTextEntryBoxWidth ( ) const

Returns the maximum width of the text entry's display area. If the EntryField node is not provided, this is set by the position of the input properties specified in the view template. Otherwise, it is set by the initial width of the EntryField node.

◆ GetInputModifiers()

CYIKeyboardInputBridge::InputModifiers CYITextEditView::GetInputModifiers ( ) const

Returns the current input modifiers that the view expects the keyboard to use when displaying the keyboard. By default this is set to CYIKeyboardInputBridge::InputModifiers::None.

◆ GetInputType()

CYIKeyboardInputBridge::InputType CYITextEditView::GetInputType ( ) const

Returns the input type that the view expects the keyboard to use when displaying the keyboard. By default this is set to CYIKeyboardInputBridge::InputType::Text. This can also be set by specifying the 'input-type' property on the view in AE.

◆ GetMaskCharacter()

char32_t CYITextEditView::GetMaskCharacter ( ) const

Returns the character that is currently being used to mask text entered into this view.

See also
SetMaskCharacter

◆ GetMaskedText()

CYIString CYITextEditView::GetMaskedText ( const CYIString text,
bool  showLastChar 
) const
protected

Returns a masked version of text. All characters of text will be masked unless showLastChar is true, in this case the last character of text will be left unmasked.

◆ GetMaximumCharacterCount()

size_t CYITextEditView::GetMaximumCharacterCount ( ) const

◆ GetReturnKeyType()

CYIKeyboardInputBridge::ReturnKeyType CYITextEditView::GetReturnKeyType ( ) const

Returns the type of return key that will be displayed on platforms that support different return key types. The default is CYIKeyboardInputBridge::ReturnKeyType::Default.

See also
CYIKeyboardInputBridge::ReturnKeyType

◆ GetTextColor()

const CYIColor& CYITextEditView::GetTextColor ( ) const

Returns the color of the text node.

See also
SetTextColor

◆ GetTextEntryBoxWidth()

float CYITextEditView::GetTextEntryBoxWidth ( ) const

Returns the maximum width of the text entry's display area.

By default this value is based on the position of the input properties specified in the view template.

◆ GetTextWidth()

float CYITextEditView::GetTextWidth ( uint32_t  position)
protected

Returns the width of the text entered up to and including character at position 'n'.

◆ GetValue()

virtual CYIString CYITextEditView::GetValue ( ) const
virtual
See also
SetValue

◆ GetXJustify()

Justification CYITextEditView::GetXJustify ( ) const

Returns the text alignment.

See also
Justification

◆ HandleEvent()

virtual bool CYITextEditView::HandleEvent ( const std::shared_ptr< CYIEventDispatcher > &  pDispatcher,
CYIEvent pEvent 
)
overridevirtual

This function intercepts key input to add characters to the text. It also handles various other events for interacting with the caret.

Reimplemented from CYISceneView.

◆ HideLastCharacter()

void CYITextEditView::HideLastCharacter ( )
protected

Hides all characters in the text. If password mode is not enabled, this has no effect.

See also
IsPasswordModeEnabled

◆ Init()

virtual bool CYITextEditView::Init ( )
overridevirtual

Initializes the view and all of its content. Subclasses must call CYISceneView::Init().

Note
This must be called after CYISceneView::BuildFromTemplate()

Reimplemented from CYISceneView.

◆ InitDefaultTextFromProperty()

bool CYITextEditView::InitDefaultTextFromProperty ( )
protected

Initializes the default text based on the 'default-text' property specified in AE.

See also
SetDefaultText

◆ InitInputSettings()

void CYITextEditView::InitInputSettings ( )
protected

Initialises the input type from the 'input-type' and the input modifiers from the 'is-password' properties specified in AE.

See also
SetInputType
SetInputModifiers

◆ IsActivated()

bool CYITextEditView::IsActivated ( ) const

Returns true if this view is currently activated.

See also
Activate
Deactivate

◆ IsDisplayingDefaultText()

bool CYITextEditView::IsDisplayingDefaultText ( ) const

Returns true if the view is currently displaying the default text. Default text is displayed when no text has been entered and GetValue returns an empty string.

See also
GetValue

◆ IsEditingEnabled()

bool CYITextEditView::IsEditingEnabled ( ) const

Returns true if editing is enabled for this view.

See also
SetEditingEnabled

◆ IsPasswordModeEnabled()

bool CYITextEditView::IsPasswordModeEnabled ( ) const

Returns whether or not password mode is enabled.

See also
EnablePasswordMode

◆ OnActivated()

void CYITextEditView::OnActivated ( )
protected

Called when the view is focused. This will activate the caret.

Note
This will only activate the caret, to bring up the keyboard ShowKeyboard() must be called.

◆ OnCaretBlink()

void CYITextEditView::OnCaretBlink ( )
protected

Connected to m_pCaretTimer.TimedOut. This handles showing and hiding the caret at a timed interval.

◆ OnCharWhenActive()

virtual bool CYITextEditView::OnCharWhenActive ( CYIKeyEvent pEvent)
protectedvirtual

Handles character input from OnKeyInputWhenActive().

◆ OnClearButtonClicked()

void CYITextEditView::OnClearButtonClicked ( )
protected

Called when the optional clear button is clicked. This will clear the text and reset the virtual keyboard.

◆ OnCursorPositionChanged()

virtual void CYITextEditView::OnCursorPositionChanged ( size_t  cursor)
protectedvirtual

◆ OnDeactivated()

void CYITextEditView::OnDeactivated ( )
protected

Called when the view loses focus. This will hide any selection menus from virtual keyboards.

◆ OnKeyboardHidden()

bool CYITextEditView::OnKeyboardHidden ( )
protected

Clears focus when the OS keyboard is hidden.

◆ OnKeyDownWhenActive()

bool CYITextEditView::OnKeyDownWhenActive ( CYIKeyEvent pEvent)
protected

Handles CYIEvent::Type::KeyDown events from HandleEventWhenActive().

◆ OnKeyInputWhenActive()

bool CYITextEditView::OnKeyInputWhenActive ( CYIKeyEvent pEvent)
protected

Handles CYIEvent::Type::KeyInput events from HandleEventWhenActive().

◆ OnScrollTimerEvent()

void CYITextEditView::OnScrollTimerEvent ( )
protected

Connected to m_pScrollTimer.TimedOut. This handles scrolling when dragging the mouse outside the range of the view.

◆ OnSynchronizeKeyboard()

void CYITextEditView::OnSynchronizeKeyboard ( CYIKeyboardInputBridge::Receiver::Description receiverDescription)
protected

Synchronizes the state of our view with the state of the OS keyboard.

◆ OnTextChanged()

void CYITextEditView::OnTextChanged ( bool  notifyKeyboard)
protected

Called when text is changed in the view. The TextChanged signal is emitted here.

The value of notifyKeyboard indicates if CYIKeyboardInputMethod::OnTextChanged should be called or not. This should be true if the text is changing as a result of being set or cleared, and not as a result of user input.

◆ OnTextDeleted()

virtual bool CYITextEditView::OnTextDeleted ( int32_t  beforeCaret,
int32_t  afterCaret 
)
protectedvirtual

◆ OnTextEntered()

virtual bool CYITextEditView::OnTextEntered ( const CYIString pText,
int32_t  caret 
)
protectedvirtual

◆ OnTextReplaced()

virtual void CYITextEditView::OnTextReplaced ( const CYIString text,
size_t  cursor 
)
protectedvirtual

◆ ResetCaretBlinkTimer()

void CYITextEditView::ResetCaretBlinkTimer ( )
protected

Resets the caret blink timer.

◆ SetAccessoryImageUrl()

bool CYITextEditView::SetAccessoryImageUrl ( const CYIUrl url)

Sets the URL to be used for the AccessoryImage. The URL can be for either a local or remote image, that image will then be displayed above the keyboard. Returns false if an AccessoryImage is not supported by the current platform.

Note
SetAccessoryImageUrl is only supported on tvOS.

◆ SetCaretColor()

void CYITextEditView::SetCaretColor ( const CYIColor clrCaret)

Sets color of the caret.

By default the caret color corresponds to the color of the caret node's material which is CYIColor::Named().Black if no 'Caret' node is specified in the view template.

See also
CYIMaterial::GetColor

◆ SetCaretPosition()

void CYITextEditView::SetCaretPosition ( size_t  position)

Sets the position of the caret in the current text value. If position is larger than the length of the text it will be clamped.

◆ SetCaretPositionInString()

void CYITextEditView::SetCaretPositionInString ( float  localSpaceX,
float  localSpaceY,
int8_t  caretOffset = 0 
)
protected

Sets the position of the caret using spatial coordinates localSpaceX and localSpaceY. carretOffset allows specifying an offset to position the caret relative to localSpaceX and localSpaceY.

◆ SetCharacterShowDuration()

void CYITextEditView::SetCharacterShowDuration ( uint64_t  timeMs)

Sets the duration in milliseconds to show the last entered character if password mode is enabled. After this amount of time, the character is replaced by the mask character.

The default duration is 2 seconds.

See also
SetMaskCharacter
EnablePasswordMode

◆ SetClearButtonMode()

void CYITextEditView::SetClearButtonMode ( ClearButtonMode  mode)

Sets the ClearButtonMode, which dictates the conditions that the clear button, if provided, is displayed.

◆ SetDefaultText()

void CYITextEditView::SetDefaultText ( const CYIString defaultText,
bool  cropToMaxCharacterCount = true 
)

Sets the text that will be displayed when no text has been input (or set using SetValue()). By default the defaultText will be modified to max length and remove newlines. If cropToMaxCharacterCount is set to false then the default text will not be cropped.

◆ SetDefaultTextColor()

void CYITextEditView::SetDefaultTextColor ( const CYIColor defaultTextColor)

Sets color of the default text.

By default the color will be the font color of the text node created in AE.

◆ SetDefaultTextDirection()

void CYITextEditView::SetDefaultTextDirection ( CYITextLayout::TextDirection  direction)

Sets the default text direction, which is used to set the alignment when no strongly-directional characters are detected in the text.

◆ SetEditingEnabled()

void CYITextEditView::SetEditingEnabled ( bool  enable)

Allows enabling and disabling of editing text in this view.

◆ SetFontSize()

void CYITextEditView::SetFontSize ( int32_t  size)

Sets the font size of the text.

◆ SetInputModifiers()

void CYITextEditView::SetInputModifiers ( CYIKeyboardInputBridge::InputModifiers  inputModifiers)

Sets the current requested keyboard input modifiers.

See also
CYITextEditView::GetInputModifiers

◆ SetInputType()

void CYITextEditView::SetInputType ( CYIKeyboardInputBridge::InputType  inputType)

Sets the current keyboard input type.

See also
CYITextEditView::GetInputType

◆ SetMaskCharacter()

void CYITextEditView::SetMaskCharacter ( char32_t  maskCharacter)

Sets the character that will be used to mask the text entered into this view to maskCharacter if password mode is enabled.

The default mask character is '•'.

See also
EnablePasswordMode

◆ SetMaximumCharacterCount()

void CYITextEditView::SetMaximumCharacterCount ( size_t  maximumCharacterCount)

Set the maximum character count. This will apply to both text and default text. The default count is 200.

◆ SetReturnKeyType()

void CYITextEditView::SetReturnKeyType ( CYIKeyboardInputBridge::ReturnKeyType  keyType)

Sets the type of return key to be used when the keyboard is shown.

See also
GetReturnKeyType
CYIKeyboardInputBridge::ReturnKeyType

◆ SetTextColor()

void CYITextEditView::SetTextColor ( const CYIColor textColor)

Sets the color of the text node.

By default the color will be the color of the input properties specified in the view template.

◆ SetTextEntryBoxWidth()

bool CYITextEditView::SetTextEntryBoxWidth ( float  boxWidth)

Sets the maximum width of the text entry's display area. Text whose width extends beyond boxWidth will be clipped. If an EntryField node was provided, this sets only the bounding box of the text, and the text is clipped based on the bounding box of the EntryField node instead.

See also
GetTextEntryBoxWidth

◆ SetValue()

void CYITextEditView::SetValue ( CYIString  text)

Sets the current text held in the control to the provided value. If the length of the provided text is longer than the maximum character count (as returned by GetMaximumCharacterCount() ), the text will be cropped to the limit prior to setting.

Note
The TextChanged signal will not be emitted when calling this function.

◆ SetXJustify()

void CYITextEditView::SetXJustify ( Justification  xJustify)

Sets the text alignment.

See also
Justification

◆ ShowKeyboard()

void CYITextEditView::ShowKeyboard ( )
protected

Request that the system software keyboard be displayed.

◆ StartScrolling()

void CYITextEditView::StartScrolling ( )
protected

Starts m_pScrollTimer for handling scrolling with the mouse. This is called when the mouse moves outside the view with the mouse button held down.

◆ StopScrolling()

void CYITextEditView::StopScrolling ( )
protected

Stops m_pScrollTimer. This is called when the mouse button is released or the view loses focus.

◆ UpdateBegin()

virtual void CYITextEditView::UpdateBegin ( )
overrideprotectedvirtual

This will update the position and max width of the text when the EntryField node resizes. It will also update the text offset and caret position.

Reimplemented from CYISceneNode.

◆ UpdateCaretNodePositionAndTextOffset()

void CYITextEditView::UpdateCaretNodePositionAndTextOffset ( )
protected

Updates the position of the caret and the offset of the text.

◆ UpdateClearButton()

void CYITextEditView::UpdateClearButton ( )
protected

Updates the visibility of the clear button based on the ClearButtonMode.

◆ UpdateEnd()

virtual void CYITextEditView::UpdateEnd ( )
overrideprotectedvirtual

This will update the clipping box of the text.

Reimplemented from CYISceneNode.

◆ UpdateTextSpan()

void CYITextEditView::UpdateTextSpan ( bool  updateTextOffset)
protected

Updates the start and end of the text edit field. If updateTextOffset is true, update text scrolling.

◆ UpdateTextView() [1/2]

virtual void CYITextEditView::UpdateTextView ( )
protectedvirtual

Updates the state of all of the visual components of the CYITextEditView. Uses UpdateTextView(const CYIString &currentText) to update the view with the current text (CYITextEditView::m_text).

◆ UpdateTextView() [2/2]

void CYITextEditView::UpdateTextView ( const CYIString currentText)
protected

Updates the state of all of the visual components of the CYITextEditView. The view will be updated with the text of currentText.

◆ WorldSurfaceScaleUpdated()

virtual void CYITextEditView::WorldSurfaceScaleUpdated ( )
overrideprotectedvirtual

This will update the visible area and caret position.

Reimplemented from CYISceneNode.

Friends And Related Function Documentation

◆ CYITextEditReceiver

friend class CYITextEditReceiver
friend

◆ CYITextEditViewPriv

friend class CYITextEditViewPriv
friend

Member Data Documentation

◆ Activated

CYISignal<CYITextEditView *> CYITextEditView::Activated

Emitted when the text view becomes activated.

◆ Deactivated

CYISignal<CYITextEditView *> CYITextEditView::Deactivated

Emitted when the text view becomes deactivated;

◆ m_activated

bool CYITextEditView::m_activated
protected

◆ m_alignedCharacterMustBeVisible

bool CYITextEditView::m_alignedCharacterMustBeVisible
protected

◆ m_caretActive

bool CYITextEditView::m_caretActive
protected

◆ m_CaretColor

CYIColor CYITextEditView::m_CaretColor
protected

◆ m_caretMaxX

float CYITextEditView::m_caretMaxX
protected

◆ m_CaretTimer

CYITimer CYITextEditView::m_CaretTimer
protected

◆ m_clearButtonMode

ClearButtonMode CYITextEditView::m_clearButtonMode
protected

◆ m_CurrentText

CYIString CYITextEditView::m_CurrentText
protected

◆ m_DefaultCaretTexture

std::shared_ptr<CYIAssetTexture> CYITextEditView::m_DefaultCaretTexture
protected

◆ m_DefaultText

CYIString CYITextEditView::m_DefaultText
protected

◆ m_DefaultTextColor

CYIColor CYITextEditView::m_DefaultTextColor
protected

◆ m_defaultTextDirection

CYITextLayout::TextDirection CYITextEditView::m_defaultTextDirection
protected

◆ m_editingEnabled

bool CYITextEditView::m_editingEnabled
protected

◆ m_initialCaretMaxX

float CYITextEditView::m_initialCaretMaxX
protected

◆ m_inputModifiers

CYIKeyboardInputBridge::InputModifiers CYITextEditView::m_inputModifiers
protected

◆ m_inputType

CYIKeyboardInputBridge::InputType CYITextEditView::m_inputType
protected

◆ m_lastCharacterShowTimer

CYITimer CYITextEditView::m_lastCharacterShowTimer
protected

◆ m_lengthOfValueString

size_t CYITextEditView::m_lengthOfValueString
protected

◆ m_maskCharacter

CYIString CYITextEditView::m_maskCharacter
protected

◆ m_maskingEnabled

bool CYITextEditView::m_maskingEnabled
protected

◆ m_maximumCharacterCount

size_t CYITextEditView::m_maximumCharacterCount
protected

◆ m_pCaretBlinkTimelineLoop

std::unique_ptr<CYITimelineLoop> CYITextEditView::m_pCaretBlinkTimelineLoop
protected

◆ m_pCaretNode

CYISceneNode* CYITextEditView::m_pCaretNode
protected

◆ m_pClearBtn

CYIPushButtonView* CYITextEditView::m_pClearBtn
protected

◆ m_pEntryFieldNode

CYISceneNode* CYITextEditView::m_pEntryFieldNode
protected

◆ m_placeholderTextMode

bool CYITextEditView::m_placeholderTextMode
protected

◆ m_posInString

CYITextEngine::PositionInString CYITextEditView::m_posInString
protected

◆ m_pReceiver

std::unique_ptr<CYITextEditReceiver> CYITextEditView::m_pReceiver
protected

◆ m_PreviousText

CYIString CYITextEditView::m_PreviousText
protected

◆ m_pScrollTimer

std::unique_ptr<CYITimer> CYITextEditView::m_pScrollTimer
protected

◆ m_pSecondaryCaretNode

CYISceneNode* CYITextEditView::m_pSecondaryCaretNode
protected

◆ m_pTextNode

CYITextSceneNode* CYITextEditView::m_pTextNode
protected

◆ m_scrollMouseLocalSpaceLocation

glm::vec3 CYITextEditView::m_scrollMouseLocalSpaceLocation
protected

◆ m_scrollMouseLocationDown

glm::vec2 CYITextEditView::m_scrollMouseLocationDown
protected

◆ m_TextColor

CYIColor CYITextEditView::m_TextColor
protected

◆ m_updateText

bool CYITextEditView::m_updateText
protected

◆ m_xJustify

Justification CYITextEditView::m_xJustify
protected

◆ ReturnKeyPressed

CYISignal<CYITextEditView *> CYITextEditView::ReturnKeyPressed

◆ TextChanged

CYISignal<const CYIString & , const CYIString & > CYITextEditView::TextChanged

Emitted when the text changes. The first signal parameter is the text currently in the text view. The second signal parameter is the text which was previously in the text view before the text changed.


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