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.EN;
18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
193feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawaimport jp.co.omronsoft.openwnn.*;
2059aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monmaimport android.os.Bundle;
21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.view.View;
22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.view.Window;
23e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawaimport java.util.Comparator;
243feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa
25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/**
263feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa * The user dictionary tool class for English IME.
27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
283feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD.  All Rights Reserved.
29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpublic class UserDictionaryToolsListEN extends UserDictionaryToolsList {
31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Constructor
33053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
34053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public UserDictionaryToolsListEN() {
3559aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma        if (OpenWnnEN.getInstance() == null) {
3659aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma            new OpenWnnEN(this);
3759aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma        }
38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        mListViewName = "jp.co.omronsoft.openwnn.EN.UserDictionaryToolsListEN";
39053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        mEditViewName = "jp.co.omronsoft.openwnn.EN.UserDictionaryToolsEditEN";
40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        mPackageName  = "jp.co.omronsoft.openwnn";
41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
4359aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma    /** @see jp.co.omronsoft.iwnnime.ml.UserDictionaryToolsList#onCreate */
4459aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma    @Override protected void onCreate(Bundle savedInstanceState) {
4559aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma        super.onCreate(savedInstanceState);
4659aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma        setTitle(R.string.user_dictionary_list_words_en);
47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** @see jp.co.omronsoft.openwnn.UserDictionaryToolsList#createUserDictionaryToolsEdit */
507b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    @Override protected UserDictionaryToolsEdit createUserDictionaryToolsEdit(View view1, View view2) {
517b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa        return new UserDictionaryToolsEditEN(view1, view2);
52053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** @see jp.co.omronsoft.openwnn.UserDictionaryToolsList#sendEventToIME */
55053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    @Override protected boolean sendEventToIME(OpenWnnEvent ev) {
56053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        try {
57053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project            return OpenWnnEN.getInstance().onEvent(ev);
58053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        } catch (Exception ex) {
59053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project            /* do nothing if an error occurs */
60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        }
61053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        return false;
62053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
63e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa
64e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    /** @see jp.co.omronsoft.openwnn.UserDictionaryToolsList#getComparator */
65e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    @Override protected Comparator<WnnWord> getComparator() {
66e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    	return new ListComparatorEN();
67e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    }
68e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa
69e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    /** Comparator class for sorting the list of English user dictionary */
70e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    protected class ListComparatorEN implements Comparator<WnnWord>{
71e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa        public int compare(WnnWord word1, WnnWord word2) {
72e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa            return word1.stroke.compareTo(word2.stroke);
73e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa        };
74e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    }
75053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project}
76