From 834ddf7832598a57fc18c282371554a1ed8f0a78 Mon Sep 17 00:00:00 2001 From: Kingsley Stephens Date: Thu, 20 Nov 2014 12:55:55 +0000 Subject: [PATCH] New size negotiation Change-Id: I9867577af2cb5516f8342aa4835db32b42881da9 --- .../dali-toolkit-test-utils/test-application.cpp | 2 + .../src/dali-toolkit/utc-Dali-Alignment.cpp | 6 +- .../src/dali-toolkit/utc-Dali-Control.cpp | 66 -- .../src/dali-toolkit/utc-Dali-ControlImpl.cpp | 36 +- .../src/dali-toolkit/utc-Dali-Popup.cpp | 7 +- .../src/dali-toolkit/utc-Dali-Slider.cpp | 2 +- .../src/dali-toolkit/utc-Dali-TableView.cpp | 68 +- .../src/dali-toolkit/utc-Dali-TextView.cpp | 4 +- .../src/dali-toolkit/utc-Dali-ToolBar.cpp | 26 +- automated-tests/src/dali-toolkit/utc-Dali-View.cpp | 3 +- dali-toolkit/images/00_popup_bg.9.png | Bin 0 -> 1411 bytes dali-toolkit/images/00_popup_bg.png | Bin 4323 -> 4234 bytes dali-toolkit/internal/builder/builder-impl.cpp | 3 + .../internal/controls/alignment/alignment-impl.cpp | 43 +- .../internal/controls/alignment/alignment-impl.h | 2 +- .../controls/buttons/check-box-button-impl.cpp | 38 +- .../controls/buttons/check-box-button-impl.h | 13 +- .../internal/controls/buttons/push-button-impl.cpp | 118 +-- .../internal/controls/buttons/push-button-impl.h | 2 +- .../controls/buttons/radio-button-impl.cpp | 148 +--- .../internal/controls/buttons/radio-button-impl.h | 14 +- .../internal/controls/magnifier/magnifier-impl.cpp | 1 + .../navigation-frame/navigation-control-impl.cpp | 11 +- .../navigation-frame/navigation-control-impl.h | 2 +- .../internal/controls/popup/popup-impl.cpp | 373 ++++---- dali-toolkit/internal/controls/popup/popup-impl.h | 22 +- .../internal/controls/popup/popup-style-impl.cpp | 6 +- .../internal/controls/relayout-controller-impl.cpp | 233 ----- .../internal/controls/relayout-controller-impl.h | 124 --- .../internal/controls/relayout-controller.cpp | 103 --- .../internal/controls/relayout-controller.h | 73 -- dali-toolkit/internal/controls/relayout-helper.cpp | 148 ---- dali-toolkit/internal/controls/relayout-helper.h | 73 -- .../scrollable/item-view/item-view-impl.cpp | 46 +- .../controls/scrollable/item-view/item-view-impl.h | 5 + .../controls/shadow-view/shadow-view-impl.cpp | 8 +- .../internal/controls/slider/slider-impl.cpp | 7 +- .../super-blur-view/super-blur-view-impl.cpp | 2 +- .../super-blur-view/super-blur-view-impl.h | 2 +- .../controls/table-view/table-view-impl.cpp | 958 +++++++++++++-------- .../internal/controls/table-view/table-view-impl.h | 234 ++++- .../controls/text-input/text-input-impl.cpp | 8 +- .../internal/controls/text-input/text-input-impl.h | 2 +- .../controls/text-input/text-input-popup-impl.cpp | 10 +- .../controls/text-view/relayout-utilities.cpp | 4 + .../internal/controls/text-view/text-view-impl.cpp | 4 +- .../internal/controls/text-view/text-view-impl.h | 2 +- .../internal/controls/tool-bar/tool-bar-impl.cpp | 9 +- dali-toolkit/internal/controls/view/view-impl.cpp | 14 +- dali-toolkit/internal/controls/view/view-impl.h | 6 +- dali-toolkit/internal/file.list | 3 - .../internal/focus-manager/focus-manager-impl.cpp | 2 +- .../focus-manager/keyboard-focus-manager-impl.cpp | 2 +- .../cube-transition-effect-impl.cpp | 2 + dali-toolkit/public-api/controls/control-impl.cpp | 476 +--------- dali-toolkit/public-api/controls/control-impl.h | 137 +-- dali-toolkit/public-api/controls/control.cpp | 45 - dali-toolkit/public-api/controls/control.h | 99 --- dali-toolkit/public-api/controls/popup/popup.cpp | 5 + dali-toolkit/public-api/controls/popup/popup.h | 5 + .../controls/scrollable/item-view/item-view.cpp | 5 + .../controls/scrollable/item-view/item-view.h | 5 + .../public-api/controls/table-view/table-view.cpp | 25 + .../public-api/controls/table-view/table-view.h | 46 +- .../content/images/size-negotiation/Algorithm1.png | Bin 28104 -> 0 bytes .../images/size-negotiation/Algorithm10.png | Bin 19176 -> 0 bytes .../content/images/size-negotiation/Algorithm2.png | Bin 20677 -> 0 bytes .../content/images/size-negotiation/Algorithm3.png | Bin 26522 -> 0 bytes .../content/images/size-negotiation/Algorithm4.png | Bin 19243 -> 0 bytes .../content/images/size-negotiation/Algorithm8.png | Bin 12903 -> 0 bytes .../content/images/size-negotiation/Algorithm9.png | Bin 21807 -> 0 bytes .../size-negotiation/FixedWidthFlexibleHeight.png | Bin 81508 -> 0 bytes .../size-negotiation/FixedWidthFlexibleHeight2.png | Bin 80250 -> 0 bytes .../images/size-negotiation/FixedWidthHeight.png | Bin 81499 -> 0 bytes .../images/size-negotiation/FixedWidthHeight2.png | Bin 78927 -> 0 bytes .../size-negotiation/FlexibleWidthFixedHeight.png | Bin 80901 -> 0 bytes .../size-negotiation/FlexibleWidthFixedHeight2.png | Bin 78724 -> 0 bytes .../size-negotiation/FlexibleWidthHeight.png | Bin 71815 -> 0 bytes docs/content/images/size-negotiation/Popup.png | Bin 0 -> 38362 bytes .../images/size-negotiation/PopupExample.png | Bin 0 -> 35137 bytes .../images/size-negotiation/ResizePolicies.png | Bin 0 -> 15054 bytes .../size-negotiation/ResizePoliciesExample.png | Bin 0 -> 13224 bytes .../SizeNegotiationExample_After.png | Bin 0 -> 15422 bytes .../SizeNegotiationExample_Before.png | Bin 0 -> 6532 bytes docs/content/main-page.h | 5 +- .../programming-guide/size-negotiation-controls.h | 256 ++++++ docs/content/programming-guide/size-negotiation.h | 697 ++++++--------- .../src/constants/constants-wrapper.cpp | 1 - 88 files changed, 1967 insertions(+), 2940 deletions(-) create mode 100644 dali-toolkit/images/00_popup_bg.9.png delete mode 100644 dali-toolkit/internal/controls/relayout-controller-impl.cpp delete mode 100644 dali-toolkit/internal/controls/relayout-controller-impl.h delete mode 100644 dali-toolkit/internal/controls/relayout-controller.cpp delete mode 100644 dali-toolkit/internal/controls/relayout-controller.h delete mode 100644 dali-toolkit/internal/controls/relayout-helper.cpp delete mode 100644 dali-toolkit/internal/controls/relayout-helper.h delete mode 100644 docs/content/images/size-negotiation/Algorithm1.png delete mode 100644 docs/content/images/size-negotiation/Algorithm10.png delete mode 100644 docs/content/images/size-negotiation/Algorithm2.png delete mode 100644 docs/content/images/size-negotiation/Algorithm3.png delete mode 100644 docs/content/images/size-negotiation/Algorithm4.png delete mode 100644 docs/content/images/size-negotiation/Algorithm8.png delete mode 100644 docs/content/images/size-negotiation/Algorithm9.png delete mode 100644 docs/content/images/size-negotiation/FixedWidthFlexibleHeight.png delete mode 100644 docs/content/images/size-negotiation/FixedWidthFlexibleHeight2.png delete mode 100644 docs/content/images/size-negotiation/FixedWidthHeight.png delete mode 100644 docs/content/images/size-negotiation/FixedWidthHeight2.png delete mode 100644 docs/content/images/size-negotiation/FlexibleWidthFixedHeight.png delete mode 100644 docs/content/images/size-negotiation/FlexibleWidthFixedHeight2.png delete mode 100644 docs/content/images/size-negotiation/FlexibleWidthHeight.png create mode 100644 docs/content/images/size-negotiation/Popup.png create mode 100644 docs/content/images/size-negotiation/PopupExample.png create mode 100644 docs/content/images/size-negotiation/ResizePolicies.png create mode 100644 docs/content/images/size-negotiation/ResizePoliciesExample.png create mode 100644 docs/content/images/size-negotiation/SizeNegotiationExample_After.png create mode 100644 docs/content/images/size-negotiation/SizeNegotiationExample_Before.png create mode 100644 docs/content/programming-guide/size-negotiation-controls.h diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp index 89138eb..df3ae2e 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp @@ -72,6 +72,8 @@ void TestApplication::Initialize() Dali::Integration::Log::LogFunction logFunction(&TestApplication::LogMessage); Dali::Integration::Log::InstallLogFunction(logFunction); + + mCore->SceneCreated(); } TestApplication::~TestApplication() diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Alignment.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Alignment.cpp index 6d3fa86..4dcef68 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Alignment.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Alignment.cpp @@ -934,15 +934,15 @@ int UtcDaliAlignmentOnSizeSet(void) application.Render(); application.SendNotification(); - Vector3 size(100.0f, 200.0f, 0.0f); - alignment.SetSize(size); + Vector2 size( 100.0f, 200.0f ); + alignment.SetPreferredSize(size); application.Render(); application.SendNotification(); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS(size, alignment.GetImplementation().GetControlSize(), TEST_LOCATION); + DALI_TEST_EQUALS(size, alignment.GetImplementation().GetControlSize().GetVectorXY(), TEST_LOCATION); Stage::GetCurrent().Remove(alignment); END_TEST; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp index eff8b25..aa9e46c 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp @@ -327,27 +327,11 @@ int UtcDaliControlTestParameters(void) ToolkitTestApplication application; DummyControl test = DummyControl::New(); - Vector3 maxSize = test.GetNaturalSize(); - Vector3 minSize = maxSize / 2.0f; - - Toolkit::Control::SizePolicy widthPolicy( Control::Fixed ); - Toolkit::Control::SizePolicy heightPolicy( Control::Fixed ); - test.SetSizePolicy( widthPolicy, heightPolicy ); - test.GetSizePolicy( widthPolicy, heightPolicy ); - - DALI_TEST_CHECK( widthPolicy == Control::Fixed && heightPolicy == Control::Fixed ); - test.SetSize( 0.7f, 0.7f, 0.7f ); float width = 640.0f; float height = test.GetHeightForWidth( width ); DALI_TEST_CHECK( test.GetWidthForHeight( height ) == width ); - test.SetMinimumSize( minSize ); - DALI_TEST_CHECK( test.GetMinimumSize() == minSize ); - - test.SetMaximumSize( maxSize ); - DALI_TEST_CHECK( test.GetMaximumSize() == maxSize ); - test.KeyEventSignal(); // Provide coverage for pointer destructor @@ -439,56 +423,6 @@ int UtcDaliControlBackgroundProperties(void) END_TEST; } -int UtcDaliControlSizePolicyProperties(void) -{ - ToolkitTestApplication application; - - Control control = Control::New(); - - Control::SizePolicy widthPolicy( Control::Fixed ); - Control::SizePolicy heightPolicy( Control::Fixed ); - - control.GetSizePolicy( widthPolicy, heightPolicy ); - DALI_TEST_EQUALS( "FIXED", control.GetProperty( Control::Property::WIDTH_POLICY ).Get< std::string >(), TEST_LOCATION ); - DALI_TEST_EQUALS( "FIXED", control.GetProperty( Control::Property::HEIGHT_POLICY ).Get< std::string >(), TEST_LOCATION ); - - control.SetSizePolicy( Control::Flexible, Control::Range ); - DALI_TEST_EQUALS( "FLEXIBLE", control.GetProperty( Control::Property::WIDTH_POLICY ).Get< std::string >(), TEST_LOCATION ); - DALI_TEST_EQUALS( "RANGE", control.GetProperty( Control::Property::HEIGHT_POLICY ).Get< std::string >(), TEST_LOCATION ); - - control.SetProperty( Control::Property::WIDTH_POLICY, "MAXIMUM" ); - control.SetProperty( Control::Property::HEIGHT_POLICY, "MINIMUM" ); - control.GetSizePolicy( widthPolicy, heightPolicy ); - DALI_TEST_EQUALS( Control::Maximum, widthPolicy, TEST_LOCATION ); - DALI_TEST_EQUALS( Control::Minimum, heightPolicy, TEST_LOCATION ); - - END_TEST; -} - -int UtcDaliControlSizeProperties(void) -{ - ToolkitTestApplication application; - - Control control = Control::New(); - - DALI_TEST_EQUALS( control.GetMinimumSize(), control.GetProperty( Control::Property::MINIMUM_SIZE ).Get< Vector3 >(), TEST_LOCATION ); - DALI_TEST_EQUALS( control.GetMaximumSize(), control.GetProperty( Control::Property::MAXIMUM_SIZE ).Get< Vector3 >(), TEST_LOCATION ); - - control.SetMinimumSize( Vector3( 100.0f, 200.0f, 300.0f ) ); - DALI_TEST_EQUALS( Vector3( 100.0f, 200.0f, 300.0f ), control.GetProperty( Control::Property::MINIMUM_SIZE ).Get< Vector3 >(), TEST_LOCATION ); - - - control.SetMaximumSize( Vector3( 200.0f, 250.0f, 800.0f ) ); - DALI_TEST_EQUALS( Vector3( 200.0f, 250.0f, 800.0f ), control.GetProperty( Control::Property::MAXIMUM_SIZE ).Get< Vector3 >(), TEST_LOCATION ); - - control.SetProperty( Control::Property::MINIMUM_SIZE, Vector3( 1.0f, 2.0f, 3.0f ) ); - control.SetProperty( Control::Property::MAXIMUM_SIZE, Vector3( 10.0f, 20.0f, 30.0f ) ); - DALI_TEST_EQUALS( control.GetMinimumSize(), Vector3( 1.0f, 2.0f, 3.0f ), TEST_LOCATION ); - DALI_TEST_EQUALS( control.GetMaximumSize(), Vector3( 10.0f, 20.0f, 30.0f ), TEST_LOCATION ); - - END_TEST; -} - int UtcDaliControlKeyProperties(void) { ToolkitTestApplication application; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp index 6965f35..c0cf98c 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp @@ -218,7 +218,8 @@ int UtcDaliControlImplOnGestureMethods(void) // Check gesture actually happens { DummyControl dummy = DummyControl::New(true); - dummy.SetSize( Vector3(100.0f, 100.0f, 100.0f) ); + dummy.SetRelayoutEnabled( true ); + dummy.SetPreferredSize( Vector2(100.0f, 100.0f ) ); dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); Stage::GetCurrent().Add(dummy); @@ -278,7 +279,8 @@ int UtcDaliControlImplOnGestureMethods(void) // Ensure full code coverage { DummyControl dummy = DummyControl::New(); - dummy.SetSize( Vector3(100.0f, 100.0f, 100.0f) ); + dummy.SetRelayoutEnabled( true ); + dummy.SetPreferredSize( Vector2( 100.0f, 100.0f ) ); dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); Stage::GetCurrent().Add(dummy); @@ -443,22 +445,23 @@ int UtcDaliControlImplSizeSet(void) { DummyControl dummy = DummyControl::New( true ); + dummy.SetRelayoutEnabled( true ); DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); Stage::GetCurrent().Add(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, false, TEST_LOCATION ); - Vector3 size(100.0f, 200.0f, 0.0f); - dummy.SetSize(size); + DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, true, TEST_LOCATION ); // Called from size negotiation + Vector2 size(100.0f, 200.0f); + dummy.SetPreferredSize(size); application.Render(); application.SendNotification(); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS(size, dummy.GetCurrentSize(), TEST_LOCATION); + DALI_TEST_EQUALS(size, dummy.GetCurrentSize().GetVectorXY(), TEST_LOCATION); DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, true, TEST_LOCATION ); Stage::GetCurrent().Remove(dummy); @@ -467,22 +470,23 @@ int UtcDaliControlImplSizeSet(void) // Ensure full code coverage { DummyControl dummy = DummyControl::New(); + dummy.SetRelayoutEnabled( true ); Stage::GetCurrent().Add(dummy); - Vector3 size(100.0f, 200.0f, 0.0f); - DALI_TEST_CHECK( size != dummy.GetCurrentSize() ); + Vector2 size(100.0f, 200.0f); + DALI_TEST_CHECK( size != dummy.GetCurrentSize().GetVectorXY() ); application.Render(); application.SendNotification(); - dummy.SetSize(size); + dummy.SetPreferredSize(size); application.Render(); application.SendNotification(); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS(size, dummy.GetCurrentSize(), TEST_LOCATION); + DALI_TEST_EQUALS(size, dummy.GetCurrentSize().GetVectorXY(), TEST_LOCATION); Stage::GetCurrent().Remove(dummy); } @@ -542,9 +546,10 @@ int UtcDaliControlImplTouchEvent(void) { DummyControl dummy = DummyControl::New( true ); + dummy.SetRelayoutEnabled( true ); DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); - dummy.SetSize(100.0f, 100.0f); + dummy.SetPreferredSize( Vector2( 100.0f, 100.0f ) ); dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); Stage::GetCurrent().Add(dummy); @@ -566,8 +571,9 @@ int UtcDaliControlImplTouchEvent(void) // Ensure full code coverage { DummyControl dummy = DummyControl::New(); + dummy.SetRelayoutEnabled( true ); - dummy.SetSize(100.0f, 100.0f); + dummy.SetPreferredSize( Vector2( 100.0f, 100.0f ) ); dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); Stage::GetCurrent().Add(dummy); @@ -767,9 +773,10 @@ int UtcDaliControlImplMouseWheelEvent(void) { DummyControl dummy = DummyControl::New( true ); + dummy.SetRelayoutEnabled( true ); DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); - dummy.SetSize(100.0f, 100.0f); + dummy.SetPreferredSize( Vector2( 100.0f, 100.0f ) ); dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); Stage::GetCurrent().Add(dummy); @@ -794,8 +801,9 @@ int UtcDaliControlImplMouseWheelEvent(void) // Ensure full code coverage { DummyControl dummy = DummyControl::New(); + dummy.SetRelayoutEnabled( true ); - dummy.SetSize(100.0f, 100.0f); + dummy.SetPreferredSize( Vector2( 100.0f, 100.0f ) ); dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); Stage::GetCurrent().Add(dummy); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp index 4374bfa..1f2ecc7 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp @@ -279,7 +279,6 @@ int UtcDaliPopupSetState(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); ImageActor backgroundImage = CreateSolidColorActor( Color::RED ); popup.SetBackgroundImage(backgroundImage); @@ -303,7 +302,6 @@ int UtcDaliPopupSetStateSlow(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); ImageActor backgroundImage = CreateSolidColorActor( Color::RED ); popup.SetBackgroundImage(backgroundImage); @@ -337,7 +335,6 @@ int UtcDaliPopupShowHide(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); popup.HiddenSignal().Connect( &OnPopupHidden ); ImageActor backgroundImage = CreateSolidColorActor( Color::RED ); @@ -345,9 +342,9 @@ int UtcDaliPopupShowHide(void) PushButton button1 = PushButton::New(); PushButton button2 = PushButton::New(); - button1.SetSize(DEFAULT_BUTTON_SIZE); + button1.SetPreferredSize(DEFAULT_BUTTON_SIZE.GetVectorXY()); popup.AddButton(button1); - button2.SetSize(DEFAULT_BUTTON_SIZE); + button2.SetPreferredSize(DEFAULT_BUTTON_SIZE.GetVectorXY()); popup.AddButton(button2); // Showing/Hiding popup, results in all child Actors being diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp index 8fd2fb6..d5d2ef0 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp @@ -125,7 +125,7 @@ int UtcDaliSliderSignals(void) Stage::GetCurrent().Add( slider ); slider.SetParentOrigin(ParentOrigin::TOP_LEFT); slider.SetAnchorPoint(ParentOrigin::TOP_LEFT); - slider.SetSize( Stage::GetCurrent().GetSize().x, 20.0f ); + slider.SetPreferredSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) ); slider.SetPosition( 0.0f, 0.0f ); const float MIN_BOUND = 0.0f; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp index 8773187..484453c 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp @@ -67,23 +67,28 @@ struct Constraint100 // Convenience function to quickly set up a 10x10 table with each cell being 10x10 pixels in size by default. static void SetupTableViewAndActors(TableView& tableView, Actor& actor1, Actor& actor2, Actor& actor3) { - tableView = TableView::New(10,10); // 10 by 10 grid. - DALI_TEST_CHECK(tableView); + tableView = TableView::New( 10, 10 ); // 10 by 10 grid. + DALI_TEST_CHECK( tableView ); + + tableView.SetRelayoutEnabled( true ); Stage::GetCurrent().Add( tableView ); - tableView.SetSize( Dali::Vector3( 100.0f, 100.0f, 100.0f ) ); + tableView.SetPreferredSize( Dali::Vector2( 100.0f, 100.0f ) ); actor1 = Actor::New(); actor2 = Actor::New(); actor3 = Actor::New(); - actor1.SetSize(10,10); - actor2.SetSize(10,10); - actor3.SetSize(10,10); + actor1.SetRelayoutEnabled( true ); + actor1.SetPreferredSize( Dali::Vector2( 10, 10 ) ); + actor2.SetRelayoutEnabled( true ); + actor2.SetPreferredSize( Dali::Vector2( 10, 10 ) ); + actor3.SetRelayoutEnabled( true ); + actor3.SetPreferredSize( Dali::Vector2( 10, 10 ) ); - tableView.AddChild(actor1, TableView::CellPosition(0,0)); - tableView.AddChild(actor2, TableView::CellPosition(0,1)); - tableView.AddChild(actor3, TableView::CellPosition(1,0)); + tableView.AddChild( actor1, TableView::CellPosition( 0, 0 ) ); + tableView.AddChild( actor2, TableView::CellPosition( 0, 1 ) ); + tableView.AddChild( actor3, TableView::CellPosition( 1, 0 ) ); } } // namespace @@ -438,7 +443,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "rowIndex < mFixedHeights.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try @@ -450,7 +455,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "rowIndex < mFixedHeights.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try @@ -462,7 +467,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "columnIndex < mFixedWidths.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } try @@ -474,7 +479,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "columnIndex < mFixedWidths.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } // relatives... @@ -488,7 +493,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "rowIndex < mRelativeHeights.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try @@ -500,7 +505,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "rowIndex < mRelativeHeights.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try @@ -512,7 +517,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "columnIndex < mRelativeWidths.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } try @@ -524,7 +529,7 @@ int UtcDaliTableViewMetricsAssert(void) catch( Dali::DaliException& e ) { DALI_TEST_PRINT_ASSERT( e ); - DALI_TEST_EQUALS(e.condition, "columnIndex < mRelativeWidths.size()", TEST_LOCATION); + DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } END_TEST; } @@ -536,7 +541,7 @@ int UtcDaliTableViewSetGetProperty(void) // Create a 1x1 table-view TableView tableView = TableView::New(1,1); - tableView.ApplyConstraint( Constraint::New( Actor::Property::SIZE, Constraint100() ) ); + tableView.SetPreferredSize( Vector2( 100.0f, 100.0f ) ); DALI_TEST_CHECK( tableView ); // Test "rows" property @@ -591,12 +596,14 @@ int UtcDaliTableViewSetGetProperty(void) DALI_TEST_EQUALS( tableView.GetRelativeHeight( 3u ), 0.2f, TEST_LOCATION ); Property::Map layoutRowsGet = tableView.GetProperty(TableView::Property::LAYOUT_ROWS).Get(); - DALI_TEST_CHECK( layoutRowsGet.GetKey(0).compare(layoutRows.GetKey(0)) == 0 ); - DALI_TEST_CHECK( layoutRowsGet.GetValue(0).GetValue( "policy" ).Get().compare(layoutRows.GetValue(0).GetValue( "policy" ).Get()) == 0 ); - DALI_TEST_EQUALS( layoutRowsGet.GetValue(0).GetValue( "value" ).Get(),layoutRows.GetValue(0).GetValue( "value" ).Get(), TEST_LOCATION ); - DALI_TEST_CHECK( layoutRowsGet.GetKey(1).compare(layoutRows.GetKey(1)) == 0 ); - DALI_TEST_CHECK( layoutRowsGet.GetValue(1).GetValue( "policy" ).Get().compare(layoutRows.GetValue(1).GetValue( "policy" ).Get()) == 0 ); - DALI_TEST_EQUALS( layoutRowsGet.GetValue(1).GetValue( "value" ).Get(),layoutRows.GetValue(1).GetValue( "value" ).Get(), TEST_LOCATION ); + + DALI_TEST_EQUALS( layoutRowsGet.GetKey(1).compare(layoutRows.GetKey(0)), 0, TEST_LOCATION ); + DALI_TEST_CHECK( layoutRowsGet.GetValue(1).GetValue( "policy" ).Get().compare(layoutRows.GetValue(0).GetValue( "policy" ).Get()) == 0 ); + DALI_TEST_EQUALS( layoutRowsGet.GetValue(1).GetValue( "value" ).Get(), layoutRows.GetValue(0).GetValue( "value" ).Get(), TEST_LOCATION ); + + DALI_TEST_CHECK( layoutRowsGet.GetKey(3).compare(layoutRows.GetKey(1)) == 0 ); + DALI_TEST_CHECK( layoutRowsGet.GetValue(3).GetValue( "policy" ).Get().compare(layoutRows.GetValue(1).GetValue( "policy" ).Get()) == 0 ); + DALI_TEST_EQUALS( layoutRowsGet.GetValue(3).GetValue( "value" ).Get(), layoutRows.GetValue(1).GetValue( "value" ).Get(), TEST_LOCATION ); // Test "layout-columns" property DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_LAYOUT_COLUMNS ) == TableView::Property::LAYOUT_COLUMNS ); @@ -617,12 +624,13 @@ int UtcDaliTableViewSetGetProperty(void) DALI_TEST_EQUALS( tableView.GetFixedWidth( 3u ), 30.f, TEST_LOCATION ); Property::Map layoutColumnsGet = tableView.GetProperty(TableView::Property::LAYOUT_COLUMNS).Get(); - DALI_TEST_CHECK( layoutColumnsGet.GetKey(0).compare(layoutColumns.GetKey(0)) == 0 ); - DALI_TEST_CHECK( layoutColumnsGet.GetValue(0).GetValue( "policy" ).Get().compare(layoutColumns.GetValue(0).GetValue( "policy" ).Get()) == 0 ); - DALI_TEST_EQUALS( layoutColumnsGet.GetValue(0).GetValue( "value" ).Get(),layoutColumns.GetValue(0).GetValue( "value" ).Get(), TEST_LOCATION ); - DALI_TEST_CHECK( layoutColumnsGet.GetKey(1).compare(layoutColumns.GetKey(1)) == 0 ); - DALI_TEST_CHECK( layoutColumnsGet.GetValue(1).GetValue( "policy" ).Get().compare(layoutColumns.GetValue(1).GetValue( "policy" ).Get()) == 0 ); - DALI_TEST_EQUALS( layoutColumnsGet.GetValue(1).GetValue( "value" ).Get(),layoutColumns.GetValue(1).GetValue( "value" ).Get(), TEST_LOCATION ); + DALI_TEST_CHECK( layoutColumnsGet.GetKey(2).compare(layoutColumns.GetKey(0)) == 0 ); + DALI_TEST_CHECK( layoutColumnsGet.GetValue(2).GetValue( "policy" ).Get().compare(layoutColumns.GetValue(0).GetValue( "policy" ).Get()) == 0 ); + DALI_TEST_EQUALS( layoutColumnsGet.GetValue(2).GetValue( "value" ).Get(),layoutColumns.GetValue(0).GetValue( "value" ).Get(), TEST_LOCATION ); + + DALI_TEST_CHECK( layoutColumnsGet.GetKey(3).compare(layoutColumns.GetKey(1)) == 0 ); + DALI_TEST_CHECK( layoutColumnsGet.GetValue(3).GetValue( "policy" ).Get().compare(layoutColumns.GetValue(1).GetValue( "policy" ).Get()) == 0 ); + DALI_TEST_EQUALS( layoutColumnsGet.GetValue(3).GetValue( "value" ).Get(),layoutColumns.GetValue(1).GetValue( "value" ).Get(), TEST_LOCATION ); END_TEST; } diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextView.cpp index cb3f34a..b3e55e8 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextView.cpp @@ -530,9 +530,9 @@ int UtcDaliTextViewTestLayoutOptions02(void) DALI_TEST_EQUALS( position.height, positions[index].height, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); } - textView.SetSize( 50.f, 50.f ); + textView.SetPreferredSize( Vector2( 50.0f, 50.0f ) ); textView.SetTextAlignment( static_cast( Alignment::HorizontalCenter | Alignment::VerticalCenter ) ); - textView.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed ); + textView.SetResizePolicy( FIXED, ALL_DIMENSIONS ); textView.SetLineJustification( Toolkit::TextView::Left ); application.SendNotification(); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ToolBar.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ToolBar.cpp index 4b03c11..e1042b2 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ToolBar.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ToolBar.cpp @@ -114,18 +114,23 @@ int UtcDaliToolBarAddControl01(void) try { ImageActor control1 = CreateSolidColorActor( Color::RED ); - control1.SetSize( 100.f, 100.f ); + control1.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control1.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ImageActor control2 = CreateSolidColorActor( Color::RED ); - control2.SetSize( 100.f, 100.f ); + control2.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control2.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ImageActor control3 = CreateSolidColorActor( Color::RED ); - control3.SetSize( 100.f, 100.f ); + control3.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control3.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ImageActor control4 = CreateSolidColorActor( Color::RED ); - control4.SetSize( 100.f, 100.f ); + control4.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control4.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ImageActor control5 = CreateSolidColorActor( Color::RED ); - control5.SetSize( 100.f, 100.f ); + control5.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control5.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ToolBar toolbar = ToolBar::New(); - toolbar.SetSize( 600.f, 100.f ); + toolbar.SetPreferredSize( Vector2( 600.f, 100.f ) ); application.Render(); application.SendNotification(); @@ -139,11 +144,14 @@ int UtcDaliToolBarAddControl01(void) toolbar.AddControl( control5, 0.1f, Alignment::HorizontalRight, Alignment::Padding( 1.f, 1.f, 1.f, 1.f ) ); ImageActor control6 = CreateSolidColorActor( Color::RED ); - control6.SetSize( 100.f, 100.f ); + control6.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control6.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ImageActor control7 = CreateSolidColorActor( Color::RED ); - control7.SetSize( 100.f, 100.f ); + control7.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control7.SetResizePolicy( FIXED, ALL_DIMENSIONS ); ImageActor control8 = CreateSolidColorActor( Color::RED ); - control8.SetSize( 100.f, 100.f ); + control8.SetPreferredSize( Vector2( 100.f, 100.f ) ); + control8.SetResizePolicy( FIXED, ALL_DIMENSIONS ); application.Render(); application.SendNotification(); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-View.cpp b/automated-tests/src/dali-toolkit/utc-Dali-View.cpp index 21a57df..2d28fd2 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-View.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-View.cpp @@ -305,9 +305,10 @@ int UtcDaliViewOrientationChanged(void) try { View view = View::New(); + view.SetRelayoutEnabled( true ); Stage::GetCurrent().Add( view ); - view.SetSize( 480, 800 ); + view.SetPreferredSize( Vector2( 480, 800 ) ); view.OrientationAnimationStartedSignal().Connect( &StartAnimation ); diff --git a/dali-toolkit/images/00_popup_bg.9.png b/dali-toolkit/images/00_popup_bg.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f5b3fa4e63a4817d9e098d01c3e06e7cb6b3b0 GIT binary patch literal 1411 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 delta 1625 zcmV-f2B!InA>$#C7Yb1b1^@s6nY2|uu_22Jf87Qg5HB`1d$v*l00tFFL_t(|+U=Xq zPTWQu$A7=^EbJDsus~XFK?RnGLaQM94r!rMrAq0sPtf+#r|2!}6Z9J8&;z0AJA|TW zOH~$-$Sn%6Y=D#vwr6@Mrqf^MpS?DTB9An(!Dj8x{{GE;XFw?>001B&S(sB*6K=M9;P`Rc9Lr)i!hToYWWgcLrZyz=1Xn;1o zlr;P-FYlKIcyz(>3{WN@Q+HX+)+vNH98VcDx)*1Lb2PZBv_J{Nxygl%a6APRQ;rmb zk&ep!XhnyODA3%)3>Fi_G6Dc%0td=9MvkeIhbaN* ztP?1m5zxRBOod?zV65B+SR$cW{o1uE1ep;+^!IO`ctnF$%OR05+OIRUm=EU{41lh2PVWdRk}GbR!4e_<)K zSgLZ_2bA*)0SgQkiwRhG*_r1M46|fK^^X{V(?Ja;aPuE6%{Ff>t_;^lKjpmg0U}lm zqwp{a!)K?b-N)^}S`Yu+`hADQrD^Du#F^As?LPoAZBa8IjVbDO3D6(_4AyEx?|ruV z^|zyq@h{rD`*_&t!g=o%2%*o+e~dAxRR>{WY!sR^Q}RW(v;Nz!4}Lm3eQ^o^uatgq zX~{@A#-`G6#iIe!rF2e!1{APrtu{3D=nR23m2r&EM6uduCfAY(N zpMN+%fB6ysdJ5PD0gNQvrLt|T#;FlNdN$RxIVgk z)amA?5gc{8FkBy9cDNv9e|1G9_n=`Y#W}A`p7(mWft~kyzokS$$xUV1XrJVA>e-bxY>? z_gNcrKzYrKZG~A^oYiq+QEh+>s%=FY(^^a#Br>oFExD=H7TwYLe{7cWLAh(~MLm~! zsceJq#zD@VUfPAA;Ua_77S3=VKHIJgfb6T z)Ik*uCM=fA9AnY}6>BuVJe#U(xZKhS=5jwl9#}M(&55W0a zpjNHISYrg{u1UK$Np2ioUuk)LwPj(c*}V1f>hSQ$GUt^^L<|h#XfF&eo}ZnaZ0>Bg z*0x$3?Zg8Je^5xQ7g@5T6U-#ssPcAE>ti8-iZrpN8t6G0wQ=1(BT7)NfiB76dNq8gxW}ZNn*JW^^sC+pK1)b*4oG)09M)abv@%L->yH zx#xV$wGBaq>Sv!vtN|6C#n}laLBBzS!s*t91?0Oke^44mI}_wI|qH>h?_@(lX-EU9;`zc4_i5g(TQFSlWlav41GY3iifc zv #include #include +#include namespace Dali { @@ -450,7 +451,7 @@ const Toolkit::Alignment::Padding& Alignment::GetPadding() const return mPadding; } -void Alignment::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void Alignment::OnRelayout( const Vector2& size, RelayoutContainer& container ) { // lay out the actors Vector3 anchorPointAndParentOrigin = Vector3::ZERO; @@ -474,59 +475,59 @@ void Alignment::OnRelayout( const Vector2& size, ActorSizeContainer& container ) anchorPointAndParentOrigin.y = 1.0f; } - unsigned int childCount = Self().GetChildCount(); - for( unsigned int i=0; i -#include namespace Dali { @@ -124,7 +123,7 @@ void PushButton::SetButtonImage( Actor image ) buttonImage = image; - FadeInImage( buttonImage ); + FadeInImage( buttonImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -132,7 +131,7 @@ void PushButton::SetButtonImage( Actor image ) else { buttonImage = image; - Self().Add( buttonImage ); + Self().Insert( 0, buttonImage ); } break; } @@ -149,7 +148,7 @@ void PushButton::SetButtonImage( Actor image ) // Replaces the button image. buttonImage = image; - Self().Add( buttonImage ); + Self().Insert( 0, buttonImage ); FadeOutImage( Foreground, buttonImage, opacity ); StartFadeOutAnimation(); @@ -163,7 +162,7 @@ void PushButton::SetButtonImage( Actor image ) buttonImage = image; - FadeInImage( buttonImage ); + FadeInImage( buttonImage, 0.0f, 0 ); StartFadeInAnimation(); break; } @@ -175,7 +174,8 @@ void PushButton::SetButtonImage( Actor image ) buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); buttonImage.SetPosition( 0.f, 0.f, FOREGROUND_DEPTH ); - buttonImage.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + buttonImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); + buttonImage.SetName( "BUTTON_IMAGE" ); } void PushButton::SetSelectedImage( Actor image ) @@ -194,7 +194,7 @@ void PushButton::SetSelectedImage( Actor image ) selectedImage = image; - FadeInImage( selectedImage ); + FadeInImage( selectedImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -202,7 +202,7 @@ void PushButton::SetSelectedImage( Actor image ) else { selectedImage = image; - Self().Add( selectedImage ); + Self().Insert( 0, selectedImage ); } break; } @@ -219,7 +219,7 @@ void PushButton::SetSelectedImage( Actor image ) // Replaces the button image. selectedImage = image; - Self().Add( selectedImage ); + Self().Insert( 0, selectedImage ); FadeOutImage( Foreground, selectedImage, opacity ); StartFadeOutAnimation(); @@ -233,7 +233,7 @@ void PushButton::SetSelectedImage( Actor image ) selectedImage = image; - FadeInImage( selectedImage ); + FadeInImage( selectedImage, 0.0f, 0 ); StartFadeInAnimation(); break; } @@ -245,7 +245,7 @@ void PushButton::SetSelectedImage( Actor image ) selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); selectedImage.SetPosition( 0.f, 0.f, FOREGROUND_DEPTH ); - selectedImage.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + selectedImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); } void PushButton::SetBackgroundImage( Actor image ) @@ -267,7 +267,7 @@ void PushButton::SetBackgroundImage( Actor image ) backgroundImage = image; - FadeInImage( backgroundImage ); + FadeInImage( backgroundImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -275,7 +275,7 @@ void PushButton::SetBackgroundImage( Actor image ) else { backgroundImage = image; - Self().Add( backgroundImage ); + Self().Insert( 0, backgroundImage ); } break; } @@ -292,7 +292,7 @@ void PushButton::SetBackgroundImage( Actor image ) // Replaces the button image. backgroundImage = image; - Self().Add( backgroundImage ); + Self().Insert( 0, backgroundImage ); FadeOutImage( Background, backgroundImage, opacity ); StartFadeOutAnimation(); @@ -306,7 +306,7 @@ void PushButton::SetBackgroundImage( Actor image ) backgroundImage = image; - FadeInImage( backgroundImage ); + FadeInImage( backgroundImage, 0.0f, 0 ); StartFadeInAnimation(); break; } @@ -318,7 +318,7 @@ void PushButton::SetBackgroundImage( Actor image ) backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); backgroundImage.SetPosition( 0.f, 0.f, BACKGROUND_DEPTH ); - backgroundImage.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + backgroundImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); } void PushButton::SetDisabledImage( Actor image ) @@ -338,7 +338,7 @@ void PushButton::SetDisabledImage( Actor image ) disabledImage = image; - FadeInImage( disabledImage ); + FadeInImage( disabledImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -358,7 +358,7 @@ void PushButton::SetDisabledImage( Actor image ) disabledImage = image; - FadeInImage( disabledImage ); + FadeInImage( disabledImage, 0.0f, 0 ); StartFadeInAnimation(); break; } @@ -389,7 +389,7 @@ void PushButton::SetDisabledImage( Actor image ) disabledImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); disabledImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); disabledImage.SetPosition( 0.f, 0.f, FOREGROUND_DEPTH ); - disabledImage.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + disabledImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); } void PushButton::SetDisabledBackgroundImage( Actor image ) @@ -409,7 +409,7 @@ void PushButton::SetDisabledBackgroundImage( Actor image ) disabledBackgroundImage = image; - FadeInImage( disabledBackgroundImage ); + FadeInImage( disabledBackgroundImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -429,7 +429,7 @@ void PushButton::SetDisabledBackgroundImage( Actor image ) disabledBackgroundImage = image; - FadeInImage( disabledBackgroundImage ); + FadeInImage( disabledBackgroundImage, 0.0f, 0 ); StartFadeInAnimation(); break; } @@ -460,7 +460,7 @@ void PushButton::SetDisabledBackgroundImage( Actor image ) disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); disabledBackgroundImage.SetPosition( 0.f, 0.f, BACKGROUND_DEPTH ); - disabledBackgroundImage.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + disabledBackgroundImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); } void PushButton::OnButtonInitialize() @@ -468,6 +468,9 @@ void PushButton::OnButtonInitialize() // Push button requires the Leave event. Actor root = Self(); root.SetLeaveRequired( true ); + + // Set resize policy to natural size so that buttons will resize to background images + root.SetResizePolicy( USE_NATURAL_SIZE, ALL_DIMENSIONS ); } void PushButton::OnLabelSet() @@ -497,7 +500,7 @@ void PushButton::OnSelected( bool selected ) { StopFadeOutAnimation(); FadeOutImage( Foreground, buttonImage ); - FadeInImage( selectedImage ); + FadeInImage( selectedImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -515,7 +518,7 @@ void PushButton::OnSelected( bool selected ) { StopFadeOutAnimation(); FadeOutImage( Foreground, selectedImage ); - FadeInImage( buttonImage ); + FadeInImage( buttonImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -540,7 +543,7 @@ void PushButton::OnSelected( bool selected ) StopFadeInAnimation(); FadeOutImage( Foreground, selectedImage, 1.f - opacity ); - FadeInImage( buttonImage, opacity ); + FadeInImage( buttonImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -566,7 +569,7 @@ void PushButton::OnSelected( bool selected ) StopFadeInAnimation(); FadeOutImage( Foreground, buttonImage, 1.f - opacity ); - FadeInImage( selectedImage, opacity ); + FadeInImage( selectedImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -606,8 +609,8 @@ void PushButton::OnDisabled( bool disabled ) StopFadeOutAnimation(); FadeOutImage( Background, backgroundImage ); FadeOutImage( Foreground, buttonImage ); - FadeInImage( disabledBackgroundImage ); - FadeInImage( disabledImage ); + FadeInImage( disabledBackgroundImage, 0.0f, 0 ); + FadeInImage( disabledImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -629,8 +632,8 @@ void PushButton::OnDisabled( bool disabled ) StopFadeOutAnimation(); FadeOutImage( Background, backgroundImage ); FadeOutImage( Foreground, selectedImage ); - FadeInImage( disabledBackgroundImage ); - FadeInImage( disabledImage ); + FadeInImage( disabledBackgroundImage, 0.0f, 0 ); + FadeInImage( disabledImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -652,8 +655,8 @@ void PushButton::OnDisabled( bool disabled ) StopFadeOutAnimation(); FadeOutImage( Background, disabledBackgroundImage ); FadeOutImage( Foreground, disabledImage ); - FadeInImage( backgroundImage ); - FadeInImage( buttonImage ); + FadeInImage( backgroundImage, 0.0f, 0 ); + FadeInImage( buttonImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -675,8 +678,8 @@ void PushButton::OnDisabled( bool disabled ) StopFadeOutAnimation(); FadeOutImage( Background, disabledBackgroundImage ); FadeOutImage( Foreground, disabledImage ); - FadeInImage( backgroundImage ); - FadeInImage( selectedImage ); + FadeInImage( backgroundImage, 0.0f, 0 ); + FadeInImage( selectedImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -706,8 +709,8 @@ void PushButton::OnDisabled( bool disabled ) FadeOutImage( Foreground, selectedImage, 1.f - opacity ); FadeOutImage( Background, backgroundImage ); - FadeInImage( disabledImage ); - FadeInImage( disabledBackgroundImage ); + FadeInImage( disabledImage, 0.0f, 0 ); + FadeInImage( disabledBackgroundImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -738,8 +741,8 @@ void PushButton::OnDisabled( bool disabled ) FadeOutImage( Foreground, buttonImage, 1.f - opacity ); FadeOutImage( Background, backgroundImage ); - FadeInImage( disabledImage ); - FadeInImage( disabledBackgroundImage ); + FadeInImage( disabledImage, 0.0f, 0); + FadeInImage( disabledBackgroundImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -769,8 +772,8 @@ void PushButton::OnDisabled( bool disabled ) FadeOutImage( Foreground, disabledImage, 1.f - opacity ); FadeOutImage( Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( buttonImage, opacity ); - FadeInImage( backgroundImage, opacity ); + FadeInImage( buttonImage, opacity, 0 ); + FadeInImage( backgroundImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -800,8 +803,8 @@ void PushButton::OnDisabled( bool disabled ) FadeOutImage( Foreground, buttonImage, 1.f - opacity ); FadeOutImage( Background, backgroundImage, 1.f - opacity ); - FadeInImage( disabledImage, opacity ); - FadeInImage( disabledBackgroundImage, opacity ); + FadeInImage( disabledImage, opacity, 0 ); + FadeInImage( disabledBackgroundImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -831,8 +834,8 @@ void PushButton::OnDisabled( bool disabled ) FadeOutImage( Foreground, disabledImage, 1.f - opacity ); FadeOutImage( Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( selectedImage, opacity ); - FadeInImage( backgroundImage, opacity ); + FadeInImage( selectedImage, opacity, 0 ); + FadeInImage( backgroundImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -862,8 +865,8 @@ void PushButton::OnDisabled( bool disabled ) FadeOutImage( Foreground, selectedImage, 1.f - opacity ); FadeOutImage( Background, backgroundImage, 1.f - opacity ); - FadeInImage( disabledImage, opacity ); - FadeInImage( disabledBackgroundImage, opacity ); + FadeInImage( disabledImage, opacity, 0 ); + FadeInImage( disabledBackgroundImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -896,7 +899,7 @@ void PushButton::OnPressed() { StopFadeOutAnimation(); FadeOutImage( Foreground, buttonImage ); - FadeInImage( selectedImage ); + FadeInImage( selectedImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -929,7 +932,7 @@ void PushButton::OnPressed() StopFadeInAnimation(); FadeOutImage( Foreground, buttonImage, 1.f - opacity ); - FadeInImage( selectedImage, opacity ); + FadeInImage( selectedImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -961,7 +964,7 @@ void PushButton::OnReleased() { StopFadeOutAnimation(); FadeOutImage( Foreground, selectedImage ); - FadeInImage( buttonImage ); + FadeInImage( buttonImage, 0.0f, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -986,7 +989,7 @@ void PushButton::OnReleased() StopFadeInAnimation(); FadeOutImage( Foreground, selectedImage, 1.f - opacity ); - FadeInImage( buttonImage, opacity ); + FadeInImage( buttonImage, opacity, 0 ); StartFadeOutAnimation(); StartFadeInAnimation(); @@ -1041,7 +1044,7 @@ Vector3 PushButton::GetNaturalSize() ImageActor imageActor = FindImageActor( GetButtonImage() ); if( imageActor && imageActor.GetStyle() != ImageActor::STYLE_NINE_PATCH ) { - Vector3 imageSize = RelayoutHelper::GetNaturalSize( imageActor ); + Vector3 imageSize = imageActor.GetNaturalSize(); if( widthIsZero ) { @@ -1057,7 +1060,7 @@ Vector3 PushButton::GetNaturalSize() ImageActor backgroundImageActor = FindImageActor( GetBackgroundImage() ); if( backgroundImageActor && backgroundImageActor.GetStyle() != ImageActor::STYLE_NINE_PATCH ) { - Vector3 imageSize = RelayoutHelper::GetNaturalSize( backgroundImageActor ); + Vector3 imageSize = backgroundImageActor.GetNaturalSize(); if( widthIsZero ) { @@ -1176,14 +1179,21 @@ void PushButton::StopFadeOutAnimation( bool remove ) } } -void PushButton::FadeInImage( Actor& image, float opacity ) +void PushButton::FadeInImage( Actor& image, float opacity, int priority ) { if( image ) { image.SetOpacity( opacity ); if( !image.GetParent() ) { - Self().Add( image ); + if( priority > -1 ) + { + Self().Insert( priority, image ); + } + else + { + Self().Add( image ); + } } AddToFadeInAnimation( image ); diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.h b/dali-toolkit/internal/controls/buttons/push-button-impl.h index 2784bab..89bce4b 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.h +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.h @@ -201,7 +201,7 @@ private: * @param[inout] image The actor. * @param[in] opacity The initial opacity. */ - void FadeInImage( Actor& image, float opacity = 0.f ); + void FadeInImage( Actor& image, float opacity = 0.f, int priority = -1 ); /** * It adds the actor fade out animation and stores it to be removed when the animation finishes. diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp index d1ccebd..05dba27 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp @@ -45,7 +45,7 @@ TypeRegistration typeRegistration( typeid( Toolkit::RadioButton ), typeid( Toolk const char* const UNSELECTED_BUTTON_IMAGE_DIR = DALI_IMAGE_DIR "radio-button-unselected.png"; const char* const SELECTED_BUTTON_IMAGE_DIR = DALI_IMAGE_DIR "radio-button-selected.png"; -const Vector3 DISTANCE_BETWEEN_IMAGE_AND_LABEL(5.0f, 0.0f, 0.0f); +const float DISTANCE_BETWEEN_IMAGE_AND_LABEL = 5.0f; } Dali::Toolkit::RadioButton RadioButton::New() @@ -72,72 +72,48 @@ RadioButton::~RadioButton() { } -void RadioButton::SetButtonImage( Actor image ) +void RadioButton::SetImage( Actor image ) { - Actor& buttonImage = GetButtonImage(); + mLayoutContainer.RemoveChildAt( Toolkit::TableView::CellPosition( 0, 0 ) ); + mLayoutContainer.AddChild( image, Toolkit::TableView::CellPosition( 0, 0 ) ); - if( !IsSelected() ) - { - if( buttonImage && buttonImage.GetParent() ) - { - buttonImage.GetParent().Remove( buttonImage ); - buttonImage.Reset(); - } - - Self().Add( image ); - - Actor& label = GetLabel(); - - if( label ) - { - buttonImage.Remove( label ); - image.Add( label ); - } - } + RelayoutRequest(); +} +void RadioButton::SetButtonImage( Actor image ) +{ + Actor& buttonImage = GetButtonImage(); buttonImage = image; - - buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); } void RadioButton::SetSelectedImage( Actor image ) { Actor& selectedImage = GetSelectedImage(); - - if( IsSelected() ) - { - if( selectedImage && selectedImage.GetParent() ) - { - selectedImage.GetParent().Remove( selectedImage ); - selectedImage.Reset(); - } - - Self().Add( image ); - - Actor& label = GetLabel(); - - if( label ) - { - selectedImage.Remove( label ); - image.Add( label ); - } - } - selectedImage = image; - - selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); } void RadioButton::OnButtonInitialize() { + Actor self = Self(); + + // Wrap size of radio button around all its children + self.SetResizePolicy( FIT_TO_CHILDREN, ALL_DIMENSIONS ); + + // Create the layout container empty at first + mLayoutContainer = Toolkit::TableView::New( 0, 0 ); + mLayoutContainer.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + mLayoutContainer.SetParentOrigin( ParentOrigin::TOP_LEFT ); + mLayoutContainer.SetResizePolicy( FIT_TO_CHILDREN, ALL_DIMENSIONS ); + self.Add( mLayoutContainer ); + Image buttonImage = Dali::ResourceImage::New( UNSELECTED_BUTTON_IMAGE_DIR ); Image selectedImage = Dali::ResourceImage::New( SELECTED_BUTTON_IMAGE_DIR ); SetButtonImage( ImageActor::New( buttonImage ) ); SetSelectedImage( ImageActor::New( selectedImage ) ); + SetImage( GetButtonImage() ); + RelayoutRequest(); } @@ -148,7 +124,7 @@ void RadioButton::OnButtonUp() // Don't allow selection on an already selected radio button if( !IsSelected() ) { - SetSelected(!IsSelected()); + SetSelected( !IsSelected() ); } } } @@ -159,27 +135,16 @@ void RadioButton::OnLabelSet() if( label ) { - label.SetParentOrigin( ParentOrigin::CENTER_RIGHT ); - label.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); - label.TranslateBy( DISTANCE_BETWEEN_IMAGE_AND_LABEL ); + // Add padding to the left of the label to create distance from the image + label.SetPadding( Padding( DISTANCE_BETWEEN_IMAGE_AND_LABEL, 0.0f, 0.0f, 0.0f ) ); - if( IsSelected() ) - { - GetSelectedImage().Add( label ); - } - else - { - GetButtonImage().Add( label ); - } + mLayoutContainer.RemoveChildAt( Toolkit::TableView::CellPosition( 0, 1 ) ); + mLayoutContainer.AddChild( label, Toolkit::TableView::CellPosition( 0, 1 ) ); } } void RadioButton::OnSelected( bool selected ) { - Actor& buttonImage = GetButtonImage(); - Actor& selectedImage = GetSelectedImage(); - Actor& label = GetLabel(); - if( selected ) { Actor parent = Self().GetParent(); @@ -187,69 +152,22 @@ void RadioButton::OnSelected( bool selected ) { for( unsigned int i = 0; i < parent.GetChildCount(); ++i ) { - Dali::Toolkit::RadioButton rbChild = Dali::Toolkit::RadioButton::DownCast(parent.GetChildAt(i)); - - if( rbChild ) + Dali::Toolkit::RadioButton radioButtonChild = Dali::Toolkit::RadioButton::DownCast( parent.GetChildAt( i ) ); + if( radioButtonChild ) { - rbChild.SetSelected(false); + radioButtonChild.SetSelected( false ); } } } - buttonImage.GetParent().Remove( buttonImage ); - Self().Add( selectedImage ); - - if( label ) - { - label.GetParent().Remove( label ); - selectedImage.Add( label ); - } + SetImage( GetSelectedImage() ); } else { - selectedImage.GetParent().Remove( selectedImage ); - Self().Add( buttonImage ); - - if( label ) - { - label.GetParent().Remove( label ); - buttonImage.Add( label ); - } + SetImage( GetButtonImage() ); } } -void RadioButton::OnRelayout( const Vector2& /*size*/, ActorSizeContainer& container ) -{ - Vector3 newSize; - - if( IsSelected() ) - { - newSize = GetSelectedImage().GetNaturalSize(); - } - else - { - newSize = GetButtonImage().GetNaturalSize(); - } - - Actor& label = GetLabel(); - - if( label ) - { - // Offset the label from the radio button image - newSize.width += DISTANCE_BETWEEN_IMAGE_AND_LABEL.width; - - // Find the size of the control using size negotiation - Vector3 actorNaturalSize( label.GetNaturalSize() ); - Control::Relayout( label, Vector2( actorNaturalSize.width, actorNaturalSize.height ), container ); - - Vector3 actorSize( label.GetSize() ); - newSize.width += actorSize.width; - newSize.height = std::max( newSize.height, actorSize.height ); - } - - Self().SetSize( newSize ); -} - } // namespace Internal } // namespace Toolkit diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.h b/dali-toolkit/internal/controls/buttons/radio-button-impl.h index db28905..917f9fe 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.h +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.h @@ -25,6 +25,7 @@ // INTERNAL INCLUDES #include #include +#include #include "button-impl.h" namespace Dali @@ -104,12 +105,14 @@ private: // From Button */ virtual void OnLabelSet(); -private: // From Control +private: /** - * @copydoc Dali::Toolkit::Control::OnRelayout() + * @brief Set the image to display + * + * @param[in] image The image to set */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + void SetImage( Actor image ); private: @@ -118,6 +121,11 @@ private: // Undefined RadioButton& operator=( const RadioButton& origin ); + +private: + + Toolkit::TableView mLayoutContainer; ///< Container to position button images and labels + }; } // namespace Internal diff --git a/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp b/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp index 7521051..37e5776 100644 --- a/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp +++ b/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp @@ -283,6 +283,7 @@ void Magnifier::SetFrameVisibility(bool visible) Image image = ResourceImage::New( DEFAULT_FRAME_IMAGE_PATH ); mFrame = ImageActor::New( image ); + mFrame.SetRelayoutEnabled( false ); mFrame.SetDrawMode(DrawMode::OVERLAY); mFrame.SetStyle( ImageActor::STYLE_NINE_PATCH ); mFrame.SetPositionInheritanceMode(DONT_INHERIT_POSITION); diff --git a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp index ac5244a..91fb19f 100644 --- a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp +++ b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp @@ -23,12 +23,13 @@ #include #include #include +#include // INTERNAL INCLUDES #include #include #include -#include +#include namespace Dali { @@ -284,7 +285,7 @@ Layer NavigationControl::GetBarLayer() const return mBarLayer; } -void NavigationControl::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void NavigationControl::OnRelayout( const Vector2& size, RelayoutContainer& container ) { const Vector2 setSize( size ); @@ -307,11 +308,11 @@ void NavigationControl::OnRelayout( const Vector2& size, ActorSizeContainer& con mCurrentItem.SetPosition( mItemPositionCoefficient * positionOffset); Vector2 itemSize( setSize.x, setSize.y-sizeShrink ); - Relayout(mCurrentItem, itemSize, container); + container.Add( mCurrentItem, itemSize ); } - container.push_back(ActorSizePair( mBarLayer, setSize )); - container.push_back(ActorSizePair( mPopupLayer, setSize )); + container.Add( mBarLayer, setSize ); + container.Add( mPopupLayer, setSize ); } void NavigationControl::OnControlSizeSet( const Vector3& size ) diff --git a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.h b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.h index 41990a2..1e7f0a2 100644 --- a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.h +++ b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.h @@ -157,7 +157,7 @@ private: // override functions from Control /** * @copydoc Control::OnRelayout() */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); /** * @copydoc Control::OnControlSizeSet diff --git a/dali-toolkit/internal/controls/popup/popup-impl.cpp b/dali-toolkit/internal/controls/popup/popup-impl.cpp index ffd79e4..7b8e420 100755 --- a/dali-toolkit/internal/controls/popup/popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-impl.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include // INTERNAL INCLUDES @@ -35,7 +36,6 @@ #include #include #include -#include #include using namespace Dali; @@ -69,9 +69,7 @@ DALI_TYPE_REGISTRATION_END() const char* const PROPERTY_TITLE = "title"; const char* const PROPERTY_STATE = "state"; -const float CONTENT_DEPTH = 1.0f; ///< 3D Effect of buttons/title etc. appearing off the popup. -const float POPUP_ANIMATION_DURATION = 0.5f; ///< Duration of hide/show animations -const float BACKING_DEPTH = -1.0f; ///< Depth of backing (positioned just behind dialog, so dialog catches hit events first) +const float POPUP_ANIMATION_DURATION = 0.45f; ///< Duration of hide/show animations const float POPUP_WIDTH = 720.0f; ///< Width of Popup const float POPUP_OUT_MARGIN_WIDTH = 16.f; ///< Space between the screen edge and the popup edge in the horizontal dimension. @@ -81,40 +79,6 @@ const float POPUP_BUTTON_BG_HEIGHT = 96.f; ///< Height of But const Vector3 DEFAULT_DIALOG_SIZE = Vector3(POPUP_TITLE_WIDTH/POPUP_WIDTH, 0.5f, 0.0f); const Vector3 DEFAULT_BOTTOM_SIZE = Vector3(1.0f, 0.2f, 0.0f); -/** - * The background size should be at least as big as the Dialog. - * In some cases a background may have graphics which are visible - * outside of the Dialog, e.g. A Shadow. For this we need to alter - * the size of Background. - * - * @param[in] outerBorder The border to extend beyond parent's Size. - * @param[in] parentSize The parent's size - */ -Vector3 BackgroundSize(const Vector4& outerBoarder, const Vector3& parentSize) -{ - Vector3 size( parentSize ); - size.width += outerBoarder.x + outerBoarder.y; - size.height += outerBoarder.z + outerBoarder.w; - - return size; -} - - /** - * sets button area size to parent's size plus a border. - * - * @param[in] outerBorder The border to extend beyond parent's Size. - * @param[in] parentSize The parent's size - */ -Vector3 ButtonAreaSize( const Vector4& outBoarder, const Vector3& parentSize ) -{ - Vector3 size( parentSize ); - size.width += outBoarder.x + outBoarder.y; - size.width -= (POPUP_OUT_MARGIN_WIDTH + POPUP_OUT_MARGIN_WIDTH); - size.height = POPUP_BUTTON_BG_HEIGHT; - - return size; -} - } // unnamed namespace /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -152,33 +116,49 @@ Popup::Popup(PopupStyle& style) void Popup::OnInitialize() { + Dali::Stage stage = Dali::Stage::GetCurrent(); + Actor self = Self(); self.SetSensitive(false); + // Reisize to fit the height of children + self.SetResizePolicy( FIT_TO_CHILDREN, HEIGHT ); // Create Layer mLayer = Layer::New(); + mLayer.SetName( "POPUP_LAYER" ); mLayer.SetParentOrigin(ParentOrigin::CENTER); mLayer.SetAnchorPoint(AnchorPoint::CENTER); - mLayer.RaiseToTop(); - self.Add(mLayer); - - mPopupBg = Actor::New(); - mPopupBg.SetParentOrigin(ParentOrigin::CENTER); - mPopupBg.SetAnchorPoint(AnchorPoint::CENTER); - mLayer.Add(mPopupBg); + mLayer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); + mLayer.SetDrawMode( DrawMode::OVERLAY ); // Any content after this point which is added to Self() will be reparented to // mContent. mAlterAddedChild = true; - // Add Backing (Dim effect) CreateBacking(); + mAlterAddedChild = false; // Add Dialog ( background image, title, content container, button container and tail ) CreateDialog(); + mLayer.Add( self ); + + mPopupLayout = Toolkit::TableView::New( 3, 1 ); + mPopupLayout.SetName( "POPUP_LAYOUT_TABLE" ); + mPopupLayout.SetParentOrigin(ParentOrigin::CENTER); + mPopupLayout.SetAnchorPoint(AnchorPoint::CENTER); + mPopupLayout.SetResizePolicy( FILL_TO_PARENT, WIDTH ); + mPopupLayout.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); + mPopupLayout.SetFitHeight( 0 ); // Set row to fit + mPopupLayout.SetFitHeight( 1 ); // Set row to fit + self.Add( mPopupLayout ); + + // Any content after this point which is added to Self() will be reparented to + // mContent. + mAlterAddedChild = true; + // Default content. - ShowTail(ParentOrigin::BOTTOM_CENTER); +// ShowTail(ParentOrigin::BOTTOM_CENTER); // Hide content by default. SetState( Toolkit::Popup::POPUP_HIDE, 0.0f ); @@ -191,6 +171,12 @@ void Popup::OnInitialize() SetAsKeyboardFocusGroup(true); } +void Popup::MarkDirtyForRelayout() +{ + // Flag all the popup controls for relayout as it is about to be hidden and miss the main flagging pass + mLayer.RelayoutRequestTree(); +} + void Popup::OnPropertySet( Property::Index index, Property::Value propertyValue ) { if( index == mPropertyTitle ) @@ -213,6 +199,7 @@ void Popup::OnPropertySet( Property::Index index, Property::Value propertyValue Popup::~Popup() { + mLayer.Unparent(); } size_t Popup::GetButtonCount() const @@ -223,26 +210,39 @@ size_t Popup::GetButtonCount() const void Popup::SetBackgroundImage( Actor image ) { // Removes any previous background. - if( mBackgroundImage && mPopupBg ) + if( mBackgroundImage && mPopupLayout ) { - mPopupBg.Remove( mBackgroundImage ); + mPopupLayout.Remove( mBackgroundImage ); } // Adds new background to the dialog. mBackgroundImage = image; + mBackgroundImage.SetName( "POPUP_BACKGROUND_IMAGE" ); + // OnDialogTouched only consume the event. It prevents the touch event to be caught by the backing. mBackgroundImage.TouchedSignal().Connect( this, &Popup::OnDialogTouched ); - mPopupBg.Add( mBackgroundImage ); + mBackgroundImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); + mBackgroundImage.SetAnchorPoint( AnchorPoint::CENTER ); + mBackgroundImage.SetParentOrigin( ParentOrigin::CENTER ); + + mBackgroundImage.SetSizeMode( SIZE_FIXED_OFFSET_FROM_PARENT ); + Vector3 border( mPopupStyle->backgroundOuterBorder.x, mPopupStyle->backgroundOuterBorder.z, 0.0f ); + mBackgroundImage.SetSizeModeFactor( border ); + + const bool prevAlter = mAlterAddedChild; + mAlterAddedChild = false; + Self().Add( mBackgroundImage ); + mAlterAddedChild = prevAlter; } void Popup::SetButtonAreaImage( Actor image ) { // Removes any previous area image. - if( mButtonAreaImage && mPopupBg ) + if( mButtonAreaImage && mPopupLayout ) { - mPopupBg.Remove( mButtonAreaImage ); + mPopupLayout.Remove( mButtonAreaImage ); } // Adds new area image to the dialog. @@ -251,12 +251,20 @@ void Popup::SetButtonAreaImage( Actor image ) // OnDialogTouched only consume the event. It prevents the touch event to be caught by the backing. mButtonAreaImage.TouchedSignal().Connect( this, &Popup::OnDialogTouched ); - mPopupBg.Add( mButtonAreaImage ); + mButtonAreaImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); + mButtonAreaImage.SetAnchorPoint( AnchorPoint::CENTER ); + mButtonAreaImage.SetParentOrigin( ParentOrigin::CENTER ); + + if( GetButtonCount() > 0 ) + { + mBottomBg.Add( mButtonAreaImage ); + } } void Popup::SetTitle( const std::string& text ) { Toolkit::TextView titleActor = Toolkit::TextView::New(); + titleActor.SetName( "POPUP_TITLE" ); titleActor.SetText( text ); titleActor.SetColor( Color::BLACK ); titleActor.SetMultilinePolicy( Toolkit::TextView::SplitByWord ); @@ -269,13 +277,20 @@ void Popup::SetTitle( const std::string& text ) void Popup::SetTitle( Toolkit::TextView titleActor ) { // Replaces the current title actor. - if( mTitle && mPopupBg ) + if( mPopupLayout ) { - mPopupBg.Remove( mTitle ); + mPopupLayout.RemoveChildAt( Toolkit::TableView::CellPosition( 0, 0 ) ); } + mTitle = titleActor; - mPopupBg.Add( mTitle ); + if( mPopupLayout ) + { + mTitle.SetPadding( Padding( 0.0f, 0.0f, mPopupStyle->margin, mPopupStyle->margin ) ); + mTitle.SetResizePolicy( FILL_TO_PARENT, WIDTH ); + mTitle.SetDimensionDependency( HEIGHT, WIDTH ); // HeightForWidth + mPopupLayout.AddChild( mTitle, Toolkit::TableView::CellPosition( 0, 0 ) ); + } RelayoutRequest(); } @@ -285,9 +300,37 @@ Toolkit::TextView Popup::GetTitle() const return mTitle; } +void Popup::CreateFooter() +{ + if( !mBottomBg ) + { + // Adds bottom background + mBottomBg = Actor::New(); + mBottomBg.SetName( "POPUP_BOTTOM_BG" ); + mBottomBg.SetRelayoutEnabled( true ); + mBottomBg.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); + + mPopupLayout.SetFixedHeight( 2, mPopupStyle->bottomSize.height ); // Buttons + mPopupLayout.AddChild( mBottomBg, Toolkit::TableView::CellPosition( 2, 0 ) ); + } +} + void Popup::AddButton( Toolkit::Button button ) { mButtons.push_back( button ); + button.SetResizePolicy( USE_ASSIGNED_SIZE, ALL_DIMENSIONS ); // Size will be assigned to it + + // If this is the first button added + if( mButtons.size() == 1 ) + { + CreateFooter(); + + if( mButtonAreaImage ) + { + mBottomBg.Add( mButtonAreaImage ); + } + } + mBottomBg.Add( button ); RelayoutRequest(); @@ -347,6 +390,8 @@ void Popup::ShowTail(const Vector3& position) mTailImage.SetParentOrigin(position); mTailImage.SetAnchorPoint(anchorPoint); + CreateFooter(); + mBottomBg.Add(mTailImage); } } @@ -369,30 +414,25 @@ PopupStylePtr Popup::GetStyle() const void Popup::SetDefaultBackgroundImage() { - Image bg = ResourceImage::New( mPopupStyle->backgroundImage ); - ImageActor bgImage = ImageActor::New( bg ); - bgImage.SetStyle( ImageActor::STYLE_NINE_PATCH ); - bgImage.SetNinePatchBorder( mPopupStyle->backgroundScale9Border ); - Image buttonBg = ResourceImage::New( mPopupStyle->buttonAreaImage ); ImageActor buttonBgImage = ImageActor::New( buttonBg ); buttonBgImage.SetStyle( ImageActor::STYLE_NINE_PATCH ); buttonBgImage.SetNinePatchBorder( mPopupStyle->buttonArea9PatchBorder ); - SetBackgroundImage( bgImage ); + SetBackgroundImage( ImageActor::New( ResourceImage::New( mPopupStyle->backgroundImage ) ) ); SetButtonAreaImage( buttonBgImage ); } void Popup::CreateBacking() { mBacking = Dali::Toolkit::CreateSolidColorActor( mPopupStyle->backingColor ); + mBacking.SetName( "POPUP_BACKING" ); - mBacking.SetPositionInheritanceMode(DONT_INHERIT_POSITION); + mBacking.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); mBacking.SetSensitive(true); - mLayer.Add(mBacking); + mLayer.Add( mBacking ); mBacking.SetOpacity(0.0f); - mBacking.SetPosition(0.0f, 0.0f, BACKING_DEPTH); mBacking.TouchedSignal().Connect( this, &Popup::OnBackingTouched ); mBacking.MouseWheelEventSignal().Connect(this, &Popup::OnBackingMouseWheelEvent); } @@ -401,19 +441,12 @@ void Popup::CreateDialog() { // Adds default background image. SetDefaultBackgroundImage(); - - // Adds bottom background - mBottomBg = Actor::New(); - mPopupBg.Add( mBottomBg ); } void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration ) { - const Vector2& stageSize( Stage::GetCurrent().GetSize() ); - Vector3 targetSize; float targetBackingAlpha; - Vector3 targetBackingSize; if(mState == state) { @@ -426,7 +459,6 @@ void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration { targetSize = Vector3(0.0f, 0.0f, 1.0f); targetBackingAlpha = 0.0f; - targetBackingSize = Vector3(0.0f, 0.0f, 1.0f); mShowing = false; ClearKeyInputFocus(); @@ -448,17 +480,16 @@ void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration { targetSize = Vector3(1.0f, 1.0f, 1.0f); targetBackingAlpha = 1.0f; - float length = (stageSize.width > stageSize.height) ? stageSize.width : stageSize.height; - targetBackingSize = Vector3( length, length, 1.0f ); mShowing = true; // Add contents to stage for showing. if( !mLayer.GetParent() ) { - mAlterAddedChild = false; - Self().Add(mLayer); - mAlterAddedChild = true; + Dali::Stage stage = Dali::Stage::GetCurrent(); + stage.Add( mLayer ); + mLayer.RaiseToTop(); } + Self().SetSensitive(true); SetKeyInputFocus(); @@ -487,8 +518,7 @@ void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration } } - mBacking.SetSize( targetBackingSize ); - + Actor self = Self(); if(duration > Math::MACHINE_EPSILON_1) { if ( mAnimation ) @@ -502,12 +532,12 @@ void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration if(mShowing) { mAnimation.AnimateTo( Property(mBacking, Actor::Property::COLOR_ALPHA), targetBackingAlpha, AlphaFunctions::EaseInOut, TimePeriod(0.0f, duration * 0.5f) ); - mAnimation.AnimateTo( Property(mPopupBg, Actor::Property::SCALE), targetSize, AlphaFunctions::EaseInOut, TimePeriod(duration * 0.5f, duration * 0.5f) ); + mAnimation.AnimateTo( Property(self, Actor::Property::SCALE), targetSize, AlphaFunctions::EaseInOut, TimePeriod(duration * 0.5f, duration * 0.5f) ); } else { mAnimation.AnimateTo( Property(mBacking, Actor::Property::COLOR_ALPHA), targetBackingAlpha, AlphaFunctions::EaseInOut, TimePeriod(0.0f, duration * 0.5f) ); - mAnimation.AnimateTo( Property(mPopupBg, Actor::Property::SCALE), targetSize, AlphaFunctions::EaseInOut, TimePeriod(0.0f, duration * 0.5f) ); + mAnimation.AnimateTo( Property(self, Actor::Property::SCALE), targetSize, AlphaFunctions::EaseInOut, TimePeriod(0.0f, duration * 0.5f) ); } mAnimation.Play(); mAnimation.FinishedSignal().Connect(this, &Popup::OnStateAnimationFinished); @@ -515,7 +545,7 @@ void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration else { mBacking.SetOpacity( targetBackingAlpha ); - mPopupBg.SetScale( targetSize ); + self.SetScale( targetSize ); HandleStateChangeComplete(); } @@ -524,9 +554,9 @@ void Popup::HandleStateChange( Toolkit::Popup::PopupState state, float duration void Popup::HandleStateChangeComplete() { // Remove contents from stage if completely hidden. - if( (mState == Toolkit::Popup::POPUP_HIDE) && (mLayer.GetParent()) ) + if( ( mState == Toolkit::Popup::POPUP_HIDE ) && mLayer.GetParent() ) { - Self().Remove(mLayer); + mLayer.Unparent(); Self().SetSensitive( false ); // Guard against destruction during signal emission @@ -612,169 +642,78 @@ void Popup::OnControlChildAdd( Actor& child ) // Removes previously added content. if( mContent ) { - mPopupBg.Remove( mContent ); + mPopupLayout.RemoveChildAt( Toolkit::TableView::CellPosition( 1, 0 ) ); } - // Reparent new content. - Self().Remove( child ); - // keep a handle to the new content. mContent = child; - mPopupBg.Add( mContent ); + mPopupLayout.AddChild( mContent, Toolkit::TableView::CellPosition( 1, 0 ) ); } } -void Popup::OnControlSizeSet( const Vector3& targetSize ) +void Popup::OnRelayout( const Vector2& size, RelayoutContainer& container ) { - mLayer.SetSize( targetSize ); - mPopupBg.SetSize( targetSize ); - - const Vector4 outerBorder = mPopupStyle->backgroundOuterBorder; - if( mBackgroundImage ) - { - mBackgroundImage.SetSize( BackgroundSize( outerBorder,targetSize ) ); - } - if( mButtonAreaImage ) - { - mButtonAreaImage.SetSize( ButtonAreaSize( outerBorder, targetSize ) ); - } - -} - -void Popup::OnRelayout( const Vector2& size, ActorSizeContainer& container ) -{ - // Set the popup size - Vector2 popupSize; - popupSize.width = size.width - 2.f * ( POPUP_OUT_MARGIN_WIDTH + mPopupStyle->margin ); - popupSize.height = size.height - 2.f * ( POPUP_OUT_MARGIN_WIDTH + mPopupStyle->margin ); - - // Update sizes of all popup's components. - - // Relayout background image. - // Adjust background position and size relative to parent to cater to outer Border. - // Some backgrounds are intended to over-spill. That is some content - // should appear outside the Dialog on all sides i.e. Shadows, glow effects. - const Vector4 outerBorder = mPopupStyle->backgroundOuterBorder; - - if( mBackgroundImage ) - { - mBackgroundImage.SetSize(BackgroundSize(outerBorder, Vector3(size))); - mBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - mBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - mBackgroundImage.SetPosition( -outerBorder.x, -outerBorder.y, 0.0f ); - } - - if( mPopupBg && mButtonAreaImage ) - { - // If there are no buttons, button background is also removed. - if ( mButtons.size() == 0 ) - { - mPopupBg.Remove( mButtonAreaImage ); - } - else - { - mButtonAreaImage.SetSize( ButtonAreaSize(outerBorder, Vector3(size)) ); - mButtonAreaImage.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER ); - mButtonAreaImage.SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); - mButtonAreaImage.SetY( -outerBorder.z - POPUP_OUT_MARGIN_HEIGHT ); - - mPopupBg.Add( mButtonAreaImage ); - } - } - - // Relayout title - Vector3 positionOffset( 0.0f, mPopupStyle->margin + POPUP_OUT_MARGIN_WIDTH, CONTENT_DEPTH ); - if( mTitle ) - { - Vector2 titleSize; - titleSize.width = popupSize.width; - titleSize.height = mTitle.GetHeightForWidth( titleSize.width ); - - // As the default size policy for text-view is Fixed & Fixed, a size needs to be set. - // Otherwise size-negotiation algorithm uses the GetNaturalSize() with doesn't take - // into account the multiline and exceed policies, giving as result a wrong size. - mTitle.SetSize( titleSize ); - Relayout( mTitle, titleSize, container ); - - mTitle.SetAnchorPoint( AnchorPoint::TOP_CENTER ); - mTitle.SetParentOrigin( ParentOrigin::TOP_CENTER ); - mTitle.SetPosition( positionOffset ); - - positionOffset.y += titleSize.height + mPopupStyle->margin; - } - - // Relayout content - if( mContent ) - { - // If the content width is greater than popup width then scale it down/wrap text as needed - Vector2 contentSize( RelayoutHelper::GetNaturalSize( mContent ) ); - if( contentSize.width > popupSize.width ) - { - contentSize.width = popupSize.width; - contentSize.height = RelayoutHelper::GetHeightForWidth( mContent, contentSize.width ); - } - - mContent.SetSize( contentSize ); - Relayout( mContent, contentSize, container ); - - mContent.SetParentOrigin(ParentOrigin::TOP_CENTER); - mContent.SetAnchorPoint(AnchorPoint::TOP_CENTER); - - mContent.SetPosition( positionOffset ); - - positionOffset.y += contentSize.height + mPopupStyle->margin; - } - - // Relayout Button Area - if( mBottomBg ) - { - mBottomBg.SetSize( popupSize.width, mPopupStyle->bottomSize.height ); - - mBottomBg.SetParentOrigin(ParentOrigin::TOP_CENTER); - mBottomBg.SetAnchorPoint(AnchorPoint::TOP_CENTER); - - mBottomBg.SetPosition( positionOffset ); - } + // Hide the background image + mBackgroundImage.SetVisible( !( mButtons.empty() && mPopupLayout.GetChildCount() == 0 ) ); // Relayout All buttons if ( !mButtons.empty() ) { // All buttons should be the same size and fill the button area. The button spacing needs to be accounted for as well. - Vector2 buttonSize( ( ( popupSize.width - mPopupStyle->buttonSpacing * ( mButtons.size() - 1 ) ) / mButtons.size() ), + Vector2 buttonSize( ( ( size.width - mPopupStyle->buttonSpacing * ( mButtons.size() + 1 ) ) / mButtons.size() ), mPopupStyle->bottomSize.height - mPopupStyle->margin ); - Vector3 buttonPosition; + Vector3 buttonPosition( mPopupStyle->buttonSpacing, 0.0f, 0.0f ); for ( ActorIter iter = mButtons.begin(), endIter = mButtons.end(); iter != endIter; ++iter, buttonPosition.x += mPopupStyle->buttonSpacing + buttonSize.width ) { - iter->SetPosition( buttonPosition ); + Actor button = *iter; // If there is only one button, it needs to be laid out on center. if ( mButtons.size() == 1 ) { - iter->SetAnchorPoint( AnchorPoint::CENTER ); - iter->SetParentOrigin( ParentOrigin::CENTER ); + buttonPosition.x = 0.0f; + button.SetAnchorPoint( AnchorPoint::CENTER ); + button.SetParentOrigin( ParentOrigin::CENTER ); } else { - iter->SetAnchorPoint( AnchorPoint::CENTER_LEFT ); - iter->SetParentOrigin( ParentOrigin::CENTER_LEFT ); + button.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); + button.SetParentOrigin( ParentOrigin::CENTER_LEFT ); } - Relayout( *iter, buttonSize, container ); + button.SetPosition( buttonPosition ); + + button.PropagateRelayoutFlags(); // Reset relayout flags for relayout + container.Add( button, buttonSize ); } } +} - if( mShowing && mBacking ) +void Popup::OnSetResizePolicy( ResizePolicy policy, Dimension dimension ) +{ + if( mPopupLayout ) { - Vector2 stageSize = Stage::GetCurrent().GetSize(); - float length = (stageSize.width > stageSize.height) ? stageSize.width : stageSize.height; - Vector3 targetBackingSize = Vector3( length, length, 1.0f ); - - mBacking.SetSize( targetBackingSize ); + if( policy == FIT_TO_CHILDREN ) + { + mPopupLayout.SetResizePolicy( USE_NATURAL_SIZE, dimension ); + if( dimension & HEIGHT ) + { + mPopupLayout.SetFitHeight( 1 ); + } + } + else + { + mPopupLayout.SetResizePolicy( FILL_TO_PARENT, dimension ); + // Make the content cell fill the whole of the available space + if( dimension & HEIGHT ) + { + mPopupLayout.SetRelativeHeight( 1, 1.0f ); + } + } } } @@ -826,13 +765,13 @@ Vector3 Popup::GetNaturalSize() if( mContent ) { - Vector3 contentSize = RelayoutHelper::GetNaturalSize( mContent ); + Vector3 contentSize = mContent.GetNaturalSize(); // Choose the biggest width naturalSize.width = std::max( naturalSize.width, contentSize.width ); if( naturalSize.width > maxWidth ) { naturalSize.width = maxWidth; - contentSize.height = RelayoutHelper::GetHeightForWidth( mContent, maxWidth ); + contentSize.height = mContent.GetHeightForWidth( maxWidth ); } naturalSize.height += contentSize.height + mPopupStyle->margin; } @@ -862,7 +801,7 @@ float Popup::GetHeightForWidth( float width ) if( mContent ) { - height += RelayoutHelper::GetHeightForWidth( mContent, popupWidth ) + mPopupStyle->margin; + height += mContent.GetHeightForWidth( popupWidth ) + mPopupStyle->margin; } if( !mButtons.empty() ) diff --git a/dali-toolkit/internal/controls/popup/popup-impl.h b/dali-toolkit/internal/controls/popup/popup-impl.h index b6ee02b..ec85966 100755 --- a/dali-toolkit/internal/controls/popup/popup-impl.h +++ b/dali-toolkit/internal/controls/popup/popup-impl.h @@ -27,6 +27,7 @@ #include #include #include +#include namespace Dali { @@ -122,7 +123,6 @@ public: */ void HideTail(); - /** * Sets the style of the popup * @param[in] style The style of the popup @@ -135,6 +135,11 @@ public: */ PopupStylePtr GetStyle() const; + /** + * @copydoc Toolkit::Popup::MarkDirtyForRelayout + */ + void MarkDirtyForRelayout(); + protected: /** @@ -251,14 +256,14 @@ private: virtual void OnControlChildAdd( Actor& child ); /** - * @copydoc Toolkit::Control::OnControlSizeSet( const Vector3& size ) + * @copydoc Control::OnRelayOut() */ - virtual void OnControlSizeSet( const Vector3& size ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); /** - * @copydoc Control::OnRelayOut() + * @copydoc Control::OnSetResizePolicy() */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + virtual void OnSetResizePolicy( ResizePolicy policy, Dimension dimension ); /** * @copydoc Control::OnKeyEvent() @@ -285,6 +290,11 @@ private: */ Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, Toolkit::Control::KeyboardFocusNavigationDirection direction, bool loopEnabled); + /** + * Create the root actor for the footer + */ + void CreateFooter(); + private: // Undefined @@ -308,7 +318,7 @@ private: bool mShowing; ///< Popup is showing or not Layer mLayer; ///< Popup Layer (i.e. Dim backing and PopupBg reside in this) - Actor mPopupBg; ///< Popup Background (i.e. dialog reside in this) + Toolkit::TableView mPopupLayout; ///< Popup layout (i.e. dialog reside in this) ImageActor mBacking; ///< Backing actor (dim effect) Actor mPreviousFocusedActor; ///< Store the previous focused actor to restore the focus when popup hide diff --git a/dali-toolkit/internal/controls/popup/popup-style-impl.cpp b/dali-toolkit/internal/controls/popup/popup-style-impl.cpp index 2a94eff..4dba00b 100644 --- a/dali-toolkit/internal/controls/popup/popup-style-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-style-impl.cpp @@ -26,9 +26,9 @@ namespace // unnamed namespace // Popup style default const Vector4 DEFAULT_BACKING_COLOR = Vector4(0.0f, 0.0f, 0.0f, 0.5f); const float DEFAULT_MARGIN = 20.0f; //From Tizen GUI UX -const float DEFAULT_BUTTON_SPACING = 20.0f; //From Tizen GUI UX +const float DEFAULT_BUTTON_SPACING = 10.0f; //From Tizen GUI UX const Vector3 DEFAULT_BUTTON_SIZE(275.0f, 74.0f, 0.0f); -const char* DEFAULT_BACKGROUND_IMAGE_PATH = DALI_IMAGE_DIR "00_popup_bg.png"; +const char* DEFAULT_BACKGROUND_IMAGE_PATH = DALI_IMAGE_DIR "00_popup_bg.9.png"; const char* DEFAULT_BUTTON_AREA_IMAGE_PATH = DALI_IMAGE_DIR "00_popup_button_bg.png"; const char* DEFAULT_TAIL_UP_IMAGE_PATH = DALI_IMAGE_DIR "popup_tail_up.png"; const char* DEFAULT_TAIL_DOWN_IMAGE_PATH = DALI_IMAGE_DIR "popup_tail_down.png"; @@ -37,7 +37,7 @@ const char* DEFAULT_TAIL_RIGHT_IMAGE_PATH = DALI_IMAGE_DIR "popup_tail_right.png const Vector3 DEFAULT_BOTTOM_SIZE(620.0f,96.0f,0.0f); const Vector2 DEFAULT_BACKGROUND_SIZE(620.0f, 236.0f); const Vector4 DEFAULT_BACKGROUND_STYLE_9_BORDER( 25.0f, 25.0f, 26.0f, 50.0f ); -const Vector4 DEFAULT_BACKGROUND_OUTER_BORDER( 0.0f, 0.0f, 0.0f, 0.0f ); +const Vector4 DEFAULT_BACKGROUND_OUTER_BORDER( 40.0f, 0.0f, 30.0f, 0.0f ); const Vector4 DEFAULT_BUTTON_AREA_9_PATCH_BORDER( 13.0f, 8.0f, 13.0f, 8.0f ); } diff --git a/dali-toolkit/internal/controls/relayout-controller-impl.cpp b/dali-toolkit/internal/controls/relayout-controller-impl.cpp deleted file mode 100644 index 09b7fcf..0000000 --- a/dali-toolkit/internal/controls/relayout-controller-impl.cpp +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// CLASS HEADER -#include "relayout-controller-impl.h" - -// EXTERNAL INCLUDES -#include -#include -#include - -#if defined(DEBUG_ENABLED) -#include -#endif // defined(DEBUG_ENABLED) - -// INTERNAL INCLUDES -#include - -namespace Dali -{ - -namespace Toolkit -{ - -namespace Internal -{ - -namespace -{ -#if defined(DEBUG_ENABLED) - -Integration::Log::Filter* gLogFilter( Integration::Log::Filter::New(Debug::NoLogging, false, "LOG_RELAYOUT_CONTROLLER") ); - -/** - * Prints out all the children of the given actor when debug is enabled. - * - * @param[in] actor The actor whose children to print. - * @param[in] level The number of " | " to put in front of the children. - */ -void PrintChildren( Actor actor, int level ) -{ - std::ostringstream output; - - for ( int t = 0; t < level; ++t ) - { - output << " | "; - } - - output << actor.GetTypeName(); - - output << " - Pos: " << actor.GetCurrentPosition() << " Size: " << actor.GetCurrentSize() << ","; - - output << " (" << actor.GetObjectPtr() << ")" << std::endl; - - DALI_LOG_INFO( gLogFilter, Debug::Verbose, output.str().c_str() ); - - ++level; - unsigned int numChildren = actor.GetChildCount(); - for( unsigned int i=0; iIsEnabledFor( Debug::Verbose ) ) - { - PrintChildren( Stage().GetCurrent().GetRootLayer(), 0 ); - } -} - -#define PRINT_HIERARCHY PrintHierarchy() - -#else // defined(DEBUG_ENABLED) - -#define PRINT_HIERARCHY - -#endif // defined(DEBUG_ENABLED) - -/** - * Sets the target to source if the individual elements of source are NOT zero. - * - * @param[out] target The Vector2 elements to set if the source Vector2 elements are not 0. - * @param[in] source The Vector2 elements that are to be set to the target Vector2. - */ -void SetIfNotZero( Vector2& target, const Vector2& source ) -{ - // Only set the width if it is non zero. - if ( !EqualsZero( source.width ) ) - { - target.width = source.width; - } - - // Only set the height if it is non zero. - if ( !EqualsZero( source.height ) ) - { - target.height = source.height; - } -} - -/** - * Finds controls in the hierarchy of actor. It descends the tree if the actor has more Actors. - * If it is a control, it no longer descends the tree. - * - * @param[in] actor The actor in which controls should be found. - * @param[in] size The size that this actor and its children should be. - */ -void FindControls( Actor actor, ControlStack& controls, Vector2 size ) -{ - Toolkit::Control control( Toolkit::Control::DownCast( actor ) ); - if( control ) - { - // If the control size has been set by the application / control, then we should try and honour that. - Vector2 controlSetSize( control.GetImplementation().GetSizeSet() ); - - // Only set the width and height if they are non zero. - SetIfNotZero( size, controlSetSize ); - - controls.push_back( ControlSizePair( control, size ) ); - } - else - { - unsigned int numChildren = actor.GetChildCount(); - for( unsigned int i=numChildren; i>0; --i ) - { - FindControls( actor.GetChildAt(i-1), controls, size ); - } - } -} - -/** - * Pushes the controls in the container, to the stack. - * - * @param[in,out] controlStack The stack to push controls to. - * @param[in] container The container to push controls from. - */ -void PushToStack( ControlStack& controlStack, const ActorSizeContainer& container ) -{ - for ( ActorSizeContainer::const_reverse_iterator iter = container.rbegin(), endIter = container.rend(); iter != endIter; ++iter ) - { - FindControls( iter->first, controlStack, iter->second ); - } -} - -} // unnamed namespace - -RelayoutControllerImpl::RelayoutControllerImpl( bool& relayoutFlag ) -: mRelayoutFlag( relayoutFlag ), - mRelayoutConnection( false ) -{ - // make space for 32 controls to avoid having to copy construct a lot in the beginning - mControlStack.reserve( 32 ); - mSizecontainer.reserve( 32 ); -} - -RelayoutControllerImpl::~RelayoutControllerImpl() -{ -} - -void RelayoutControllerImpl::Request() -{ - //TODO use Relayout Request to set up logic to optimize relayout of the actors/controls in the scene - - if( !mRelayoutConnection ) - { - Stage stage = Stage::GetCurrent(); - stage.EventProcessingFinishedSignal().Connect( this, &RelayoutControllerImpl::Relayout ); - mRelayoutConnection = true; - } -} - -void RelayoutControllerImpl::Relayout() -{ - // only do something when requested - if( mRelayoutFlag ) - { - // clear the flag as we're now doing the relayout - mRelayoutFlag = false; - PRINT_HIERARCHY; - - mControlStack.clear(); // we do not release memory, just empty the container - - // 1. Finds all top-level controls from the root actor and allocate them the size of the stage - // These controls are paired with the stage size and added to the stack. - FindControls( Stage().GetCurrent().GetRootLayer(), mControlStack, Stage::GetCurrent().GetSize() ); - - // 2. Iterate through the stack until it's empty. - while ( !mControlStack.empty() ) - { - ControlSizePair pair ( mControlStack.back() ); - Toolkit::Control control ( pair.first ); - Vector2 size ( pair.second ); - mControlStack.pop_back(); - - DALI_LOG_INFO( gLogFilter, Debug::General, "Allocating %p (%.2f, %.2f)\n", control.GetObjectPtr(), size.width, size.height ); - - mSizecontainer.clear(); - // 3. Negotiate the size with the current control. Pass it an empty container which the control - // has to fill with all the actors it has not done any size negotiation for. - control.GetImplementation().NegotiateSize( size, mSizecontainer ); - - // 4. Push the controls from the actors in the container to the stack. - PushToStack( mControlStack, mSizecontainer ); - } - } - // should not disconnect the signal as that causes some control size negotiations to not work correctly - // this algorithm needs more optimization as well -} - -} // namespace Internal - -} // namespace Toolkit - -} // namespace Dali diff --git a/dali-toolkit/internal/controls/relayout-controller-impl.h b/dali-toolkit/internal/controls/relayout-controller-impl.h deleted file mode 100644 index f60d5e5..0000000 --- a/dali-toolkit/internal/controls/relayout-controller-impl.h +++ /dev/null @@ -1,124 +0,0 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__ -#define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__ - -/* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// EXTERNAL INCLUDES -#include -#include - -// INTERNAL INCLUDES -#include -#include -#include "relayout-controller.h" - -namespace Dali -{ - -namespace Toolkit -{ - -namespace Internal -{ - -class RelayoutController; - -typedef std::pair< Dali::Toolkit::Control, Vector2 > ControlSizePair; -typedef std::vector< ControlSizePair > ControlStack; - -/** - * @copydoc Toolkit::Internal::RelayoutController - */ -class RelayoutControllerImpl : public Dali::BaseObject, public ConnectionTracker -{ -public: - - /** - * Constructor. - * We should only create a unique instance. - * @param relayoutFlag to avoid unnecessary calls inside a single frame - */ - RelayoutControllerImpl( bool& relayoutFlag ); - - - /** - * Destructor - */ - virtual ~RelayoutControllerImpl(); - - /** - * Request for relayout. - */ - void Request(); - -private: - - /** - * Relayouts controls inside actor tree from bottom to top. - */ - void Relayout(); - - /** - * Resets the relayout controller. - */ - void Reset(); - - /** - * Disconnect the Relayout() method from the Stage::EventProcessingFinishedSignal(). - */ - void Disconnect(); - - // Undefined - RelayoutControllerImpl(const RelayoutControllerImpl&); - RelayoutControllerImpl& operator=(const RelayoutControllerImpl&); - -private: - - bool& mRelayoutFlag; ///< reference to relayout flag to avoid unnecessary calls - ControlStack mControlStack; ///< stack for relayouting - ActorSizeContainer mSizecontainer; ///< size container - bool mRelayoutConnection:1; ///< Whether EventProcessingFinishedSignal signal is connected. - -}; - -} // namespace Internal - - -inline Internal::RelayoutControllerImpl& GetImpl(Dali::Toolkit::Internal::RelayoutController& obj) -{ - DALI_ASSERT_ALWAYS(obj); - - Dali::BaseObject& handle = obj.GetBaseObject(); - - return static_cast(handle); -} - -inline const Internal::RelayoutControllerImpl& GetImpl(const Dali::Toolkit::Internal::RelayoutController& obj) -{ - DALI_ASSERT_ALWAYS(obj); - - const Dali::BaseObject& handle = obj.GetBaseObject(); - - return static_cast(handle); -} - -} // namespace Toolkit - -} // namespace Dali - -#endif // __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__ diff --git a/dali-toolkit/internal/controls/relayout-controller.cpp b/dali-toolkit/internal/controls/relayout-controller.cpp deleted file mode 100644 index 19b2ab0..0000000 --- a/dali-toolkit/internal/controls/relayout-controller.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// CLASS HEADER -#include "relayout-controller.h" - -// EXTERNAL INCLUDES -#include -#include -#include -#include - -// INTERNAL INCLUDES - -#include "relayout-controller-impl.h" -#include "dali-toolkit/public-api/controls/control.h" -#include "dali-toolkit/public-api/controls/control-impl.h" -#include "dali-toolkit/public-api/controls/text-view/text-view.h" - -namespace Dali -{ - -namespace Toolkit -{ - -namespace Internal -{ - -namespace -{ -// Flag to avoid doing more than one request per frame -// getting the singleton handle can be expensive as it requires calling to adaptor, dynamic cast etc -// and it can get called 100 times per frame easily in startup and new view initialization - bool gRelayoutRequestPending = false; -} - -RelayoutController::RelayoutController() -{ - -} - -RelayoutController::~RelayoutController() -{ - -} - -void RelayoutController::Request() -{ - // are we already going to do it this frame - if( !gRelayoutRequestPending ) - { - RelayoutController controller; - - // Check whether the RelayoutController is already created - SingletonService singletonService( SingletonService::Get() ); - if ( singletonService ) - { - Dali::BaseHandle handle = singletonService.GetSingleton(typeid(RelayoutController)); - - if(handle) - { - // If so, downcast the handle of singleton to RelayoutController - controller = RelayoutController(dynamic_cast(handle.GetObjectPtr())); - } - - if(!controller) - { - // If not, create the RelayoutController and register it as a singleton - controller = RelayoutController( new Internal::RelayoutControllerImpl(gRelayoutRequestPending) ); - singletonService.Register( typeid(controller), controller ); - } - - GetImpl(controller).Request(); - gRelayoutRequestPending = true; - } - } -} - -RelayoutController::RelayoutController(Internal::RelayoutControllerImpl *impl) - : BaseHandle(impl) -{ -} - -} // namespace Internal - -} // namespace Toolkit - -} // namespace Dali - diff --git a/dali-toolkit/internal/controls/relayout-controller.h b/dali-toolkit/internal/controls/relayout-controller.h deleted file mode 100644 index 40438b9..0000000 --- a/dali-toolkit/internal/controls/relayout-controller.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__ -#define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__ - -/* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// EXTERNAL INCLUDES -#include - -namespace Dali -{ - -namespace Toolkit -{ - -namespace Internal -{ - -class RelayoutControllerImpl; - -/** - * RelayoutController - * This singleton class provides functionality to trigger relayouting of toolkit controls in the dali scene graph. - */ -class RelayoutController : public Dali::BaseHandle -{ -public: - - /** - * Constructor. - * We should only create a unique instance. - */ - RelayoutController(); - - /** - * @brief Destructor - * - * This is non-virtual since derived Handle types must not contain data or virtual methods. - */ - ~RelayoutController(); - - /** - * Request to relayout. - */ - static void Request(); - -private: - - RelayoutController(Internal::RelayoutControllerImpl* impl); - -}; - -} // namespace Internal - -} // namespace Toolkit - -} // namespace Dali - -#endif // __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__ diff --git a/dali-toolkit/internal/controls/relayout-helper.cpp b/dali-toolkit/internal/controls/relayout-helper.cpp deleted file mode 100644 index 6b0aeb3..0000000 --- a/dali-toolkit/internal/controls/relayout-helper.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// CLASS HEADER -#include "relayout-helper.h" - -// EXTERNAL INCLUDES -#include -#include - -// INTERNAL INCLUDES -#include - - -namespace Dali -{ - -namespace Toolkit -{ - -namespace Internal -{ - -namespace RelayoutHelper -{ - -Vector3 GetNaturalSize( Actor actor ) -{ - Vector3 size( 0.0f, 0.0f, 0.0f ); - - Toolkit::Control control = Toolkit::Control::DownCast( actor ); - if( control ) - { - size = control.GetNaturalSize(); - } - else - { - size = actor.GetCurrentSize(); - const float depth = size.depth; - - // Get natural size for ImageActor. - // TODO: currently it doesn't work as expected. - ImageActor imageActor = ImageActor::DownCast( actor ); - if( ( imageActor ) && ( imageActor.GetImage() ) ) - { - Image image = imageActor.GetImage(); - size = Vector3( static_cast( image.GetWidth() ), static_cast( image.GetHeight() ), depth ); - } - else - { - // Get natural size for TextActor. - TextActor textActor = TextActor::DownCast( actor ); - if( textActor ) - { - Font font = textActor.GetFont(); - if( !font ) - { - font = Font::New(); - } - size = font.MeasureText( textActor.GetText() ); - size.depth = depth; - } - } - } - - return size; -} - -float GetHeightForWidth( Actor actor, float width ) -{ - float height = 0.0f; - - Toolkit::Control control = Toolkit::Control::DownCast( actor ); - if( control ) - { - height = control.GetHeightForWidth( width ); - } - else - { - bool constrainSize = false; - Vector3 size( 0.0f, 0.0f, 0.0f ); - - ImageActor imageActor = ImageActor::DownCast( actor ); - if( ( imageActor ) && ( imageActor.GetImage() ) ) - { - Image image = imageActor.GetImage(); - size = Vector3( static_cast( image.GetWidth() ), static_cast( image.GetHeight() ), 0.0f ); - - constrainSize = true; - } - else - { - TextActor textActor = TextActor::DownCast( actor ); - if( textActor ) - { - Font font = textActor.GetFont(); - if( !font ) - { - font = Font::New(); - } - size = font.MeasureText( textActor.GetText() ); - - constrainSize = true; - } - else - { - size = actor.GetCurrentSize(); - } - } - - // Scale the actor - float scaleRatio = width / size.width; - if( constrainSize ) - { - // Allow the scale to decrease if greater than input width but not increase if less than input width - if( scaleRatio > 1.0f ) - { - scaleRatio = 1.0f; - } - } - - height = size.height * scaleRatio; - } - - return height; -} - -} // namespace RelayoutHelper - -} // namespace Internal - -} // namespace Toolkit - -} // namespace Dali diff --git a/dali-toolkit/internal/controls/relayout-helper.h b/dali-toolkit/internal/controls/relayout-helper.h deleted file mode 100644 index c7f2372..0000000 --- a/dali-toolkit/internal/controls/relayout-helper.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_HELPER_H__ -#define __DALI_TOOLKIT_INTERNAL_RELAYOUT_HELPER_H__ - -/* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -// EXTERNAL INCLUDES -#include -#include - -namespace Dali -{ - -namespace Toolkit -{ - -namespace Internal -{ - -namespace RelayoutHelper -{ - -/** - * Gets the natural size of the given actor. - * - * If the actor is a Control, it returns the natural size of the Control. @see Control::GetNaturalSize() - * If the actor is an ImageActor, it returns the size of the image. - * If the actor is a TextActor, it returns the size of the text. @see Font::MeasureText() - * Otherwise it returns the actor's current size. @see Actor::GetCurrentSize() - * - * @param[in] actor The actor. - * - * @return The natural size. - */ -Vector3 GetNaturalSize( Actor actor ); - -/** - * Gets the actor's height for the given width. - * - * If the actor is a Control it returns the height for width. @see Control::GetHeightForWidth() - * If the actor is an ImageActor or a TextActor it scales the natural size to fit the given width. @see GetNaturalSize() - * Otherwise it returns the actor's current size. @see Actor::GetCurrentSize() - * - * @param[in] actor The actor. - * @param[in] width The width. - * - * @return The actor's height for given width. - */ -float GetHeightForWidth( Actor actor, float width ); - -} // namespace RelayoutHelper - -} // namespace Internal - -} // namespace Toolkit - -} // namespace Dali - -#endif // __DALI_TOOLKIT_INTERNAL_RELAYOUT_HELPER_H__ diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp index 405e819..f9b3281 100644 --- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp @@ -362,12 +362,13 @@ ItemView::ItemView(ItemFactory& factory) void ItemView::OnInitialize() { - SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed ); - RegisterCommonProperties(); Actor self = Self(); + // Disable size negotiation for item views + self.SetRelayoutEnabled( false ); + mScrollConnector = Dali::Toolkit::ScrollConnector::New(); mScrollPositionObject = mScrollConnector.GetScrollPositionObject(); mScrollConnector.ScrollPositionChangedSignal().Connect( this, &ItemView::OnScrollPositionChanged ); @@ -460,7 +461,6 @@ void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSiz // Move the items to the new layout positions... - bool resizeAnimationNeeded(false); for (ConstItemPoolIter iter = mItemPool.begin(); iter != mItemPool.end(); ++iter) { unsigned int itemId = iter->first; @@ -472,34 +472,14 @@ void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSiz Vector3 size; if(mActiveLayout->GetItemSize(itemId, targetSize, size)) { - if( durationSeconds > 0.0f ) - { - // Use a size animation - if (!resizeAnimationNeeded) - { - resizeAnimationNeeded = true; - RemoveAnimation(mResizeAnimation); - mResizeAnimation = Animation::New(durationSeconds); - } - - // The layout provides its own resize animation - mActiveLayout->GetResizeAnimation(mResizeAnimation, actor, size, durationSeconds); - } - else - { - // resize immediately - actor.SetSize(size); - } + // resize immediately + actor.SetResizePolicy( FIXED, ALL_DIMENSIONS ); + actor.SetPreferredSize( size.GetVectorXY() ); } mActiveLayout->ApplyConstraints(actor, itemId, durationSeconds, mScrollPositionObject, Self() ); } - if (resizeAnimationNeeded) - { - mResizeAnimation.Play(); - } - // Refresh the new layout ItemRange range = GetItemRange(*mActiveLayout, targetSize, GetCurrentLayoutPosition(0), false/* don't reserve extra*/); AddActorsWithinRange( range, durationSeconds ); @@ -570,6 +550,17 @@ void ItemView::OnRefreshNotification(PropertyNotification& source) } } +void ItemView::Refresh() +{ + for (ItemPoolIter iter = mItemPool.begin(); iter != mItemPool.end(); ++iter ) + { + ReleaseActor( iter->first, iter->second ); + } + mItemPool.clear(); + + DoRefresh(GetCurrentLayoutPosition(0), true); +} + void ItemView::DoRefresh(float currentLayoutPosition, bool cacheExtra) { if (mActiveLayout) @@ -1005,7 +996,8 @@ void ItemView::SetupActor( Item item, float durationSeconds ) Vector3 size; if( mActiveLayout->GetItemSize( item.first, mActiveLayoutTargetSize, size ) ) { - item.second.SetSize( size ); + item.second.SetResizePolicy( FIXED, ALL_DIMENSIONS ); + item.second.SetPreferredSize( size.GetVectorXY() ); } mActiveLayout->ApplyConstraints( item.second, item.first, durationSeconds, mScrollPositionObject, Self() ); diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h index 991f538..7c41d1f 100644 --- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h +++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h @@ -171,6 +171,11 @@ public: float GetRefreshInterval() const; /** + * @copydoc Toolkit::ItemView::Refresh + */ + void Refresh(); + + /** * @copydoc Toolkit::ItemView::GetItem */ Actor GetItem(unsigned int itemId) const; diff --git a/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp b/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp index 23f1f0f..5ce5e22 100644 --- a/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp +++ b/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp @@ -182,9 +182,9 @@ void ShadowView::SetShadowPlane(Actor shadowPlane) ConstrainCamera(); - mShadowPlane.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mShadowPlane.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); - mBlurRootActor.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mBlurRootActor.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); } void ShadowView::SetPointLight(Actor pointLight) @@ -239,7 +239,8 @@ void ShadowView::OnInitialize() { // root actor to parent all user added actors. Used as source actor for shadow render task. mChildrenRoot.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); - mChildrenRoot.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mChildrenRoot.SetRelayoutEnabled( true ); + mChildrenRoot.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); Vector2 stageSize = Stage::GetCurrent().GetSize(); mCameraActor = CameraActor::New(stageSize); @@ -275,6 +276,7 @@ void ShadowView::OnInitialize() mBlurRootActor = Actor::New(); + mBlurRootActor.SetRelayoutEnabled( true ); // Turn off inheritance to ensure filter renders properly mBlurRootActor.SetPositionInheritanceMode(USE_PARENT_POSITION); mBlurRootActor.SetInheritOrientation(false); diff --git a/dali-toolkit/internal/controls/slider/slider-impl.cpp b/dali-toolkit/internal/controls/slider/slider-impl.cpp index 56bbd33..0cd8783 100755 --- a/dali-toolkit/internal/controls/slider/slider-impl.cpp +++ b/dali-toolkit/internal/controls/slider/slider-impl.cpp @@ -353,6 +353,7 @@ void Slider::DisplayValue( float value, bool raiseSignals ) std::stringstream ss; ss.precision( GetValuePrecision() ); ss << std::fixed << clampledValue; + mHandleValueTextView.SetText( ss.str() ); } } @@ -397,6 +398,7 @@ Actor Slider::CreateHitRegion() ImageActor Slider::CreateBacking() { ImageActor backing = ImageActor::New(); + backing.SetRelayoutEnabled( false ); backing.SetParentOrigin( ParentOrigin::CENTER ); backing.SetAnchorPoint( AnchorPoint::CENTER ); backing.SetZ( BACKING_Z ); @@ -426,6 +428,7 @@ std::string Slider::GetBackingImageName() ImageActor Slider::CreateProgress() { ImageActor progress = ImageActor::New(); + progress.SetRelayoutEnabled( false ); progress.SetParentOrigin( ParentOrigin::CENTER_LEFT ); progress.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); progress.SetZ( PROGRESS_Z ); @@ -501,6 +504,7 @@ void Slider::ResizeProgressRegion( const Vector2& region ) ImageActor Slider::CreateHandle() { ImageActor handle = ImageActor::New(); + handle.SetRelayoutEnabled( false ); handle.SetParentOrigin( ParentOrigin::CENTER_LEFT ); handle.SetAnchorPoint( AnchorPoint::CENTER ); handle.SetZ( HANDLE_Z ); @@ -511,6 +515,7 @@ ImageActor Slider::CreateHandle() ImageActor Slider::CreatePopupArrow() { ImageActor arrow = ImageActor::New(); + arrow.SetRelayoutEnabled( false ); arrow.SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); arrow.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER ); arrow.SetZ( HANDLE_Z ); @@ -523,7 +528,6 @@ Toolkit::TextView Slider::CreatePopupText() Toolkit::TextView textView = Toolkit::TextView::New(); textView.SetParentOrigin( ParentOrigin::CENTER ); textView.SetAnchorPoint( AnchorPoint::CENTER ); - textView.SetSizePolicy( Toolkit::Control::Flexible, Toolkit::Control::Flexible ); textView.SetZ( VALUE_DISPLAY_TEXT_Z ); return textView; } @@ -531,6 +535,7 @@ Toolkit::TextView Slider::CreatePopupText() ImageActor Slider::CreatePopup() { ImageActor popup = ImageActor::New(); + popup.SetRelayoutEnabled( false ); popup.SetParentOrigin( ParentOrigin::TOP_CENTER ); popup.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER ); diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp index 1b15f2b..5544761 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp @@ -250,7 +250,7 @@ void SuperBlurView::ClearBlurResource() } } -void SuperBlurView::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void SuperBlurView::OnRelayout( const Vector2& size, RelayoutContainer& container ) { unsigned int numChildren = Self().GetChildCount(); diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h index ebbe453..041e717 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h @@ -122,7 +122,7 @@ private: // from Control /** * @copydoc Control::OnRelayout() */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); private: diff --git a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp index e18fd6d..4f17023 100644 --- a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp +++ b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp @@ -24,25 +24,23 @@ #include #include #include +#include #include using namespace Dali; namespace { -const float DEFAULT_CONSTRAINT_DURATION = 0.0f; /** - * sets a child property relative to parents size and applies a unit based padding before the relative calculation. - * @param[in] scale of parent minus padding between 0 and 1 - * @param[in] padding in world coordinate units - * @param[in] fixed part in world coordinate units - * @param[in] size of the parent - * @return The relative size with padding. + * @brief Should the tableview fit around the given actor + * + * @param[in] actor The child actor to test against + * @param[dimension] The dimnesion to test against */ -Vector2 RelativeToSize( const Vector2& scale, const Vector2& padding, const Vector2& fixed, const Vector2& parentSize) +bool FitToChild( Actor actor, Dimension dimension ) { - return fixed + ( parentSize - padding ) * scale; + return actor.GetResizePolicy( dimension ) != FILL_TO_PARENT && actor.GetRelayoutSize( dimension ) > 0.0f; } #if defined(DEBUG_ENABLED) @@ -136,9 +134,9 @@ DALI_TYPE_REGISTRATION_END() const Scripting::StringEnum< Toolkit::TableView::LayoutPolicy > LAYOUT_POLICY_STRING_TABLE[] = { - { "fixed", Toolkit::TableView::Fixed }, - { "relative", Toolkit::TableView::Relative }, - { "fill", Toolkit::TableView::Fill } + { "fixed", Toolkit::TableView::FIXED }, + { "relative", Toolkit::TableView::RELATIVE }, + { "fill", Toolkit::TableView::FILL } }; const unsigned int LAYOUT_POLICY_STRING_TABLE_COUNT = sizeof(LAYOUT_POLICY_STRING_TABLE) / sizeof( LAYOUT_POLICY_STRING_TABLE[0] ); @@ -160,7 +158,7 @@ Toolkit::TableView TableView::New( unsigned int initialRows, unsigned int initia return handle; } -bool TableView::AddChild( Actor child, Toolkit::TableView::CellPosition position ) +bool TableView::AddChild( Actor& child, const Toolkit::TableView::CellPosition& position ) { // check that the child is valid DALI_ASSERT_ALWAYS( child ); @@ -170,31 +168,35 @@ bool TableView::AddChild( Actor child, Toolkit::TableView::CellPosition position { child.GetParent().Remove( child ); } + // check if we need to expand our data array if( position.rowIndex >= mCellData.GetRows() ) { // only adding new rows ResizeContainers( position.rowIndex + 1, mCellData.GetColumns() ); } + if( position.columnIndex >= mCellData.GetColumns() ) { // only adding new columns ResizeContainers( mCellData.GetRows(), position.columnIndex + 1 ); } + // check if there already is something in this cell if( mCellData[ position.rowIndex ][ position.columnIndex ].actor ) { return false; // cannot share a cell, it would complicate all logic and not bring much benefit } + RelayoutingLock lock( *this ); // adopt the child Self().Add( child ); // put the actor to the main cell - CellData data; + CellData& data = mCellData[ position.rowIndex ][ position.columnIndex ]; data.actor = child; data.position = position; - mCellData[ position.rowIndex ][ position.columnIndex ] = data; + // if child spans multiple rows of columns bool spanned = false; if( position.rowSpan > 1 ) @@ -205,8 +207,10 @@ bool TableView::AddChild( Actor child, Toolkit::TableView::CellPosition position // increase table size for the full span, only increasing rows ResizeContainers( position.rowIndex + position.rowSpan, mCellData.GetColumns() ); } + spanned = true; } + if( position.columnSpan > 1 ) { // span might go outside table @@ -215,8 +219,10 @@ bool TableView::AddChild( Actor child, Toolkit::TableView::CellPosition position // increase table size for the full span, only increasing columns ResizeContainers( mCellData.GetRows(), position.columnIndex + position.columnSpan ); } + spanned = true; } + // if it spanned multiple rows, put the cellinfo in all of those if( spanned ) { @@ -232,25 +238,25 @@ bool TableView::AddChild( Actor child, Toolkit::TableView::CellPosition position } } } - // relayout the whole table + + // Relayout the whole table RelayoutRequest(); - return true; // addition successful + + return true; // Addition successful } -Actor TableView::GetChildAt( Toolkit::TableView::CellPosition position ) +Actor TableView::GetChildAt( const Toolkit::TableView::CellPosition& position ) { - // check if we have this row and column in the table - if( ( position.columnIndex >= mCellData.GetColumns() )|| - ( position.rowIndex >= mCellData.GetRows() ) ) + if( ( position.rowIndex < mCellData.GetRows() ) && ( position.columnIndex < mCellData.GetColumns() ) ) { - // return an empty handle - return Actor(); + return mCellData[ position.rowIndex ][ position.columnIndex ].actor; } - // return the child handle - return mCellData[ position.rowIndex ][ position.columnIndex ].actor; + + // Return an empty handle + return Actor(); } -Actor TableView::RemoveChildAt( Toolkit::TableView::CellPosition position ) +Actor TableView::RemoveChildAt( const Toolkit::TableView::CellPosition& position ) { // get the child handle Actor child = GetChildAt( position ); @@ -271,62 +277,70 @@ Actor TableView::RemoveChildAt( Toolkit::TableView::CellPosition position ) return child; } -bool TableView::FindChildPosition( Actor child, Toolkit::TableView::CellPosition& position ) +bool TableView::FindChildPosition( const Actor& child, Toolkit::TableView::CellPosition& positionOut ) { - // only find valid child actors + // Only find valid child actors if( child ) { - // walk through the layout data + // Walk through the layout data const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); + for( unsigned int row = 0; row < rowCount; ++row ) { for( unsigned int column = 0; column < columnCount; ++column ) { if( mCellData[ row ][ column ].actor == child ) { - position = mCellData[ row ][ column ].position; + positionOut = mCellData[ row ][ column ].position; return true; } } } } + return false; } void TableView::InsertRow( unsigned int rowIndex ) { RelayoutingLock lock( *this ); + mCellData.InsertRow( rowIndex ); - // need to update the cellinfos for the items that moved + + // Need to update the cell infos for the items that moved const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); + for( unsigned int row = 0; row < rowCount; ++row ) { for( unsigned int column = 0; column < columnCount; ++column ) { Toolkit::TableView::CellPosition& position = mCellData[ row ][ column ].position; - // if cell is spanning and above and spans to inserted row - if( ( position.rowSpan > 1 )&&( position.rowIndex <= rowIndex )&& + + // If cell is spanning and above and spans to inserted row + if( ( position.rowSpan > 1 ) && ( position.rowIndex <= rowIndex ) && ( position.rowIndex + position.rowSpan > rowIndex ) ) { - // increase span by one + // Increment span position.rowSpan++; - // copy cell to occupy the new column + + // Copy cell to occupy the new column mCellData[ rowIndex ][ column ] = mCellData[ row ][ column ]; } - // if below of inserted row, increase row index - else if( row > rowIndex ) + else if( row > rowIndex ) // If below of inserted row, increase row index { - // increase index by one + // Increment index position.rowIndex++; } } } - mRelativeSizes.InsertRow( rowIndex ); - // inserting a row requires adjusting the height vectors - mFixedHeights.insert( mFixedHeights.begin() + rowIndex, 0 ); - mRelativeHeights.insert( mRelativeHeights.begin() + rowIndex, 0 ); + + // Expand row data array + mRowData.Insert( mRowData.Begin() + rowIndex, RowColumnData() ); + + // Sizes may have changed, so relayout + mRowColumnDirty = true; RelayoutRequest(); } @@ -339,30 +353,34 @@ void TableView::DeleteRow( unsigned int rowIndex ) void TableView::DeleteRow( unsigned int rowIndex, std::vector& removed ) { RelayoutingLock lock( *this ); + + // Delete the row std::vector< CellData > lost; mCellData.DeleteRow( rowIndex, lost ); - // need to update the cellinfos for the items that moved + + // Need to update the cell infos for the items that moved const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); + for( unsigned int row = 0; row < rowCount; ++row ) { for( unsigned int column = 0; column < columnCount; ++column ) { Toolkit::TableView::CellPosition& position = mCellData[ row ][ column ].position; - // if cell is spanning and above and spans to deleted row - if( ( position.rowSpan > 1 )&&( position.rowIndex <= rowIndex )&& + + // If cell is spanning and above and spans to deleted row + if( ( position.rowSpan > 1 ) && ( position.rowIndex <= rowIndex ) && ( position.rowIndex + position.rowSpan > rowIndex ) ) { - // decrease span by one + // Decrement span if( position.rowSpan > 1 ) { position.rowSpan--; } } - // if below of or at the inserted row, decrease row index - else if( row >= rowIndex ) + else if( row >= rowIndex ) // If below of or at the inserted row, decrease row index { - // decrease index by one + // Decrement index if( position.rowIndex > 1 ) { position.rowIndex--; @@ -370,50 +388,58 @@ void TableView::DeleteRow( unsigned int rowIndex, std::vector& removed ) } } } + // 1 row removed, 0 columns RemoveAndGetLostActors( lost, removed, 1u, 0u ); - // resize the data structures - mRelativeSizes.DeleteRow( rowIndex ); - // deleting a row requires adjusting the height vectors - mFixedHeights.erase( mFixedHeights.begin() + rowIndex ); - mRelativeHeights.erase( mRelativeHeights.begin() + rowIndex ); + + // Contract row data array + mRowData.Erase( mRowData.Begin() + rowIndex ); + + // Sizes may have changed, so relayout + mRowColumnDirty = true; RelayoutRequest(); } void TableView::InsertColumn( unsigned int columnIndex ) { RelayoutingLock lock( *this ); + + // Insert the new column mCellData.InsertColumn( columnIndex ); - // need to update the cellinfos for the items that moved + + // Need to update the cell infos for the items that moved const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); + for( unsigned int row = 0; row < rowCount; ++row ) { for( unsigned int column = 0; column < columnCount; ++column ) { Toolkit::TableView::CellPosition& position = mCellData[ row ][ column ].position; - // if cell is spanning and left side and spans to inserted column - if( ( position.columnSpan > 1 )&&( position.columnIndex <= columnIndex )&& + + // If cell is spanning and left side and spans to inserted column + if( ( position.columnSpan > 1 ) && ( position.columnIndex <= columnIndex ) && ( position.columnIndex + position.columnSpan > columnIndex ) ) { - // increase span by one + // Increment span position.columnSpan++; - // copy cell to occupy the new column + + // Copy cell to occupy the new column mCellData[ row ][ columnIndex ] = mCellData[ row ][ column ]; } - // if on the right side of inserted column, increase column index - else if( column > columnIndex ) + else if( column > columnIndex ) // If on the right side of inserted column, increase column index { - // increase index by one + // Increment index position.columnIndex++; } } } - // relative sizes gets recalculated on Relayout - mRelativeSizes.InsertColumn( columnIndex ); - // inserting a column requires adjusting the width vectors - mFixedWidths.insert( mFixedWidths.begin() + columnIndex, 0 ); - mRelativeWidths.insert( mRelativeWidths.begin() + columnIndex, 0 ); + + // Expand column data array + mColumnData.Insert( mColumnData.Begin() + columnIndex, RowColumnData() ); + + // Sizes may have changed so relayout + mRowColumnDirty = true; RelayoutRequest(); } @@ -426,30 +452,34 @@ void TableView::DeleteColumn( unsigned int columnIndex ) void TableView::DeleteColumn( unsigned int columnIndex, std::vector& removed ) { RelayoutingLock lock( *this ); + + // Remove the column std::vector< CellData > lost; mCellData.DeleteColumn( columnIndex, lost ); - // need to update the cellinfos for the items that moved + + // Need to update the cell infos for the items that moved const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); + for( unsigned int row = 0; row < rowCount; ++row ) { for( unsigned int column = 0; column < columnCount; ++column ) { Toolkit::TableView::CellPosition& position = mCellData[ row ][ column ].position; - // if cell is spanning and left side and spans to inserted column - if( ( position.columnSpan > 1 )&&( position.columnIndex <= columnIndex )&& + + // If cell is spanning and left side and spans to inserted column + if( ( position.columnSpan > 1 ) && ( position.columnIndex <= columnIndex ) && ( position.columnIndex + position.columnSpan > columnIndex ) ) { - // decrease span by one + // Decrement span if( position.columnSpan > 1 ) { position.columnSpan--; } } - // if on the right side of or at the inserted column, decrease column index - else if( column >= columnIndex ) + else if( column >= columnIndex ) // If on the right side of or at the inserted column, decrease column index { - // decrease index by one + // Decrement index if( position.columnIndex > 0 ) { position.columnIndex--; @@ -457,14 +487,15 @@ void TableView::DeleteColumn( unsigned int columnIndex, std::vector& remo } } } + // 0 rows, 1 column removed RemoveAndGetLostActors( lost, removed, 0u, 1u ); - // resize the data structures - mRelativeSizes.DeleteColumn( columnIndex ); - // deleting a column requires adjusting the width vectors - mFixedWidths.erase( mFixedWidths.begin() + columnIndex ); - mRelativeWidths.erase( mRelativeWidths.begin() + columnIndex ); - // relayout + + // Contract column data array + mColumnData.Erase( mColumnData.Begin() + columnIndex ); + + // Size may have changed so relayout + mRowColumnDirty = true; RelayoutRequest(); } @@ -477,36 +508,45 @@ void TableView::Resize( unsigned int rows, unsigned int columns ) void TableView::Resize( unsigned int rows, unsigned int columns, std::vector& removed ) { RelayoutingLock lock( *this ); + unsigned int oldRows = GetRows(); unsigned int oldColumns = GetColumns(); - // resize data array + + // Resize data array std::vector< CellData > lost; ResizeContainers( rows, columns, lost ); - // calculate if we lost rows or columns + + // Calculate if we lost rows unsigned int rowsRemoved = 0; unsigned int newRows = GetRows(); + if( oldRows < newRows ) { rowsRemoved = newRows - oldRows; } + + // Calculate if we lost columns unsigned int columnsRemoved = 0; unsigned int newColumns = GetColumns(); if( oldColumns < newColumns ) { rowsRemoved = newColumns - oldColumns; } + RemoveAndGetLostActors( lost, removed, rowsRemoved, columnsRemoved ); - // finally relayout once all actors are removed + + // Sizes may have changed so request a relayout + mRowColumnDirty = true; RelayoutRequest(); } void TableView::SetCellPadding( Size padding ) { - // if padding really changed + // If padding really changed if( padding != mPadding ) { mPadding = padding; - // do a relayout + RelayoutRequest(); } } @@ -516,184 +556,224 @@ Size TableView::GetCellPadding() return mPadding; } +void TableView::SetRowPolicy( unsigned int rowIndex, CellSizePolicy policy ) +{ + DALI_ASSERT_ALWAYS( rowIndex < mRowData.Size() ); + + if( mRowData[ rowIndex ].sizePolicy != policy ) + { + mRowData[ rowIndex ].sizePolicy = policy; + + mRowColumnDirty = true; + RelayoutRequest(); + } +} + +TableView::CellSizePolicy TableView::GetRowPolicy( unsigned int rowIndex ) const +{ + DALI_ASSERT_ALWAYS( rowIndex < mRowData.Size() ); + + return mRowData[ rowIndex ].sizePolicy; +} + +void TableView::SetColumnPolicy( unsigned int columnIndex, CellSizePolicy policy ) +{ + DALI_ASSERT_ALWAYS( columnIndex < mColumnData.Size() ); + + if( mColumnData[ columnIndex ].sizePolicy != policy ) + { + mColumnData[ columnIndex ].sizePolicy = policy; + + mRowColumnDirty = true; + RelayoutRequest(); + } +} + +TableView::CellSizePolicy TableView::GetColumnPolicy( unsigned int columnIndex ) const +{ + DALI_ASSERT_ALWAYS( columnIndex < mColumnData.Size() ); + + return mColumnData[ columnIndex ].sizePolicy; +} + void TableView::SetFixedHeight( unsigned int rowIndex, float height ) { - DALI_ASSERT_ALWAYS( rowIndex < mFixedHeights.size() ); - // add the fixed height to the array of fixed heights - mFixedHeights[ rowIndex ] = height; - // remove the relative height of the same row - mRelativeHeights[ rowIndex ] = 0.f; - // relayout all cells, no lock needed as nothing added or removed + DALI_ASSERT_ALWAYS( rowIndex < mRowData.Size() ); + + RowColumnData& data = mRowData[ rowIndex ]; + data.size = height; + data.sizePolicy = FIXED; + + mRowColumnDirty = true; RelayoutRequest(); } float TableView::GetFixedHeight( unsigned int rowIndex ) const { - DALI_ASSERT_ALWAYS( rowIndex < mFixedHeights.size() ); + DALI_ASSERT_ALWAYS( rowIndex < mRowData.Size() ); - return mFixedHeights[ rowIndex ]; + return mRowData[ rowIndex ].size; } -void TableView::SetRelativeHeight( unsigned int rowIndex, float heightPercentage ) +void TableView::SetFixedWidth( unsigned int columnIndex, float width ) { - DALI_ASSERT_ALWAYS( rowIndex < mRelativeHeights.size() ); - // add the relative height to the array of relative heights - mRelativeHeights[ rowIndex ] = heightPercentage; - // remove the fixed height of the same row - mFixedHeights[ rowIndex ] = 0.f; - // relayout all cells, no lock needed as nothing added or removed + DALI_ASSERT_ALWAYS( columnIndex < mColumnData.Size() ); + + RowColumnData& data = mColumnData[ columnIndex ]; + data.size = width; + data.sizePolicy = FIXED; + + mRowColumnDirty = true; RelayoutRequest(); } -float TableView::GetRelativeHeight( unsigned int rowIndex ) const +float TableView::GetFixedWidth( unsigned int columnIndex ) const { - DALI_ASSERT_ALWAYS( rowIndex < mRelativeHeights.size() ); + DALI_ASSERT_ALWAYS( columnIndex < mColumnData.Size() ); - return mRelativeHeights[ rowIndex ]; + return mColumnData[ columnIndex ].size; } -void TableView::SetFixedWidth( unsigned int columnIndex, float width ) +void TableView::SetRelativeHeight( unsigned int rowIndex, float heightPercentage ) { - DALI_ASSERT_ALWAYS( columnIndex < mFixedWidths.size() ); - // add the fixed width to the array of fixed column widths - mFixedWidths[ columnIndex ] = width; - // remove the relative width of the same column - mRelativeWidths[ columnIndex ] = 0.f; - // relayout all cells, no lock needed as nothing added or removed + DALI_ASSERT_ALWAYS( rowIndex < mRowData.Size() ); + + RowColumnData& data = mRowData[ rowIndex ]; + data.fillRatio = heightPercentage; + data.userFillRatio = true; + data.sizePolicy = FILL; + + mRowColumnDirty = true; RelayoutRequest(); } -float TableView::GetFixedWidth( unsigned int columnIndex ) const +float TableView::GetRelativeHeight( unsigned int rowIndex ) const { - DALI_ASSERT_ALWAYS( columnIndex < mFixedWidths.size() ); + DALI_ASSERT_ALWAYS( rowIndex < mRowData.Size() ); - return mFixedWidths[ columnIndex ]; + return mRowData[ rowIndex ].fillRatio; } void TableView::SetRelativeWidth( unsigned int columnIndex, float widthPercentage ) { - DALI_ASSERT_ALWAYS( columnIndex < mRelativeWidths.size() ); - // add the relative widths to the array of relative widths - mRelativeWidths[ columnIndex ] = widthPercentage; - // remove the fixed width of the same column - mFixedWidths[ columnIndex ] = 0.f; - // relayout all cells, no lock needed as nothing added or removed + DALI_ASSERT_ALWAYS( columnIndex < mColumnData.Size() ); + + RowColumnData& data = mColumnData[ columnIndex ]; + data.fillRatio = widthPercentage; + data.userFillRatio = true; + data.sizePolicy = FILL; + + mRowColumnDirty = true; RelayoutRequest(); } float TableView::GetRelativeWidth( unsigned int columnIndex ) const { - DALI_ASSERT_ALWAYS( columnIndex < mRelativeWidths.size() ); + DALI_ASSERT_ALWAYS( columnIndex < mColumnData.Size() ); + + return mColumnData[ columnIndex ].fillRatio; +} + +void TableView::CalculateRowColumnData() +{ + // Calculate the relative sizes + if( mRowColumnDirty ) + { + ComputeRelativeSizes( mRowData ); + ComputeRelativeSizes( mColumnData ); - return mRelativeWidths[ columnIndex ]; + mRowColumnDirty = false; + } } -void TableView::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void TableView::OnCalculateRelayoutSize( Dimension dimension ) { - float fixedHeightsTotal = 0.0f; - float fixedWidthsTotal = 0.0f; + CalculateRowColumnData(); - // 1. update the relative sizes and calculate total fixed height and width - UpdateRelativeSizes( fixedHeightsTotal, fixedWidthsTotal ); + if( dimension & WIDTH ) + { + CalculateFixedSizes( mColumnData, WIDTH ); + mFixedTotals.width = CalculateTotalFixedSize( mColumnData ); + } - // 2. go through the layout data and create constraints - float cumulatedFixedHeight = 0.0f; - float cumulatedRelativeHeight = 0.0f; + if( dimension & HEIGHT ) + { + CalculateFixedSizes( mRowData, HEIGHT ); + mFixedTotals.height = CalculateTotalFixedSize( mRowData ); + } +} + +void TableView::OnLayoutNegotiated( float size, Dimension dimension ) +{ + CalculateRowColumnData(); + + // Calculate the value of all relative sized rows and columns + if( dimension & WIDTH ) + { + float remainingSize = size - mFixedTotals.width; + if( remainingSize < 0.0f ) + { + remainingSize = 0.0f; + } + + CalculateRelativeSizes( mColumnData, remainingSize ); + } + + if( dimension & HEIGHT ) + { + float remainingSize = size - mFixedTotals.height; + if( remainingSize < 0.0f ) + { + remainingSize = 0.0f; + } + + CalculateRelativeSizes( mRowData, remainingSize ); + } +} + +void TableView::OnRelayout( const Vector2& size, RelayoutContainer& container ) +{ + CalculateRowColumnData(); + + // Go through the layout data + float cumulatedHeight = 0.0f; - // iterate the table const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); - // float versions of the count + 1 to keep precision - const float maxRowPlusOne( rowCount + 1 ); - const float maxColumnPlusOne( columnCount + 1 ); + for( unsigned int row = 0; row < rowCount; ++row ) { - // reset widths at the start of each row - float cumulatedFixedWidth = 0.0f; - float cumulatedRelativeWidth = 0.0f; + float cumulatedWidth = 0.0f; + for( unsigned int column = 0; column < columnCount; ++column ) { - // check if this cell has an actor - Actor actor = mCellData[ row ][ column ].actor; + Actor& actor = mCellData[ row ][ column ].actor; const Toolkit::TableView::CellPosition position = mCellData[ row ][ column ].position; - // if there is an actor and this is the main cell of the actor - // an actor can be in multiple cells if its row or columnspan is more than 1 - // we however must only lay out each actor only once - if( ( actor )&&( position.rowIndex == row )&&( position.columnIndex == column ) ) + + // If there is an actor and this is the main cell of the actor. + // An actor can be in multiple cells if its row or columnspan is more than 1. + // We however must lay out each actor only once. + if( actor && ( position.rowIndex == row ) && ( position.columnIndex == column ) ) { - // anchor actor correctly + // Anchor actor to top left of table view actor.SetAnchorPoint( AnchorPoint::TOP_LEFT ); actor.SetParentOrigin( ParentOrigin::TOP_LEFT ); - // remove old constraints - actor.RemoveConstraints(); - - // 1. set position - // get the row and column indices - float rowPos( position.rowIndex ); - float colPos( position.columnIndex ); - // constrain the actor position to be relative to the width and height of table - // minus the padding of course (padding is all around cells) - Vector2 relativePosition( cumulatedRelativeWidth, cumulatedRelativeHeight ); - // fixed height rows and fixed width cells are considered as padding so - // they are removed from the total size for relative - // for position only consider cumulated fixed rows and columns from top and left - Vector2 positionPadding( maxColumnPlusOne * mPadding.width + fixedWidthsTotal, - maxRowPlusOne * mPadding.height + fixedHeightsTotal ); - Vector2 fixedPosition( ( colPos + 1.0f ) * mPadding.width + cumulatedFixedWidth, - ( rowPos + 1.0f ) * mPadding.height + cumulatedFixedHeight ); - - Vector3 actorPosition( RelativeToSize( relativePosition, positionPadding, fixedPosition, size ) ); - actor.SetPosition( actorPosition ); - // 2. set size - // constrain the actor size to be relative to the size of table - // get the relative size for this cell - Vector2 relativeSize( mRelativeSizes[ row ][ column ] ); - Vector2 fixedSize( mFixedWidths[ column ], mFixedHeights[ row ] ); - // if we span multiple cells, need to sum them all up, both fixed and relative parts - if( position.rowSpan > 1 ) - { - for( unsigned int i = 1; i < position.rowSpan; ++i ) - { - // accumulate the height only - relativeSize.height += mRelativeSizes[ row + i ][ column ].height; - fixedSize.height += mFixedHeights[ row + i ]; - } - } - if( position.columnSpan > 1 ) - { - for( unsigned int i = 1; i < position.columnSpan; ++i ) - { - // accumulate the width only - relativeSize.width += mRelativeSizes[ row ][ column + i ].width; - fixedSize.width += mFixedWidths[ column + i ]; - } - } - // minus the padding from size (padding is all around cells) - // if item spans multiple columns or rows then less padding is added (default span is 1) - // fixed height rows and fixed width cells are considered as padding so they are removed - // from the total available size for relative cells - Vector2 sizePadding( maxColumnPlusOne * mPadding.width + fixedWidthsTotal, - maxRowPlusOne * mPadding.height + fixedHeightsTotal ); - // and added to the fixed size multiplied by the span of rows and columns - fixedSize.width += ( position.columnSpan - 1.0f ) * mPadding.width; - fixedSize.height += ( position.rowSpan - 1.0f ) * mPadding.height; - - Vector2 actorSize( RelativeToSize( relativeSize, sizePadding, fixedSize, size ) ); - actor.SetSize(actorSize.x, actorSize.y); - - // Relayout Children - Relayout ( actor, actorSize, container ); + Padding padding; + actor.GetPadding( padding ); + + Vector3 actorPosition( cumulatedWidth + mPadding.width + padding.left, // Left padding + cumulatedHeight + mPadding.height + padding.top, // Top padding + 0.0f ); + actor.SetPosition( actorPosition ); } - // for position we need to keep track of current fixed width and relative width - // increase for next column - cumulatedFixedWidth += mFixedWidths[ column ]; - cumulatedRelativeWidth += mRelativeSizes[ row ][ column ].width; + + DALI_ASSERT_DEBUG( column < mColumnData.Size() ); + cumulatedWidth += mColumnData[ column ].size; } - // for position we need to keep track of current fixed height and relative height - // increase for next row - cumulatedFixedHeight += mFixedHeights[ row ]; - cumulatedRelativeHeight += mRelativeSizes[ row ][ 0 ].height; // all columns share same height + + DALI_ASSERT_DEBUG( row < mRowData.Size() ); + cumulatedHeight += mRowData[ row ].size; } } @@ -801,15 +881,20 @@ void TableView::OnControlChildAdd( Actor& child ) return; } + RelayoutRequest(); + + // Test properties on actor Toolkit::TableView::CellPosition cellPosition; if( child.GetPropertyIndex(Toolkit::TableView::ROW_SPAN_PROPERTY_NAME) != Property::INVALID_INDEX ) { cellPosition.rowSpan = static_cast( child.GetProperty( child.GetPropertyIndex(Toolkit::TableView::ROW_SPAN_PROPERTY_NAME) ).Get() ); } + if( child.GetPropertyIndex(Toolkit::TableView::COLUMN_SPAN_PROPERTY_NAME) != Property::INVALID_INDEX ) { cellPosition.columnSpan = static_cast( child.GetProperty( child.GetPropertyIndex(Toolkit::TableView::COLUMN_SPAN_PROPERTY_NAME) ).Get() ); } + if( child.GetPropertyIndex(Toolkit::TableView::CELL_INDICES_PROPERTY_NAME) != Property::INVALID_INDEX ) { Vector2 indices = child.GetProperty( child.GetPropertyIndex(Toolkit::TableView::CELL_INDICES_PROPERTY_NAME) ).Get(); @@ -817,44 +902,43 @@ void TableView::OnControlChildAdd( Actor& child ) cellPosition.columnIndex = static_cast( indices.y ); AddChild( child, cellPosition ); - // donot continue + + // Do not continue return; } - // check if we're already laying out this child somewhere on the table - // walk through the layout data + // Find the first available cell to store the actor in const unsigned int rowCount = mCellData.GetRows(); const unsigned int columnCount = mCellData.GetColumns(); - // child not yet laid out, find the first free slot for( unsigned int row = 0; row < rowCount; ++row ) { for( unsigned int column = 0; column < columnCount; ++column ) { - // no actor means free cell if( !(mCellData[ row ][ column ].actor) ) { - // put the actor in the cell + // Put the actor in the cell CellData data; data.actor = child; data.position.columnIndex = column; data.position.rowIndex = row; mCellData[ row ][ column ] = data; - RelayoutRequest(); - // don' continue + + // Don't continue return; } } } - // still here, no room for the poor child so increase the array. Need a new row - ResizeContainers( rowCount + 1, columnCount ); - // put the actor to the first cell of the new row + + // No empty cells, so increase size of the table + unsigned int newColumnCount = ( columnCount > 0 ) ? columnCount : 1; + ResizeContainers( rowCount + 1, newColumnCount ); + + // Put the actor in the first cell of the new row CellData data; data.actor = child; data.position.rowIndex = rowCount; data.position.columnIndex = 0; mCellData[ rowCount ][ 0 ] = data; - // finally relayout the table - RelayoutRequest(); } void TableView::OnControlChildRemove( Actor& child ) @@ -873,7 +957,8 @@ void TableView::OnControlChildRemove( Actor& child ) TableView::TableView( unsigned int initialRows, unsigned int initialColumns ) : Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ), mCellData( initialRows, initialColumns ), - mLayoutingChild( false ) + mLayoutingChild( false ), + mRowColumnDirty( true ) // Force recalculation first time { SetKeyboardNavigationSupport( true ); ResizeContainers( initialRows, initialColumns ); @@ -895,13 +980,12 @@ void TableView::ResizeContainers( unsigned int rows, unsigned int columns ) void TableView::ResizeContainers( unsigned int rows, unsigned int columns, std::vector& removed ) { + // Resize cell data mCellData.Resize( rows, columns, removed ); - // we dont care if these go smaller, data will be regenerated or is not needed anymore - mRelativeSizes.Resize( rows, columns ); - mFixedHeights.resize( rows ); - mRelativeHeights.resize( rows ); - mFixedWidths.resize( columns ); - mRelativeWidths.resize( columns ); + + // We don't care if these go smaller, data will be regenerated or is not needed anymore + mRowData.Resize( rows ); + mColumnData.Resize( columns ); } void TableView::RemoveAndGetLostActors( const std::vector& lost, std::vector& removed, @@ -952,7 +1036,7 @@ void TableView::RemoveAndGetLostActors( const std::vector& lost, std:: } } -bool TableView::RemoveAllInstances( Actor child ) +bool TableView::RemoveAllInstances( const Actor& child ) { bool found = false; // walk through the layout data @@ -973,104 +1057,6 @@ bool TableView::RemoveAllInstances( Actor child ) return found; } -void TableView::UpdateRelativeSizes( float& fixedHeightsTotal, float& fixedWidthsTotal ) -{ - // 1. check all the fixed heights and widths to know how much size they take in total - // as well as the relative heights and widths to know how much is left for the 'fill' cells - unsigned int fixedRowCount = 0; - unsigned int relativeRowCount = 0; - float relativeHeightsTotal = 0.0f; - const unsigned int rowCount = mCellData.GetRows(); - for( unsigned int row = 0; row < rowCount; ++row ) - { - if( mFixedHeights[ row ] > 0.0f ) - { - ++fixedRowCount; - fixedHeightsTotal += mFixedHeights[ row ]; - } - if( mRelativeHeights[ row ] > 0.0f ) - { - ++relativeRowCount; - relativeHeightsTotal += mRelativeHeights[ row ]; - } - } - unsigned int fixedColumnCount = 0; - unsigned int relativeColumnCount = 0; - const unsigned int columnCount = mCellData.GetColumns(); - float relativeWidthsTotal = 0.0f; - for( unsigned int column = 0; column < columnCount; ++column ) - { - if( mFixedWidths[ column ] > 0.0f ) - { - ++fixedColumnCount; - fixedWidthsTotal += mFixedWidths[ column ]; - } - if( mRelativeWidths[ column ] > 0.0f ) - { - ++relativeColumnCount; - relativeWidthsTotal += mRelativeWidths[ column ]; - } - } - - // 2. cap the relative width and height totals to 100% - if( relativeHeightsTotal > 1.0f ) - { - relativeHeightsTotal = 1.0f; - } - if( relativeWidthsTotal > 1.0f ) - { - relativeWidthsTotal = 1.0f; - } - - // 3. create a table of relative sizes so we can lookup for cells that span multiple rows & colums - const float fillRowCount( rowCount - relativeRowCount - fixedRowCount ); - const float fillColumnCount( columnCount - relativeColumnCount - fixedColumnCount ); - - // walk through the data containers - for( unsigned int row = 0; row < rowCount; ++row ) - { - float relativeHeight = 0.0f; - // if we have a fixed height, relative height is 0 - if( mFixedHeights[ row ] > 0.0f ) - { - relativeHeight = 0.0f; - } - // else if we're given a specific row height %, use that - else if( mRelativeHeights[ row ] > 0.0f ) - { - relativeHeight = mRelativeHeights[ row ]; - } - // else if there are fill rows - else if( fillRowCount > 0 ) - { - // this is a 'fill' row. it gets the remainder of the 100% divided evenly between 'fill' rows - relativeHeight = (1.0f - relativeHeightsTotal ) / fillRowCount; - } - for( unsigned int column = 0; column < columnCount; ++column ) - { - float relativeWidth = 0.0f; - // if we have a fixed width, relative width is 0 - if( mFixedWidths[ column ] > 0.0f ) - { - relativeWidth = 0.0f; - } - // else if we're given a specific column width %, use that - else if( mRelativeWidths[ column ] > 0.0f ) - { - relativeWidth = mRelativeWidths[ column ]; - } - // else if there are fill columns - else if( fillColumnCount > 0 ) - { - // this is a 'fill' column. it gets the remainder of the 100% divided evenly between 'fill' columns - relativeWidth = (1.0f - relativeWidthsTotal ) / fillColumnCount; - } - // store the value - mRelativeSizes[ row ][ column ] = Size( relativeWidth, relativeHeight ); - } - } -} - void TableView::SetHeightOrWidthProperty(TableView& tableViewImpl, void(TableView::*funcFixed)(unsigned int, float), void(TableView::*funcRelative)(unsigned int, float), @@ -1090,11 +1076,11 @@ void TableView::SetHeightOrWidthProperty(TableView& tableViewImpl, if( item.HasKey( "policy" ) && item.HasKey( "value" ) ) { Toolkit::TableView::LayoutPolicy policy = Scripting::GetEnumeration< Toolkit::TableView::LayoutPolicy >( item.GetValue("policy").Get().c_str(), LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ); - if( policy == Toolkit::TableView::Fixed ) + if( policy == Toolkit::TableView::FIXED ) { (tableViewImpl.*funcFixed)( rowIndex, item.GetValue("value").Get() ); } - else if( policy == Toolkit::TableView::Relative ) + else if( policy == Toolkit::TableView::RELATIVE ) { (tableViewImpl.*funcRelative)( rowIndex, item.GetValue("value").Get() ); } @@ -1107,40 +1093,61 @@ void TableView::SetHeightOrWidthProperty(TableView& tableViewImpl, Property::Value TableView::GetRowHeightsPropertyValue() { Property::Map map; - GetMapPropertyValue( mFixedHeights, mRelativeHeights, map); + GetMapPropertyValue( mRowData, map); return Property::Value(map); } Property::Value TableView::GetColumnWidthsPropertyValue() { Property::Map map; - GetMapPropertyValue( mFixedWidths, mRelativeWidths, map); + GetMapPropertyValue( mColumnData, map); return Property::Value(map); } -void TableView::GetMapPropertyValue( const std::vector& fixedSize, const std::vector& relativeSize, Property::Map& map ) +void TableView::GetMapPropertyValue( const RowColumnArray& data, Property::Map& map ) { - std::string fixedPolicy( Scripting::GetEnumerationName< Toolkit::TableView::LayoutPolicy >( Toolkit::TableView::Fixed, LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ) ); - std::string relativePolicy( Scripting::GetEnumerationName< Toolkit::TableView::LayoutPolicy >( Toolkit::TableView::Relative, LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ) ); + std::string fixedPolicy( Scripting::GetEnumerationName< Toolkit::TableView::LayoutPolicy >( Toolkit::TableView::FIXED, LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ) ); + std::string relativePolicy( Scripting::GetEnumerationName< Toolkit::TableView::LayoutPolicy >( Toolkit::TableView::RELATIVE, LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ) ); - size_t count = fixedSize.size(); - for( size_t index = 0; index < count; index++ ) + const RowColumnArray::SizeType count = data.Size(); + for( RowColumnArray::SizeType i = 0; i < count; i++ ) { - if( ! EqualsZero( fixedSize[index] ) ) - { - Property::Map item; - item[ "policy" ] = fixedPolicy; - item[ "value" ] = fixedSize[index]; + const RowColumnData& dataInstance = data[ i ]; - map[ static_cast( &(std::ostringstream() << index ) )->str() ] = item; - } - else if( ! EqualsZero( relativeSize[index] ) ) + switch( dataInstance.sizePolicy ) { - Property::Map item; - item[ "policy" ] = relativePolicy; - item[ "value" ] = relativeSize[index]; + case FIXED: + { + Property::Map item; + item[ "policy" ] = fixedPolicy; + item[ "value" ] = dataInstance.size; + + std::ostringstream ss; + ss << i; + + map[ ss.str() ] = item; + + break; + } + + case FILL: + { + Property::Map item; + item[ "policy" ] = relativePolicy; + item[ "value" ] = dataInstance.fillRatio; + + std::ostringstream ss; + ss << i; - map[ static_cast( &(std::ostringstream() << index ) )->str() ] = item; + map[ ss.str() ] = item; + + break; + } + + default: + { + break; + } } } } @@ -1236,6 +1243,257 @@ Actor TableView::GetNextKeyboardFocusableActor(Actor currentFocusedActor, Toolki return nextFocusableActor; } +Vector3 TableView::GetNaturalSize() +{ + // Natural size is the size of all fixed cell widths or heights. This ignores cells with relative heights. + return Vector3( mFixedTotals.width, mFixedTotals.height, 1.0f ); +} + +float TableView::CalculateChildSize( const Actor& child, Dimension dimension ) +{ + CalculateRowColumnData(); + + const unsigned int rowCount = mCellData.GetRows(); + const unsigned int columnCount = mCellData.GetColumns(); + + for( unsigned int row = 0; row < rowCount; ++row ) + { + for( unsigned int column = 0; column < columnCount; ++column ) + { + // check if this cell has an actor + Actor& actor = mCellData[ row ][ column ].actor; + + if( actor && ( actor == child ) ) + { + const Toolkit::TableView::CellPosition position = mCellData[ row ][ column ].position; + + // If there is an actor and this is the main cell of the actor. + // An actor can be in multiple cells if its row or columnspan is more than 1. + if ( ( position.rowIndex == row ) && ( position.columnIndex == column ) ) + { + switch( dimension ) + { + case WIDTH: + { + float cellSize = 0.0f; + + // Accumulate the width + for( unsigned int i = 0; i < position.columnSpan; ++i ) + { + cellSize += mColumnData[ column + i ].size; + } + + // Apply padding + cellSize -= mPadding.width * 2.0f; + if( cellSize < 0.0f ) + { + cellSize = 0.0f; + } + + return cellSize; + } + + case HEIGHT: + { + float cellSize = 0.0f; + + // Accumulate the height + for( unsigned int i = 0; i < position.rowSpan; ++i ) + { + cellSize += mRowData[ row + i ].size; + } + + // Apply padding + cellSize -= mPadding.width * 2.0f; + if( cellSize < 0.0f ) + { + cellSize = 0.0f; + } + + return cellSize; + } + + default: + { + return 0.0f; + } + } + } + } + } + } + + return 0.0f; // Child not found +} + +bool TableView::RelayoutDependentOnChildren( Dimension dimension ) +{ + if ( Control::RelayoutDependentOnChildren( dimension ) ) + { + return true; + } + + return FindFit( mRowData ) || FindFit( mColumnData ); +} + +void TableView::SetCellAlignment( Toolkit::TableView::CellPosition position, HorizontalAlignment::Type horizontal, VerticalAlignment::Type vertical ) +{ + // Check if we need to expand our data array + if( position.rowIndex >= mCellData.GetRows() ) + { + // Only adding new rows + ResizeContainers( position.rowIndex + 1, mCellData.GetColumns() ); + } + + if( position.columnIndex >= mCellData.GetColumns() ) + { + // Only adding new columns + ResizeContainers( mCellData.GetRows(), position.columnIndex + 1 ); + } + + // Set the alignment of the cell + CellData& data = mCellData[ position.rowIndex ][ position.columnIndex ]; + data.horizontalAlignment = horizontal; + data.verticalAlignment = vertical; +} + +void TableView::ComputeRelativeSizes( RowColumnArray& data ) +{ + // First pass: Count number of fill entries and calculate used relative space + Dali::Vector< RowColumnData* > fillData; + float relativeTotal = 0.0f; + + const unsigned int dataCount = data.Size(); + + for( unsigned int i = 0; i < dataCount; ++i ) + { + RowColumnData& dataInstance = data[ i ]; + + if( dataInstance.sizePolicy == FILL ) + { + if( dataInstance.userFillRatio ) + { + relativeTotal += dataInstance.fillRatio; + } + else + { + fillData.PushBack( &dataInstance ); + } + } + } + + // Second pass: Distribute remaining relative space + const unsigned int fillCount = fillData.Size(); + if( fillCount > 0 ) + { + if( relativeTotal > 1.0f ) + { + relativeTotal = 1.0f; + } + + const float evenFillRatio = (1.0f - relativeTotal ) / fillCount; + + for( unsigned int i = 0; i < fillCount; ++i ) + { + fillData[ i ]->fillRatio = evenFillRatio; + } + } +} + +float TableView::CalculateTotalFixedSize( const RowColumnArray& data ) +{ + float totalSize = 0.0f; + + const unsigned int dataCount = data.Size(); + + for( unsigned int i = 0; i < dataCount; ++i ) + { + const RowColumnData& dataInstance = data[ i ]; + + switch( dataInstance.sizePolicy ) + { + case FIXED: + case FIT: + { + totalSize += dataInstance.size; + break; + } + + default: + { + break; + } + } + } + + return totalSize; +} + +void TableView::CalculateFixedSizes( RowColumnArray& data, Dimension dimension ) +{ + const unsigned int dataCount = data.Size(); + + for( unsigned int i = 0; i < dataCount; ++i ) + { + RowColumnData& dataInstance = data[ i ]; + + if( dataInstance.sizePolicy == FIT ) + { + // Find the size of the biggest actor in the row or column + float maxActorHeight = 0.0f; + + unsigned int fitCount = ( dimension == WIDTH ) ? mCellData.GetRows() : mCellData.GetColumns(); + + for( unsigned int j = 0; j < fitCount; ++j ) + { + unsigned int row = ( dimension == WIDTH ) ? j : i; + unsigned int column = ( dimension == WIDTH ) ? i : j; + DALI_ASSERT_DEBUG( row < mCellData.GetRows() ); + DALI_ASSERT_DEBUG( column < mCellData.GetColumns() ); + + Actor& actor = mCellData[ row ][ column ].actor; + if( actor ) + { + if( FitToChild( actor, dimension ) ) + { + maxActorHeight = std::max( maxActorHeight, actor.GetRelayoutSize( dimension ) ); + } + } + } + + dataInstance.size = maxActorHeight; + } + } +} + +void TableView::CalculateRelativeSizes( RowColumnArray& data, float size ) +{ + const unsigned int dataCount = data.Size(); + + for( unsigned int i = 0; i < dataCount; ++i ) + { + RowColumnData& dataInstance = data[ i ]; + + if( dataInstance.sizePolicy == FILL ) + { + dataInstance.size = dataInstance.fillRatio * size; + } + } +} + +bool TableView::FindFit( const RowColumnArray& data ) +{ + for( unsigned int i = 0, count = data.Size(); i < count; ++i ) + { + if( data[ i ].sizePolicy == FIT ) + { + return true; + } + } + + return false; +} + } // namespace Internal } // namespace Toolkit diff --git a/dali-toolkit/internal/controls/table-view/table-view-impl.h b/dali-toolkit/internal/controls/table-view/table-view-impl.h index 154c341..55a7d7b 100644 --- a/dali-toolkit/internal/controls/table-view/table-view-impl.h +++ b/dali-toolkit/internal/controls/table-view/table-view-impl.h @@ -41,13 +41,13 @@ class TableView : public Control public: /** - * Structure for the layout data + * Enum for the size policies of rows and columns */ - struct CellData + enum CellSizePolicy { - // data members - Actor actor; - Toolkit::TableView::CellPosition position; + FILL, ///< Fill up available space, may have a ratio associated with it + FIXED, ///< A specific fixed width or height + FIT ///< Fit around actors in the row or column }; /** @@ -59,22 +59,22 @@ public: /** * @copydoc Toolkit::TableView::AddChild */ - bool AddChild( Actor child, Toolkit::TableView::CellPosition position ); + bool AddChild( Actor& child, const Toolkit::TableView::CellPosition& position ); /** * @copydoc Toolkit::TableView::GetChildAt */ - Actor GetChildAt( Toolkit::TableView::CellPosition position ); + Actor GetChildAt( const Toolkit::TableView::CellPosition& position ); /** * @copydoc Toolkit::TableView::RemoveChildAt */ - Actor RemoveChildAt( Toolkit::TableView::CellPosition position ); + Actor RemoveChildAt( const Toolkit::TableView::CellPosition& position ); /** * @copydoc Toolkit::TableView::FindChildPosition */ - bool FindChildPosition( Actor child, Toolkit::TableView::CellPosition& position ); + bool FindChildPosition( const Actor& child, Toolkit::TableView::CellPosition& positionOut ); /** * @copydoc Toolkit::TableView::InsertRow @@ -127,24 +127,36 @@ public: Size GetCellPadding(); /** - * @copydoc Toolkit::TableView::SetFixedHeight + * @brief Set a row policy + * + * @param[in] rowIndex The row to set the policy for + * @param[in] policy The policy to set */ - void SetFixedHeight( unsigned int rowIndex, float height ); + void SetRowPolicy( unsigned int rowIndex, CellSizePolicy policy ); /** - * @copydoc Toolkit::TableView::GetFixedHeight + * @brief Querry a row policy + * + * @param[in] rowIndex The row to querry + * @return Return the policy */ - float GetFixedHeight( unsigned int rowIndex ) const; + CellSizePolicy GetRowPolicy( unsigned int rowIndex ) const; /** - * @copydoc Toolkit::TableView::SetRelativeHeight + * @brief Set a column policy + * + * @param[in] columnIndex The column to set the policy for + * @param[in] policy The policy to set */ - void SetRelativeHeight( unsigned int rowIndex, float heightPercentage ); + void SetColumnPolicy( unsigned int columnIndex, CellSizePolicy policy ); /** - * @copydoc Toolkit::TableView::GetRelativeHeight + * @brief Querry a column policy + * + * @param[in] columnIndex The column to querry + * @return Return the policy */ - float GetRelativeHeight( unsigned int rowIndex ) const; + CellSizePolicy GetColumnPolicy( unsigned int columnIndex ) const; /** * @copydoc Toolkit::TableView::SetFixedWidth @@ -157,6 +169,26 @@ public: float GetFixedWidth( unsigned int columnIndex ) const; /** + * @copydoc Toolkit::TableView::SetFixedHeight + */ + void SetFixedHeight( unsigned int rowIndex, float height ); + + /** + * @copydoc Toolkit::TableView::GetFixedHeight + */ + float GetFixedHeight( unsigned int rowIndex ) const; + + /** + * @copydoc Toolkit::TableView::SetRelativeHeight + */ + void SetRelativeHeight( unsigned int rowIndex, float heightPercentage ); + + /** + * @copydoc Toolkit::TableView::GetRelativeHeight + */ + float GetRelativeHeight( unsigned int rowIndex ) const; + + /** * @copydoc Toolkit::TableView::SetRelativeWidth */ void SetRelativeWidth( unsigned int columnIndex, float widthPercentage ); @@ -176,6 +208,11 @@ public: */ unsigned int GetColumns(); + /** + * @copydoc Toolkit::TableView::SetCellAlignment + */ + void SetCellAlignment( Toolkit::TableView::CellPosition position, HorizontalAlignment::Type horizontal, VerticalAlignment::Type vertical ); + // Properties /** @@ -199,17 +236,22 @@ private: // From Control /** * @copydoc Control::OnControlChildAdd(Actor& child) */ - virtual void OnControlChildAdd(Actor& child); + virtual void OnControlChildAdd( Actor& child ); /** * @copydoc Control::OnControlChildRemove(Actor& child) */ - virtual void OnControlChildRemove(Actor& child); + virtual void OnControlChildRemove( Actor& child ); /** * @copydoc Control::OnRelayout */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); + + /** + * @copydoc Control::CalculateChildSize + */ + virtual float CalculateChildSize( const Actor& child, Dimension dimension ); /** * @copydoc Control::OnInitialize() @@ -219,11 +261,94 @@ private: // From Control /** * @copydoc Control::GetNextKeyboardFocusableActor */ - virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, Toolkit::Control::KeyboardFocusNavigationDirection direction, bool loopEnabled); + virtual Actor GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::Control::KeyboardFocusNavigationDirection direction, bool loopEnabled ); + + /** + * @copydoc Control::GetNaturalSize() + */ + virtual Vector3 GetNaturalSize(); + + /** + * @copydoc Control::RelayoutDependentOnChildren() + */ + virtual bool RelayoutDependentOnChildren( Dimension dimension = ALL_DIMENSIONS ); + + /** + * @copydoc Control::OnCalculateRelayoutSize + */ + virtual void OnCalculateRelayoutSize( Dimension dimension ); + + /** + * @copydoc Control::OnLayoutNegotiated + */ + virtual void OnLayoutNegotiated( float size, Dimension dimension ); private: // Implementation /** + * Struct to hold data for rows and columns + * + * If sizePolicy is FIXED then size is the absolute size to use. + * If sizePolicy is FIT or FILL then size is the calculated value of size. + */ + struct RowColumnData + { + /** + * Default constructor + */ + RowColumnData() + : size( 0.0f ), + fillRatio( 0.0f ), + sizePolicy( FILL ), + userFillRatio( false ) + { + } + + /** + * Constructor + * + * @param[in] newSize The size to set for this data + * @param[in] newSizePolicy The policy used to interpret the size value + */ + RowColumnData( float newSize, float newFillRatio, CellSizePolicy newSizePolicy, bool newUserFillRatio ) + : size( newSize ), + fillRatio( newFillRatio ), + sizePolicy( newSizePolicy ), + userFillRatio( newUserFillRatio ) + { + } + + float size; ///< Set or calculated size + float fillRatio; ///< Ratio to fill remaining space + CellSizePolicy sizePolicy; ///< The size policy used to interpret the size value + bool userFillRatio : 1; ///< FillRatio was set by user + }; + + typedef Dali::Vector RowColumnArray; + +public: + + /** + * Structure for the layout data + */ + struct CellData + { + CellData() + : horizontalAlignment( HorizontalAlignment::LEFT ), + verticalAlignment( VerticalAlignment::TOP ) + { + } + + // data members + Dali::Actor actor; + Toolkit::TableView::CellPosition position; + HorizontalAlignment::Type horizontalAlignment; + VerticalAlignment::Type verticalAlignment; + }; + +private: + + /** * Construct a new TableView. */ TableView( unsigned int initialRows, unsigned int initialColumns ); @@ -259,14 +384,50 @@ private: // Implementation * @param child actor to remove * @return true if the actor was found */ - bool RemoveAllInstances( Actor child ); + bool RemoveAllInstances( const Actor& child ); + + /** + * @brief Compute relative sizes for an array + * + * @param[in] data The RowColumn data to compute the relative sizes for + */ + void ComputeRelativeSizes( RowColumnArray& data ); + + /** + * @brief Calculate the total fixed sizes for a row or column + * + * @param[in] data The row or column data to process + */ + float CalculateTotalFixedSize( const RowColumnArray& data ); + + /** + * @brief Calculate the fixed sizes for a row or column + * + * @param[in] data The row or column data to process + * @param[in] dimension The dimension being calculated: row == HEIGHT, column == WIDTH + */ + void CalculateFixedSizes( RowColumnArray& data, Dimension dimension ); + + /** + * @brief Calculate the value of the relative sizes + * + * @param[in] data The row or column data to process + * @param[in] size The size of the table view in that dimension + */ + void CalculateRelativeSizes( RowColumnArray& data, float size ); + + /** + * @brief Search for a FIT cell in the array + * + * @param[in] data The row or column data to process + * @return Return if a FIT cell was found or not + */ + bool FindFit( const RowColumnArray& data ); /** - * Helper to update relative sizes - * @param fixedHeightsTotal sum of the fixed height rows - * @param fixedWidthsTotal sum of the fixed width columns + * @brief Calculate row and column data when it is dirty */ - void UpdateRelativeSizes( float& fixedHeightsTotal, float& fixedWidthsTotal ); + void CalculateRowColumnData(); /** * A reference counted object may only be deleted by calling Unreference() @@ -301,11 +462,10 @@ private: // scripting support /** * Generate the map type property value from the size vectors. - * @param[in] fixedSize The vector of fixed heights or widths. - * @param[in] relativeSize The vector of relative heights or widths. + * @param[in] data The array of row or column data * @param[out] map The property value. */ - void GetMapPropertyValue( const std::vector& fixedSize, const std::vector& relativeSize, Property::Map& map ); + void GetMapPropertyValue( const RowColumnArray& data, Property::Map& map ); /** @@ -350,15 +510,15 @@ private: private: // Data - Array2d mCellData; - Array2d mRelativeSizes; - std::vector mFixedHeights; - std::vector mRelativeHeights; - std::vector mFixedWidths; - std::vector mRelativeWidths; - Size mPadding; - bool mLayoutingChild; + Array2d mCellData; ///< Data for each cell: Actor, alignment settings etc + + RowColumnArray mRowData; ///< Data for each row + RowColumnArray mColumnData; ///< Data for each column + Size mFixedTotals; ///< Accumulated totals for fixed width and height + Size mPadding; ///< Padding to apply to each cell + bool mLayoutingChild; ///< Can't be a bitfield due to Relayouting lock + bool mRowColumnDirty : 1; ///< Flag to indicate the row column data is dirty }; } // namespace Internal diff --git a/dali-toolkit/internal/controls/text-input/text-input-impl.cpp b/dali-toolkit/internal/controls/text-input/text-input-impl.cpp index 1cb15f4..304e560 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-impl.cpp +++ b/dali-toolkit/internal/controls/text-input/text-input-impl.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -1156,10 +1157,10 @@ void TextInput::OnControlSizeSet(const Vector3& targetSize) mActiveLayer.SetSize(targetSize); } -void TextInput::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void TextInput::OnRelayout( const Vector2& size, RelayoutContainer& container ) { - Relayout( mDisplayedTextView, size, container ); - Relayout( mPopupPanel.GetRootActor(), size, container ); + container.Add( mDisplayedTextView, size ); + container.Add( mPopupPanel.GetRootActor(), size ); GetTextLayoutInfo(); @@ -2142,7 +2143,6 @@ void TextInput::CreateTextViewActor() mDisplayedTextView.SetLineJustification( Toolkit::TextView::Left ); mDisplayedTextView.SetTextAlignment( static_cast( Toolkit::Alignment::HorizontalLeft | Toolkit::Alignment::VerticalTop ) ); mDisplayedTextView.SetPosition( Vector3( 0.0f, 0.0f, DISPLAYED_TEXT_VIEW_Z_OFFSET ) ); - mDisplayedTextView.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed ); mDisplayedTextView.ScrolledSignal().Connect( this, &TextInput::OnTextViewScrolled ); diff --git a/dali-toolkit/internal/controls/text-input/text-input-impl.h b/dali-toolkit/internal/controls/text-input/text-input-impl.h index 8df0ac9..66bf9ad 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-impl.h +++ b/dali-toolkit/internal/controls/text-input/text-input-impl.h @@ -571,7 +571,7 @@ private: // From Control /** * @copydoc Control::OnRelayout() */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); /** * Retrieves the text-input's natural size by calling TextView::GetNaturalSize(). diff --git a/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp b/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp index 21b39b8..e92e4d0 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp +++ b/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp @@ -260,7 +260,6 @@ Toolkit::TextView TextInputPopup::CreateOptionCaption( const std::string& captio styledCaption.push_back( MarkupProcessor::StyledText( Text( caption ), style ) ); Toolkit::TextView textView = Toolkit::TextView::New( styledCaption ); - textView.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed ); textView.SetWidthExceedPolicy( Toolkit::TextView::EllipsizeEnd ); textView.SetHeightExceedPolicy( Toolkit::TextView::EllipsizeEnd ); textView.SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); @@ -294,7 +293,7 @@ void TextInputPopup::CreateBackground() mBackgroundEffect.SetAnchorPoint( AnchorPoint::CENTER ); mBackgroundEffect.SetParentOrigin( ParentOrigin::CENTER ); mBackgroundEffect.SetName( "text-input-popup-background-effect" ); - mBackgroundEffect.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mBackgroundEffect.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); mBackgroundEffect.SetZ( 1.0f ); mBackground.Add( mBackgroundEffect ); @@ -303,7 +302,7 @@ void TextInputPopup::CreateBackground() mBackgroundLine.SetAnchorPoint( AnchorPoint::CENTER); mBackgroundLine.SetParentOrigin( ParentOrigin::CENTER ); mBackgroundLine.SetName( "text-input-popup-background-effect" ); - mBackgroundLine.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mBackgroundLine.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); mBackgroundLine.SetColor( mLineColor ); mBackgroundLine.SetZ( 0.1f ); mBackgroundEffect.Add( mBackgroundLine ); @@ -329,7 +328,7 @@ void TextInputPopup::CreateTail() mTailEffect.SetParentOrigin( ParentOrigin::CENTER ); mTailEffect.SetAnchorPoint( AnchorPoint::CENTER ); mTailEffect.SetName( "text-input-popup-tail-effect" ); - mTailEffect.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mTailEffect.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); mTailEffect.SetZ( 0.1f ); mTail.Add( mTailEffect ); @@ -337,7 +336,7 @@ void TextInputPopup::CreateTail() mTailLine = ImageActor::New( tailLine ); mTailLine.SetParentOrigin( ParentOrigin::CENTER ); mTailLine.SetAnchorPoint( AnchorPoint::CENTER ); - mTailLine.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + mTailLine.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); mTailLine.SetName( "text-input-popup-tail-line" ); mTailLine.SetColor( mLineColor ); mTailLine.SetZ( 0.1f ); @@ -491,7 +490,6 @@ void TextInputPopup::AddOption(const std::string& name, const std::string& capti // 5. Create a option. Toolkit::PushButton option = Toolkit::PushButton::New(); - option.SetSizePolicy( Toolkit::Control::Fixed, Toolkit::Control::Fixed ); option.SetParentOrigin( ParentOrigin::TOP_LEFT ); option.SetAnchorPoint( AnchorPoint::TOP_LEFT ); option.SetSize( constrainedOptionSize ); diff --git a/dali-toolkit/internal/controls/text-view/relayout-utilities.cpp b/dali-toolkit/internal/controls/text-view/relayout-utilities.cpp index 5cd83a0..33983d8 100644 --- a/dali-toolkit/internal/controls/text-view/relayout-utilities.cpp +++ b/dali-toolkit/internal/controls/text-view/relayout-utilities.cpp @@ -1995,6 +1995,7 @@ void CreateTextActor( const TextView::VisualParameters& visualParameters, { TextActorParameters parameters( style, TextActorParameters::FONT_DETECTION_OFF ); textActor = TextActor::New( Text(), parameters ); + textActor.SetRelayoutEnabled( false ); } else { @@ -2549,6 +2550,9 @@ RenderableActor CreateGlyphActor( const Text& text, const TextStyle& style, Text textActor = TextActor::New( text, parameters ); } + // Exclude from size negotiation + textActor.SetRelayoutEnabled( false ); + return textActor; } diff --git a/dali-toolkit/internal/controls/text-view/text-view-impl.cpp b/dali-toolkit/internal/controls/text-view/text-view-impl.cpp index 3619590..4278d4b 100644 --- a/dali-toolkit/internal/controls/text-view/text-view-impl.cpp +++ b/dali-toolkit/internal/controls/text-view/text-view-impl.cpp @@ -1199,6 +1199,8 @@ float TextView::GetWidthForHeight( float height ) void TextView::OnInitialize() { + // The actor handle needs to be inialised for this to work + Self().SetResizePolicy( USE_NATURAL_SIZE, ALL_DIMENSIONS ); } @@ -1222,7 +1224,7 @@ void TextView::OnControlSizeSet( const Vector3& size ) } } -void TextView::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void TextView::OnRelayout( const Vector2& size, RelayoutContainer& container ) { if( ( size.width < Math::MACHINE_EPSILON_1000 ) || ( size.height < Math::MACHINE_EPSILON_1000 ) ) { diff --git a/dali-toolkit/internal/controls/text-view/text-view-impl.h b/dali-toolkit/internal/controls/text-view/text-view-impl.h index dfa7760..270d32b 100644 --- a/dali-toolkit/internal/controls/text-view/text-view-impl.h +++ b/dali-toolkit/internal/controls/text-view/text-view-impl.h @@ -377,7 +377,7 @@ private: // From Control /** * @copydoc Toolkit::Control::OnRelayout() */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); /** * Retrieves the text-view's natural size. diff --git a/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp b/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp index e0dbd86..73654a4 100644 --- a/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp +++ b/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp @@ -74,7 +74,7 @@ void ToolBar::SetBackground( Actor background ) // ToolBar image background.SetParentOrigin( Dali::ParentOrigin::TOP_CENTER ); background.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER ); - background.SetSize( mToolBarSize ); + background.SetPreferredSize( Vector2( mToolBarSize.width, mToolBarSize.height ) ); RenderableActor renderableActor = RenderableActor::DownCast( background ); if ( renderableActor ) @@ -125,8 +125,9 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment: // Create an alignment container where to place the control. Toolkit::Alignment alignmentContainer = Toolkit::Alignment::New( alignment ); - alignmentContainer.SetScaling( Toolkit::Alignment::ScaleToFill ); + alignmentContainer.SetSizeScalePolicy( FIT_WITH_ASPECT_RATIO ); alignmentContainer.SetPadding( padding ); + alignmentContainer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); alignmentContainer.Add( control ); // Insert the control in the table view. @@ -320,6 +321,8 @@ void ToolBar::OnInitialize() // Layout mLayout = Toolkit::TableView::New( 1, 1 ); + mLayout.SetName( "TOOLBAR_LAYOUT" ); + mLayout.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); mLayout.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); Self().Add( mLayout ); @@ -356,7 +359,7 @@ void ToolBar::OnControlChildAdd(Actor& child) void ToolBar::OnControlSizeSet( const Vector3& targetSize ) { mToolBarSize = targetSize; - mBackground.SetSize( mToolBarSize ); + mBackground.SetPreferredSize( Vector2( mToolBarSize.width, mToolBarSize.height ) ); } } // namespace Internal diff --git a/dali-toolkit/internal/controls/view/view-impl.cpp b/dali-toolkit/internal/controls/view/view-impl.cpp index 9a486ed..a1d0c09 100644 --- a/dali-toolkit/internal/controls/view/view-impl.cpp +++ b/dali-toolkit/internal/controls/view/view-impl.cpp @@ -132,7 +132,7 @@ void View::SetBackground( ImageActor backgroundImage ) mBackgroundLayer = Layer::New(); mBackgroundLayer.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); - mBackgroundLayer.SetSize( mViewSize ); + mBackgroundLayer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); // Add background layer to custom actor. Self().Add( mBackgroundLayer ); @@ -152,8 +152,10 @@ void View::SetBackground( ImageActor backgroundImage ) } backgroundImage.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); - backgroundImage.SetScale( FillXYKeepAspectRatio( mViewSize, backgroundImage.GetSize() ) ); + backgroundImage.SetRelayoutEnabled( false ); // We will scale its size manually mBackgroundLayer.Add( backgroundImage ); + + RelayoutRequest(); } void View::SetOrientationFunction( Degree portrait, Degree landscale, Degree portraitInverse, Degree landscapeInverse ) @@ -290,16 +292,14 @@ void View::OnInitialize() } } -void View::OnControlSizeSet( const Vector3& targetSize ) +void View::OnRelayout( const Vector2& size, RelayoutContainer& container ) { - mViewSize = targetSize; if( mBackgroundLayer ) { - mBackgroundLayer.SetSize( mViewSize ); - if( mBackgroundLayer.GetChildCount() > 0 ) + if( mBackgroundLayer && mBackgroundLayer.GetChildCount() > 0 ) { Actor background = mBackgroundLayer.GetChildAt(0); - background.SetScale( FillXYKeepAspectRatio( mViewSize, background.GetSize() ) ); + background.SetScale( FillXYKeepAspectRatio( Vector3( size.width, size.height, 1.0f ), background.GetTargetSize() ) ); } } } diff --git a/dali-toolkit/internal/controls/view/view-impl.h b/dali-toolkit/internal/controls/view/view-impl.h index 5352afe..9aacc9e 100644 --- a/dali-toolkit/internal/controls/view/view-impl.h +++ b/dali-toolkit/internal/controls/view/view-impl.h @@ -138,10 +138,9 @@ private: // From Control virtual void OnInitialize(); /** - * - * @copydoc Toolkit::Control::OnControlSizeSet( const Vector3& targetSize ) + * @copydoc Toolkit::Control::OnRelayout() */ - virtual void OnControlSizeSet( const Vector3& targetSize ); + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); private: @@ -180,7 +179,6 @@ private: Animation mRotateAnimation; ///< The animation which rotates the view (and all layers added to it) float mOrientationFunction[4]; ///< The orientation function used to transform from degrees to the internal orientation. bool mAutoRotateEnabled; ///< Whether the view rotates if the OrientationChanged method is called. - Vector3 mViewSize; ///< The Control Size Toolkit::View::OrientationAnimationStartedSignalType mOrientationAnimationStartedSignal; }; diff --git a/dali-toolkit/internal/file.list b/dali-toolkit/internal/file.list index 0a8d428..31800b7 100644 --- a/dali-toolkit/internal/file.list +++ b/dali-toolkit/internal/file.list @@ -33,9 +33,6 @@ toolkit_src_files = \ $(toolkit_src_dir)/controls/page-turn-view/page-turn-portrait-view-impl.cpp \ $(toolkit_src_dir)/controls/page-turn-view/page-turn-landscape-view-impl.cpp \ $(toolkit_src_dir)/controls/page-turn-view/page-turn-view-impl.cpp \ - $(toolkit_src_dir)/controls/relayout-controller-impl.cpp \ - $(toolkit_src_dir)/controls/relayout-controller.cpp \ - $(toolkit_src_dir)/controls/relayout-helper.cpp \ $(toolkit_src_dir)/controls/scroll-bar/scroll-bar-impl.cpp \ $(toolkit_src_dir)/controls/scroll-component/scroll-bar-internal-impl.cpp \ $(toolkit_src_dir)/controls/scroll-component/scroll-bar-internal.cpp \ diff --git a/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp index 0b48ecb..5a3a611 100644 --- a/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp @@ -674,7 +674,7 @@ void FocusManager::CreateDefaultFocusIndicatorActor() focusIndicator.SetPosition(Vector3(0.0f, 0.0f, 1.0f)); // Apply size constraint to the focus indicator - focusIndicator.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + focusIndicator.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); SetFocusIndicatorActor(focusIndicator); } diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp index 014e215..038f99c 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -477,7 +477,7 @@ void KeyboardFocusManager::CreateDefaultFocusIndicatorActor() focusIndicator.SetPosition(Vector3(0.0f, 0.0f, 1.0f)); // Apply size constraint to the focus indicator - focusIndicator.SetSizeMode( SIZE_EQUAL_TO_PARENT ); + focusIndicator.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); SetFocusIndicatorActor(focusIndicator); } diff --git a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp index 14645f6..2872ffa 100644 --- a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp +++ b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp @@ -119,6 +119,7 @@ void CubeTransitionEffect::Initialize() mEmptyImage.SetSize(Stage::GetCurrent().GetSize()); mEmptyImage.SetParentOrigin( ParentOrigin::CENTER ); mEmptyImage.SetAnchorPoint( AnchorPoint::CENTER ); + mEmptyImage.SetRelayoutEnabled( false ); mFullImageCreator = FullAreaImageCreator::New(); mEmptyImage.SetShaderEffect( mFullImageCreator ); Stage::GetCurrent().Add(mEmptyImage); @@ -141,6 +142,7 @@ ImageActor CubeTransitionEffect::CreateTile( Image image, const Vector4& color ) ImageActor tile = ImageActor::New( image ); tile.SetParentOrigin( ParentOrigin::CENTER ); tile.SetAnchorPoint( AnchorPoint::CENTER ); + tile.SetRelayoutEnabled( false ); tile.SetSize( mTileSize ); tile.SetColorMode( Dali::USE_OWN_COLOR ); tile.SetColor( color ); diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp index 7a64f78..19f2619 100644 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -29,11 +29,10 @@ #include #include #include +#include #include // INTERNAL INCLUDES -#include -#include #include #include #include @@ -49,16 +48,6 @@ namespace Toolkit namespace { -const Scripting::StringEnum< Control::SizePolicy > SIZE_POLICY_STRING_TABLE[] = -{ - { "FIXED", Control::Fixed }, - { "MINIMUM", Control::Minimum }, - { "MAXIMUM", Control::Maximum }, - { "RANGE", Control::Range }, - { "FLEXIBLE", Control::Flexible }, -}; -const unsigned int SIZE_POLICY_STRING_TABLE_COUNT = sizeof( SIZE_POLICY_STRING_TABLE ) / sizeof( SIZE_POLICY_STRING_TABLE[0] ); - #if defined(DEBUG_ENABLED) Integration::Log::Filter* gLogFilter = Integration::Log::Filter::New(Debug::NoLogging, false, "LOG_CONTROL"); #endif @@ -106,70 +95,6 @@ struct Background }; /** - * Helper function to calculate a dimension given the policy of that dimension; the minimum & - * maximum values that dimension can be; and the allocated value for that dimension. - * - * @param[in] policy The size policy for that dimension. - * @param[in] minimum The minimum value that dimension can be. - * @param[in] maximum The maximum value that dimension can be. - * @param[in] allocated The value allocated for that dimension. - * - * @return The value that the dimension should be. - * - * @note This does not handle Control::Fixed policy. - */ -float Calculate( Control::SizePolicy policy, float minimum, float maximum, float allocated ) -{ - float size( allocated ); - - switch( policy ) - { - case Control::Fixed: - { - // Use allocated value - break; - } - - case Control::Minimum: - { - // Size is always at least the minimum. - size = std::max( allocated, minimum ); - break; - } - - case Control::Maximum: - { - // Size can grow but up to a maximum value. - size = std::min( allocated, maximum ); - break; - } - - case Control::Range: - { - // Size is at least the minimum and can grow up to the maximum - size = std::max( size, minimum ); - size = std::min( size, maximum ); - break; - } - - case Control::Flexible: - { - // Size grows or shrinks with no limits. - size = allocated; - break; - } - - default: - { - DALI_ASSERT_DEBUG( false && "This function was not intended to be used by any other policy." ); - break; - } - } - - return size; -} - -/** * Creates a white coloured Mesh. */ Mesh CreateMesh() @@ -213,11 +138,8 @@ void SetupBackgroundActor( Actor actor, Property::Index constrainingIndex, const actor.SetPositionInheritanceMode( USE_PARENT_POSITION_PLUS_LOCAL_POSITION ); actor.SetColorMode( USE_OWN_MULTIPLY_PARENT_COLOR ); actor.SetZ( BACKGROUND_ACTOR_Z_POSITION ); - - Constraint constraint = Constraint::New( constrainingIndex, - ParentSource( Actor::Property::SIZE ), - EqualToConstraint() ); - actor.ApplyConstraint( constraint ); + actor.SetRelayoutEnabled( true ); + actor.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); } } // unnamed namespace @@ -251,10 +173,7 @@ public: mLongPressGestureDetector(), mCurrentSize(), mNaturalSize(), - mWidthPolicy( Toolkit::Control::Fixed ), - mHeightPolicy( Toolkit::Control::Fixed ), mFlags( Control::CONTROL_BEHAVIOUR_NONE ), - mInsideRelayout( false ), mIsKeyboardNavigationSupported( false ), mIsKeyboardFocusGroup( false ), mInitialized( false ) @@ -349,30 +268,6 @@ public: break; } - case Toolkit::Control::Property::WIDTH_POLICY: - { - controlImpl.mImpl->mWidthPolicy = Scripting::GetEnumeration< Toolkit::Control::SizePolicy >( value.Get< std::string >().c_str(), SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ); - break; - } - - case Toolkit::Control::Property::HEIGHT_POLICY: - { - controlImpl.mImpl->mHeightPolicy = Scripting::GetEnumeration< Toolkit::Control::SizePolicy >( value.Get< std::string >().c_str(), SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ); - break; - } - - case Toolkit::Control::Property::MINIMUM_SIZE: - { - controlImpl.SetMinimumSize( value.Get< Vector3 >() ); - break; - } - - case Toolkit::Control::Property::MAXIMUM_SIZE: - { - controlImpl.SetMaximumSize( value.Get< Vector3 >() ); - break; - } - case Toolkit::Control::Property::KEY_INPUT_FOCUS: { if ( value.Get< bool >() ) @@ -434,30 +329,6 @@ public: break; } - case Toolkit::Control::Property::WIDTH_POLICY: - { - value = std::string( Scripting::GetEnumerationName< Toolkit::Control::SizePolicy >( controlImpl.mImpl->mWidthPolicy, SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ) ); - break; - } - - case Toolkit::Control::Property::HEIGHT_POLICY: - { - value = std::string( Scripting::GetEnumerationName< Toolkit::Control::SizePolicy >( controlImpl.mImpl->mHeightPolicy, SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ) ); - break; - } - - case Toolkit::Control::Property::MINIMUM_SIZE: - { - value = controlImpl.mImpl->GetMinimumSize(); - break; - } - - case Toolkit::Control::Property::MAXIMUM_SIZE: - { - value = controlImpl.mImpl->GetMaximumSize(); - break; - } - case Toolkit::Control::Property::KEY_INPUT_FOCUS: { value = controlImpl.HasKeyInputFocus(); @@ -469,79 +340,6 @@ public: return value; } - /** - * Helper to get minimum size - * @return minimum size - */ - inline const Vector3& GetMinimumSize() - { - if( mMinMaxSize.Count() > MIN_SIZE_INDEX ) - { - return mMinMaxSize[ MIN_SIZE_INDEX ]; - } - else - { - // its not been allocated so its ZERO - return Vector3::ZERO; - } - } - /** - * Helper to Set minimum size - * @param size to set - */ - inline void SetMinimumSize( const Vector3& size ) - { - if( mMinMaxSize.Count() > MIN_SIZE_INDEX ) - { - mMinMaxSize[ MIN_SIZE_INDEX ] = size; - } - else - { - // its not been allocated so push the new value there - mMinMaxSize.PushBack( size ); - } - } - - /** - * Helper to get maximum size - * @return maximum size - */ - inline const Vector3& GetMaximumSize() - { - if( mMinMaxSize.Count() > MAX_SIZE_INDEX ) - { - return mMinMaxSize[ MAX_SIZE_INDEX ]; - } - else - { - // its not been allocated so its MAX_SIZE - return MAX_SIZE; - } - } - - /** - * Helper to Set minimum size - * @param size to set - */ - inline void SetMaximumSize( const Vector3& size ) - { - if( mMinMaxSize.Count() > MAX_SIZE_INDEX ) - { - mMinMaxSize[ MAX_SIZE_INDEX ] = size; - } - else if( mMinMaxSize.Count() > MIN_SIZE_INDEX ) - { - // max has not been allocated, but min has - mMinMaxSize.PushBack( size ); - } - else - { - // min and max both unallocated so allocate both - mMinMaxSize.Resize( 2u ); // this will reserve and default construct two Vector3s - mMinMaxSize[ MAX_SIZE_INDEX ] = size; - } - } - // Data Control& mControlImpl; @@ -557,34 +355,22 @@ public: // @todo change all these to Vector2 when we have a chance to sanitize the public API as well Vector3 mCurrentSize; ///< Stores the current control's size, this is the negotiated size Vector3 mNaturalSize; ///< Stores the size set through the Actor's API. This is size the actor wants to be. Useful when reset to the initial size is needed. - Dali::Vector< Vector3 > mMinMaxSize; ///< Stores the minimum and maximum size if they are set - Toolkit::Control::SizePolicy mWidthPolicy :3; ///< Stores the width policy. 3 bits covers 8 values - Toolkit::Control::SizePolicy mHeightPolicy :3; ///< Stores the height policy. 3 bits covers 8 values - ControlBehaviour mFlags :6; ///< Flags passed in from constructor. Need to increase this size when new enums are added - bool mInsideRelayout:1; ///< Detect when were in Relayout - bool mIsKeyboardNavigationSupported:1; ///< Stores whether keyboard navigation is supported by the control. - bool mIsKeyboardFocusGroup:1; ///< Stores whether the control is a focus group. - bool mInitialized:1; + ControlBehaviour mFlags :6; ///< Flags passed in from constructor. Need to increase this size when new enums are added + bool mIsKeyboardNavigationSupported :1; ///< Stores whether keyboard navigation is supported by the control. + bool mIsKeyboardFocusGroup :1; ///< Stores whether the control is a focus group. + bool mInitialized :1; // Properties - these need to be members of Internal::Control::Impl as they need to function within this class. static PropertyRegistration PROPERTY_1; static PropertyRegistration PROPERTY_2; static PropertyRegistration PROPERTY_3; - static PropertyRegistration PROPERTY_4; - static PropertyRegistration PROPERTY_5; - static PropertyRegistration PROPERTY_6; - static PropertyRegistration PROPERTY_7; }; // Properties registered without macro to use specific member variables. PropertyRegistration Control::Impl::PROPERTY_1( typeRegistration, "background-color", Toolkit::Control::Property::BACKGROUND_COLOR, Property::VECTOR4, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); PropertyRegistration Control::Impl::PROPERTY_2( typeRegistration, "background-image", Toolkit::Control::Property::BACKGROUND_IMAGE, Property::MAP, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); -PropertyRegistration Control::Impl::PROPERTY_3( typeRegistration, "width-policy", Toolkit::Control::Property::WIDTH_POLICY, Property::STRING, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); -PropertyRegistration Control::Impl::PROPERTY_4( typeRegistration, "height-policy", Toolkit::Control::Property::HEIGHT_POLICY, Property::STRING, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); -PropertyRegistration Control::Impl::PROPERTY_5( typeRegistration, "minimum-size", Toolkit::Control::Property::MINIMUM_SIZE, Property::VECTOR3, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); -PropertyRegistration Control::Impl::PROPERTY_6( typeRegistration, "maximum-size", Toolkit::Control::Property::MAXIMUM_SIZE, Property::VECTOR3, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); -PropertyRegistration Control::Impl::PROPERTY_7( typeRegistration, "key-input-focus", Toolkit::Control::Property::KEY_INPUT_FOCUS, Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); +PropertyRegistration Control::Impl::PROPERTY_3( typeRegistration, "key-input-focus", Toolkit::Control::Property::KEY_INPUT_FOCUS, Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty ); Toolkit::Control Control::New() { @@ -606,79 +392,21 @@ Control::~Control() delete mImpl; } -void Control::SetSizePolicy( Toolkit::Control::SizePolicy widthPolicy, Toolkit::Control::SizePolicy heightPolicy ) -{ - bool relayoutRequest( false ); - - if ( ( mImpl->mWidthPolicy != widthPolicy ) || ( mImpl->mHeightPolicy != heightPolicy ) ) - { - relayoutRequest = true; - } - - mImpl->mWidthPolicy = widthPolicy; - mImpl->mHeightPolicy = heightPolicy; - - // Ensure RelayoutRequest is called AFTER new policies have been set. - if ( relayoutRequest ) - { - RelayoutRequest(); - } -} - -void Control::GetSizePolicy( Toolkit::Control::SizePolicy& widthPolicy, Toolkit::Control::SizePolicy& heightPolicy ) const -{ - widthPolicy = mImpl->mWidthPolicy; - heightPolicy = mImpl->mHeightPolicy; -} - -void Control::SetMinimumSize( const Vector3& size ) -{ - const Vector3& minSize = mImpl->GetMinimumSize(); - if ( fabsf( minSize.width - size.width ) > Math::MACHINE_EPSILON_1000 || - fabsf( minSize.height - size.height ) > Math::MACHINE_EPSILON_1000 ) - { - mImpl->SetMinimumSize( size ); - - // Only relayout if our control is using the minimum or range policy. - if ( ( mImpl->mHeightPolicy == Toolkit::Control::Minimum ) || ( mImpl->mWidthPolicy == Toolkit::Control::Minimum ) || - ( mImpl->mHeightPolicy == Toolkit::Control::Range ) || ( mImpl->mWidthPolicy == Toolkit::Control::Range ) ) - { - RelayoutRequest(); - } - } -} - -const Vector3& Control::GetMinimumSize() const +Vector3 Control::GetNaturalSize() { - return mImpl->GetMinimumSize(); + // could be overridden in derived classes. + return mImpl->mNaturalSize; } -void Control::SetMaximumSize( const Vector3& size ) +float Control::CalculateChildSize( const Dali::Actor& child, Dimension dimension ) { - const Vector3& maxSize = mImpl->GetMaximumSize(); - if ( fabsf( maxSize.width - size.width ) > Math::MACHINE_EPSILON_1000 || - fabsf( maxSize.height - size.height ) > Math::MACHINE_EPSILON_1000 ) - { - mImpl->SetMaximumSize( size ); - - // Only relayout if our control is using the maximum or range policy. - if ( ( mImpl->mHeightPolicy == Toolkit::Control::Maximum ) || ( mImpl->mWidthPolicy == Toolkit::Control::Maximum ) || - ( mImpl->mHeightPolicy == Toolkit::Control::Range ) || ( mImpl->mWidthPolicy == Toolkit::Control::Range ) ) - { - RelayoutRequest(); - } - } + // Could be overridden in derived classes. + return CalculateChildSizeBase( child, dimension ); } -const Vector3& Control::GetMaximumSize() const +bool Control::RelayoutDependentOnChildren( Dimension dimension ) { - return mImpl->GetMaximumSize(); -} - -Vector3 Control::GetNaturalSize() -{ - // could be overridden in derived classes. - return mImpl->mNaturalSize; + return RelayoutDependentOnChildrenBase( dimension ); } float Control::GetHeightForWidth( float width ) @@ -864,116 +592,6 @@ bool Control::OnAccessibilityValueChange(bool isIncrease) return false; // Accessibility value change action is not handled by default } -void Control::NegotiateSize( const Vector2& allocatedSize, ActorSizeContainer& container ) -{ - Vector2 size; - - if ( mImpl->mWidthPolicy == Toolkit::Control::Fixed ) - { - if ( mImpl->mHeightPolicy == Toolkit::Control::Fixed ) - { - // If a control says it has a fixed size, then use the size set by the application / control. - Vector2 setSize( mImpl->mNaturalSize ); - if ( setSize != Vector2::ZERO ) - { - size = setSize; - - // Policy is set to Fixed, so if the application / control has not set one of the dimensions, - // then we should use the natural size of the control rather than the full allocation. - if ( EqualsZero( size.width ) ) - { - size.width = GetWidthForHeight( size.height ); - } - else if ( EqualsZero( size.height ) ) - { - size.height = GetHeightForWidth( size.width ); - } - } - else - { - // If that is not set then set the size to the control's natural size - size = Vector2( GetNaturalSize() ); - } - } - else - { - // Width is fixed so if the application / control has set it, then use that. - if ( !EqualsZero( mImpl->mNaturalSize.width ) ) - { - size.width = mImpl->mNaturalSize.width; - } - else - { - // Otherwise, set the width to what has been allocated. - size.width = allocatedSize.width; - } - - // Height is flexible so ask control what the height should be for our width. - size.height = GetHeightForWidth( size.width ); - - // Ensure height is within our policy rules - size.height = Calculate( mImpl->mHeightPolicy, GetMinimumSize().height, GetMaximumSize().height, size.height ); - } - } - else - { - if ( mImpl->mHeightPolicy == Toolkit::Control::Fixed ) - { - // Height is fixed so if the application / control has set it, then use that. - if ( !EqualsZero( mImpl->mNaturalSize.height ) ) - { - size.height = mImpl->mNaturalSize.height; - } - else - { - // Otherwise, set the height to what has been allocated. - size.height = allocatedSize.height; - } - - // Width is flexible so ask control what the width should be for our height. - size.width = GetWidthForHeight( size.height ); - - // Ensure width is within our policy rules - size.width = Calculate( mImpl->mWidthPolicy, mImpl->GetMinimumSize().width, mImpl->GetMaximumSize().width, size.width ); - } - else - { - // Width and height are BOTH flexible. - // Calculate the width and height using the policy rules. - size.width = Calculate( mImpl->mWidthPolicy, mImpl->GetMinimumSize().width, mImpl->GetMaximumSize().width, allocatedSize.width ); - size.height = Calculate( mImpl->mHeightPolicy, mImpl->GetMinimumSize().height, mImpl->GetMaximumSize().height, allocatedSize.height ); - } - } - - // If the width has not been set, then set to the allocated width. - // Also if the width set is greater than the allocated, then set to allocated (no exceed support). - if ( EqualsZero( size.width ) || ( size.width > allocatedSize.width ) ) - { - size.width = allocatedSize.width; - } - - // If the height has not been set, then set to the allocated height. - // Also if the height set is greater than the allocated, then set to allocated (no exceed support). - if ( EqualsZero( size.height ) || ( size.height > allocatedSize.height ) ) - { - size.height = allocatedSize.height; - } - - DALI_LOG_INFO( gLogFilter, Debug::Verbose, - "%p: Natural: [%.2f, %.2f] Allocated: [%.2f, %.2f] Set: [%.2f, %.2f]\n", - Self().GetObjectPtr(), - GetNaturalSize().x, GetNaturalSize().y, - allocatedSize.x, allocatedSize.y, - size.x, size.y ); - - // Avoids relayout again when OnSizeSet callback arrives as a function of us or deriving class calling SetSize() - mImpl->mInsideRelayout = true; - Self().SetSize( size ); - // Only relayout controls which requested to be relaid out. - OnRelayout( size, container ); - mImpl->mInsideRelayout = false; -} - void Control::SetAsKeyboardFocusGroup(bool isFocusGroup) { mImpl->mIsKeyboardFocusGroup = isFocusGroup; @@ -1093,10 +711,16 @@ Control::Control( ControlBehaviour behaviourFlags ) void Control::Initialize() { - // Calling deriving classes OnInitialize(); + // Test if the no size negotiation flag is not set + if( ( mImpl->mFlags & NO_SIZE_NEGOTIATION ) == 0 ) + { + // Size negotiate disabled by default, so turn it on for this actor + Self().SetRelayoutEnabled( true ); + } + if( mImpl->mFlags & REQUIRES_STYLE_CHANGE_SIGNALS ) { Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get(); @@ -1172,32 +796,6 @@ void Control::DisableGestureDetection(Gesture::Type type) } } -void Control::RelayoutRequest() -{ - // unfortunate double negative but thats to guarantee new controls get size negotiation - // by default and have to "opt-out" if they dont want it - if( !(mImpl->mFlags & NO_SIZE_NEGOTIATION) ) - { - Internal::RelayoutController::Request(); - } -} - -void Control::Relayout( Actor actor, const Vector2& size, ActorSizeContainer& container ) -{ - if ( actor ) - { - Toolkit::Control control( Toolkit::Control::DownCast( actor ) ); - if( control ) - { - control.GetImplementation().NegotiateSize( size, container ); - } - else - { - container.push_back( ActorSizePair( actor, size ) ); - } - } -} - void Control::OnInitialize() { } @@ -1263,16 +861,26 @@ void Control::OnControlSizeSet( const Vector3& size ) { } -void Control::OnRelayout( const Vector2& size, ActorSizeContainer& container ) +void Control::OnCalculateRelayoutSize( Dimension dimension ) { - unsigned int numChildren = Self().GetChildCount(); +} - for( unsigned int i=0; imInsideRelayout ) && ( targetSize != mImpl->mNaturalSize ) ) + if( targetSize != mImpl->mNaturalSize ) { // Only updates size if set through Actor's API mImpl->mNaturalSize = targetSize; diff --git a/dali-toolkit/public-api/controls/control-impl.h b/dali-toolkit/public-api/controls/control-impl.h index faf0ccf..2583450 100644 --- a/dali-toolkit/public-api/controls/control-impl.h +++ b/dali-toolkit/public-api/controls/control-impl.h @@ -41,13 +41,9 @@ class StyleManager; namespace Internal DALI_INTERNAL { -class RelayoutControllerImpl; class KeyInputFocusManager; } -typedef std::pair< Actor, Vector2 > ActorSizePair; ///< Pair of actor and size -typedef std::vector< ActorSizePair > ActorSizeContainer; ///< Container of actors and their sizes - namespace Internal { @@ -80,34 +76,14 @@ public: // Size negotiation /** - * @copydoc Toolkit::Control::SetSizePolicy() - */ - void SetSizePolicy( Toolkit::Control::SizePolicy widthPolicy, Toolkit::Control::SizePolicy heightPolicy ); - - /** - * @copydoc Toolkit::Control::GetSizePolicy() - */ - void GetSizePolicy( Toolkit::Control::SizePolicy& widthPolicy, Toolkit::Control::SizePolicy& heightPolicy ) const; - - /** - * @copydoc Toolkit::Control::SetMinimumSize() - */ - void SetMinimumSize( const Vector3& size ); - - /** - * @copydoc Toolkit::Control::GetMinimumSize() - */ - const Vector3& GetMinimumSize() const; - - /** - * @copydoc Toolkit::Control::SetMaximumSize() + * @copydoc Dali::CustomActorImpl::GetHeightForWidth() */ - void SetMaximumSize( const Vector3& size ); + virtual float GetHeightForWidth( float width ); /** - * @copydoc Toolkit::Control::GetMaximumSize() + * @copydoc Dali::CustomActorImpl::GetWidthForHeight() */ - const Vector3& GetMaximumSize() const; + virtual float GetWidthForHeight( float height ); /** * @copydoc Toolkit::Control::GetNaturalSize() @@ -115,26 +91,6 @@ public: virtual Vector3 GetNaturalSize(); /** - * @brief This method is called during size negotiation when a height is required for a given width. - * - * Derived classes should override this if they wish to customize the height returned. - * - * @param width to use. - * @return the height based on the width. - */ - virtual float GetHeightForWidth( float width ); - - /** - * @brief This method is called during size negotiation when a width is required for a given height. - * - * Derived classes should override this if they wish to customize the width returned. - * - * @param height to use. - * @return the width based on the width. - */ - virtual float GetWidthForHeight( float height ); - - /** * @brief Retrieves the current Control's size. * * @return The control's size. @@ -291,22 +247,6 @@ public: */ virtual bool OnAccessibilityValueChange(bool isIncrease); - // Called by the RelayoutController - - /** - * @brief Called by the RelayoutController to negotiate the size of a control. - * - * The size allocated by the the algorithm is passed in which the - * control must adhere to. A container is passed in as well which - * the control should populate with actors it has not / or does not - * need to handle in its size negotiation. - * - * @param[in] size The allocated size. - * @param[in,out] container The container that holds actors that are fed back into the - * RelayoutController algorithm. - */ - DALI_INTERNAL void NegotiateSize( const Vector2& size, ActorSizeContainer& container ); - // Keyboard Focus /** @@ -431,32 +371,10 @@ protected: */ void DisableGestureDetection(Gesture::Type type); - // Size Negotiation - - /** - * @brief Request a relayout, which means performing a size negotiation on this control, its parent and children (and potentially whole scene) - * - * This method is automatically called from OnStageConnection(), OnChildAdd(), - * OnChildRemove(), SetSizePolicy(), SetMinimumSize() and SetMaximumSize(). - * - * This method can also be called from a derived class every time it needs a different size. - * At the end of event processing, the relayout process starts and - * all controls which requested Relayout will have their sizes (re)negotiated. - * - * @note RelayoutRequest() can be called multiple times; the size negotiation is still - * only performed once, i.e. there is no need to keep track of this in the calling side. - */ - void RelayoutRequest(); - /** - * @brief Helper method for controls to Relayout their children if - * they do not know whether that child is a control or not. - * - * @param[in] actor The actor to relayout. - * @param[in] size The size to allocate to the actor. - * @param[in,out] container The container that holds actors that have not been allocated a size yet. + * @copydoc Dali::CustomActorImpl::RelayoutDependentOnChildren() */ - static void Relayout( Actor actor, const Vector2& size, ActorSizeContainer& container ); + virtual bool RelayoutDependentOnChildren( Dimension dimension = ALL_DIMENSIONS ); private: @@ -588,24 +506,6 @@ private: virtual void OnControlSizeSet( const Vector3& size ); /** - * @brief Called after the size negotiation has been finished for this control. - * - * The control is expected to assign this given size to itself/its children. - * - * Should be overridden by derived classes if they need to layout - * actors differently after certain operations like add or remove - * actors, resize or after changing specific properties. - * - * Note! As this function is called from inside the size negotiation algorithm, you cannot - * call RequestRelayout (the call would just be ignored) - * - * @param[in] size The allocated size. - * @param[in,out] container The control should add actors to this container that it is not able - * to allocate a size for. - */ - virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); - - /** * @brief Called when the control gains key input focus. * * Should be overridden by derived classes if they need to customize what happens when focus is gained. @@ -646,6 +546,31 @@ private: */ virtual bool OnMouseWheelEvent(const MouseWheelEvent& event); + /** + * @copydoc Dali::CustomActorImpl::OnCalculateRelayoutSize() + */ + virtual void OnCalculateRelayoutSize( Dimension dimension ); + + /** + * @copydoc Dali::CustomActorImpl::OnLayoutNegotiated() + */ + virtual void OnLayoutNegotiated( float size, Dimension dimension ); + + /** + * @copydoc Dali::CustomActorImpl::OnRelayout() + */ + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); + + /** + * @copydoc Dali::CustomActorImpl::OnSetResizePolicy() + */ + virtual void OnSetResizePolicy( ResizePolicy policy, Dimension dimension ); + + /** + * @copydoc Dali::CustomActorImpl::CalculateChildSize() + */ + virtual float CalculateChildSize( const Dali::Actor& child, Dimension dimension ); + // From CustomActorImpl, derived classes should NOT override these. /** diff --git a/dali-toolkit/public-api/controls/control.cpp b/dali-toolkit/public-api/controls/control.cpp index 255589a..a66f2ae 100644 --- a/dali-toolkit/public-api/controls/control.cpp +++ b/dali-toolkit/public-api/controls/control.cpp @@ -69,51 +69,6 @@ const Internal::Control& Control::GetImplementation() const return static_cast(CustomActor::GetImplementation()); } -void Control::SetSizePolicy( SizePolicy widthPolicy, SizePolicy heightPolicy ) -{ - GetImplementation().SetSizePolicy( widthPolicy, heightPolicy ); -} - -void Control::GetSizePolicy( SizePolicy& widthPolicy, SizePolicy& heightPolicy ) const -{ - GetImplementation().GetSizePolicy( widthPolicy, heightPolicy ); -} - -void Control::SetMinimumSize( const Vector3& size ) -{ - GetImplementation().SetMinimumSize( size ); -} - -const Vector3& Control::GetMinimumSize() const -{ - return GetImplementation().GetMinimumSize(); -} - -void Control::SetMaximumSize( const Vector3& size ) -{ - GetImplementation().SetMaximumSize( size ); -} - -const Vector3& Control::GetMaximumSize() const -{ - return GetImplementation().GetMaximumSize(); -} - -Vector3 Control::GetNaturalSize() -{ - return GetImplementation().GetNaturalSize(); -} - -float Control::GetHeightForWidth( float width ) -{ - return GetImplementation().GetHeightForWidth( width ); -} - -float Control::GetWidthForHeight( float height ) -{ - return GetImplementation().GetWidthForHeight( height ); -} - void Control::SetKeyInputFocus() { GetImplementation().SetKeyInputFocus(); diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index fd2473a..1e6f8d9 100644 --- a/dali-toolkit/public-api/controls/control.h +++ b/dali-toolkit/public-api/controls/control.h @@ -84,37 +84,11 @@ public: { BACKGROUND_COLOR = PROPERTY_START_INDEX, ///< name "background-color", @see SetBackgroundColor, type Vector4 BACKGROUND_IMAGE, ///< name "background-image", @see SetBackgroundImage, type Map - WIDTH_POLICY, ///< name "width-policy", @see SetSizePolicy, type std::string - HEIGHT_POLICY, ///< name "height-policy", @see SetSizePolicy, type std::string - MINIMUM_SIZE, ///< name "minimum-size", @see SetMinimumSize, type Vector3 - MAXIMUM_SIZE, ///< name "maximum-size", @see SetMaximumSize, type Vector3 KEY_INPUT_FOCUS, ///< name "key-input-focus", @see SetKeyInputFocus, type bool }; }; /** - * @brief Describes how a control could be resized. - */ - enum SizePolicy - { - Fixed, ///< Size can't grow or shrink. - Minimum, ///< Size can grow but shrink up to a minimum level. - Maximum, ///< Size can shrink but grow up to a maximum value. - Range, ///< Size can grow or shrink between a minimum and a maximum values. - Flexible, ///< Size can grow or shrink with no limits. - }; - - /** - * @brief Describes what a control should do when a contained actor/control exceeds the boundary of the control. - */ - enum ExceedPolicy - { - Crop, ///< Control's contents will be cropped. - Shrink, ///< Control's contents will be shrunk. - Scroll ///< Control's contents will be added to a scroll. - }; - - /** * @brief Describes the direction to move the keyboard focus towards. */ enum KeyboardFocusNavigationDirection @@ -200,79 +174,6 @@ public: */ const Internal::Control& GetImplementation() const; - // Size Negotiation - - /** - * @brief Sets the size policies for the width and height dimensions. - * - * @param[in] widthPolicy Size policy for the width dimension. - * @param[in] heightPolicy Size policy for the height dimension. - */ - void SetSizePolicy( SizePolicy widthPolicy, SizePolicy heightPolicy ); - - /** - * @brief Retrieves the size policies for the width and height dimensions. - * - * @param[out] widthPolicy Width's size policy. - * @param[out] heightPolicy Height's size policy. - */ - void GetSizePolicy( SizePolicy& widthPolicy, SizePolicy& heightPolicy ) const; - - /** - * @brief Sets the minimum size for the control. - * - * @param[in] size The minimum size. - */ - void SetMinimumSize( const Vector3& size ); - - /** - * @brief Retrieves the minimum size. - * - * @return The minimum size. - */ - const Vector3& GetMinimumSize() const; - - /** - * @brief Sets the maximum size. - * - * @param[in] size The maximum size. - */ - void SetMaximumSize( const Vector3& size ); - - /** - * @brief Retrieves the maximum size. - * - * @return The maximum size. - */ - const Vector3& GetMaximumSize() const; - - /** - * @brief Works out the natural size. - * - * Natural size is the control's size with any restriction. - * - * @return The natural size. - */ - Vector3 GetNaturalSize(); - - /** - * @brief Works out the control's height for a given width. - * - * @param[in] width The control's width. - * - * @return The control's height for the given width. - */ - float GetHeightForWidth( float width ); - - /** - * @brief Works out the control's width for a given height. - * - * @param[in] height The control's height. - * - * @return The control's width for the given height. - */ - float GetWidthForHeight( float height ); - // Key Input /** diff --git a/dali-toolkit/public-api/controls/popup/popup.cpp b/dali-toolkit/public-api/controls/popup/popup.cpp index 8e393c7..df8e42d 100644 --- a/dali-toolkit/public-api/controls/popup/popup.cpp +++ b/dali-toolkit/public-api/controls/popup/popup.cpp @@ -137,6 +137,11 @@ void Popup::HideTail() GetImpl(*this).HideTail(); } +void Popup::MarkDirtyForRelayout() +{ + GetImpl(*this).MarkDirtyForRelayout(); +} + Popup::TouchedOutsideSignalType& Popup::OutsideTouchedSignal() { return GetImpl(*this).OutsideTouchedSignal(); diff --git a/dali-toolkit/public-api/controls/popup/popup.h b/dali-toolkit/public-api/controls/popup/popup.h index 040cb08..fc14389 100644 --- a/dali-toolkit/public-api/controls/popup/popup.h +++ b/dali-toolkit/public-api/controls/popup/popup.h @@ -252,6 +252,11 @@ public: */ void HideTail(); + /** + * @brief Flag the popup as dirty for relayout + */ + void MarkDirtyForRelayout(); + public: // Not intended for application developers /** diff --git a/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp b/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp index 0bb8842..26a232f 100644 --- a/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp +++ b/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp @@ -178,6 +178,11 @@ float ItemView::GetRefreshInterval() const return GetImpl(*this).GetRefreshInterval(); } +void ItemView::Refresh() +{ + return GetImpl(*this).Refresh(); +} + Actor ItemView::GetItem(unsigned int itemId) const { return GetImpl(*this).GetItem(itemId); diff --git a/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h b/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h index 1dd4fe3..aefa4f1 100644 --- a/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h +++ b/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h @@ -277,6 +277,11 @@ public: float GetRefreshInterval() const; /** + * @brief Do a refresh of the item view. + */ + void Refresh(); + + /** * @brief Given the Item ID, this returns the accompanying actor. * * @param[in] itemId The Item ID of the actor required. diff --git a/dali-toolkit/public-api/controls/table-view/table-view.cpp b/dali-toolkit/public-api/controls/table-view/table-view.cpp index 7c77387..82e6e10 100644 --- a/dali-toolkit/public-api/controls/table-view/table-view.cpp +++ b/dali-toolkit/public-api/controls/table-view/table-view.cpp @@ -135,6 +135,26 @@ Size TableView::GetCellPadding() return GetImpl(*this).GetCellPadding(); } +void TableView::SetFitHeight( unsigned int rowIndex ) +{ + GetImpl(*this).SetRowPolicy( rowIndex, Internal::TableView::FIT ); +} + +bool TableView::IsFitHeight( unsigned int rowIndex ) const +{ + return ( GetImpl(*this).GetRowPolicy( rowIndex ) == Internal::TableView::FIT ); +} + +void TableView::SetFitWidth( unsigned int columnIndex ) +{ + GetImpl(*this).SetColumnPolicy( columnIndex, Internal::TableView::FIT ); +} + +bool TableView::IsFitWidth( unsigned int columnIndex ) const +{ + return ( GetImpl(*this).GetColumnPolicy( columnIndex ) == Internal::TableView::FIT ); +} + void TableView::SetFixedHeight( unsigned int rowIndex, float height ) { GetImpl(*this).SetFixedHeight( rowIndex, height ); @@ -185,6 +205,11 @@ unsigned int TableView::GetColumns() return GetImpl(*this).GetColumns(); } +void TableView::SetCellAlignment( CellPosition position, HorizontalAlignment::Type horizontal, VerticalAlignment::Type vertical ) +{ + GetImpl(*this).SetCellAlignment( position, horizontal, vertical ); +} + TableView::TableView(Internal::TableView& implementation) : Control(implementation) { diff --git a/dali-toolkit/public-api/controls/table-view/table-view.h b/dali-toolkit/public-api/controls/table-view/table-view.h index 104a050..4340d45 100644 --- a/dali-toolkit/public-api/controls/table-view/table-view.h +++ b/dali-toolkit/public-api/controls/table-view/table-view.h @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include // INTERNAL INCLUDES #include @@ -99,9 +100,9 @@ public: */ enum LayoutPolicy { - Fixed, ///< Fixed with the given value. - Relative, ///< Calculated as percentage of the remainder after subtracting Padding and Fixed height/width - Fill ///< Get the remainder of the 100% (after subtracting Padding, Fixed and Relative height/ width) divided evenly between 'fill' rows/columns + FIXED, ///< Fixed with the given value. + RELATIVE, ///< Calculated as percentage of the remainder after subtracting Padding and Fixed height/width + FILL ///< Get the remainder of the 100% (after subtracting Padding, Fixed and Relative height/ width) divided evenly between 'fill' rows/columns }; /** @@ -271,6 +272,36 @@ public: Size GetCellPadding(); /** + * @brief Specify this row as fitting its height to its children + * + * @param[in] rowIndex The row to set + */ + void SetFitHeight( unsigned int rowIndex ); + + /** + * @brief Is the row a fit row + * + * @param[in] rowIndex The row to check + * @return Return true if the row is fit + */ + bool IsFitHeight( unsigned int rowIndex ) const; + + /** + * @brief Specify this column as fitting its width to its children + * + * @param[in] columnIndex The column to set + */ + void SetFitWidth( unsigned int columnIndex ); + + /** + * @brief Is the column a fit column + * + * @param[in] columnIndex The column to check + * @return Return true if the column is fit + */ + bool IsFitWidth( unsigned int columnIndex ) const; + + /** * Sets a row to have fixed height * Setting a fixed height of 0 has no effect * @pre The row rowIndex must exist. @@ -350,6 +381,15 @@ public: */ unsigned int GetColumns(); + /** + * @brief Set the alignment on a cell + * + * @param[in] position The cell to set alignment on + * @param[in] horizontal The horizontal alignment + * @param[in] vertical The vertical alignment + */ + void SetCellAlignment( CellPosition position, HorizontalAlignment::Type horizontal, VerticalAlignment::Type vertical ); + public: // Not intended for application developers /** diff --git a/docs/content/images/size-negotiation/Algorithm1.png b/docs/content/images/size-negotiation/Algorithm1.png deleted file mode 100644 index dc0b603d0f8c3b4ccefe68140ea114ee0238974b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28104 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 diff --git a/docs/content/images/size-negotiation/Algorithm10.png b/docs/content/images/size-negotiation/Algorithm10.png deleted file mode 100644 index 154777e76ce284068e6a7e25de084a1deb7715d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19176 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 diff --git a/docs/content/images/size-negotiation/Algorithm3.png b/docs/content/images/size-negotiation/Algorithm3.png deleted file mode 100644 index 76d088e120a06e9a45f5362d86025ad4cfc6d03d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26522 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 z%0D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 Uyw(d$; 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

_*V1h3==Pe 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±b{*vFF(c##%AU6Cvf8g?9hgk5)E^ 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�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 diff --git a/docs/content/images/size-negotiation/Popup.png b/docs/content/images/size-negotiation/Popup.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d9b7f254a1aed36a38727559bd2f43e513c5d7 GIT binary patch literal 38362 zcmZ^~bx<5#^esArySp<4cY=gKU~mZpcZcBa1b250?(Xgq+}+*X-MM_fTlc*`-n(7Z zHC0_*d!Jr?*6FkMUK1kwOAHx-00961AWMh~%L4#FkI&N#4&w95pFv{E&mVXjaW#7Y z01@-Q69`C2!~47l>mVU50=of;2hT;O2Hz3_0FVJBgas5`mQUNAT}bApntpseIOS7n zS8HH!ZYB(u{>q8RGUp&j>R zGQQrtT`hJ4*B>6JfE~K`9S%p|mkY#NjjhK z(zic5gUVZQ7CU*~XB#{q4cC83W3NdK6aX?Jmjj+{;#IrN&n(c;Kv^_!10Br=cffDxrsP&7`_)w`vzCU#C=6UKy!GJ^1=Nkor!Gb^mu#e>|MNZ>yWl$H{ z6G_s?xCT#_ML8qv`cq^t4~WJ)SSQ75uh7f(yg{LgYl2On?I!&a1p*F%4dg>cc8B8x zg&qI}B;T+F00gXAM>t#1(W^BG+wJ*FSzs+D*7aZnS7TL2lD-+1s_JUw4svpk3;zZh zp|ss-U86u)j#b;3hsQc2!LuR2v)s?SI#|cni+pDo1u6Rj@&0Au0Z^EXJyhC+5TfDM z@Z87ou9u*v+>ODnh2WP=GHFRj@86#o7|Sz4%#x}5Ly4e8o1E}sV8y#*!vO%di7Dd; zc?LlD(4(4ZRcU`oEPr&r^P9CSwnb>*$1^_zI^+_Av(qkt{JN1X9$3|zZzh&(uhJz1 zZvSLhV|!QoDC=Mr=NzwR_&H+i#FcZOm!Fgq777Z=9UX+w{L5DFpZ9xfUVc4awf8?r zG||B%S1{TauO$d{0i_Gs*eHiyUzT9(+cmwuxEA%(=>&6(;yPANyf#cUw9AiR=WywQ zY3WpTp^~ZweOa*CH(wL3)>BDcFIscfAE~{ph2@$` zYD;+*ZGk}G2YkBLn#fj(cJ(daHmH(hnJwZ5(y2G!Wc zZ*T8PMczxwK=dqkTiAwpFNmxEK(4=v^uA4WY2fXSZ;;x!UQE{&`;6)CxV~k1JN-gq zhzj*dFlZ(l}k&PYEl|2|`1+>Mv$Txl~9JUwu> zdM@$!xc(Q@o!jgA1~Q10jd6qTE#5$5g)=EB2?A^?fey%x^PDN%z3%j zc6V;E;COxJ=}~&_u^AHQW%HZw-qg$r+B@^(HvBWiUgv#U+fQqn+u2;N3Z1LHigdZ_Aq8%4*rM2gY?);x19^mm`uBQ(*bKjz5f~dugw=e z020X}KTd>8#>XJ$MCNmk0bp|%GpglfT@1K+A=9DC<1Tr2Nt;Ve@_5%GMKzG72lXf&m|79wdX$?fH?J@nHZsR8YEl%S9b$=69S}^A)-z z7K3fwY#qv>q-Xkeu*-de!++Cl{^Q4x3oi^nBmmmW>zWc^VzPSME7TZ)uZ0UA)TnjR zjH`2DspIxW{3ObmO3%!EcKBMjK&s_Dv$j%TF+lRe<7v45>Ao-N?L4}Hi8rif?6>Ft)U z-L*U6tRJ%zaDIh{Fi`7H6*u!dq^9MiFN$T_wLrl8{pF1D>tj=Yf%H@Jmd)W)(mGnq z6h)8+W#{=-p*8`xyLg934@VNr3;$p(L`N8&d1HhmiTiCb_XWS(lahucH!A=A=`eI< z;n$^)o%!95JG$6{{rSR7Hx8X&9Y-<`zcScazd>yn+KjS7E+V{)ik3~dA@kYpuaH8& zP=aX%yV^23)ID9gWBwb(&`cz<)AjwBr-HMW@mbF>`LsAnjNr6*sI1<90C3NH_EFe! zGI%-f9XoExnt&}kL*k;~?roxtp`qN*knpOFJstGj+{CK5{+sIVLQwtigP58V2>-YF z{(m9I|8V1fljDE5@&A(J|1jzQmq?rZlr9~1U0h=^DnFD+4oYZ5a!|oC*@LQsH1!En(&$+Fo(^Nr%c z>bVo%gIy>&G=cy@bO9{(ZmA;ZUh?5;8d#jHx}`38@;Xm>eZ;jdF#R#VJZx{Y{9J~F>s0&84)x224N%N< zzGjPJIcZUsTBZr`?A9)m3v(-r_e1Zg5l*MDM}O1mz|T+`;gb6{>?vPufR+G*4kN7# z?E{wpV~`*Z)?IWaMn)2ktX76+@y593pzFzz&_EZXg`pCL=%E4)(!v!OU=nfhED=aOlSWn!IuF0m(6FjI3<%0P-5SPzfG!1{jGL zI85>oM4Em%Chtk77o&s9H6ES_(i=YmRJVinr74r!hSZ8#^@TGQ#-y8fw};^QOmp{g zvhBdVi}_FfHy@#HxXrYZy4y{7cx}8tr+K?5V~aGkc(2lkknh50vBdPui)u=Pa-!W) zxKql$<#frB8wH7@6YPT=Y65uG-ID8aCG#24m(wm8y{X22!@&txtI9(`&}@bpQGoM= zdnxxYX|CXiMoww=)F$)XVWb7UAy7()OgKAEj-}VYzlFMf@FCPz`xp7E@(=`g%l;Lq zi^dl2>w**9CJP4XR>PrWq56Wv2SF(`^vdut@+Lr4pPE5XUUUHQB#h9PU7DR20gr=? z0d==2!%m(PUmaxp+6j$|@f7}(zSrA#jycpdx0yF*t&PT(Yx~kPhgahZ#})HyrYF*R z`Nq}D(u0g9w~3+FUE}ntot;3Wk~7PsganJ$7?1nqw|G*|i`lr&k5~TlA(^K>O5-t? z`;N~=T=9Lth2eQ5GxO`t(u=3p9cA!iKIuE`0I}zwz>E74ETp%>ukS52IYE{h*8SlyS1!-vp^YdJivQr(YSb1I2H3nlphA0NM*cYUH$XjE zvtS?qddm*}*jntluDo5dT^;n|b$=ml)Fh7Z?>zH3?_v#TMMXia3>D4!}y& z2TJ&_a4-jLxi?lYrEnb>1wIa>cS6HRgCHSHD;%&qMNUcJupCrJeU$d4rWePZ3W`h* z8VrGhk0(JJ01zf8Q{0UPfnWk~(1gjW<^6Y~dxEj#QDnp8&&FeO1^hs8m~`dHPGwp* zR;UgVz4Bk~ry`=tN6J8y0oy*#^a+V*a=A-$g?q@OOHL^IM3AOW?r))vcc&Gy42Jp3O~ZWXOZ z6^$FI?e6cR)>LRO&%psoYMOiCnhbOx7StDMaeq*+xUYYXdjt1x*615cu4nGkthPTyQsJO~2UpIBZnRFhm-7z3UbUd%!jK12|R z4g!$>29kk9kq<-eq~0Bi;kptT&1;Zoz`}W0aV$Pm0R&J!*s)|7G0MJK(L`S+{Uw2* zY!fiJXFH#B;XsfZjwkzC5aLW#FqF?$63k?sq67rBR_;Ub%yKHd}_tF`#eNf+?OrWq_*49_74|VQ8_(g_TMjjM;dkh~oG9q~XQdbbg+I~F1r3XL1$5c!*d1f!|Zf_Cs1 zQmd5a0cAh=CM=*x51>GOO%X78@1Kgefb8tFfUD zMR{hY>sFmxA|-4}kp@mnUQ229%FZenSGfx`vpr}jRyS)<&vVR&2j#>{i%UWSZ~(c6HZR{gM$k7cD~HK-M#D1_+Om$ zbq6a#FbgdewR%sjD;17Y(1qGA<3kf2-|S}!8b0>EejFdCUUa-IABm+atIOXWpIlh- znBS!!tDkgtyQnx%d~#^hw^oMahn=c6LXwvIzFJ}W)pI#JM8P24;shjpPj_T+*aYKpH zj7SEI=YBdiGW8e{v1Tdpw5vV@R>aUIZy0|#GBuzfAxdc5{Rbo9FCLUT?7CLqex&S)BwhlxFgJp!p zN+U_jrkjgJOUUY!sizP~d=`jEoAlyv6f11+_SQ|UTr6n(DB)RPysf7Y#p{0k@|FMj z@-ATF^=PYx1!n!ptm){XbI`~hP*t7%=Rs?r^YwTI!1Ct-zI4IjaW&Sf?d_e%s@e5A zF9cHT92$U#!^nR<`F2w)8dYLo1UQuV@}g)dF^M&WyOTaqAz!{?!iY*xztDjAy1Pnx zR&_%DDe3?=_ecDXnS3{XQGE7e3Ak%EV-p)LCq2yLV@CGW#9q4|UM~Y07w!%l=?lOv z`mY<%-uC0)Y;SuZF+&tP-k4znGZs=gogTh85%3$W1;POSHaw72cHW)+dRf6}fE7U# zfu|~yr(wt%tf3U#cmPJnL}2S44n6YaJ}RqK`$BE1k+B3ORC5Z0AaKyjpr^xgpa3Fj zzw652p|NF|3{>ewAcA#;=`qltbRkpF%2^|)%gU>=M6v9`;b`Sj7${2Grs55fwY-tC z(ICj4PjfKz^}xabU0^|7e=GtRjNWK{PJLqH{NEzz2X+1qsxb!Lvgdz?r#ylp2{9CzE2gDw|KDksxk9}&WA8*Y+nZFy1j>D>@R>Fbb zA-Oo~S3Pf(IzM{So!^hRKHS*;Hfn3Q4a7~19;UxLF+rxF##GU%IvD(b>TmxF_e?!`c7VN*2%La>;?`~R!) z2BCw|A@mT*x=qkxdLa;a@@jR7fm9HR-Y`HSSq45x^iV%_uw{t;waRP^7z!LC_!|IJ z_63=s!$*6oqIqy444KK3Q1}VTMq)G|d8c6I7*b*B-qz0{jTUKz{w&FQuU~9YOOBkk z__!iYHE;SAvall@+7lo`V+B#OCsM*$n?qdE5^j5_b&$@pV8be+~u z^vvJFxRcmV&?lC@jmMaRQ~Rnz^n&geiEGxhO}2(LB&s-N?4yknzW%|FV{Crw-G&5fO=jUV~g_zeUJhV%%) z7&MOtCJaP#kRG~#5Cp*NXNMF{nJ9)4sAd!(429(F>k9}Tgb?Pd88L|m>DE9Xpbx1} zA(TUZQS2%UW>EivLtaCp2P4!wS`;se!i3IPUJt+1NMy zk4?3tZr?!q86U1yTzReFE`ZN|8H4f%j*bx z$-JV;F%$XzKINMIn-ea6 z!UqZ{5>ErvU2TXC>I(l(nhZb>5r>mNV-MB;4JFKGAz_Lp5YbI0u0Kd^D^X^{c}6>a zq`Igs3kW`a$m2dnqqDh@AVwqXjmFUhNc$u7xn^G0&RpQd4`%-N zT9Mt(FCe#e8THcFo1H(H)YgqXdmlgBZ^G!UUoW0mbkyhJA5ovvQ~^-zWCQ}ye<#UD z@x#=8yafS3s6L2rI8YujD-3&RH3}_#Su_#?`W_~8fHwd{h7z3Bpo@Op_yrCe3=;1+ z2tyNL$8K&YiH5-qOma$YO6N=GF8r1hD=O6 zVo9=LJsg0mS*80g_Rr11?Fs3IL1Rb{j10|%!u#bLbF(2wOipZ#IIqu-{60!-M#`2N z&dc!yaZ?F735lzedcuw`sIN7w9Ka1TJSYHGwkrDY28zV!DHWX4mSk z(qGHUt(Z9NCcKVWNv@~FL54&I~Ly00G2pFS^2_9xCORB1pSuA6c@-H@i zWLfA(NinpQRC}(aEl|zfP53OgHrbpn7Z~F(sn0E{5@pLd<_?5&=b3eF`ilPvGjn~P z8d$+3Jb_V(B(b*C2nx%jwmp-dZvL*a2>~)&6>Zl9?D}wz-rmWYVr-`)1G>my)AAY)o2C1qB7J zQI;k5CIg1i07(Pju>D}F5kf*jpmj&eS3#lJKtMKHjv*9yBrhJIiYAE8(w*I1#8tx} zPZU`6GYhOQ2Z{_xPdu+6$4(d2TlKwjl>sZryx|HsOr>J0qKC>*1uN~C?U3o?<4MIs1hNZB* zeC_LRwjqcG>FlBCjhp^jALsWs1Xj=t9@eO(P1!=w6$<+>@{UulE;7 zFM`?|fq(d|>9^cC^La7se&k_-Dc%wxEWltm3L3D!F4Pw}2=E|WBzCTkyDnf7tXw7v zMJ8+;&uM`U0K=2R(Q0XZsSo&N8{Qom`W^6P$^{O500;$5MUN0Oo*gL;3#i!QVlT<% zmPYY9=-gd~%VARUUiI!ITphkTlU5RP=6uIs%5DCdk@1#m;5k`iA(3V`-E4bE%TFvT z|8z`Pd(n9^57o0DsH7xP_kx1?P?<98)zy@=;bQ2r#B$Fm7WUJ?BeZ3{4kzB=rN5t+ z=agyLHuu7`(sI@1iY>nkPj*5)c* ztUrav3sIY4*;-7{*~h=K=6^>mZ?g&TB4B^yY>LRBG*TEOs4v06;xup!IoOtesv@gk zV7tT`a^ey77vaq67zl)8YAmq6Lm;J*Zel8^qCto-`2z6hPaPk4Z&!6-gb`IZIZ?|P ztW$3|$*5|zD50T~9q35tqmkJ2N6PPxHCnBjpE3TKa3(LUCU)E;@{d}pxvl2e5`QJR z`_ZW&rmfR)URd~j_wb~mBgYH=oZU?E1F|3~5&OsMu02KIDMo0s2)2iT;oFKzd-{ls_h;x#}5A8xQ;fwaOzhE_;XS6<&lsw(<4I`u(KRX(?k_Ydt71TLj zCq9&HTCBKe1OsvsK!6i(Q8YAR1XfyrJQ>{JDO%_qGDeIE1nFB?GklY@gv-F^WQ)#}kkd!fzwC-Hy_AFbFI zd}QpJpsVZYeMdxX_oIY*`h#cB`3c8<{g!%r1-qH&qn+clw6kFseCaU46{As|2HQ0= z!{5h)Ljxa=-D*EmI733QRB)6ZnCVNT8tUnlmzC(`Wmk;B#w`X~Y=&Sd6|?ccKL;`^ zH)|Rnk0X94-|bwc_~HuqJ9Up{w0LzFvgd*_q!gkYoE96k&hB^3C&UmCMc;2c#y|U@ zUi!VkPL zRlL+Bc*sl;eLj*6C0hh0&#sC#a~f$LHfa#V<^#cQK}@EMr&Mw9(-aF&WXKvfG^IC?W<8VK;bA7*9f>JP-D>1s z^*S?f{`9YcBFXA_SnXx~8o73!{jozwPQL2maV<6^LTF$fD+xE3f z?ZK&=s2}WkRu8@=*_hLS3v7o89oTEY0 z5<|#gVw$k?77cv9Q=95~&}2EuL_v$eMhH%DKR>+!|Jw^-j)^KTj7b_D&_#eV7>sEb zPESQ`1yNpuLN7`oDA>jH?N@M^kSwuEA39?&ISXW9A}W#cOWcgiw}Vri^lz@0=7`Gg zR{>Go(Ck?@vSJ498-+!=KS>=HpD3P_`l>DVa{}CwA$2_Nlx*oYnm)!QJYZh8?*7y! zRf_B-^yT`|mm<>t3|=CI(>hHL{pR3o;q;jep7v4mv0#Cbj+NY3W#pl}N363OBE9{2TmR}c9 z6(^(aH*cH5YvYF+G}zg2VbB5flywCosECAO&0rAG3=w>FWOf5tQFwk+k2j6J+@yi{ zqxLf01gdF}P$I(;3yqGz-;j_WY=$}8YX+M&OO)AcZ_E;JF(j?7Q34% zv7zcT#o_z0MXEl*j!4E~BR^B^wV*{3hJ=r=aQU=(tQ%(9ue&7Nh-}Yf)VZ8rv{E_i zUAR2k-bb%E%2R7He93#Lk%-uACj3yj4<0dn{!CzcF`!-Cs#D(;S6{I$)*nXuRC8B$ zt}e|T^6dH#Lw>5gt8p36`;~lq9pGm{a4`qf;B1s@V}jpxU(ERRmD#JqX+>$>{eS{= zTux81?fD{w@@w`i90E$F3>u9zw7%FOe=f|V+853w0wH@BqeDZSTfPF44@9ewaaSaIC>?9BNAugAi734dymx9WkW~?xvU(&W`-o8 z&yf2U$6RGpuVtr?hqZ^v{>FI|_0rm2Rxz<^<4$l4oifW#agtA*Qgse+Zf*|Jtg0z< zVGUn&!(UQjdj5Br|4J%nLIj?MGCtqI^hSK^)f;U1_a-NOJB!W$WOK~1a%;!BfcQBu zs)hJk!+kF^EKW;szkVG7Dq} z4@W~be9H;dQqm%@3&G_&kkr)g%1E0VjO>RONWBM5Vs%mz%e z3}~Lw&@ji6l6Yt;iRd|l7Lq0JFL=m$GX7U`EAqClP!H1i|14(7ei_hIJ=T7eoLL{pc%SN)iCXtqob0H#=X3uk zzeA>gnM0vrShXMRO0b@IUGbfp$svw=;AyJOeec00mhr5rDwQ!a<*#@o6=e5F13^YUHs&9 zNoWLdzCwM@fKBfwAVjkp>5#uHH}{Vf&yUxx@~E-rtWHLb7HSxb1-X~!3j_oybnG?H ziE_-IfYvkK=O)RQ?h~2yxB0TGAR@MGoxR7V_Uq<={U=nhdq#Y|x`~H-LYo8rdFVg$ zUczXnP`k7d$7!q#a7bljlAAAB%uYFSuz!K>Cvoskzl#}^QMJTwvO>fcB1L`4?EXGZu!mUl(v8$D_tCb{A#M#x;rqXFye-I|MP=1fA*Hht< zjH9DUt=$$ixGI<@*_>>dZzzf>8BO^ovK3opEb;LcfI2dQ_`v-(t3&EAtMh*U`#CN- z_9oGRGl(Ka3dB|9b>-X5I>Gw^cqsO|j2W;>VUyO|eY|Q_ysgClYC7D+YOvvX$^3HG zd=OpWcot#3yG<$6`Eid(IvS3RlZcCpOsHCGHqNj@#uJt9azE5cgJc+6(BAGb5Bn1c z`p-<#0TJ9phQZcB?T^x&QQbEs&MWAT0fG+2%4Yf8vaA2%~`qDRra_MtXP|Y*xaa0pXZ-5xgM&v zxyF`>&;)uO*YCMTA|dzbCVi$nD8)36Jo5Mgmuy8kifop*V5NC?uM4fXO@j|lw`KG_ z0@rV%7S3JwpMcng9(449C}pR=cH^b*Nf^;9*WBsltQTdR;r^TeeHrB=a>X5xYqEEWn#v`0 z!et?(F;USY`h=+cP4{)uweaxpYo+IP0lh{Xz24;d5J_cwwXx{PPYSdCTL*S!WgFq7 zYRHj!Yel4P-S85I1i?lCMMHLdYlRn64yc|ZA>S~js)$iuj}lH zb4nZOiSXF9W7o(znzrO5vmhrzV&F$1gcc3D{M5DOjsK;Jf7XDjH_>~*I6AQ zt9UH0&-pQ_;Pf)Dm?yQS@K|?T_q&m{WS0kt;RLwFO7}ecwF(0b^bTKiTrH132P!y| z)>HX8x3NBqraQl?B5b3W4s2L1KvG9CdR{-zaMsN}g!Qrb8de{N1d$}ORbzjBU!RU&zk)8 zmwb&_A_XVtAoa_RhnI*>*u#J)wAB&<&@|n_dMsr6K!rdg#4PLR!4%DToTe%NyxO62 zF{`G-oDom%JU4BN4~iAeia(zB2$jDt)edC1*7uV#yeca<&O`EEhEj;T< z)rhYrltX`x-C)Ew<5Mk<-s-|r_8hOw*wE7PZ%oE^L-)c(EysrjQESBzQO%bHZ;{_R zTqYy$EWW335j(sdUGUz8Mt(PV_`#O?hj%UEG9UpVs8Mbqf6-Dc!)vS4R`fl2 zXzjClA2>JP@ieRvHQ~aP`peQvbG?@Kc2tLiHX?z;@_guv>$B2v9=oC$u`P0oNNSw+ z$$mq}+}znu&Qv&+cx26$mh9GiZZ?Mlhm~c|ieEmAG~w(V9A_OTy}ic~Te7y(NiO{h zlAQI8hj&BWxyQbr&ce;oY;N2TT1;CSLyJX`%f6al00M(#av>Cg`>E>RHxs5RU|-*P zUqQski=Q--G@ zN%Q4D4!v_XS}r(kWN{PD>t6E2P0O+RUXX~>C5)C=G}cVyPM!^+3+&aVn>R-l)IaVo za{@@?lT^;QEI&+PiQup}2Nen~8YjqKSbuWHnVDL--}T{gG9=eFV6z=5swg|xKSnn6 zBR)|b0=V}+SOhv|viQ^#Fa zdcKsqb9$NPwD!%@I8yiBe<{Ez%t(HN>s`|$O?6pJG7WMv88r-Sc--4kVy9{D17Qki z^6ZT9hNoJ-w5#nfMq)yQP(gFfZ#?JCUPUgtJEz9;*4jAmxXTXxVuuP#4{tIX#M(23 zwn`^$fh$@kczf|mw~oY1tH*gWNQ0A2qgOnLtG=2q{bvh25KqQeUh|)p)$iP1!-t0E zi4I0@{Y>qAJ_wjU#>%OhnKY*>Ew5VZG4CNVb5;`)W22`@b^)|8=bmpF=F^Opl!p1) zF4ZVgvs$97o&#g)jOD33-%-Cm50)H8C#=DX1zCUWAa9wp)j7@Ppl%2)cwNjTX^5eg z;Bzi%XgFFcZfO)GLN_D*J-zSe}3Lq zqfcFO^ohWXv`XWL#Qqyjk6z!vShIuTn0^Bd`pu>-BcmdrM?+#SpUj{UiQ8wOiZ@S$ zA_7qFSc84BcU^kUhdh9C?@?5aKj(5h_MSGm%aW`23!O==&3}WnHnGGfCd|;hk+2%H z3BfTYP(E!M$ilYfUsh`73jB8^-TTjEBc*r$+!q7oNS0UGy%#;`Vi&U7^ZDsikH;Xkkv4$41wju-tqpSQm&;0uy<9Z1IbeX}r34WvlA}cN~7>W+`s?E>7;+(csp4b74|WO7!(RxC?%{=(-S zA)LV4ZyN@#JNe%4GCx8i7PJ-&P*J`mW^1VUs1gY4pA9Ez9yqz^jAhjW&@hCVO;TR@ zKHW)g`O<)bhxahF&eUjv6Y~`!z7t7PT7puKC5_!HNx&W}s1LYfwHy-&Wtf-9(=#(_ z5ON_X+^?6W_6MHJF?~P!&&a|OgNpxjH=);(wsl~Ki6YUu?X7G4xD6Y&H?kMwghh#i z_&77PcS1Phvzgos><{dBG?zp)cv!bR`0P4bwHdk|^ds{~E&oW8NJ#jG73t*Ubo*tx zPlSA^u3YWW&Qwn#(?o(vex3{KhO=_j!@?0Hmw0k?JX#Tzq=bYt^)T^h`xHD?9wB|v z`7wH^XYjCiz>>TAN?*tb|JOa5f}tqE8>kEzjXZhmsPB)K50%Z8&YzBPVThA5jR@6~ zRWcOX>wotUv^Sc_=*(eFK0TJA#B8n``a{kpQVkl3#G@%HgCYISrp;;GT|GWrQ$$#< ze2y}5!oN&{@`SsZDEIFZQ9Ryv10R$Af?DwQ0(*;L4 z!|;I|JBU1r#&`wP7bcWunrmUvCyu6Ykk;vxtw&cdXx|?8|~1|{a^cS z#QjLphH)p#9P!w=6_2`Ca|`cmJHiyFPlF0nq?+n-X*X?Y)&OX91~(c&*5ByAz<6j3 z^PVCPC@T7S%>00I<2Dy|t2QJ$!!o5{g0=7iZb|$IiwLUpYc>SnQgLyrtiq>xQjS{p z8^*AclfxGyk4w?d|IygX90W;hFe+~q@m;woI4zonUd(_}5>S=4?F=Q@Ogf8ZXYZnPl<4_z)4HynoC`J=N2tR_{HZ zEepD@TI6zWk);}6Z^k;uUA(6GW(t(Q&3W1zi!Ngv73>$-ww}h)ML7S#o4P&~LY=!U zbsAiVB)zvBs;aK@EG8u`$c84ucFOG$LpoVq?O2IF>g(&n4(Q7n+^qpg33rG3pew#J zq3FU04tA18U-uALzB}re-~&YDzQ;l2MdL937MZ3h)D#0u-XxSx)d*51*25rX$?kQCzj8-zR!Y&#OpbV{(h>qBaRYxhZ)FWf&p>?lslsHZ@2e6;{o3a;~>pPL?(@4MiM>p zd%C+1L!t!@@q@v^?i(iZG+o`|;=#hbiEpoj&UOruqUO^bktWikOlDxLjp%t0S!gfb znF+*oxwTp}O{S;GBwg7*->AfN8+OGwgG#5z#ed|`-1fAqALW&&T?foYmdzQI0*2h1 zgu6X|ZVaxbk6wNu)Kf+A9J?tzd~9K>XkNbVJn+Btzcy-nItjgXf1PM=G3}9r%WfDp zSAT8zy3A;v?V!IQZm*e-u)`6i+=yIE_;zcgS**&T7ep7X3xt;ycCUgO1W3}3STwYK z5HHopLj}_S2K8U-GROE6Y+s6Ky?(I~2zx^ddjoxi={HXf#u_)+iz+_$j+&*q9eX^- zzZI35m6U6h)yKyx19^h=dBK9r#>cnQ8#08fm6Xm$h?$Qa=65yc5hvW$%`IL_mjaL{ zR5EZu)f9+-#T_YM$B2ja6QjZMdn-~;c<6!_49sr2v@UD(y z(VT;wh6U8&5eM)E=O2(X-5h2MbvJW(y$&UFpgXQVmf%*rL@3|)Q&4-{9(s5LMlvzN z32bGBUAWa0*3zErh1-Y+jEvAfto^aTNzk_i1&pL>h@p_GbrzR1`QP2>oGNHe%{CO5 z6~(fy&eZ>5q-Jity=KL{XX9oLQIsd5MM}`9(y#SKQlNrQqzzAiA^8SfxVDcJ_zD*6pWq~kl&Y;{DYme7ykX%%I0}jW!MQwuY*6=IamM$F!W&Ui24MRbFpi!(m}w1^nw;)^OR83 zx!{v>VdfLiG-y7Z$9v-zqv=>zmz*bxH%$RLs{QoxMzl3ZyGthUOA8 zqBUJRCiFM1h@s&H&;&>GbE5HD;NgA2vL!-*01PlR)0Kw zO8+ldL%3e#muXEj0Bm1NQih@Zq_F}_&gWp9JJdWBfP&Wvi54?s(3Z0Kf4+YfJ_y!** zh&r8b^Uf>DL@XE@^Gw_}n~I};)?OE4qvg8S`ZYAX3DLOEI9a3N zWFj`v`*2a#apbtUJJdzSn+l2)_xJgWPn`hb=k?`ug0&o~AsmT@&(E;8|Kf`VAqgiO zE$a&>NFXQ`aNN7)Lld03uzT@7jJoZvi?y{}+7O;b;3r$hQQyqC{?T#vMz2ya(#UbK z`W|F5HF!s<{oc9kD+ouUQ>Vh=XQ&>#2IeZ-lM9^%)y+0{b1LsU2c1thZeEU0hJ+pM*WHaB2ax_< z;yzE!Gnje+_X8CJ3ejPI0;=F!2ZvuWSW)A@#$V=O(ml^wb&_pq{4WPLd4-vF+5O8N z`zm)Li02d#*IQsB@MM>XEz{M6PY`HvN#_V|->ML7|49^0uH$z@S zIjY*#)QdxJJYohp%R7Z(1eTn8y5PILMPdd(*nOICeX3}#a9!eE)0^?@sx3FIogd4n zoo}U;@AghhFzw17E(2ddf76R3#~xCa5hi_a5HV*SqI8_b0vkFKi=qTJxFXVI(Pb5r zW9<~EQ-p&BX)eRO%yC>Y8pyJ+02p8ZR@sA^<2ZM|nPG?O=jc-JNk|0?q>D%pwIp@( z8EE{2Dbdu?o`DLIAYr7`6nvgfe}MfzlJBWRJz;w^7{^#_UjajGN{ZoGF5^q*hroh%l}J)__8T4J30wz z8D7K<-u4n(imjb(OE5H=qCC6- z0*5zN;9p3z8!(Mh1SC2l?F8i3Q>F%EPM-WkMef39-;JC4biK1wd8={Fm2jV$eT+>C z0-Tp8PCX+}KKRYQo6J=;jC?n(Skmwp3$}25-w_mLa=)O^bRKiN>xd=k)2JXVjY=5e zi}RGATN{gwjqa-zpu2jE+0>QR{s$FlYHaNEM zfG|)WRIo2wxC9=wVDO;Z)dG*#(hIGR>wJwb004epwk>vTS2#%1#c!6SZ&u=u+KmA%xTAx zlV%G8kmbfxX(l#qdd!rX1QzPt`(7pA<>##4^q8 ziKu?w#4hL3{GQsKWGVW&EVR+dh=62n6oWBwgnlVuO)|#x>B&HCrE#Vz%)+7yjRMoZ zftJRYqJlFHLJJtm5W0D$c!)^Sh;WqBvD0Du8&kJaThq?e#?-cL z+nU<#$$P%{{0U!vSl5#)S9aD)p6qq+g?m{<`Lh{VI$|?mH5H(Z4Idx<=(^4Bfl7u% z6)0xkZ#k7(;Fg`|mBM{47?kKImzZBz>bTrxFtDEB%u5P_mjSmx%nRzwy3Ui zH9EC3(YMMnVBYYkdBq~uSb5ir9g{^lmJO#o3DNROqqEsqt9*;^*m}PN?!Wxm;q`s# z4=f${+8DEeZeota6Wwx2&a$;AQ@mK?SRR~(yl?D{#vG}^%INgp8$xir=8AJ8mDaml z3!&FNe&EwG(D7{JMua|>imA{f1j3LtutMV+7D6wu{!oM{^wg9o099+_5ew#@9gZg_ zjc~3=a5J(y+Wg%3Ni#X_6QmHN?ccLlrTY=f@4q^`3C#FIg^?rwlNp*N;6Sc6Cpi}w z`r03B(D_8b^z>`8Hh3!b?rlKh<4jc{hmVDo@?RFndrLe(b90W_Genh83Y8+zGXksB zc?-}g5iA9-(rcDH%{G$=fDSpuW#`h_=XNm4mlmth)KXosk4!eL(JoK*s}^WApp8?t zUP&oWQili*l%pjJM-`JvHbz6IV8LcgLBl&l2s-kdr-e2BKNHE6)g z@p$QWALgy0RQdCS;q%~=&rRQO^CmN`O|-o%;Glchv2YiAj2L!ZdbvWoC=8iw)cp4Q z#1O8z3tfRoDF?xenK*mdL1ft5=yfD}z|%>!GQr{#BWq!lAW6PvvK$ZEfIa2{QxiqgnvYOLr=v=FL^axmt_hqn_69iSfhNKt-FtzdLL}_a`@mg{m(F| zfX}n^rA_~{AUlYyp zIcO|z*9a3eM)F)PpKOGDiRBAA-2qI@kW0OadG9<7s)%yInLK`+ION@p?a9fP57!GO z2V2WC1o8w2+p<>9sp=QBYRtXa7`ZIz<9;xZ9b5;5PfFm*4U&tqvx&O%rHoU15eBc| zbTz!S6QO@LY(m_--SHj8Ue8%zZ)BdydvI}5WM{Z}X<`Q?HTk4ge@^@mZoVngD9~vQ z_}BNV@zLIYO6pvDds%&VI=7gOnte}LSjY0}%4+5L>EmaX`UzYrDd%EMf43~Tr4gl8 z9v*LunRd5xrLl_XaU@8ahAlRv4^BD45zPn)Kop#kFR~pD`9`Kps(z!!y-7HbfG#Vm zrAEA;E!WMfR8z#GrWgY6$=0Mf%$p~xf3r%EQh`<``ZG40sDbt3ar20 zCgL4m3N9j$D8YLl zcus|5!N|cWXcAS^(Pbd;JXEglkSwv~aBm`9xzmAq;kT&;ht3`j#SJO zS(-N#C%jQ_3l)z_W~;at?$OokcC^A~_V2v?#)W^1OfhOc9QG{R7mts6f zQTdhuGzXl%u$DK+r~N_*M?9ck(QGV`G7iPT94Jfe0-`0iiYQf{&f}us%wy}RfomWy z4-*(YE>g(_rI(iWh>9fH;n;bX@xVtVEtX>7_lPbqEtQEuvm+qyko}-E0-(}?0(YGl zvB;I#V&d`n-OEm4CMM`86>(ow`)Uo5LceVcXY=wiK}138u5C5#B?tlnlc0W#V8TU5 zH#1F99Mr%Vb*n%P$tS_~h`AVqn=jjis<9f2!8B;cP%)OOd7#Z{}&dk(=UD_@)LV~AVm z{X@a;YswWYIpab*L8{%X6=TijbU(y*UFU4MPRc1mx9T^{v>c?Dg|Ry&;}U+W%nu}*xyh|~graDhNYTq}uy^J~AcR4&(t zM@o>f83)kO#3C+qX6MH%^0`+gI}ETl9TiDSM(2+Vut1_B$W(cvGVqJ~-pk3(o*)DB z{W{DBXf3h;j~%FqRRo_pzi6M!BAB8CefMxGQ|`R4xH!*k;5*Z&K;!~}EdZOz#wnO> z1MifmKcTC>xn2{_zOvWaY&f4Zc;AM-D(q^0Tsq8D6K=mH zC|}geC&PpaVbehWJbMhdyAt~u8|(V;03SrAj`=6lc;x8RVe1hl|H;@Xmwc`p(-@YF zERe2(P3bx#B`*^-(D2$gu7Q>;l1vOp9)TJH6hc5#d#YGtq^elscbkMD@jW{mRpZX@ zsg0rlQsO7h2B%YmkV2x4iE;V7{o5(s5d~qY{<}Lyq;@p&bv5!Im8P7q{c$zH7MsMk zBb$_q;+l`KEbb5-ZQ!)T$mp17&jA+9@4 z$C$+mJvL5(=Q!b~!_&enfvS&7lBZ3*HInAfo~Di?qOmml+?-NO{5rxC7XRyj&yAHm z3Kta|`}WFIk+~{r=VoshS?dTMaI?U zSJ!Ju<4;}oVE-912;LNK>72O60#uduLjT&DHm zzg9m@gnes=w7pTqfT$s;^iRLya~ZLf;Y&lHf9qe(d+o5*wLF-nLYbw0N0%{{LB)zv z5}}k(6sLsW;CL8>n>3%x#i=|!wL9J5cp4XJJ^K9-HVkR|n1GIMB&BfH<$nm~ocNeq zT{tTu>CAHIcq-Bn;u7LYw6T1;XSr%Wiu1vxS?V$#`?C3{C8|V77D5_txV8y#$yiX| z!h;@*32itT?2K!T`UPZmad7pq9GYa3vT_4myDq_%#`UjsZtsVSGOy=n?GOBU*tjbK zpVJ7lxlEk5LyG_og5Sa$ZsAvY&CYveJ3WlQ=(aqzr(|MQUstRAP8g_jwDeS}U)Qca zpR#`08#cuGe_YMU+IM))^^2;AxeiScd)}7oe-&gpe3xm_RLj?VjMDf#+$3SKvHmu4 zrziZ11sIIxTdb4`Ve1DPL9>YgMMFq~QSGfElp*p1RYjy7XU>E^j$=3OJ^oB042f@j z`fzVQI&3xlF6M2zDXXX)R3JLj_b@8dyu6qo@v}Z65`Ga^vFYoSx-#fG!1DOmEpKYS zzaVwAA-x@0vu{6Dt5$)`=Ibo?c&6@S#Y@5;sG7=$O)%62)4+&AV#rI_m!6C8A9*om z6<(NT?sWyco6m~1FwS0d6YKzq(Vkbgv7K`^1R#Jtss9f-w2)&J8|DEWa ze3+$GZN%^(SQKTodN<|>nEbe_zIu&J$-DAAYTJw2V*y?A{ba}UGdB&uSBRUp)X{cu z&}M_GfvKkn|KdE2RYWp)A`s!#4KH}%m5Hy5%jfT1o8ML{3`7|lknhmBAC;aswf)&J z+nezfqBMoT{c0rxbl2qx<##U!?uOk;V}%4lB0>ZM$N*S@HU16;IWChYbevp#jz=C> ztsg{9Re@0KG>^V}1Y4d*ub&r8+y>(L*a(x!pYtXG`dwCMDr*5vKHyN4#Nk%g-9hYS z>_)g$yhK9c&kH$hzr}6#A-M4GaT6tF`4-MdmD0~Z&rsLdn18=WK21V`ZQXB2D7tuS zUo{&`YwNqpTYNTD+B_!YC%4`XnZ7)JzZ7Eg*l=^$X00q7oS&bj=+e{dYJB}i{INat zahJ%gp9I|S8~U~uwyvAq^3TD3>+$%aRmE=9L-3*7!Oz2`ajK1g}w5)pRp{>Dl`ac)r;Pmrr_-IdyU?rmMr33%ytmzPX3 z=`#@IH{+(+AZMJ4E6BpHXR@pB3$OAWQ7e`@+*|cDq4xN9F6JXO^(Rg^q$G^$^z_q& zm?qU>BXgwk<00Vf49P+44~>GfATf`i$G>?I>Ln+`D<}qT{jXdci>z0aZcnW!{#I{K zj%LoEX84*ERBAA#ImqhtqX9}(D=CdEXQV1Jco^Ge1osD0ku>WQ$h-L z(ULHqFcU`4XLJbLovghL-}N{M-?;p=y6QNXu*Vf2yv@9jK%Rm&HimGk7&m7|8p>r` z(iieMoKK?ovbx9=p7dd1LGlN#4}dR<$1Vy$J(3(>2w2GbtnfJft#U+o{rvg#Hnthy ze$ckLnEYn))q*KtgTcO?ir>@tJoneulrjX+&V7T%JsKa55~`Dmd>@ziv|MNw1>aKo}cR) zT`w$O;s|Zz88e`J?in(>+^&9YdXL$l*z;Rk^r84Z5nK>(#jM}Z8BAIcXAo!euyvlP zDe=v1#X*x0@MhR_*_-c95ec$nM9D?&?!*KXG)iCo;#;w!LY;Av77epqYif2@al6WA z&oa1=MYuD?E!S(9ZG2B+@aChZD)up%-rRJbE7#Y?u(vnkD=sc0<1Rom)@S(sx2mh4 zy31}WiGS2(a(HH=@RyCZ%xjgr_h4{~bmZE{L2Pv#Ay1v4GfPd;$3?>X#=A}D zYm#6}sUF#8eS7(RlEQ*H!veUi?w6!K~HZT^g< zjoBE1|JQQEUpanJEoWEt;s%W3sY$IBiLo0(^*>2_X_nqaOlUltgq8N_q*hddP1y$i z*X!(SG&HbFuAB-jw^uLoc9)IyU0a=k8-_ZF6GRr$w>m!f;ZvZO@6#&_%0wiAv|&hy zD3S>5Dzxg{8y{$yIxUXJ8AZsxcE1lceFAuReF_SH|H6R?|LkZkJ^P;HBA=w>caytD zkxD)CYuS#HQ6^;)+0G|^>V)Lw*aw#QRkA@HIionF8WSJ}tRf$_KKKWy^H^*ze-wH? z)zJUQi2GP0uy1|?Z+GtrEp3|*JprU5BzOlxyw`uOM`A?5%olDU40UBq0rrOl)7m~u zx_kzN_p*gSrP_oq+Cui)bqx)D@`CJk)+^#lR0n1G!W-|=1H}r&gx=>yO=LEkyiXMT zm1JbHDFd75)@$D%sycB`EkA~hZ;K9PRkN$SnJSsC0=AA=r2}pfeAcuPGP^0&JwDGg zm|NWK##U8LOwh6Ef3_5D`32b0>AK^CR$4$(76x1?PNp^&$4*$0lc@z&D>)UEQJg=K z_-QO2a9dIzxV}XeqN}0)O5;^r%Hcc8w5j$NZ!KKX%YL0$>fCJ`$UxPNYpe2q9wb^r z(OupAnmAu#P9J$+phozMQw0zD4ol8wP-@aOb7*ijRXE`0M7*5C)!V;Yr>RI#i|Z&F zFQQ@Rn!-+wi{(nsfA@|Zk71JQU@%TTX9h*zv4=AnV=8c474liH!;W17A7G?teYGJ@ zkTdZfR@^<9=ksJ#Upkas`cf%~u!p3#;S-CfCfmn&+UmM; zI3nB7&;{P4Y`6??MKQlOqk=O?Z=-8zLwH9~n^mwi#VR-_4DZC$+Y~($zV?*g?kTbM&4?Z)Wb)|4PR|ztw##jN9K-%jN7HW#fIS zJhS}yK<|v@u~?mwC(FDRedqdtepNv)Ag$B&aCcB;=?79yOF$^Kjcg{*I{gSx^cZe^2rdg zPy$zFZ{6kIkC|!AJBHfv^rg;+(Sg0vEkVbj?QLTIq~!)b+lkTh?E0Jisy*HPSR&!) z)3vP*+xNw-Pg|XVFTd;Gi^f<2PNDIaeKfpY&d=wQb?~RSJS-~Ci#&X%VC=Lp1aN^w^{NNJF)lKBeHJh%nsZ*ywSR`J%Idc@N!_#jget*PlYDj$Z$et1YSiL98FInqf zoX`-LGcn(c?EI1Sy~?$?alORZYQ3F4u273v>f&m3fA+n4-Fk^5d5O_ky!xEgQ$Ris zk3moRCi+&oW`F0hQXTLyNtM;=v&te62HWJfXTdh_#!hn+4}v8LIM>k?5ergQmVK&g z@|AER6X&RN5n;zv-q{%n$Xi2oZ2kPFk2IsIGUT;=Ap!)vMR!0!1Ol3haZ<<5fp~R-ni|bJLy%HNx*R~Y0~$;A5%AQ>{%H>mv7Yjs3YKH zNE&_s{)r#?8`|0#a73o#kmgb!LVxRNIOb+R%Yx?bdcKdO|M!k3ipH9>t{OIoSW+L16-5 zd6IOhI-#F!&tPz35m|(8!hOW1jx_Hd&2`pfKB<@@4+D+d2kx0vpb`|Lw7*fvocq4v zV9-3WFlN(F{wzUV%+{i#ZLrdAvI-V^BiElgJ-bX7Xh3)`Tow&@76Ae)s`Hk3n_{rX zKCiok_rlGVCOljh1-h&KC$a#*ghVzPR7V)zeDiN&VLTS3hR6kc5d$kHqvv-824tPM z`YQ{+>})|Eww8LWZVNY^G@sXVKW(bgGxeami&!;+IZEo-X})MM-VZ6fXG-NGdqaK# zh+SY8XX3KHk?N>PkaO{#cq#3Bnwo{X4MHNOSn zFytftaF+kg8kP53dwy<)eC-Bs3VIqy_?m8@;);uv+J3#ek5I8;By{IyIB? z==j~>MZw_xT0uA{L9qGiaiy_nvXBVj`~5NsnCzCun;E$%HXWQ#^Zd*q@DTa{)g`~I z1-vYyd|cFLX|O~O7j?uf3B5#4DSY?vc5$EBvt!T@K|+&63ytUwyEH$O#ukgvT(~vC zpi}@y$y6TS@F1bdtZe^k=voRn9}_sd4^xRtHRU|7h$AGKzJ;`1rZD|%zL)k=WyxFN z?ff^MkFx%xjYvhFjv#}o3NZUBqxXm62L{PYf17tdTkC`0ua|ud{d2p;&p$)n50N@a zQ*g1$B8#sTd@KSm7))*dT0t&Q1+cCy6lRsXbrIqfyAgDVndgWNYSbx`_!1&Bru1@1 z{B~4sItuBHg(yD}Rf&WIzFwprjvlP8sJIZMx=k$V&dtWVnoGgT`WuvTI9a~_2}`AA zfrYFo-N|U)&4il^SA)|#Nh-eL_qmwR@V}jF<93iy_=P-~+Sv6WzciIhqh8T8c4V5KLZzv=gP@1BnVM)AM>yvh+*2l^*;d<=V0JSfpxYxE+4BPKUmIP!T&aVemxWo;ih5ROqt;{MVL)qlroJq%OTF*j2VGi ziWwGos{2R%_aCw?uOBq?i*~HwtFXOi(_i(&cV@Jl{`29H--3pq6`h=uX`w721z!YO4)%e1{1R z=ba2npN;Y@zbgfn6v$UuI3ul*;49DPqOj1FXKZ8Bn+4Y-J0bD6JBKDrcNeZ+J)67QNy8t78sC>6{GdqznNw>*<(;Wu3_m-+ ze%lb&+1c?qo4WbIl$8oJ#ij1;xBNX1M#yHbu$W`m`Zifwo*0oc0B*KE#l;EZe(hDg(CFP63_e993UvgTk*2i&ZJmIe;nhSps-8knemg(wJCT+TR8(a>-B?EWY>@X*P19AF$ew}%#o&rjC1a9)gOu5rN6pXt7B7-a`r}smcRXAH1Rh%$E=_CU z32EUfghI<|JBGcSQ1?A zMTVnGH%zI5N(w#qoC<2}aT%2kqK)Ddx3RaWR;70@dLJM-{zNgrTQK;+ca$Dd#LkR4 z&kLGulxg&jx3G`7>b?^hbDsv=g^90;vE(N{H3|ST~Sk4p1*3 z5}1gw%B;L(*}q3!X<&xn(uP>M49%)iv!oy=SXy1OE5lG)_V3GItvRkOfe#P&9ctKe zv7`WaX$q*#>w&cDHp9p$N}NO&Y{`VPW(<=*RqU2jc1_16sIf6IuvJpP9{gC|tZYI2 zFo=9@xyFMNVFlW%j`PLNDm5neC`&%9_2OiJNFZd4NsQYF3_wJdIXwhknu=npG&LI4 zP=a>RQV~w-OL#Kokqz=Z*i|0sde|}*n!v_KB90yUcW3OgiiH`ymJi=KUq~p@}=6 z39>g&ir6_R)fyl#qeC3_^AJ#ibAvSHDt75k?nhdg-?`XBD13(X$%(fh>jj938Di4M zNE|1(RB2$-#M{%+6+%NN<>oHtVUsf;nC00xy871e?S(mUTyNkZkqe_oLL-OfPFr=i zYf1yCED{t6X`#s^phbZxfKCG#0Mo^VqaYhQJ4{{(DqZPmt4i_YCy_Cp9FCRZM6@*m ziz6sd1ai!JpGsu}C?;4UJz)>2eynyO5p_(NOcibAF585*$cl|lDFF>px&S%%7fl)R zuMA=m>nOdhrOhi-90WAbIE04`6R@3TlOvze0wy_OY}#FOuQQQs!Y9ViTDIVg#c6-bUB+_m(}L4SQZtBg{QJy zu-i@;QH{~us*&WAI^uF%d)YOT~#-OEd7Q=PA7&v zl%LU1QUur$gNSfs#DZ1?!W2TwTH-4K;L*fkNCPutv5$&ApW1{WNNZ-x)o4;|eXpf- z-s5n>$bmccP1s8;Qq?Z@HNZQ1$uu7T0tiVs1k1zU-P^nF7^E=C*gSAjI?%FWY3*s` zYi#6h>{P4n^23^`!t-ks6$<8@RWJ-GVxWO@wCG5++MhClArV%ZRQ+xK2q$2WGA@8D z1yxK87#iRDy-Bdu#NFL~q=++M`F_}D%Pl2YjNYIh8ZuHI0k0)2sik09cUt*Oz4}jx zzV`|h6BASP!LtN?&Ub7~3TO&J2%7^D!^iPu#o92_eu}A5EF&ESp)Wcx8b$@A-3J-6 zsPsTmNmR&g-agGA($cY9RXPaJ5)r^2&IwgnwNd78043<;UHa4W;|g{2$@=NfhPu+% zQMXA>sY${N{gA!el;;txscI2=-X_|xP8B7#xQ^jRLh7i@Z-JtIhhF}r>P%L$iiyXU zmVLTMK{}Sq1&QWmh4C|%qu&kZWK9c#TX#8b$Sd$rtsx}xDxCW} zM!!=9AAV(ZxxJUJ&yV{C?dgU(2n-@C*ZtzS`;{@7i@R|NuR%Hlyc}LZ-Ac^*()FOe zSHhvBM57Rw5!Z?WjcXj5;xUAJxm0)Q&`QkT@dD5L$V1nlp9SX8DPO{9?Z{E$9 z*d4iABa~qu%2u=kSikRMs45A{K+B2)*plf}QI+YMmC?zgYGYtRXtO3%^UNzJPEiCu zUXjw6!bP;TO#Bgt)8+dS_>t`lmNt&1sIYf@t9mN2(7y4d2QHzz@ zM;uOav75P46M&>!Oo1-4aFPJB5tuYWX&{>_Dg_`AGs?I-Sp=0nkW5{c4v`WEo)(;V z;poz|wvzr1VzG`A3&^jmwCWK=+5h(L@um2ZVTpIiQuP`Yz1w7}l2?sC0Ymi%$2_1u z22pIr)6U59s#%iryQP^qH<#t?_&|{oq43^>eBtV<_A3A3;Wt|bxDshd=(SsDWoFD? za>SNc!AJn5G$edpvC=3{ng~4{>u-HKdh?n>@wT&n2?q?`LmqL;^86q3rH8&k`|0}_ z83NaT`ezF}oCpF#K3odRewyA;1D4LW?)==6tePe%W~?1bYw`&GjN# z%X*xxkn&y6<->$fa$ z37#JGcz4E-_6$Kg0n!R18W2Ld$1jn^K1HS2>1UlF7fu>;fh$NJ(IrDqFh8a(8z6J- zB~1X8EDxc^6 zk_@0KD;)`xfM+0$jO|svI~w{3fvW}iehS7>NH|~EOidA%biuk!vL(2p7h(PT8aMZB zOMgh3HX>y-A)OAiQC)%O^kBL;jQN=>m5iVA}v zG!b-~9A`%xq*|Z8ZQ*_nrlbYh*iVq-D+6Z*Bu7E3jM!+it}(Bf1Tm!EzTOWG%$>)b zD?cT|Z^&3Y|ga=6fG zFm`se-0IvDD5I*MV81o#Wk+DGNR`v3K!7Avn}S>>t%ah<{9f1sPp8S40u@1vAPD{w zqfX<3$Jf9?s#&?~Ut8WWM$iqUuQ!-T@g+GGkS@;#V#r*EP}eyoW@4gF%<^U7n{-o9 ziF8{NTJcRAgGpV0PQCk-Mx0sw^_tO}_#@IyF@pSzL)W=P?V`X?HYrWnd>&LqF;dn3 zkngosN_56$WWPCjD4~_5ks%TTp(26ZpoqUYLciRKg&M$>^t&x;11sAjCZ(njmQIDL zs*r_s=1D(~sE62}zm;n-urPb)4s&@XvENF_IkX%H@ARm!tJGWlVT*S;aHcgmUlPck zcQa@L5yR1g>v1?8{1vC%GCpedR9SoE?d)WJLd&88<%ccg^tV|j6U<8)dpl({hZUur z55);#zqd?h|NJc(t8wHi)db39MaR@05tuFsQz<%BmKY_rv>$ecBaBPK-eotrot$4@ zxk;z{1F8xKN7<=TC{c$J$w=|O0Ax2~%F0j$LW@ZzpT;q)aiKHeD!}mMhT#4nJw|# zyC4zx*F7185oZN$R8q{C6YYD>qq}PHMaq!$HxJ`2j}awb9bE?^`h=h3_4JI2R9Z3D z^8{0ku2DR_o-rL-Vw4&=t|Em_QYQ9OgEVN`6@i!T%|>OfNd_6H5>6K^-|bjXS~jnoN~OP7uhZ^krx|?B-)WP}Z=>Io)I^C`>nX8w zGIbs#CY)L-&=D-8p)YO+YE?jN6|AW6B8XT3Y5KfCWz-XqK`~nS zKE4IUvELzI2SYK*V?lkgX38h3>Pwu#2}Y~pb2q*VIWINfT0L3%h0MUO5s)FEpy%FR z+lH^`V~|DqE{`|1i`f~*Dj3lbE_oP8)-EyP>N6>I_o|q$D`Dp=^+`pG&0c>p82%o* zEROX2DSi}61equAAj=acAl4`XB~+wj^)5CxIt1V4xa>7ssA4USj^yGl`8qY}zX}(* z^WBui9!UdC@D$|RA_tRAGo3~TXRH=xvj4_N!{?x-QFEZv{`!*bBhs%4kKrPTAv?TG zP8fu|poC$D!=<8&ZeIoN5U%=5+B^@6woZ0I4cEsE)paH-Fkh2lhk;fBL4*L6Pg4Kd z9T%lwks(TslcR`41Zpvd0xVf>EE)a@%YZsIOI@mV^at2%2Wt`lx#e1L_2-&IMA%_J z5Au6b4;K%EOU*LHJ=AGR2do1Vl0Z}yA^J|bbd(65IwtfQmgxBki0z8->MUB1Gc0fQ z&SL?a53i@c&z6iOID>%_ww9;UCkaqS1&D$hoAb+av)8SkbDLh_LrQu9pV|ENdTk6= zYD{BDjtNw290bzG={L$m#6V*ryryZd@tQ8Mb3y(b{U+sh8iV?2%*PuOe+qHr3TWcbDQI z5G2pU3QcwV+tHx*IP~L?b%2ZkUeDcGCj?t#0#4x_F`LtFu|kvfZKOCW0vO7g!L-6V zpzf18V2%O0x;?{G7`rQVoYzWVgcQ)*`^Da8|-0HpsBK9q?~dGSWQGo znX?E^vo9fiD09=2E?jwvaSpt7+}m!6%;m6oFWl!v(q%B+!&h^-ZeDvQy+X00S9gnb zbyC|%*Qo830!jpFi)7H%DN%-f6puv}+8$wwZWqojJ*ScCXQC$l4e(NNsRhmn7`&gVQxnsN+X z&skN{$EM~_JuhKwV<-Wds;Y>RlB_&h*+SVesHk#{L5ZT222)inpK91x4JJbm->PVt zQl>86FP!%{UDYC%e|MZ(vWZ7Pa_3O6CvSMfDKjv;UY3*?CTUrvZQ^2ha-`9HC|Ngd zWh-ARMWVAUk8_!tPmC!a(5f3OMjvcFR(BdSDB)qGt|YK)3GcptsGVh!YIV!fd0bPk z$CV_Bm9pSq_ipJjcZr=fVl>HISRzaq$N8m^LCl3eMN`!!GaF6P!0~Bkh>@;ZlV>Qw zV#?#Y29xRRMJp?B{+j*Nw_fS_GG&2SCH8bECbSqG^l3QC`Z@u#xrIIsiyGEhw#v1& znbq|oH}|!Rs;3>7@dU^DE0oY)y~@hUoQsPx5oin`nM@Kic~Q`B`Y6)h%~jG##1uyL z;!gT-t=XNhygPzl$h@M}S1JAJDS!Rw@d*98*PpFiKJh#d_CjqDG-p!(*KEr5U}YTG z<5)a^>0#C;AJW=yACNX*KS3>_ihdno&&FF(Gp)5cbD~jSC(-M`W+cT!oR(h_PX$xB zkz=GBV$9j}*Nup)qojPLTr0c8!zPN6S)k*s++u}DeF0Qk^Y|lfQRBlx#WOCps07}8 zf>0Gk%hjc(@WkNL((`rVcZSPYoK7&6i)=JPFS4XW2*diqMWePGo~V_Z7}tnBnVXfI zDV;jeL>>QOw2wA_+gq)p6fWQDo}1m~$tyDTFN3{0ajU1*VY)X3(6%{O_-Cu+0)ITvBR`?oPxJnCFlDPN?SkkeRK z7|xSPb+u&7G-Mt1cJ@Vd#8pO9Wu}K-<(LE+Bm^q^22&3h{ynz&`c^$+lmY%o#)J}{ zif#zQ@BKd}E;cNq(y*6*CqU=z+BvZ6Fs&f_NUs_jZCu1;O>hb3dqDHqs!s(E9Q|@1 zEprb@!nXIkJn2%mw}pc(&0`(99Hnn;rns(Z3>(FHu+0l0{!&=t__E&jU9;}5?IH)~ z+6ik=U!2j+D@AJqKW(44hKd~PzC&3x(xv_CiuM}r&xV8;wD_VwA<&7&Tp3E%aP?|4 zf1yV_bq^0(T#6OOMp)3IphTpVG4w<$nL0J9#U)uX)tT?o+1GXyqpWRwla!&FUHN1o z^@5p2X*AtuDjnMEgQ}6jjF96GiU~h=Jj0sS2P<{1H=94BW{HDD3%^a)_;u#|*JrFB2 z(KjEGRzyuVgwH5g5lY&TfE~PKm}9)LSbidFf}%)?p(e^y+$8IG^DCMLL?7!pKVo0a z73+URXCL_LKjIbnzv9c!@y)m@V78XFWs{kEm7087!#z`iWv~KGAINP>G-UR7#f=wL zy~R|Wc4fxb9Esl}XAK$q7HV$&arcJlrRV%&hCwuEB?Grr?Ke?c_2zU@iTOw}bnpJ3 zt8Qm}t-%fQqC$TV*;Dq2#@$zNSoBqul#IS+eDy}OZ+b1jP^_4M&)~j5dNA)hBp~o)H-__ts`IQ!4dw}NW;Ht}1u5{XU+nMlgbV!C`Cscf9 zh7IAc>+2+#%E6U8$66tKI#eoJHvQJxhatq`LEFH`o^iknJ`YsbS#dWNp+XXyEjbarW_6-VosH zsr39d-y1z?@DYcT`!t%y()?D3fHTgI2soU|x&4>P|M}c|r84we?s@VB1)|&Zt6u%- ztl1E=KltN?+b_I3ZPUe9JqDRJ@usMAr72fWZ9XrXs$l~awgS9P*rKanC-u?{+;_n0 zzya*jZripxTYvj*DiC|_(|GtjX0t262F7u#4;o)PQbGbgL~5!!=}?cqSN=Pu7z=nj z_SIL!%ms{eCz9i z>YkBOU-x{c2Q=S4IBdBL$piAr%C4z%k`#1be((o;Y*Q$FygzSE(B{Abwwlck#D&}T zQrE5+#vk8~8_#ZToFTTGP(Gik&-9-cJ;1H!g*b0JwZ9+($@>*9Uzh>ust1=On~obx zET1D#ak}m!EhukKT%FG8;`1Ic?q(TYiJk1R8(Q~Bn_ezQ>7b(a_I0_cr-#keFqNs! zb)XTd676m-xOet?aP)Oaza2(H95_trj*-jJN0Dv9oj1;pSR(DyBCVs>jFl=QbIhqa=bB{GlHMoA0jvAt0Ii-_=4}TCD)EJ@1@1loWWiP zzdc#HgS9Jrp3~tQ;xxSdHWG)5^?wg88kL{+SI4rH=zxD|4J-klhYJToxqr@_ zr;n?>eJ0+(vkY-21-)gwzQ?Zp%W>Fr9BLK*JpK6f`4BVLIlZ`$p~~#D$ISB{s(&^gI#LwZwxHISVU}W?Bi!!el1me zes^(0B?TtDhwIDd{h$x`mjBk7Llt+b@W=k@o4^!Sn%>i0eL&ayhR4Gq*Wr;@W~PpBC$dR?Q_KB63$u>XhjaOW?@ZxVvV?khVScR_ z_(oC6tLo9w*t#3P{X~@dy`=AU^785Ld~q+#`ti54&e}r$!s3?(govHqo{dAhMn^}H zf%ad!p-YF#&fc|MpJxY$%S|1F4m*vB+*S(%U$?^;D}}e~mFg

v4q7JFX_7=i;L( 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 AkpKVy literal 0 HcmV?d00001 diff --git a/docs/content/images/size-negotiation/PopupExample.png b/docs/content/images/size-negotiation/PopupExample.png new file mode 100644 index 0000000000000000000000000000000000000000..531622d60d2d55621acaa223a8cf9bb19152e9f4 GIT binary patch literal 35137 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 z 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 N`Z~sUt3b|={}V1L!RG(~ literal 0 HcmV?d00001 diff --git a/docs/content/main-page.h b/docs/content/main-page.h index f742f01..ab76aa7 100644 --- a/docs/content/main-page.h +++ b/docs/content/main-page.h @@ -30,13 +30,16 @@ * \section Constraints * - \link constraints-intro Introduction to Constraints \endlink * + * \section SizeNegotiation Size Negotiation + * - \link size-negotiation Size Negotiation \endlink + * * \section UIControls UI Controls * - \link item-view Item View \endlink * - \link text-view Text View \endlink * - \link text-input Text Input \endlink * - \link scroll-view Scroll View \endlink + * - \link size-negotiation-controls Size Negotiation for Controls \endlink * - \link markup-processor Markup Processor \endlink - * - \link size-negotiation Size Negotiation \endlink * - \link type-registration Type Registration \endlink * - \link properties Properties \endlink * - \link background Background \endlink diff --git a/docs/content/programming-guide/size-negotiation-controls.h b/docs/content/programming-guide/size-negotiation-controls.h new file mode 100644 index 0000000..641da16 --- /dev/null +++ b/docs/content/programming-guide/size-negotiation-controls.h @@ -0,0 +1,256 @@ +/*! \page size-negotiation-controls Size Negotiation for Controls + * +

Overview

+ +This document details how to create controls using the size negotiation API and is intended for UI control writters. For an introduction to +size negotiation please see the Size Negotiation Programming Guide. + +The topics covered are: +- The Relayout Controller +- Resize Policies +- Creating a Control: Popups +- Size Negotiation API +- Creating a Control: TableView + +

The Relayout Controller

+ +

Overview

+The RelayoutController is an object that is private in DALi Core. It's main job is to take relayout requests from actors. +It can be enabled or disabled internally. If disabled, then all relayout requests are ignored. By default the relayout controller is disabled until just after the +initial application initialize. This allows the scene for an application to be created without generating many relayout requests. After the application +has initialized the scene, then the relayout controller is automatically enabled and a relayout request is called on the root of the scene. This request spreads down the scene +hierarchy and requests relayout on all actors that have size negotiation enabled. + +Relayout requests are put in automatically when a property is changed on an actor or a change to the stage hierarchy is made and manual requests are usually not necessary. + +

Resize Policies

+ +In addition to the resize policies detailed in the Size Negotiation Programming Guide there is one additional policy available to control writers: + +- USE_ASSIGNED_SIZE: Tells the actor to use the size that was passed into the size negotiation algorithm for it. This is used in the OnRelayout +method derived from Actor when passing back controls to be negotiated using the container argument to the method. + +

Creating a Control: Popups

+ +

Initialization

+Size negotiation is enabled on controls by default. If a control is desired to not have size negotiation enabled then simply pass in the +NO_SIZE_NEGOTIATION flag into the Control constructor. This will then call SetRelayoutEnabled( false ) on the base class. + +The other step to perform is to set default resize policies for width and height. + +

A Simple Example: Popup

+ +This example shows how to set up a popup for use with size negotiation. The popup contains a layer to raise it above all other controls, +a semi-transparent full-screen backing image to dim the screen, a background image with a shadow border, and buttons that are positioned +and resized by the popup. The following screen shot shows an example popup. + +\image html size-negotiation/PopupExample.png + +The first step is to set the default resize policies. This is done in the OnInitialize method. In the following snippet the popup +is set to have a height resize policy of FIT_TO_CHILDREN. This assumes that the width of the popup will be specified by the user of +the popup and that the desired behaviour is to fit the height of the popup to the size of its content. +@code +void Popup::OnInitialize() +... +Actor self = Self(); +self.SetResizePolicy( FIT_TO_CHILDREN, HEIGHT ); +@endcode +The popup will use a layer to place its content in. The layer is created and specified to fill the whole screen by using the following command. +@code +mLayer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); +@endcode +A half transparent backing image is added to the layer and told to fill the layer with the following. +@code +mBacking.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); +@endcode +The popup control is added to the layer and a background image is specified to fill the size of the popup and add a border by the following. +@code +mBackgroundImage.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); +mBackgroundImage.SetSizeMode( SIZE_FIXED_OFFSET_FROM_PARENT ); +Vector3 border( mPopupStyle->backgroundOuterBorder.x, mPopupStyle->backgroundOuterBorder.z, 0.0f ); +mBackgroundImage.SetSizeModeFactor( border ); +@endcode +A table view is added to the popup to specify layout. It will fill to the width of the popup and expand/contract around its children cell heights. +@code +mPopupLayout.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +mPopupLayout.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); +@endcode +Override the OnRelayout method to position and resize the buttons. The trick to this is that the buttons do not know they are part of a popup and are +about to be resized so could already have had their sizes negotiated. The call to PropagateRelayoutFlags on the button will ensure that it and all +its child dependents are ready for a new size negotiation pass. The container.Add call will add the button to the relayout queue to be processed this frame. +The buttonSize parameter is the desired size for the button. The desired size will only be set if the size policy of the button has already been changed to +USE_ASSIGNED_SIZE, which is what happens when a button is added to the popup. +@code +void Popup::AddButton( Toolkit::Button button ) +... +button.SetResizePolicy( USE_ASSIGNED_SIZE, ALL_DIMENSIONS ); +... + +void Popup::OnRelayout( const Vector2& size, RelayoutContainer& container ) +... +button.SetPosition( buttonPosition ); + +button.PropagateRelayoutFlags(); // Reset relayout flags for relayout +container.Add( button, buttonSize ); +... +@endcode +Another aspect to the popup is that depending which resize policies are active on it then the inner table view requires different resize policies itself. +OnSetResizePolicy can be overridden to receive notice that the resize policy has changed on the control and action can be taken. +@code +void Popup::OnSetResizePolicy( ResizePolicy policy, Dimension dimension ) +... +if( policy == FIT_TO_CHILDREN ) +{ + // Make content fit to children + mPopupLayout.SetResizePolicy( USE_NATURAL_SIZE, dimension ); + if( dimension & HEIGHT ) + { + mPopupLayout.SetFitHeight( 1 ); + } +} +else +{ + mPopupLayout.SetResizePolicy( FILL_TO_PARENT, dimension ); + // Make the content cell fill the whole of the available space + if( dimension & HEIGHT ) + { + mPopupLayout.SetRelativeHeight( 1, 1.0f ); + } +} +@endcode +Popup also implements the following methods for use with the relevant resize policies: +- GetNaturalSize +- GetHeightForWidth +- GetWidthForHeight + +

Size Negotiation API

+ +

Base Class Methods

+ +The base class methods are used to call functionality held in Actor and are defined in CustomActorImpl. + +There is a RelayoutRequest method defined. This method is available for deriving controls to call when they would like themselves to be relaid out. +@code void RelayoutRequest() @endcode + +

Overridable Methods

+These overridable methods in control provide customization points for the size negotiation algorithm. + +

Responding to the Change of Size on a Control

+ +OnRelayout is called during the relayout process at the end of the frame immediately after the new size has been set on the actor. If the actor has calculated +the size of child actors then add them to container with their desired size and set the USE_ASSIGNED_SIZE resize policy on them. +At this point the size of the actor has been calculated so it is a good place to calculate positions of child actors etc. +@code virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ) @endcode + +The OnRelayoutSignal signal is raised after SetSize and OnRelayout have been called during the relayout processing at the end of the frame. If the control is deriving +from Control then the OnRelayout virtual is preferred over this signal. The signal is provided for instance when custom code needs to be run on the +children of an actor that is not a control. +@code OnRelayoutSignalType& OnRelayoutSignal() @endcode + +The OnCalculateRelayoutSize is called right before the size is calculated for an actor's dimension during the size negotiation phase. At this point all other actors this actor is +dependent on have been negotiated so calculations depending on these actors can be performed before the size for this actor is calculated. Useful for container size calculations. +@code virtual void OnCalculateRelayoutSize( Dimension dimension ) @endcode + +OnLayoutNegotiated is called right after the size in a given dimension has been negotiated for an actor. This allows calculations to be performed in response to the change +in a given dimension but before OnRelayout is called. +@code virtual void OnLayoutNegotiated( float size, Dimension dimension ) @endcode + +

Calculating Sizes

+ +Calculate the natural size for this control. This will be called when a control's resize policy is set to USE_NATURAL_SIZE. +For example, TableView will calculated the size of the table given its various cell properties. +@code virtual Vector3 GetNaturalSize() @endcode + +Given an input width return the correct height for this control. This will be called when the resize policy is set to DIMENSION_DEPENDENCY and +height has a dependency on width. +@code virtual float GetHeightForWidth( float width ) @endcode + +Given the input height return the correct width for this control. This will be called when the resize policy is set to DIMENSION_DEPENDENCY and +width has a dependency on height. +@code virtual float GetWidthForHeight( float height ) @endcode + +

Relayout Dependencies

+ +Return true from this method if this control is dependent on any of its children to calculate its own size. All relayout containers that can be dependent on their +children for their own size need to return true from this. +@code virtual bool RelayoutDependentOnChildren( Dimension dimension = ALL_DIMENSIONS ) @endcode + +This will be called by children when they are using the FILL_TO_PARENT resize policy. It is the parent's responsibility to calculate the child's correct size. +@code virtual float CalculateChildSize( const Dali::Actor& child, Dimension dimension ) @endcode + +

Events

+ +OnSetResizePolicy is called when the resize policy is set on an actor. Allows deriving actors to respond to changes in resize policy. +@code virtual void OnSetResizePolicy( ResizePolicy policy, Dimension dimension ) @endcode + +

Creating a Control: TableView

+ +This section demonstrates how size negotiation may be used when creating a table view. + +First we define some policies for how table row and columns may resize. These are: +- Fixed: Use a fixed size +- Relative: Use a ratio size of empty remaining space +- Fill: Fill up to all remaining space, distributing evenly between all "fill" row or columns + +A data structure is defined to hold information for each row and column regarding their cell size policy and their assigned and calculated sizes. + +We need to be able to calculate the fixed sizes of all actors placed into table cells. The place to do this is in OnCalculateRelayoutSize. When +this is called every actor the table view is dependent on has already had their sizes calculated. Calculations can be made that the main calculation +for the actor can then use. +@code +void TableView::OnCalculateRelayoutSize( Dimension dimension ) +... +CalculateRowColumnData(); + +if( dimension & WIDTH ) +{ + CalculateFixedSizes( mColumnData, WIDTH ); + mFixedTotals.width = CalculateTotalFixedSize( mColumnData ); +} + +if( dimension & HEIGHT ) +{ + CalculateFixedSizes( mRowData, HEIGHT ); + mFixedTotals.height = CalculateTotalFixedSize( mRowData ); +} +... +@endcode + +An important override is GetNaturalSize. This will simply return the total sum of the fixed cells for each row and column. +@code +Vector3 TableView::GetNaturalSize() +... +return Vector3( mFixedTotals.width, mFixedTotals.height, 1.0f ); +... +@endcode + +When the time comes to calculate the size of each child in the table cells the following method will be called. +@code +float TableView::CalculateChildSize( const Actor& child, Dimension dimension ) +... +// Use cell data to calculate child size +@endcode + +The table view is dependent on its children if its size policy is set to USE_NATURAL_SIZE or a row or column is set to "fit" an actor. +The following code shows calling the base class RelayoutDependentOnChildren to check the resize policy and then searches for fit row or columns. +@code +bool TableView::RelayoutDependentOnChildren( Dimension dimension ) +{ + if ( Control::RelayoutDependentOnChildren( dimension ) ) + { + return true; + } + + return FindFit( mRowData ) || FindFit( mColumnData ); +} +@endcode + +With the cell sizes already calculated, the job of OnRelayout is to position all the actors in the table view in their respective positions. +@code +void TableView::OnRelayout( const Vector2& size, RelayoutContainer& container ) +... +// Find each actor and position it, taking padding into account +@endcode + +* +*/ diff --git a/docs/content/programming-guide/size-negotiation.h b/docs/content/programming-guide/size-negotiation.h index d53bc39..536a8f8 100644 --- a/docs/content/programming-guide/size-negotiation.h +++ b/docs/content/programming-guide/size-negotiation.h @@ -2,464 +2,275 @@ *

Overview

-Size negotiation provides the ability for controls to be resized without the application having to set a size. -A parent control can resize itself according to its children. Each control can provide hints to using policies for the width and height. -Controls will be relaid just once and only when requested to, rather than relaid out several times when different properties are set. -Using size negotiation avoids the need for using size constraints to resize children, which would need to be calculated in the update -thread every time even minor changes occur. - -This topic covers size policies, deriving from ControlImpl, size policy examples and the size negotiation algorithm. - -

Size Policies

- -Each control has a policy for both width and height: -- Fixed: The size is fixed to the size set by the application. If no size is set, then the size is fixed to the natural size of the control. -- Mininum: The size can grow and shrink but cannot be smaller than the minimum size specified. -- Maximum: The size can grow and shrink but cannot be larger than the maximum size specified. -- Range: The size can grow or shrink but within the minimum and maximum sizes specified. -- Flexible: The size of the control can grow or shrink as required without any limits. - -Currently, by default, controls use a fixed size policy for width and height. If one dimension is set, and the other dimension is set to zero, then the latter -dimension is assumed to have a non fixed policy. - -

Deriving from ControlImpl

- -The size negotiation utilises several methods to work out the best size of a control. The default behaviour is in the ControlImpl class. -The following methods can be overridden. -@code Vector3 GetNaturalSize() @endcode -This method should return the natural size of the control. This can be dependent on the control's children or the control may decide to have a fixed size. - -@code float GetHeightForWidth( float width ) @endcode -This method should return the height it needs to be when given a certain width. - -@code float GetWidthForHeight( float height ) @endcode -This method should return the width it needs to be when given a certain height. - -All these methods can be overridden by deriving classes. This allows each control to dictate what size it would like to be. If you want the default behaviour, -then you do not have to override these methods. A parent control can call the child's methods to determine its size if it needs to. - -

Size Policies and Virtual Methods

- -The table below shows the methods that are called when certain width and height policies are in place. - - - - - - - - - - - - - - - - - -
Fixed HeightHeight Not Fixed (All other policies)
Fixed Width - - Use size set by application - - If only height set by application - - Use height set by application - - Use GetWidthForHeight() for width - - If only width set by application - - Use width set by application - - Use GetHeightForWidth() for height - - If not set, then get size by calling GetNaturalSize() - - - Use width set by application - - Use allocated width if not set - - Ensure it satisfies our width policy - - Adjust if required - - Use GetHeightForWidth() for height - - Ensure height satisfies our height policy - - Adjust if required -
Width Not Fixed (All other policies) - - Use height set by application - - Use allocated height if not set - - Ensure it satisfies our height policy - - Adjust if required - - Use GetWidthForHeight() for width - - Ensure width satisfies our width policy - - Adjust if required - - - Constrain the allocated width and height according to the two policies -
- -

Size Policy Examples

- -

Policy: Fixed Width and Height (1)

- - - - -
-\image html FixedWidthHeight.png - -The application/control has set the following settings: -- SetSize: 200 x 300 -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Fixed -- Height Policy: Fixed -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- None - -Result -- Allocated size: 200 x 300 -
- -

Policy: Fixed Width and Height (2)

- - - - -
-\image html FixedWidthHeight2.png - -The application/control has set the following settings: -- SetSize: 0 x 0 (No size set) -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Fixed -- Height Policy: Fixed -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetNaturalSize() = 400 x 400 - -Result -- Allocated size: 400 x 400 -
- -

Policy: Flexible Width and Height

- - - - -
-\image html FlexibleWidthHeight.png - -The application/control has set the following settings: -- SetSize: 200 x 300 -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Flexible -- Height Policy: Flexible -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- None - -Result -- Allocated size: 480 x 800 (Assume stage size 480 x 800) -
- -

Policy: Fixed Width and Flexible Height (1)

- - - - -
-\image html FixedWidthFlexibleHeight.png - -The application/control has set the following settings: -- SetSize: 200 x 300 -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Fixed -- Height Policy: Flexible -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetHeightForWidth( 200 ) = 200 - -Result -- Allocated size: 200 x 200 -
- -

Policy: Fixed Width and Flexible Height (2)

- - - - -
-\image html FixedWidthFlexibleHeight.png - -The application/control has set the following settings: -- SetSize: 200 x 0 (No height set) -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Fixed -- Height Policy: Flexible -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetHeightForWidth( 200 ) = 200 - -Result -- Allocated size: 200 x 200 -
- -

Policy: Fixed Width and Flexible Height (3)

- -If the control did not have the GetHeightForWidth() method, then the size set is used to calculate the ratio. - - - - -
-\image html FixedWidthFlexibleHeight2.png - -The application/control has set the following settings: -- SetSize: 200 x 0 (No height set) -- Natural Size: 400 x 400 -- Width To Height Ratio: Not set -- Width Policy: Fixed -- Height Policy: Flexible -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetHeightForWidth( 200 ) = 200 (Unable to calculate ratio using size set) - -Result -- Allocated size: 200 x 800 (Allocate entire height) -
- -

Policy: Fixed Width and Flexible Height (4)

- - - - -
-\image html FlexibleWidthHeight.png - -The application/control has set the following settings: -- SetSize: 0 x 0 (No size set) -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Fixed -- Height Policy: Flexible -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetHeightForWidth( 0 ) = 0 - -Result -- Allocated size: 480 x 800 (Allocate entire size) -
- -

Policy: Flexible Width and Fixed Height (1)

- - - - -
-\image html FlexibleWidthFixedHeight.png - -The application/control has set the following settings: -- SetSize: 0 x 300 (No width set) -- Natural Size: 400 x 400 -- Width To Height Ratio: 1 to 1 -- Width Policy: Flexible -- Height Policy: Fixed -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetWidthForHeight( 300 ) = 300 - -Result -- Allocated size: 300 x 300 -
- -

Policy: Flexible Width and Fixed Height (2)

- -If the control did not have the GetWidthForHeight() method, then the size set is used to calculate the ratio. - - - - -
-\image html FlexibleWidthFixedHeight2.png - -The application/control has set the following settings: -- SetSize: 0 x 300 (No width set) -- Natural Size: 400 x 400 -- Width To Height Ratio: Not set -- Width Policy: Flexible -- Height Policy: Fixed -- ParentOrigin: TopLeft -- AnchorPoint: TopLeft - -Control methods called: -- GetWidthForHeight( 300 ) = 0 (Unable to calculate ratio using size set) - -Result -- Allocated size: 480 x 300 (Allocate entire width) -
- -

The Size Negotiation Algorithm

- -

The Algorithm

- --# The algorithm starts at the stage - - All top level controls are found and offered the size of the stage - - The control negotiates the size offered by using the policy rules to determine the size that it should be allocated - - The control is then set to that allocated size --# The control is responsible for setting the sizes of all its children - - Can set a size on an Actor - - Or can call relayout on a Control directly --# Children that a control does not handle, the control can add to a container so that the top-level algorithm delas with it instead - - The control should call Relayout with the child and size of itself as parameters - - - - -
-\image html Algorithm1.png - -\image html Algorithm2.png -
- -

A closer look at Control A

- -Taking a closer look at Control A we see in this example that children should share the width equally and that the height of Control A -is the maximum height of the children. - - - - -
-\image html Algorithm3.png - - - -
-\image html Algorithm4.png -
-
+Size negotiation, also known as layout management, is responsible for allocating sizes to all actors on the stage based on rules of dependency between +the actors. Requests for relayout on actors are collected during the frame with the actual relayout performed at the end of the frame. + +This document details how to use the size negotiation API and is intended for application writters. + +The topics covered are: +- Dimensions +- Resize policies +- Actor +- Debugging + +

Dimensions

+ +The notion of width and height is generalised into the concept of a Dimension. Several methods take a Dimension parameter. + +The Dimension enum specifies the available dimensions as bitfields: +- WIDTH +- HEIGHT + +If a method can process width and height at the same time then the ALL_DIMENSIONS mask can be specified. + +

Resize Policies

+ +

Policies

+The ResizePolicy enum specifies a range of options for controlling the way actors resize. These are powerful rules that enable much automatic +resizing behaviour. They are as following: + +- FIXED: This is the option to use when you want the specific definite size as set by SetPreferredSize +- USE_NATURAL_SIZE: Use this option for objects such as images or text to get their natural size e.g. The dimensions of the image, or the size of the text without wrapping. Also use this on TableViews when the size of the table is dependent on its children. +- FILL_TO_PARENT: Size will fill up to the size of its parent's size, taking a size factor into account to allow proportionate filling +- FIT_TO_CHILDREN: Size will scale around the size of the actor's children. E.g. A popup's height may resize itself around it's contents. +- DIMENSION_DEPENDENCY: This covers rules such as width-for-height and height-for-width. You specify that one dimension depends on another. + +\image html size-negotiation/ResizePolicies.png + +

Actor

+ +This section details how an actor may be used with size negotiation. + +

Enabling Size Negotiation

+ +The first thing to do is to specify whether you want an actor to be included or excluded from the relayout process. The following method is used to enable or disable the relayout +for an individual actor. +@code void SetRelayoutEnabled( bool enabled ) @endcode +Text and image actors have relayout enabled by default, while a plain Actor is disabled. Be aware that if desiring to use an Actor in relayout +then relayout needs to be explicitly enabled first. + +

Specifying Size Policies

+ +The next step is to specify how an actor will be size negotiated. The resize policies for an actor may be specified by the following method: +@code void SetResizePolicy( ResizePolicy policy, Dimension dimension ) @endcode +It is common to specifiy different policies for the different dimensions of width and height to achive different layouts. Different actors have +different resize policies specified by default. For example ImageActors are set to use USE_NATURAL_SIZE. + +The following example code snippet shows rootActor having its width policy set to FILL_TO_PARENT and its height policy set to FIT_TO_CHILDREN. +It has an ImageActor added to it with an explicit call to USE_NATURAL_SIZE in both dimensions called on it. This will make an actor that will +fill up the space of its parent in the width dimension and fit to its child in the height dimension. As the image actor child is using natural size +the height of the root actor will fit to the height of the child image. @code -class ControlA : public Control -{ - ... -private: - // Data - Actor mActorC; // Container to store children - TextView mControlD; // Some text we want to display - ImageActor mActorD; // An image -}; +Actor rootActor = Actor::New(); +rootActor.SetRelayoutEnabled( true ); +rootActor.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +rootActor.SetResizePolicy( FIT_TO_CHILDREN, HEIGHT ); +ImageActor image = ImageActor::New( Image::New( MY_IMAGE_PATH ) ); +image.SetResizePolicy( USE_NATURAL_SIZE, ALL_DIMENSIONS ); +rootActor.Add( image ); @endcode +The following images show the before and after layouts for this code example. + +Before: +\image html size-negotiation/SizeNegotiationExample_Before.png +After: +\image html size-negotiation/SizeNegotiationExample_After.png + +This example shows an actor rootActor set to expand to its parent's width and contract/expand around its child's height. The child image actor +is set to natural size which means it will display at the acutal size of the image. + +To specify that a dimension has a dependency on another dimension use the following method. Calling this method will automatically set the resize policy to be DIMENSION_DEPENDENCY +for the given dimension. +@code void SetDimensionDependency( Dimension dimension, Dimension dependency ) @endcode +For example if dimension is HEIGHT and dependency is WIDTH then there is a height-for-width dependency in effect. The classic use case for this +is a text view that wraps its text. The following example snippet shows a text view that expands its width to the size of its parent, wraps its +contents and then determines its height based on the width. @code -Vector3 ControlA::GetNaturalSize() -{ - // Width is total of ControlD and ActorD - // Height is max of ControlD and ActorD - // Don't care about the Depth - Vector3 naturalSize; // Initialised to (0.0f, 0.0f, 0.0f) - - if ( mControlD ) - { - // We know ControlD is a control, so just ask its natural size - naturalSize = mControlD.GetNaturalSize(); - } - - if ( mActorD ) - { - // We know ActorD is an ImageActor, we can get the image's natural size - Image image = mActorD.GetImage(); - naturalSize.width += image.GetWidth; - naturalSize.height = std::max( naturalSize.height, image.GetHeight() ); - } - - return naturalSize; -} +TextView text = TextView::New( "Example" ); +text.SetMultilinePolicy( SplitByWord ); +text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +text.SetDimensionDependency( HEIGHT, WIDTH ); @endcode -GetHeightForWidth() and GetWidthForHeight() can be created in a similar manner. +

Specifying Sizes and Size Limits

+ +When wanting a specific fixed size for an actor then specify the resize policy to be FIXED and set the desired, or preferred size using the following method. +This method is to be used instead of SetSize when wishing to specify a size for an actor being size negotiated. +@code void SetPreferredSize( const Vector2& size ) @endcode +If only one dimension is FIXED then the other value in the size parameter will be ignored, so it is safe to set it to zero. +To constrain the final negotiated size of an actor, set the following for minimum and maximum sizes respectively. @code -void ControlA::OnRelayout( const Vector2& size, ActorSizeContainer& container ) -{ - // Width to be shared between ControlD and ActorD - Vector2 childSize( size.width * 0.5f, size.height ); - - if ( mActorC ) - { - // ActorC is the same size as ControlA - mActorC.SetSize( size ); - } - - if ( mControlD ) - { - Relayout( mControlD, childSize ); - // Can add more complex calculations to preserve aspect ratio etc. - } - - if ( mActorD ) - { - mActorD.SetSize( childSize ); - // Can add more complex calculations to preserve aspect ratio etc. - } -} +void SetMinimumSize( const Vector2& size ) +void SetMaximumSize( const Vector2& size ) @endcode -The allocated layout is as follows. - - -
-\image html Algorithm8.png -
- -

A closer look at Control B

- -In this example we have the following requirements: -- Control B creates a small border around its children -- Control B just allocates whatever its given to its children (minus the border) -- Actor E is a simple container actor and contains one control (Control E) -- Control B is not aware of the actors it contains - - - - -
-\image html Algorithm9.png - -\image html Algorithm10.png -
+

Altering Negotiated Size

+ +The following method specifies a size mode to use. Use one of: USE_OWN_SIZE, SIZE_RELATIVE_TO_PARENT or SIZE_FIXED_OFFSET_FROM_PARENT. SIZE_RELATIVE_TO_PARENT will +scale the image relative to it's parent size when the resize policy of FILL_TO_PARENT is in effect. While SIZE_FIXED_OFFSET_FROM_PARENT will +add an offset to this parent size, for example when wanting an image to act as a border around its parent. +@code void SetSizeMode( const SizeMode mode ) @endcode + +Use the following with SetSizeMode to specify either the size relative to parent or the fixed offset to apply. +@code void SetSizeModeFactor( const Vector3& factor ) @endcode + +When an actor is required to maintain the aspect ratio of its natural size the following method can be used. This is useful for size negotiating images +to ensure they maintain their aspect ratio while still fitting within the bounds they have been allocated. This can be one of USE_SIZE_SET, FIT_WITH_ASPECT_RATIO +or FILL_WITH_ASPECT_RATIO. The first is the default. The second will fit the actor within the bounds it has been allocated while maintaining aspect ratio. The +third will fill all available space, potentially overflowing its bounds, while maintaining apsect ratio. +@code void SetSizeScalePolicy( SizeScalePolicy policy ) @endcode + +

Using Actors in Containers

+When laying out actors in containers such as TableView it is useful to be able to specify padding that surrounds the actor. E.g. You may +want some white space around an image actor placed in a table cell. The padding specifies the left, right, bottom and top padding values. +@code void SetPadding( const Padding& padding ) @endcode + +

An Example

+ +This section shows a more complex example of how to configure size negotiation. It creates a popup and adds a table view to it with a text view, +an image and a sub-table. The sub-table contains a checkbox and another text view. +@code +mPopup = CreatePopup(); +mPopup.SetTitle( "Warning" ); + +// Content +Toolkit::TableView content = Toolkit::TableView::New( 2, 2 ); +content.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +content.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); +content.SetFitHeight( 0 ); +content.SetFitHeight( 1 ); +content.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 0.0f ) ); + +// Text +Toolkit::TextView text = Toolkit::TextView::New(); +text.SetText( "Do you really want to quit?" ); +text.SetMultilinePolicy( Toolkit::TextView::SplitByWord ); +text.SetWidthExceedPolicy( Toolkit::TextView::Split ); +text.SetLineJustification( Toolkit::TextView::Left ); +text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +text.SetDimensionDependency( HEIGHT, WIDTH ); + +content.AddChild( text, Toolkit::TableView::CellPosition( 0, 0 ) ); + +// Image +ImageActor image = ImageActor::New( ResourceImage::New( IMAGE1 ) ); +image.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +image.SetDimensionDependency( HEIGHT, WIDTH ); +image.SetPadding( Padding( 20.0f, 0.0f, 0.0f, 0.0f ) ); +content.AddChild( image, Toolkit::TableView::CellPosition( 0, 1 ) ); + +// Checkbox and text +Toolkit::TableView root = Toolkit::TableView::New( 1, 2 ); +root.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +root.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); +root.SetFitHeight( 0 ); +root.SetFitWidth( 0 ); +root.SetPadding( Padding( 0.0f, 0.0f, 0.0f, 20.0f ) ); + +Dali::Image unchecked = Dali::ResourceImage::New( CHECKBOX_UNCHECKED_IMAGE ); +Dali::Image checked = Dali::ResourceImage::New( CHECKBOX_CHECKED_IMAGE ); +Toolkit::CheckBoxButton checkBox = Toolkit::CheckBoxButton::New(); +checkBox.SetBackgroundImage( unchecked ); +checkBox.SetSelectedImage( checked ); +checkBox.SetPreferredSize( Vector2( 48, 48 ) ); +checkBox.SetResizePolicy( FIXED, ALL_DIMENSIONS ); + +root.AddChild( checkBox, Toolkit::TableView::CellPosition( 0, 0 ) ); + +Toolkit::TextView text2 = Toolkit::TextView::New(); +text2.SetText( "Don't show again" ); +text2.SetLineJustification( Toolkit::TextView::Left ); +text2.SetPadding( Padding( 20.0f, 0.0f, 0.0f, 10.0f ) ); + +root.AddChild( text2, Toolkit::TableView::CellPosition( 0, 1 ) ); + +content.AddChild( root, Toolkit::TableView::CellPosition( 1, 0, 0, 2 ) ); // Column span 2 + +mPopup.Add( content ); +@endcode + +The resulting popup with additional buttons added is shown below. +\image html size-negotiation/Popup.png + +The key things to pick out from this example are the use of the size negotiation API. +The content table view is set to FILL_TO_PARENT for its width and USE_NATURAL_SIZE for its height. This will result +in the table view expanding its width to fit the available space in the popup while also expanding/contracting its +height based on the size of the contents in its cells. +@code +content.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +content.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); +@endcode +To add a little space around the left, right and bottom of the table view, some padding is added. +@code +content.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 0.0f ) ); +@endcode +The first text view has its width set to FILL_TO_PARENT and its height has a dimension dependency on its width. This +will result in a text view that fills up its width to available space in the table cell and then then calculates its +height based on its new width. The table view will then fit its height taking the height of the text view into account. +@code +text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +text.SetDimensionDependency( HEIGHT, WIDTH ); +@endcode +The image view performs a similar relayout. It fits its width to the size of the cell and calculates its height based on the new +width. Some padding is added to the left of it as well to center it more. @code -void ControlA::OnRelayout( const Vector2& size, ActorSizeContainer& container ) -{ - // Width of children is our size minus border - Vector3 childSize( size.width - mBorder.width * 2.0f, - size.height - mBorder.height * 2.0f ); - - // Our children should be set to the childSize - ActorContainer children( Self().GetChildren() ); - for ( ActorIter iter = children.begin(), endIter = children.end(); - iter != endIter; - ++iter ) - { - Relayout( *iter, childSize, container ); - } -} +image.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +image.SetDimensionDependency( HEIGHT, WIDTH ); +image.SetPadding( Padding( 20.0f, 0.0f, 0.0f, 0.0f ) ); @endcode +The sub table view is similar as well in that it expands its width to the size of its cell. When it is added to the table view it +will span two columns. Its height is set to natural size so that it will grow or shrink based on its children cells. Note that for +a container like table view, USE_NATURAL_SIZE acts in a similar manner to FIT_TO_CHILDREN in that the size of the container could +grow or shrink based on the sizes of the child actors. +@code +root.SetResizePolicy( FILL_TO_PARENT, WIDTH ); +root.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); +@endcode +The checkbox is set to have a fixed size. +@code +checkBox.SetResizePolicy( FIXED, ALL_DIMENSIONS ); +@endcode +The second text view has not specified a resize policy so will use its default of USE_NATURAL_SIZE. + +

Debugging

+ +When constructing large scenes using interacting resize policies it is useful to be able to debug the relayout process. The following sections +describe a pitfall to avoid when creating scenes and a way to print debug output about the actors. + +

Infinite Dependency Loops

+Despite the power of the resize rules there is one pitfall to be aware of: infinite dependency loops. The most simplest form of this is +shown by a parent actor with resize policy set to FIT_TO_CHILDREN with a child that has a resize policy of FILL_TO_PARENT. Who should +determine the size in this case? A more complex loop occurs when DIMENSION_DEPENDENCY comes into play. Say a parent has a width policy +of DIMENSION_DEPENDENCY with height and a height policy of FIT_TO_CHILDREN. The parent has a single child with a height policy DIMENSION_DEPENDENCY +with width. If the child's width policy is FILL_TO_PARENT then a loop will occur. These are two simple examples but the loops could occur +over larger spreads of parent child relationships. These loops are detected by the relayout algorithm with the result being that actors will +receive zero sizes. These loops are not common but are still something to watch out for. + +

Inspecting Actor Relayout Properties

+To get a print out of the stage hierarchy before and after negotiation, with a list of actors that were negotiated set the LOG_RELAYOUT_CONTROLLER environment variable to 3,true. + +E.g. On desktop run: + +$ LOG_RELAYOUT_CONTROLLER=3,true dali-demo + +Example output from the logging is as follows: + +PushButton, OKAY_BUTTON - Pos: [185, 0, 0.1] Size: [165, 76, 76], Dirty: (FALSE,FALSE), Negotiated: (TRUE,TRUE), Enabled: TRUE, (0x1649850) -The Relayout method will add ControlB's children to the size negotiation algorithm container where the child's size will be negotiated. Control E's -size will be negotiated with the childSize as the allocation. +The format is as follows: +[Actor type], [Actor name] – Pos:[X, Y, Z] Size[WIDTH, HEIGHT, DEPTH], Dirty:(WIDTH, HEIGHT), Negotiated: (WIDTH, HEIGHT), Enabled: BOOLEAN, (Object address) +- Actor type: The type name of the actor E.g. PushButton +- Actor name: The name set on the actor with SetName(). Useful for debugging. +- Pos: The position of the actor +- Size: The current size of the actor. Check this to see if the actor has been negotiated correctly. +- Dirty: Booleans to say if the width or height has been marked as dirty by the relayout dirty flag propagation algorithm +- Negotiated: Booleans to say if the width or height has been negotiated by the size negotiation algorithm +- Enabled: Boolean to say if the actor is enabled for size negotitation +- Object address: The address of the actor object in memory * */ diff --git a/plugins/dali-script-v8/src/constants/constants-wrapper.cpp b/plugins/dali-script-v8/src/constants/constants-wrapper.cpp index e7c4c16..938e485 100644 --- a/plugins/dali-script-v8/src/constants/constants-wrapper.cpp +++ b/plugins/dali-script-v8/src/constants/constants-wrapper.cpp @@ -202,7 +202,6 @@ const IntegerPair EnumTable[] = { "CULL_FRONT_AND_BACK_FACE", CullFrontAndBack }, { "USE_OWN_SIZE", USE_OWN_SIZE }, - { "SIZE_EQUAL_TO_PARENT", SIZE_EQUAL_TO_PARENT }, { "SIZE_RELATIVE_TO_PARENT", SIZE_RELATIVE_TO_PARENT }, { "SIZE_FIXED_OFFSET_FROM_PARENT", SIZE_FIXED_OFFSET_FROM_PARENT }, -- 2.7.4