IMF manager clean up. 19/50119/4
authorVictor Cebollada <v.cebollada@samsung.com>
Fri, 23 Oct 2015 14:02:06 +0000 (15:02 +0100)
committerVictor Cebollada <v.cebollada@samsung.com>
Mon, 26 Oct 2015 15:56:24 +0000 (15:56 +0000)
Change-Id: Idd56a19a882db72a384e47bf974b55889d927443
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
adaptors/common/virtual-keyboard-impl.cpp
adaptors/devel-api/adaptor-framework/imf-manager.cpp
adaptors/devel-api/adaptor-framework/imf-manager.h
adaptors/wayland/event-handler-wl.cpp
adaptors/wayland/imf-manager-impl-wl.cpp
adaptors/wayland/imf-manager-impl.h
adaptors/x11/ecore-x-event-handler.cpp
adaptors/x11/imf-manager-impl-x.cpp
adaptors/x11/imf-manager-impl.h
adaptors/x11/virtual-keyboard-impl-x.cpp

index bc16c05..df521d1 100644 (file)
@@ -21,7 +21,6 @@
 // EXTERNAL INCLUDES
 #include <algorithm>
 
-#include <dali/public-api/common/vector-wrapper.h>
 #include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
@@ -134,7 +133,7 @@ void DisconnectCallbacks( Ecore_IMF_Context *imfContext )
 void Show()
 {
   Dali::ImfManager imfManager = ImfManager::Get(); // Create ImfManager instance (if required) to show the keyboard
-  Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+  Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
   if( imfContext )
   {
@@ -147,7 +146,7 @@ void Hide()
   if( ImfManager::IsAvailable() /* We do not want to create an ImfManager instance*/ )
   {
     Dali::ImfManager imfManager = ImfManager::Get();
-    Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+    Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
     if( imfContext )
     {
@@ -163,7 +162,7 @@ bool IsVisible()
     DALI_LOG_INFO( gLogFilter, Debug::General, "IMF IsVisible\n" );
 
     Dali::ImfManager imfManager = ImfManager::Get();
-    Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+    Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
     if ( imfContext )
     {
@@ -205,7 +204,7 @@ void ApplySettings( const Property::Map& settingsMap )
 void EnablePrediction(const bool enable)
 {
   Dali::ImfManager imfManager = ImfManager::Get(); // Create ImfManager instance (if required) when enabling prediction
-  Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+  Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
   if ( imfContext )
   {
@@ -218,7 +217,7 @@ bool IsPredictionEnabled()
   if ( ImfManager::IsAvailable() /* We do not want to create an instance of ImfManger */ )
   {
     Dali::ImfManager imfManager = ImfManager::Get();
-    Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+    Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
     if ( imfContext )
     {
@@ -239,7 +238,7 @@ Rect<int> GetSizeAndPosition()
 
   width = height = xPos = yPos = 0;
   Dali::ImfManager imfManager = ImfManager::Get(); // Create ImfManager instance (if required) as we may need to do some size related setup in the application
-  Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+  Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
   if( imfContext )
   {
@@ -279,7 +278,7 @@ Dali::VirtualKeyboard::TextDirection GetTextDirection()
 
     if ( imfManager )
     {
-      Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+      Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
       if ( imfContext )
       {
index 94d5fc1..f083c8b 100644 (file)
@@ -38,11 +38,6 @@ ImfManager ImfManager::Get()
   return Internal::Adaptor::ImfManager::Get();
 }
 
-ImfContext ImfManager::GetContext()
-{
-  return reinterpret_cast<ImfContext>( Internal::Adaptor::ImfManager::GetImplementation(*this).GetContext() );
-}
-
 void ImfManager::Activate()
 {
   Internal::Adaptor::ImfManager::GetImplementation(*this).Activate();
@@ -78,17 +73,17 @@ void ImfManager::SetCursorPosition( unsigned int SetCursorPosition )
   Internal::Adaptor::ImfManager::GetImplementation(*this).SetCursorPosition( SetCursorPosition );
 }
 
-int ImfManager::GetCursorPosition()
+unsigned int ImfManager::GetCursorPosition() const
 {
   return Internal::Adaptor::ImfManager::GetImplementation(*this).GetCursorPosition();
 }
 
-void ImfManager::SetSurroundingText( std::string text )
+void ImfManager::SetSurroundingText( const std::string& text )
 {
   Internal::Adaptor::ImfManager::GetImplementation(*this).SetSurroundingText( text );
 }
 
-std::string ImfManager::GetSurroundingText()
+const std::string& ImfManager::GetSurroundingText() const
 {
   return Internal::Adaptor::ImfManager::GetImplementation(*this).GetSurroundingText();
 }
index 00e589e..a674ce7 100644 (file)
@@ -33,9 +33,6 @@ class ImfManager;
 }
 }
 
-// TODO: Temporary patch to hidden ecore dependency. Must fix it.
-typedef void* ImfContext;
-
 /**
  * @brief The ImfManager class
  *
@@ -66,8 +63,8 @@ public:
      * @brief Default Constructor.
      */
     ImfEventData()
-    : eventName( VOID ),
-      predictiveString(""),
+    : predictiveString(),
+      eventName( VOID ),
       cursorOffset( 0 ),
       numberOfChars ( 0 )
     {
@@ -81,16 +78,19 @@ public:
      * @param[in] aCursorOffset Start position from the current cursor position to start deleting characters.
      * @param[in] aNumberOfChars The number of characters to delete from the cursorOffset.
      */
-    ImfEventData(ImfEvent aEventName, const std::string& aPredictiveString, int aCursorOffset,int aNumberOfChars  )
-    : eventName(aEventName), predictiveString(aPredictiveString), cursorOffset( aCursorOffset ), numberOfChars( aNumberOfChars )
+    ImfEventData( ImfEvent aEventName, const std::string& aPredictiveString, int aCursorOffset, int aNumberOfChars )
+    : predictiveString( aPredictiveString ),
+      eventName( aEventName ),
+      cursorOffset( aCursorOffset ),
+      numberOfChars( aNumberOfChars )
     {
     }
 
     // Data
-    ImfEvent eventName; ///< The name of the event from the IMF.
     std::string predictiveString; ///< The pre-edit or commit string.
-    int cursorOffset; ///< Start position from the current cursor position to start deleting characters.
-    int numberOfChars; ///< number of characters to delete from the cursorOffset.
+    ImfEvent eventName;           ///< The name of the event from the IMF.
+    int cursorOffset;             ///< Start position from the current cursor position to start deleting characters.
+    int numberOfChars;            ///< number of characters to delete from the cursorOffset.
   };
 
   /**
@@ -101,8 +101,11 @@ public:
     /**
      * @brief Constructor
      */
-    ImfCallbackData( )
-    : update( false ), cursorPosition( 0 ), preeditResetRequired ( false )
+    ImfCallbackData()
+    : currentText(),
+      cursorPosition( 0 ),
+      update( false ),
+      preeditResetRequired( false )
     {
     }
 
@@ -113,19 +116,21 @@ public:
      * @param[in] aCurrentText current text string
      * @param[in] aPreeditResetRequired flag if preedit reset is required.
      */
-    ImfCallbackData(bool aUpdate, int aCursorPosition, std::string aCurrentText, bool aPreeditResetRequired )
-    : update(aUpdate), cursorPosition(aCursorPosition), currentText( aCurrentText ), preeditResetRequired( aPreeditResetRequired )
+    ImfCallbackData( bool aUpdate, int aCursorPosition, const std::string& aCurrentText, bool aPreeditResetRequired )
+    : currentText( aCurrentText ),
+      cursorPosition( aCursorPosition ),
+      update( aUpdate ),
+      preeditResetRequired( aPreeditResetRequired )
     {
     }
 
-    bool update; ///< if cursor position needs to be updated
-    int cursorPosition; ///< new position of cursor
-    std::string currentText; ///< current text string
-    bool preeditResetRequired; ///< flag if preedit reset is required.
+    std::string currentText;      ///< current text string
+    int cursorPosition;           ///< new position of cursor
+    bool update               :1; ///< if cursor position needs to be updated
+    bool preeditResetRequired :1; ///< flag if preedit reset is required.
   };
 
   typedef Signal< void (ImfManager&) > ImfManagerSignalType; ///< Keyboard actived signal
-
   typedef Signal< ImfCallbackData ( ImfManager&, const ImfEventData& ) > ImfEventSignalType; ///< keyboard events
 
 public:
@@ -137,12 +142,6 @@ public:
   static ImfManager Get();
 
   /**
-   * @brief Get the current imf context.
-   * @return current imf context.
-   */
-  ImfContext GetContext();
-
-  /**
    * @brief Activate the IMF.
    *
    * It means that the text editing is started at somewhere.
@@ -196,21 +195,21 @@ public:
    *
    * @return current position of cursor
    */
-  int GetCursorPosition();
+  unsigned int GetCursorPosition() const;
 
   /**
    * @brief Method to store the string required by the IMF, this is used to provide predictive word suggestions.
    *
    * @param[in] text The text string surrounding the current cursor point.
    */
-  void SetSurroundingText( std::string text );
+  void SetSurroundingText( const std::string& text );
 
   /**
    * @brief Gets current text string set within the IMF manager, this is used to offer predictive suggestions.
    *
    * @return current position of cursor
    */
-  std::string GetSurroundingText();
+  const std::string& GetSurroundingText() const;
 
 public:
 
index 76e6dda..c32bec4 100644 (file)
@@ -319,7 +319,7 @@ struct EventHandler::Impl
       Dali::ImfManager imfManager( ImfManager::Get() );
       if ( imfManager )
       {
-        imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+        imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
       }
 
       if ( imfContext )
@@ -402,7 +402,7 @@ struct EventHandler::Impl
       Dali::ImfManager imfManager( ImfManager::Get() );
       if ( imfManager )
       {
-        imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+        imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
       }
 
       if ( imfContext )
index 84bbdd2..99b3a0e 100644 (file)
@@ -126,22 +126,22 @@ void ImfManager::NotifyCursorPosition()
 {
 }
 
-int ImfManager::GetCursorPosition()
+void ImfManager::SetCursorPosition( unsigned int cursorPosition )
 {
-  return mIMFCursorPosition;
+  mIMFCursorPosition = static_cast<int>( cursorPosition );
 }
 
-void ImfManager::SetCursorPosition( unsigned int cursorPosition )
+unsigned int ImfManager::GetCursorPosition() const
 {
-  mIMFCursorPosition = ( int )cursorPosition;
+  return static_cast<unsigned int>( mIMFCursorPosition );
 }
 
-void ImfManager::SetSurroundingText( std::string text )
+void ImfManager::SetSurroundingText( const std::string& text )
 {
   mSurroundingText = text;
 }
 
-std::string ImfManager::GetSurroundingText()
+const std::string& ImfManager::GetSurroundingText() const
 {
   return mSurroundingText;
 }
index 07ec6e3..ff5c61f 100644 (file)
@@ -131,24 +131,24 @@ public:
   void NotifyCursorPosition();
 
   /**
-   * @copydoc Dali::ImfManager::GetCursorPosition()
+   * @copydoc Dali::ImfManager::SetCursorPosition()
    */
-  int GetCursorPosition();
+  void SetCursorPosition( unsigned int cursorPosition );
 
   /**
-   * @copydoc Dali::ImfManager::SetCursorPosition()
+   * @copydoc Dali::ImfManager::GetCursorPosition()
    */
-  void SetCursorPosition( unsigned int cursorPosition );
+  unsigned int GetCursorPosition() const;
 
   /**
    * @copydoc Dali::ImfManager::SetSurroundingText()
    */
-  void SetSurroundingText( std::string text );
+  void SetSurroundingText( const std::string& text );
 
   /**
    * @copydoc Dali::ImfManager::GetSurroundingText()
    */
-  std::string GetSurroundingText();
+  const std::string& GetSurroundingText() const;
 
 public:  // Signals
 
index 739ed0b..52afebd 100644 (file)
@@ -635,7 +635,7 @@ struct EventHandler::Impl
       Dali::ImfManager imfManager( ImfManager::Get() );
       if ( imfManager )
       {
-        imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+        imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
       }
 
       if ( imfContext )
@@ -718,7 +718,7 @@ struct EventHandler::Impl
       Dali::ImfManager imfManager( ImfManager::Get() );
       if ( imfManager )
       {
-        imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+        imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
       }
 
       if ( imfContext )
index f64fdd0..bd1bb16 100644 (file)
@@ -41,7 +41,6 @@ namespace Adaptor
 
 namespace
 {
-
 #if defined(DEBUG_ENABLED)
 Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_IMF_MANAGER");
 #endif
@@ -184,10 +183,9 @@ Dali::ImfManager ImfManager::Get()
 ImfManager::ImfManager( Ecore_X_Window ecoreXwin )
 : mIMFContext(),
   mIMFCursorPosition( 0 ),
-  mSurroundingText(""),
+  mSurroundingText(),
   mRestoreAfterFocusLost( false ),
-  mIdleCallbackConnected( false ),
-  mKeyEvents()
+  mIdleCallbackConnected( false )
 {
   ecore_imf_init();
   CreateContext( ecoreXwin );
@@ -334,16 +332,16 @@ void ImfManager::SetRestoreAfterFocusLost( bool toggle )
  * We are still predicting what the user is typing.  The latest string is what the IMF module thinks
  * the user wants to type.
  */
-void ImfManager::PreEditChanged( void *, Ecore_IMF_Context *imfContext, void *event_info )
+void ImfManager::PreEditChanged( void*, Ecore_IMF_Context* imfContext, void* event_info )
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::PreEditChanged\n" );
 
-  char *preEditString( NULL );
+  charpreEditString( NULL );
   int cursorPosition( 0 );
-  Eina_List *attrs = NULL;
-  Eina_List *l = NULL;
+  Eina_Listattrs = NULL;
+  Eina_Listl = NULL;
 
-  Ecore_IMF_Preedit_Attr *attr;
+  Ecore_IMF_Preedit_Attrattr;
 
   // Retrieves attributes as well as the string the cursor position offset from start of pre-edit string.
   // the attributes (attrs) is used in languages that use the soft arrows keys to insert characters into a current pre-edit string.
@@ -352,7 +350,7 @@ void ImfManager::PreEditChanged( void *, Ecore_IMF_Context *imfContext, void *ev
   if ( attrs )
   {
     // iterate through the list of attributes getting the type, start and end position.
-    for ( l = attrs, (attr =  (Ecore_IMF_Preedit_Attr*)eina_list_data_get(l) ); l; l = eina_list_next(l), ( attr = (Ecore_IMF_Preedit_Attr*)eina_list_data_get(l) ))
+    for ( l = attrs, (attr =  static_cast<Ecore_IMF_Preedit_Attr*>( eina_list_data_get(l) ) ); l; l = eina_list_next(l), ( attr = static_cast<Ecore_IMF_Preedit_Attr*>( eina_list_data_get(l) ) ))
     {
 #ifdef DALI_PROFILE_UBUNTU
       if ( attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3 ) // (Ecore_IMF)
@@ -366,10 +364,11 @@ void ImfManager::PreEditChanged( void *, Ecore_IMF_Context *imfContext, void *ev
         size_t byteIndex = 0;
 
         // iterate through null terminated string checking each character's position against the given byte position ( attr->end_index ).
-        while ( preEditString[byteIndex] != '\0' )
+        const char leadByte = preEditString[byteIndex];
+        while( leadByte != '\0' )
         {
           // attr->end_index is provided as a byte position not character and we need to know the character position.
-          size_t currentSequenceLength = Utf8SequenceLength(preEditString[byteIndex]); // returns number of bytes used to represent character.
+          const size_t currentSequenceLength = Utf8SequenceLength( leadByte ); // returns number of bytes used to represent character.
           if ( byteIndex == attr->end_index )
           {
             cursorPosition = visualCharacterIndex;
@@ -390,11 +389,8 @@ void ImfManager::PreEditChanged( void *, Ecore_IMF_Context *imfContext, void *ev
 
   if ( Dali::Adaptor::IsAvailable() )
   {
-    std::string keyString ( preEditString );
-    int numberOfChars( 0 );
-
     Dali::ImfManager handle( this );
-    Dali::ImfManager::ImfEventData imfEventData ( Dali::ImfManager::PREEDIT, keyString, cursorPosition, numberOfChars );
+    Dali::ImfManager::ImfEventData imfEventData( Dali::ImfManager::PREEDIT, preEditString, cursorPosition, 0 );
     Dali::ImfManager::ImfCallbackData callbackData = mEventSignal.Emit( handle, imfEventData );
 
     if ( callbackData.update )
@@ -413,21 +409,19 @@ void ImfManager::PreEditChanged( void *, Ecore_IMF_Context *imfContext, void *ev
   free( preEditString );
 }
 
-void ImfManager::CommitReceived( void *, Ecore_IMF_Context *imfContext, void *event_info )
+void ImfManager::CommitReceived( void*, Ecore_IMF_Context* imfContext, void* event_info )
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::CommitReceived\n" );
 
   if ( Dali::Adaptor::IsAvailable() )
   {
-    const std::string keyString( (char *)event_info );
-    const int cursorOffset( 0 );
-    const int numberOfChars( 0 );
+    const std::string keyString( static_cast<char*>( event_info ) );
 
     Dali::ImfManager handle( this );
-    Dali::ImfManager::ImfEventData imfEventData ( Dali::ImfManager::COMMIT, keyString, cursorOffset, numberOfChars );
+    Dali::ImfManager::ImfEventData imfEventData( Dali::ImfManager::COMMIT, keyString, 0, 0 );
     Dali::ImfManager::ImfCallbackData callbackData = mEventSignal.Emit( handle, imfEventData );
 
-    if ( callbackData.update )
+    if( callbackData.update )
     {
       SetCursorPosition( callbackData.cursorPosition );
       SetSurroundingText( callbackData.currentText );
@@ -442,38 +436,24 @@ void ImfManager::CommitReceived( void *, Ecore_IMF_Context *imfContext, void *ev
  * Here the IMF module wishes to know the string we are working with and where within the string the cursor is
  * We need to signal the application to tell us this information.
  */
-Eina_Bool ImfManager::RetrieveSurrounding( void *data, Ecore_IMF_Context *imfContext, char** text, int* cursorPosition )
+Eina_Bool ImfManager::RetrieveSurrounding( void* data, Ecore_IMF_Context* imfContext, char** text, int* cursorPosition )
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::RetrieveSurrounding\n" );
 
-  std::string keyString ( "" );
-  int cursorOffset( 0 );
-  int numberOfChars( 0 );
-
-  Dali::ImfManager::ImfEventData imfData ( Dali::ImfManager::GETSURROUNDING , keyString, cursorOffset, numberOfChars );
+  Dali::ImfManager::ImfEventData imfData( Dali::ImfManager::GETSURROUNDING, std::string(), 0, 0 );
   Dali::ImfManager handle( this );
   mEventSignal.Emit( handle, imfData );
 
-  if ( text )
+  if( text )
   {
-    std::string surroundingText( GetSurroundingText() );
-
-    if ( !surroundingText.empty() )
-    {
-      *text = strdup( surroundingText.c_str() );
-    }
-    else
-    {
-      *text = strdup( "" );
-    }
+    *text = strdup( mSurroundingText.c_str() );
   }
 
-  if ( cursorPosition )
+  if( cursorPosition )
   {
-    *cursorPosition = GetCursorPosition();
+    *cursorPosition = mIMFCursorPosition;
   }
 
-
   return EINA_TRUE;
 }
 
@@ -481,19 +461,15 @@ Eina_Bool ImfManager::RetrieveSurrounding( void *data, Ecore_IMF_Context *imfCon
  * Called when an IMF delete surrounding event is received.
  * Here we tell the application that it should delete a certain range.
  */
-void ImfManager::DeleteSurrounding( void *data, Ecore_IMF_Context *imfContext, void *event_info )
+void ImfManager::DeleteSurrounding( void* data, Ecore_IMF_Context* imfContext, void* event_info )
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::DeleteSurrounding\n" );
 
-  if ( Dali::Adaptor::IsAvailable() )
+  if( Dali::Adaptor::IsAvailable() )
   {
-    Ecore_IMF_Event_Delete_Surrounding* deleteSurroundingEvent = (Ecore_IMF_Event_Delete_Surrounding*) event_info;
-
-    const std::string keyString( "" );
-    const int cursorOffset( deleteSurroundingEvent->offset );
-    const int numberOfChars( deleteSurroundingEvent->n_chars );
+    Ecore_IMF_Event_Delete_Surrounding* deleteSurroundingEvent = static_cast<Ecore_IMF_Event_Delete_Surrounding*>( event_info );
 
-    Dali::ImfManager::ImfEventData imfData ( Dali::ImfManager::DELETESURROUNDING , keyString, cursorOffset, numberOfChars );
+    Dali::ImfManager::ImfEventData imfData( Dali::ImfManager::DELETESURROUNDING, std::string(), deleteSurroundingEvent->offset, deleteSurroundingEvent->n_chars );
     Dali::ImfManager handle( this );
     mEventSignal.Emit( handle, imfData );
   }
@@ -503,34 +479,34 @@ void ImfManager::NotifyCursorPosition()
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::NotifyCursorPosition\n" );
 
-  if ( mIMFContext )
+  if( mIMFContext )
   {
     ecore_imf_context_cursor_position_set( mIMFContext, mIMFCursorPosition );
   }
 }
 
-int ImfManager::GetCursorPosition()
+void ImfManager::SetCursorPosition( unsigned int cursorPosition )
 {
-  DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::GetCursorPosition\n" );
+  DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::SetCursorPosition\n" );
 
-  return mIMFCursorPosition;
+  mIMFCursorPosition = static_cast<int>( cursorPosition );
 }
 
-void ImfManager::SetCursorPosition( unsigned int cursorPosition )
+unsigned int ImfManager::GetCursorPosition() const
 {
-  DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::SetCursorPosition\n" );
+  DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::GetCursorPosition\n" );
 
-  mIMFCursorPosition = ( int )cursorPosition;
+  return static_cast<unsigned int>( mIMFCursorPosition );
 }
 
-void ImfManager::SetSurroundingText( std::string text )
+void ImfManager::SetSurroundingText( const std::string& text )
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::SetSurroundingText\n" );
 
   mSurroundingText = text;
 }
 
-std::string ImfManager::GetSurroundingText()
+const std::string& ImfManager::GetSurroundingText() const
 {
   DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::GetSurroundingText\n" );
 
index 0ae0f9f..7fbab59 100644 (file)
@@ -23,7 +23,6 @@
 #include <Ecore_X.h>
 
 #include <dali/public-api/object/base-object.h>
-#include <dali/integration-api/events/key-event-integ.h>
 
 // INTERNAL INCLUDES
 #include <imf-manager.h>
@@ -112,22 +111,22 @@ public:
   /**
    * @copydoc Dali::ImfManager::PreEditChanged()
    */
-  void PreEditChanged( void *data, Ecore_IMF_Context *imfContext, void *event_info );
+  void PreEditChanged( void* data, Ecore_IMF_Context* imfContext, void* event_info );
 
   /**
    * @copydoc Dali::ImfManager::NotifyCursorPosition()
    */
-  void CommitReceived( void *data, Ecore_IMF_Context *imfContext, void *event_info );
+  void CommitReceived( void* data, Ecore_IMF_Context* imfContext, void* event_info );
 
   /**
    * @copydoc Dali::ImfManager::NotifyCursorPosition()
    */
-  Eina_Bool RetrieveSurrounding( void *data, Ecore_IMF_Context *imfContext, char** text, int* cursorPosition );
+  Eina_Bool RetrieveSurrounding( void* data, Ecore_IMF_Context* imfContext, char** text, int* cursorPosition );
 
   /**
    * @copydoc Dali::ImfManager::DeleteSurrounding()
    */
-  void DeleteSurrounding( void *data, Ecore_IMF_Context *imfContext, void *event_info );
+  void DeleteSurrounding( void* data, Ecore_IMF_Context* imfContext, void* event_info );
 
   // Cursor related
   /**
@@ -136,24 +135,24 @@ public:
   void NotifyCursorPosition();
 
   /**
-   * @copydoc Dali::ImfManager::GetCursorPosition()
+   * @copydoc Dali::ImfManager::SetCursorPosition()
    */
-  int GetCursorPosition();
+  void SetCursorPosition( unsigned int cursorPosition );
 
   /**
-   * @copydoc Dali::ImfManager::SetCursorPosition()
+   * @copydoc Dali::ImfManager::GetCursorPosition()
    */
-  void SetCursorPosition( unsigned int cursorPosition );
+  unsigned int GetCursorPosition() const;
 
   /**
    * @copydoc Dali::ImfManager::SetSurroundingText()
    */
-  void SetSurroundingText( std::string text );
+  void SetSurroundingText( const std::string& text );
 
   /**
    * @copydoc Dali::ImfManager::GetSurroundingText()
    */
-  std::string GetSurroundingText();
+  const std::string& GetSurroundingText() const;
 
 public:  // Signals
 
@@ -199,8 +198,6 @@ private:
   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<Dali::Integration::KeyEvent> mKeyEvents; ///< Stores key events to be sent from idle call-back.
-
   ImfManagerSignalType      mActivatedSignal;
   ImfEventSignalType        mEventSignal;
 
index b1fdc60..f1a4c6f 100644 (file)
@@ -23,7 +23,6 @@
 #include <Ecore_X.h>
 #include <algorithm>
 
-#include <dali/public-api/common/vector-wrapper.h>
 #include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
@@ -77,9 +76,9 @@ void RotateTo(int angle)
     // Get Focus window
     XGetInputFocus(display, &focusWindow, &revert);
 
-    ecore_x_window_prop_property_set(focusWindow,
+    ecore_x_window_prop_property_set( focusWindow,
                                       ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE,
-                                      ECORE_X_ATOM_CARDINAL, 32, &angle, 1);
+                                      ECORE_X_ATOM_CARDINAL, 32, &angle, 1 );
     XCloseDisplay(display);
   }
 }
@@ -87,7 +86,7 @@ void RotateTo(int angle)
 void SetReturnKeyType( const InputMethod::ActionButton type )
 {
   Dali::ImfManager imfManager = ImfManager::Get(); // Create ImfManager instance (if required) when setting values
-  Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
+  Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext();
 
   if( imfContext )
   {