#include <dali-toolkit/internal/visuals/visual-string-constants.h>
#include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
#include <dali-toolkit/public-api/controls/image-view/image-view.h>
+#include <dali-toolkit/devel-api/asset-manager/asset-manager.h>
namespace
{
Control::Impl::~Impl()
{
+ for( auto&& iter : mVisuals )
+ {
+ StopObservingVisual( iter->visual );
+ }
+
+ for( auto&& iter : mRemoveVisuals )
+ {
+ StopObservingVisual( iter->visual );
+ }
+
AccessibilityDeregister();
// All gesture detectors will be destroyed so no need to disconnect.
delete mStartingPinchScale;
case Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES:
{
- value.Get( controlImpl.mImpl->mAccessibilityAttributes );
+ const Property::Map* map = value.GetMap();
+ if( map && !map->Empty() )
+ {
+ controlImpl.mImpl->mAccessibilityAttributes = *map;
+ }
break;
}
case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED:
{
- value.Get( controlImpl.mImpl->mAccessibilityAnimated );
+ bool animated;
+ if( value.Get( animated ) )
+ {
+ controlImpl.mImpl->mAccessibilityAnimated = animated;
+ }
break;
}
}
s[Dali::Accessibility::State::ENABLED] = true;
s[Dali::Accessibility::State::SENSITIVE] = true;
s[Dali::Accessibility::State::ANIMATED] = self.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED ).Get< bool >();
- s[Dali::Accessibility::State::VISIBLE] = self.GetCurrentProperty< bool >( Actor::Property::VISIBLE );
+ s[Dali::Accessibility::State::VISIBLE] = true;
if( modal )
{
s[Dali::Accessibility::State::MODAL] = true;
}
- s[Dali::Accessibility::State::SHOWING] = !self.GetProperty( Dali::DevelActor::Property::CULLED ).Get< bool >();
+ s[Dali::Accessibility::State::SHOWING] = !self.GetProperty( Dali::DevelActor::Property::CULLED ).Get< bool >()
+ && self.GetCurrentProperty< bool >( Actor::Property::VISIBLE );
+
s[Dali::Accessibility::State::DEFUNCT] = !self.GetProperty( Dali::DevelActor::Property::CONNECTED_TO_SCENE ).Get< bool >();
return s;
}
return Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( self );
}
-const char* const FOCUS_BORDER_IMAGE_PATH = DALI_IMAGE_DIR "keyboard_focus.9.png";
-
static Dali::Actor CreateHighlightIndicatorActor()
{
+ std::string focusBorderImagePath(AssetManager::GetDaliImagePath());
+ focusBorderImagePath += "/keyboard_focus.9.png";
// Create the default if it hasn't been set and one that's shared by all the
- // keyboard focusable actors const char* const FOCUS_BORDER_IMAGE_PATH =
- // DALI_IMAGE_DIR "keyboard_focus.9.png";
- auto actor = Toolkit::ImageView::New( FOCUS_BORDER_IMAGE_PATH );
+ // keyboard focusable actors
+ auto actor = Toolkit::ImageView::New( focusBorderImagePath );
actor.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
DevelControl::AppendAccessibilityAttribute( actor, "highlight", "" );
actor.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED, true);