static const int MAX_COUNT_PER_LINE = 5;
static const int MIN_COUNT_PER_LINE = 3;
-static const int MAX_LINE_COUNT = 32;
+static const int MAX_LINE_COUNT = 32; // Only for index of array
namespace Tizen { namespace Ui { namespace Controls
{
SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to add item.");
}
+ r = AdjustItemLayout();
+ if (r != E_SUCCESS)
+ {
+ result rt = __pModel->RemoveItem(__pModel->GetItemCount() - 1);
+ SysTryReturn(NID_UI_CTRL, rt == E_SUCCESS, rt, rt, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+
+ SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to add item.");
+ }
return r;
}
if (r != E_SUCCESS)
{
delete pItem;
- SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to add item.");
+ SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to insert item.");
+ }
+
+ r = AdjustItemLayout();
+ if (r != E_SUCCESS)
+ {
+ result rt = __pModel->RemoveItem(index);
+ SysTryReturn(NID_UI_CTRL, rt == E_SUCCESS, rt, rt, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+
+ SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to insert item.");
}
return E_SUCCESS;
if (r != E_SUCCESS)
{
delete pItem;
- SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to add item.");
+ SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to set item.");
+ }
+
+ r = AdjustItemLayout();
+ if (r != E_SUCCESS)
+ {
+ result rt = __pModel->RemoveItem(index);
+ SysTryReturn(NID_UI_CTRL, rt == E_SUCCESS, rt, rt, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+
+ SysTryReturn(NID_UI_CTRL, false, r, r, "Failed to set item.");
}
return E_SUCCESS;
{
result r = E_SUCCESS;
- AdjustItemLayout();
+ r = AdjustItemLayout();
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
r = CalculateRect();
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
AdjustItemPosition();
return true;
}
-void
+result
_ContextMenuGridPresenter::AdjustItemLayout(void)
{
int itemCount = __pModel->GetItemCount();
{
__layoutSize.width = __itemWidth;
__layoutSize.height = __itemHeight;
- return;
+
+ return E_SUCCESS;
}
bool bitmapOnly = IsLayoutBitmapOnly();
layoutSize = AdjustItemLayoutTabStyle();
}
- FloatDimension screen = _ControlManager::GetInstance()->GetScreenSizeF();
-
- if (__pContextMenu->GetLayout() == _CONTROL_ORIENTATION_LANDSCAPE)
- {
- screen.SetSize(screen.height, screen.width);
- }
-
- int maxHeight = screen.height - __screenTopMargin - __screenBottomMargin - __arrowHeight;
- if (layoutSize.height > maxHeight)
- {
- layoutSize.height = maxHeight;
- }
-
__layoutSize = layoutSize;
+
+ return GetLastResult();
}
Tizen::Graphics::FloatDimension
_ContextMenuGridPresenter::AdjustItemLayoutIconStyle(void)
{
+ ClearLastResult();
+
int countPerLine = 0;
int itemCount = __pModel->GetItemCount();
float itemWidth = __itemWidth + __itemGap;
}
}
+ if (lineCount > __pContextMenu->GetShowItemMaxCount())
+ {
+ SetLastResult(E_MAX_EXCEEDED);
+ }
+
return layoutSize;
}
Tizen::Graphics::FloatDimension
_ContextMenuGridPresenter::AdjustItemLayoutTabStyle(void)
{
+ ClearLastResult();
+
int lineItemCountList[MAX_LINE_COUNT] = {0, };
float lineWidthList[MAX_LINE_COUNT] = {0.0f, };
}
lineWidthList[lineCount - 1] = lineWidth;
- lineItemCountList[lineCount -1] = lineItemCount;
+ lineItemCountList[lineCount - 1] = lineItemCount;
}
// last item
itemIndex += count;
}
+ if (lineCount > __pContextMenu->GetShowItemMaxCount())
+ {
+ SetLastResult(E_MAX_EXCEEDED);
+ }
+
return layoutSize;
}