public:
typedef Dali::ImfManager::ImfManagerSignalType ImfManagerSignalType;
typedef Dali::ImfManager::ImfEventSignalType ImfEventSignalType;
+ typedef Dali::ImfManager::StatusSignalType ImfStatusSignalType;
+ typedef Dali::ImfManager::VoidSignalType ImfVoidSignalType;
+ typedef Dali::ImfManager::KeyboardTypeSignalType ImfKeyboardTypeSignalType;
public:
/**
+ * @copydoc Dali::ImfManager::Finalize()
+ */
+ void Finalize();
+
+ /**
* Check whether the ImfManager is available.
* @return true if available, false otherwise
*/
* Constructor
* @param[in] ecoreXwin, The window is created by application.
*/
- ImfManager( Ecore_X_Window ecoreXwin );
+ ImfManager( Ecore_X_Window* ecoreXwin );
/**
* Connect Callbacks required for IMF.
*/
const std::string& GetSurroundingText() const;
+ /**
+ * @copydoc Dali::ImfManager::NotifyTextInputMultiLine()
+ */
+ void NotifyTextInputMultiLine( bool multiLine );
+
+ /**
+ * @copydoc Dali::ImfManager::GetTextDirection()
+ */
+ Dali::ImfManager::TextDirection GetTextDirection();
+
+ /**
+ * @copydoc Dali::ImfManager::GetInputMethodArea()
+ */
+ Dali::Rect<int> GetInputMethodArea();
+
+ /**
+ * @copydoc Dali::ImfManager::ApplyOptions()
+ */
+ void ApplyOptions( const InputMethodOptions& options );
+
+ /**
+ * @copydoc Dali::ImfManager::SetInputPanelData()
+ */
+ void SetInputPanelData( const std::string& data );
+
+ /**
+ * @copydoc Dali::ImfManager::GetInputPanelData()
+ */
+ void GetInputPanelData( std::string& data );
+
+ /**
+ * @copydoc Dali::ImfManager::GetInputPanelState()
+ */
+ Dali::ImfManager::State GetInputPanelState();
+
+ /**
+ * @copydoc Dali::ImfManager::SetReturnKeyState()
+ */
+ void SetReturnKeyState( bool visible );
+
+ /**
+ * @copydoc Dali::ImfManager::AutoEnableInputPanel()
+ */
+ void AutoEnableInputPanel( bool enabled );
+
+ /**
+ * @copydoc Dali::ImfManager::ShowInputPanel()
+ */
+ void ShowInputPanel();
+
+ /**
+ * @copydoc Dali::ImfManager::HideInputPanel()
+ */
+ void HideInputPanel();
+
+ /**
+ * @copydoc Dali::ImfManager::GetKeyboardType()
+ */
+ Dali::ImfManager::KeyboardType GetKeyboardType();
+
+ /**
+ * @copydoc Dali::ImfManager::GetInputPanelLocale()
+ */
+ std::string GetInputPanelLocale();
+
public: // Signals
/**
*/
ImfEventSignalType& EventReceivedSignal() { return mEventSignal; }
+ /**
+ * @copydoc Dali::ImfManager::StatusChangedSignal()
+ */
+ ImfStatusSignalType& StatusChangedSignal() { return mKeyboardStatusSignal; }
+
+ /**
+ * @copydoc Dali::ImfManager::ResizedSignal()
+ */
+ ImfVoidSignalType& ResizedSignal() { return mKeyboardResizeSignal; }
+
+ /**
+ * @copydoc Dali::ImfManager::LanguageChangedSignal()
+ */
+ ImfVoidSignalType& LanguageChangedSignal() { return mKeyboardLanguageChangedSignal; }
+
+ /**
+ * @copydoc Dali::ImfManager::KeyboardTypeChangedSignal()
+ */
+ ImfKeyboardTypeSignalType& KeyboardTypeChangedSignal() { return mKeyboardTypeChangedSignal; }
protected:
/**
* Context created the first time and kept until deleted.
* @param[in] ecoreXwin, The window is created by application.
*/
- void CreateContext( Ecore_X_Window ecoreXwin );
+ void CreateContext( Ecore_X_Window* ecoreXwin );
/**
* @copydoc Dali::ImfManager::DeleteContext()
private:
Ecore_IMF_Context* mIMFContext;
+ Ecore_X_Window* mEcoreXWin;
int mIMFCursorPosition;
std::string mSurroundingText;
+ bool mInited:1; ///< Whether the imf is already inited.
bool mRestoreAfterFocusLost:1; ///< Whether the keyboard needs to be restored (activated ) after focus regained.
bool mIdleCallbackConnected:1; ///< Whether the idle callback is already connected.
-
- ImfManagerSignalType mActivatedSignal;
- ImfEventSignalType mEventSignal;
+ InputMethodOptions mOptions;
+
+ ImfManagerSignalType mActivatedSignal;
+ ImfEventSignalType mEventSignal;
+ ImfStatusSignalType mKeyboardStatusSignal;
+ ImfVoidSignalType mKeyboardResizeSignal;
+ ImfVoidSignalType mKeyboardLanguageChangedSignal;
+ ImfKeyboardTypeSignalType mKeyboardTypeChangedSignal;
public: