예제 #1
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;
            }
        }
예제 #2
0
 private void _SubjectListView_SelectedIndexChanged(object sender, EventArgs e)
 {
     SelectedItemIndex = 0;
     SelectedItemId    = nowSelectedItemIdList[0];
     if (parent.SubjectListView.SelectedIndices.Count > 0)
     {
         SelectedItemIndex = parent.SubjectListView.SelectedIndices[0];
         SelectedItemId    = nowSelectedItemIdList[parent.SubjectListView.SelectedIndices[0]];
         _Subject          = (SubjectCategory)(MasterFactory.GetMasterData <SubjectMaster>().GetCategoryData(SelectedItemId)[0]);
         _PersonalCategory = (PersonalPronounCategory)(MasterFactory.GetMasterData <SubjectMaster>().GetCategoryData(SelectedItemId)[1]);
         _ConstReason      = ConstReason.None;
         // 現在のパネルモードから対象のリストを更新する
         ContainerFactory.ConvertModePanel.UpdatePanelView();
         // セット
         ContainerFactory.ResultTextBoxPanel.UpdateResultTextBoxPanel();
     }
 }
예제 #3
0
        public void _SubjectListView_Click(string tenioha)
        {
            if (parent.SubjectListView.SelectedIndices[0] != SelectedItemIndex)
            {
                return;
            }
            SelectedItemIndex = 0;
            SelectedItemId    = nowSelectedItemIdList[0];
            if (parent.SubjectListView.SelectedIndices.Count > 0)
            {
                SelectedItemIndex = parent.SubjectListView.SelectedIndices[0];
                SelectedItemId    = nowSelectedItemIdList[parent.SubjectListView.SelectedIndices[0]];
            }

            SelectedTENIOHA   = tenioha;
            _Subject          = (SubjectCategory)(MasterFactory.GetMasterData <SubjectMaster>().GetCategoryData(SelectedItemId)[0]);
            _PersonalCategory = (PersonalPronounCategory)(MasterFactory.GetMasterData <SubjectMaster>().GetCategoryData(SelectedItemId)[1]);
            _ConstReason      = ConstReason.None;

            // 現在のパネルモードから対象のリストを更新する
            ContainerFactory.ConvertModePanel.UpdatePanelView();
            // セット
            ContainerFactory.ResultTextBoxPanel.UpdateResultTextBoxPanel();
        }