#include "FUi_EcoreEvas.h"
#include "FUi_ControlImplManager.h"
#include "FUi_OrientationAgent.h"
+#include "FUi_ImeOrientationAgent.h"
#include "FUi_UiBuilder.h"
#include "FUi_CoordinateSystemUtils.h"
#include "FUi_DataBindingContextImpl.h"
, __pForm(null)
, __pFormBackEventListener(null)
, __pOriAgent(null)
+ , __pImeOriAgent(null)
, __pLeftSoftkeyActionEvent(null)
, __pRightSoftkeyActionEvent(null)
, __pOptionMenuActionEvent(null)
{
__pForm = pCore;
- __pOriAgent = _OrientationAgent::CreateInstanceN(*pPublic);
- SysTryReturnVoidResult(NID_UI_CTRL, __pOriAgent != null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+ int appType = _AppInfo::GetAppType();
+ if (appType & _APP_TYPE_IME_APP)
+ {
+ __pImeOriAgent = _ImeOrientationAgent::CreateInstanceN(*pPublic);
+ SysTryReturnVoidResult(NID_UI_CTRL, __pImeOriAgent != null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+ }
+ else
+ {
+ __pOriAgent = _OrientationAgent::CreateInstanceN(*pPublic);
+ SysTryReturnVoidResult(NID_UI_CTRL, __pOriAgent != null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+ }
}
_FormImpl::~_FormImpl(void)
{
- delete __pOriAgent;
- __pOriAgent = null;
+ if (__pImeOriAgent)
+ {
+ delete __pImeOriAgent;
+ __pImeOriAgent = null;
+ }
+
+ if (__pOriAgent)
+ {
+ delete __pOriAgent;
+ __pOriAgent = null;
+ }
if (__pLeftSoftkeyActionEvent)
{
void
_FormImpl::OnDraw(void)
{
- __pOriAgent->FireOrientationEvent();
+ if (__pOriAgent)
+ {
+ __pOriAgent->FireOrientationEvent();
+ }
_ContainerImpl::OnDraw();
}
void
_FormImpl::AddOrientationEventListener(IOrientationEventListener& listener)
{
- __pOriAgent->AddListener(listener);
+ if (__pOriAgent)
+ {
+ __pOriAgent->AddListener(listener);
+ }
+ else if (__pImeOriAgent)
+ {
+ __pImeOriAgent->AddListener(listener);
+ }
}
void
void
_FormImpl::RemoveOrientationEventListener(IOrientationEventListener& listener)
{
- __pOriAgent->RemoveListener(listener);
+ if (__pOriAgent)
+ {
+ __pOriAgent->RemoveListener(listener);
+ }
+ else if (__pImeOriAgent)
+ {
+ __pImeOriAgent->RemoveListener(listener);
+ }
}
void
void
_FormImpl::SetOrientation(Orientation orientation)
{
- __pOriAgent->SetMode(orientation);
+ if (__pOriAgent)
+ {
+ __pOriAgent->SetMode(orientation);
+ }
}
Orientation
_FormImpl::GetOrientation(void) const
{
- return __pOriAgent->GetMode();
+ if (__pOriAgent)
+ {
+ return __pOriAgent->GetMode();
+ }
+
+ return ORIENTATION_NONE;
}
OrientationStatus
_FormImpl::GetOrientationStatus(void) const
{
- return __pOriAgent->GetStatus();
+ if (__pOriAgent)
+ {
+ return __pOriAgent->GetStatus();
+ }
+
+ return ORIENTATION_STATUS_NONE;
}
void
_FormImpl::UpdateOrientationStatus(bool draw)
{
- __pOriAgent->Update(draw);
+ if (__pOriAgent)
+ {
+ __pOriAgent->Update(draw);
+ }
}
#if defined(WINDOW_BASE_ROTATE)
void
_FormImpl::UpdateOrientation(void)
{
- __pOriAgent->UpdateOrientation();
+ if (__pOriAgent)
+ {
+ __pOriAgent->UpdateOrientation();
+ }
}
#endif
+void
+_FormImpl::UpdateOrientation(int angle)
+{
+ SysLog(NID_UI_CTRL, "[Ime Rotation]");
+
+ if (__pImeOriAgent)
+ {
+ __pImeOriAgent->UpdateOrientation(angle);
+ }
+}
+
bool
_FormImpl::HasOptionkey(void) const
{
UpdateOrientationStatus();
- __pOriAgent->RequestOrientationEvent();
+ if (__pOriAgent)
+ {
+ __pOriAgent->RequestOrientationEvent();
+ }
return r;
}
{
if (*pString == _REQUEST_ORIENTATION_EVENT)
{
- __pOriAgent->FireOrientationEvent();
+ if (__pOriAgent)
+ {
+ __pOriAgent->FireOrientationEvent();
+ }
pArgs->RemoveAll(true);
delete pArgs;
}
if (styleString.Contains(L"FORM_STYLE_INDICATOR"))
{
- style |= FORM_STYLE_INDICATOR;
+ if (styleString.Contains(L"FORM_STYLE_INDICATOR_AUTO_HIDE"))
+ {
+ style |= FORM_STYLE_INDICATOR_AUTO_HIDE;
+ }
+ else
+ {
+ style |= FORM_STYLE_INDICATOR;
+ }
}
if (styleString.Contains(L"FORM_STYLE_TEXT_TAB"))
{