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_BASE_IME_TEXT_INPUT_CLIENT_H_ | 5 #ifndef UI_BASE_IME_TEXT_INPUT_CLIENT_H_ |
6 #define UI_BASE_IME_TEXT_INPUT_CLIENT_H_ | 6 #define UI_BASE_IME_TEXT_INPUT_CLIENT_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/i18n/rtl.h" | 9 #include "base/i18n/rtl.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
11 #include "ui/base/ime/composition_text.h" | 11 #include "ui/base/ime/composition_text.h" |
12 #include "ui/base/ime/text_input_mode.h" | 12 #include "ui/base/ime/text_input_mode.h" |
13 #include "ui/base/ime/text_input_type.h" | 13 #include "ui/base/ime/text_input_type.h" |
14 #include "ui/base/ime/ui_base_ime_export.h" | 14 #include "ui/base/ime/ui_base_ime_export.h" |
15 #include "ui/gfx/native_widget_types.h" | 15 #include "ui/gfx/native_widget_types.h" |
16 #include "ui/gfx/range/range.h" | 16 #include "ui/gfx/range/range.h" |
17 | 17 |
18 namespace gfx { | 18 namespace gfx { |
19 class Rect; | 19 class Rect; |
20 } | 20 } |
21 | 21 |
22 namespace ui { | 22 namespace ui { |
23 | 23 |
| 24 class KeyEvent; |
| 25 |
24 // An interface implemented by a View that needs text input support. | 26 // An interface implemented by a View that needs text input support. |
25 class UI_BASE_IME_EXPORT TextInputClient { | 27 class UI_BASE_IME_EXPORT TextInputClient { |
26 public: | 28 public: |
27 virtual ~TextInputClient(); | 29 virtual ~TextInputClient(); |
28 | 30 |
29 // Input method result ------------------------------------------------------- | 31 // Input method result ------------------------------------------------------- |
30 | 32 |
31 // Sets composition text and attributes. If there is composition text already, | 33 // Sets composition text and attributes. If there is composition text already, |
32 // it'll be replaced by the new one. Otherwise, current selection will be | 34 // it'll be replaced by the new one. Otherwise, current selection will be |
33 // replaced. If there is no selection, the composition text will be inserted | 35 // replaced. If there is no selection, the composition text will be inserted |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 virtual void OnCandidateWindowShown() = 0; | 171 virtual void OnCandidateWindowShown() = 0; |
170 // Called when IME updates any appearance of the current candidate window. | 172 // Called when IME updates any appearance of the current candidate window. |
171 virtual void OnCandidateWindowUpdated() = 0; | 173 virtual void OnCandidateWindowUpdated() = 0; |
172 // Called when IME hides the candidate window. | 174 // Called when IME hides the candidate window. |
173 virtual void OnCandidateWindowHidden() = 0; | 175 virtual void OnCandidateWindowHidden() = 0; |
174 | 176 |
175 // Returns true if |command_id| is currently allowed to be executed. | 177 // Returns true if |command_id| is currently allowed to be executed. |
176 virtual bool IsEditingCommandEnabled(int command_id) = 0; | 178 virtual bool IsEditingCommandEnabled(int command_id) = 0; |
177 // Execute the command specified by |command_id|. | 179 // Execute the command specified by |command_id|. |
178 virtual void ExecuteEditingCommand(int command_id) = 0; | 180 virtual void ExecuteEditingCommand(int command_id) = 0; |
| 181 |
| 182 // Called in response to a KeyEvent before it is translated into an insert or |
| 183 // editing command. Return true if |key_event| shouldn't be further processed. |
| 184 virtual bool HandleAsKeyEventOnly(const ui::KeyEvent& key_event) = 0; |
179 }; | 185 }; |
180 | 186 |
181 } // namespace ui | 187 } // namespace ui |
182 | 188 |
183 #endif // UI_BASE_IME_TEXT_INPUT_CLIENT_H_ | 189 #endif // UI_BASE_IME_TEXT_INPUT_CLIENT_H_ |
OLD | NEW |