X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fnavigation-frame%2Fnavigation-control-impl.cpp;h=042fe35ad5c2eee0c4d967f87df94e11bd8de895;hb=465c78847a5b0920adbedfdf78cc2185552463ac;hp=8ef5ec6577efcc5834b31748ad4934ef3d8970e5;hpb=2ddfbb9e23a7c3fc30e604236c41e0ef6d2ed6a2;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp index 8ef5ec6..042fe35 100644 --- a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp +++ b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp @@ -19,14 +19,17 @@ #include "navigation-control-impl.h" // EXTERNAL INCLUDES +#include // for strcmp #include #include #include +#include +#include // INTERNAL INCLUDES +#include #include #include -#include #include namespace Dali @@ -40,24 +43,29 @@ namespace Internal namespace // to register type { + BaseHandle Create() { return Toolkit::NavigationControl::New(); } -TypeRegistration mType( typeid(Toolkit::NavigationControl), typeid(Toolkit::Control), Create ); +// Setup properties, signals and actions using the type-registry. +DALI_TYPE_REGISTRATION_BEGIN( Toolkit::NavigationControl, Toolkit::Control, Create ) + +DALI_ACTION_REGISTRATION( Toolkit, NavigationControl, "push", ACTION_PUSH ) +DALI_ACTION_REGISTRATION( Toolkit, NavigationControl, "pop", ACTION_POP ) + +DALI_TYPE_REGISTRATION_END() -TypeAction a1(mType, Toolkit::NavigationControl::ACTION_PUSH, &NavigationControl::DoAction); -TypeAction a2(mType, Toolkit::NavigationControl::ACTION_POP, &NavigationControl::DoAction); } NavigationControl::NavigationControl() -: Control( REQUIRES_TOUCH_EVENTS ), +: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS ) ), mToolBar(NULL), mTitleBar(NULL), mOrientationAngle( 0 ), mOrientationAnimationDuration( 1.0f ), - mOrientationAnimationAlphaFunc( AlphaFunctions::EaseOut ), + mOrientationAnimationAlphaFunc( AlphaFunction::EASE_OUT ), mItemPositionCoefficient( Vector3( 0.0f, 1.0f, 0.0f) ), mItemPushedSignal( ), mItemPoppedSignal( ) @@ -257,11 +265,12 @@ void NavigationControl::OrientationChanged( int angle ) } } + Actor self = Self(); Animation animation = Animation::New( mOrientationAnimationDuration ); - animation.RotateTo( Self(), Degree( -angle ), Vector3::ZAXIS, mOrientationAnimationAlphaFunc ); + animation.AnimateTo( Property( self, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( -angle ) ), Vector3::ZAXIS ), mOrientationAnimationAlphaFunc ); animation.Play(); - Self().SetSize( targetSize ); + self.SetSize( targetSize ); RelayoutRequest(); } @@ -278,7 +287,7 @@ Layer NavigationControl::GetBarLayer() const return mBarLayer; } -void NavigationControl::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void NavigationControl::OnRelayout( const Vector2& size, RelayoutContainer& container ) { const Vector2 setSize( size ); @@ -301,11 +310,11 @@ void NavigationControl::OnRelayout( const Vector2& size, ActorSizeContainer& con mCurrentItem.SetPosition( mItemPositionCoefficient * positionOffset); Vector2 itemSize( setSize.x, setSize.y-sizeShrink ); - Relayout(mCurrentItem, itemSize, container); + container.Add( mCurrentItem, itemSize ); } - container.push_back(ActorSizePair( mBarLayer, setSize )); - container.push_back(ActorSizePair( mPopupLayer, setSize )); + container.Add( mBarLayer, setSize ); + container.Add( mPopupLayer, setSize ); } void NavigationControl::OnControlSizeSet( const Vector3& size ) @@ -413,38 +422,38 @@ Toolkit::NavigationControl::ItemPoppedSignalType& NavigationControl::ItemPoppedS return mItemPoppedSignal; } -bool NavigationControl::DoAction(BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes) +bool NavigationControl::DoAction( BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes ) { bool ret = false; - Dali::BaseHandle handle(object); - Toolkit::NavigationControl control = Toolkit::NavigationControl::DownCast(handle); - DALI_ASSERT_ALWAYS(control); + Dali::BaseHandle handle( object ); + Toolkit::NavigationControl control = Toolkit::NavigationControl::DownCast( handle ); + DALI_ASSERT_ALWAYS( control ); - if (Toolkit::NavigationControl::ACTION_PUSH == actionName) + if( 0 == strcmp( actionName.c_str(), ACTION_PUSH ) ) { - for (PropertyValueConstIter iter = attributes.begin(); iter != attributes.end(); ++iter) + for( PropertyValueConstIter iter = attributes.begin(); iter != attributes.end(); ++iter ) { const Property::Value& value = *iter; - DALI_ASSERT_ALWAYS(value.GetType() == Property::STRING); - std::string itemName = value.Get (); + DALI_ASSERT_ALWAYS( value.GetType() == Property::STRING ); + std::string itemName = value.Get(); - for (std::list::iterator itemsIter = GetImpl(control).mUnpushedItems.begin(); itemsIter != GetImpl(control).mUnpushedItems.end(); ++itemsIter) + for( std::list::iterator itemsIter = GetImpl( control ).mUnpushedItems.begin(); itemsIter != GetImpl( control ).mUnpushedItems.end(); ++itemsIter ) { Toolkit::Page page = *itemsIter; - if (page.GetName() == itemName) + if( page.GetName() == itemName ) { - GetImpl(control).PushItem(page); + GetImpl( control ).PushItem( page ); ret = true; break; } } } } - else if(Toolkit::NavigationControl::ACTION_POP == actionName) + else if( 0 == strcmp( actionName.c_str(), ACTION_POP ) ) { - GetImpl(control).PopItem(); + GetImpl( control ).PopItem(); ret = true; }