Chromium Code Reviews| Index: ui/base/ime/input_method_win.h |
| diff --git a/ui/base/ime/input_method_win.h b/ui/base/ime/input_method_win.h |
| index 39cb89ce361d2834bf805b5e0ccb18ab9638617f..795d04f7bcdf0770801113979b37da66d5740f84 100644 |
| --- a/ui/base/ime/input_method_win.h |
| +++ b/ui/base/ime/input_method_win.h |
| @@ -22,27 +22,30 @@ class UI_BASE_EXPORT InputMethodWin : public InputMethodBase { |
| InputMethodWin(internal::InputMethodDelegate* delegate, |
| HWND toplevel_window_handle); |
| + private: |
|
Yuki
2014/02/19 05:37:13
I think InputMethodWin is just a concrete implemen
yukawa
2014/02/19 06:53:43
Hmm, I sometimes use this style but I'll follow yo
Yuki
2014/02/19 07:13:57
Good article, but it wouldn't apply to this case.
yukawa
2014/02/19 10:02:42
Done. I left public and protected as they are. Do
|
| // Overridden from InputMethod: |
| virtual void Init(bool focused) OVERRIDE; |
| + virtual void OnFocus() OVERRIDE; |
| + virtual void OnBlur() OVERRIDE; |
| + virtual bool OnUntranslatedIMEMessage(const base::NativeEvent& event, |
| + NativeEventResult* result) OVERRIDE; |
| virtual bool DispatchKeyEvent(const ui::KeyEvent& event) OVERRIDE; |
| + virtual void OnTextInputTypeChanged(const TextInputClient* client) OVERRIDE; |
| + virtual void OnCaretBoundsChanged(const TextInputClient* client) OVERRIDE; |
| + virtual void CancelComposition(const TextInputClient* client) OVERRIDE; |
| virtual void OnInputLocaleChanged() OVERRIDE; |
| virtual std::string GetInputLocale() OVERRIDE; |
| virtual bool IsActive() OVERRIDE; |
| + virtual bool IsCandidatePopupOpen() const OVERRIDE; |
| - protected: |
| // Overridden from InputMethodBase: |
| // If a derived class overrides this method, it should call parent's |
| // implementation. |
| + virtual void OnWillChangeFocusedClient(TextInputClient* focused_before, |
| + TextInputClient* focused) OVERRIDE; |
| virtual void OnDidChangeFocusedClient(TextInputClient* focused_before, |
| TextInputClient* focused) OVERRIDE; |
| - // Some IMEs rely on WM_IME_REQUEST message even when TSF is enabled. So |
| - // OnImeRequest (and its actual implementations as OnDocumentFeed, |
| - // OnReconvertString, and OnQueryCharPosition) are placed in this base class. |
| - LRESULT OnImeRequest(UINT message, |
| - WPARAM wparam, |
| - LPARAM lparam, |
| - BOOL* handled); |
| // For both WM_CHAR and WM_SYSCHAR |
| LRESULT OnChar(HWND window_handle, |
| UINT message, |
| @@ -50,6 +53,38 @@ class UI_BASE_EXPORT InputMethodWin : public InputMethodBase { |
| LPARAM lparam, |
| BOOL* handled); |
| + LRESULT OnImeSetContext(HWND window_handle, |
| + UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam, |
| + BOOL* handled); |
| + LRESULT OnImeStartComposition(HWND window_handle, |
| + UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam, |
| + BOOL* handled); |
| + LRESULT OnImeComposition(HWND window_handle, |
| + UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam, |
| + BOOL* handled); |
| + LRESULT OnImeEndComposition(HWND window_handle, |
| + UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam, |
| + BOOL* handled); |
| + LRESULT OnImeNotify(UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam, |
| + BOOL* handled); |
| + |
| + // Some IMEs rely on WM_IME_REQUEST message even when TSF is enabled. So |
| + // OnImeRequest (and its actual implementations as OnDocumentFeed, |
| + // OnReconvertString, and OnQueryCharPosition) are placed in this base class. |
| + LRESULT OnImeRequest(UINT message, |
| + WPARAM wparam, |
| + LPARAM lparam, |
| + BOOL* handled); |
| LRESULT OnDocumentFeed(RECONVERTSTRING* reconv); |
| LRESULT OnReconvertString(RECONVERTSTRING* reconv); |
| LRESULT OnQueryCharPosition(IMECHARPOSITION* char_positon); |
| @@ -62,16 +97,18 @@ class UI_BASE_EXPORT InputMethodWin : public InputMethodBase { |
| // to be ready for receiving keyboard input. |
| bool IsWindowFocused(const TextInputClient* client) const; |
| - // Indicates if the current input locale has an IME. |
| - bool active_; |
| + bool DispatchFabricatedKeyEvent(const ui::KeyEvent& event); |
| + |
| + // Asks the client to confirm current composition text. |
| + void ConfirmCompositionText(); |
| + |
| + // Enables or disables the IME according to the current text input type. |
| + void UpdateIMEState(); |
| // Windows IMM32 wrapper. |
| // (See "ui/base/ime/win/ime_input.h" for its details.) |
| ui::IMM32Manager imm32_manager_; |
| - private: |
| - bool DispatchFabricatedKeyEvent(const ui::KeyEvent& event); |
| - |
| // The toplevel window handle. |
| // On non-Aura environment, this value is not used and always NULL. |
| const HWND toplevel_window_handle_; |
| @@ -90,6 +127,19 @@ class UI_BASE_EXPORT InputMethodWin : public InputMethodBase { |
| // TODO(yukawa, IME): Figure out long-term solution. |
| bool accept_carriage_return_; |
| + // Indicates if the current input locale has an IME. |
| + bool active_; |
| + |
| + // True when an IME should be allowed to process key events. |
| + bool enabled_; |
| + |
| + // True if we know for sure that a candidate window is open. |
| + bool is_candidate_popup_open_; |
| + |
| + // Window handle where composition is on-going. NULL when there is no |
| + // composition. |
| + HWND composing_window_handle_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(InputMethodWin); |
| }; |