+ DALI_INTERNAL bool EmitKeyEventSignal( const KeyEvent& event );
+ /// @endcond
+
+protected: // For derived classes to call
+
+ /**
+ * @brief Register a visual by Property Index, linking an Actor to controlRenderer when required.
+ * In the case of the visual being an actor or control deeming controlRenderer not required then controlRenderer should be an empty handle.
+ * No parenting is done during registration, this should be done by derived class.
+ *
+ * @SINCE_1_2.0
+ *
+ * @param[in] index The Property index of the visual, used to reference visual
+ * @param[in] placementActor The actor used to by the visual.
+ * @param[in] visual The visual to register
+ * @note Derived class must NOT call visual.SetOnStage(placementActor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
+ */
+ void RegisterVisual( Property::Index index, Actor& placementActor, Toolkit::Visual::Base& visual );
+
+ /**
+ * @brief Erase the entry matching the given index from the list of registered visuals
+ * @param[in] index The Property index of the visual, used to reference visual
+ *
+ * @SINCE_1_2.0
+ */
+ void UnregisterVisual( Property::Index index );
+
+ /**
+ * @brief Retrieve the visual associated with the given property index.
+ *
+ * @SINCE_1_2.2
+ *
+ * @param[in] index The Property index of the visual.
+ * @return The registered visual if exist, otherwise empty handle.
+ * @note For managing object life-cycle, do not store the returned visual as a member which increments its reference count.
+ */
+ Toolkit::Visual::Base GetVisual( Property::Index index ) const;
+
+ /**
+ * @brief Retrieve the placement actor associated with the given index.
+ *
+ * @SINCE_1_2.2
+ *
+ * @@param[in] index The Property index of the visual.
+ * @return Then placement actor if exist, otherwise empty handle.
+ * @note For managing object life-cycle, do not store the returned placement actor as a member which increments its reference count.
+ */
+ Actor GetPlacementActor( Property::Index index ) const;
+
+ /**
+ * @brief Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal
+ *
+ * Should be called last by the control after it acts on the Input Focus change.
+ *
+ * @SINCE_1_0.0
+ * @param[in] focusGained True if gained, False if lost
+ */
+ void EmitKeyInputFocusSignal( bool focusGained );