From a4b5ab689e5f8e45709b08bb52616a5084ac84d7 Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Fri, 23 Oct 2015 15:02:06 +0100 Subject: [PATCH] IMF manager clean up. Change-Id: Idd56a19a882db72a384e47bf974b55889d927443 Signed-off-by: Victor Cebollada --- adaptors/common/virtual-keyboard-impl.cpp | 15 ++-- .../devel-api/adaptor-framework/imf-manager.cpp | 11 +-- adaptors/devel-api/adaptor-framework/imf-manager.h | 55 +++++++------ adaptors/wayland/event-handler-wl.cpp | 4 +- adaptors/wayland/imf-manager-impl-wl.cpp | 12 +-- adaptors/wayland/imf-manager-impl.h | 12 +-- adaptors/x11/ecore-x-event-handler.cpp | 4 +- adaptors/x11/imf-manager-impl-x.cpp | 94 ++++++++-------------- adaptors/x11/imf-manager-impl.h | 23 +++--- adaptors/x11/virtual-keyboard-impl-x.cpp | 7 +- 10 files changed, 101 insertions(+), 136 deletions(-) diff --git a/adaptors/common/virtual-keyboard-impl.cpp b/adaptors/common/virtual-keyboard-impl.cpp index bc16c05..df521d1 100644 --- a/adaptors/common/virtual-keyboard-impl.cpp +++ b/adaptors/common/virtual-keyboard-impl.cpp @@ -21,7 +21,6 @@ // EXTERNAL INCLUDES #include -#include #include // 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( 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( 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( 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( 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( imfManager.GetContext() ); + Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext(); if ( imfContext ) { @@ -239,7 +238,7 @@ Rect 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( 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( imfManager.GetContext() ); + Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext(); if ( imfContext ) { diff --git a/adaptors/devel-api/adaptor-framework/imf-manager.cpp b/adaptors/devel-api/adaptor-framework/imf-manager.cpp index 94d5fc1..f083c8b 100644 --- a/adaptors/devel-api/adaptor-framework/imf-manager.cpp +++ b/adaptors/devel-api/adaptor-framework/imf-manager.cpp @@ -38,11 +38,6 @@ ImfManager ImfManager::Get() return Internal::Adaptor::ImfManager::Get(); } -ImfContext ImfManager::GetContext() -{ - return reinterpret_cast( 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(); } diff --git a/adaptors/devel-api/adaptor-framework/imf-manager.h b/adaptors/devel-api/adaptor-framework/imf-manager.h index 00e589e..a674ce7 100644 --- a/adaptors/devel-api/adaptor-framework/imf-manager.h +++ b/adaptors/devel-api/adaptor-framework/imf-manager.h @@ -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: diff --git a/adaptors/wayland/event-handler-wl.cpp b/adaptors/wayland/event-handler-wl.cpp index 76e6dda..c32bec4 100644 --- a/adaptors/wayland/event-handler-wl.cpp +++ b/adaptors/wayland/event-handler-wl.cpp @@ -319,7 +319,7 @@ struct EventHandler::Impl Dali::ImfManager imfManager( ImfManager::Get() ); if ( imfManager ) { - imfContext = reinterpret_cast( 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( imfManager.GetContext() ); + imfContext = ImfManager::GetImplementation( imfManager ).GetContext(); } if ( imfContext ) diff --git a/adaptors/wayland/imf-manager-impl-wl.cpp b/adaptors/wayland/imf-manager-impl-wl.cpp index 84bbdd2..99b3a0e 100644 --- a/adaptors/wayland/imf-manager-impl-wl.cpp +++ b/adaptors/wayland/imf-manager-impl-wl.cpp @@ -126,22 +126,22 @@ void ImfManager::NotifyCursorPosition() { } -int ImfManager::GetCursorPosition() +void ImfManager::SetCursorPosition( unsigned int cursorPosition ) { - return mIMFCursorPosition; + mIMFCursorPosition = static_cast( cursorPosition ); } -void ImfManager::SetCursorPosition( unsigned int cursorPosition ) +unsigned int ImfManager::GetCursorPosition() const { - mIMFCursorPosition = ( int )cursorPosition; + return static_cast( 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; } diff --git a/adaptors/wayland/imf-manager-impl.h b/adaptors/wayland/imf-manager-impl.h index 07ec6e3..ff5c61f 100644 --- a/adaptors/wayland/imf-manager-impl.h +++ b/adaptors/wayland/imf-manager-impl.h @@ -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 diff --git a/adaptors/x11/ecore-x-event-handler.cpp b/adaptors/x11/ecore-x-event-handler.cpp index 739ed0b..52afebd 100644 --- a/adaptors/x11/ecore-x-event-handler.cpp +++ b/adaptors/x11/ecore-x-event-handler.cpp @@ -635,7 +635,7 @@ struct EventHandler::Impl Dali::ImfManager imfManager( ImfManager::Get() ); if ( imfManager ) { - imfContext = reinterpret_cast( 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( imfManager.GetContext() ); + imfContext = ImfManager::GetImplementation( imfManager ).GetContext(); } if ( imfContext ) diff --git a/adaptors/x11/imf-manager-impl-x.cpp b/adaptors/x11/imf-manager-impl-x.cpp index f64fdd0..bd1bb16 100644 --- a/adaptors/x11/imf-manager-impl-x.cpp +++ b/adaptors/x11/imf-manager-impl-x.cpp @@ -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 ); + char* preEditString( NULL ); int cursorPosition( 0 ); - Eina_List *attrs = NULL; - Eina_List *l = NULL; + Eina_List* attrs = NULL; + Eina_List* l = NULL; - Ecore_IMF_Preedit_Attr *attr; + Ecore_IMF_Preedit_Attr* attr; // 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( eina_list_data_get(l) ) ); l; l = eina_list_next(l), ( attr = static_cast( 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( 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( 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( 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( 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" ); diff --git a/adaptors/x11/imf-manager-impl.h b/adaptors/x11/imf-manager-impl.h index 0ae0f9f..7fbab59 100644 --- a/adaptors/x11/imf-manager-impl.h +++ b/adaptors/x11/imf-manager-impl.h @@ -23,7 +23,6 @@ #include #include -#include // INTERNAL INCLUDES #include @@ -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 mKeyEvents; ///< Stores key events to be sent from idle call-back. - ImfManagerSignalType mActivatedSignal; ImfEventSignalType mEventSignal; diff --git a/adaptors/x11/virtual-keyboard-impl-x.cpp b/adaptors/x11/virtual-keyboard-impl-x.cpp index b1fdc60..f1a4c6f 100644 --- a/adaptors/x11/virtual-keyboard-impl-x.cpp +++ b/adaptors/x11/virtual-keyboard-impl-x.cpp @@ -23,7 +23,6 @@ #include #include -#include #include // 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( imfManager.GetContext() ); + Ecore_IMF_Context* imfContext = ImfManager::GetImplementation( imfManager ).GetContext(); if( imfContext ) { -- 2.7.4