Home | History | Annotate | Download | only in ime
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
      6 #define UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
      7 
      8 #include "ui/base/ui_base_export.h"
      9 
     10 namespace ui {
     11 
     12 class InputMethod;
     13 class TextInputClient;
     14 
     15 class UI_BASE_EXPORT InputMethodObserver {
     16  public:
     17   virtual ~InputMethodObserver() {}
     18 
     19   // Called whenever the text input type is changed for the focused client.
     20   // Currently only used by the mock input method for testing.
     21   virtual void OnTextInputTypeChanged(const TextInputClient* client) = 0;
     22 
     23   // Called when the top-level system window gets keyboard focus. Currently
     24   // only used by the mock input method for testing.
     25   virtual void OnFocus() = 0;
     26 
     27   // Called when the top-level system window loses keyboard focus. Currently
     28   // only used by the mock input method for testing.
     29   virtual void OnBlur() = 0;
     30 
     31   // Called whenever the caret bounds is changed for the input client.
     32   // Currently only used by the mock input method for testing.
     33   virtual void OnCaretBoundsChanged(const TextInputClient* client) = 0;
     34 
     35   // Called when either:
     36   //  - the TextInputClient is changed (e.g. by a change of focus)
     37   //  - the TextInputType of the TextInputClient changes
     38   virtual void OnTextInputStateChanged(const TextInputClient* client) = 0;
     39 
     40   // Called when the observed InputMethod is being destroyed.
     41   virtual void OnInputMethodDestroyed(const InputMethod* input_method) = 0;
     42 
     43   // Called when a user gesture should trigger showing the virtual keyboard
     44   // or alternate input view (e.g. handwriting palette). Used in ChromeOS.
     45   virtual void OnShowImeIfNeeded() = 0;
     46 };
     47 
     48 }  // namespace ui
     49 
     50 #endif  // UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
     51