X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Faccessibility-manager%2Faccessibility-manager-impl.cpp;h=b6c4e3b618f8f199b012ac6ab0e7ee13ad929188;hp=16e0c6484b354d0d602dc2d7b37fd06dc125f278;hb=c125573992c196f15ece50589ae80efed63c8870;hpb=94517504b052e71c97105d13625d7f2ce5933889 diff --git a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp index 16e0c64..b6c4e3b 100644 --- a/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp +++ b/dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp @@ -31,6 +31,7 @@ // INTERNAL INCLUDES #include #include +#include namespace Dali { @@ -46,19 +47,18 @@ namespace // unnamed namespace // Signals -const char* const SIGNAL_FOCUS_CHANGED = "focus-changed"; -const char* const SIGNAL_FOCUS_OVERSHOT = "focus-overshot"; -const char* const SIGNAL_FOCUSED_ACTOR_ACTIVATED = "focused-actor-activated"; +const char* const SIGNAL_FOCUS_CHANGED = "focusChanged"; +const char* const SIGNAL_FOCUS_OVERSHOT = "focusOvershot"; +const char* const SIGNAL_FOCUSED_ACTOR_ACTIVATED = "focusedActorActivated"; #if defined(DEBUG_ENABLED) Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_FOCUS_MANAGER"); #endif const char* const ACTOR_FOCUSABLE("focusable"); -const char* const IS_FOCUS_GROUP("is-focus-group"); +const char* const IS_FOCUS_GROUP("isFocusGroup"); -const char* FOCUS_BORDER_IMAGE_PATH = DALI_IMAGE_DIR "B16-8_TTS_focus.png"; -const Vector4 FOCUS_BORDER_IMAGE_BORDER = Vector4(7.0f, 7.0f, 7.0f, 7.0f); +const char* FOCUS_BORDER_IMAGE_PATH = DALI_IMAGE_DIR "B16-8_TTS_focus.9.png"; const char* FOCUS_SOUND_FILE = DALI_SOUND_DIR "Focus.ogg"; const char* FOCUS_CHAIN_END_SOUND_FILE = DALI_SOUND_DIR "End_of_List.ogg"; @@ -191,12 +191,8 @@ void AccessibilityManager::SetFocusOrder(Actor actor, const unsigned int order) // Firstly delete the actor from the focus chain if it's already there with a different focus order. mFocusIDContainer.erase(GetFocusOrder(actor)); - // Create actor focusable property if not already created. - Property::Index propertyActorFocusable = actor.GetPropertyIndex(ACTOR_FOCUSABLE); - if(propertyActorFocusable == Property::INVALID_INDEX) - { - propertyActorFocusable = actor.RegisterProperty( ACTOR_FOCUSABLE, true, Property::READ_WRITE ); - } + // Create/retrieve actor focusable property + Property::Index propertyActorFocusable = actor.RegisterProperty( ACTOR_FOCUSABLE, true, Property::READ_WRITE ); if(order == 0) { @@ -512,16 +508,8 @@ void AccessibilityManager::SetFocusGroup(Actor actor, bool isFocusGroup) { if(actor) { - // Create focus group property if not already created. - Property::Index propertyIsFocusGroup = actor.GetPropertyIndex(IS_FOCUS_GROUP); - if(propertyIsFocusGroup == Property::INVALID_INDEX) - { - actor.RegisterProperty( IS_FOCUS_GROUP, isFocusGroup, Property::READ_WRITE ); - } - else - { - actor.SetProperty(propertyIsFocusGroup, isFocusGroup); - } + // Create/Set focus group property. + actor.RegisterProperty( IS_FOCUS_GROUP, isFocusGroup, Property::READ_WRITE ); } } @@ -553,6 +541,12 @@ Actor AccessibilityManager::GetFocusGroup(Actor actor) return actor; } +Vector2 AccessibilityManager::GetReadPosition() const +{ + AccessibilityAdaptor adaptor = AccessibilityAdaptor::Get(); + return adaptor.GetReadPosition(); +} + void AccessibilityManager::SetGroupMode(bool enabled) { mIsFocusWithinGroup = enabled; @@ -661,28 +655,16 @@ void AccessibilityManager::SetFocusable(Actor actor, bool focusable) { if(actor) { - // Create actor focusable property if not already created. - Property::Index propertyActorFocusable = actor.GetPropertyIndex(ACTOR_FOCUSABLE); - if(propertyActorFocusable == Property::INVALID_INDEX) - { - actor.RegisterProperty( ACTOR_FOCUSABLE, focusable, Property::READ_WRITE ); - } - else - { - actor.SetProperty(propertyActorFocusable, focusable); - } + // Create/Set actor focusable property. + actor.RegisterProperty( ACTOR_FOCUSABLE, focusable, Property::READ_WRITE ); } } void AccessibilityManager::CreateDefaultFocusIndicatorActor() { // Create a focus indicator actor shared by all the focusable actors - Image borderImage = ResourceImage::New(FOCUS_BORDER_IMAGE_PATH); - - ImageActor focusIndicator = ImageActor::New(borderImage); - focusIndicator.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION_PLUS_LOCAL_POSITION ); - focusIndicator.SetStyle( ImageActor::STYLE_NINE_PATCH ); - focusIndicator.SetNinePatchBorder(FOCUS_BORDER_IMAGE_BORDER); + Toolkit::ImageView focusIndicator = Toolkit::ImageView::New(FOCUS_BORDER_IMAGE_PATH); + focusIndicator.SetParentOrigin( ParentOrigin::CENTER ); focusIndicator.SetPosition(Vector3(0.0f, 0.0f, 1.0f)); // Apply size constraint to the focus indicator @@ -1408,34 +1390,6 @@ Toolkit::AccessibilityManager::FocusedActorActivatedSignalType& AccessibilityMan return mFocusedActorActivatedSignal; } -bool AccessibilityManager::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) -{ - Dali::BaseHandle handle( object ); - - bool connected( true ); - AccessibilityManager* manager = dynamic_cast( object ); - - if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) ) - { - manager->FocusChangedSignal().Connect( tracker, functor ); - } - else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_OVERSHOT ) ) - { - manager->FocusOvershotSignal().Connect( tracker, functor ); - } - else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUSED_ACTOR_ACTIVATED ) ) - { - manager->FocusedActorActivatedSignal().Connect( tracker, functor ); - } - else - { - // signalName does not match any signal - connected = false; - } - - return connected; -} - } // namespace Internal } // namespace Toolkit