From 19b6edb066bc90ab6fd4ce93b9dc49b5224d7815 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Artur=20=C5=9Awigo=C5=84?= Date: Tue, 6 Apr 2021 11:03:39 +0200 Subject: [PATCH] [AT-SPI] Use WeakHandle in Accessible objects This breaks a strong reference cycle between Control::Impl, Actor, and AccessibleImpl. AccessibleImpl objects are stored as a std::unique_ptr in Control::Impl, so they do not need a strong actor handle. Change-Id: Iadf366dde0fe9cf1ca41128b027bc8add0717b39 --- .../devel-api/controls/accessible-impl.cpp | 45 ++++++++++++---------- dali-toolkit/devel-api/controls/accessible-impl.h | 15 +++++++- .../internal/controls/buttons/button-impl.cpp | 6 +-- .../controls/buttons/check-box-button-impl.cpp | 2 +- .../internal/controls/buttons/push-button-impl.cpp | 2 +- .../controls/buttons/radio-button-impl.cpp | 2 +- .../controls/buttons/toggle-button-impl.cpp | 4 +- .../internal/controls/popup/popup-impl.cpp | 4 +- .../controls/progress-bar/progress-bar-impl.cpp | 4 +- .../controls/scroll-bar/scroll-bar-impl.cpp | 8 ++-- .../scrollable/item-view/item-view-impl.cpp | 2 +- .../scrollable/scroll-view/scroll-view-impl.cpp | 2 +- .../internal/controls/slider/slider-impl.cpp | 10 ++--- .../controls/text-controls/text-editor-impl.cpp | 22 +++++------ .../controls/text-controls/text-field-impl.cpp | 22 +++++------ .../controls/text-controls/text-label-impl.cpp | 14 +++---- 16 files changed, 91 insertions(+), 73 deletions(-) diff --git a/dali-toolkit/devel-api/controls/accessible-impl.cpp b/dali-toolkit/devel-api/controls/accessible-impl.cpp index be4735b..dd1fc93 100644 --- a/dali-toolkit/devel-api/controls/accessible-impl.cpp +++ b/dali-toolkit/devel-api/controls/accessible-impl.cpp @@ -35,15 +35,15 @@ AccessibleImpl::AccessibleImpl(Dali::Actor self, Dali::Accessibility::Role role, : self(self), modal(modal) { - auto control = Dali::Toolkit::Control::DownCast(self); + auto control = Dali::Toolkit::Control::DownCast(Self()); Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control); Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get(internalControl); if(controlImpl.mAccessibilityRole == Dali::Accessibility::Role::UNKNOWN) controlImpl.mAccessibilityRole = role; - self.PropertySetSignal().Connect(&controlImpl, [this, &controlImpl](Dali::Handle& handle, Dali::Property::Index index, Dali::Property::Value value) { - if(this->self != Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor()) + Self().PropertySetSignal().Connect(&controlImpl, [this, &controlImpl](Dali::Handle& handle, Dali::Property::Index index, Dali::Property::Value value) { + if(this->Self() != Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor()) { return; } @@ -68,7 +68,7 @@ AccessibleImpl::AccessibleImpl(Dali::Actor self, Dali::Accessibility::Role role, std::string AccessibleImpl::GetName() { - auto control = Dali::Toolkit::Control::DownCast(self); + auto control = Dali::Toolkit::Control::DownCast(Self()); Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control); Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get(internalControl); @@ -86,7 +86,7 @@ std::string AccessibleImpl::GetName() if(auto raw = GetNameRaw(); !raw.empty()) return raw; - return self.GetProperty(Actor::Property::NAME); + return Self().GetProperty(Actor::Property::NAME); } std::string AccessibleImpl::GetNameRaw() @@ -96,7 +96,7 @@ std::string AccessibleImpl::GetNameRaw() std::string AccessibleImpl::GetDescription() { - auto control = Dali::Toolkit::Control::DownCast(self); + auto control = Dali::Toolkit::Control::DownCast(Self()); Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control); Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get(internalControl); @@ -121,22 +121,22 @@ std::string AccessibleImpl::GetDescriptionRaw() Dali::Accessibility::Accessible* AccessibleImpl::GetParent() { - return Dali::Accessibility::Accessible::Get(self.GetParent()); + return Dali::Accessibility::Accessible::Get(Self().GetParent()); } size_t AccessibleImpl::GetChildCount() { - return self.GetChildCount(); + return Self().GetChildCount(); } Dali::Accessibility::Accessible* AccessibleImpl::GetChildAtIndex(size_t index) { - return Dali::Accessibility::Accessible::Get(self.GetChildAt(static_cast(index))); + return Dali::Accessibility::Accessible::Get(Self().GetChildAt(static_cast(index))); } size_t AccessibleImpl::GetIndexInParent() { - auto s = self; + auto s = Self(); auto parent = s.GetParent(); DALI_ASSERT_ALWAYS(parent && "can't call GetIndexInParent on object without parent"); auto count = parent.GetChildCount(); @@ -152,11 +152,12 @@ size_t AccessibleImpl::GetIndexInParent() Dali::Accessibility::Role AccessibleImpl::GetRole() { - return self.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ROLE); + return Self().GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ROLE); } Dali::Accessibility::States AccessibleImpl::CalculateStates() { + Dali::Actor self = Self(); Dali::Accessibility::States s; s[Dali::Accessibility::State::FOCUSABLE] = self.GetProperty(Actor::Property::KEYBOARD_FOCUSABLE); s[Dali::Accessibility::State::FOCUSED] = Toolkit::KeyboardFocusManager::Get().GetCurrentFocusActor() == self; @@ -187,7 +188,7 @@ Dali::Accessibility::States AccessibleImpl::GetStates() Dali::Accessibility::Attributes AccessibleImpl::GetAttributes() { std::unordered_map attribute_map; - auto q = Dali::Toolkit::Control::DownCast(self); + auto q = Dali::Toolkit::Control::DownCast(Self()); auto w = q.GetProperty(Dali::Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES); auto z = w.GetMap(); @@ -221,6 +222,7 @@ Dali::Accessibility::ComponentLayer AccessibleImpl::GetLayer() Dali::Rect<> AccessibleImpl::GetExtents(Dali::Accessibility::CoordType ctype) { + Dali::Actor self = Self(); Vector2 screenPosition = self.GetProperty(Dali::DevelActor::Property::SCREEN_POSITION) .Get(); @@ -248,7 +250,7 @@ double AccessibleImpl::GetAlpha() bool AccessibleImpl::GrabFocus() { - return Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor(self); + return Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor(Self()); } static Dali::Actor CreateHighlightIndicatorActor() @@ -268,6 +270,7 @@ static Dali::Actor CreateHighlightIndicatorActor() bool AccessibleImpl::GrabHighlight() { + Dali::Actor self = Self(); auto old = GetCurrentlyHighlightedActor(); if(!Dali::Accessibility::IsUp()) @@ -304,6 +307,8 @@ bool AccessibleImpl::GrabHighlight() bool AccessibleImpl::ClearHighlight() { + Dali::Actor self = Self(); + if(!Dali::Accessibility::IsUp()) return false; if(GetCurrentlyHighlightedActor() == self) @@ -321,7 +326,7 @@ std::string AccessibleImpl::GetActionName(size_t index) { if(index >= GetActionCount()) return ""; Dali::TypeInfo type; - self.GetTypeInfo(type); + Self().GetTypeInfo(type); DALI_ASSERT_ALWAYS(type && "no TypeInfo object"); return type.GetActionName(index); } @@ -340,7 +345,7 @@ std::string AccessibleImpl::GetActionDescription(size_t index) size_t AccessibleImpl::GetActionCount() { Dali::TypeInfo type; - self.GetTypeInfo(type); + Self().GetTypeInfo(type); DALI_ASSERT_ALWAYS(type && "no TypeInfo object"); return type.GetActionCount(); } @@ -353,17 +358,17 @@ std::string AccessibleImpl::GetActionKeyBinding(size_t index) bool AccessibleImpl::DoAction(size_t index) { std::string actionName = GetActionName(index); - return self.DoAction(actionName, {}); + return Self().DoAction(actionName, {}); } bool AccessibleImpl::DoAction(const std::string& name) { - return self.DoAction(name, {}); + return Self().DoAction(name, {}); } bool AccessibleImpl::DoGesture(const Dali::Accessibility::GestureInfo& gestureInfo) { - auto control = Dali::Toolkit::Control::DownCast(self); + auto control = Dali::Toolkit::Control::DownCast(Self()); Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control); Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get(internalControl); @@ -380,7 +385,7 @@ bool AccessibleImpl::DoGesture(const Dali::Accessibility::GestureInfo& gestureIn std::vector AccessibleImpl::GetRelationSet() { - auto control = Dali::Toolkit::Control::DownCast(self); + auto control = Dali::Toolkit::Control::DownCast(Self()); Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control); Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get(internalControl); @@ -408,7 +413,7 @@ void AccessibleImpl::EnsureSelfVisible() auto parent = dynamic_cast(GetParent()); if(parent) { - parent->EnsureChildVisible(self); + parent->EnsureChildVisible(Self()); } } diff --git a/dali-toolkit/devel-api/controls/accessible-impl.h b/dali-toolkit/devel-api/controls/accessible-impl.h index ff31c1e..ed09487 100644 --- a/dali-toolkit/devel-api/controls/accessible-impl.h +++ b/dali-toolkit/devel-api/controls/accessible-impl.h @@ -46,10 +46,23 @@ struct DALI_TOOLKIT_API AccessibleImpl : public virtual Dali::Accessibility::Acc public virtual Dali::Accessibility::Collection, public virtual Dali::Accessibility::Action { - Dali::Actor self; +protected: + Dali::WeakHandle self; Dali::WeakHandle currentHighlightActor; bool modal = false, root = false; + Dali::Actor Self() + { + auto handle = self.GetHandle(); + + // Control::Impl holds a std::unique_ptr to the Accessible object, + // so that one does not outlive the other. + DALI_ASSERT_ALWAYS(handle); + + return handle; + } + +public: AccessibleImpl(Dali::Actor self, Dali::Accessibility::Role role, bool modal = false); /** diff --git a/dali-toolkit/internal/controls/buttons/button-impl.cpp b/dali-toolkit/internal/controls/buttons/button-impl.cpp index 2b830fa..54cf75f 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/button-impl.cpp @@ -1306,7 +1306,7 @@ Padding Button::GetForegroundPadding() std::string Button::AccessibleImpl::GetNameRaw() { std::string labelText; - auto slf = Toolkit::Button::DownCast(self); + auto slf = Toolkit::Button::DownCast(Self()); Property::Map labelMap = slf.GetProperty(Toolkit::Button::Property::LABEL); Property::Value* textPropertyPtr = labelMap.Find(Toolkit::TextVisual::Property::TEXT); @@ -1321,7 +1321,7 @@ std::string Button::AccessibleImpl::GetNameRaw() Property::Index Button::AccessibleImpl::GetNamePropertyIndex() { Property::Index label = Toolkit::Button::Property::LABEL; - Property::Map labelMap = self.GetProperty(label); + Property::Map labelMap = Self().GetProperty(label); if(MapContainsTextString(labelMap)) return label; @@ -1333,7 +1333,7 @@ Dali::Accessibility::States Button::AccessibleImpl::CalculateStates() { auto tmp = DevelControl::AccessibleImpl::CalculateStates(); tmp[Dali::Accessibility::State::SELECTABLE] = true; - auto slf = Toolkit::Button::DownCast(self); + auto slf = Toolkit::Button::DownCast(Self()); tmp[Dali::Accessibility::State::ENABLED] = !slf.GetProperty(Toolkit::Button::Property::DISABLED); tmp[Dali::Accessibility::State::CHECKED] = slf.GetProperty(Toolkit::Button::Property::SELECTED); return tmp; diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp b/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp index c01b2f2..8308ce1 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp @@ -86,7 +86,7 @@ void CheckBoxButton::OnInitialize() Dali::Accessibility::States CheckBoxButton::AccessibleImpl::CalculateStates() { auto tmp = Button::AccessibleImpl::CalculateStates(); - auto slf = Toolkit::Button::DownCast(self); + auto slf = Toolkit::Button::DownCast(Self()); if(slf.GetProperty(Toolkit::Button::Property::SELECTED)) tmp[Dali::Accessibility::State::CHECKED] = true; return tmp; diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp index ee9f9f1..2dc4385 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp @@ -197,7 +197,7 @@ Property::Value PushButton::GetProperty(BaseObject* object, Property::Index prop Dali::Accessibility::States PushButton::AccessibleImpl::CalculateStates() { auto tmp = Button::AccessibleImpl::CalculateStates(); - auto slf = Toolkit::Button::DownCast(self); + auto slf = Toolkit::Button::DownCast(Self()); tmp[Dali::Accessibility::State::PRESSED] = slf.GetProperty(Toolkit::Button::Property::SELECTED); return tmp; } diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp index aae430b..f17a8c9 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp @@ -115,7 +115,7 @@ void RadioButton::OnStateChange(State newState) Dali::Accessibility::States RadioButton::AccessibleImpl::CalculateStates() { auto tmp = Button::AccessibleImpl::CalculateStates(); - auto slf = Toolkit::Button::DownCast(self); + auto slf = Toolkit::Button::DownCast(Self()); if(slf.GetProperty(Toolkit::Button::Property::SELECTED)) tmp[Dali::Accessibility::State::CHECKED] = true; tmp[Dali::Accessibility::State::SELECTABLE] = true; diff --git a/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp b/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp index 8ec931f..311f6b3 100644 --- a/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp @@ -375,7 +375,7 @@ void ToggleButton::OnPressed() Dali::Accessibility::States ToggleButton::AccessibleImpl::CalculateStates() { auto states = Button::AccessibleImpl::CalculateStates(); - auto button = Toolkit::ToggleButton::DownCast(self); + auto button = Toolkit::ToggleButton::DownCast(Self()); if(button.GetProperty(Toolkit::ToggleButton::Property::CURRENT_STATE_INDEX)) states[Dali::Accessibility::State::CHECKED] = true; return states; @@ -383,7 +383,7 @@ Dali::Accessibility::States ToggleButton::AccessibleImpl::CalculateStates() std::string ToggleButton::AccessibleImpl::GetDescriptionRaw() { - auto button = Toolkit::ToggleButton::DownCast(self); + auto button = Toolkit::ToggleButton::DownCast(Self()); auto index = button.GetProperty(Toolkit::ToggleButton::Property::CURRENT_STATE_INDEX); auto tooltips = button.GetProperty(Toolkit::ToggleButton::Property::TOOLTIPS); diff --git a/dali-toolkit/internal/controls/popup/popup-impl.cpp b/dali-toolkit/internal/controls/popup/popup-impl.cpp index edb0929..cc65de9 100644 --- a/dali-toolkit/internal/controls/popup/popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-impl.cpp @@ -2004,7 +2004,7 @@ void Popup::SetupTouch() std::string Popup::AccessibleImpl::GetNameRaw() { - auto popup = Toolkit::Popup::DownCast(self); + auto popup = Toolkit::Popup::DownCast(Self()); std::string title; Actor popupTitle = popup.GetTitle(); if(popupTitle) @@ -2027,7 +2027,7 @@ std::string Popup::AccessibleImpl::GetNameRaw() Dali::Accessibility::States Popup::AccessibleImpl::CalculateStates() { auto states = DevelControl::AccessibleImpl::CalculateStates(); - auto popup = Toolkit::Popup::DownCast(self); + auto popup = Toolkit::Popup::DownCast(Self()); auto displayState = popup.GetProperty(Toolkit::Popup::Property::DISPLAY_STATE); states[Dali::Accessibility::State::SHOWING] = (displayState == "SHOWN" || displayState == "SHOWING"); diff --git a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp index 2df2b77..48dfaad 100644 --- a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp +++ b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp @@ -683,7 +683,7 @@ double ProgressBar::AccessibleImpl::GetMinimum() double ProgressBar::AccessibleImpl::GetCurrent() { - auto p = Toolkit::ProgressBar::DownCast(self); + auto p = Toolkit::ProgressBar::DownCast(Self()); return p.GetProperty(Toolkit::ProgressBar::Property::PROGRESS_VALUE) .Get(); } @@ -697,7 +697,7 @@ bool ProgressBar::AccessibleImpl::SetCurrent(double current) { if(current < GetMinimum() || current > GetMaximum()) return false; - auto p = Toolkit::ProgressBar::DownCast(self); + auto p = Toolkit::ProgressBar::DownCast(Self()); p.SetProperty(Toolkit::ProgressBar::Property::PROGRESS_VALUE, static_cast(current)); return true; diff --git a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp index 5716c5e..fcf0b91 100644 --- a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp +++ b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp @@ -863,21 +863,21 @@ Toolkit::ScrollBar ScrollBar::New(Toolkit::ScrollBar::Direction direction) double ScrollBar::AccessibleImpl::GetMinimum() { - auto p = Toolkit::ScrollBar::DownCast(self); + auto p = Toolkit::ScrollBar::DownCast(Self()); Handle scrollableHandle = GetImpl(p).mScrollableObject.GetHandle(); return scrollableHandle ? scrollableHandle.GetCurrentProperty(GetImpl(p).mPropertyMinScrollPosition) : 0.0f; } double ScrollBar::AccessibleImpl::GetCurrent() { - auto p = Toolkit::ScrollBar::DownCast(self); + auto p = Toolkit::ScrollBar::DownCast(Self()); Handle scrollableHandle = GetImpl(p).mScrollableObject.GetHandle(); return scrollableHandle ? scrollableHandle.GetCurrentProperty(GetImpl(p).mPropertyScrollPosition) : 0.0f; } double ScrollBar::AccessibleImpl::GetMaximum() { - auto p = Toolkit::ScrollBar::DownCast(self); + auto p = Toolkit::ScrollBar::DownCast(Self()); Handle scrollableHandle = GetImpl(p).mScrollableObject.GetHandle(); return scrollableHandle ? scrollableHandle.GetCurrentProperty(GetImpl(p).mPropertyMaxScrollPosition) : 1.0f; } @@ -889,7 +889,7 @@ bool ScrollBar::AccessibleImpl::SetCurrent(double current) auto value_before = GetCurrent(); - auto p = Toolkit::ScrollBar::DownCast(self); + auto p = Toolkit::ScrollBar::DownCast(Self()); Handle scrollableHandle = GetImpl(p).mScrollableObject.GetHandle(); if(!scrollableHandle) return false; diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp index 699aee4..ecc25b2 100644 --- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp @@ -1348,7 +1348,7 @@ void ItemView::OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor) void ItemView::AccessibleImpl::EnsureChildVisible(Actor child) { EnsureSelfVisible(); - auto itemView = Dali::Toolkit::ItemView::DownCast(self); + auto itemView = Dali::Toolkit::ItemView::DownCast(Self()); Toolkit::GetImpl(itemView).OnKeyboardFocusChangeCommitted(child); } diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp index a318c6d..ac062ff 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp @@ -1825,7 +1825,7 @@ Toolkit::ScrollView::SnapStartedSignalType& ScrollView::SnapStartedSignal() void ScrollView::AccessibleImpl::EnsureChildVisible(Actor child) { - auto scrollView = Dali::Toolkit::ScrollView::DownCast(self); + auto scrollView = Dali::Toolkit::ScrollView::DownCast(Self()); scrollView.ScrollTo(child); } diff --git a/dali-toolkit/internal/controls/slider/slider-impl.cpp b/dali-toolkit/internal/controls/slider/slider-impl.cpp index 34da9ff..fdbbbd9 100644 --- a/dali-toolkit/internal/controls/slider/slider-impl.cpp +++ b/dali-toolkit/internal/controls/slider/slider-impl.cpp @@ -1413,19 +1413,19 @@ Property::Value Slider::GetProperty(BaseObject* object, Property::Index property double Slider::AccessibleImpl::GetMinimum() { - auto p = Toolkit::Slider::DownCast(self); + auto p = Toolkit::Slider::DownCast(Self()); return p.GetProperty(Toolkit::Slider::Property::LOWER_BOUND).Get(); } double Slider::AccessibleImpl::GetCurrent() { - auto p = Toolkit::Slider::DownCast(self); + auto p = Toolkit::Slider::DownCast(Self()); return p.GetProperty(Toolkit::Slider::Property::VALUE).Get(); } double Slider::AccessibleImpl::GetMaximum() { - auto p = Toolkit::Slider::DownCast(self); + auto p = Toolkit::Slider::DownCast(Self()); return p.GetProperty(Toolkit::Slider::Property::UPPER_BOUND).Get(); } @@ -1434,7 +1434,7 @@ bool Slider::AccessibleImpl::SetCurrent(double current) if(current < GetMinimum() || current > GetMaximum()) return false; - auto p = Toolkit::Slider::DownCast(self); + auto p = Toolkit::Slider::DownCast(Self()); auto& impl = Toolkit::GetImpl(p); const float prev = p.GetProperty(Toolkit::Slider::Property::VALUE); @@ -1477,7 +1477,7 @@ bool Slider::AccessibleImpl::SetCurrent(double current) double Slider::AccessibleImpl::GetMinimumIncrement() { - auto p = Toolkit::Slider::DownCast(self); + auto p = Toolkit::Slider::DownCast(Self()); bool hasMarks = !p.GetProperty(Toolkit::Slider::Property::MARKS).Empty(); float tolerance = p.GetProperty(Toolkit::Slider::Property::MARK_TOLERANCE); diff --git a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp index 82f6975..ee2d6e8 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -2036,7 +2036,7 @@ TextEditor::~TextEditor() std::string TextEditor::AccessibleImpl::GetName() { - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); return slf.GetProperty(Toolkit::TextEditor::Property::TEXT) .Get(); } @@ -2047,7 +2047,7 @@ std::string TextEditor::AccessibleImpl::GetText(size_t startOffset, if(endOffset <= startOffset) return {}; - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextEditor::Property::TEXT).Get(); @@ -2059,7 +2059,7 @@ std::string TextEditor::AccessibleImpl::GetText(size_t startOffset, size_t TextEditor::AccessibleImpl::GetCharacterCount() { - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextEditor::Property::TEXT).Get(); @@ -2068,13 +2068,13 @@ size_t TextEditor::AccessibleImpl::GetCharacterCount() size_t TextEditor::AccessibleImpl::GetCaretOffset() { - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); return Dali::Toolkit::GetImpl(slf).getController()->GetCursorPosition(); } bool TextEditor::AccessibleImpl::SetCaretOffset(size_t offset) { - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextEditor::Property::TEXT).Get(); if(offset > txt.size()) return false; @@ -2088,7 +2088,7 @@ bool TextEditor::AccessibleImpl::SetCaretOffset(size_t offset) Dali::Accessibility::Range TextEditor::AccessibleImpl::GetTextAtOffset( size_t offset, Dali::Accessibility::TextBoundary boundary) { - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextEditor::Property::TEXT).Get(); auto txt_size = txt.size(); @@ -2168,7 +2168,7 @@ TextEditor::AccessibleImpl::GetSelection(size_t selectionNum) if(selectionNum > 0) return {}; - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto ctrl = Dali::Toolkit::GetImpl(slf).getController(); std::string ret; ctrl->RetrieveSelection(ret); @@ -2183,7 +2183,7 @@ bool TextEditor::AccessibleImpl::RemoveSelection(size_t selectionNum) if(selectionNum > 0) return false; - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); Dali::Toolkit::GetImpl(slf).getController()->SetSelection(0, 0); return true; } @@ -2196,7 +2196,7 @@ bool TextEditor::AccessibleImpl::SetSelection(size_t selectionNum, if(selectionNum > 0) return false; - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); Dali::Toolkit::GetImpl(slf).getController()->SetSelection(startOffset, endOffset); return true; @@ -2208,7 +2208,7 @@ bool TextEditor::AccessibleImpl::CopyText(size_t startPosition, if(endPosition <= startPosition) return false; - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextEditor::Property::TEXT).Get(); Dali::Toolkit::GetImpl(slf).getController()->CopyStringToClipboard(txt.substr(startPosition, endPosition - startPosition)); @@ -2221,7 +2221,7 @@ bool TextEditor::AccessibleImpl::CutText(size_t startPosition, if(endPosition <= startPosition) return false; - auto slf = Toolkit::TextEditor::DownCast(self); + auto slf = Toolkit::TextEditor::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextEditor::Property::TEXT).Get(); Dali::Toolkit::GetImpl(slf).getController()->CopyStringToClipboard(txt.substr(startPosition, endPosition - startPosition)); diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index d12a708..617de7b 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1918,7 +1918,7 @@ TextField::~TextField() std::string TextField::AccessibleImpl::GetName() { - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); return slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); } @@ -1928,7 +1928,7 @@ std::string TextField::AccessibleImpl::GetText(size_t startOffset, if(endOffset <= startOffset) return {}; - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); @@ -1940,7 +1940,7 @@ std::string TextField::AccessibleImpl::GetText(size_t startOffset, size_t TextField::AccessibleImpl::GetCharacterCount() { - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); @@ -1949,13 +1949,13 @@ size_t TextField::AccessibleImpl::GetCharacterCount() size_t TextField::AccessibleImpl::GetCaretOffset() { - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); return Dali::Toolkit::GetImpl(slf).getController()->GetCursorPosition(); } bool TextField::AccessibleImpl::SetCaretOffset(size_t offset) { - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); if(offset > txt.size()) return false; @@ -1969,7 +1969,7 @@ bool TextField::AccessibleImpl::SetCaretOffset(size_t offset) Dali::Accessibility::Range TextField::AccessibleImpl::GetTextAtOffset( size_t offset, Dali::Accessibility::TextBoundary boundary) { - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); auto txt_size = txt.size(); @@ -2049,7 +2049,7 @@ TextField::AccessibleImpl::GetSelection(size_t selectionNum) if(selectionNum > 0) return {}; - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto ctrl = Dali::Toolkit::GetImpl(slf).getController(); std::string ret; ctrl->RetrieveSelection(ret); @@ -2064,7 +2064,7 @@ bool TextField::AccessibleImpl::RemoveSelection(size_t selectionNum) if(selectionNum > 0) return false; - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); Dali::Toolkit::GetImpl(slf).getController()->SetSelection(0, 0); return true; } @@ -2077,7 +2077,7 @@ bool TextField::AccessibleImpl::SetSelection(size_t selectionNum, if(selectionNum > 0) return false; - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); Dali::Toolkit::GetImpl(slf).getController()->SetSelection(startOffset, endOffset); return true; @@ -2089,7 +2089,7 @@ bool TextField::AccessibleImpl::CopyText(size_t startPosition, if(endPosition <= startPosition) return false; - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); Dali::Toolkit::GetImpl(slf).getController()->CopyStringToClipboard(txt.substr(startPosition, endPosition - startPosition)); @@ -2102,7 +2102,7 @@ bool TextField::AccessibleImpl::CutText(size_t startPosition, if(endPosition <= startPosition) return false; - auto slf = Toolkit::TextField::DownCast(self); + auto slf = Toolkit::TextField::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextField::Property::TEXT).Get(); Dali::Toolkit::GetImpl(slf).getController()->CopyStringToClipboard(txt.substr(startPosition, endPosition - startPosition)); diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp index 3ee507d..4530141 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -1003,7 +1003,7 @@ TextLabel::~TextLabel() std::string TextLabel::AccessibleImpl::GetNameRaw() { - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); return slf.GetProperty(Toolkit::TextLabel::Property::TEXT).Get(); } @@ -1018,7 +1018,7 @@ std::string TextLabel::AccessibleImpl::GetText(size_t startOffset, if(endOffset <= startOffset) return {}; - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextLabel::Property::TEXT).Get(); @@ -1030,7 +1030,7 @@ std::string TextLabel::AccessibleImpl::GetText(size_t startOffset, size_t TextLabel::AccessibleImpl::GetCharacterCount() { - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextLabel::Property::TEXT).Get(); @@ -1050,7 +1050,7 @@ bool TextLabel::AccessibleImpl::SetCaretOffset(size_t offset) Dali::Accessibility::Range TextLabel::AccessibleImpl::GetTextAtOffset( size_t offset, Dali::Accessibility::TextBoundary boundary) { - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); auto txt = slf.GetProperty(Toolkit::TextLabel::Property::TEXT).Get(); auto txt_size = txt.size(); @@ -1130,7 +1130,7 @@ TextLabel::AccessibleImpl::GetSelection(size_t selectionNum) if(selectionNum > 0) return {}; - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); auto ctrl = Dali::Toolkit::GetImpl(slf).getController(); std::string ret; ctrl->RetrieveSelection(ret); @@ -1145,7 +1145,7 @@ bool TextLabel::AccessibleImpl::RemoveSelection(size_t selectionNum) if(selectionNum > 0) return false; - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); Dali::Toolkit::GetImpl(slf).getController()->SetSelection(0, 0); return true; } @@ -1158,7 +1158,7 @@ bool TextLabel::AccessibleImpl::SetSelection(size_t selectionNum, if(selectionNum > 0) return false; - auto slf = Toolkit::TextLabel::DownCast(self); + auto slf = Toolkit::TextLabel::DownCast(Self()); Dali::Toolkit::GetImpl(slf).getController()->SetSelection(startOffset, endOffset); return true; -- 2.7.4