[Fix for TDIS-5934]Modified UiBuilder related modification for Splitpanel
authorBhavya Kumili <bhavya.k@samsung.com>
Wed, 5 Jun 2013 11:50:31 +0000 (17:20 +0530)
committerBhavya Kumili <bhavya.k@samsung.com>
Wed, 5 Jun 2013 11:50:31 +0000 (17:20 +0530)
Change-Id: I026f55f61ba8334c9be8b27871e3a0f9699d3377

src/ui/controls/FUiCtrl_SplitPanelImpl.cpp

index 567e0db..5698eb5 100644 (file)
@@ -370,7 +370,10 @@ class _SplitPanelMaker
 {
 public:
        _SplitPanelMaker(_UiBuilder* uibuilder)
-               : _UiBuilderControlMaker(uibuilder){};
+               : _UiBuilderControlMaker(uibuilder)
+       {
+               __pTransform = uibuilder->GetTransformer();
+       };
        virtual ~_SplitPanelMaker(void){};
        static _UiBuilderControlMaker*
        GetInstance(_UiBuilder* uibuilder)
@@ -393,6 +396,7 @@ protected:
                float minDividerPosition = 0.0f;
                float maxDividerPosition = 0.0f;
                float dividerPosition = 0.0f;
+               float originalValue = 0.0f;
 
                SplitPanelDividerStyle splitPanelDividerStyle = SPLIT_PANEL_DIVIDER_STYLE_MOVABLE;
                SplitPanelDividerDirection splitPanelDividerDirection = SPLIT_PANEL_DIVIDER_DIRECTION_VERTICAL;
@@ -449,18 +453,39 @@ protected:
                if (pControl->GetElement("minDividerPosition", elementString))
                {
                        minDividerPosition = _CoordinateSystemUtils::ConvertToFloat(elementString);
+
+                       if (__pTransform != null)
+                       {
+                               originalValue = minDividerPosition;
+                               minDividerPosition = __pTransform->Transform(originalValue);
+                       }
+
                        pSplitPanel->SetMinimumDividerPosition(minDividerPosition);
                }
 
                if (pControl->GetElement("maxDividerPosition", elementString))
                {
                        maxDividerPosition = _CoordinateSystemUtils::ConvertToFloat(elementString);
+
+                       if (__pTransform != null)
+                       {
+                               originalValue = maxDividerPosition;
+                               maxDividerPosition = __pTransform->Transform(originalValue);
+                       }
+
                        pSplitPanel->SetMaximumDividerPosition(maxDividerPosition);
                }
 
                if (pControl->GetElement("dividerPosition", elementString))
                {
                        dividerPosition = _CoordinateSystemUtils::ConvertToFloat(elementString);
+
+                       if (__pTransform != null)
+                       {
+                               originalValue = dividerPosition;
+                               dividerPosition = __pTransform->Transform(originalValue);
+                       }
+
                        pSplitPanel->SetDividerPosition(dividerPosition);
                }
 
@@ -517,6 +542,8 @@ protected:
 
                return pSplitPanel;
        }
+private:
+       _ICoordinateSystemTransformer* __pTransform;
 }; // _SplitPanelMaker
 
 _SplitPanelRegister::_SplitPanelRegister(void)