#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
#include <dali-toolkit/devel-api/controls/control-devel.h>
-#include <dali-toolkit/devel-api/layouting/hbox-layout.h>
-#include <dali-toolkit/devel-api/layouting/vbox-layout.h>
+#include <dali-toolkit/devel-api/layouting/linear-layout.h>
using namespace Dali;
using namespace Dali::Toolkit;
namespace Demo
{
+LinearExample::LinearExample()
+: mLTRDirection(true)
+{
+}
+
void LinearExample::Create()
{
auto stage = Stage::GetCurrent();
// Create a linear layout
mLinearContainer = Control::New();
- mIsHorizontal = false;
-
- auto layout = VboxLayout::New();
+ auto layout = LinearLayout::New();
layout.SetAnimateLayout(true);
+ layout.SetOrientation( LinearLayout::Orientation::VERTICAL );
DevelControl::SetLayout( mLinearContainer, layout );
mLinearContainer.SetParentOrigin( ParentOrigin::CENTER );
// Mirror items in layout
bool LinearExample::OnDirectionClicked( Button button )
{
- if( mDirection )
+ if( !mLTRDirection )
{
mDirectionButton.SetProperty( PushButton::Property::UNSELECTED_ICON, LTR_IMAGE );
mDirectionButton.SetProperty( PushButton::Property::SELECTED_ICON, LTR_SELECTED_IMAGE );
mDirectionButton.SetProperty( PushButton::Property::SELECTED_ICON, RTL_SELECTED_IMAGE );
mLinearContainer.SetProperty( Actor::Property::LAYOUT_DIRECTION, LayoutDirection::RIGHT_TO_LEFT );
}
- mDirection = !mDirection;
+ mLTRDirection = !mLTRDirection;
return true;
}
// Rotate layout by changing layout
bool LinearExample::OnRotateClicked( Button button )
{
- mIsHorizontal = !mIsHorizontal;
- if( mIsHorizontal )
+ auto layout = LinearLayout::DownCast( DevelControl::GetLayout( mLinearContainer ) );
+ if( layout.GetOrientation() == LinearLayout::Orientation::VERTICAL )
{
- auto hboxLayout = HboxLayout::New();
- hboxLayout.SetAnimateLayout(true);
- DevelControl::SetLayout( mLinearContainer, hboxLayout );
+ layout.SetOrientation( LinearLayout::Orientation::HORIZONTAL );
}
else
{
- auto vboxLayout = VboxLayout::New();
- vboxLayout.SetAnimateLayout(true);
- DevelControl::SetLayout( mLinearContainer, vboxLayout );
+ layout.SetOrientation( LinearLayout::Orientation::VERTICAL );
}
return true;
}
-} // namespace Demo
\ No newline at end of file
+} // namespace Demo