X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbuttons%2Fpush-button-impl.h;h=8e11d794514acbd0a5ae30da59fe7b04c6ebae32;hp=7a2347485a2f9939fd06d8c8275643fdfdccf937;hb=b1e8521ad77e7b4e62b59613b2edef64429130e9;hpb=030e7c680a6eb0e8d87bfdb8ec359a0267ef7db2 diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.h b/dali-toolkit/internal/controls/buttons/push-button-impl.h index 7a23474..8e11d79 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.h +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H__ -#define __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H__ +#ifndef DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H +#define DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -19,8 +19,7 @@ */ // EXTERNAL INCLUDES -#include -#include +#include // INTERNAL INCLUDES #include @@ -62,141 +61,60 @@ protected: */ virtual ~PushButton(); -private: // From Button - - /** - * @copydoc Toolkit::Internal::Button::OnButtonInitialize() - */ - virtual void OnButtonInitialize(); - - /** - * @copydoc Toolkit::Internal::Button::OnLabelSet() - */ - virtual void OnLabelSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnButtonImageSet() - */ - virtual void OnButtonImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnSelectedImageSet() - */ - virtual void OnSelectedImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnBackgroundImage() - */ - virtual void OnBackgroundImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnSelectedBackgroundImageSet() - */ - virtual void OnSelectedBackgroundImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnDisabledImageSet() - */ - virtual void OnDisabledImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnDisabledBackgroundImageSet() - */ - virtual void OnDisabledBackgroundImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnSelected() - */ - virtual bool OnSelected(); +public: - /** - * @copydoc Toolkit::Internal::Button::OnDisabled() - */ - virtual bool OnDisabled(); + // Properties /** - * @copydoc Toolkit::Internal::Button::OnPressed() + * Enum for the alignment modes of the icon. */ - virtual bool OnPressed(); + enum IconAlignment + { + LEFT, + RIGHT, + TOP, + BOTTOM, + DEFAULT = RIGHT + }; /** - * @copydoc Toolkit::Internal::Button::OnReleased() + * Called when a property of an object of this type is set. + * @param[in] object The object whose property is set. + * @param[in] index The property index. + * @param[in] value The new property value. */ - virtual bool OnReleased(); - - /** - * @copydoc Toolkit::Internal::Button::StopAllAnimations() - */ - virtual void StopAllAnimations(); - -private: // From Control + static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ); /** - * @copydoc Toolkit::Control::OnControlSizeSet( const Vector3& targetSize ) + * Called to retrieve a property of an object of this type. + * @param[in] object The object whose property is to be retrieved. + * @param[in] index The property index. + * @return The current value of the property. */ - virtual void OnControlSizeSet( const Vector3& targetSize ); + static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex ); - /** - * @copydoc Toolkit::Control::GetNaturalSize - */ - Vector3 GetNaturalSize(); +private: // From Button /** - * @copydoc Toolkit::Control::OnSetResizePolicy + * @copydoc Toolkit::Internal::Button::OnInitialize */ - virtual void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension ); + virtual void OnInitialize(); private: /** - * Starts the transition animation. - * PushButton::TransitionAnimationFinished slot is called when the animation finishes. - */ - void StartTransitionAnimation(); - - /** - * Stops the transition animation. - * @param[in] remove If true, removes the fadeout actor from root. - */ - void StopTransitionAnimation( bool remove = true ); - - /** - * It adds the actor to the root actor and to the fade in animation. - * @param[inout] image The actor. - * @param[in] opacity The initial opacity. - * @param[in] scale The initial scale. - */ - void FadeInImage( Actor& image, float opacity = 0.f, Vector3 scale = Vector3( 1.f, 1.f, 1.f ) ); - - /** - * It adds the actor fade out animation and stores it to be removed when the animation finishes. - * @param[in] layer Defines if the actor is going to be stored in the mFadeOutBackgroundImage or mFadeOutCheckedImage member. - * @param[inout] image The actor. - * @param[in] opacity The initial opacity. - * @param[in] scale The initial scale. - */ - void FadeOutImage( Actor& image, float opacity = 1.f, Vector3 scale = Vector3( 1.f, 1.f, 1.f ) ); - - /** - * @brief Custom configuration for size negotiation - */ - void ConfigureSizeNegotiation(); - - /** - * @brief Configure size negotiation for a given dimension + * @brief Sets the alignment mode to use to align the icon to the label. * - * @param[in] dimension The dimension to configure - * @param[in] images The list of images to configure - * @param[in] label The text label to configure + * @param[in] iconAlignment The alignment mode to use */ - void ConfigureSizeNegotiationDimension( Dimension::Type dimension, const ActorContainer& images, Actor& label ); - - // slots + void SetIconAlignment( const PushButton::IconAlignment iconAlignment ); /** - * Called when the transition animation finishes. + * @brief Gets the alignment mode used to align the icon to the label. + * + * @return The alignment mode in use */ - void TransitionAnimationFinished( Dali::Animation& source ); + const PushButton::IconAlignment GetIconAlignment() const; private: @@ -208,8 +126,7 @@ private: private: - Animation mTransitionAnimation; ///< Animation used in the state transitions. - Vector3 mSize; ///< The button's size. + IconAlignment mIconAlignment; ///< The alignment of the icon against the label. }; } // namespace Internal @@ -238,4 +155,4 @@ inline const Toolkit::Internal::PushButton& GetImplementation( const Toolkit::Pu } // namespace Dali -#endif // __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H__ +#endif // DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H