From 2406c6f7f28cdb6bc196fdcce38cde0b2dd5103c Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 27 Sep 2019 13:43:39 +0900 Subject: [PATCH] Add update_preedit_caret() API Change-Id: I9a84b17039fe788d989b979435c2acb19d62eb5e Signed-off-by: Jihoon Kim --- src/sclconnection-isf.cpp | 7 +++++++ src/sclconnection-isf.h | 1 + src/sclconnection.cpp | 7 +++++++ src/sclconnection.h | 1 + src/sclcore.cpp | 7 +++++++ src/sclcore.h | 7 +++++++ src/sclcoreimpl.cpp | 5 +++++ src/sclcoreimpl.h | 1 + 8 files changed, 36 insertions(+) diff --git a/src/sclconnection-isf.cpp b/src/sclconnection-isf.cpp index b8f4f4f..dc09b23 100644 --- a/src/sclconnection-isf.cpp +++ b/src/sclconnection-isf.cpp @@ -1100,6 +1100,13 @@ void CSCLConnectionISF::update_preedit_string(sclint ic, const sclchar *ic_uuid, } } +void CSCLConnectionISF::update_preedit_caret(sclint caret) +{ + if (m_initialized) { + m_helper_agent.update_preedit_caret(caret); + } +} + void CSCLConnectionISF::update_aux_string(const sclchar *str) { if (m_initialized) { diff --git a/src/sclconnection-isf.h b/src/sclconnection-isf.h index 84b226d..3d5036a 100644 --- a/src/sclconnection-isf.h +++ b/src/sclconnection-isf.h @@ -72,6 +72,7 @@ public: void hide_associate_string(void); void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str); void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str, const scim::AttributeList &attrs); + void update_preedit_caret(sclint caret); void update_aux_string(const sclchar *str); void update_input_context(sclu32 type, sclu32 value); void update_geometry(sclint x, sclint y, sclint width, sclint height); diff --git a/src/sclconnection.cpp b/src/sclconnection.cpp index e574903..5ceaac7 100644 --- a/src/sclconnection.cpp +++ b/src/sclconnection.cpp @@ -252,6 +252,13 @@ void CSCLConnection::update_preedit_string(sclint ic, const sclchar *ic_uuid, co } } +void CSCLConnection::update_preedit_caret(sclint caret) +{ + if (m_impl) { + m_impl->update_preedit_caret(caret); + } +} + void CSCLConnection::update_aux_string(const sclchar *str) { if (m_impl) { diff --git a/src/sclconnection.h b/src/sclconnection.h index 132cda2..c78f816 100644 --- a/src/sclconnection.h +++ b/src/sclconnection.h @@ -72,6 +72,7 @@ public: virtual void hide_associate_string(void); virtual void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str); virtual void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str, const scim::AttributeList &attrs); + virtual void update_preedit_caret(sclint caret); virtual void update_aux_string(const sclchar *str); virtual void update_input_context(sclu32 type, sclu32 value); virtual void update_geometry(sclint x, sclint y, sclint width, sclint height); diff --git a/src/sclcore.cpp b/src/sclcore.cpp index 586ebde..f677110 100644 --- a/src/sclcore.cpp +++ b/src/sclcore.cpp @@ -242,6 +242,13 @@ void CSCLCore::update_preedit_string(sclint ic, const sclchar *ic_uuid, const sc } } +void CSCLCore::update_preedit_caret(sclint caret) +{ + if (m_impl) { + m_impl->update_preedit_caret(caret); + } +} + void CSCLCore::update_aux_string(const sclchar *str) { if (m_impl) { diff --git a/src/sclcore.h b/src/sclcore.h index 23145a4..61a0ba4 100644 --- a/src/sclcore.h +++ b/src/sclcore.h @@ -234,6 +234,13 @@ public: void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str, const scim::AttributeList &attrs); /** + * @brief Update a cursor position in preedit string. + * + * @param[in] caret The cursor position in preedit. + */ + void update_preedit_caret(sclint caret); + + /** * @brief Update a new string for aux. * * @param[in] str The string to be updated. diff --git a/src/sclcoreimpl.cpp b/src/sclcoreimpl.cpp index 7606978..dd8a5b0 100644 --- a/src/sclcoreimpl.cpp +++ b/src/sclcoreimpl.cpp @@ -254,6 +254,11 @@ void CSCLCoreImpl::update_preedit_string(sclint ic, const sclchar *ic_uuid, cons m_connection.update_preedit_string(ic, ic_uuid, str, attrs); } +void CSCLCoreImpl::update_preedit_caret(sclint caret) +{ + m_connection.update_preedit_caret(caret); +} + void CSCLCoreImpl::update_aux_string(const sclchar *str) { m_connection.update_aux_string(str); diff --git a/src/sclcoreimpl.h b/src/sclcoreimpl.h index 8a9bac8..516714c 100644 --- a/src/sclcoreimpl.h +++ b/src/sclcoreimpl.h @@ -78,6 +78,7 @@ public: void hide_associate_string(void); void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str); void update_preedit_string(sclint ic, const sclchar *ic_uuid, const sclchar *str, const scim::AttributeList &attrs); + void update_preedit_caret(sclint caret); //void update_aux_string (const sclchar *str, const AttributeList &attrs) const; void update_aux_string(const sclchar *str); //void update_candidate_string (const LookupTable &table) const; -- 2.7.4