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 // This file implements the input method candidate window used on Chrome OS. | 5 // This file implements the input method candidate window used on Chrome OS. |
6 | 6 |
7 #ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_CANDIDATE_WINDOW_CONTROLLER_H_ | 7 #ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_CANDIDATE_WINDOW_CONTROLLER_H_ |
8 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_CANDIDATE_WINDOW_CONTROLLER_H_ | 8 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_CANDIDATE_WINDOW_CONTROLLER_H_ |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 | 11 |
12 namespace chromeos { | 12 namespace chromeos { |
13 namespace input_method { | 13 namespace input_method { |
14 | 14 |
| 15 class IBusController; |
| 16 |
15 // CandidateWindowController is used for controlling the input method | 17 // CandidateWindowController is used for controlling the input method |
16 // candidate window. Once the initialization is done, the controller | 18 // candidate window. Once the initialization is done, the controller |
17 // starts monitoring signals sent from the the background input method | 19 // starts monitoring signals sent from the the background input method |
18 // daemon, and shows and hides the candidate window as neeeded. Upon | 20 // daemon, and shows and hides the candidate window as neeeded. Upon |
19 // deletion of the object, monitoring stops and the view used for | 21 // deletion of the object, monitoring stops and the view used for |
20 // rendering the candidate view is deleted. | 22 // rendering the candidate view is deleted. |
21 class CandidateWindowController { | 23 class CandidateWindowController { |
22 public: | 24 public: |
23 class Observer { | 25 class Observer { |
24 public: | 26 public: |
25 virtual ~Observer() {} | 27 virtual ~Observer() {} |
26 | 28 |
27 virtual void CandidateWindowOpened() = 0; | 29 virtual void CandidateWindowOpened() = 0; |
28 virtual void CandidateWindowClosed() = 0; | 30 virtual void CandidateWindowClosed() = 0; |
29 }; | 31 }; |
30 | 32 |
31 virtual ~CandidateWindowController() {} | 33 virtual ~CandidateWindowController() {} |
32 | 34 |
33 // Initializes the candidate window. Returns true on success. | 35 // Initializes the candidate window. Returns true on success. |
34 virtual bool Init() = 0; | 36 virtual bool Init() = 0; |
35 virtual void AddObserver(Observer* observer) = 0; | 37 virtual void AddObserver(Observer* observer) = 0; |
36 virtual void RemoveObserver(Observer* observer) = 0; | 38 virtual void RemoveObserver(Observer* observer) = 0; |
37 | 39 |
38 // Gets an instance of CandidateWindowController. Caller has to delete the | 40 // Gets an instance of CandidateWindowController. Caller has to delete the |
39 // returned object. | 41 // returned object. |
40 static CandidateWindowController* CreateCandidateWindowController(); | 42 static CandidateWindowController* CreateCandidateWindowController( |
| 43 IBusController* controller); |
41 }; | 44 }; |
42 | 45 |
43 } // namespace input_method | 46 } // namespace input_method |
44 } // namespace chromeos | 47 } // namespace chromeos |
45 | 48 |
46 #endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_CANDIDATE_WINDOW_CONTROLLER_H_ | 49 #endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_CANDIDATE_WINDOW_CONTROLLER_H_ |
OLD | NEW |