From 7def92e26ffdb167a0f9d8d931e0ba090fecb752 Mon Sep 17 00:00:00 2001 From: zhouyongfei Date: Tue, 21 Dec 2021 09:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=8EACE=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=A1=86=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhouyongfei --- .../include/input_method_controller.h | 8 +- .../include/input_method_utils.h | 121 ++++++++++++++---- .../src/input_method_controller.cpp | 8 +- .../src/input_method_utils.cpp | 5 + unitest/src/input_method_controller_test.cpp | 6 +- 5 files changed, 109 insertions(+), 39 deletions(-) diff --git a/frameworks/inputmethod_controller/include/input_method_controller.h b/frameworks/inputmethod_controller/include/input_method_controller.h index 891aa4fcc..1c4f6e578 100644 --- a/frameworks/inputmethod_controller/include/input_method_controller.h +++ b/frameworks/inputmethod_controller/include/input_method_controller.h @@ -35,8 +35,8 @@ namespace MiscServices { virtual void InsertText(const std::u16string& text) = 0; virtual void DeleteForward(int32_t length) = 0; virtual void DeleteBackward(int32_t length) = 0; - virtual void sendKeyEventFromInputMethod(KeyEvent event) = 0; - virtual void sendKeyboardStatus(KeyboardStatus status) = 0; + virtual void SendKeyEventFromInputMethod(const KeyEvent& event) = 0; + virtual void SendKeyboardStatus(const KeyboardInfo& info) = 0; virtual void SetKeyboardStatus(bool status) = 0; }; @@ -56,9 +56,9 @@ namespace MiscServices { void HideTextInput(); void Close(); void OnRemoteSaDied(const wptr &object); - void onCursorUpdate(CursorInfo cursorInfo); + void OnCursorUpdate(CursorInfo cursorInfo); void OnSelectionChange(std::u16string text, int start, int end); - void onConfigurationChange(Configuration info); + void OnConfigurationChange(Configuration info); private: InputMethodController(); ~InputMethodController(); diff --git a/frameworks/inputmethod_controller/include/input_method_utils.h b/frameworks/inputmethod_controller/include/input_method_utils.h index 332e78e30..3d7e030e8 100644 --- a/frameworks/inputmethod_controller/include/input_method_utils.h +++ b/frameworks/inputmethod_controller/include/input_method_utils.h @@ -16,34 +16,99 @@ #ifndef FM_IMC_PROJECT_INPUT_METHOD_UTILS_H #define FM_IMC_PROJECT_INPUT_METHOD_UTILS_H +#include + namespace OHOS { - namespace MiscServices { - class Configuration { - public: - enum { - TEXT_FIELD_ACTION_UNSPECIFIED = 0, - TEXT_FIELD_ACTION_NONE, - TEXT_FIELD_ACTION_GO, - TEXT_FIELD_ACTION_SEARCH, - TEXT_FIELD_ACTION_SEND, - TEXT_FIELD_ACTION_NEXT, - TEXT_FIELD_ACTION_DONE, - TEXT_FIELD_ACTION_PREVIOUS - }; - int mTextFieldAction; - }; - class CursorInfo { - }; - class KeyEvent { - }; - class KeyboardStatus { - public: - enum { - KEYBOARD_STATUS_HIDE = 0, - KEYBOARD_STATUS_SHOW - }; - int mKeyboardStatus; - }; - } +namespace MiscServices { + enum class EnterKeyType { + UNSPECIFIED = 0, + NONE, + GO, + SEARCH, + SEND, + NEXT, + DONE, + PREVIOUS + }; + + enum class TextInputType { + TEXT = 0, + MULTILINE, + NUMBER, + PHONE, + DATETIME, + EMAIL_ADDRESS, + URL, + VISIBLE_PASSWORD, + }; + class Configuration { + public: + EnterKeyType GetEnterKeyType() const + { + return enterKeyType; + } + + void SetEnterKeyType(EnterKeyType keyType) + { + enterKeyType = keyType; + } + TextInputType GetTextInputType() const + { + return textInputType; + } + + void SetTextInputType(TextInputType textType) + { + textInputType = textType; + } + + private: + EnterKeyType enterKeyType = EnterKeyType::UNSPECIFIED; + TextInputType textInputType = TextInputType::TEXT; + }; + + struct CursorInfo { + doule left = 0.0; + doule top = 0.0; + doule widht = 0.0; + doule height = 0.0; + }; + + class KeyEvent { + }; + + enum class KeyboardStatus { + NONE = 0, + HIDE, + SHOW + }; + enum class FunctionKey { + NONE = 0, + CONFIRM, + }; + class keyboardInfo { + public: + KeyboardStatus GetKeyboardStatus() const + { + return keyboardStatus; + } + void SetKeyboardStatus(int32_t status) const + { + keyboardStatus = static_cast(status); + } + FunctionKey GetFunctionKey() const + { + return functionKey; + } + void SetFunctionKey(int32_t key) const + { + functionKey = static_cast(key); + } + + private: + KeyboardStatus keyboardStatus = KeyboardStatus::NONE; + FunctionKey functionKey = FunctionKey::NONE; + }; +} } #endif // FM_IMC_PROJECT_INPUT_METHOD_UTILS_H \ No newline at end of file diff --git a/frameworks/inputmethod_controller/src/input_method_controller.cpp b/frameworks/inputmethod_controller/src/input_method_controller.cpp index b4c05e7dc..a22bc54da 100644 --- a/frameworks/inputmethod_controller/src/input_method_controller.cpp +++ b/frameworks/inputmethod_controller/src/input_method_controller.cpp @@ -253,9 +253,9 @@ using namespace MessageID; InputMethodController::GetInstance()->OnRemoteSaDied(object); } - void InputMethodController::onCursorUpdate(CursorInfo cursorInfo) + void InputMethodController::OnCursorUpdate(CursorInfo cursorInfo) { - IMSA_HILOGI("InputMethodController::onCursorUpdate"); + IMSA_HILOGI("InputMethodController::OnCursorUpdate"); } void InputMethodController::OnSelectionChange(std::u16string text, int start, int end) @@ -266,9 +266,9 @@ using namespace MessageID; mSelectEnd = end; } - void InputMethodController::onConfigurationChange(Configuration info) + void InputMethodController::OnConfigurationChange(Configuration info) { - IMSA_HILOGI("InputMethodController::onConfigurationChange"); + IMSA_HILOGI("InputMethodController::OnConfigurationChange"); } } } \ No newline at end of file diff --git a/frameworks/inputmethod_controller/src/input_method_utils.cpp b/frameworks/inputmethod_controller/src/input_method_utils.cpp index f7626c70f..c3659bcc6 100644 --- a/frameworks/inputmethod_controller/src/input_method_utils.cpp +++ b/frameworks/inputmethod_controller/src/input_method_utils.cpp @@ -12,4 +12,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include "input_method_utils.h" +namespace OHOS { +namespace MiscServices { +} +} diff --git a/unitest/src/input_method_controller_test.cpp b/unitest/src/input_method_controller_test.cpp index f55f8f95d..b0330889e 100644 --- a/unitest/src/input_method_controller_test.cpp +++ b/unitest/src/input_method_controller_test.cpp @@ -56,13 +56,13 @@ namespace MiscServices { { IMSA_HILOGI("IMC TEST TextListener DeleteForward length: %{public}d", length); } - void sendKeyEventFromInputMethod(KeyEvent event) + void SendKeyEventFromInputMethod(const KeyEvent& event) { IMSA_HILOGI("IMC TEST TextListener sendKeyEventFromInputMethod"); } - void sendKeyboardStatus(KeyboardStatus status) + void SendKeyboardInfo(const KeyboardInfo& info) { - IMSA_HILOGI("IMC TEST TextListener sendKeyboardStatus"); + IMSA_HILOGI("IMC TEST TextListener SendKeyboardInfo"); } }; class InputMethodControllerTest : public testing::Test { -- Gitee