X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbuttons%2Fbutton-impl.cpp;h=b84792559d7411190fecbc9e61097732cac1e9cc;hp=4e98d7591eb612b2300dbb499da38a0e49b27e63;hb=928136dbb9e23970f3894eabc7c8b224003b77be;hpb=1db0a8becea3dbdebaa942d934d91824a92434e7 diff --git a/dali-toolkit/internal/controls/buttons/button-impl.cpp b/dali-toolkit/internal/controls/buttons/button-impl.cpp index 4e98d75..b847925 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/button-impl.cpp @@ -93,16 +93,14 @@ PropertyRegistration property10( typeRegistration, "label-actor", Button::Button() : Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ), - mTogglableButton( false ), - mSelected( false ), - mPainter( NULL ), mAutoRepeatingTimer(), mDisabled( false ), mAutoRepeating( false ), -// mTogglableButton( false ), -// mSelected( false ), + mTogglableButton( false ), + mSelected( false ), mInitialAutoRepeatingDelay( INITIAL_AUTOREPEATING_DELAY ), mNextAutoRepeatingDelay( NEXT_AUTOREPEATING_DELAY ), + mAnimationTime( 0.0f ), mClickActionPerforming( false ), mState( ButtonUp ) { @@ -118,13 +116,11 @@ Button::~Button() void Button::SetDisabled( bool disabled ) { - mDisabled = disabled; - - // Notifies the painter. - Toolkit::Button handle( GetOwner() ); - if( mPainter ) + if( disabled != mDisabled ) { - mPainter->SetDisabled( handle, mDisabled ); + mDisabled = disabled; + + OnDisabled( mDisabled ); } } @@ -141,17 +137,17 @@ void Button::SetAutoRepeating( bool autoRepeating ) if( autoRepeating ) { mTogglableButton = false; + if( mSelected ) { // Emit a signal is not wanted, only change the appearance. - Toolkit::Button handle( GetOwner() ); - mPainter->Selected( handle ); + OnSelected( false ); + mSelected = false; + + RelayoutRequest(); } } - - // Notifies the painter. - mPainter->SetAutoRepeating( mAutoRepeating ); } bool Button::IsAutoRepeating() const @@ -189,9 +185,6 @@ void Button::SetTogglableButton( bool togglable ) if( togglable ) { mAutoRepeating = false; - - // Notifies the painter. - mPainter->SetAutoRepeating( mAutoRepeating ); } } @@ -204,15 +197,17 @@ void Button::SetSelected( bool selected ) { if( !mDisabled && mTogglableButton && ( selected != mSelected ) ) { + // Notifies the derived class the button has been selected. + OnSelected( selected ); + mSelected = selected; Toolkit::Button handle( GetOwner() ); - // Notifies the painter the button has been selected. - mPainter->Selected( handle ); - // Emit signal. mStateChangedSignal.Emit( handle ); + + RelayoutRequest(); } } @@ -223,24 +218,33 @@ bool Button::IsSelected() const void Button::SetAnimationTime( float animationTime ) { - OnAnimationTimeSet( animationTime ); + mAnimationTime = animationTime; } float Button::GetAnimationTime() const { - return OnAnimationTimeRequested(); + return mAnimationTime; } void Button::SetLabel( const std::string& label ) { - RelayoutRequest(); } void Button::SetLabel( Actor label ) { - Toolkit::Button handle( GetOwner() ); + if( mLabel != label ) + { + if( mLabel && mLabel.GetParent() ) + { + mLabel.GetParent().Remove( mLabel ); + } + + mLabel = label; + + OnLabelSet(); - mPainter->SetLabel( handle, label ); + RelayoutRequest(); + } } Actor Button::GetLabel() const @@ -253,145 +257,64 @@ Actor& Button::GetLabel() return mLabel; } -void Button::SetButtonImage( Image image ) -{ - SetButtonImage( ImageActor::New( image ) ); -} - -void Button::SetButtonImage( Actor image ) -{ - Toolkit::Button handle( GetOwner() ); - mPainter->SetButtonImage( handle, image ); -} - Actor Button::GetButtonImage() const { - return mButtonImage; + return mButtonContent; } Actor& Button::GetButtonImage() { - return mButtonImage; -} - -void Button::SetSelectedImage( Image image ) -{ - SetSelectedImage( ImageActor::New( image ) ); -} - -void Button::SetSelectedImage( Actor image ) -{ - Toolkit::Button handle( GetOwner() ); - mPainter->SetSelectedImage( handle, image ); + return mButtonContent; } Actor Button::GetSelectedImage() const { - return mSelectedImage; + return mSelectedContent; } Actor& Button::GetSelectedImage() { - return mSelectedImage; -} - -void Button::SetBackgroundImage( Image image ) -{ - SetBackgroundImage( ImageActor::New( image ) ); -} - -void Button::SetBackgroundImage( Actor image ) -{ - Toolkit::Button handle( GetOwner() ); - mPainter->SetBackgroundImage( handle, image ); + return mSelectedContent; } Actor Button::GetBackgroundImage() const { - return mBackgroundImage; + return mBackgroundContent; } Actor& Button::GetBackgroundImage() { - return mBackgroundImage; -} - -void Button::SetDisabledImage( Image image ) -{ - SetDisabledImage( ImageActor::New( image ) ); -} - -void Button::SetDisabledImage( Actor image ) -{ - Toolkit::Button handle( GetOwner() ); - mPainter->SetDisabledImage( handle, image ); + return mBackgroundContent; } Actor Button::GetDisabledImage() const { - return mDisabledImage; + return mDisabledContent; } Actor& Button::GetDisabledImage() { - return mDisabledImage; -} - -void Button::SetDisabledSelectedImage( Image image ) -{ - SetDisabledSelectedImage( ImageActor::New( image ) ); -} - -void Button::SetDisabledSelectedImage( Actor image ) -{ - Toolkit::Button handle( GetOwner() ); - mPainter->SetDisabledSelectedImage( handle, image ); + return mDisabledContent; } Actor Button::GetDisabledSelectedImage() const { - return mDisabledSelectedImage; + return mDisabledSelectedContent; } Actor& Button::GetDisabledSelectedImage() { - return mDisabledSelectedImage; -} - -void Button::SetDisabledBackgroundImage( Image image ) -{ - SetDisabledBackgroundImage( ImageActor::New( image ) ); -} - -void Button::SetDisabledBackgroundImage( Actor image ) -{ - Toolkit::Button handle( GetOwner() ); - mPainter->SetDisabledBackgroundImage( handle, image ); + return mDisabledSelectedContent; } Actor Button::GetDisabledBackgroundImage() const { - return mDisabledBackgroundImage; + return mDisabledBackgroundContent; } Actor& Button::GetDisabledBackgroundImage() { - return mDisabledBackgroundImage; -} - -Actor& Button::GetFadeOutButtonImage() -{ - return mFadeOutButtonImage; -} - -Actor& Button::GetFadeOutSelectedImage() -{ - return mFadeOutSelectedImage; -} - -Actor& Button::GetFadeOutBackgroundImage() -{ - return mFadeOutBackgroundImage; + return mDisabledBackgroundContent; } bool Button::DoAction( BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes ) @@ -427,16 +350,6 @@ void Button::DoClickAction( const PropertyValueContainer& attributes ) } } -void Button::OnAnimationTimeSet( float animationTime ) -{ - mPainter->SetAnimationTime( animationTime ); -} - -float Button::OnAnimationTimeRequested() const -{ - return mPainter->GetAnimationTime(); -} - void Button::OnButtonStageDisconnection() { if( ButtonDown == mState ) @@ -445,8 +358,8 @@ void Button::OnButtonStageDisconnection() { Toolkit::Button handle( GetOwner() ); - // Notifies the painter the button has been released. - mPainter->Released( handle ); + // Notifies the derived class the button has been released. + OnReleased(); if( mAutoRepeating ) { @@ -462,8 +375,8 @@ void Button::OnButtonDown() { Toolkit::Button handle( GetOwner() ); - // Notifies the painter the button has been pressed. - mPainter->Pressed( handle ); + // Notifies the derived class the button has been pressed. + OnPressed(); if( mAutoRepeating ) { @@ -485,17 +398,17 @@ void Button::OnButtonUp() } else { - Toolkit::Button handle( GetOwner() ); - - // Notifies the painter the button has been clicked. - mPainter->Released( handle ); - mPainter->Clicked( handle ); + // Notifies the derived class the button has been clicked. + OnReleased(); + OnClicked(); if( mAutoRepeating ) { mAutoRepeatingTimer.Reset(); } + Toolkit::Button handle( GetOwner() ); + //Emit signal. mReleasedSignal.Emit( handle ); mClickedSignal.Emit( handle ); @@ -511,8 +424,8 @@ void Button::OnTouchPointLeave() { Toolkit::Button handle( GetOwner() ); - // Notifies the painter the button has been released. - mPainter->Released( handle ); + // Notifies the derived class the button has been released. + OnReleased(); if( mAutoRepeating ) { @@ -648,13 +561,6 @@ bool Button::OnTouchEvent(const TouchEvent& event) void Button::OnInitialize() { - // Initialize the painter and notifies subclasses. - Toolkit::Button handle( GetOwner() ); - if( mPainter ) - { - mPainter->Initialize( handle ); - } - Actor self = Self(); mTapDetector = TapGestureDetector::New(); @@ -673,15 +579,6 @@ void Button::OnActivated() DoClickAction( attributes ); } -void Button::OnControlSizeSet(const Vector3& targetSize) -{ - Toolkit::Button handle( GetOwner() ); - if( mPainter ) - { - mPainter->SetSize( handle, targetSize ); - } -} - void Button::OnTap(Actor actor, const TapGesture& tap) { // Do nothing. @@ -704,8 +601,8 @@ bool Button::AutoRepeatingSlot() Toolkit::Button handle( GetOwner() ); - // Notifies the painter the button has been pressed. - mPainter->Pressed( handle ); + // Notifies the derived class the button has been pressed. + OnPressed(); //Emit signal. consumed = mReleasedSignal.Emit( handle ); @@ -722,11 +619,6 @@ void Button::OnControlStageDisconnection() mState = ButtonUp; } -void Button::SetPainter(ButtonPainterPtr painter) -{ - mPainter = painter; -} - Button::ButtonState Button::GetState() { return mState; @@ -852,7 +744,7 @@ Property::Value Button::GetProperty( BaseObject* object, Property::Index propert case Toolkit::Button::PROPERTY_NORMAL_STATE_ACTOR: { Property::Map map; - Scripting::CreatePropertyMap( GetImplementation( button ).mButtonImage, map ); + Scripting::CreatePropertyMap( GetImplementation( button ).mButtonContent, map ); value = map; break; } @@ -860,7 +752,7 @@ Property::Value Button::GetProperty( BaseObject* object, Property::Index propert case Toolkit::Button::PROPERTY_SELECTED_STATE_ACTOR: { Property::Map map; - Scripting::CreatePropertyMap( GetImplementation( button ).mSelectedImage, map ); + Scripting::CreatePropertyMap( GetImplementation( button ).mSelectedContent, map ); value = map; break; } @@ -868,7 +760,7 @@ Property::Value Button::GetProperty( BaseObject* object, Property::Index propert case Toolkit::Button::PROPERTY_DISABLED_STATE_ACTOR: { Property::Map map; - Scripting::CreatePropertyMap( GetImplementation( button ).mDisabledImage, map ); + Scripting::CreatePropertyMap( GetImplementation( button ).mDisabledContent, map ); value = map; break; }