1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/*
259aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma * Copyright (C) 2008-2012  OMRON SOFTWARE Co., Ltd.
3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License.
6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at
7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and
14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License.
15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpackage jp.co.omronsoft.openwnn;
18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.view.View;
20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.content.SharedPreferences;
21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.view.inputmethod.EditorInfo;
22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
23053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/**
24d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa * The interface of input view manager used by OpenWnn.
25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
2659aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma * @author Copyright (C) 2009-2011 OMRON SOFTWARE CO., LTD.  All Rights Reserved.
27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpublic interface InputViewManager {
29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
30d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Initialize the input view.
31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
32d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @param parent    The OpenWnn object
33d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @param width     The width of the display
34d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @param height    The height of the display
35053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
36d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @return      The input view created in the initialize process; {@code null} if cannot create a input view.
37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public View initView(OpenWnn parent, int width, int height);
39053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
41d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Get the input view being used currently.
42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
43d2f2d7241a8f9e02da0930b31b7cb90e4d43423bDaisuke Miyakawa     * @return  The input view; {@code null} if no input view is used currently.
44053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
45053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public View getCurrentView();
46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
48d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Notification of updating parent's state.
49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
50053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * @param parent    The OpenWnn object using this manager
51053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
52053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public void onUpdateState(OpenWnn parent);
53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
55d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Reflect the preferences in the input view.
56053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
57053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * @param pref    The preferences
58053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * @param editor  The information about the editor
59053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public void setPreferences(SharedPreferences pref, EditorInfo editor);
61053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
62053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
63d56eddfd5e0f193359f93e7ef665338cace9e2e9Daisuke Miyakawa     * Close the input view.
64053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
65053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public void closing();
6659aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma
6759aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma    /**
6859aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma     * Show the input view.
6959aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma     */
7059aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma    public void showInputView();
7159aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma
7259aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma    /**
7359aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma     * Hide the input view.
7459aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma     */
7559aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma    public void hideInputView();
7659aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma
77053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project}
78