#define __DALI_INTERNAL_OBJECT_H__
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
virtual Property::Index GetPropertyIndex( const std::string& name ) const;
/**
+ * @copydoc Dali::Handle::GetPropertyIndex()
+ */
+ virtual Property::Index GetPropertyIndex( Property::Index key ) const;
+
+ /**
* @copydoc Dali::Handle::IsPropertyWritable()
*/
virtual bool IsPropertyWritable( Property::Index index ) const;
virtual Property::Index RegisterProperty( const std::string& name, const Property::Value& propertyValue );
/**
+ * @copydoc Dali::Handle::RegisterProperty()
+ */
+ virtual Property::Index RegisterProperty( const std::string& name, Property::Index key, const Property::Value& propertyValue );
+
+ /**
* @copydoc Dali::Handle::RegisterProperty(std::string name, Property::Value propertyValue, Property::AccessMode accessMode)
*/
virtual Property::Index RegisterProperty( const std::string& name, const Property::Value& propertyValue, Property::AccessMode accessMode );
/**
+ * @brief Implementing method for this override
+ */
+ virtual Property::Index RegisterProperty( const std::string& name, Property::Index key, const Property::Value& propertyValue, Property::AccessMode accessMode );
+
+ /**
* @copydoc Dali::Handle::AddPropertyNotification()
*/
virtual Dali::PropertyNotification AddPropertyNotification( Property::Index index,
void OnSceneObjectRemove();
/**
+ * For overriding by derived classes to return the parent of this object.
+ */
+ virtual Object* GetParentObject() const
+ {
+ // By default the Object does not have a parent
+ return NULL;
+ };
+
+ /**
* For use in derived classes.
* This is called after a property is set.
* @param [in] index The index of the property.
/**
* Helper to register a scene-graph property
* @param [in] name The name of the property.
+ * @param [in] key The key of the property
* @param [in] index The index of the property
* @param [in] value The value of the property.
* @return The index of the registered property or Property::INVALID_INDEX if registration failed.
*/
- Property::Index RegisterSceneGraphProperty(const std::string& name, Property::Index index, const Property::Value& propertyValue) const;
+ Property::Index RegisterSceneGraphProperty(const std::string& name, Property::Index key, Property::Index index, const Property::Value& propertyValue) const;
/**
* Check whether the animatable property is registered already, if not then register one.
*/
AnimatablePropertyMetadata* RegisterAnimatableProperty(Property::Index index) const;
+ /**
+ * Resolve the index and name of child properties if any.
+ */
+ void ResolveChildProperties();
+
private: // Default property extensions for derived classes
/**