2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file StPrivacyForm.cpp
19 * @brief This is the implementation file for PrivacyForm class.
22 #include <FSecurity.h>
23 #include "StPrivacyForm.h"
24 #include "StResourceManager.h"
25 #include "StSettingScenesList.h"
28 using namespace Tizen::App::Package;
29 using namespace Tizen::Base;
30 using namespace Tizen::Base::Collection;
31 using namespace Tizen::Base::Utility;
32 using namespace Tizen::Graphics;
33 using namespace Tizen::Security;
34 using namespace Tizen::Ui;
35 using namespace Tizen::Ui::Controls;
36 using namespace Tizen::Ui::Scenes;
38 static const int ID_GROUP_COUNT = 1;
40 PrivacyForm::PrivacyForm(void)
41 : __pPrivacyManager(null)
42 , __privacyPackageList(null)
43 , __pLabelArrayList(null)
47 PrivacyForm::~PrivacyForm(void)
49 if (__pLabelArrayList != null)
51 __pLabelArrayList->RemoveAll(false);
52 delete __pLabelArrayList;
57 PrivacyForm::CreateFooter(void)
59 Footer* pFooter = GetFooter();
62 pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
63 pFooter->AddActionEventListener(*this);
65 SetFormBackEventListener(this);
69 PrivacyForm::OnInitializing(void)
72 __pLabelArrayList = new (std::nothrow) ArrayList();
73 __pLabelArrayList->Construct();
75 result r = InitPrivacyAppPackageList();
78 AppLogDebug("InitPrivacyAppPackageList");
82 CreateHeader(ResourceManager::GetString(L"IDS_COM_BODY_PRIVACY"));
83 UpdateTableViewAndNoContent();
89 PrivacyForm::OnTerminating(void)
91 __pPrivacyManager = null;
93 if (__privacyPackageList != null)
95 __privacyPackageList->RemoveAll(true);
96 delete __privacyPackageList;
97 __privacyPackageList = null;
100 int controlCount = GetControlCount();
101 for (int i = 0; i < controlCount; i++)
103 RemoveControl(GetControl(0));
107 SetFormBackEventListener(null);
112 PrivacyForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
114 AppLogDebug("Enter");
121 result r = InitPrivacyAppPackageList();
124 AppLogDebug("InitPrivacyAppPackageList");
128 if(previousSceneId == IDSCN_PRIVACY_DETAIL)
130 if (__pLabelArrayList != null)
132 __pLabelArrayList->RemoveAll(false);
134 UpdateTableViewAndNoContent();
140 PrivacyForm::InitPrivacyAppPackageList(void)
142 __pPrivacyManager = PrivacyManager::GetInstance();
143 if (__pPrivacyManager == null)
145 AppLogDebug("pPrivacyManager is null");
149 __privacyPackageList = static_cast<ArrayList*>(__pPrivacyManager->GetPrivacyAppPackageListN());
151 if (__privacyPackageList == null)
153 AppLogDebug("__privacyPackageList is null");
160 PrivacyForm::GetDisplayPackageName(int itemIndex)
165 if (__privacyPackageList == null)
170 String packageId = *static_cast<String*>(__privacyPackageList->GetAt(itemIndex));
171 if (packageId.IsEmpty() == true)
173 AppLogDebug("packageId is empty");
177 PackageManager* pPackageManager = PackageManager::GetInstance();
178 if (pPackageManager == null)
180 AppLogDebug("pPackageManager is null");
184 PackageInfo* pPackageInfo = pPackageManager->GetPackageInfoN(packageId);
185 if (pPackageInfo == null)
187 AppLogDebug("pPackageInfo is null. GetDisplayName fail");
190 itemMainText = pPackageInfo->GetDisplayName();
198 PrivacyForm::GetUsedPrivacyService(int itemIndex)
202 if (__privacyPackageList == null)
207 ArrayList* pPrivacyServiceList = static_cast<ArrayList*>(__privacyPackageList->GetAt(itemIndex));
208 if (pPrivacyServiceList == null)
210 AppLogDebug("pPrivacyServiceList is null");
214 String packageId = *static_cast<String*>(__privacyPackageList->GetAt(itemIndex));
216 ArrayList* privacyListInfo = static_cast<ArrayList*>(__pPrivacyManager->GetPrivacyInfoListN(packageId));
217 if (privacyListInfo == null)
219 AppLogDebug("privacyListInfo null");
223 int serviceCount = privacyListInfo->GetCount();
224 for (int index = 0; index < serviceCount; index++)
226 PrivacyInfo* pPrivacyService = static_cast<PrivacyInfo*>(privacyListInfo->GetAt(index));
227 String key = pPrivacyService->GetDisplayName();
229 if (key.IsEmpty() == false)
233 if (index != (serviceCount - 1))
235 result.Append(L", ");
243 PrivacyForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
248 PrivacyForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
250 SceneManager* pSceneManager = SceneManager::GetInstance();
251 AppAssert(pSceneManager);
253 pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
257 PrivacyForm::GetGroupCount(void)
259 AppLogDebug("ENTER");
260 return ID_GROUP_COUNT;
264 PrivacyForm::GetItemCount(int groupIndex)
268 itemCount = GetPackageListCount();
269 AppLogDebug("GetItemCount %d", itemCount);
275 PrivacyForm::CreateGroupItem(int groupIndex, int itemWidth)
277 AppLogDebug("ENTER");
279 int itemHeight = H_GROUP_INDEX_NO_TITLE_DEFAULT;
280 int yItemOffset = H_GROUP_INDEX_HELP_TEXT_TOP_GAP;
281 LabelTextStyle style = LABEL_TEXT_STYLE_NORMAL;
282 Rectangle itemMainRectangle;
284 Label* pLabel = null;
285 int fontSize = GetFontSize();
287 TableViewGroupItem* pItem = new (std::nothrow) TableViewGroupItem();
289 yItemOffset = H_GROUP_INDEX_NO_HELP_TEXT_GAP;
290 itemHeight = H_GROUP_INDEX_NO_TITLE_DEFAULT;
292 itemMainRectangle.x = X_GROUP_ITEM_DEFAULT_LABEL;
293 itemMainRectangle.y = yItemOffset;
294 itemMainRectangle.width = itemWidth;
295 itemMainRectangle.height = itemHeight;
297 RelativeLayout relativeLayout;
298 relativeLayout.Construct();
300 pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight));
301 pItem->SetBackgroundColor(COLOR_BG_GROUP_INDEX_DEFAULT);
303 pLabel = new (std::nothrow) Label();
304 pLabel->Construct(itemMainRectangle, groupText);
305 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
306 pLabel->SetTextVerticalAlignment(ALIGNMENT_TOP);
307 pLabel->SetTextConfig(fontSize, style);
308 pLabel->SetTextColor(COLOR_HELP_TEXT_TYPE_01);
310 pItem->AddControl(pLabel);
311 relativeLayout.SetMargin(*pLabel, itemMainRectangle.x, RELATIVE_LAYOUT_RIGHT_MARGIN, 0, 0);
312 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
313 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
314 pItem->SetEnabled(false);
320 PrivacyForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
322 AppLogDebug("group[%d] index[%d]", groupIndex, itemIndex);
324 Rectangle itemMainRectangle;
325 Rectangle itemSubRectangle;
326 TableViewAnnexStyle style = TABLE_VIEW_ANNEX_STYLE_NORMAL;
329 String fontReturnValue;
330 Label* pLabel = null;
332 int fontSize = GetFontSize();
333 int itemHeight = H_GROUP_ITEM_DEFAULT;
334 Rectangle detailArrow;
336 itemMainText = GetDisplayPackageName(itemIndex);
337 itemSubText = GetUsedPrivacyService(itemIndex);
339 ItemTypeTwoLine(itemMainRectangle, itemSubRectangle, fontSize);
340 itemHeight = (itemMainRectangle.height + itemSubRectangle.height);
342 RelativeLayout relativeLayout;
343 relativeLayout.Construct();
345 TableViewItem* pItem = new (std::nothrow) TableViewItem();
347 pItem->Construct(relativeLayout, Dimension(itemWidth, itemHeight), style);
348 pItem->SetBackgroundColor(COLOR_BG_GROUP_ITEM_DEFAULT);
350 pLabel = new (std::nothrow) Label();
351 itemMainRectangle.width = itemMainRectangle.width + TWO_LINE_ITEM_WIDTH_GAP;
352 pLabel->Construct(itemMainRectangle, itemMainText);
353 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
354 pLabel->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
355 pLabel->SetTextColor(COLOR_MAIN_TEXT);
356 pLabel->AddTouchEventListener(*this);
358 String labelName = L"LABEL_MAIN_";
359 labelName.Append(itemIndex);
360 pLabel->SetName(labelName);
361 pItem->AddControl(pLabel);
362 relativeLayout.SetMargin(*pLabel, itemMainRectangle.x, 0, 0, 0);
363 relativeLayout.SetRelation(*pLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
365 String itemName = L"ITEM_";
366 itemName.Append(itemIndex);
367 pItem->SetName(itemName);
368 pItem->AddFocusEventListener(*this);
371 labelName = L"LABEL_SUB_";
372 labelName.Append(itemIndex);
373 Label* pSecondLabel = new (std::nothrow) Label();
374 pSecondLabel->Construct(itemSubRectangle, itemSubText);
375 pSecondLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
376 pSecondLabel->SetTextVerticalAlignment(ALIGNMENT_TOP);
377 pSecondLabel->SetTextConfig(FONT_SIZE_SUB_TEXT, LABEL_TEXT_STYLE_NORMAL);
378 pSecondLabel->SetTextColor(COLOR_SUB_TEXT);
379 pSecondLabel->AddTouchEventListener(*this);
380 pSecondLabel->SetName(labelName);
381 __pLabelArrayList->Add(pSecondLabel);
382 pItem->AddControl(pSecondLabel);
383 relativeLayout.SetMargin(*pSecondLabel, itemSubRectangle.x, 0, 0, 0);
384 relativeLayout.SetRelation(*pSecondLabel, pItem, RECT_EDGE_RELATION_LEFT_TO_LEFT);
385 relativeLayout.SetRelation(*pSecondLabel, pItem, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
387 pItem->AddKeyEventListener(*this);
388 AppLog("Exit group[%d] index[%d]", groupIndex, itemIndex);
393 PrivacyForm::DeleteGroupItem(int groupIndex, TableViewGroupItem* pItem)
395 AppLogDebug("ENTER");
404 PrivacyForm::DeleteItem(int groupIndex, int itemIndex, TableViewItem* pItem)
406 AppLogDebug("ENTER");
415 PrivacyForm::OnGroupedTableViewItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
417 AppLogDebug("group[%d] index[%d]", groupIndex, itemIndex);
419 SceneManager* pSceneManager = SceneManager::GetInstance();
420 AppAssert(pSceneManager);
422 ArrayList* pPrivacyServiceData = new (std::nothrow) ArrayList(SingleObjectDeleter);
423 pPrivacyServiceData->Construct();
425 Label* firstLineLabel = static_cast<Label*>(pItem->GetControl(0));
426 Label* secondLineLabel = static_cast<Label*>(pItem->GetControl(1));
428 String packageId = *static_cast<String*>(__privacyPackageList->GetAt(itemIndex));
429 pPrivacyServiceData->Add(new (std::nothrow) String(packageId));
433 pPrivacyServiceData->Add(new (std::nothrow) String(firstLineLabel->GetText()));
438 pPrivacyServiceData->Add(new (std::nothrow) String(secondLineLabel->GetText()));
441 pSceneManager->GoForward(ForwardSceneTransition(IDSCN_PRIVACY_DETAIL, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pPrivacyServiceData);
445 PrivacyForm::GetDefaultGroupItemHeight(void)
447 return H_GROUP_INDEX_NO_TITLE_DEFAULT;
451 PrivacyForm::GetDefaultItemHeight(void)
453 return H_GROUP_ITEM_DEFAULT;
457 PrivacyForm::UpdateGroupItem(int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem)
459 AppLogDebug("ENTER");
461 LabelTextStyle style = LABEL_TEXT_STYLE_NORMAL;
462 Rectangle itemMainRectangle = pItem->GetBounds();
463 int fontSize = GetFontSize();
464 Rectangle pLabelBounds;
466 itemMainRectangle.width = GetClientAreaBounds().width;
467 pItem->SetBounds(itemMainRectangle);
468 pItem->SetBackgroundColor(COLOR_BG_GROUP_INDEX_DEFAULT);
470 Label* pLabel = static_cast<Label*>(pItem->GetControl(0));
471 pLabelBounds = pLabel->GetBounds();
472 pLabelBounds.width = GetClientAreaBounds().width;
473 pLabel->SetBounds(pLabelBounds);
474 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
475 pLabel->SetTextVerticalAlignment(ALIGNMENT_TOP);
476 pLabel->SetTextConfig(fontSize, style);
477 pLabel->SetTextColor(COLOR_HELP_TEXT_TYPE_01);
479 pLabel->Invalidate(false);
480 pItem->Invalidate(false);
481 pItem->SetEnabled(false);
485 PrivacyForm::UpdateItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
487 AppLogDebug("group[%d] index[%d]", groupIndex, itemIndex);
489 Rectangle itemMainRectangle;
490 Rectangle itemSubRectangle;
493 Rectangle itemRectangle = pItem->GetBounds();
495 int fontSize = GetFontSize();
496 int itemHeight = H_GROUP_ITEM_DEFAULT;
497 Rectangle detailArrow;
499 itemMainText = GetDisplayPackageName(itemIndex);
500 itemSubText = GetUsedPrivacyService(itemIndex);
502 ItemTypeTwoLine(itemMainRectangle, itemSubRectangle, fontSize);
503 itemHeight = (itemMainRectangle.height + itemSubRectangle.height);
505 itemRectangle.width = GetClientAreaBounds().width;
506 itemRectangle.height = itemHeight;
507 pItem->SetBounds(itemRectangle);
508 pItem->SetBackgroundColor(COLOR_BG_GROUP_ITEM_DEFAULT);
510 Label* pLabel = static_cast<Label*>(pItem->GetControl(0));
511 itemMainRectangle = pLabel->GetBounds();
512 itemMainRectangle.width = GetClientAreaBounds().width;
513 pLabel->SetBounds(itemMainRectangle);
514 pLabel->SetText(itemMainText);
515 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
516 pLabel->SetTextConfig(fontSize, LABEL_TEXT_STYLE_NORMAL);
517 pLabel->SetTextColor(COLOR_MAIN_TEXT);
518 pLabel->Invalidate(false);
520 pLabel = static_cast<Label*>(pItem->GetControl(1));
521 itemSubRectangle = pLabel->GetBounds();
522 itemSubRectangle.width = GetClientAreaBounds().width;
523 pLabel->SetBounds(itemSubRectangle);
524 pLabel->SetText(itemSubText);
525 pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
526 pLabel->SetTextVerticalAlignment(ALIGNMENT_TOP);
527 pLabel->SetTextConfig(FONT_SIZE_SUB_TEXT, LABEL_TEXT_STYLE_NORMAL);
528 pLabel->SetTextColor(COLOR_SUB_TEXT);
529 pLabel->Invalidate(false);
531 pItem->Invalidate(false);
535 PrivacyForm::OnGroupedTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated)
540 PrivacyForm::OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
545 PrivacyForm::GetPackageListCount(void)
547 if (__privacyPackageList == null)
549 AppLogDebug("__privacyPackageList is null");
553 return __privacyPackageList->GetCount();
557 PrivacyForm::UpdateTableViewAndNoContent(void)
559 bool createTableView = false;
560 if (__pTableView != null)
562 if (GetPackageListCount() != 0)
564 __pTableView->UpdateTableView();
570 if (GetPackageListCount() != 0)
572 createTableView = true;
576 if (__pTableView != null)
578 int tableViewControlCount = __pTableView->GetControlCount();
579 for (int i = 0; i < tableViewControlCount; i++)
581 __pTableView->RemoveControl(__pTableView->GetControl(i));
592 __pTableView->UpdateTableView();
596 Label* pLabel = static_cast<Label*>(this->GetControl(NO_CONTENTS, false));
599 Rectangle clientRect = GetClientAreaBounds();
600 Bitmap* pBitmp = ResourceManager::GetBitmapN(IDB_NO_CONTENTS);
602 int bitmapWidth = pBitmp->GetWidth();
603 int bitmapHeight = pBitmp->GetHeight();
604 String labelText = ResourceManager::GetString(L"IDS_ST_BODY_NO_CONTENT");
605 Color textColor = COLOR_HELP_TEXT_TYPE_03_NORMAL;
606 int noContentTextHeight = GetHeightForStringArea(labelText, bitmapWidth, 32);
608 int xPos = (clientRect.width / LINE_COUNT_2) - (bitmapWidth / DIVIDE_BY_TWO);
609 int yPos = (clientRect.height / LINE_COUNT_2) - ((bitmapHeight + noContentTextHeight) / DIVIDE_BY_TWO);
611 Label* pLabel = new (std::nothrow) Label();
612 pLabel->Construct(Rectangle(xPos, yPos, bitmapWidth, bitmapHeight), L"");
613 pLabel->SetName(NO_CONTENTS);
614 pLabel->SetBackgroundBitmap(*pBitmp);
616 yPos = yPos + bitmapHeight;
618 Label* pLabelNoContents = new (std::nothrow) Label();
619 pLabelNoContents->Construct(Rectangle(0, yPos, clientRect.width, noContentTextHeight), L"");
620 pLabelNoContents->SetName(NO_CONTENTS_TEXT);
621 pLabelNoContents->SetTextColor(textColor);
622 pLabelNoContents->SetText(labelText);
625 AddControl(pLabelNoContents);
631 PrivacyForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
634 Label* pLabel = static_cast<Label*>(this->GetControl(NO_CONTENTS, false));
637 Rectangle clientRect = GetClientAreaBounds();
638 Rectangle labelBound = pLabel->GetBounds();
640 int xPos = (clientRect.width / LINE_COUNT_2) - (labelBound.width / LINE_COUNT_2);
641 int yPos = (clientRect.height / LINE_COUNT_2) -(labelBound.height / LINE_COUNT_2);
643 pLabel->SetBounds(Rectangle(xPos, yPos, labelBound.width, labelBound.height));
644 yPos = yPos + pLabel->GetBounds().height;
645 Label* pTextLabel = static_cast<Label*>(this->GetControl(NO_CONTENTS_TEXT, false));
646 if (pTextLabel != null)
648 pTextLabel->SetBounds(Rectangle(0, yPos, clientRect.width, pTextLabel->GetBounds().height));
653 __pTableView->RefreshAllItems();
658 PrivacyForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
660 AppLog("Enter %ls", source.GetName().GetPointer());
661 SetLabelColor(source.GetName(), COLOR_SUB_TEXT);
665 PrivacyForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
667 AppLog("Enter %ls", source.GetName().GetPointer());
668 SetLabelColor(source.GetName(), Color::GetColor(COLOR_ID_WHITE).GetRGB32());
672 PrivacyForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
674 AppLog("Enter %ls", source.GetName().GetPointer());
675 SetLabelColor(source.GetName(), COLOR_SUB_TEXT);
679 PrivacyForm::OnTouchCanceled(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
681 AppLog("Enter %ls", source.GetName().GetPointer());
682 SetLabelColor(source.GetName(), COLOR_SUB_TEXT);
686 PrivacyForm::OnKeyPressed(const Tizen::Ui::Control& source, Tizen::Ui::KeyCode keyCode)
688 AppLog("Enter %ls", source.GetName().GetPointer());
689 if(keyCode == KEY_ENTER)
691 SetLabelColor(source.GetName(), Color::GetColor(COLOR_ID_WHITE).GetRGB32());
696 PrivacyForm::OnKeyReleased(const Tizen::Ui::Control& source, Tizen::Ui::KeyCode keyCode)
698 AppLog("Enter %ls", source.GetName().GetPointer());
699 if(keyCode == KEY_ENTER)
701 SetLabelColor(source.GetName(), COLOR_SUB_TEXT);
706 PrivacyForm::OnKeyLongPressed(const Tizen::Ui::Control& source, Tizen::Ui::KeyCode keyCode)
711 PrivacyForm::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
714 if (requestId == REFRESH_REQUEST_EVENT)
717 InitPrivacyAppPackageList();
718 if (__pLabelArrayList != null)
720 __pLabelArrayList->RemoveAll(false);
722 UpdateTableViewAndNoContent();
727 PrivacyForm::OnFocusLost(const Tizen::Ui::Control& source)
729 AppLog("Enter %ls", source.GetName().GetPointer());
730 SetLabelColor(source.GetName(), COLOR_SUB_TEXT);
734 PrivacyForm::OnFocusGained(const Tizen::Ui::Control& source)
740 PrivacyForm::SetLabelColor(Tizen::Base::String sourceName, const unsigned int color)
744 String source = sourceName;
747 source.IndexOf(L"_", 0, index);
748 source.SubString(0, index, temp_number);
749 Integer::Parse(temp_number, index);
750 Label* pLabel = null;
752 pLabel = static_cast <Label*> (__pLabelArrayList->GetAt(index));
755 AppLog("Enter setting %ls", pLabel->GetName().GetPointer());
756 pLabel->SetTextColor(color);
757 pLabel->Invalidate(false);