-//
+//
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Flora License, Version 1.0 (the License);
static const int W_RESIZE_LABEL_GAP = 110;
static const int RELATIVE_LAYOUT_ITEM_RIGHT_MARGIN = 140;
-static const int ID_GROUP_DISPLAY = 0;
+static const int BACKLIGHT_TIME_15_SECONDS = 15;
+static const int BACKLIGHT_TIME_30_SECONDS = 30;
+static const int BACKLIGHT_TIME_1_MINUTE = 60;
+static const int BACKLIGHT_TIME_2_MINUTES = 120;
+static const int BACKLIGHT_TIME_5_MINUTES = 300;
+static const int BACKLIGHT_TIME_10_MINUTES = 600;
+
+static const int ID_GROUP_AUTO_ROTATE_SCREEN = 0;
static const int ID_ITEM_AUTO_ROTATE_SCREEN = 0;
-static const int ID_ITEM_FONT = 1;
-static const int ID_GROUP_DISPLAY_MAX_COUNT = 2;
-static const int ID_GROUP_COUNT = 1;
+static const int ID_GROUP_BACKLIGHT_TIME = 1;
+static const int ID_ITEM_BACKLIGHT_TIME = 0;
+
+static const int ID_GROUP_BACKLIGHT_TIME_LIST = 2;
+static const int ID_GROUP_BACKLIGHT_TIME_LIST_ITEM_COUNT = 6;
+static const int ID_ITEM_BACKLIGHT_TIME_15_SECONDS = 0;
+static const int ID_ITEM_BACKLIGHT_TIME_30_SECONDS = 1;
+static const int ID_ITEM_BACKLIGHT_TIME_1_MINUTE = 2;
+static const int ID_ITEM_BACKLIGHT_TIME_2_MINUTES = 3;
+static const int ID_ITEM_BACKLIGHT_TIME_5_MINUTES = 4;
+static const int ID_ITEM_BACKLIGHT_TIME_10_MINUTES = 5;
+
+static const int ID_GROUP_FONT = 3;
+static const int ID_ITEM_FONT = 0;
+
+static const int ID_GROUP_DISPLAY_MAX_COUNT = 6;
+static const int ID_GROUP_DEFAULT_ITEM_COUNT = 1;
+
+static const int ID_GROUP_COUNT = 4;
static const int ID_GROUP_MAX_ITEM_COUNT = ID_GROUP_DISPLAY_MAX_COUNT;
DisplayForm::DisplayForm(void)
bool autoRotation = false;
if (SettingInfo::GetValue(SETTING_INFO_KEY_SCREEN_ROTAION_AUTO, autoRotation) == E_SUCCESS)
{
- __pTableView->SetItemChecked(ID_GROUP_DISPLAY, ID_ITEM_AUTO_ROTATE_SCREEN, autoRotation);
+ __pTableView->SetItemChecked(ID_GROUP_AUTO_ROTATE_SCREEN, ID_ITEM_AUTO_ROTATE_SCREEN, autoRotation);
}
+ __pTableView->SetItemChecked(ID_GROUP_BACKLIGHT_TIME_LIST, GetBackLightTimeIndex(), true);
+ __pTableView->CollapseGroup(ID_GROUP_BACKLIGHT_TIME_LIST);
}
void
int
DisplayForm::GetItemCount(int groupIndex)
{
- int itemCount = ID_GROUP_MAX_ITEM_COUNT;
+ int itemCount = ID_GROUP_DEFAULT_ITEM_COUNT;
+ if (groupIndex == ID_GROUP_BACKLIGHT_TIME_LIST)
+ {
+ itemCount = ID_GROUP_BACKLIGHT_TIME_LIST_ITEM_COUNT;
+ }
AppLogDebug("GetItemCount %d", itemCount);
return itemCount;
yItemOffset = H_GROUP_INDEX_NO_HELP_TEXT_GAP;
itemHeight = H_GROUP_INDEX_NO_TITLE_DEFAULT;
+ if (groupIndex == ID_GROUP_BACKLIGHT_TIME_LIST)
+ {
+ yItemOffset = 0;
+ itemHeight = 0;
+ }
+
itemRectangle.x = X_GROUP_INDEX_DEFAULT_LABEL;
itemRectangle.y = yItemOffset;
itemRectangle.width = itemWidth;
AppLogDebug("group[%d] index[%d]", groupIndex, itemIndex);
Rectangle itemRectangle;
+ Rectangle subItemRectangle;
TableViewAnnexStyle style = TABLE_VIEW_ANNEX_STYLE_NORMAL;
String itemText;
+ String subText;
Label* pLabel = null;
int fontSize = GetFontSize();
-
+ int leftMargin = 0;
+ int rightMargin = 0;
+ Rectangle detailArrow;
+ Bitmap* pBitmap = null;
+ int itemHeight = 0;
TableViewItem* pItem = new (std::nothrow) TableViewItem();
+
ItemTypeOneLine(itemRectangle);
+ itemHeight = itemRectangle.height;
- switch (itemIndex)
+ switch (groupIndex)
{
- case ID_ITEM_AUTO_ROTATE_SCREEN:
+ case ID_GROUP_AUTO_ROTATE_SCREEN:
{
style = TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING;
itemRectangle.width -= W_RESIZE_LABEL_GAP;
}
break;
- case ID_ITEM_FONT:
+ case ID_GROUP_BACKLIGHT_TIME:
+ {
+ ItemTypeTwoLine(itemRectangle, subItemRectangle,fontSize);
+ itemHeight = (itemRectangle.height + subItemRectangle.height);
+
+ if (__pTableView->IsGroupExpanded(ID_GROUP_BACKLIGHT_TIME_LIST) == false)
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_DETAIL_BUTTON_EXPAND_OPENED);
+ }
+ else
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_DETAIL_BUTTON_EXPAND_CLOSED);
+ }
+
+ itemText = ResourceManager::GetString(L"IDS_ST_BODY_BACKLIGHT_TIME");
+ int index = GetBackLightTimeIndex();
+ subText = GetBackLightTimeIndexString(index);
+ }
+ break;
+
+ case ID_GROUP_BACKLIGHT_TIME_LIST:
+ {
+ style = TABLE_VIEW_ANNEX_STYLE_RADIO;
+ itemText = GetBackLightTimeIndexString(itemIndex);
+ }
+ break;
+
+ case ID_GROUP_FONT:
{
itemText = ResourceManager::GetString(L"IDS_ST_BODY_FONT");
}
RelativeLayout relativeLayout;
relativeLayout.Construct();
- pItem->Construct(relativeLayout, Dimension(itemWidth, H_GROUP_ITEM_DEFAULT), style);
+ pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight), style);
pItem->SetBackgroundColor(COLOR_BG_GROUP_ITEM_DEFAULT);
pLabel = new (std::nothrow) Label();
pItem->AddControl(*pLabel);
- if (style == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING)
- {
- relativeLayout.SetMargin(*pLabel, 0, RELATIVE_LAYOUT_RIGHT_MARGIN_ONOFF_SLIDING, 0, 0);
- }
- else
+ switch (style)
{
- relativeLayout.SetMargin(*pLabel, 0, RELATIVE_LAYOUT_ITEM_RIGHT_MARGIN, 0, 0);
+ case TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING:
+ {
+ rightMargin = RELATIVE_LAYOUT_RIGHT_MARGIN_ONOFF_SLIDING;
+ }
+ break;
+
+ case TABLE_VIEW_ANNEX_STYLE_RADIO:
+ {
+ leftMargin = RELATIVE_LAYOUT_LEFT_MARGIN;
+ rightMargin = RELATIVE_LAYOUT_ITEM_RIGHT_MARGIN;
+ }
+ break;
+
+ default:
+ {
+ rightMargin = RELATIVE_LAYOUT_ITEM_RIGHT_MARGIN;
+ }
+ break;
}
+ relativeLayout.SetMargin(*pLabel, leftMargin, rightMargin, 0, 0);
relativeLayout.SetRelation(*pLabel, *pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
relativeLayout.SetRelation(*pLabel, *pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
+ if (pBitmap)
+ {
+ detailArrow = itemRectangle;
+ detailArrow.y = itemRectangle.y + ((itemHeight - W_DETAIL_ARROW_BUTTON) / DEVIDE_TWO);
+ detailArrow.height = W_DETAIL_ARROW_BUTTON;
+ detailArrow.width = W_DETAIL_ARROW_BUTTON;
+
+ pLabel = new (std::nothrow) Label();
+ pLabel->Construct(detailArrow, L"");
+
+ pLabel->SetBackgroundBitmap(*pBitmap);
+
+ pItem->AddControl(*pLabel);
+ relativeLayout.SetMargin(*pLabel, itemRectangle.x, RELATIVE_LAYOUT_RIGHT_MARGIN_DETAIL_ARROW_BUTTON, 0, 0);
+ relativeLayout.SetRelation(*pLabel, *pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
+
+ pLabel = new (std::nothrow) Label();
+ pLabel->Construct(subItemRectangle, subText);
+ pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ pLabel->SetTextVerticalAlignment(ALIGNMENT_TOP);
+ pLabel->SetTextConfig(FONT_SIZE_SUB_TEXT, LABEL_TEXT_STYLE_NORMAL);
+ pLabel->SetTextColor(COLOR_SUB_TEXT);
+
+ pItem->AddControl(*pLabel);
+ relativeLayout.SetMargin(*pLabel, itemRectangle.x, RELATIVE_LAYOUT_RIGHT_MARGIN, 0, 0);
+ relativeLayout.SetRelation(*pLabel, *pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
+ relativeLayout.SetRelation(*pLabel, *pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
+ }
+
return pItem;
}
AppLogDebug("group[%d] index[%d]", groupIndex, itemIndex);
- switch (itemIndex)
+ switch (groupIndex)
{
- case ID_ITEM_AUTO_ROTATE_SCREEN:
+ case ID_GROUP_AUTO_ROTATE_SCREEN:
{
bool itemSelectStatus = tableView.IsItemChecked(groupIndex, itemIndex);
}
break;
- case ID_ITEM_FONT:
+ case ID_GROUP_BACKLIGHT_TIME:
+ {
+ if (tableView.IsGroupExpanded(ID_GROUP_BACKLIGHT_TIME_LIST) == true)
+ {
+ tableView.CollapseGroup(ID_GROUP_BACKLIGHT_TIME_LIST);
+ }
+ else
+ {
+ tableView.ExpandGroup(ID_GROUP_BACKLIGHT_TIME_LIST);
+ }
+ tableView.RefreshItem(groupIndex, itemIndex, TABLE_VIEW_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ break;
+
+ case ID_GROUP_BACKLIGHT_TIME_LIST:
+ {
+ SetBackLightTime(itemIndex);
+
+ int itemCount = tableView.GetItemCountAt(groupIndex);
+
+ for (int index = 0; index < itemCount; index++)
+ {
+ if (index == itemIndex)
+ {
+ tableView.SetItemChecked(groupIndex, index, true);
+ }
+ else
+ {
+ tableView.SetItemChecked(groupIndex, index, false);
+ }
+ }
+ tableView.RefreshItem(ID_GROUP_BACKLIGHT_TIME, 0, TABLE_VIEW_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ break;
+
+ case ID_GROUP_FONT:
{
SceneManager* pSceneManager = SceneManager::GetInstance();
AppAssert(pSceneManager);
void
DisplayForm::UpdateItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
{
+ int index = 0;
+ String itemText;
+ String subItemText;
+ Label* pLabel = null;
+ Label* pSubLabel = null;
+
+ switch (groupIndex)
+ {
+ case ID_GROUP_BACKLIGHT_TIME:
+ {
+ Bitmap* pBitmap = null;
+ Label* pLabelBitmap = static_cast<Label*>(pItem->GetControl(1));
+ pSubLabel = static_cast<Label*>(pItem->GetControl(2));
+
+ if (__pTableView->IsGroupExpanded(ID_GROUP_BACKLIGHT_TIME_LIST))
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_DETAIL_BUTTON_EXPAND_OPENED);
+ }
+ else
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_DETAIL_BUTTON_EXPAND_CLOSED);
+ }
+ pLabelBitmap->SetBackgroundBitmap(*pBitmap);
+ pLabelBitmap->Invalidate(false);
+
+ index = GetBackLightTimeIndex();
+ subItemText = GetBackLightTimeIndexString(index);
+
+ pSubLabel->SetText(subItemText);
+ pSubLabel->Invalidate(false);
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ Invalidate(true);
}
void
void
DisplayForm::OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
{
+}
+
+int
+DisplayForm::GetBackLightTime(void)
+{
+ int backlightTime = 0;
+
+ result r = SettingInfo::GetValue(SETTING_INFO_KEY_BACKLIGHT_TIME, backlightTime);
+ if (IsFailed(r))
+ {
+ AppLogDebug("GetValue Backlight Time fail [%s]", GetErrorMessage(r));
+ }
+ return backlightTime;
+}
+
+void
+DisplayForm::SetBackLightTime(int itemIndex)
+{
+ int backlightTime = 0;
+ switch (itemIndex)
+ {
+ case ID_ITEM_BACKLIGHT_TIME_15_SECONDS:
+ {
+ backlightTime = BACKLIGHT_TIME_15_SECONDS;
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_30_SECONDS:
+ {
+ backlightTime = BACKLIGHT_TIME_30_SECONDS;
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_1_MINUTE:
+ {
+ backlightTime = BACKLIGHT_TIME_1_MINUTE;
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_2_MINUTES:
+ {
+ backlightTime = BACKLIGHT_TIME_2_MINUTES;
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_5_MINUTES:
+ {
+ backlightTime = BACKLIGHT_TIME_5_MINUTES;
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_10_MINUTES:
+ {
+ backlightTime = BACKLIGHT_TIME_10_MINUTES;
+ }
+ break;
+ }
+
+ result r = SettingInfo::SetValue(SETTING_INFO_KEY_BACKLIGHT_TIME, backlightTime);
+ if (IsFailed(r))
+ {
+ AppLogDebug("SetValue Backlight Time fail [%s]", GetErrorMessage(r));
+ }
+}
+
+int
+DisplayForm::GetBackLightTimeIndex(void)
+{
+ int itemIndex = 0;
+ int backlightTime = GetBackLightTime();
+
+ switch (backlightTime)
+ {
+ case BACKLIGHT_TIME_15_SECONDS:
+ {
+ itemIndex = ID_ITEM_BACKLIGHT_TIME_15_SECONDS;
+ }
+ break;
+
+ case BACKLIGHT_TIME_30_SECONDS:
+ {
+ itemIndex = ID_ITEM_BACKLIGHT_TIME_30_SECONDS;
+ }
+ break;
+
+ case BACKLIGHT_TIME_1_MINUTE:
+ {
+ itemIndex = ID_ITEM_BACKLIGHT_TIME_1_MINUTE;
+ }
+ break;
+
+ case BACKLIGHT_TIME_2_MINUTES:
+ {
+ itemIndex = ID_ITEM_BACKLIGHT_TIME_2_MINUTES;
+ }
+ break;
+
+ case BACKLIGHT_TIME_5_MINUTES:
+ {
+ itemIndex = ID_ITEM_BACKLIGHT_TIME_5_MINUTES;
+ }
+ break;
+
+ case BACKLIGHT_TIME_10_MINUTES:
+ {
+ itemIndex = ID_ITEM_BACKLIGHT_TIME_10_MINUTES;
+ }
+ break;
+ }
+
+ return itemIndex;
+}
+
+Tizen::Base::String
+DisplayForm::GetBackLightTimeIndexString(int itemIndex)
+{
+ String itemText;
+
+ switch (itemIndex)
+ {
+ case ID_ITEM_BACKLIGHT_TIME_15_SECONDS:
+ {
+ itemText = L"15 seconds";
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_30_SECONDS:
+ {
+ itemText = L"30 seconds";
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_1_MINUTE:
+ {
+ itemText = L"1 minute";
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_2_MINUTES:
+ {
+ itemText = L"2 minutes";
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_5_MINUTES:
+ {
+ itemText = L"5 minutes";
+ }
+ break;
+
+ case ID_ITEM_BACKLIGHT_TIME_10_MINUTES:
+ {
+ itemText = L"10 minutes";
+ }
+ break;
+ }
+
+ return itemText;
}
\ No newline at end of file