X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Flayouting%2Flayout-item-impl.h;h=3850e5f6dabb4c668236dafcb28917bff20f0b1b;hp=e91e7f9bb6aaab752569039f3995f85523da0979;hb=66581ed768a430adc3e6a630948c28bfe6c32aa4;hpb=ab7b3ff5e1baf4a63220e1bb250390f42c424d7f diff --git a/dali-toolkit/devel-api/layouting/layout-item-impl.h b/dali-toolkit/devel-api/layouting/layout-item-impl.h index e91e7f9..3850e5f 100644 --- a/dali-toolkit/devel-api/layouting/layout-item-impl.h +++ b/dali-toolkit/devel-api/layouting/layout-item-impl.h @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include #include @@ -44,8 +44,8 @@ using LayoutItemPtr = IntrusivePtr; /** * Base class for layouts. */ -class DALI_IMPORT_API LayoutItem : public BaseObject, - public LayoutParent +class DALI_TOOLKIT_API LayoutItem : public BaseObject, + public LayoutChild { public: /** @@ -94,7 +94,8 @@ public: Handle GetOwner() const; /** - * @brief Unparent this layout from it's owner, and remove any layout children in derived types + * @brief Unparent this layout from it's parent, remove it from it's owner + * and remove any layout children in derived types. */ void Unparent(); @@ -113,16 +114,6 @@ public: bool IsLayoutAnimated() const; /** - * @brief Register child properties of layout with owner type. - * - * The Actor hierarchy uses these registered properties in the type - * system to ensure child custom properties are properly initialized. - * - * @param[in] containerType The type of the containing view (owner) - */ - void RegisterChildProperties( const std::string& containerType ); - - /** * @brief This is called to find out how big a layout should be. * * The parent supplies constraint information in the width and height parameters. @@ -168,9 +159,14 @@ public: static LayoutLength GetDefaultSize( LayoutLength size, MeasureSpec measureSpec ); /** - * @copydoc LayoutParent::GetParent + * @copydoc LayoutChild::SetParent */ - virtual LayoutParent* GetParent() override; + void SetParent( LayoutParent* parent ) override; + + /** + * @copydoc LayoutChild::GetParent + */ + LayoutParent* GetParent() override; /** * @brief Request that this layout is re-laid out. @@ -187,6 +183,23 @@ public: bool IsLayoutRequested() const; /** + * @brief Set layout requested flag (mark the layout dirty). + */ + void SetLayoutRequested(); + + /** + * @brief Checks if the Resize policy is being used for this LayoutItem + * @return true is ResizePolicy is used + */ + bool IsResizePolicyRequired() const; + + /** + * @brief Sets if the ResizePolicy is needed or not for this LayoutItem + * @param[in] resizeRequired true or false flag + */ + void SetResizePolicyRequired( bool resizeRequired ); + + /** * @brief Get the measured width (without any measurement flags). * * This method should be used only during measurement and layout calculations. @@ -419,6 +432,11 @@ protected: */ virtual void OnInitialize(); + /** + * @brief Called when a layer animation state is changed. + */ + virtual void OnAnimationStateChanged( bool animateLayout ) {} + private: /** * @brief Called to change the size of the layout. @@ -435,6 +453,16 @@ private: */ void OnLayoutAnimationFinished( Animation& animation ); + /** + * @brief Register child properties of layout with owner type. + * + * The Actor hierarchy uses these registered properties in the type + * system to ensure child custom properties are properly initialized. + * + * @param[in] containerType The type of the containing view (owner) + */ + void RegisterChildProperties( const std::string& containerType ); + public: class Impl; // Class declaration is public so we can add devel API's in the future