*/
LayoutGroup();
+ /**
+ * @brief Construct
+ *
+ * @param[in] owner The owner (container view / child view / visual ) of this layout
+ * @return a new LayoutGroup object
+ */
+ static LayoutGroupPtr New( Handle& owner );
+
protected:
/**
* Virtual destructor may only be called by Unreference()
void Remove( LayoutItem& child ) override;
/**
+ * @brief Insert a child to the parent
+ * @param[in] target The target item
+ * @param[in] child The item to insert to this layout parent
+ */
+ Toolkit::LayoutGroup::LayoutId Insert( LayoutItem& target, LayoutItem& child ) override;
+
+ /**
+ * @brief Move a child to another position
+ * @param[in] target The target item
+ * @param[in] child The item to move
+ */
+ Toolkit::LayoutGroup::LayoutId Move( LayoutItem& target, LayoutItem& child ) override;
+
+ /**
+ * @brief Move a child to back
+ * @param[in] child The item to move
+ */
+ Toolkit::LayoutGroup::LayoutId MoveBack( LayoutItem& child ) override;
+
+ /**
* @brief Remove all layout children.
*
* @note This will not unparent owner's children
LayoutLength widthUsed,
MeasureSpec parentHeightMeasureSpec,
LayoutLength heightUsed );
+ /**
+ * @copydoc LayoutItem::OnMeasure
+ */
+ virtual void OnMeasure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasureSpec ) override;
+
+ /**
+ * @copydoc LayoutItem::OnLayout
+ */
+ virtual void OnLayout( bool changed, LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom ) override;
private:
/**
void ChildAddedToOwner( Actor child );
/**
+ * Implementation of ChildAddedToOwner
+ */
+ void ChildAddedToOwnerImpl( Actor child );
+
+ /**
* Callback when child is removed from owner
*/
void ChildRemovedFromOwner( Actor child );
/**
* Callback when child order is changed
*/
- void ChildOrderChanged();
+ void ChildOrderChanged( Actor child );
/**
* Callback when an owner property is set. Triggers a relayout if it's a child property