X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fecore%2Fwayland%2Fimf-manager-impl.h;h=3d2d451c26f07e6888449c7da763ca9890d5b100;hb=2bcf10a589372e038ffd026de5c352845715a951;hp=bd74fa0c03bb8e2a3f999968f185cccf46c2434b;hpb=90953b60ec6286a5cabe3ab23e8a5e578d5614dd;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/ecore/wayland/imf-manager-impl.h b/adaptors/ecore/wayland/imf-manager-impl.h old mode 100644 new mode 100755 index bd74fa0..3d2d451 --- a/adaptors/ecore/wayland/imf-manager-impl.h +++ b/adaptors/ecore/wayland/imf-manager-impl.h @@ -46,10 +46,18 @@ class DALI_IMPORT_API ImfManager : public Dali::BaseObject 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 */ @@ -66,7 +74,7 @@ public: /** * Connect Callbacks required for IMF. * If you don't connect imf callbacks, you can't get the key events. - * The events are PreeditChanged, Commit and DeleteSurrounding. + * The events are PreeditChanged, Commit, DeleteSurrounding and PrivateCommand. */ void ConnectCallbacks(); @@ -125,6 +133,11 @@ public: */ void DeleteSurrounding( void *data, Ecore_IMF_Context *imfContext, void *event_info ); + /** + * @copydoc Dali::ImfManager::SendPrivateCommand() + */ + void SendPrivateCommand( void* data, Ecore_IMF_Context* imfContext, void* event_info ); + // Cursor related /** * @copydoc Dali::ImfManager::NotifyCursorPosition() @@ -156,6 +169,66 @@ public: */ void NotifyTextInputMultiLine( bool multiLine ); + /** + * @copydoc Dali::ImfManager::GetTextDirection() + */ + Dali::ImfManager::TextDirection GetTextDirection(); + + /** + * @copydoc Dali::ImfManager::GetInputMethodArea() + */ + Dali::Rect 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 /** @@ -168,6 +241,26 @@ 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: /** @@ -195,16 +288,23 @@ private: private: Ecore_IMF_Context* mIMFContext; + Ecore_Wl_Window *mEcoreWlwin; 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. std::vector mKeyEvents; ///< Stores key events to be sent from idle call-back. - - ImfManagerSignalType mActivatedSignal; - ImfEventSignalType mEventSignal; + InputMethodOptions mOptions; + + ImfManagerSignalType mActivatedSignal; + ImfEventSignalType mEventSignal; + ImfStatusSignalType mKeyboardStatusSignal; + ImfVoidSignalType mKeyboardResizeSignal; + ImfVoidSignalType mKeyboardLanguageChangedSignal; + ImfKeyboardTypeSignalType mKeyboardTypeChangedSignal; public: