Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3434)

Unified Diff: chrome/browser/chromeos/input_method/ibus_ui_controller.h

Issue 11280159: Remove ibus dependency from PanelService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/input_method/ibus_ui_controller.h
diff --git a/chrome/browser/chromeos/input_method/ibus_ui_controller.h b/chrome/browser/chromeos/input_method/ibus_ui_controller.h
index bd79345c435b9ff5094280adf8141799693c2fb5..fd8171b5a5db0e1bb7e429a80c2e06f7c7f3d829 100644
--- a/chrome/browser/chromeos/input_method/ibus_ui_controller.h
+++ b/chrome/browser/chromeos/input_method/ibus_ui_controller.h
@@ -5,6 +5,7 @@
// The header files provides APIs for monitoring and controlling input
// method UI status. The APIs encapsulate the APIs of IBus, the underlying
// input method framework.
+// TODO(nona): Remove InputMethodLookupTable and IBusUiController.
#ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_IBUS_UI_CONTROLLER_H_
#define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_IBUS_UI_CONTROLLER_H_
@@ -14,6 +15,7 @@
#include "base/basictypes.h"
#include "base/observer_list.h"
+#include "chromeos/dbus/ibus/ibus_panel_service.h"
namespace gfx {
class Rect;
@@ -82,7 +84,7 @@ struct InputMethodLookupTable {
};
// IBusUiController is used to interact with the IBus daemon.
-class IBusUiController {
+class IBusUiController : public ibus::IBusPanelCandidateWindowHandlerInterface {
public:
class Observer {
public:
@@ -109,26 +111,20 @@ class IBusUiController {
// Called when the preedit text is updated.
virtual void OnUpdatePreeditText(const std::string& utf8_text,
unsigned int cursor, bool visible) = 0;
-
- // Called when the connection is changed. |connected| is true if the
- // connection is established, and false if the connection is closed.
- virtual void OnConnectionChange(bool connected) = 0;
};
- // Creates an instance of the class. The constructor is unused.
- static IBusUiController* Create();
-
+ IBusUiController();
virtual ~IBusUiController();
- // Connects to the IBus daemon.
- virtual void Connect() = 0;
+ // Creates an instance of the class. The constructor is unused.
+ static IBusUiController* Create();
// Adds and removes observers for IBus UI notifications. Clients must be
// sure to remove the observer before they go away. To capture the
// initial connection change, you should add an observer before calling
// Connect().
- virtual void AddObserver(Observer* observer) = 0;
- virtual void RemoveObserver(Observer* observer) = 0;
+ void AddObserver(Observer* observer);
+ void RemoveObserver(Observer* observer);
// Notifies that a candidate is clicked. |CandidateClicked| signal will be
// sent to the ibus-daemon.
@@ -137,23 +133,40 @@ class IBusUiController {
// |cursor_absolute_index|.
// - |button| GdkEventButton::button (1: left button, etc.)
// - |state| GdkEventButton::state (key modifier flags)
- virtual void NotifyCandidateClicked(int index, int button, int flags) = 0;
+ void NotifyCandidateClicked(int index, int button, int flags);
// Notifies that the cursor up button is clicked. |CursorUp| signal will be
// sent to the ibus-daemon
- virtual void NotifyCursorUp() = 0;
+ void NotifyCursorUp();
// Notifies that the cursor down button is clicked. |CursorDown| signal
// will be sent to the ibus-daemon
- virtual void NotifyCursorDown() = 0;
+ void NotifyCursorDown();
// Notifies that the page up button is clicked. |PageUp| signal will be
// sent to the ibus-daemon
- virtual void NotifyPageUp() = 0;
+ void NotifyPageUp();
// Notifies that the page down button is clicked. |PageDown| signal will be
// sent to the ibus-daemon
- virtual void NotifyPageDown() = 0;
+ void NotifyPageDown();
+
+ void SetCursorLocation(const gfx::Rect& cursor_location,
satorux1 2012/11/30 05:37:34 function comment is missing.
Seigo Nonaka 2012/12/01 16:22:42 Done.
+ const gfx::Rect& composition_head);
+
+ private:
+ // IBusPanelHandlerInterface overrides.
+ virtual void UpdateLookupTable(const ibus::IBusLookupTable& table,
+ bool visible) OVERRIDE;
+ virtual void HideLookupTable() OVERRIDE;
+ virtual void UpdateAuxiliaryText(const std::string& text,
+ bool visible) OVERRIDE;
+ virtual void HideAuxiliaryText() OVERRIDE;
+ virtual void UpdatePreeditText(const std::string& text, uint32 cursor_pos,
+ bool visible) OVERRIDE;
+ virtual void HidePreeditText() OVERRIDE;
+
+ ObserverList<Observer> observers_;
};
satorux1 2012/11/30 05:37:34 Add DISALLOW_COPY_AND_ASSIGN ?
Seigo Nonaka 2012/12/01 16:22:42 Done.
bool IsActiveForTesting(const std::string& input_method_id,
satorux1 2012/11/30 05:37:34 Function comment is missing.
Seigo Nonaka 2012/12/01 16:22:42 I investigated this usage but this function and re

Powered by Google App Engine
This is Rietveld 408576698