OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_VIEWS_IME_INPUT_METHOD_BRIDGE_H_ | 5 #ifndef UI_VIEWS_IME_INPUT_METHOD_BRIDGE_H_ |
6 #define UI_VIEWS_IME_INPUT_METHOD_BRIDGE_H_ | 6 #define UI_VIEWS_IME_INPUT_METHOD_BRIDGE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 // sends/receives IME related events to/from a system-wide ui::InputMethod | 25 // sends/receives IME related events to/from a system-wide ui::InputMethod |
26 // object. | 26 // object. |
27 class InputMethodBridge : public InputMethodBase, | 27 class InputMethodBridge : public InputMethodBase, |
28 public ui::TextInputClient { | 28 public ui::TextInputClient { |
29 public: | 29 public: |
30 // |shared_input_method| indicates if |host| is shared among other top level | 30 // |shared_input_method| indicates if |host| is shared among other top level |
31 // widgets. | 31 // widgets. |
32 InputMethodBridge(internal::InputMethodDelegate* delegate, | 32 InputMethodBridge(internal::InputMethodDelegate* delegate, |
33 ui::InputMethod* host, | 33 ui::InputMethod* host, |
34 bool shared_input_method); | 34 bool shared_input_method); |
35 virtual ~InputMethodBridge(); | 35 ~InputMethodBridge() override; |
36 | 36 |
37 // Overridden from InputMethod: | 37 // Overridden from InputMethod: |
38 virtual void OnFocus() override; | 38 void OnFocus() override; |
39 virtual void OnBlur() override; | 39 void OnBlur() override; |
40 virtual bool OnUntranslatedIMEMessage(const base::NativeEvent& event, | 40 bool OnUntranslatedIMEMessage(const base::NativeEvent& event, |
41 NativeEventResult* result) override; | 41 NativeEventResult* result) override; |
42 virtual void DispatchKeyEvent(const ui::KeyEvent& key) override; | 42 void DispatchKeyEvent(const ui::KeyEvent& key) override; |
43 virtual void OnTextInputTypeChanged(View* view) override; | 43 void OnTextInputTypeChanged(View* view) override; |
44 virtual void OnCaretBoundsChanged(View* view) override; | 44 void OnCaretBoundsChanged(View* view) override; |
45 virtual void CancelComposition(View* view) override; | 45 void CancelComposition(View* view) override; |
46 virtual void OnInputLocaleChanged() override; | 46 void OnInputLocaleChanged() override; |
47 virtual std::string GetInputLocale() override; | 47 std::string GetInputLocale() override; |
48 virtual bool IsActive() override; | 48 bool IsActive() override; |
49 virtual bool IsCandidatePopupOpen() const override; | 49 bool IsCandidatePopupOpen() const override; |
50 virtual void ShowImeIfNeeded() override; | 50 void ShowImeIfNeeded() override; |
51 | 51 |
52 // Overridden from TextInputClient: | 52 // Overridden from TextInputClient: |
53 virtual void SetCompositionText( | 53 void SetCompositionText(const ui::CompositionText& composition) override; |
54 const ui::CompositionText& composition) override; | 54 void ConfirmCompositionText() override; |
55 virtual void ConfirmCompositionText() override; | 55 void ClearCompositionText() override; |
56 virtual void ClearCompositionText() override; | 56 void InsertText(const base::string16& text) override; |
57 virtual void InsertText(const base::string16& text) override; | 57 void InsertChar(base::char16 ch, int flags) override; |
58 virtual void InsertChar(base::char16 ch, int flags) override; | 58 gfx::NativeWindow GetAttachedWindow() const override; |
59 virtual gfx::NativeWindow GetAttachedWindow() const override; | 59 ui::TextInputType GetTextInputType() const override; |
60 virtual ui::TextInputType GetTextInputType() const override; | 60 ui::TextInputMode GetTextInputMode() const override; |
61 virtual ui::TextInputMode GetTextInputMode() const override; | 61 int GetTextInputFlags() const override; |
62 virtual int GetTextInputFlags() const override; | 62 bool CanComposeInline() const override; |
63 virtual bool CanComposeInline() const override; | 63 gfx::Rect GetCaretBounds() const override; |
64 virtual gfx::Rect GetCaretBounds() const override; | 64 bool GetCompositionCharacterBounds(uint32 index, |
65 virtual bool GetCompositionCharacterBounds(uint32 index, | 65 gfx::Rect* rect) const override; |
66 gfx::Rect* rect) const override; | 66 bool HasCompositionText() const override; |
67 virtual bool HasCompositionText() const override; | 67 bool GetTextRange(gfx::Range* range) const override; |
68 virtual bool GetTextRange(gfx::Range* range) const override; | 68 bool GetCompositionTextRange(gfx::Range* range) const override; |
69 virtual bool GetCompositionTextRange(gfx::Range* range) const override; | 69 bool GetSelectionRange(gfx::Range* range) const override; |
70 virtual bool GetSelectionRange(gfx::Range* range) const override; | 70 bool SetSelectionRange(const gfx::Range& range) override; |
71 virtual bool SetSelectionRange(const gfx::Range& range) override; | 71 bool DeleteRange(const gfx::Range& range) override; |
72 virtual bool DeleteRange(const gfx::Range& range) override; | 72 bool GetTextFromRange(const gfx::Range& range, |
73 virtual bool GetTextFromRange(const gfx::Range& range, | 73 base::string16* text) const override; |
74 base::string16* text) const override; | 74 void OnInputMethodChanged() override; |
75 virtual void OnInputMethodChanged() override; | 75 bool ChangeTextDirectionAndLayoutAlignment( |
76 virtual bool ChangeTextDirectionAndLayoutAlignment( | |
77 base::i18n::TextDirection direction) override; | 76 base::i18n::TextDirection direction) override; |
78 virtual void ExtendSelectionAndDelete(size_t before, size_t after) override; | 77 void ExtendSelectionAndDelete(size_t before, size_t after) override; |
79 virtual void EnsureCaretInRect(const gfx::Rect& rect) override; | 78 void EnsureCaretInRect(const gfx::Rect& rect) override; |
80 virtual void OnCandidateWindowShown() override; | 79 void OnCandidateWindowShown() override; |
81 virtual void OnCandidateWindowUpdated() override; | 80 void OnCandidateWindowUpdated() override; |
82 virtual void OnCandidateWindowHidden() override; | 81 void OnCandidateWindowHidden() override; |
83 virtual bool IsEditingCommandEnabled(int command_id) override; | 82 bool IsEditingCommandEnabled(int command_id) override; |
84 virtual void ExecuteEditingCommand(int command_id) override; | 83 void ExecuteEditingCommand(int command_id) override; |
85 | 84 |
86 // Overridden from FocusChangeListener. | 85 // Overridden from FocusChangeListener. |
87 virtual void OnWillChangeFocus(View* focused_before, View* focused) override; | 86 void OnWillChangeFocus(View* focused_before, View* focused) override; |
88 virtual void OnDidChangeFocus(View* focused_before, View* focused) override; | 87 void OnDidChangeFocus(View* focused_before, View* focused) override; |
89 | 88 |
90 ui::InputMethod* GetHostInputMethod() const; | 89 ui::InputMethod* GetHostInputMethod() const; |
91 | 90 |
92 private: | 91 private: |
93 class HostObserver; | 92 class HostObserver; |
94 | 93 |
95 void UpdateViewFocusState(); | 94 void UpdateViewFocusState(); |
96 | 95 |
97 ui::InputMethod* host_; | 96 ui::InputMethod* host_; |
98 | 97 |
99 // An observer observing the host input method for cases that the host input | 98 // An observer observing the host input method for cases that the host input |
100 // method is destroyed before this bridge input method. | 99 // method is destroyed before this bridge input method. |
101 scoped_ptr<HostObserver> host_observer_; | 100 scoped_ptr<HostObserver> host_observer_; |
102 | 101 |
103 const bool shared_input_method_; | 102 const bool shared_input_method_; |
104 | 103 |
105 DISALLOW_COPY_AND_ASSIGN(InputMethodBridge); | 104 DISALLOW_COPY_AND_ASSIGN(InputMethodBridge); |
106 }; | 105 }; |
107 | 106 |
108 } // namespace views | 107 } // namespace views |
109 | 108 |
110 #endif // UI_VIEWS_IME_INPUT_METHOD_BRIDGE_H_ | 109 #endif // UI_VIEWS_IME_INPUT_METHOD_BRIDGE_H_ |
OLD | NEW |