#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;
}
}
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);