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=6300fe27abc23520871585fa043df552693ae54b;hp=f1925a3c40fbfc6ccc13a247ccbb246f90206ec3;hb=9ddd5fea6278d06b8874988498c7c4c6508750ba;hpb=8269fc656ce5c08314e340932c2af762e7234628 diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.h b/dali-toolkit/internal/controls/buttons/push-button-impl.h index f1925a3..6300fe2 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) 2021 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. @@ -27,13 +27,10 @@ namespace Dali { - namespace Toolkit { - namespace Internal { - /** * PushButton implementation class. * @@ -42,7 +39,6 @@ namespace Internal class PushButton : public Button { public: - /** * Create a new PushButton. * @return A smart-pointer to the newly allocated PushButton. @@ -50,7 +46,6 @@ public: static Dali::Toolkit::PushButton New(); protected: - /** * Construct a new PushButton. */ @@ -62,7 +57,6 @@ protected: virtual ~PushButton(); public: - // Properties /** @@ -83,7 +77,7 @@ public: * @param[in] index The property index. * @param[in] value The new property value. */ - static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ); + static void SetProperty(BaseObject* object, Property::Index index, const Property::Value& value); /** * Called to retrieve a property of an object of this type. @@ -91,137 +85,21 @@ public: * @param[in] index The property index. * @return The current value of the property. */ - static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex ); + static Property::Value GetProperty(BaseObject* object, Property::Index propertyIndex); 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::OnDisabledSelectedImageSet() - */ - virtual void OnDisabledSelectedImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::OnDisabledBackgroundImageSet() - */ - virtual void OnDisabledBackgroundImageSet(); - - /** - * @copydoc Toolkit::Internal::Button::PrepareForTranstionIn( Actor actor ) - */ - virtual void PrepareForTranstionIn( Actor actor ); - - /** - * @copydoc Toolkit::Internal::Button::PrepareForTranstionOut( Actor actor ) - */ - virtual void PrepareForTranstionOut( Actor actor ); - - /** - * @copydoc Toolkit::Internal::Button::OnTransitionIn( Actor actor ) - */ - virtual void OnTransitionIn( Actor actor ); - - /** - * @copydoc Toolkit::Internal::Button::OnTransitionOut( Actor actor ) - */ - virtual void OnTransitionOut( Actor actor ); - -private: // From Control - /** - * @copydoc CustomActorImpl::OnSizeSet( const Vector3& targetSize ) + * @copydoc Toolkit::Internal::Button::OnInitialize */ - virtual void OnSizeSet( const Vector3& targetSize ); - - /** - * @copydoc Toolkit::Control::GetNaturalSize - */ - virtual Vector3 GetNaturalSize(); - - /** - * @copydoc Toolkit::Control::OnSetResizePolicy - */ - virtual void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension ); + void OnInitialize() override; private: - - /** - * It adds the actor to the root actor and to the fade in animation. - * @param[inout] actor The actor. - * @param[in] opacity The opacity to fade to - */ - void FadeImageTo( Actor actor, float opacity ); - - /** - * @brief Custom configuration for size negotiation - */ - void ConfigureSizeNegotiation(); - - /** - * @brief Configure size negotiation for a given dimension - * - * @param[in] dimension The dimension to configure - * @param[in] images The list of images to configure - * @param[in] label The text label to configure - */ - void ConfigureSizeNegotiationDimension( Dimension::Type dimension, const std::vector< Actor >& images, Actor& label ); - - /** - * @brief Sets either the selected or unselected icon. - * - * @param[in] state The icon state to set - * @param[in] iconFilename The filename of the icon - */ - void SetIcon( DecorationState state, const std::string iconFilename ); - - /** - * @brief Gets either the selected or unselected icon. - * - * @param[in] state The icon state to get - * @return The filename of the icon - */ - std::string& GetIcon( DecorationState state ); - /** * @brief Sets the alignment mode to use to align the icon to the label. * * @param[in] iconAlignment The alignment mode to use */ - void SetIconAlignment( const PushButton::IconAlignment iconAlignment ); + void SetIconAlignment(const PushButton::IconAlignment iconAlignment); /** * @brief Gets the alignment mode used to align the icon to the label. @@ -230,75 +108,50 @@ private: */ const PushButton::IconAlignment GetIconAlignment() const; - /** - * @brief Sets the padding for the label. - * - * @param[in] padding The padding to set - */ - void SetLabelPadding( const Vector4& padding ); - - /** - * @brief Gets the padding for the label. - * - * @return The label padding - */ - Vector4 GetLabelPadding(); - - /** - * @brief Sets the padding for the icon. - * - * @param[in] padding The padding to set - */ - void SetIconPadding( const Vector4& padding ); - - /** - * @brief Gets the padding for the icon. - * - * @return The icon padding - */ - Vector4 GetIconPadding(); - private: - // Undefined - PushButton( const PushButton& ); + PushButton(const PushButton&); // Undefined - PushButton& operator=( const PushButton& ); + PushButton& operator=(const PushButton&); private: + IconAlignment mIconAlignment; ///< The alignment of the icon against the label. - std::string mIconName[ DECORATION_STATES ]; ///< The original filenames for the icons. - Padding mLabelPadding; ///< The padding around the label (if present). - Padding mIconPadding; ///< The padding around the icon (if present). - IconAlignment mIconAlignment; ///< The alignment of the icon against the label. - Vector3 mSize; ///< The button's size. +protected: + struct AccessibleImpl : public Button::AccessibleImpl + { + using Button::AccessibleImpl::AccessibleImpl; + + Dali::Accessibility::States CalculateStates() override; + }; + void OnStateChange(State newState) override; }; } // namespace Internal // Helpers for public-api forwarding methods -inline Toolkit::Internal::PushButton& GetImplementation( Toolkit::PushButton& button ) +inline Toolkit::Internal::PushButton& GetImplementation(Toolkit::PushButton& button) { - DALI_ASSERT_ALWAYS( button ); + DALI_ASSERT_ALWAYS(button); Dali::RefObject& handle = button.GetImplementation(); - return static_cast( handle ); + return static_cast(handle); } -inline const Toolkit::Internal::PushButton& GetImplementation( const Toolkit::PushButton& button ) +inline const Toolkit::Internal::PushButton& GetImplementation(const Toolkit::PushButton& button) { - DALI_ASSERT_ALWAYS( button ); + DALI_ASSERT_ALWAYS(button); const Dali::RefObject& handle = button.GetImplementation(); - return static_cast( handle ); + return static_cast(handle); } } // namespace Toolkit } // namespace Dali -#endif // __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H__ +#endif // DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_H