2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (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: IntAddressbar
19 *@brief: This class defines common behaviour of Addressbar control.
22 #include "IntAddressbar.h"
23 #include "IntCommonLib.h"
25 #include "IntMultipleWindowPresentationModel.h"
26 #include "IntSettingPresentationModel.h"
27 #include "IntMultipleWindowPresentationModel.h"
29 using namespace Tizen::App;
30 using namespace Tizen::Base;
31 using namespace Tizen::Ui;
32 using namespace Tizen::Ui::Controls;
33 using namespace Tizen::Graphics;
35 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.9.png";
36 static const wchar_t* IDB_TITLE_PROGRESS_BAR_BG = L"I01_title_progress_bar_bg.png";
37 static const wchar_t* IDB_TITLE_PROGRESS_BAR = L"I01_title_progress_bar.png";
38 static const wchar_t* IDB_ICON_PRIVATE = L"I01_icon_private.png";
41 const int Addressbar::IDA_REFRESH_BTN_CLICKED = 101;
42 const int Addressbar::IDA_READER_BTN_CLICKED = 102;
43 const int Addressbar::IDA_STOP_BTN_CLICKED = 103;
44 const int Addressbar::IDA_GO_BACK = 104;
45 const int Addressbar::IDA_GO_FORWARD = 105;
46 const int Addressbar::IDA_CANCEL = 106;
47 const int Addressbar::IDA_CLEAR_URL = 107;
49 Addressbar::Addressbar(void)
51 //__currentAddMode = ADDRESSBAR_MODE_LOADING_COMPLETE;
54 __isLoadingData = false;
55 __isLoadingCompleted = false;
56 __progressPercentage = 0;
57 __pAddressbarBg = null;
59 //__pCancelBtn = null;
61 __pFavIcon = FaviconManager::GetInstance()->GetDefaultFaviconN();
62 __pFaviconLabel = null;
63 //__pGoBackBtn = null;
64 //__pGoForwardBtn = null;
65 __pLabelPrivateOn = null;
67 __pPrivateIconLabel = null;
68 __pProgressbarLabel = null;
69 __pPrivateIconLabel = null ;
70 //__pReaderBtn = null;
71 //__pRefreshBtn = null;
74 __pSearchLabel = null;
75 __pAddressbarUrlField = null;
76 __pToolBarLabel = null;
77 __pAddressbarURLLabel = null;
78 __pAddressBackBtn = null;
79 __isClipboardOpen = false;
82 Addressbar::~Addressbar(void)
84 if (__pFavIcon != null)
92 Addressbar::Initialize(const Rectangle& rect)
96 AppLogDebug("Addressbar::Initialize entered");
97 //Construct the base first
98 r = Construct(L"IDL_ADDRESSBAR");
100 //Add background label
101 Label* pBgLabel = static_cast<Label*> (GetControl(L"IDC_BG_LABEL",true));
102 if (pBgLabel == NULL)
104 AppLogDebug("Control not found returning E_INVALID_KEY");
105 return E_INVALID_KEY;
108 //Add inner panel for border
109 __pBgPanel = static_cast<Panel*> (GetControl(L"IDC_BG_PANEL",true));
110 if (__pBgPanel == NULL)
112 AppLogDebug("Control not found returning E_INVALID_KEY");
113 return E_INVALID_KEY;
116 __pAddressbarBg = static_cast<Label*> (GetControl(L"IDC_ADDRESSBAR_BG_LABEL",true));
117 if (__pAddressbarBg == NULL)
119 AppLogDebug("Control not found returning E_INVALID_KEY");
120 return E_INVALID_KEY;
122 __pBgPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
123 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
126 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
130 //Add the backround label for displaying progressbar
131 /*__pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
132 if (__pProgressbarLabel == NULL)
134 AppLogDebug("Control not found returning E_INVALID_KEY");
135 return E_INVALID_KEY;
137 __pProgressbarLabel->SetShowState(false);*/
139 //Add the stop button
140 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
141 if (__pStopBtn == NULL)
143 AppLogDebug("Control not found returning E_INVALID_KEY");
144 return E_INVALID_KEY;
146 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
147 __pStopBtn->AddActionEventListener(*this);
148 __pStopBtn->SetShowState(false);
151 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
152 if (__pClearBtn == NULL)
154 AppLogDebug("Control not found returning E_INVALID_KEY");
155 return E_INVALID_KEY;
157 __pClearBtn->SetActionId(IDA_CLEAR_URL);
158 __pClearBtn->AddActionEventListener(*this);
159 __pClearBtn->SetShowState(true);
161 //Add the editfield for url
162 __pAddressbarUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDITFIELD",true));
163 if (__pAddressbarUrlField == NULL)
165 AppLogDebug("Control not found returning E_INVALID_KEY");
166 return E_INVALID_KEY;
169 __pAddressbarUrlField->SetOverlayKeypadCommandButtonVisible(false);
170 __pAddressbarUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
171 __pAddressbarUrlField->AddFocusEventListener(*this);
172 __pAddressbarUrlField->AddTextEventListener(*this);
173 if(__pAddressbarUrlField->GetTextLength() == 0)
175 __pAddressbarUrlField->SetKeypadActionEnabled(false);
179 __pAddressbarUrlField->SetKeypadActionEnabled(true);
182 __pToolBarLabel = static_cast<Label*> (GetControl(L"IDC_TOOLBAR_LABEL",true));
183 if (__pToolBarLabel == NULL)
185 AppLogDebug("Control not found returning E_INVALID_KEY");
186 return E_INVALID_KEY;
188 __pToolBarLabel->SetShowState(true);
190 __pAddressbarURLLabel = static_cast<Label*> (GetControl(L"IDC_URL_LABEL",true));
191 if (__pAddressbarURLLabel == NULL)
193 AppLogDebug("__pURLLabel Control not found returning E_INVALID_KEY");
194 return E_INVALID_KEY;
196 __pAddressbarURLLabel->SetShowState(true);
198 __pAddressBackBtn = static_cast<Button*> (GetControl(L"IDC_ADDRESS_BACK_BUTTON",true));
199 if (__pAddressBackBtn == NULL)
201 AppLogDebug("__pAddressBackBtn Control not found returning E_INVALID_KEY");
202 return E_INVALID_KEY;
204 __pAddressBackBtn->SetActionId(IDA_CANCEL);
205 __pAddressBackBtn->AddActionEventListener(*this);
206 __pAddressBackBtn->SetShowState(true);
207 //IDC_ADDRESS_BACK_BUTTON
209 // Added to get the favorite url if not set then address bar is about blank
211 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
213 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
215 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
217 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK"));
221 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
222 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
224 __pAddressbarUrlField->AddKeypadEventListener(*this);
226 AppLogDebug("Addressbar::Initialize exit");
231 Addressbar::UpdateProgressBitmap(void)
233 result r = E_SUCCESS;
234 if (__pProgressbarLabel == null)
236 int w = __pProgressbarLabel->GetWidth();
237 int h = __pProgressbarLabel->GetHeight();
239 int progressWidth = 0;
240 Bitmap* pRetBitmap = null;
242 if (__progressPercentage == 0 || __progressPercentage == 100)
244 __pProgressbarLabel->SetShowState(false);
245 __pProgressbarLabel->Invalidate(false);
250 __pProgressbarLabel->SetShowState(true);
251 __pProgressbarLabel->Invalidate(false);
254 r = canvas.Construct(Rectangle(0, 0, w, h));
258 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
263 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
267 pBgBmp->Scale(Dimension(w, h));
268 canvas.DrawBitmap(Point(0,0), *pBgBmp);
272 progressWidth = (double) (w) * __progressPercentage / 100;
273 AppLogDebug("progressWidth: %d", progressWidth);
274 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
276 if (pProgressBmp != null)
278 pProgressBmp->Scale(Dimension(progressWidth, h));
279 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
283 pRetBitmap = new (std::nothrow) Bitmap();
285 if (pRetBitmap == null)
287 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
291 pRetBitmap->Construct(canvas, canvas.GetBounds());
293 if (__pProgressbarLabel != null && pRetBitmap != null)
295 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
296 __pProgressbarLabel->Invalidate(false);
300 if (pRetBitmap != null)
309 Addressbar::ResetGuideText(void)
311 AppLog("Addressbar::ResetGuideText called");
313 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
315 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
317 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
319 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK"));
323 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
324 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
326 __pAddressbarUrlField->Invalidate(true);
330 Addressbar::SetUrl(const String& url)
333 String updatedDisplayUrl;
334 updatedDisplayUrl.Clear();
336 if (__pAddressbarUrlField != NULL)
338 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
339 if (removedHttpUrl.IsEmpty() == false)
341 __pAddressbarUrlField->SetText(removedHttpUrl);
345 __pAddressbarUrlField->SetText(__displayUrl);
348 __pAddressbarUrlField->Invalidate(false);
349 __pAddressbarUrlField->SetCursorPosition(0);
354 Addressbar::GetUrl(void)
360 Addressbar::GetAddressbarMode(void)
362 return __currentAddMode;
366 Addressbar::SetAddressbarMode(AddressBarMode addMode)
368 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
370 __currentAddMode = addMode;
374 case ADDRESSBAR_MODE_INVALID:
379 case ADDRESSBAR_MODE_READER:
381 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
382 // __pSearchLabel->SetShowState(false);
383 // __pFaviconLabel->SetShowState(true);
384 // __pCancelBtn->SetShowState(false);
385 // __pRefreshBtn->SetShowState(false);
386 __pStopBtn->SetShowState(false);
387 // __pReaderBtn->SetShowState(true);
388 // __pReaderBtn->Invalidate(true);
389 // __pGoForwardBtn->SetShowState(true);
390 // __pGoBackBtn->SetShowState(true);
391 __pClearBtn->SetShowState(false);
394 case ADDRESSBAR_MODE_LOADING:
396 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
397 // __pSearchLabel->SetShowState(false);
398 // __pFaviconLabel->SetShowState(true);
399 // __pCancelBtn->SetShowState(false);
400 // __pRefreshBtn->SetShowState(false);
401 __pStopBtn->SetShowState(true);
402 // __pReaderBtn->SetShowState(false);
403 // __pGoForwardBtn->SetShowState(true);
404 // __pGoBackBtn->SetShowState(true);
405 __pClearBtn->SetShowState(false);
409 case ADDRESSBAR_MODE_LOADING_COMPLETE:
411 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
412 // __pCancelBtn->SetShowState(false);
414 if (__pAddressbarUrlField && __pAddressbarUrlField->GetText().IsEmpty() == false)
416 // __pSearchLabel->SetShowState(false);
417 // __pFaviconLabel->SetShowState(true);
421 // __pSearchLabel->SetShowState(true);
422 // __pFaviconLabel->SetShowState(false);
425 if (__pAddressbarUrlField != NULL)
427 __pAddressbarUrlField->SetText(__displayUrl);
428 __pAddressbarUrlField->HideKeypad();
431 // __pRefreshBtn->SetShowState(true);
432 __pStopBtn->SetShowState(false);
433 // __pReaderBtn->SetShowState(false);
434 // __pGoForwardBtn->SetShowState(true);
435 // __pGoBackBtn->SetShowState(true);
436 __pClearBtn->SetShowState(false);
439 case ADDRESSBAR_MODE_EDIT:
441 Form *pForm = static_cast<Form*>(GetParent());
442 if (pForm!= null && (pForm->GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT ||pForm->GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE ))
444 // __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 30,__pBgPanel->GetHeight());
445 // __pAddressbarBg->SetBounds(__pAddressbarBg->GetX(),__pAddressbarBg->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 30,__pAddressbarBg->GetHeight());
446 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth(),__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
450 // __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 48,__pBgPanel->GetHeight());
451 // __pAddressbarBg->SetBounds(__pAddressbarBg->GetX(),__pAddressbarBg->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 48,__pAddressbarBg->GetHeight());
452 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth(),__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
455 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x,__pBgPanel->GetPosition().y);
456 // __pCancelBtn->SetShowState(true);
457 // __pRefreshBtn->SetShowState(false);
458 __pStopBtn->SetShowState(false);
459 // __pReaderBtn->SetShowState(false);
460 // __pGoForwardBtn->SetShowState(false);
461 // __pGoBackBtn->SetShowState(false);
462 __pClearBtn->SetShowState(true);
465 // __pCancelBtn->SetBounds(__pBgPanel->GetWidth(), __pCancelBtn->GetY(), GetWidth() - 48 - __pBgPanel->GetWidth(), __pCancelBtn->GetHeight());
467 if (__pAddressbarUrlField && __pAddressbarUrlField->GetText().IsEmpty() == true)
469 // __pSearchLabel->SetShowState(true);
470 // __pFaviconLabel->SetShowState(false);
474 // __pSearchLabel->SetShowState(false);
475 // __pFaviconLabel->SetShowState(true);
477 if (__pAddressbarUrlField != NULL)
479 __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength());
486 if (__pAddressbarBg->GetWidth() != __pBgPanel->GetWidth())
488 __pAddressbarBg->SetBounds(Rectangle(0, 0, __pBgPanel->GetWidth(), __pBgPanel->GetHeight()));
489 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
492 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
499 if (__pListener != null)
501 __pListener->OnAddressBarModeChanged(*this);
506 Addressbar::SetFaviconBitmap(const Tizen::Graphics::Bitmap& favicon)
509 String url =__pAddressbarUrlField->GetText();
510 String secureSiteText = "https://";
512 flag = url.StartsWith(secureSiteText,0);
514 if (__pFavIcon != null)
519 __pFavIcon = new(std::nothrow) Bitmap();
520 __pFavIcon->Construct(favicon,Rectangle(0,0,favicon.GetWidth(),favicon.GetHeight()));
523 void Addressbar::SaveAddressbarEditText()
525 __editTextUrl = __pAddressbarUrlField->GetText();
529 Addressbar::UpdateFaviconBitmap(bool isPrivateOn)
532 String url =__pAddressbarUrlField->GetText();
533 String secureSiteText = "https://";
535 flag = url.StartsWith(secureSiteText,0);
537 __pAddressbarBg->Invalidate(true);
541 Addressbar::SetForwardButtonEnabled(bool isEnabled)
543 // __pGoForwardBtn->SetEnabled(isEnabled);
544 // __pGoBackBtn->Invalidate(true);
548 Addressbar::SetBackButtonEnabled(bool isEnabled)
550 // __pGoBackBtn->SetEnabled(isEnabled);
551 // __pGoBackBtn->Invalidate(true);
555 Addressbar::SetAddressbarEventListener(IAddressbarEventListener* plistener)
557 __pListener = plistener;
561 Addressbar::UpdateProgress(int percentage)
563 __progressPercentage = percentage;
564 if (percentage == 0 || percentage == 100)
566 __isLoadingData = false;
567 if (percentage == 100)
569 __isLoadingCompleted = true;
570 __progressPercentage = 0;
574 __isLoadingCompleted = false;
579 __isLoadingData = true;
581 UpdateProgressBitmap();
585 Addressbar::GetProgress(void)
587 return __progressPercentage;
591 Addressbar::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
593 AppLogDebug("Addressbar::OnActionPerformed action %d",actionId);
597 case IDA_REFRESH_BTN_CLICKED:
598 __isLoadingCompleted = false;
599 __isLoadingData = true;
600 __progressPercentage = 0;
601 __pAddressbarUrlField->HideKeypad();
602 __displayUrl = __pAddressbarUrlField->GetText();
604 /*if (__pListener != NULL)
606 __pListener->OnUrlSubmitted(*this);
609 UpdateProgressBitmap();
612 case IDA_STOP_BTN_CLICKED:
613 __isLoadingCompleted = false;
614 __isLoadingData = false;
615 __progressPercentage = 0;
616 __pAddressbarUrlField->HideKeypad();
617 __displayUrl = __pAddressbarUrlField->GetText();
619 if (__pListener != NULL)
621 __pListener->OnStopClicked(*this);
624 UpdateProgressBitmap();
626 case IDA_READER_BTN_CLICKED:
627 __pAddressbarUrlField->HideKeypad();
628 __displayUrl = __pAddressbarUrlField->GetText();
630 if (__pListener != NULL)
632 __pListener->OnReaderClicked(*this);
639 if (__pListener != NULL)
641 __pListener->OnBackClicked(*this);
649 if (__pListener != NULL )
650 __pListener->OnForwardClicked(*this);
656 __pAddressbarUrlField->HideKeypad();
657 __pListener->OnAddressCancelledClicked(*this);
658 //SetAddressbarMode(ADDRESSBAR_MODE_LOADING_COMPLETE);
664 if (__pAddressbarUrlField->GetText().IsEmpty() == false)
666 //__displayUrl = __pUrlField->GetText();
667 __pAddressbarUrlField->Clear();
668 __pAddressbarUrlField->Invalidate(true);
678 Addressbar::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
680 AppLog("Addressbar::OnKeypadActionPerformed keypadAction %d",keypadAction);
681 switch (keypadAction)
683 case KEYPAD_ACTION_GO:
684 case KEYPAD_ACTION_ENTER:
685 case KEYPAD_ACTION_SEND:
687 if (__pAddressbarUrlField->GetText().IsEmpty() == false)
689 //SetAddressbarMode(ADDRESSBAR_MODE_LOADING);
690 __displayUrl = __pAddressbarUrlField->GetText();
692 __isLoadingCompleted = false;
693 __isLoadingData = true;
694 __progressPercentage = 0;
695 __pAddressbarUrlField->HideKeypad();
697 if (__pListener != NULL)
699 __pListener->OnUrlSubmitted(*this);
702 //UpdateProgressBitmap();
713 Addressbar::OnKeypadClosed(Tizen::Ui::Control& source)
715 if (__isClipboardOpen == true)
717 __isClipboardOpen = false;
718 __pListener->OnClipboardClosed(*this);
721 __pAddressbarUrlField->SetText(__displayUrl);
724 if(__pListener != null)
726 __pListener->OnAddressBarKeypadClosed(*this);
731 Addressbar::OnKeypadOpened(Tizen::Ui::Control& source)
733 AppLog("Addressbar::OnKeypadClosed %d",Clipboard::GetInstance()->IsPopupVisible());
734 __isClipboardOpen = Clipboard::GetInstance()->IsPopupVisible();
735 if(__pListener != null)
737 __pListener->OnAddressBarKeypadOpened(*this);
742 Addressbar::OnKeypadWillOpen(Tizen::Ui::Control& source)
744 if(__pListener != null)
746 __pListener->OnAddressBarKeypadWillOpen(*this);
751 Addressbar::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
753 AppLog("Coming here");
754 if(__pListener != null)
756 __pListener->OnAddressBarKeypadBoundsChanged(*this);
761 Addressbar::OrientationChanged( int& width)
764 __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(), width - __pAddressBackBtn->GetWidth() - gap -__pBgPanel->GetX() ,__pBgPanel->GetHeight());
765 __pAddressBackBtn->SetBounds(width - __pAddressBackBtn->GetWidth() - 6,__pAddressBackBtn->GetY(),__pAddressBackBtn->GetWidth(),__pAddressBackBtn->GetHeight());
766 __pStopBtn->SetBounds(__pBgPanel->GetWidth() - __pStopBtn->GetWidth(),__pStopBtn->GetY(),__pStopBtn->GetWidth(),__pStopBtn->GetHeight());
767 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth() ,__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
768 // __pAddressbarUrlField->SetBounds(__pToolBarLabel->GetWidth(),__pAddressbarUrlField->GetY(),__pBgPanel->GetWidth() - __pStopBtn->GetWidth()- __pToolBarLabel->GetWidth() ,__pAddressbarUrlField->GetHeight());
770 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
773 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
780 Addressbar::RemoveHttpTextFromDisplayURL(void)
782 bool isHttpText = __displayUrl.Contains(L"http://");
783 String updatedDisplayUrl;
784 updatedDisplayUrl.Clear();
786 if (isHttpText == true)
788 __displayUrl.SubString(7,updatedDisplayUrl);
790 return updatedDisplayUrl;
794 Addressbar::GetLockedImageN(void)
796 Bitmap* pIconImage = null;
798 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
801 pIconImage = pAppResource->GetBitmapN(IDB_ICON_PRIVATE);
804 Bitmap* pLockImage = new (std::nothrow) Bitmap();
806 Canvas* pCanvas = new (std::nothrow) Canvas();
807 pCanvas->Construct(Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()));
809 if(__pFavIcon != null)
811 pCanvas->DrawBitmap(Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()),*__pFavIcon);
813 if(pIconImage != null)
815 pCanvas->DrawBitmap(Rectangle(__pFaviconLabel->GetWidth()/2,__pFaviconLabel->GetHeight()/2,__pFaviconLabel->GetWidth()/2,__pFaviconLabel->GetHeight()/2),*pIconImage);
817 pLockImage->Construct(*pCanvas,Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()));
824 Addressbar::OnFocusGained(const Control& source)
826 //SetAddressbarMode(ADDRESSBAR_MODE_EDIT);
827 // SetAddressbarMode(__prevAddMode);
829 if(__pAddressbarUrlField != null)
831 __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength());
832 if(__pAddressbarUrlField->GetTextLength() == 0)
834 __pAddressbarUrlField->SetKeypadActionEnabled(false);
838 __pAddressbarUrlField->SetKeypadActionEnabled(true);
841 if (__pListener != null)
843 __pListener->OnAddressBarKeypadWillOpen(*this);
844 __pListener->OnAddressBarKeypadOpened(*this);
849 Addressbar::OnFocusLost(const Tizen::Ui::Control& source)
851 AppLog("Addressbar::OnFocusLost");
855 Addressbar::OnTextValueChanged(const Control& source)
857 if(__pAddressbarUrlField != null)
859 if(__pAddressbarUrlField->GetTextLength() == 0)
861 __pAddressbarUrlField->SetKeypadActionEnabled(false);
865 __pAddressbarUrlField->SetKeypadActionEnabled(true);
871 Addressbar::SetAddressbarURLFocus()
873 __pAddressbarUrlField->SetFocus();
877 Addressbar::GetAddressbarURL()
879 return __pAddressbarUrlField->GetText();