[Tizen] Update demo to use LinearLayout.
[platform/core/uifw/dali-demo.git] / examples / layouting / linear-example.cpp
index a499005..9f56222 100644 (file)
@@ -20,8 +20,7 @@
 #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;
@@ -69,6 +68,11 @@ void CreateChildImageView( ImageView& imageView, const char* filename, Size size
 namespace Demo
 {
 
+LinearExample::LinearExample()
+: mLTRDirection(true)
+{
+}
+
 void LinearExample::Create()
 {
   auto stage = Stage::GetCurrent();
@@ -93,10 +97,9 @@ void LinearExample::Create()
 
   // 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 );
@@ -129,7 +132,7 @@ void LinearExample::Remove()
 // 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 );
@@ -141,27 +144,23 @@ bool LinearExample::OnDirectionClicked( Button button )
     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