Revert "[Tizen] Add key grab list API"
[platform/core/uifw/dali-adaptor.git] / adaptors / ecore / wayland / imf-manager-impl.h
index ff5c61f..24de4ce 100644 (file)
@@ -23,6 +23,7 @@
 #include <Ecore.h>
 #include <Ecore_Wayland.h>
 
+#include <dali/public-api/common/vector-wrapper.h>
 #include <dali/public-api/object/base-object.h>
 #include <dali/integration-api/events/key-event-integ.h>
 
@@ -40,11 +41,13 @@ namespace Internal
 namespace Adaptor
 {
 
-class ImfManager : public Dali::BaseObject
+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;
 
 public:
 
@@ -150,6 +153,26 @@ public:
    */
   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 );
+
 public:  // Signals
 
   /**
@@ -162,6 +185,22 @@ 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; }
+
+
 protected:
 
   /**
@@ -171,12 +210,19 @@ protected:
 
 private:
   /**
+   * Context created the first time and kept until deleted.
+   * @param[in] ecoreWlwin, The window is created by application.
+   */
+  void CreateContext( Ecore_Wl_Window *ecoreWlwin );
+
+  /**
    * @copydoc Dali::ImfManager::DeleteContext()
    */
   void DeleteContext();
 
 private:
   // Undefined
+  ImfManager( Ecore_Wl_Window *ecoreWlwin );
   ImfManager( const ImfManager& );
   ImfManager& operator=( ImfManager& );
 
@@ -189,9 +235,13 @@ private:
   bool mIdleCallbackConnected:1;             ///< Whether the idle callback is already connected.
 
   std::vector<Dali::Integration::KeyEvent> mKeyEvents; ///< Stores key events to be sent from idle call-back.
+  InputMethodOptions        mOptions;
 
   ImfManagerSignalType      mActivatedSignal;
   ImfEventSignalType        mEventSignal;
+  ImfStatusSignalType       mKeyboardStatusSignal;
+  ImfVoidSignalType         mKeyboardResizeSignal;
+  ImfVoidSignalType         mKeyboardLanguageChangedSignal;
 
 public: