Merge "[Tizen] Add Finalize api for imf-manager" into tizen_4.0
[platform/core/uifw/dali-adaptor.git] / adaptors / wayland / input / text / imf / imf-manager-impl.h
old mode 100644 (file)
new mode 100755 (executable)
index 1af41bc..8b4df80
@@ -55,8 +55,15 @@ class ImfManager : public Dali::BaseObject, public ConnectionTracker
 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();
 
   /**
    * @brief Check whether the ImfManager is available.
@@ -153,6 +160,66 @@ public:
   */
   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
 
   /**
@@ -166,6 +233,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; }
+
+  /**
    * @brief Called when an IMF Pre-Edit change event is received.
    * We are still predicting what the user is typing.  The latest string is what the IMF module thinks
    * the user wants to type.
@@ -206,8 +293,12 @@ protected:
 
 private:
 
-  ImfManagerSignalType      mActivatedSignal;
-  ImfEventSignalType        mEventSignal;
+  ImfManagerSignalType       mActivatedSignal;
+  ImfEventSignalType         mEventSignal;
+  ImfStatusSignalType        mKeyboardStatusSignal;
+  ImfVoidSignalType          mKeyboardResizeSignal;
+  ImfVoidSignalType          mKeyboardLanguageChangedSignal;
+  ImfKeyboardTypeSignalType  mKeyboardTypeChangedSignal;
 
   // Undefined
   ImfManager( const ImfManager& );
@@ -219,6 +310,7 @@ private:
   std::string mSurroundingText;
   int mPreEditCursorPosition;
   int mEditCursorPosition;
+  bool mInited:1;                 ///< Whether the imf is already inited.
   bool mRestoreAfterFocusLost:1;  ///< Whether the keyboard needs to be restored (activated ) after focus regained.
 
 public: