Index: ui/views/ime/input_method_ibus.h |
diff --git a/ui/views/ime/input_method_ibus.h b/ui/views/ime/input_method_ibus.h |
deleted file mode 100644 |
index eba28c8ecb7454a4ddd6f02b9c6f4ecc5bae2639..0000000000000000000000000000000000000000 |
--- a/ui/views/ime/input_method_ibus.h |
+++ /dev/null |
@@ -1,201 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef UI_VIEWS_IME_INPUT_METHOD_IBUS_H_ |
-#define UI_VIEWS_IME_INPUT_METHOD_IBUS_H_ |
-#pragma once |
- |
-#include <set> |
-#include <string> |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "ui/base/glib/glib_integers.h" |
-#include "ui/base/glib/glib_signal.h" |
-#include "ui/base/ime/character_composer.h" |
-#include "ui/base/ime/composition_text.h" |
-#include "ui/base/ime/text_input_client.h" |
-#include "ui/views/events/event.h" |
-#include "ui/views/ime/input_method_base.h" |
-#include "ui/views/view.h" |
- |
-// Forward declarations, so that we don't need to include ibus.h in this file. |
-typedef struct _GAsyncResult GAsyncResult; |
-typedef struct _IBusBus IBusBus; |
-typedef struct _IBusInputContext IBusInputContext; |
-typedef struct _IBusText IBusText; |
- |
-namespace views { |
- |
-// An InputMethod implementation based on IBus. |
-// TODO(yusukes): Remove this class when TOUCH_UI migrates to Aura. For Aura, |
-// ui/base/ime/input_method_* classes are available. |
-class InputMethodIBus : public InputMethodBase { |
- public: |
- explicit InputMethodIBus(internal::InputMethodDelegate* delegate); |
- virtual ~InputMethodIBus(); |
- |
- // Overridden from InputMethod: |
- virtual void Init(Widget* widget) OVERRIDE; |
- virtual void OnFocus() OVERRIDE; |
- virtual void OnBlur() OVERRIDE; |
- virtual void DispatchKeyEvent(const KeyEvent& key) OVERRIDE; |
- virtual void OnTextInputTypeChanged(View* view) OVERRIDE; |
- virtual void OnCaretBoundsChanged(View* view) OVERRIDE; |
- virtual void CancelComposition(View* view) OVERRIDE; |
- virtual std::string GetInputLocale() OVERRIDE; |
- virtual base::i18n::TextDirection GetInputTextDirection() OVERRIDE; |
- virtual bool IsActive() OVERRIDE; |
- |
- // Returns true when |
- // 1) built with GYP_DEFINES="touchui=1" or, |
- // 2) enabled by SetEnabledInputMethodIBus or, |
- // 3) enabled by command line flag "--enable-inputmethod-ibus" |
- static bool IsInputMethodIBusEnabled(); |
- // Enable/Disable InputMethodIBus |
- static void SetEnableInputMethodIBus(bool enabled); |
- |
- private: |
- // A class to hold all data related to a key event being processed by the |
- // input method but still has no result back yet. |
- class PendingKeyEvent; |
- |
- // A class to hold information of a pending request for creating an ibus input |
- // context. |
- class PendingCreateICRequest; |
- |
- // Overridden from InputMethodBase: |
- virtual void OnWillChangeFocus(View* focused_before, View* focused) OVERRIDE; |
- virtual void OnDidChangeFocus(View* focused_before, View* focused) OVERRIDE; |
- |
- // Creates |context_| instance asynchronously. |
- void CreateContext(); |
- |
- // Sets |context_| and hooks necessary signals. |
- void SetContext(IBusInputContext* ic); |
- |
- // Destroys |context_| instance. |
- void DestroyContext(); |
- |
- // Asks the client to confirm current composition text. |
- void ConfirmCompositionText(); |
- |
- // Resets |context_| and abandon all pending results and key events. |
- void ResetContext(); |
- |
- // Checks the availability of focused text input client and update focus state |
- // of |context_| and |context_simple_| accordingly. |
- void UpdateContextFocusState(); |
- |
- // Process a key returned from the input method. |
- void ProcessKeyEventPostIME(const KeyEvent& key, guint32 ibus_keycode, |
- bool handled); |
- |
- // Processes a key event that was already filtered by the input method. |
- // A VKEY_PROCESSKEY may be dispatched to the focused View. |
- void ProcessFilteredKeyPressEvent(const KeyEvent& key); |
- |
- // Processes a key event that was not filtered by the input method. |
- void ProcessUnfilteredKeyPressEvent(const KeyEvent& key, |
- guint32 ibus_keycode); |
- |
- // Sends input method result caused by the given key event to the focused text |
- // input client. |
- void ProcessInputMethodResult(const KeyEvent& key, bool filtered); |
- |
- // Checks if the pending input method result needs inserting into the focused |
- // text input client as a single character. |
- bool NeedInsertChar() const; |
- |
- // Checks if there is pending input method result. |
- bool HasInputMethodResult() const; |
- |
- // Fabricates a key event with VKEY_PROCESSKEY key code and dispatches it to |
- // the focused View. |
- void SendFakeProcessKeyEvent(bool pressed) const; |
- |
- // Called when a pending key event has finished. The event will be removed |
- // from |pending_key_events_|. |
- void FinishPendingKeyEvent(PendingKeyEvent* pending_key); |
- |
- // Abandons all pending key events. It usually happends when we lose keyboard |
- // focus, the text input type is changed or we are destroyed. |
- void AbandonAllPendingKeyEvents(); |
- |
- // Event handlers for IBusInputContext: |
- CHROMEG_CALLBACK_1(InputMethodIBus, void, OnCommitText, |
- IBusInputContext*, IBusText*); |
- CHROMEG_CALLBACK_3(InputMethodIBus, void, OnForwardKeyEvent, |
- IBusInputContext*, guint, guint, guint); |
- CHROMEG_CALLBACK_0(InputMethodIBus, void, OnShowPreeditText, |
- IBusInputContext*); |
- CHROMEG_CALLBACK_3(InputMethodIBus, void, OnUpdatePreeditText, |
- IBusInputContext*, IBusText*, guint, gboolean); |
- CHROMEG_CALLBACK_0(InputMethodIBus, void, OnHidePreeditText, |
- IBusInputContext*); |
- CHROMEG_CALLBACK_0(InputMethodIBus, void, OnDestroy, IBusInputContext*); |
- |
- // Event handlers for IBusBus: |
- CHROMEG_CALLBACK_0(InputMethodIBus, void, OnIBusConnected, IBusBus*); |
- CHROMEG_CALLBACK_0(InputMethodIBus, void, OnIBusDisconnected, IBusBus*); |
- |
- // Returns the global IBusBus instance. |
- static IBusBus* GetIBus(); |
- |
- // Callback function for ibus_input_context_process_key_event_async(). |
- static void ProcessKeyEventDone(IBusInputContext* context, |
- GAsyncResult* res, |
- PendingKeyEvent* data); |
- |
- // Callback function for ibus_bus_create_input_context_async(). |
- static void CreateInputContextDone(IBusBus* bus, |
- GAsyncResult* res, |
- PendingCreateICRequest* data); |
- |
- // The input context for actual text input. |
- IBusInputContext* context_; |
- |
- // All pending key events. Note: we do not own these object, we just save |
- // pointers to these object so that we can abandon them when necessary. |
- // They will be deleted in ProcessKeyEventDone(). |
- std::set<PendingKeyEvent*> pending_key_events_; |
- |
- // The pending request for creating the |context_| instance. We need to keep |
- // this pointer so that we can receive or abandon the result. |
- PendingCreateICRequest* pending_create_ic_request_; |
- |
- // Pending composition text generated by the current pending key event. |
- // It'll be sent to the focused text input client as soon as we receive the |
- // processing result of the pending key event. |
- ui::CompositionText composition_; |
- |
- // Pending result text generated by the current pending key event. |
- // It'll be sent to the focused text input client as soon as we receive the |
- // processing result of the pending key event. |
- string16 result_text_; |
- |
- // Indicates if |context_| and |context_simple_| are focused or not. |
- bool context_focused_; |
- |
- // Indicates if there is an ongoing composition text. |
- bool composing_text_; |
- |
- // Indicates if the composition text is changed or deleted. |
- bool composition_changed_; |
- |
- // If it's true then all input method result received before the next key |
- // event will be discarded. |
- bool suppress_next_result_; |
- |
- // An object to compose a character from a sequence of key presses |
- // including dead key etc. |
- ui::CharacterComposer character_composer_; |
- |
- DISALLOW_COPY_AND_ASSIGN(InputMethodIBus); |
-}; |
- |
-} // namespace views |
- |
-#endif // UI_VIEWS_IME_INPUT_METHOD_IBUS_H_ |