//CLASS HEADER
#include <dali-toolkit/internal/layouting/vbox-layout-impl.h>
-//EXTERNAL HEADERS
//INTERNAL HEADERS
#include <dali/integration-api/debug.h>
#include <dali/public-api/common/extents.h>
#include <dali/devel-api/actors/actor-devel.h>
#include <dali/devel-api/object/handle-devel.h>
-#include <dali-toolkit/devel-api/layouting/layout-base.h>
+#include <dali-toolkit/devel-api/layouting/layout-item.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
#include <dali-toolkit/internal/controls/control/control-data-impl.h>
-
+namespace
+{
#if defined(DEBUG_ENABLED)
-static Debug::Filter* gLogFilter = Debug::Filter::New( Debug::Concise, false, "LOG_LAYOUT" );
+static Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, false, "LOG_LAYOUT" );
#endif
+}
namespace Dali
{
}
}
-void VboxLayout::OnChildAdd( LayoutBase& child )
+void VboxLayout::OnChildAdd( LayoutItem& child )
{
auto owner = child.GetOwner();
owner.SetProperty( Toolkit::VboxLayout::ChildProperty::WEIGHT, 1.0f );
if( childLayout )
{
auto childOwner = childLayout->GetOwner();
- auto desiredWidth = childOwner.GetProperty<int>( Toolkit::LayoutBase::ChildProperty::WIDTH_SPECIFICATION );
+ auto desiredWidth = childOwner.GetProperty<int>( Toolkit::LayoutItem::ChildProperty::WIDTH_SPECIFICATION );
MeasureChildWithMargins( childLayout, widthMeasureSpec, 0, heightMeasureSpec, 0 );
auto childHeight = childLayout->GetMeasuredHeight();
- auto childMargin = childOwner.GetProperty<Extents>( Toolkit::LayoutGroup::ChildProperty::MARGIN_SPECIFICATION );
+ auto childMargin = childLayout->GetMargin();
+
auto length = childHeight + LayoutLength::IntType(childMargin.top + childMargin.bottom );
auto cellPadding = i<GetChildCount()-1 ? mCellPadding.height : 0;
alternativeMaxWidth = std::max( alternativeMaxWidth, matchWidthLocally ? marginWidth : childWidth );
}
}
-
Extents padding = GetPadding();
mTotalLength += padding.top + padding.bottom;
auto heightSize = mTotalLength;
auto uniformMeasureSpec = MeasureSpec( GetMeasuredWidth(), MeasureSpec::Mode::EXACTLY );
for (int i = 0; i < count; ++i)
{
- LayoutBasePtr childLayout = GetChildAt(i);
+ LayoutItemPtr childLayout = GetChildAt(i);
if( childLayout != nullptr )
{
auto childOwner = childLayout->GetOwner();
- auto desiredWidth = childOwner.GetProperty<int>( Toolkit::LayoutBase::ChildProperty::WIDTH_SPECIFICATION );
- auto desiredHeight = childOwner.GetProperty<int>( Toolkit::LayoutBase::ChildProperty::HEIGHT_SPECIFICATION );
+ auto desiredWidth = childOwner.GetProperty<int>( Toolkit::LayoutItem::ChildProperty::WIDTH_SPECIFICATION );
+ auto desiredHeight = childOwner.GetProperty<int>( Toolkit::LayoutItem::ChildProperty::HEIGHT_SPECIFICATION );
if( desiredWidth == Toolkit::ChildLayoutData::MATCH_PARENT )
{
// Temporarily force children to reuse their old measured height
int oldHeight = desiredHeight;
- childOwner.SetProperty( Toolkit::LayoutBase::ChildProperty::HEIGHT_SPECIFICATION, childLayout->GetMeasuredHeight().mValue );
+ childOwner.SetProperty( Toolkit::LayoutItem::ChildProperty::HEIGHT_SPECIFICATION, childLayout->GetMeasuredHeight().mValue );
// Remeasure with new dimensions
MeasureChildWithMargins( childLayout, uniformMeasureSpec, 0, heightMeasureSpec, 0 );
- childOwner.SetProperty( Toolkit::LayoutBase::ChildProperty::HEIGHT_SPECIFICATION, oldHeight );
+ childOwner.SetProperty( Toolkit::LayoutItem::ChildProperty::HEIGHT_SPECIFICATION, oldHeight );
}
}
}
void VboxLayout::OnLayout( bool changed, LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom )
{
- auto owner = GetOwner();
Extents padding = GetPadding();
LayoutLength childTop( 0 );
auto width = right - left;
// Space available for child
- auto childSpace = width - padding.start - padding.end;
+ auto childSpace = width - (int)padding.start - (int)padding.end;
auto count = GetChildCount();
for( unsigned int childIndex = 0; childIndex < count; childIndex++)
{
- LayoutBasePtr childLayout = GetChildAt( childIndex );
+ LayoutItemPtr childLayout = GetChildAt( childIndex );
if( childLayout != nullptr )
{
auto childWidth = childLayout->GetMeasuredWidth();
auto childHeight = childLayout->GetMeasuredHeight();
auto childOwner = childLayout->GetOwner();
- auto childMargin = childOwner.GetProperty<Extents>( Toolkit::LayoutGroup::ChildProperty::MARGIN_SPECIFICATION );
+ auto childMargin = childLayout->GetMargin();
childTop += childMargin.top;
- childLeft = ( childSpace - childWidth ) / 2 + childMargin.start - childMargin.end;
+ childLeft = ( childSpace - childWidth ) / 2 + (int)childMargin.start - (int)childMargin.end;
childLayout->Layout( childLeft, childTop, childLeft + childWidth, childTop + childHeight );
- childTop += childHeight + childMargin.bottom + mCellPadding.height;
+ childTop += childHeight + (int)childMargin.bottom + mCellPadding.height;
}
}
}