// EXTERNAL INCLUDES
#include <dali-toolkit/devel-api/controls/control-devel.h>
#include <dali/devel-api/adaptor-framework/accessibility.h>
-#include <dali/devel-api/adaptor-framework/autofill-item.h>
-#include <dali/devel-api/adaptor-framework/autofill-manager.h>
#include <dali/public-api/object/property-notification.h>
#include <dali/public-api/object/type-registry.h>
#include <string>
// INTERNAL INCLUDES
#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
-#include <dali-toolkit/devel-api/controls/text-controls/autofill-container.h>
#include <dali-toolkit/internal/builder/dictionary.h>
#include <dali-toolkit/internal/builder/style.h>
#include <dali-toolkit/internal/controls/tooltip/tooltip.h>
*/
class Control::Impl : public ConnectionTracker, public Visual::EventObserver
{
+ friend class Toolkit::DevelControl::AccessibleImpl;
+
public:
/**
* @brief Retrieves the implementation of the internal control class.
void ClearShadow();
/**
- * @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();
-
- /**
* @copydoc DevelControl::GetVisualProperty()
*/
Dali::Property GetVisualProperty(Dali::Property::Index index, Dali::Property::Key visualPropertyKey);
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
Dali::Accessibility::Accessible* GetAccessibilityObject();
void AccessibilityRegister();
- void AccessibilityDeregister();
-
- struct AccessibleImpl : public virtual Dali::Accessibility::Accessible,
- public virtual Dali::Accessibility::Component,
- public virtual Dali::Accessibility::Collection,
- public virtual Dali::Accessibility::Action
- {
- Dali::Actor self;
- bool modal = false, root = false;
-
- AccessibleImpl(Dali::Actor self, Dali::Accessibility::Role role, bool modal = false);
-
- std::string GetName() override;
- virtual std::string GetNameRaw();
- std::string GetDescription() override;
- virtual std::string GetDescriptionRaw();
- Dali::Accessibility::Accessible* GetParent() override;
- size_t GetChildCount() override;
- Dali::Accessibility::Accessible* GetChildAtIndex(size_t index) override;
- size_t GetIndexInParent() override;
- Dali::Accessibility::Role GetRole() override;
- Dali::Accessibility::States GetStates() override;
- Dali::Accessibility::Attributes GetAttributes() override;
- Dali::Rect<> GetExtents(Dali::Accessibility::CoordType ctype) override;
- Dali::Accessibility::ComponentLayer GetLayer() override;
- int16_t GetMdiZOrder() override;
- bool GrabFocus() override;
- double GetAlpha() override;
- bool GrabHighlight() override;
- bool ClearHighlight() override;
-
- std::string GetActionName(size_t index) override;
- std::string GetLocalizedActionName(size_t index) override;
- std::string GetActionDescription(size_t index) override;
- size_t GetActionCount() override;
- std::string GetActionKeyBinding(size_t index) override;
- bool DoAction(size_t index) override;
- bool DoAction(const std::string& name) override;
- bool DoGesture(const Dali::Accessibility::GestureInfo& gestureInfo) override;
- std::vector<Dali::Accessibility::Relation> GetRelationSet() override;
-
- virtual Dali::Accessibility::States CalculateStates();
- virtual void EnsureChildVisible(Actor child);
- virtual void EnsureSelfVisible();
- virtual Property::Index GetNamePropertyIndex();
- virtual Property::Index GetDescriptionPropertyIndex();
- };
+ void AccessibilityDeregister(bool remove);
std::function<std::unique_ptr<Dali::Accessibility::Accessible>(Actor)> accessibilityConstructor;
std::unique_ptr<Dali::Accessibility::Accessible> accessibilityObject;