#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
/**
* @file linear-example.hcpp
* @brief Example of a Linear Layout with mirror feature and
- * tranisition from horizontal to vertical.
+ * transition from horizontal to vertical.
*/
class LinearExample final: public ConnectionTracker, public Example
{
public:
+ LinearExample();
// Creates a Linear Layout Example and displays it.
virtual void Create() override;
PushButton mDirectionButton;
PushButton mRotateButton;
Control mLinearContainer;
- bool mDirection = false;
- bool mIsHorizontal = true;
+ bool mLTRDirection;
}; // class LinearContainer
} // namespace Demo
#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/absolute-layout.h>
+#include <dali-toolkit/devel-api/layouting/linear-layout.h>
using namespace Dali;
using namespace Dali::Toolkit;
// Create a table view to show a pair of buttons above each image.
mHorizontalBox = Control::New();
- // Create HBoxLayout for this control.
- auto hboxLayout = HboxLayout::New();
+ // Create LinearLayout for this control.
+ auto hboxLayout = LinearLayout::New();
DevelControl::SetLayout( mHorizontalBox, hboxLayout );
mHorizontalBox.SetName("HBox");
mHorizontalBox.SetBackgroundColor( Color::WHITE );