Applied min size changes in EditDate & EditTime.
authorSyed Khaja Moinuddin <moinuddin.s@samsung.com>
Wed, 10 Apr 2013 02:29:18 +0000 (11:29 +0900)
committerSyed Khaja Moinuddin <moinuddin.s@samsung.com>
Wed, 10 Apr 2013 04:21:09 +0000 (13:21 +0900)
Signed-off-by: Syed Khaja Moinuddin <moinuddin.s@samsung.com>
Change-Id: Ia6a00dc4d8bffca2ad75b5f0b08840e6b32d4cdc
Signed-off-by: Syed Khaja Moinuddin <moinuddin.s@samsung.com>
src/ui/controls/FUiCtrl_DateTimeBarPresenter.cpp
src/ui/controls/FUiCtrl_EditDatePresenter.cpp
src/ui/controls/FUiCtrl_EditTimePresenter.cpp
src/ui/inc/FUiCtrl_EditDatePresenter.h
src/ui/inc/FUiCtrl_EditTimePresenter.h
src/ui/inc/FUi_ResourceEditDateConfig.h
src/ui/inc/FUi_ResourceEditTimeConfig.h
src/ui/resource/FUi_ResourceEditDateConfig.cpp
src/ui/resource/FUi_ResourceEditTimeConfig.cpp

index 177768e..1d88ba1 100755 (executable)
@@ -406,6 +406,8 @@ _DateTimeBarPresenter::GetItemIndexFromPosition(const FloatPoint& point) const
        int itemIndex = __pDateTimeBarModel->GetFirstDrawnItemIndex();
        _DateTimeBarItem* pItem = __pDateTimeBarModel->GetItemAt(itemIndex);
        float startX = 0.0f;
+       float itemMargin = 0.0f;
+       itemMargin = GetItemMargin();
 
        while (pItem != null)
        {
@@ -421,6 +423,9 @@ _DateTimeBarPresenter::GetItemIndexFromPosition(const FloatPoint& point) const
                        itemBounds.x -= startX;
                }
 
+               itemBounds.x = itemBounds.x - (itemMargin / 2.0f);
+               itemBounds.width = itemBounds.width + itemMargin;
+
                if (itemBounds.Contains(point) == true)
                {
                        return itemIndex;
index 75ee4e9..0b5916c 100644 (file)
@@ -127,7 +127,8 @@ _EditDatePresenter::Initialize(void)
        GET_SHAPE_CONFIG(EDITDATE::TITLE_DATE_MARGIN, __pEditDate->GetOrientation(), titledateMargin);
        GET_SHAPE_CONFIG(EDITDATE::DATE_HEIGHT, __pEditDate->GetOrientation(), dateHeight);
        GET_SHAPE_CONFIG(EDITDATE::TITLE_HEIGHT, __pEditDate->GetOrientation(), __titleBounds.height);
-       GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_WIDTH, __pEditDate->GetOrientation(), __elementWidth);
+
+       CalculateElementWidth();
 
        if (__pEditDate->GetBoundsF().height > editDateHeight)
        {
@@ -526,6 +527,39 @@ _EditDatePresenter::CalculateTouchAreaBounds(void)
        return;
 }
 
+void
+_EditDatePresenter::CalculateElementWidth(void)
+{
+       FloatRectangle bounds;
+       FloatDimension minSize;
+       bounds = __pEditDate->GetBoundsF();
+
+       float elementMinWidth = 0.0f;
+       float width = 0.0f;
+       float minWidth = 0.0f;
+
+       GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_WIDTH, __pEditDate->GetOrientation(), __elementWidth);
+       GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_MIN_WIDTH, __pEditDate->GetOrientation(), elementMinWidth);
+       GET_SHAPE_CONFIG(EDITDATE::WIDTH, __pEditDate->GetOrientation(), width);
+       GET_DIMENSION_CONFIG(EDITDATE::MIN_SIZE, __pEditDate->GetOrientation(), minSize);
+
+       if (bounds.width >= width)
+       {
+               return;
+       }
+
+       if (bounds.width <= minSize.width)
+       {
+               __elementWidth = elementMinWidth;
+       }
+       else if (bounds.width < width && bounds.width > minSize.width)
+       {
+               __elementWidth = __elementWidth - ((__elementWidth - elementMinWidth) / (width - minWidth)) * (width - bounds.width);
+       }
+
+       return;
+}
+
 result
 _EditDatePresenter::DrawTitle(Canvas& canvas)
 {
@@ -588,11 +622,9 @@ _EditDatePresenter::DrawDividers(Canvas& canvas)
 {
        result r = E_SUCCESS;
 
-       float elementWidth = 0.0f;
        float editDateHeight = 0.0f;
        float dateHeight = 0.0f;
 
-       GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_WIDTH, __pEditDate->GetOrientation(), elementWidth);
        GET_SHAPE_CONFIG(EDITDATE::DATE_HEIGHT, __pEditDate->GetOrientation(), dateHeight);
        GET_SHAPE_CONFIG(EDITDATE::HEIGHT, __pEditDate->GetOrientation(), editDateHeight);
 
@@ -609,7 +641,7 @@ _EditDatePresenter::DrawDividers(Canvas& canvas)
 
        FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f);
 
-       bounds.x = elementWidth;
+       bounds.x = __elementWidth;
 
        if (__title.IsEmpty() == false)
        {
@@ -634,7 +666,7 @@ _EditDatePresenter::DrawDividers(Canvas& canvas)
                r = canvas.DrawLine(FloatPoint(bounds.x + 1.0f, bounds.y), FloatPoint(bounds.x + 1.0f, bounds.y + __dividerLineHeight));
                SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
 
-               bounds.x = bounds.x + elementWidth;
+               bounds.x = bounds.x + __elementWidth;
        }
 
        return r;
index 51a6439..ecff9a9 100755 (executable)
@@ -301,13 +301,14 @@ _EditTimePresenter::GetDisplayAreaBoundsFromHoursStyle(_DateTimeId displayBoxId)
        GET_SHAPE_CONFIG(EDITTIME::HEIGHT, __pEditTime->GetOrientation(), bounds.height);
        GET_SHAPE_CONFIG(EDITTIME::COLON_WIDTH, __pEditTime->GetOrientation(), colonWidth);
        GET_SHAPE_CONFIG(EDITTIME::TIME_AMPM_MARGIN, __pEditTime->GetOrientation(), margin);
-       GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), leftMargin);
        GET_SHAPE_CONFIG(EDITTIME::COLON_MARGIN, __pEditTime->GetOrientation(), colonMargin);
        GET_SHAPE_CONFIG(EDITTIME::HOUR_MINUTE_WIDTH, __pEditTime->GetOrientation(), timeElementWidth);
        GET_SHAPE_CONFIG(EDITTIME::AMPM_HEIGHT, __pEditTime->GetOrientation(), amPmHeight);
        GET_SHAPE_CONFIG(EDITTIME::TITLE_TIME_MARGIN, __pEditTime->GetOrientation(), titleTimeMargin);
        GET_SHAPE_CONFIG(EDITTIME::TIME_HEIGHT, __pEditTime->GetOrientation(), timeHeight);
 
+       leftMargin = GetLeftMargin();
+
        if (__pEditTime->GetBoundsF().height > bounds.height)
        {
                bounds.height = __pEditTime->GetBoundsF().height;
@@ -399,7 +400,14 @@ _EditTimePresenter::GetTextWidth(_DateTimeId boxId) const
 void
 _EditTimePresenter::SetTitleBounds(void)
 {
-       GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), __titleBounds.x);
+       if (__pEditTime->GetOrientation() == _CONTROL_ORIENTATION_LANDSCAPE)
+       {
+               GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), __titleBounds.x);
+       }
+       else
+       {
+               __titleBounds.x = GetLeftMargin();
+       }
        GET_SHAPE_CONFIG(EDITTIME::WIDTH, __pEditTime->GetOrientation(), __titleBounds.width);
        GET_SHAPE_CONFIG(EDITTIME::TITLE_HEIGHT, __pEditTime->GetOrientation(), __titleBounds.height);
 
@@ -552,6 +560,40 @@ _EditTimePresenter::CalculateTouchAreaBounds(const FloatRectangle hourBounds, co
        return;
 }
 
+float
+_EditTimePresenter::GetLeftMargin(void) const
+{
+       FloatRectangle bounds;
+       FloatDimension minSize;
+       bounds = __pEditTime->GetBoundsF();
+
+       float leftMargin = 0.0f;
+       float leftMinMargin = 0.0f;
+       float width = 0.0f;
+
+       GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), leftMargin);
+       GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MIN_MARGIN, __pEditTime->GetOrientation(), leftMinMargin);
+       GET_SHAPE_CONFIG(EDITTIME::WIDTH, __pEditTime->GetOrientation(), width);
+
+       GET_DIMENSION_CONFIG(EDITTIME::MIN_SIZE, __pEditTime->GetOrientation(), minSize);
+
+       if (bounds.width >= width)
+       {
+               return leftMargin;
+       }
+
+       if (bounds.width <= minSize.width)
+       {
+               leftMargin = leftMinMargin;
+       }
+       else if (bounds.width < width && bounds.width > minSize.width)
+       {
+               leftMargin = leftMargin - ((leftMargin - leftMinMargin) / (width - minSize.width)) * (width - bounds.width);
+       }
+
+       return leftMargin;
+}
+
 result
 _EditTimePresenter::InitializeTitleObject(void)
 {
@@ -656,15 +698,6 @@ _EditTimePresenter::Draw(void)
                        pReplacementBitmap = __pAmPmBgPressedColorReplacementBitmap;
                        pEffectBitmap = __pAmPmBgEffectPressedBitmap;
                }
-
-               r = DrawResourceBitmap(*pCanvas, ampmBounds, pReplacementBitmap);
-               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
-
-               if (!isCustomBitmap)
-               {
-                       r = DrawResourceBitmap(*pCanvas, ampmBounds, pEffectBitmap);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
-               }
        }
 
        if (GetHour() >= DATETIME_HOUR_MAX_FOR_24NOTATION)
@@ -697,16 +730,26 @@ _EditTimePresenter::Draw(void)
        r = DrawText(*pCanvas, minuteBounds, __minuteString, DATETIME_ID_MINUTE);
        SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
 
+       r = DrawColon(*pCanvas, colonBounds);
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
+
+       CalculateTouchAreaBounds(hourBounds, minuteBounds);
+
        if (__24hours == false)
        {
+               r = DrawResourceBitmap(*pCanvas, ampmBounds, pReplacementBitmap);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+
+               if (!isCustomBitmap)
+               {
+                       r = DrawResourceBitmap(*pCanvas, ampmBounds, pEffectBitmap);
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+               }
+
                r = DrawText(*pCanvas, ampmBounds, __ampmString, DATETIME_ID_AMPM, __amPmTextSize);
                SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
        }
 
-       r = DrawColon(*pCanvas, colonBounds);
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
-
-       CalculateTouchAreaBounds(hourBounds, minuteBounds);
 CATCH:
        delete pCanvas;
 
index 45f4beb..3a414dc 100644 (file)
@@ -99,6 +99,7 @@ private:
        _DateTimeId GetBoxIdFromPosition(const Tizen::Graphics::FloatPoint& point) const;
 
        void CalculateTouchAreaBounds(void);
+       void CalculateElementWidth(void);
 
 private:
        _DateTimeModel* __pEditDateTimeModel;
index ae204d7..a8f5f12 100644 (file)
@@ -100,6 +100,7 @@ private:
        result LoadResource(void);
        result DrawResourceBitmap(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::FloatRectangle& bounds, Tizen::Graphics::Bitmap* pBitmap);
        void CalculateTouchAreaBounds(const Tizen::Graphics::FloatRectangle hourBounds, const Tizen::Graphics::FloatRectangle minuteBounds);
+       float GetLeftMargin(void) const;
 
 private:
        _DateTimeModel* __pEditDateTimeModel;
index f6f5d3a..aaebbb5 100755 (executable)
@@ -43,8 +43,9 @@ DECLARE_UI_CONFIG(EDITDATE);
        DECLARE_SHAPE_CONFIG(ITEM_DIVIDER_HEIGHT,9);
        DECLARE_SHAPE_CONFIG(TITLE_DATE_MARGIN,10);
        DECLARE_SHAPE_CONFIG(DATE_BAR_MARGIN,11);
+       DECLARE_SHAPE_CONFIG(TEXT_ELEMENT_MIN_WIDTH,12);
        DECLARE_FIXED_VALUE_CONFIG(ITEM_DIVIDER_WIDTH,1);
        DECLARE_DIMENSION_CONFIG(MIN_SIZE,1);
 DECLARE_END_UI_CONFIG(EDITDATE);
 
-#endif //_FUI_RESOURCE_EDIT_DATE_CONFIG_H_
\ No newline at end of file
+#endif //_FUI_RESOURCE_EDIT_DATE_CONFIG_H_
index 9962b6c..1c96da1 100755 (executable)
@@ -61,6 +61,7 @@ DECLARE_UI_CONFIG(EDITTIME);
        DECLARE_SHAPE_CONFIG(COLON_WIDTH,15);
        DECLARE_SHAPE_CONFIG(COLON_MARGIN,16);
        DECLARE_SHAPE_CONFIG(TIME_TEXT_LEFT_MARGIN,17);
+       DECLARE_SHAPE_CONFIG(TIME_TEXT_LEFT_MIN_MARGIN,18);
        DECLARE_DIMENSION_CONFIG(MIN_SIZE,1);
 DECLARE_END_UI_CONFIG(EDITTIME);
 
index c358e5c..069318f 100755 (executable)
@@ -34,27 +34,28 @@ START_UI_CONFIG(EDITDATE);
 
        START_UI_CONFIG_MODE(720x1280);
        {
-               ADD_SHAPE_CONFIG(WIDTH, 720);
+               ADD_SHAPE_CONFIG(WIDTH, 400);
                ADD_SHAPE_CONFIG(HEIGHT, 112);
                ADD_SHAPE_CONFIG(DATE_HEIGHT, 46);
                ADD_SHAPE_CONFIG(TITLE_HEIGHT, 36);
                ADD_SHAPE_CONFIG(DATE_FONT_SIZE, 36);
                ADD_SHAPE_CONFIG(TEXT_FONT_SIZE, 32);
                ADD_SHAPE_CONFIG(DATE_TEXT_LEFT_MARGIN, 20);
-               ADD_SHAPE_CONFIG(TEXT_ELEMENT_WIDTH, 130);
+               ADD_SHAPE_CONFIG(TEXT_ELEMENT_WIDTH, 132);
+               ADD_SHAPE_CONFIG(TEXT_ELEMENT_MIN_WIDTH, 122);
                ADD_FIXED_VALUE_CONFIG(ITEM_DIVIDER_WIDTH, 2);
                ADD_SHAPE_CONFIG(ITEM_DIVIDER_HEIGHT, 42);
                ADD_SHAPE_CONFIG(TITLE_DATE_MARGIN, 5);
                ADD_SHAPE_CONFIG(DATE_BAR_MARGIN, 10);
 
-               ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
+               ADD_DIMENSION_CONFIG(MIN_SIZE, 370, 112);
        }
        END_UI_CONFIG_MODE(720x1280);
 
        START_UI_CONFIG_MODE(1280x720);
        {
-               ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
-               ADD_SHAPE_CONFIG(WIDTH, _SCREEN_HEIGHT_);
+               ADD_DIMENSION_CONFIG(MIN_SIZE, 370, 112);
+               ADD_SHAPE_CONFIG(WIDTH, 730);
                ADD_SHAPE_CONFIG(TEXT_ELEMENT_WIDTH, 242);
        }
        END_UI_CONFIG_MODE(1280x720);
index 6a29b1a..3899a63 100755 (executable)
@@ -47,14 +47,14 @@ START_UI_CONFIG(EDITTIME);
 
        START_UI_CONFIG_MODE(720x1280);
        {
-               ADD_SHAPE_CONFIG(WIDTH, 720);
+               ADD_SHAPE_CONFIG(WIDTH, 292);
                ADD_SHAPE_CONFIG(HEIGHT, 112);
                ADD_SHAPE_CONFIG(TIME_WIDTH, 114);
                ADD_SHAPE_CONFIG(HOUR_MINUTE_WIDTH, 48);
                ADD_SHAPE_CONFIG(TITLE_TIME_MARGIN, 5);
                ADD_SHAPE_CONFIG(TIME_BAR_MARGIN, 10);
                ADD_SHAPE_CONFIG(TIME_HEIGHT, 46);
-               ADD_SHAPE_CONFIG(TIME_AMPM_MARGIN, 24);
+               ADD_SHAPE_CONFIG(TIME_AMPM_MARGIN, 26);
                ADD_SHAPE_CONFIG(AMPM_WIDTH, 106);
                ADD_SHAPE_CONFIG(AMPM_HEIGHT, 56);
                ADD_SHAPE_CONFIG(TITLE_HEIGHT, 36);
@@ -64,14 +64,15 @@ START_UI_CONFIG(EDITTIME);
                ADD_SHAPE_CONFIG(COLON_WIDTH, 12);
                ADD_SHAPE_CONFIG(COLON_MARGIN, 3);
                ADD_SHAPE_CONFIG(TIME_TEXT_LEFT_MARGIN, 20);
-               ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
+               ADD_SHAPE_CONFIG(TIME_TEXT_LEFT_MIN_MARGIN, 10);
+               ADD_DIMENSION_CONFIG(MIN_SIZE, 270, 112);
        }
        END_UI_CONFIG_MODE(720x1280);
 
        START_UI_CONFIG_MODE(1280x720);
        {
-               ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
-               ADD_SHAPE_CONFIG(WIDTH, _SCREEN_HEIGHT_);
+               ADD_DIMENSION_CONFIG(MIN_SIZE, 270, 112);
+               ADD_SHAPE_CONFIG(WIDTH, 516);
                ADD_SHAPE_CONFIG(TIME_WIDTH, 242);
                ADD_SHAPE_CONFIG(TIME_AMPM_MARGIN, 84);
        }