extentSize = extentSizeMin;
}
- pButton->SetMargin(textMargin, 0.0f, textMargin, 0.0f);
+ pButton->SetMargin(textMargin, 0.0f, textMargin - 1, 0.0f);
pButton->SetBounds(FloatRectangle(0.0f, 0.0f, extentSize, buttonItemHeight));
}
else
return dimension;
}
+int
+_Label::GetTextExtentSize(void) const
+{
+ return _CoordinateSystemUtils::ConvertToInteger(GetTextExtentSizeF());
+}
+
+float
+_Label::GetTextExtentSizeF(void) const
+{
+ float textExtentSize = 0.0f;
+
+ TextObject* pTextObject = __pLabelPresenter->GetTextObject();
+ Font* pFont = __pLabelPresenter->GetFont();
+
+ TextObjectActionType previousActionType = pTextObject->GetAction();
+ TextObjectWrapType previousWrapType = pTextObject->GetWrap();
+ FloatRectangle previousRect = pTextObject->GetBoundsF();
+
+ pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_NONE);
+ pTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_WORD);
+ pTextObject->SetFont(pFont, 0, pTextObject->GetTextLength());
+ pTextObject->Compose();
+
+ textExtentSize = pTextObject->GetTextExtentF(0, pTextObject->GetTextLength()).width;
+
+ pTextObject->SetBounds(previousRect);
+ pTextObject->SetAction(previousActionType);
+ pTextObject->SetWrap(previousWrapType);
+ pTextObject->Compose();
+
+ return textExtentSize;
+}
+
}}} // Tizen::Ui::Controls
float height = 0.0f;
- GET_SHAPE_CONFIG(HEADER::BADGE_HEIGHT_WITH_BUTTON, GetOrientation(), height);
+ GET_SHAPE_CONFIG(HEADER::BADGE_HEIGHT, GetOrientation(), height);
_Label* pBadgeIconLabel = _Label::CreateLabelN();
else
{
bool needToCreateNewIcon = true;
+ float sideMargin = 0.0f;
+
+ GET_SHAPE_CONFIG(HEADER::BADGE_SIDE_MARGIN, GetOrientation(), sideMargin);
if (childCount != 0)
{
pLabel->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
pLabel->SetTextColor(badgeIconTextNormalColor);
- pLabel->SetMargin(10, 0, 5, 0);
+ pLabel->SetMargin(sideMargin, 0.0f, sideMargin, 0.0f);
__pButtonItems[position]->AttachChild(*pLabel);
__pButtonItems[position]->SetChildAlwaysOnTop(*pLabel);
float fontSize = 0.0f;
float height = 0.0f;
float width = 0.0f;
+ float minWidth = 0.0f;
- GET_SHAPE_CONFIG(HEADER::BADGE_HEIGHT_WITH_BUTTON, GetOrientation(), height);
+ GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE, GetOrientation(), fontSize);
+ GET_SHAPE_CONFIG(HEADER::BADGE_HEIGHT, GetOrientation(), height);
+ GET_SHAPE_CONFIG(HEADER::BADGE_MIN_WIDTH, GetOrientation(), minWidth);
- if (number < 10)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE_WITH_BUTTON, GetOrientation(), fontSize);
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_1DIGIT, GetOrientation(), width);
- }
- else if (number < 100)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE_WITH_BUTTON, GetOrientation(), fontSize);
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_1DIGIT, GetOrientation(), width);
- }
- else if (number < 1000)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE_WITH_BUTTON, GetOrientation(), fontSize);
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_2DIGIT, GetOrientation(), width);
- }
- else if (number < 10000)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE_WITH_BUTTON, GetOrientation(), fontSize);
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_2DIGIT, GetOrientation(), width);
- }
- else
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE_WITH_BUTTON_2, GetOrientation(), fontSize);
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_2DIGIT, GetOrientation(), width);
- }
- existingBadgeIcon->SetBounds(FloatRectangle(bounds.width - width, 0, width, height));
existingBadgeIcon->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
Integer tempNumber(number);
existingBadgeIcon->SetText(tempNumber.ToString());
+
+ width = existingBadgeIcon->GetTextExtentSizeF();
+
+ if (width < minWidth)
+ {
+ width = minWidth;
+ }
+
+ width += sideMargin * 2;
+
+ existingBadgeIcon->SetBounds(FloatRectangle(bounds.width - width, 0.0f, width, height));
}
}
}
else
{
+ float sideMargin = 0.0f;
+
+ GET_SHAPE_CONFIG(HEADER::BADGE_SIDE_MARGIN, GetOrientation(), sideMargin);
+
if (__pItems.at(itemIndex)->GetChildCount() == 0)
{
_Label* pLabel = _Label::CreateLabelN();
delete pNumberedBadgeIconEffectBitmap;
}
- pLabel->SetTextHorizontalAlignment(ALIGNMENT_RIGHT);
+ pLabel->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
pLabel->SetTextColor(badgeIconTextNormalColor);
- pLabel->SetMargin(0, 10);
+ pLabel->SetMargin(sideMargin, 0.0f, sideMargin, 0.0f);
__pItems.at(itemIndex)->AttachChild(*pLabel);
__pItems.at(itemIndex)->SetChildAlwaysOnTop(*pLabel);
float fontSize = 0.0f;
float height = 0.0f;
float width = 0.0f;
+ float minWidth = 0.0f;
GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE, GetOrientation(), fontSize);
GET_SHAPE_CONFIG(HEADER::BADGE_HEIGHT, GetOrientation(), height);
+ GET_SHAPE_CONFIG(HEADER::BADGE_MIN_WIDTH, GetOrientation(), minWidth);
- if (number < 10)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_1DIGIT, GetOrientation(), width);
- }
- else if (number < 100)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_2DIGIT, GetOrientation(), width);
- }
- else if (number < 1000)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_3DIGIT, GetOrientation(), width);
- }
- else if (number < 10000)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_4DIGIT, GetOrientation(), width);
- }
- else
+ existingBadgeIcon->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
+
+ Integer tempNumber(number);
+ existingBadgeIcon->SetText(tempNumber.ToString());
+
+ width = existingBadgeIcon->GetTextExtentSizeF();
+
+ if (width < minWidth)
{
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_5DIGIT, GetOrientation(), width);
+ width = minWidth;
}
+ width += sideMargin * 2;
+
existingBadgeIcon->SetBounds(FloatRectangle(bounds.width - width, 0.0f, width, height));
- existingBadgeIcon->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
- Integer tempNumber(number);
- existingBadgeIcon->SetText(tempNumber.ToString());
}
}
Bitmap* pColorReplacedBitmap = null;
Color badgeIconBgNormalColor;
Color badgeIconTextNormalColor;
+ float sideMargin = 0.0f;
GET_BITMAP_CONFIG_N(HEADER::BADGE_ICON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pNumberedBadgeIconBitmap);
+ GET_SHAPE_CONFIG(HEADER::BADGE_SIDE_MARGIN, GetOrientation(), sideMargin);
bool customTheme = IS_CUSTOM_BITMAP(HEADER::BADGE_ICON_BG_NORMAL);
if (customTheme == false)
delete pNumberedBadgeIconEffectBitmap;
}
- __pTitleBadgeIcon->SetTextHorizontalAlignment(ALIGNMENT_RIGHT);
+ __pTitleBadgeIcon->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
__pTitleBadgeIcon->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
__pTitleBadgeIcon->SetTextColor(badgeIconTextNormalColor);
- __pTitleBadgeIcon->SetMargin(0, 10);
+ __pTitleBadgeIcon->SetMargin(sideMargin, 0.0f, sideMargin, 0.0f);
float fontSize = 0.0f;
float height = 0.0f;
float width = 0.0f;
+ float minWidth = 0.0f;
GET_SHAPE_CONFIG(HEADER::BADGE_FONT_SIZE, GetOrientation(), fontSize);
GET_SHAPE_CONFIG(HEADER::BADGE_HEIGHT, GetOrientation(), height);
+ GET_SHAPE_CONFIG(HEADER::BADGE_MIN_WIDTH, GetOrientation(), minWidth);
- if (number < 10)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_1DIGIT, GetOrientation(), width);
- }
- else if (number < 100)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_2DIGIT, GetOrientation(), width);
- }
- else if (number < 1000)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_3DIGIT, GetOrientation(), width);
- }
- else if (number < 10000)
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_4DIGIT, GetOrientation(), width);
- }
- else
- {
- GET_SHAPE_CONFIG(HEADER::BADGE_WIDTH_5DIGIT, GetOrientation(), width);
- }
-
- __pTitleBadgeIcon->SetBounds(FloatRectangle(0.0f, 0.0f, width, height));
__pTitleBadgeIcon->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
Integer tempNumber(number);
__pTitleBadgeIcon->SetText(tempNumber.ToString());
+ width = __pTitleBadgeIcon->GetTextExtentSizeF();
+
+ if (width < minWidth)
+ {
+ width = minWidth;
+ }
+
+ width += sideMargin * 2;
+
+ __pTitleBadgeIcon->SetBounds(FloatRectangle(0.0f, 0.0f, width, height));
+
AttachChild(*__pTitleBadgeIcon);
SetChildAlwaysOnTop(*__pTitleBadgeIcon);
}
float GetRightMarginF(void) const;
float GetBottomMarginF(void) const;
+ int GetTextExtentSize(void) const;
+ float GetTextExtentSizeF(void) const;
+
Tizen::Graphics::FloatDimension GetContentSizeInternalF(bool horizontalMode, bool verticalMode) const;
protected:
DECLARE_SHAPE_CONFIG(TAB_ITEM_FONT_SIZE_3_ITEM, 13);
DECLARE_SHAPE_CONFIG(TAB_ITEM_FONT_SIZE_4_ITEM, 14);
DECLARE_SHAPE_CONFIG(BADGE_FONT_SIZE, 15);
- DECLARE_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON, 16);
- DECLARE_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON_2, 17);
+ //DECLARE_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON, 16);
+ //DECLARE_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON_2, 17);
DECLARE_SHAPE_CONFIG(TITLE_DISPLAY_HEIGHT, 18);
DECLARE_SHAPE_CONFIG(TITLE_TOP_MARGIN_WITH_DESCRIPTION, 19);
DECLARE_SHAPE_CONFIG(TITLE_DISPLAY_HEIGHT_WITH_DESCRIPTION, 20);
DECLARE_SHAPE_CONFIG(DIVIDER_WIDTH, 49);
DECLARE_SHAPE_CONFIG(DIVIDER_HEIGHT, 50);
DECLARE_SHAPE_CONFIG(BADGE_HEIGHT, 51);
- DECLARE_SHAPE_CONFIG(BADGE_HEIGHT_WITH_BUTTON, 52);
- DECLARE_SHAPE_CONFIG(BADGE_WIDTH_1DIGIT, 53);
- DECLARE_SHAPE_CONFIG(BADGE_WIDTH_2DIGIT, 54);
- DECLARE_SHAPE_CONFIG(BADGE_WIDTH_3DIGIT, 55);
- DECLARE_SHAPE_CONFIG(BADGE_WIDTH_4DIGIT, 56);
- DECLARE_SHAPE_CONFIG(BADGE_WIDTH_5DIGIT, 57);
+ //DECLARE_SHAPE_CONFIG(BADGE_HEIGHT_WITH_BUTTON, 52);
+ //DECLARE_SHAPE_CONFIG(BADGE_WIDTH_1DIGIT, 53);
+ //DECLARE_SHAPE_CONFIG(BADGE_WIDTH_2DIGIT, 54);
+ //DECLARE_SHAPE_CONFIG(BADGE_WIDTH_3DIGIT, 55);
+ //DECLARE_SHAPE_CONFIG(BADGE_WIDTH_4DIGIT, 56);
+ //DECLARE_SHAPE_CONFIG(BADGE_WIDTH_5DIGIT, 57);
DECLARE_SHAPE_CONFIG(TITLE_BADGE_ICON_GAP, 58);
DECLARE_SHAPE_CONFIG(TITLE_BADGE_TOP_MARGIN, 59);
DECLARE_SHAPE_CONFIG(HEADER_ITEM_SELECTED_BITMAP_MARGIN, 60);
//DECLARE_SHAPE_CONFIG(TAB_BUTTON_ITEM_TOP_TOUCH_MARGIN, 81);
//DECLARE_SHAPE_CONFIG(TAB_BUTTON_ITEM_RIGHT_TOUCH_MARGIN, 82);
//DECLARE_SHAPE_CONFIG(TAB_BUTTON_ITEM_BOTTOM_TOUCH_MARGIN, 83);
-
+ DECLARE_SHAPE_CONFIG(BADGE_MIN_WIDTH, 84);
+ DECLARE_SHAPE_CONFIG(BADGE_SIDE_MARGIN, 85);
DECLARE_END_UI_CONFIG(HEADER);
ADD_SHAPE_CONFIG(TAB_ITEM_FONT_SIZE_3_ITEM, 30);//720x1280
ADD_SHAPE_CONFIG(TAB_ITEM_FONT_SIZE_4_ITEM, 30);
ADD_SHAPE_CONFIG(BADGE_FONT_SIZE, 26);
- ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON, 20);
- ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON_2, 16);
+ //ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON, 20);
+ //ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON_2, 16);
ADD_SHAPE_CONFIG(TITLE_DISPLAY_HEIGHT, 96);
ADD_SHAPE_CONFIG(TITLE_TOP_MARGIN_WITH_DESCRIPTION, 4);
ADD_SHAPE_CONFIG(DIVIDER_HEIGHT, 48);
ADD_SHAPE_CONFIG(BADGE_HEIGHT, 54);
- ADD_SHAPE_CONFIG(BADGE_HEIGHT_WITH_BUTTON, 45);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_1DIGIT, 50);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_2DIGIT, 64);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_3DIGIT, 78);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_4DIGIT, 92);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_5DIGIT, 106);
+ //ADD_SHAPE_CONFIG(BADGE_HEIGHT_WITH_BUTTON, 45);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_1DIGIT, 50);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_2DIGIT, 64);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_3DIGIT, 78);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_4DIGIT, 92);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_5DIGIT, 106);
+ ADD_SHAPE_CONFIG(BADGE_MIN_WIDTH, 30);
+ ADD_SHAPE_CONFIG(BADGE_SIDE_MARGIN, 12);
ADD_SHAPE_CONFIG(TITLE_BADGE_ICON_GAP, 2);
ADD_SHAPE_CONFIG(TITLE_BADGE_TOP_MARGIN, 3);
ADD_SHAPE_CONFIG(TAB_ITEM_FONT_SIZE_3_ITEM, 30);
ADD_SHAPE_CONFIG(TAB_ITEM_FONT_SIZE_4_ITEM, 30);
ADD_SHAPE_CONFIG(BADGE_FONT_SIZE, 26);
- ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON, 20);
- ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON_2, 16);
+ //ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON, 20);
+ //ADD_SHAPE_CONFIG(BADGE_FONT_SIZE_WITH_BUTTON_2, 16);
ADD_SHAPE_CONFIG(TITLE_DISPLAY_HEIGHT, 91);
ADD_SHAPE_CONFIG(TITLE_TOP_MARGIN_WITH_DESCRIPTION, 7.5);
ADD_SHAPE_CONFIG(DIVIDER_HEIGHT, 48);
ADD_SHAPE_CONFIG(BADGE_HEIGHT, 54);
- ADD_SHAPE_CONFIG(BADGE_HEIGHT_WITH_BUTTON, 45);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_1DIGIT, 50);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_2DIGIT, 64);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_3DIGIT, 78);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_4DIGIT, 92);
- ADD_SHAPE_CONFIG(BADGE_WIDTH_5DIGIT, 106);
+ //ADD_SHAPE_CONFIG(BADGE_HEIGHT_WITH_BUTTON, 45);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_1DIGIT, 50);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_2DIGIT, 64);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_3DIGIT, 78);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_4DIGIT, 92);
+ //ADD_SHAPE_CONFIG(BADGE_WIDTH_5DIGIT, 106);
+ ADD_SHAPE_CONFIG(BADGE_MIN_WIDTH, 30);
+ ADD_SHAPE_CONFIG(BADGE_SIDE_MARGIN, 12);
ADD_SHAPE_CONFIG(TITLE_BADGE_ICON_GAP, 2);
ADD_SHAPE_CONFIG(TITLE_BADGE_TOP_MARGIN, 3);