X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol-impl.cpp;h=9fa9291bc2f39e574f79faf19e67bf4a97ba1307;hp=b71a080886513e44a21acd7de2f6a55a153a3dac;hb=675f5551ef3c7ca20ec45c36b865a5092883af43;hpb=c6eb78824e08f7a863c55b3599d37b641c0313ba diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp index b71a080..9fa9291 100644 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -22,6 +22,7 @@ #include // for strcmp #include #include +#include #include #include #include @@ -57,7 +58,7 @@ namespace { #if defined(DEBUG_ENABLED) -Debug::Filter* gLogFilter = Debug::Filter::New( Debug::General, false, "LOG_CONTROL_VISUALS"); +Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, false, "LOG_CONTROL_VISUALS"); #endif /** @@ -117,7 +118,7 @@ HandleIndex GetVisualProperty( { #if defined(DEBUG_ENABLED) std::ostringstream oss; - oss << "Control::GetHandleIndex(" << visualName << ", " << propertyKey << ")" << std::endl; + oss << "Control::GetVisualProperty(" << visualName << ", " << propertyKey << ")" << std::endl; DALI_LOG_INFO( gLogFilter, Debug::General, oss.str().c_str() ); #endif @@ -125,44 +126,25 @@ HandleIndex GetVisualProperty( RegisteredVisualContainer::Iterator iter; for ( iter = visuals.Begin(); iter != visuals.End(); iter++ ) { - if ( (*iter)->visual.GetName() == visualName ) + Toolkit::Visual::Base visual = (*iter)->visual; + if( visual && visual.GetName() == visualName ) { - break; - } - } - - // Does it's renderer have an associated property? - if( iter != visuals.End() ) - { - Actor self = controlImpl.Self(); - Property::Index index = DevelHandle::GetPropertyIndex( self, propertyKey ); - if( index != Property::INVALID_INDEX ) - { - // It's an actor property: - return HandleIndex( self, index ); - } - else - { - // Check if it is a renderer property: - if( self.GetRendererCount() > 0 ) + Internal::Visual::Base& visualImpl = GetImplementation(visual); + Renderer renderer = visualImpl.GetRenderer(); + if( renderer ) { - // @todo Need to use correct renderer index - Renderer renderer = self.GetRendererAt(0); Property::Index index = DevelHandle::GetPropertyIndex( renderer, propertyKey ); if( index != Property::INVALID_INDEX ) { - // It's a renderer property: return HandleIndex( renderer, index ); } } - else - { - std::ostringstream oss; - oss << propertyKey; - DALI_LOG_WARNING( "Control::GetHandleIndex(%s, %s) No renderers\n", visualName.c_str(), oss.str().c_str() ); - } } } + + std::ostringstream noRenderers; + noRenderers << propertyKey; + DALI_LOG_WARNING( "Control::GetVisualProperty(%s, %s) No renderers\n", visualName.c_str(), noRenderers.str().c_str() ); Handle handle; return HandleIndex( handle, Property::INVALID_INDEX ); } @@ -604,7 +586,6 @@ void Control::SetBackground( const Property::Map& map ) void Control::SetBackgroundImage( Image image ) { - DALI_LOG_WARNING( "SetBackgroundImage is for the depreciated Property::BACKGROUND_IMAGE use SetBackground( const Property::Map& map )\n" ); Toolkit::Visual::Base visual = Toolkit::VisualFactory::Get().CreateVisual( image ); if( visual ) { @@ -786,6 +767,27 @@ void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visu } } + // If not set, set the name of the visual to the same name as the control's property. + // ( If the control has been type registered ) + if( visual.GetName().empty() ) + { + // Check if the control has been type registered: + TypeInfo typeInfo = TypeRegistry::Get().GetTypeInfo( typeid(*this) ); + if( typeInfo ) + { + // Check if the property index has been registered: + Property::IndexContainer indices; + typeInfo.GetPropertyIndices( indices ); + Property::IndexContainer::Iterator iter = std::find( indices.Begin(), indices.End(), index ); + if( iter != indices.End() ) + { + // If it has, then get it's name and use that for the visual + std::string visualName = typeInfo.GetPropertyName( index ); + visual.SetName( visualName ); + } + } + } + if( !visualReplaced ) // New registration entry { mImpl->mVisuals.PushBack( new RegisteredVisual( index, visual, enabled ) ); @@ -795,6 +797,8 @@ void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visu { Toolkit::GetImplementation(visual).SetOnStage( self ); } + DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::RegisterVisual number of registered visuals(%d)\n", mImpl->mVisuals.Size() ); + } void Control::UnregisterVisual( Property::Index index ) @@ -1047,10 +1051,12 @@ void Control::OnInitialize() void Control::OnControlChildAdd( Actor& child ) { + DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: OnControlChildAdd() is deprecated and will be removed from next release. Override OnChildAdd instead.\n" ); } void Control::OnControlChildRemove( Actor& child ) { + DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: OnControlChildRemove() is deprecated and will be removed from next release. Override OnChildRemove instead.\n" ); } void Control::OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change )