// EXTERNAL INCLUDES
#include <dali/public-api/object/type-registry.h>
-
-// INTERNAL INCLUDES
+#include <dali/public-api/object/type-registry-helper.h>
namespace Dali
{
return Toolkit::Page::New();
}
-TypeRegistration mType( typeid(Toolkit::Page), typeid(CustomActor), Create );
+DALI_TYPE_REGISTRATION_BEGIN( Toolkit::Page, Toolkit::Control, Create )
+DALI_PROPERTY_REGISTRATION( Toolkit, Page, "title", STRING, TITLE )
+DALI_PROPERTY_REGISTRATION( Toolkit, Page, "sub-title", STRING, SUB_TITLE )
+DALI_TYPE_REGISTRATION_END()
} // unnamed namespace
Page::Page()
-: Control( CONTROL_BEHAVIOUR_NONE ),
+: Control( ControlBehaviour( ACTOR_BEHAVIOUR_NONE ) ),
mTitle(""),
- mSubTitle(""),
- mPropertyTitle(Property::INVALID_INDEX),
- mPropertySubTitle(Property::INVALID_INDEX)
+ mSubTitle("")
{
}
return mPopupMenu;
}
-void Page::OnInitialize()
+void Page::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value )
{
- Actor self = Self();
+ Toolkit::Page page = Toolkit::Page::DownCast( Dali::BaseHandle( object ) );
- mPropertyTitle = self.RegisterProperty( Dali::Toolkit::Page::PROPERTY_TITLE, "", Property::READ_WRITE );
- mPropertySubTitle = self.RegisterProperty( Dali::Toolkit::Page::PROPERTY_SUB_TITLE, "", Property::READ_WRITE );
+ if ( page )
+ {
+ switch ( index )
+ {
+ case Toolkit::Page::Property::TITLE:
+ {
+ GetImpl( page ).SetTitle( value.Get< std::string >() );
+ break;
+ }
+
+ case Toolkit::Page::Property::SUB_TITLE:
+ {
+ GetImpl( page ).SetSubTitle( value.Get< std::string >() );
+ break;
+ }
+ }
+ }
}
-void Page::OnPropertySet( Property::Index index, Property::Value propertyValue )
+Property::Value Page::GetProperty( BaseObject* object, Property::Index propertyIndex )
{
- if( index == mPropertyTitle )
- {
- std::string title( propertyValue.Get<std::string>() );
- SetTitle(title);
- }
- else if( index == mPropertySubTitle )
+ Property::Value value;
+
+ Toolkit::Page page = Toolkit::Page::DownCast( Dali::BaseHandle( object ) );
+
+ if ( page )
{
- std::string subTitle( propertyValue.Get<std::string>() );
- SetSubTitle(subTitle);
+ switch ( propertyIndex )
+ {
+ case Toolkit::Page::Property::TITLE:
+ {
+ value = GetImpl( page ).mTitle;
+ break;
+ }
+
+ case Toolkit::Page::Property::SUB_TITLE:
+ {
+ value = GetImpl( page ).mSubTitle;
+ break;
+ }
+ }
}
+
+ return value;
}
} // namespace Internal