Merge "Add UniformNameCache to keep track of unique uniform ids to avoid calculating...
[platform/core/uifw/dali-core.git] / dali / internal / event / common / object-impl.cpp
index 5b36bf7..501775d 100644 (file)
@@ -358,7 +358,7 @@ Property::Type Object::GetPropertyType( Property::Index index ) const
   CustomPropertyMetadata* custom = FindCustomProperty( index );
   if( custom )
   {
-    return custom->type;
+    return custom->GetType();
   }
   return Property::NONE;
 }
@@ -537,12 +537,6 @@ Property::Index Object::RegisterSceneGraphProperty(const std::string& name, Prop
       break;
     }
 
-    case Property::UNSIGNED_INTEGER:
-    {
-      newProperty = new AnimatableProperty<unsigned int>( propertyValue.Get<unsigned int>() );
-      break;
-    }
-
     case Property::FLOAT:
     {
       newProperty = new AnimatableProperty<float>( propertyValue.Get<float>() );
@@ -589,18 +583,11 @@ Property::Index Object::RegisterSceneGraphProperty(const std::string& name, Prop
     case Property::STRING:
     case Property::ARRAY:
     case Property::MAP:
+    case Property::NONE:
     {
-      DALI_LOG_WARNING( "Property Type %d\n", propertyValue.GetType() );
       DALI_ASSERT_ALWAYS( !"PropertyType is not animatable" );
       break;
     }
-
-    default:
-    {
-      DALI_LOG_WARNING( "Property Type %d\n", propertyValue.GetType() );
-      DALI_ASSERT_ALWAYS( !"PropertyType enumeration is out of bounds" );
-      break;
-    }
   }
 
   // get the scene property owner from derived class
@@ -832,7 +819,7 @@ Property::Value Object::GetPropertyValue( const PropertyMetadata* entry ) const
   {
     BufferIndex bufferIndex( GetEventThreadServices().GetEventBufferIndex() );
 
-    switch ( entry->type )
+    switch ( entry->GetType() )
     {
       case Property::BOOLEAN:
       {
@@ -852,15 +839,6 @@ Property::Value Object::GetPropertyValue( const PropertyMetadata* entry ) const
         break;
       }
 
-      case Property::UNSIGNED_INTEGER:
-      {
-        const AnimatableProperty<unsigned int>* property = dynamic_cast< const AnimatableProperty<unsigned int>* >( entry->GetSceneGraphProperty() );
-        DALI_ASSERT_DEBUG( NULL != property );
-
-        value = (*property)[ bufferIndex ];
-        break;
-      }
-
       case Property::FLOAT:
       {
         const AnimatableProperty<float>* property = dynamic_cast< const AnimatableProperty<float>* >( entry->GetSceneGraphProperty() );
@@ -982,7 +960,7 @@ Property::Value Object::GetPropertyValue( const PropertyMetadata* entry ) const
 
 void Object::SetSceneGraphProperty( Property::Index index, const PropertyMetadata& entry, const Property::Value& value )
 {
-  switch ( entry.type )
+  switch ( entry.GetType() )
   {
     case Property::BOOLEAN:
     {
@@ -1004,16 +982,6 @@ void Object::SetSceneGraphProperty( Property::Index index, const PropertyMetadat
       break;
     }
 
-    case Property::UNSIGNED_INTEGER:
-    {
-      const AnimatableProperty<unsigned int>* property = dynamic_cast< const AnimatableProperty<unsigned int>* >( entry.GetSceneGraphProperty() );
-      DALI_ASSERT_DEBUG( NULL != property );
-
-      // property is being used in a separate thread; queue a message to set the property
-      BakeMessage<unsigned int>( GetEventThreadServices(), *property, value.Get<unsigned int>() );
-      break;
-    }
-
     case Property::FLOAT:
     {
       const AnimatableProperty<float>* property = dynamic_cast< const AnimatableProperty<float>* >( entry.GetSceneGraphProperty() );
@@ -1300,8 +1268,11 @@ AnimatablePropertyMetadata* Object::RegisterAnimatableProperty(Property::Index i
           }
         }
 
-        // Create the metadata for the property component.
-        mAnimatableProperties.PushBack( new AnimatablePropertyMetadata( index, typeInfo->GetComponentIndex(index), animatableProperty->type, animatableProperty->GetSceneGraphProperty() ) );
+        if(animatableProperty)
+        {
+          // Create the metadata for the property component.
+          mAnimatableProperties.PushBack( new AnimatablePropertyMetadata( index, typeInfo->GetComponentIndex(index), animatableProperty->GetType(), animatableProperty->GetSceneGraphProperty() ) );
+        }
       }
 
       // The metadata has just been added and therefore should be in the end of the vector.