From 13f73abbc38eb319e54c0c1310bb4aa43d86ce6d Mon Sep 17 00:00:00 2001 From: Kimmo Hoikka Date: Tue, 1 Nov 2016 18:25:58 +0000 Subject: [PATCH] Remove incorrect placement actor from the RegisterVisual API Change-Id: Id3c608d85c64152b841087e0266ac9c43bc3591c --- .../dali-toolkit-test-utils/dummy-control.cpp | 13 +-- .../dali-toolkit-test-utils/dummy-control.h | 5 +- .../src/dali-toolkit/utc-Dali-ControlImpl.cpp | 44 +++----- .../src/dali-toolkit/utc-Dali-TransitionData.cpp | 14 +-- .../internal/controls/buttons/button-impl.cpp | 2 +- .../controls/image-view/image-view-impl.cpp | 9 +- .../controls/text-controls/text-label-impl.cpp | 2 +- dali-toolkit/public-api/controls/control-impl.cpp | 112 +++++---------------- dali-toolkit/public-api/controls/control-impl.h | 19 +--- 9 files changed, 59 insertions(+), 161 deletions(-) diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp index a100a1f..a71f953 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp @@ -74,14 +74,14 @@ DummyControlImpl::~DummyControlImpl() { } -void DummyControlImpl::RegisterVisual( Property::Index index, Actor placementActor, Toolkit::Visual::Base visual ) +void DummyControlImpl::RegisterVisual( Property::Index index, Toolkit::Visual::Base visual ) { - Control::RegisterVisual( index, placementActor, visual ); + Control::RegisterVisual( index, visual ); } -void DummyControlImpl::RegisterVisual( Property::Index index, Actor placementActor, Toolkit::Visual::Base visual, bool enabled ) +void DummyControlImpl::RegisterVisual( Property::Index index, Toolkit::Visual::Base visual, bool enabled ) { - Control::RegisterVisual( index, placementActor, visual, enabled ); + Control::RegisterVisual( index, visual, enabled ); } void DummyControlImpl::UnregisterVisual( Property::Index index ) @@ -104,11 +104,6 @@ bool DummyControlImpl::IsVisualEnabled( Property::Index index ) return Control::IsVisualEnabled( index ); } -Actor DummyControlImpl::GetPlacementActor( Property::Index index ) -{ - return Control::GetPlacementActor( index ); -} - Animation DummyControlImpl::CreateTransition( const Toolkit::TransitionData& transition ) { return Control::CreateTransition( transition ); diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h index d63b853..2351839 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h @@ -71,14 +71,13 @@ public: inline TapGestureDetector GetTapGestureDetector() const { return Internal::Control::GetTapGestureDetector(); } inline LongPressGestureDetector GetLongPressGestureDetector() const { return Internal::Control::GetLongPressGestureDetector(); } - void RegisterVisual( Property::Index index, Actor placementActor, Toolkit::Visual::Base visual); - void RegisterVisual( Property::Index index, Actor placementActor, Toolkit::Visual::Base visual, bool enabled ); + void RegisterVisual( Property::Index index, Toolkit::Visual::Base visual); + void RegisterVisual( Property::Index index, Toolkit::Visual::Base visual, bool enabled ); void UnregisterVisual( Property::Index index ); void EnableVisual( Property::Index index, bool enabled ); bool IsVisualEnabled( Property::Index index ); Toolkit::Visual::Base GetVisual( Property::Index index ); - Actor GetPlacementActor( Property::Index index ); Animation CreateTransition( const Toolkit::TransitionData& transition ); // Used to test signal connections diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp index 6fe4af6..2ed0c4c 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp @@ -954,10 +954,8 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void) DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); Property::Index index =1; - Actor placementActor = Actor::New(); DALI_TEST_CHECK( !dummyImpl.GetVisual( index ) ); - DALI_TEST_CHECK( !dummyImpl.GetPlacementActor( index ) ); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); Toolkit::Visual::Base visual; @@ -970,10 +968,9 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, placementActor, visual ); + dummyImpl.RegisterVisual( index, visual ); DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor ); Property::Map newMap; newMap[Visual::Property::TYPE] = Visual::COLOR; @@ -983,10 +980,9 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void) DALI_TEST_CHECK(visual); // ReRegister with altered color visual - dummyImpl.RegisterVisual( index, placementActor, visual ); + dummyImpl.RegisterVisual( index, visual ); DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor ); tet_result(TET_PASS); @@ -1001,7 +997,6 @@ int UtcDaliControlImplRegisterVisaulThenReRegisterToSelf(void) DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); Property::Index index =1; - Actor placementActor = Actor::New(); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); Toolkit::Visual::Base visual; @@ -1014,16 +1009,14 @@ int UtcDaliControlImplRegisterVisaulThenReRegisterToSelf(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, placementActor, visual ); + dummyImpl.RegisterVisual( index, visual ); DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor ); // ReRegister to self - dummyImpl.RegisterVisual( index, dummy, visual ); + dummyImpl.RegisterVisual( index, visual ); DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == dummy ); END_TEST; } @@ -1040,7 +1033,6 @@ int UtcDaliControlImplRegisterVisualToSelf(void) objectDestructionTracker.Start( dummy ); Property::Index index = 1; - Actor placementActor = Actor::New(); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); Toolkit::Visual::Base visual; @@ -1053,11 +1045,10 @@ int UtcDaliControlImplRegisterVisualToSelf(void) DALI_TEST_CHECK(visual); // Register to self - dummyImpl.RegisterVisual( index, dummy, visual ); + dummyImpl.RegisterVisual( index, visual ); DALI_TEST_EQUALS( objectDestructionTracker.IsDestroyed(), false, TEST_LOCATION ); // Control not destroyed yet DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == dummy ); } DALI_TEST_EQUALS( objectDestructionTracker.IsDestroyed(), true, TEST_LOCATION ); // Should be destroyed @@ -1073,10 +1064,7 @@ int UtcDaliControlImplRegisterTwoVisuals(void) DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); Property::Index index =1; - Actor placementActor = Actor::New(); - Property::Index index2 =2; - Actor secondPlacementActor = Actor::New(); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); Toolkit::Visual::Base visual; @@ -1090,7 +1078,7 @@ int UtcDaliControlImplRegisterTwoVisuals(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, placementActor, visual ); + dummyImpl.RegisterVisual( index, visual ); Property::Map newMap; newMap[Visual::Property::TYPE] = Visual::COLOR; @@ -1100,13 +1088,10 @@ int UtcDaliControlImplRegisterTwoVisuals(void) DALI_TEST_CHECK( secondVisual ); // ReRegister with altered color visual - dummyImpl.RegisterVisual( index2, secondPlacementActor, secondVisual ); + dummyImpl.RegisterVisual( index2, secondVisual ); DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor ); - DALI_TEST_CHECK( dummyImpl.GetVisual( index2 ) == secondVisual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index2 ) == secondPlacementActor ); END_TEST; } @@ -1119,7 +1104,6 @@ int UtcDaliControlImplRegisterUnregisterVisual(void) DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); Property::Index index =1; - Actor placementActor = Actor::New(); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); Toolkit::Visual::Base visual; @@ -1132,16 +1116,14 @@ int UtcDaliControlImplRegisterUnregisterVisual(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, placementActor, visual ); + dummyImpl.RegisterVisual( index, visual ); DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetPlacementActor( index ) == placementActor ); // Unregister visual dummyImpl.UnregisterVisual( index ); DALI_TEST_CHECK( !dummyImpl.GetVisual( index ) ); - DALI_TEST_CHECK( !dummyImpl.GetPlacementActor( index ) ); END_TEST; } @@ -1166,7 +1148,7 @@ int UtcDaliControlImplRegisterDisabledVisual(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY, dummy, visual, false ); + dummyImpl.RegisterVisual( TEST_PROPERTY, visual, false ); DALI_TEST_CHECK( dummyImpl.GetVisual( TEST_PROPERTY ) == visual ); DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == false ); @@ -1208,7 +1190,7 @@ int UtcDaliControlImplDisableRegisteredVisual(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY, dummy, visual ); + dummyImpl.RegisterVisual( TEST_PROPERTY, visual ); Stage::GetCurrent().Add(dummy); @@ -1250,7 +1232,7 @@ int UtcDaliControlImplEnabledVisualParentRemovedFromStage(void) DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY, dummy, visual, false ); + dummyImpl.RegisterVisual( TEST_PROPERTY, visual, false ); Stage::GetCurrent().Add(dummy); // Render and notify @@ -1318,9 +1300,9 @@ int UtcDaliControlImplRegisterTwoVisualsAndEnableOnlyOne(void) DALI_TEST_CHECK(visual2); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY1, dummy, visual1 ); + dummyImpl.RegisterVisual( TEST_PROPERTY1, visual1 ); // Register second index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY2, dummy, visual2 ); + dummyImpl.RegisterVisual( TEST_PROPERTY2, visual2 ); Stage::GetCurrent().Add(dummy); // Render and notify diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp index 71851de..8fdf936 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp @@ -246,7 +246,7 @@ int UtcDaliTransitionDataMap1P(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( anim ); @@ -309,7 +309,7 @@ int UtcDaliTransitionDataMap2P(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( anim ); @@ -372,7 +372,7 @@ int UtcDaliTransitionDataMap3P(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( anim ); @@ -518,7 +518,7 @@ int UtcDaliTransitionDataMapN3(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( !anim ); @@ -559,7 +559,7 @@ int UtcDaliTransitionDataMapN4(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( !anim ); @@ -610,7 +610,7 @@ int UtcDaliTransitionDataMapN5(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( !anim ); @@ -661,7 +661,7 @@ int UtcDaliTransitionDataMapN6(void) visual.SetName( "visual1" ); Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1; - dummyImpl.RegisterVisual( visualIndex, actor, visual ); + dummyImpl.RegisterVisual( visualIndex, visual ); Animation anim = dummyImpl.CreateTransition( transition ); DALI_TEST_CHECK( !anim ); diff --git a/dali-toolkit/internal/controls/buttons/button-impl.cpp b/dali-toolkit/internal/controls/buttons/button-impl.cpp index 8b4e380..f875173 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/button-impl.cpp @@ -576,7 +576,7 @@ void Button::SetColor( const Vector4& color, Button::PaintState selectedState ) visual = visualFactory.CreateVisual( map ); - RegisterVisual( visualIndex, placementActor, visual ); + RegisterVisual( visualIndex, visual ); SetupContent( *contentActor, placementActor ); // contentActor->SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); diff --git a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp index e015144..3c19992 100644 --- a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp +++ b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp @@ -81,9 +81,8 @@ void ImageView::SetImage( Image image ) mImage = image; - Actor self( Self() ); mVisual = Toolkit::VisualFactory::Get().CreateVisual( image ); - RegisterVisual( Toolkit::ImageView::Property::IMAGE, self, mVisual ); + RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual ); mImageSize = image ? ImageDimensions( image.GetWidth(), image.GetHeight() ) : ImageDimensions( 0, 0 ); RelayoutRequest(); @@ -96,9 +95,8 @@ void ImageView::SetImage( Property::Map map ) mImage.Reset(); mPropertyMap = map; - Actor self( Self() ); mVisual = Toolkit::VisualFactory::Get().CreateVisual( mPropertyMap ); - RegisterVisual( Toolkit::ImageView::Property::IMAGE, self, mVisual ); + RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual ); Property::Value* widthValue = mPropertyMap.Find( "width" ); if( widthValue ) @@ -139,9 +137,8 @@ void ImageView::SetImage( const std::string& url, ImageDimensions size ) mImageSize = size; } - Actor self( Self() ); mVisual = Toolkit::VisualFactory::Get().CreateVisual( url, size ); - RegisterVisual( Toolkit::ImageView::Property::IMAGE, self, mVisual ); + RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual ); mVisual.SetSize( mSizeSet ); 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 273ffee..1d6af0f 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -290,7 +290,7 @@ void TextLabel::OnInitialize() visualMap[Toolkit::TextVisual::Property::RENDERING_BACKEND] = static_cast( DEFAULT_RENDERING_BACKEND ); mVisual = Toolkit::VisualFactory::Get().CreateVisual( visualMap ); - RegisterVisual( Toolkit::TextLabel::Property::TEXT, self, mVisual ); + RegisterVisual( Toolkit::TextLabel::Property::TEXT, mVisual ); Internal::Visual::Base& visualBase = Toolkit::GetImplementation( mVisual ); TextVisual* textVisual = static_cast( &visualBase ); diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp index a2ddcbe..58f7d4f 100644 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -65,11 +65,10 @@ struct RegisteredVisual { Property::Index index; Toolkit::Visual::Base visual; - Actor placementActor; bool enabled; - RegisteredVisual( Property::Index aIndex, Toolkit::Visual::Base &aVisual, Actor &aPlacementActor, bool aEnabled) : - index(aIndex), visual(aVisual), placementActor(aPlacementActor), enabled(aEnabled) {} + RegisteredVisual( Property::Index aIndex, Toolkit::Visual::Base &aVisual, bool aEnabled) : + index(aIndex), visual(aVisual), enabled(aEnabled) {} }; struct HandleIndex @@ -130,29 +129,23 @@ HandleIndex GetVisualProperty( } } - // Does either it's renderer or placement actor have an associated property? + // Does it's renderer have an associated property? if( iter != visuals.End() ) { - Actor placementActor = (*iter)->placementActor; - if( !placementActor ) - { - placementActor = controlImpl.Self(); - } - - Property::Index index = placementActor.GetPropertyIndex( propertyKey ); + Actor self = controlImpl.Self(); + Property::Index index = self.GetPropertyIndex( propertyKey ); if( index != Property::INVALID_INDEX ) { - // It's a placement actor property: - return HandleIndex( placementActor, index ); + // It's an actor property: + return HandleIndex( self, index ); } else { // Check if it is a renderer property: - if( placementActor.GetRendererCount() > 0 ) + if( self.GetRendererCount() > 0 ) { - // @todo Need to use correct renderer index when placement actors - // are removed - Renderer renderer = placementActor.GetRendererAt(0); + // @todo Need to use correct renderer index + Renderer renderer = self.GetRendererAt(0); Property::Index index = renderer.GetPropertyIndex( propertyKey ); if( index != Property::INVALID_INDEX ) { @@ -565,13 +558,12 @@ const std::string& Control::GetStyleName() const void Control::SetBackgroundColor( const Vector4& color ) { - Actor self( Self() ); mImpl->mBackgroundColor = color; Property::Map map; map[ Toolkit::VisualProperty::TYPE ] = Toolkit::Visual::COLOR; map[ Toolkit::ColorVisual::Property::MIX_COLOR ] = color; mImpl->mBackgroundVisual = Toolkit::VisualFactory::Get().CreateVisual( map ); - RegisterVisual( Toolkit::Control::Property::BACKGROUND, self, mImpl->mBackgroundVisual ); + RegisterVisual( Toolkit::Control::Property::BACKGROUND, mImpl->mBackgroundVisual ); if( mImpl->mBackgroundVisual ) { mImpl->mBackgroundVisual.SetDepthIndex( DepthIndex::BACKGROUND ); @@ -585,9 +577,8 @@ Vector4 Control::GetBackgroundColor() const void Control::SetBackground( const Property::Map& map ) { - Actor self( Self() ); mImpl->mBackgroundVisual = Toolkit::VisualFactory::Get().CreateVisual( map ); - RegisterVisual( Toolkit::Control::Property::BACKGROUND, self, mImpl->mBackgroundVisual ); + RegisterVisual( Toolkit::Control::Property::BACKGROUND, mImpl->mBackgroundVisual ); if( mImpl->mBackgroundVisual ) { mImpl->mBackgroundVisual.SetDepthIndex( DepthIndex::BACKGROUND ); @@ -596,9 +587,8 @@ void Control::SetBackground( const Property::Map& map ) void Control::SetBackgroundImage( Image image ) { - Actor self( Self() ); mImpl->mBackgroundVisual = Toolkit::VisualFactory::Get().CreateVisual( image ); - RegisterVisual( Toolkit::Control::Property::BACKGROUND, self, mImpl->mBackgroundVisual ); + RegisterVisual( Toolkit::Control::Property::BACKGROUND, mImpl->mBackgroundVisual ); if( mImpl->mBackgroundVisual ) { mImpl->mBackgroundVisual.SetDepthIndex( DepthIndex::BACKGROUND ); @@ -751,22 +741,16 @@ void Control::KeyboardEnter() OnKeyboardEnter(); } -void Control::RegisterVisual( Property::Index index, Actor& placementActor, Toolkit::Visual::Base& visual ) +void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual ) { - RegisterVisual( index, placementActor, visual, true ); + RegisterVisual( index, visual, true ); } -void Control::RegisterVisual( Property::Index index, Actor& placementActor, Toolkit::Visual::Base& visual, bool enabled ) +void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, bool enabled ) { bool visualReplaced ( false ); - Actor actorToRegister; // Null actor, replaced if placement actor not Self Actor self = Self(); - if ( placementActor != self ) // Prevent increasing ref count if actor self - { - actorToRegister = placementActor; - } - if ( !mImpl->mVisuals.Empty() ) { RegisteredVisualContainer::Iterator iter; @@ -775,29 +759,21 @@ void Control::RegisterVisual( Property::Index index, Actor& placementActor, Tool { if( (*iter)->visual && self.OnStage() ) { - if( (*iter)->placementActor ) - { - (*iter)->visual.SetOffStage( (*iter)->placementActor ); - } - else - { - (*iter)->visual.SetOffStage( self ); - } + (*iter)->visual.SetOffStage( self ); } (*iter)->visual = visual; - (*iter)->placementActor = actorToRegister; visualReplaced = true; } } if ( !visualReplaced ) // New registration entry { - mImpl->mVisuals.PushBack( new RegisteredVisual( index, visual, actorToRegister, enabled ) ); + mImpl->mVisuals.PushBack( new RegisteredVisual( index, visual, enabled ) ); } if( visual && self.OnStage() && enabled ) { - visual.SetOnStage( placementActor ); + visual.SetOnStage( self ); } } @@ -833,11 +809,6 @@ void Control::EnableVisual( Property::Index index, bool enable ) (*iter)->enabled = enable; Actor parentActor = Self(); - if ( (*iter)->placementActor ) - { - parentActor = (*iter)->placementActor; - } - if ( Self().OnStage() ) // If control not on Stage then Visual will be added when StageConnection is called. { if ( enable ) @@ -863,24 +834,6 @@ bool Control::IsVisualEnabled( Property::Index index ) const return false; } -Actor Control::GetPlacementActor( Property::Index index ) const -{ - RegisteredVisualContainer::Iterator iter; - if ( FindVisual( index, mImpl->mVisuals, iter ) ) - { - if( (*iter)->placementActor ) - { - return (*iter)->placementActor; - } - else - { - return Self(); - } - } - - return Actor(); -} - Dali::Animation Control::CreateTransition( const Toolkit::TransitionData& handle ) { Dali::Animation transition; @@ -905,7 +858,6 @@ Dali::Animation Control::CreateTransition( const Toolkit::TransitionData& handle } else { - // Is it a placement actor/visual pair?; handleIndex = GetVisualProperty( *this, mImpl->mVisuals, animator->objectName, animator->propertyKey ); @@ -1135,18 +1087,11 @@ void Control::OnStageConnection( int depth ) { for(RegisteredVisualContainer::Iterator iter = mImpl->mVisuals.Begin(); iter!= mImpl->mVisuals.End(); iter++) { - // Check whether the visual is empty, as it is allowed to register a placement actor without visual. + // Check whether the visual is empty and enabled if( (*iter)->visual && (*iter)->enabled ) { - if( (*iter)->placementActor ) - { - (*iter)->visual.SetOnStage( (*iter)->placementActor ); - } - else - { - Actor self( Self() ); - (*iter)->visual.SetOnStage( self ); - } + Actor self( Self() ); + (*iter)->visual.SetOnStage( self ); } } } @@ -1155,18 +1100,11 @@ void Control::OnStageDisconnection() { for(RegisteredVisualContainer::Iterator iter = mImpl->mVisuals.Begin(); iter!= mImpl->mVisuals.End(); iter++) { - // Check whether the visual is empty, as it is allowed to register a placement actor without visual. + // Check whether the visual is empty if( (*iter)->visual ) { - if( (*iter)->placementActor ) - { - (*iter)->visual.SetOffStage( (*iter)->placementActor ); - } - else - { - Actor self( Self() ); - (*iter)->visual.SetOffStage( self ); - } + Actor self( Self() ); + (*iter)->visual.SetOffStage( self ); } } } diff --git a/dali-toolkit/public-api/controls/control-impl.h b/dali-toolkit/public-api/controls/control-impl.h index 92786d4..9993237 100644 --- a/dali-toolkit/public-api/controls/control-impl.h +++ b/dali-toolkit/public-api/controls/control-impl.h @@ -306,12 +306,11 @@ protected: // For derived classes to call * @SINCE_1_2.0 * * @param[in] index The Property index of the visual, used to reference visual - * @param[in] placementActor The actor used to by the visual. * @param[in] visual The visual to register - * @note Derived class should not call visual.SetOnStage(placementActor). It is the responsibility of the base class to connect/disconnect registered visual to stage. + * @note Derived class should not call visual.SetOnStage(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage. * Use below API with enabled set to false if derived class wishes to control when visual is staged. */ - void RegisterVisual( Property::Index index, Actor& placementActor, Toolkit::Visual::Base& visual ); + void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual ); /** * @brief Register a visual by Property Index, linking an Actor to visual when required. @@ -322,12 +321,11 @@ protected: // For derived classes to call * @SINCE_1_2.11 * * @param[in] index The Property index of the visual, used to reference visual - * @param[in] placementActor The actor used to by the visual. * @param[in] visual The visual to register * @param[in] enabled false if derived class wants to control when visual is set on stage. * */ - void RegisterVisual( Property::Index index, Actor& placementActor, Toolkit::Visual::Base& visual, bool enabled ); + void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, bool enabled ); /** * @brief Erase the entry matching the given index from the list of registered visuals @@ -369,17 +367,6 @@ protected: // For derived classes to call bool IsVisualEnabled( Property::Index index ) const; /** - * @brief Retrieve the placement actor associated with the given index. - * - * @SINCE_1_2.2 - * - * @@param[in] index The Property index of the visual. - * @return Then placement actor if exist, otherwise empty handle. - * @note For managing object life-cycle, do not store the returned placement actor as a member which increments its reference count. - */ - Actor GetPlacementActor( Property::Index index ) const; - - /** * @brief Create a transition effect on the control. * * @SINCE_1_2.12 -- 2.7.4