Ejemplo n.º 1
0
 private void _JapaneseReadTypeComboBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     //_JapaneseReadType = Util.ParseEnum<JapaneseReadType>(parent.JapaneseReadTypeComboBox.Items[parent.JapaneseReadTypeComboBox.SelectedIndex].ToString());
     _JapaneseReadType = (JapaneseReadType)parent.JapaneseReadTypeComboBox.SelectedIndex;
     // 現在のパネルモードから対象のリストを更新する
     ContainerFactory.ConvertModePanel.UpdatePanelView();
 }
Ejemplo n.º 2
0
        public void SetVerbEndOfWordList(JapaneseReadType type)
        {
            //リストのSelectedIndexChangedイベントハンドラは、オペレーターによる操作時のみ実行させる。
            parent.EndOfWordListView.Click -= EndOfWordList_Click;
            parent.EndOfWordListView.SelectedIndexChanged -= EndOfWordList_SelectedIndexChanged;
            //リストのクリア時に選択状態も解除されるため。
            int selectIndex = (parent.EndOfWordListView.SelectedItems.Count <= 0) ? 0 : parent.EndOfWordListView.SelectedIndices[0];

            parent.EndOfWordListView.Items.Clear();
            nowSelectedVerbItemIdList.Clear();

            //リストに入れるマスタデータの取得
            List <List <string> > master = _SetVerbEndWordMaster(type);

            //語尾リストの初期化
            foreach (var items in master.Select((value, index) => new { index, value }))
            {
                ListViewItem addItem = new ListViewItem(items.value[0]);
                addItem.SubItems.Add(items.value[1]);
                parent.EndOfWordListView.Items.Add(addItem);
                nowSelectedVerbItemIdList.Add(items.index + 1);
            }

            if (parent.EndOfWordListView.Items.Count > selectIndex && parent.EndOfWordListView.Items.Count > 0)
            {
                parent.EndOfWordListView.Items[selectIndex].Selected = true;
            }
            parent.EndOfWordListView.Click += EndOfWordList_Click;
            parent.EndOfWordListView.SelectedIndexChanged += EndOfWordList_SelectedIndexChanged;

            SetOpenView();
        }
Ejemplo n.º 3
0
 public void SetJapaneseReadType()
 {
     parent.JapaneseReadTypeComboBox.SelectedIndex = 0;
     //_JapaneseReadType = Util.ParseEnum<JapaneseReadType>(parent.JapaneseReadTypeComboBox.Items[parent.JapaneseReadTypeComboBox.SelectedIndex].ToString());
     _JapaneseReadType = (JapaneseReadType)parent.JapaneseReadTypeComboBox.SelectedIndex;
     parent.JapaneseReadTypeComboBox.SelectedIndexChanged += _JapaneseReadTypeComboBox_SelectedIndexChanged;
 }
Ejemplo n.º 4
0
        private List <List <string> > _SetAdjectiveEndWordMaster(JapaneseReadType type, bool numberOfPeople = false)
        {
            List <List <string> > masterString    = null;
            List <int>            endWordMasterId = ((ContainerFactory.StepLevelComboBox._StepLevel != StepLevel.ALLSTEP) ?
                                                     MasterFactory.GetMasterData <AdjectiveEndOfWordMaster>().GetRangeIdGroupByGroupIdAndStepLevel(
                                                         ContainerFactory.AdjectiveList.SelectedAdjectiveGroupId,
                                                         ContainerFactory.StepLevelComboBox._StepLevel,
                                                         ContainerFactory.AdjectiveList.SelectedItem.Category)
                                            : MasterFactory.GetMasterData <AdjectiveEndOfWordMaster>().GetRangeIdGroupByGroupId(
                                                         ContainerFactory.AdjectiveList.SelectedAdjectiveGroupId,
                                                         ContainerFactory.AdjectiveList.SelectedItem.Category)
                                                     ).ToList();

            masterString = MasterFactory.GetMasterData <AdjectiveEndOfWordMaster>()
                           .GetRangeData(endWordMasterId, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType);

            //人数語尾(3人称以外)
            if (numberOfPeople)
            {
                masterString = _ConvertNumberOfPeople(masterString, endWordMasterId);
            }
            else
            {
                //後付け語尾
                for (int addWordCount = 0; addWordCount < masterString.Count; addWordCount++)
                {
                    List <string> addWord = MasterFactory.GetMasterData <AdjectiveAddEndOfWordMaster>().GetData(endWordMasterId[addWordCount], 0, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType);
                    masterString[addWordCount][0] += (" " + addWord[0]).Replace("  ", " ");
                    masterString[addWordCount][1]  = addWord[1] + masterString[addWordCount][1];
                }
            }

            return(masterString);
        }
Ejemplo n.º 5
0
        public void SetAdverbList(JapaneseReadType type, AdverbPosition pos, bool init = false)
        {
            // 内部要素をクリア
            parent.AdverbListView.Items.Clear();

            nowSelectedItemIdList.Clear();

            List <List <string> > master = new List <List <string> >();

            master = MasterFactory.GetMasterData <AdverbMaster>().GetRangeData(pos, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType);

            //副詞リストの初期化
            foreach (var items in master.Select((value, index) => new { index, value }))
            {
                ListViewItem addItem = new ListViewItem(items.value[0]);
                addItem.SubItems.Add(items.value[1]);
                parent.AdverbListView.Items.Add(addItem);
                nowSelectedItemIdList.Add(items.index);
            }

            // 初期セットの場合は選択状態も設定
            if (init)
            {
                SelectedItemIndex = 0;
                parent.AdverbListView.Items[0].Selected     = true;
                parent.AdverbListView.SelectedIndexChanged += SetSelectedItemIndex;
            }
        }
Ejemplo n.º 6
0
        public List <List <string> > GetRangeData(List <int> _idList, JapaneseReadType japaneseReadType)
        {
            switch (japaneseReadType)
            {
            case Enumeration.JapaneseReadType.KANJI: return(GetRangeKanjiData(_idList));

            case Enumeration.JapaneseReadType.HIRAGANA: return(GetRangeHiraganaData(_idList));

            default: return(GetRangeFuriganaData(_idList));
            }
        }
Ejemplo n.º 7
0
        public List <string> GetData(int _id, JapaneseReadType japaneseReadType)
        {
            switch (japaneseReadType)
            {
            case Enumeration.JapaneseReadType.KANJI: return(GetKanjiData(_id));

            case Enumeration.JapaneseReadType.HIRAGANA: return(GetHiraganaData(_id));

            default: return(GetFuriganaData(_id));
            }
        }
Ejemplo n.º 8
0
        public List <List <string> > GetRangeData(AdverbPosition pos, JapaneseReadType japaneseReadType)
        {
            switch (japaneseReadType)
            {
            case Enumeration.JapaneseReadType.KANJI: return(GetRangeKanjiData(pos));

            case Enumeration.JapaneseReadType.HIRAGANA: return(GetRangeHiraganaData(pos));

            default: return(GetRangeFuriganaData(pos));
            }
        }
Ejemplo n.º 9
0
        public List <string> GetData(int _endOfWordId, int _numberOfPeopleId, JapaneseReadType japaneseReadType)
        {
            switch (japaneseReadType)
            {
            case Enumeration.JapaneseReadType.KANJI: return(GetKanjiData(_endOfWordId, _numberOfPeopleId));

            case Enumeration.JapaneseReadType.HIRAGANA: return(GetHiraganaData(_endOfWordId, _numberOfPeopleId));

            default: return(GetFuriganaData(_endOfWordId, _numberOfPeopleId));
            }
        }
Ejemplo n.º 10
0
        public List <string> GetPreposition(int _id, JapaneseReadType japaneseReadType)
        {
            switch (japaneseReadType)
            {
            case Enumeration.JapaneseReadType.KANJI: return(GetPrepositionKanji(_id));

            case Enumeration.JapaneseReadType.HIRAGANA: return(GetPrepositionHiragana(_id));

            default: return(GetPrepositionFurigana(_id));
            }
        }
Ejemplo n.º 11
0
        public void SetSubjectList(JapaneseReadType type, bool init = false)
        {
            // 内部要素をクリア
            parent.SubjectListView.Items.Clear();
            nowSelectedItemIdList.Clear();

            //主語リストの初期化
            List <List <string> > master = new List <List <string> >();

            switch (type)
            {
            case JapaneseReadType.HIRAGANA:
                master = MasterFactory.GetMasterData <SubjectMaster>().GetCreatureOrObjectSubjctHiragana(SubjectCategory.None);
                break;

            case JapaneseReadType.FURIGANA:
                master = MasterFactory.GetMasterData <SubjectMaster>().GetCreatureOrObjectSubjctFurigana(SubjectCategory.None);
                break;

            case JapaneseReadType.KANJI:
            default:
                master = MasterFactory.GetMasterData <SubjectMaster>().GetCreatureOrObjectSubjctKanji(SubjectCategory.None);
                break;
            }

            //主語リストの初期化
            foreach (var items in master.Select((value, index) => new { index, value }))
            {
                if (items.index > 0)
                {
                    ListViewItem addItem = new ListViewItem(items.value[0]);
                    addItem.SubItems.Add(items.value[1]);
                    parent.SubjectListView.Items.Add(addItem);
                    nowSelectedItemIdList.Add(items.index);
                }
            }

            // 初期セットの場合は選択状態も設定
            if (init)
            {
                parent.SubjectListView.Items[0].Selected = true;
                SelectedTENIOHA   = "は";
                _Subject          = SubjectCategory.Creature;
                _PersonalCategory = PersonalPronounCategory.First;
                _ConstReason      = ConstReason.None;
                SelectedItemIndex = 0;
                SelectedItemId    = nowSelectedItemIdList[SelectedItemIndex];
                parent.SubjectListView.SelectedIndexChanged += _SubjectListView_SelectedIndexChanged;
            }
        }
Ejemplo n.º 12
0
        //人称指定が効いていない。初期表示で形容詞語尾でなく動詞語尾が表示される。
        public void SetVerbList(JapaneseReadType type, bool init = false)
        {
            parent.VerbListView.SelectedIndexChanged -= SetSelectedItemIndex;
            int selectIndex = (parent.VerbListView.SelectedItems.Count <= 0) ? 0 : parent.VerbListView.SelectedIndices[0];


            // 内部要素をクリア
            parent.VerbListView.Items.Clear();
            nowSelectedItemList.Clear();
            nowSelectedItemIdList.Clear();

            // 主語の種別に合致する形容詞リストを作成
            //主語リストの初期化
            List <List <string> > master = new List <List <string> >();

            nowSelectedItemList   = MasterFactory.GetMasterData <VerbMaster>().GetMixCreOrObjAndCategorySubject(ContainerFactory.SubjectList._Subject, ContainerFactory.SubjectList._PersonalCategory);
            nowSelectedItemIdList = nowSelectedItemList.Select(indexer => indexer.Id).ToList();
            master = MasterFactory.GetMasterData <VerbMaster>().GetRangeData(nowSelectedItemIdList, type);

            //リストの初期化
            foreach (var items in master.Select((value, index) => new { index, value }))
            {
                ListViewItem addItem = new ListViewItem(items.value[0]);
                addItem.SubItems.Add(items.value[1]);
                parent.VerbListView.Items.Add(addItem);
            }

            // 初期セットの場合は選択状態も設定
            if (init)
            {
                SelectedItemIndex = 0;
                SelectedItem      = nowSelectedItemList[SelectedItemIndex];
                parent.VerbListView.Items[0].Selected     = true;
                parent.VerbListView.Click                += VerbListView_Click;
                parent.VerbListView.SelectedIndexChanged += SetSelectedItemIndex;
            }
            else
            {
                if (parent.VerbListView.Items.Count >= selectIndex - 1)
                {
                    parent.VerbListView.Items[selectIndex].Selected = true;
                }
                parent.VerbListView.SelectedIndexChanged += SetSelectedItemIndex;
                // 語尾もセット
                SetSelectedItemIndex(null, null);
            }
        }
Ejemplo n.º 13
0
        public void SetBeingList(JapaneseReadType type, bool init = false)
        {
            // 内部要素をクリア
            parent.BeingListView.Items.Clear();
            nowSelectedItemIdList.Clear();
            List <List <string> > masterString = null;
            List <BeingWord>      tempWord     = (ContainerFactory.StepLevelComboBox._StepLevel == StepLevel.ALLSTEP) ?
                                                 MasterFactory.GetMasterData <BeingWordMaster>().GetRangeIdPersonalPronounAndSubjectMaster(
                ContainerFactory.SubjectList._PersonalCategory
                , ContainerFactory.SubjectList._Subject).ToList()
                : MasterFactory.GetMasterData <BeingWordMaster>().GetRangeIdPersonalPronounSubjectAndStepLevelMaster(
                ContainerFactory.StepLevelComboBox._StepLevel
                , ContainerFactory.SubjectList._PersonalCategory
                , ContainerFactory.SubjectList._Subject).ToList();

            masterString = MasterFactory.GetMasterData <BeingWordMaster>()
                           .GetRangeData(tempWord.Select(n => n.Id), ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType);
            //後付け語尾
            for (int addWordCount = 0; addWordCount < masterString.Count; addWordCount++)
            {
                masterString[addWordCount][0] += (" " + ((MasterFactory.GetMasterData <BeingAddWordMaster>().GetRangeData(tempWord[addWordCount].Id, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType).Count <= 0)
                    ? string.Empty
                    : MasterFactory.GetMasterData <BeingAddWordMaster>().GetRangeData(tempWord[addWordCount].Id, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType)[0][0]))
                                                 .Replace("  ", " ");
                masterString[addWordCount][1] = ((MasterFactory.GetMasterData <BeingAddWordMaster>().GetRangeData(tempWord[addWordCount].Id, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType).Count <= 0)
                    ? string.Empty
                    : MasterFactory.GetMasterData <BeingAddWordMaster>().GetRangeData(tempWord[addWordCount].Id, ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType)[0][1]) + masterString[addWordCount][1];
            }

            //主語リストの初期化
            foreach (var items in masterString.Select((value, index) => new { index, value }))
            {
                ListViewItem addItem = new ListViewItem(items.value[0]);
                addItem.SubItems.Add(items.value[1]);
                parent.BeingListView.Items.Add(addItem);
                nowSelectedItemIdList.Add(items.index + 1);
            }

            if (init)
            {
                SelectedItemIndex = 0;
            }
            parent.BeingListView.Click += BeingListView_Click;
            parent.BeingListView.SelectedIndexChanged += SetSelectedItemIndex;
        }
Ejemplo n.º 14
0
        public void SetPrePositionList(JapaneseReadType type, bool init = false)
        {
            // 内部要素をクリア
            parent.PrepositionListView.Items.Clear();

            nowSelectedItemIdList.Clear();

            List <List <string> > master = new List <List <string> >();

            switch (type)
            {
            case JapaneseReadType.HIRAGANA:
                master = MasterFactory.GetMasterData <PrepositionMaster>().GetRangeHiraganaData(MasterFactory.GetMasterData <PrepositionMaster>().GetPrepositionIdList());
                break;

            case JapaneseReadType.FURIGANA:
                master = MasterFactory.GetMasterData <PrepositionMaster>().GetRangeFuriganaData(MasterFactory.GetMasterData <PrepositionMaster>().GetPrepositionIdList());
                break;

            case JapaneseReadType.KANJI:
            default:
                master = MasterFactory.GetMasterData <PrepositionMaster>().GetRangeKanjiData(MasterFactory.GetMasterData <PrepositionMaster>().GetPrepositionIdList());
                break;
            }

            //主語リストの初期化
            foreach (var items in master.Select((value, index) => new { index, value }))
            {
                ListViewItem addItem = new ListViewItem(items.value[0]);
                addItem.SubItems.Add(items.value[1]);
                parent.PrepositionListView.Items.Add(addItem);
                nowSelectedItemIdList.Add(items.index);
            }

            // 初期セットの場合は選択状態も設定
            if (init)
            {
                SelectedItemIndex = 0;
                parent.PrepositionListView.Items[0].Selected     = true;
                parent.PrepositionListView.SelectedIndexChanged += SetSelectedItemIndex;
            }
        }
Ejemplo n.º 15
0
        public void SetAdjectiveEndOfWordList(JapaneseReadType type)
        {
            //リストのSelectedIndexChangedイベントハンドラは、オペレーターによる操作時のみ実行させる。
            parent.EndOfWordListView.SelectedIndexChanged -= EndOfWordList_SelectedIndexChanged;
            //リストのクリア時に選択状態も解除されるため。
            int selectIndex = (parent.EndOfWordListView.SelectedItems.Count <= 0) ? 0 : parent.EndOfWordListView.SelectedIndices[0];

            parent.EndOfWordListView.Items.Clear();
            nowSelectedAdjectiveItemIdList.Clear();

            //リストに入れるマスタデータの取得
            List <List <string> > master = new List <List <string> >();

            if (ContainerFactory.SubjectList._PersonalCategory == PersonalPronounCategory.ThirdSingle)
            {
                master = _SetAdjectiveEndWordMaster(type);
            }
            else
            {
                master = _SetAdjectiveEndWordMaster(type, true);
            }


            //語尾リストの初期化
            foreach (var items in master.Select((value, index) => new { index, value }))
            {
                ListViewItem addItem = new ListViewItem(items.value[0]);
                addItem.SubItems.Add(items.value[1]);
                parent.EndOfWordListView.Items.Add(addItem);
                nowSelectedAdjectiveItemIdList.Add(items.index + 1);
            }

            if (parent.EndOfWordListView.Items.Count > selectIndex && parent.EndOfWordListView.Items.Count > 0)
            {
                parent.EndOfWordListView.Items[selectIndex].Selected = true;
            }
            parent.EndOfWordListView.Click += EndOfWordList_Click;
            parent.EndOfWordListView.SelectedIndexChanged += EndOfWordList_SelectedIndexChanged;

            SetOpenView();
        }
Ejemplo n.º 16
0
        public List <List <string> > _SetVerbEndWordMaster(JapaneseReadType type)
        {
            List <List <string> > masterString  = null;
            List <VerbEndOfWord>  endWordMaster = ((ContainerFactory.StepLevelComboBox._StepLevel != StepLevel.ALLSTEP) ?
                                                   MasterFactory.GetMasterData <VerbEndOfWordMaster>().GetRangeGroupByGroupIdAndStepLevel(ContainerFactory.VerbList.SelectedVerbGroupId, ContainerFactory.StepLevelComboBox._StepLevel)
                                            : MasterFactory.GetMasterData <VerbEndOfWordMaster>().GetRangeGroupByGroupId(ContainerFactory.VerbList.SelectedVerbGroupId)
                                                   ).ToList();
            List <int> endWordMasterId = endWordMaster.Select(indexer => indexer.Id).ToList();

            masterString = MasterFactory.GetMasterData <VerbEndOfWordMaster>()
                           .GetRangeData(endWordMasterId, type);

            ////後付け語尾
            for (int addWordCount = 0; addWordCount < masterString.Count; addWordCount++)
            {
                List <string> addWord = MasterFactory.GetMasterData <VerbAddEndOfWordMaster>().GetGroupByGroupIdData(endWordMasterId[addWordCount], ContainerFactory.JapaneseReadTypeComboBox._JapaneseReadType);
                masterString[addWordCount][0] += (" " + addWord[0]).Replace("  ", " ");
                masterString[addWordCount][1]  = addWord[1] + masterString[addWordCount][1];
            }
            SetOpenView();

            return(masterString);
        }