// Open Service Platform
// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
//
-// Licensed under the Flora License, Version 1.0 (the License);
+// Licensed under the Apache License, Version 2.0 (the License);
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
-// http://floralicense.org/license/
+// http://www.apache.org/licenses/LICENSE-2.0/
//
// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
+// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
* @brief This is the implementation file for _SearchBarImpl class.
*/
-#include <FApp_AppInfo.h>
#include <FBaseSysLog.h>
#include <FLclLocale.h>
#include <FUiAccessibilityContainer.h>
#include <FUiAccessibilityElement.h>
+#include <FBase_LocalizedNumParser.h>
+#include <FApp_AppInfo.h>
#include "FUi_ResourceSizeInfo.h"
#include "FUi_ResourceManager.h"
#include "FUi_UiBuilder.h"
+#include "FUi_CoordinateSystemUtils.h"
#include "FUiCtrl_PublicActionEvent.h"
#include "FUiCtrl_PublicTextBlockEvent.h"
#include "FUiCtrl_PublicTextEvent.h"
#include "FUiCtrl_SearchBarImpl.h"
-#include "FUi_CoordinateSystemUtils.h"
+#include "FUiCtrl_EditFieldImpl.h"
+#include "FUiCtrl_ButtonImpl.h"
using namespace Tizen::App;
using namespace Tizen::Base;
_SearchBarImpl::_SearchBarImpl(SearchBar* pPublic, _SearchBar* pCore)
: _ControlImpl(pPublic, pCore)
, __pSearchBar(pCore)
+ , __pEditField(null)
+ , __pButton(null)
, __pContentControl(null)
, __pPublicActionEvent(null)
, __pPublicKeypadEvent(null)
, __pPublicTextEvent(null)
, __pPublicSearchBarEvent(null)
, __pPublicLanguageEvent(null)
+ , __pPublicFocusEventListeners(null)
{
ClearLastResult();
}
_SearchBarImpl::~_SearchBarImpl(void)
{
- if (__pSearchBar)
+ if (__pSearchBar != null)
{
SetContent(null);
+ if (__pSearchBar->GetClippedGroupControl())
+ {
+ _Control* pControl = __pSearchBar->GetClippedGroupControl();
+ pControl->DetachAllChildren();
+ }
}
- if (__pPublicActionEvent)
- {
- delete __pPublicActionEvent;
- __pPublicActionEvent = null;
- }
+ delete __pEditField;
+ __pEditField = null;
- if (__pPublicKeypadEvent)
- {
- delete __pPublicKeypadEvent;
- __pPublicKeypadEvent = null;
- }
+ delete __pButton;
+ __pButton = null;
- if (__pPublicTextBlockEvent)
- {
- delete __pPublicTextBlockEvent;
- __pPublicTextBlockEvent = null;
- }
+ delete __pPublicActionEvent;
+ __pPublicActionEvent = null;
- if (__pPublicTextEvent)
- {
- delete __pPublicTextEvent;
- __pPublicTextEvent = null;
- }
+ delete __pPublicKeypadEvent;
+ __pPublicKeypadEvent = null;
- if (__pPublicSearchBarEvent)
- {
- delete __pPublicSearchBarEvent;
- __pPublicSearchBarEvent = null;
- }
+ delete __pPublicTextBlockEvent;
+ __pPublicTextBlockEvent = null;
+
+ delete __pPublicTextEvent;
+ __pPublicTextEvent = null;
+
+ delete __pPublicSearchBarEvent;
+ __pPublicSearchBarEvent = null;
+
+ delete __pPublicLanguageEvent;
+ __pPublicLanguageEvent = null;
+
+ delete __pPublicFocusEventListeners;
+ __pPublicFocusEventListeners = null;
}
_SearchBarImpl*
r = GET_SIZE_INFO(SearchBar).CheckInitialSizeValid(Dimension(bounds.width, bounds.height), _CONTROL_ORIENTATION_PORTRAIT);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, E_INVALID_ARG,
- "[E_INVALID_ARG] Invalid argument(s) is used. The given size is not valid.");
+ "[%s] Invalid argument(s) is used. The given size is not valid.", GetErrorMessage(E_INVALID_ARG));
_SearchBar* pCore = _SearchBar::CreateSearchBarN();
r = GetLastResult();
return pImpl;
CATCH:
delete pImpl;
+ SetLastResult(r);
return null;
}
r = GET_SIZE_INFO(SearchBar).CheckInitialSizeValidF(FloatDimension(bounds.width, bounds.height), _CONTROL_ORIENTATION_PORTRAIT);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, E_INVALID_ARG,
- "[E_INVALID_ARG] Invalid argument(s) is used. The given size is not valid.");
+ "[%s] Invalid argument(s) is used. The given size is not valid.", GetErrorMessage(E_INVALID_ARG));
_SearchBar* pCore = _SearchBar::CreateSearchBarN();
r = GetLastResult();
return pImpl;
CATCH:
delete pImpl;
+ SetLastResult(r);
return null;
}
break;
}
+ __pEditField = new (std::nothrow) EditField();
+ SysTryReturnResult(NID_UI_CTRL, __pEditField != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+
+ r = __pEditField->Construct(GetBoundsF(), EDIT_FIELD_STYLE_NORMAL, INPUT_STYLE_OVERLAY, EDIT_FIELD_TITLE_STYLE_NONE, true);
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+
+ __pEditField->AddFocusEventListener(*this);
+ SysTryReturnResult(NID_UI_CTRL, GetLastResult() == E_SUCCESS, GetLastResult(), "Propagating.");
+
+ __pEditField->AddKeyEventListener(*this);
+ SysTryReturnResult(NID_UI_CTRL, GetLastResult() == E_SUCCESS, GetLastResult(), "Propagating.");
+
+ __pEditFieldImpl = _EditFieldImpl::GetInstance(*__pEditField);
+ SysTryReturnResult(NID_UI_CTRL, __pEditFieldImpl != null, E_SYSTEM,
+ "A system error has occurred. Failed to get _EditFieldImpl instance.");
+
+ String cancelButtonText;
+ GET_STRING_CONFIG(IDS_TPLATFORM_BUTTON_CANCEL_ABB, cancelButtonText);
+
+ __pButton = new (std::nothrow) Button();
+ SysTryReturnResult(NID_UI_CTRL, __pButton != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+
+ r = __pButton->Construct(GetBoundsF(), cancelButtonText);
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+
+ __pButton->AddFocusEventListener(*this);
+ SysTryReturnResult(NID_UI_CTRL, GetLastResult() == E_SUCCESS, GetLastResult(), "Propagating.");
+
+ __pButtonImpl = _ButtonImpl::GetInstance(*__pButton);
+ SysTryReturnResult(NID_UI_CTRL, __pButtonImpl != null, E_SYSTEM,
+ "A system error has occurred. Failed to get _ButtonImpl instance.");
+
r = __pSearchBar->Initialize(enableSearchBarButton, coreKeypadAction);
SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
__pPublicActionEvent = _PublicActionEvent::CreateInstanceN(GetPublic());
r = GetLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicActionEvent, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturn(NID_UI_CTRL, __pPublicActionEvent != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = __pSearchBar->AddActionEventListener(*this);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicKeypadEvent = _PublicKeypadEvent::CreateInstanceN(GetPublic());
r = GetLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = __pSearchBar->AddKeypadEventListener(*this);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicTextBlockEvent = _PublicTextBlockEvent::CreateInstanceN(GetPublic());
r = GetLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = __pSearchBar->AddTextBlockEventListener(*this);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicTextEvent = _PublicTextEvent::CreateInstanceN(GetPublic());
r = GetLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicTextEvent, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturn(NID_UI_CTRL, __pPublicTextEvent != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = __pSearchBar->AddTextEventListener(*this);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicSearchBarEvent = _PublicSearchBarEvent::CreateInstanceN(GetPublic());
r = GetLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicSearchBarEvent, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturn(NID_UI_CTRL, __pPublicSearchBarEvent != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = __pSearchBar->AddSearchBarEventListener(*this);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicLanguageEvent = _PublicLanguageEvent::CreateInstanceN(GetPublic());
r = GetLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicLanguageEvent, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturn(NID_UI_CTRL, __pPublicLanguageEvent != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
r = __pSearchBar->AddLanguageEventListener(*this);
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ __pPublicFocusEventListeners = CreatePublicEventListenerListN();
+ r = GetLastResult();
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
return r;
}
const _Control& content = _ControlImpl::GetInstance(*pContent)->GetCore();
bool isContentAttachable = __pSearchBar->IsContentAttachable(&content);
SysTryReturn(NID_UI_CTRL, isContentAttachable, E_INVALID_ARG, E_INVALID_ARG,
- "[E_INVALID_ARG] Invalid argument(s) is used. The content cannot be set.");
+ "[%s] Invalid argument(s) is used. The content cannot be set.", GetErrorMessage(E_INVALID_ARG));
}
if (pContent != null && __pContentControl == null)
{
ClearLastResult();
- return __pSearchBar->SetContentAreaVisible(visible);
+ return __pSearchBar->SetContentAreaVisible(visible, true);
}
bool
{
ClearLastResult();
- return __pSearchBar->SetMode(mode);
+ return __pSearchBar->SetMode(mode, true);
}
result
r = __pSearchBar->Clear();
SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM,
- "[E_SYSTEM] A system error has occured. Failed to clear the text.");
+ "A system error has occurred. Failed to clear the text.");
return r;
}
ClearLastResult();
result r = __pSearchBar->RemoveTextBlock();
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occured. Unable to remove the text block.")
+ "[%s] A system error has occurred. Unable to remove the text block.", GetErrorMessage(E_SYSTEM));
return r;
}
Color color;
_Edit* pEdit = __pSearchBar->GetSearchField();
- if (pEdit)
+ if (pEdit != null)
{
switch (status)
{
result r = E_SUCCESS;
_Edit* pEdit = __pSearchBar->GetSearchField();
- if (pEdit)
+ if (pEdit != null)
{
switch (status)
{
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicActionEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicActionEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicActionEvent->AddListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_ALREADY_EXIST, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicActionEvent, E_SYSTEM, E_SYSTEM,
+ SysTryReturn(NID_UI_CTRL, __pPublicActionEvent != null, E_SYSTEM, E_SYSTEM,
"[E_SYSTEM] A system error has occurred.");
result r = __pPublicActionEvent->RemoveListener(listener);
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicKeypadEvent->AddListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_ALREADY_EXIST, E_SYSTEM,
return r;
}
-
result
_SearchBarImpl::RemoveKeypadEventListener(IKeypadEventListener& listener)
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicKeypadEvent->RemoveListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_NOT_FOUND, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicTextBlockEvent->AddListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_ALREADY_EXIST, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicTextBlockEvent->RemoveListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_NOT_FOUND, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicTextEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicTextEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicTextEvent->AddListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_ALREADY_EXIST, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicTextEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicTextEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicTextEvent->RemoveListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_NOT_FOUND, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicSearchBarEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicSearchBarEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicSearchBarEvent->AddListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_ALREADY_EXIST, E_SYSTEM,
{
ClearLastResult();
- SysTryReturn(NID_UI_CTRL, __pPublicSearchBarEvent, E_SYSTEM, E_SYSTEM,
- "[E_SYSTEM] A system error has occurred.");
+ SysTryReturn(NID_UI_CTRL, __pPublicSearchBarEvent != null, E_SYSTEM, E_SYSTEM,
+ "[%s] A system error has occurred.", GetErrorMessage(E_SYSTEM));
result r = __pPublicSearchBarEvent->RemoveListener(listener);
SysTryReturnResult(NID_UI_CTRL, r != E_OBJ_NOT_FOUND, E_SYSTEM,
{
IEventArg* pEventArg = _PublicActionEvent::CreateActionEventArgN(actionId);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicActionEvent->Fire(*pEventArg);
}
IEventArg* pEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
GetPublic(), KEYPAD_ACTION_SEARCH, KEYPAD_EVENT_STATUS_CREATED);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicKeypadEvent->Fire(*pEventArg);
}
IEventArg* pEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
GetPublic(), KEYPAD_ACTION_SEARCH, KEYPAD_EVENT_STATUS_OPEN);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicKeypadEvent->Fire(*pEventArg);
}
IEventArg* pEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
GetPublic(), KEYPAD_ACTION_SEARCH, KEYPAD_EVENT_STATUS_CLOSE);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicKeypadEvent->Fire(*pEventArg);
}
IEventArg* pEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
GetPublic(), KEYPAD_ACTION_SEARCH, KEYPAD_EVENT_STATUS_BOUNDS_CHANGED);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicKeypadEvent->Fire(*pEventArg);
}
IEventArg* pEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
GetPublic(), publicKeypadAction, KEYPAD_EVENT_STATUS_ENTERACTION);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicKeypadEvent->Fire(*pEventArg);
}
{
IEventArg* pEventArg = _PublicTextBlockEvent::CreateTextBlockEventArgN(start, end);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicTextBlockEvent->Fire(*pEventArg);
}
{
IEventArg* pEventArg = _PublicTextEvent::CreateTextEventArgN(TEXT_EVENT_CHANGED);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicTextEvent->Fire(*pEventArg);
}
{
IEventArg* pEventArg = _PublicTextEvent::CreateTextEventArgN(TEXT_EVENT_CANCELED);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicTextEvent->Fire(*pEventArg);
}
{
IEventArg* pEventArg = _PublicSearchBarEvent::CreateSearchBarEventArgN(SEARCH_BAR_EVENT_MODE_CHANGE);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicSearchBarEvent->Fire(*pEventArg);
}
void
_SearchBarImpl::OnLanguageChanged(LanguageCode oldLanguage, LanguageCode newLanguage)
{
- if (__pPublicLanguageEvent)
+ if (__pPublicLanguageEvent != null)
{
IEventArg* pKLanguageEventArg = _PublicLanguageEvent::CreateLanguageEventArgN(GetPublic(), oldLanguage, newLanguage);
result r = GetLastResult();
- SysTryReturnVoidResult(NID_UI_CTRL, pKLanguageEventArg, r, "[%s] Propagating.", GetErrorMessage(r));
+ SysTryReturnVoidResult(NID_UI_CTRL, pKLanguageEventArg != null, r, "[%s] Propagating.", GetErrorMessage(r));
__pPublicLanguageEvent->Fire(*pKLanguageEventArg);
}
return;
}
+void
+_SearchBarImpl::OnFocusEventListenerAdded(IFocusEventListener& listener)
+{
+ ClearLastResult();
+ SysTryReturnVoidResult(NID_UI,
+ __pPublicFocusEventListeners->Add(const_cast <IFocusEventListener*>(&listener)) == E_SUCCESS, E_SYSTEM,
+ "[E_SYSTEM] A system error has occurred. Failed to add listener.");
+}
+
+void
+_SearchBarImpl::OnFocusEventListenerRemoved(IFocusEventListener& listener)
+{
+ ClearLastResult();
+ SysTryReturnVoidResult(NID_UI,
+ __pPublicFocusEventListeners->Remove(&listener) == E_SUCCESS, E_SYSTEM,
+ "[E_SYSTEM] A system error has occurred. Failed to remove listener.");
+}
+
+void
+_SearchBarImpl::OnFocusGained(const Tizen::Ui::Control& source)
+{
+ if (!__pSearchBar->IsFocusCallbackToBeFired())
+ {
+ return;
+ }
+
+ IEnumeratorT<IEventListener*>* pEnumerator = __pPublicFocusEventListeners->GetEnumeratorN();
+
+ if (pEnumerator != null)
+ {
+ while (pEnumerator->MoveNext() == E_SUCCESS)
+ {
+ IEventListener* pListener = null;
+ pEnumerator->GetCurrent(pListener);
+
+ IFocusEventListener* pFocusEventListener = dynamic_cast <IFocusEventListener*>(pListener);
+
+ if (pFocusEventListener != null)
+ {
+ pFocusEventListener->OnFocusGained(GetPublic());
+ }
+ }
+
+ delete pEnumerator;
+ }
+
+ return;
+}
+
+void
+_SearchBarImpl::OnFocusLost(const Tizen::Ui::Control& source)
+{
+ if (!__pSearchBar->IsFocusCallbackToBeFired())
+ {
+ return;
+ }
+
+ IEnumeratorT<IEventListener*>* pEnumerator = __pPublicFocusEventListeners->GetEnumeratorN();
+ if (pEnumerator != null)
+ {
+ while (pEnumerator->MoveNext() == E_SUCCESS)
+ {
+ IEventListener* pListener = null;
+ pEnumerator->GetCurrent(pListener);
+
+ IFocusEventListener* pFocusEventListener = dynamic_cast <IFocusEventListener*>(pListener);
+
+ if (pFocusEventListener != null)
+ {
+ pFocusEventListener->OnFocusLost(GetPublic());
+ }
+ }
+
+ delete pEnumerator;
+ }
+
+ return;
+}
+
+void
+_SearchBarImpl::OnKeyPressed(const Tizen::Ui::Control& source, Tizen::Ui::KeyCode keyCode)
+{
+ IEnumeratorT<IEventListener*>* pEnumerator = GetKeyEventListener()->GetEnumeratorN();
+ if (pEnumerator != null)
+ {
+ while (pEnumerator->MoveNext() == E_SUCCESS)
+ {
+ IEventListener* pListener = null;
+ pEnumerator->GetCurrent(pListener);
+
+ IKeyEventListener* pKeyEventListener = dynamic_cast <IKeyEventListener*>(pListener);
+
+ if (pKeyEventListener != null)
+ {
+ pKeyEventListener->OnKeyPressed(GetPublic(), keyCode);
+ }
+ }
+
+ delete pEnumerator;
+ }
+
+ return;
+}
+
+void
+_SearchBarImpl::OnKeyReleased(const Tizen::Ui::Control& source, Tizen::Ui::KeyCode keyCode)
+{
+ IEnumeratorT<IEventListener*>* pEnumerator = GetKeyEventListener()->GetEnumeratorN();
+ if (pEnumerator != null)
+ {
+ while (pEnumerator->MoveNext() == E_SUCCESS)
+ {
+ IEventListener* pListener = null;
+ pEnumerator->GetCurrent(pListener);
+
+ IKeyEventListener* pKeyEventListener = dynamic_cast <IKeyEventListener*>(pListener);
+
+ if (pKeyEventListener != null)
+ {
+ pKeyEventListener->OnKeyReleased(GetPublic(), keyCode);
+ }
+ }
+
+ delete pEnumerator;
+ }
+
+ return;
+}
+
+void
+_SearchBarImpl::OnKeyLongPressed(const Tizen::Ui::Control& source, Tizen::Ui::KeyCode keyCode)
+{
+ IEnumeratorT<IEventListener*>* pEnumerator = GetKeyEventListener()->GetEnumeratorN();
+ if (pEnumerator != null)
+ {
+ while (pEnumerator->MoveNext() == E_SUCCESS)
+ {
+ IEventListener* pListener = null;
+ pEnumerator->GetCurrent(pListener);
+
+ IKeyEventListener* pKeyEventListener = dynamic_cast <IKeyEventListener*>(pListener);
+
+ if (pKeyEventListener != null)
+ {
+ pKeyEventListener->OnKeyLongPressed(GetPublic(), keyCode);
+ }
+ }
+
+ delete pEnumerator;
+ }
+
+ return;
+}
+
KeypadAction
_SearchBarImpl::ConvertKeypadAction(CoreKeypadAction keypadAction) const
{
return publicKeypadAction;
}
+_EditFieldImpl*
+_SearchBarImpl::GetEditFieldImpl(void) const
+{
+ return __pEditFieldImpl;
+}
+
+_ButtonImpl*
+_SearchBarImpl::GetButtonImpl(void) const
+{
+ return __pButtonImpl;
+}
+
class _SearchBarMaker
: public _UiBuilderControlMaker
{
return null;
}
- pSearchBar = new (std::nothrow) SearchBar;
+ pSearchBar = new (std::nothrow) SearchBar();
if (pSearchBar == null)
{
return null;
if (pControl->GetElement("searchFieldTextSize", elementString))
{
- searchFieldTextSize = _CoordinateSystemUtils::ConvertToFloat(elementString);
+ searchFieldTextSize = _LocalizedNumParser::ToDouble(elementString, "C");
_ICoordinateSystemTransformer* pTransform = GetTransformer();
- if (pTransform)
+ if (pTransform != null)
{
searchFieldTextSize = pTransform->Transform(searchFieldTextSize);
}
if (pControl->GetElement(L"accessibilityHint", elementString))
{
AccessibilityContainer* pContainer = pSearchBar->GetAccessibilityContainer();
- if (pContainer)
+ if (pContainer != null)
{
AccessibilityElement* pElement = pContainer->GetElement(L"EditText");
- if (pElement)
+ if (pElement != null)
{
pElement->SetHint(elementString);
}