[Tizen] Add AutofillContainer class and autofill implementation
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / control / control-data-impl.h
index 9648cd6..fbef8b6 100755 (executable)
@@ -128,7 +128,7 @@ public:
    * @param[in] object The visual whose resources are ready
    * @note Overriding method in Visual::EventObserver.
    */
-  virtual void ResourceReady( Visual::Base& object ) override;
+  void ResourceReady( Visual::Base& object ) override;
 
   /**
    * @brief Called when an event occurs.
@@ -136,7 +136,7 @@ public:
    * @param[in] signalId The signal to emit. See Visual to find supported signals
    * @note Overriding method in Visual::EventObserver.
    */
-  virtual void NotifyVisualEvent( Visual::Base& object, Property::Index signalId ) override;
+  void NotifyVisualEvent( Visual::Base& object, Property::Index signalId ) override;
 
   /**
    * @copydoc Dali::Toolkit::DevelControl::RegisterVisual()
@@ -293,9 +293,9 @@ public:
   bool IsResourceReady() const;
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  void OnStageDisconnection();
+  void OnSceneDisconnection();
 
   /**
    * @brief Sets the margin.
@@ -425,6 +425,16 @@ private:
    */
   void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, VisualState::Type enabled, DepthIndexValue::Type depthIndexValueSet, int depthIndex = 0 );
 
+  /**
+   * @brief Emits the resource ready signal.
+   */
+  void EmitResourceReadySignal();
+
+  /**
+   * @brief Callbacks called on idle.
+   */
+  void OnIdleCallback();
+
 public:
 
   Control& mControlImpl;
@@ -458,12 +468,15 @@ public:
   TooltipPtr mTooltip;
 
   InputMethodContext mInputMethodContext;
+  CallbackBase* mIdleCallback;             ///< The idle callback to emit the resource ready signal.
   AutofillItem mAutofillItem;
   Toolkit::AutofillContainer mAutofillContainer;
 
   ControlBehaviour mFlags : CONTROL_BEHAVIOUR_FLAG_COUNT;    ///< Flags passed in from constructor.
   bool mIsKeyboardNavigationSupported :1;  ///< Stores whether keyboard navigation is supported by the control.
   bool mIsKeyboardFocusGroup :1;           ///< Stores whether the control is a focus group.
+  bool mIsEmittingResourceReadySignal :1;  ///< True during ResourceReady().
+  bool mNeedToEmitResourceReady :1;        ///< True if need to emit the resource ready signal again.
   bool mIsAutofillEnabled : 1;             ///< Stroes whether the Autofill functionality is enabled.
 
   RegisteredVisualContainer mRemoveVisuals;         ///< List of visuals that are being replaced by another visual once ready