[Tizen] Add AutofillContainer class and autofill implementation
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / control / control-data-impl.h
index 2223215..561460f 100755 (executable)
 // EXTERNAL INCLUDES
 #include <dali/public-api/object/type-registry.h>
 #include <dali-toolkit/devel-api/controls/control-devel.h>
+#include <dali/devel-api/adaptor-framework/autofill-item.h>
+#include <dali/devel-api/adaptor-framework/autofill-manager.h>
 #include <string>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/visuals/visual-event-observer.h>
 #include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali-toolkit/devel-api/controls/text-controls/autofill-container.h>
 #include <dali/devel-api/common/owner-container.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-base.h>
 #include <dali-toolkit/internal/controls/tooltip/tooltip.h>
@@ -336,6 +339,42 @@ public:
    */
   DevelControl::VisualEventSignalType& VisualEventSignal();
 
+  /**
+   * @brief Sets whether the Autofill functionality is enabled.
+   * @param[in] autofillEnabled Set true when Autofill should be enabled.
+   */
+  void SetAutofillEnabled( bool autofillEnabled );
+
+  /**
+   * @brief Check if the Autofill framework is enabled.
+   * @return True if Autofill is enabled
+   */
+  bool IsAutofillEnabled();
+
+  /**
+   * @brief Sets AutofillItemHandle
+   * @param item AutofillItem handle
+   */
+  void SetAutofillItemHandle( Dali::AutofillItem item );
+
+  /**
+   * @brief Gets AutofillItemHandle
+   * @return AutofillItem handle
+   */
+  Dali::AutofillItem GetAutofillItemHandle();
+
+  /**
+   * @brief Sets AutofillContainer which this control belongs to.
+   * @param[in] container
+   */
+  void SetAutofillContainer( Toolkit::AutofillContainer container );
+
+  /**
+   * @brief Gets AutofillContainer that the control belongs to.
+   * @return AutofillContainer handle
+   */
+  Toolkit::AutofillContainer GetAutofillContainer();
+
 private:
 
   /**
@@ -408,10 +447,13 @@ public:
   TooltipPtr mTooltip;
 
   InputMethodContext mInputMethodContext;
+  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 mIsAutofillEnabled : 1;             ///< Stroes whether the Autofill functionality is enabled.
 
   RegisteredVisualContainer mRemoveVisuals;         ///< List of visuals that are being replaced by another visual once ready