//選択された置換情報の優先順位を下げる
        private void btnDown_Click(object sender, EventArgs e)
        {
            //1件選択されていない場合はエラー
            if (lstvwMorphemeReplaceInfo.SelectedItems.Count != 1)
            {
                MessageBox.Show(String.Format(XmlDatas.ListMessages["ERROR_4"], XmlDatas.ListNames["MORPHEME_REPLACE_INFO"], "1"));
                return;
            }

            int intSelectedIndex = lstvwMorphemeReplaceInfo.SelectedItems[0].Index;

            if (intSelectedIndex == lstvwMorphemeReplaceInfo.Items.Count - 1)
            {
                return;
            }

            ListViewItem temp  = (ListViewItem)lstvwMorphemeReplaceInfo.Items[intSelectedIndex + 1].Clone();
            ListViewItem temp2 = (ListViewItem)lstvwMorphemeReplaceInfo.Items[intSelectedIndex].Clone();

            lstvwMorphemeReplaceInfo.Items.RemoveAt(intSelectedIndex + 1);
            lstvwMorphemeReplaceInfo.Items.Insert(intSelectedIndex + 1, temp2);
            lstvwMorphemeReplaceInfo.Items.RemoveAt(intSelectedIndex);
            lstvwMorphemeReplaceInfo.Items.Insert(intSelectedIndex, temp);

            MorphemeReplaceInfo temp3 = new MorphemeReplaceInfo(lstMorphemeReplaceInfo[intSelectedIndex + 1]);
            MorphemeReplaceInfo temp4 = new MorphemeReplaceInfo(lstMorphemeReplaceInfo[intSelectedIndex]);

            lstMorphemeReplaceInfo.RemoveAt(intSelectedIndex + 1);
            lstMorphemeReplaceInfo.Insert(intSelectedIndex + 1, temp4);
            lstMorphemeReplaceInfo.RemoveAt(intSelectedIndex);
            lstMorphemeReplaceInfo.Insert(intSelectedIndex, temp3);

            lstvwMorphemeReplaceInfo.SelectedItems.Clear();
            lstvwMorphemeReplaceInfo.Items[intSelectedIndex + 1].Selected = true;
        }
        //置換情報編集ボタンクリック時
        private void btnEdit_Click(object sender, EventArgs e)
        {
            intEditMode = 1;
            lstMorphemeReplaceSource.Clear();
            lstMorphemeReplaceDestination.Clear();

            int intSelected = lstvwMorphemeReplaceInfo.SelectedIndices[0];

            morphemeReplaceEdit = new MorphemeReplaceInfo(lstMorphemeReplaceInfo[intSelected]);
            controlButtons(1);

            lstMorphemeReplaceSource      = new List <MSeed>(morphemeReplaceEdit.ListSource);
            lstMorphemeReplaceDestination = new List <MSeed>(morphemeReplaceEdit.ListDestination);

            txtName.Text = morphemeReplaceEdit.MorphemeReplaceInfoName;

            lstvwMorpemeReplaceInfoSource.Items.Clear();
            lstMorphemeReplaceSource.ForEach(delegate(MSeed seedWork)
            {
                String[] strLineList = { seedWork.DictionaryMembers[XmlDatas.ListItemNames["HYOSO_TYPE"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI_DETAIL_1"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI_DETAIL_2"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI_DETAIL_3"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["KATSUYO_KEI"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["KATSUYO_TYPE"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["BASE_TYPE"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["YOMI"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HATSUON"]].ToString() };
                lstvwMorpemeReplaceInfoSource.Items.Add(new ListViewItem(strLineList));
            });

            if (morphemeReplaceEdit.IsLoop)
            {
                chkLoop.Checked = true;
            }
            else
            {
                chkLoop.Checked = false;
            }

            if (morphemeReplaceEdit.IsAuto)
            {
                chkAuto.Checked = true;
            }
            else
            {
                chkAuto.Checked = false;
            }

            if (morphemeReplaceEdit.IsUseHyosoFile)
            {
                chkHyoso.Checked   = true;
                txtHyosoIndex.Text = morphemeReplaceEdit.HyosoIndex.ToString();
                lblReadFile.Text   = morphemeReplaceEdit.HyosoFilePath;
            }
            else
            {
                chkHyoso.Checked = false;
            }

            lstvwMorpemeReplaceInfoDestination.Items.Clear();
            lstMorphemeReplaceDestination.ForEach(delegate(MSeed seedWork)
            {
                String[] strLineList = { seedWork.DictionaryMembers[XmlDatas.ListItemNames["HYOSO_TYPE"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI_DETAIL_1"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI_DETAIL_2"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HINSHI_DETAIL_3"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["KATSUYO_KEI"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["KATSUYO_TYPE"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["BASE_TYPE"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["YOMI"]].ToString(), seedWork.DictionaryMembers[XmlDatas.ListItemNames["HATSUON"]].ToString() };
                lstvwMorpemeReplaceInfoDestination.Items.Add(new ListViewItem(strLineList));
            });
        }
 //ListViewの選択を変更した時
 private void lstvwMorphemeReplaceInfo_SelectedIndexChanged(object sender, EventArgs e)
 {
     intEditMode         = 0;
     morphemeReplaceEdit = new MorphemeReplaceInfo();
     txtName.Text        = String.Empty;
     lstMorphemeReplaceSource.Clear();
     lstMorphemeReplaceDestination.Clear();
     lstvwMorpemeReplaceInfoSource.Items.Clear();
     lstvwMorpemeReplaceInfoDestination.Items.Clear();
     chkHyoso.Checked   = false;
     txtHyosoIndex.Text = String.Empty;
     lblHyosoIndex.Text = String.Empty;
     controlButtons(0);
 }
Exemplo n.º 4
0
 //コピーコンストラクタ
 public MorphemeReplaceInfo(MorphemeReplaceInfo source)
 {
     this.strMorphemeReplaceInfoName = source.MorphemeReplaceInfoName;
     this.intListSourceCount         = source.ListSourceCount;
     this.lstSource = new List <MSeed>(source.ListSource);
     this.intListDestinationCount = source.intListDestinationCount;
     this.lstDestination          = new List <MSeed>(source.ListDestination);
     this.bIsLoop          = source.IsLoop;
     this.bIsAuto          = source.IsAuto;
     this.bIsTake          = source.IsTake;
     this.bIsUseHyosoFile  = source.IsUseHyosoFile;
     this.intHyosoIndex    = source.HyosoIndex;
     this.strHyosoFilePath = source.strHyosoFilePath;
     this.lstHyoso         = new List <String>(source.ListHyoso);
 }
        //決定
        private void btnTake_Click(object sender, EventArgs e)
        {
            String strMsg = "";

            if (inputCheck())
            {
                MorphemeReplaceInfo morhpemeReplaceInfo = new MorphemeReplaceInfo();
                morhpemeReplaceInfo.MorphemeReplaceInfoName = txtName.Text;
                morhpemeReplaceInfo.ListSourceCount         = lstMorphemeReplaceSource.Count;
                morhpemeReplaceInfo.ListSource           = new List <MSeed>(lstMorphemeReplaceSource);
                morhpemeReplaceInfo.ListDestinationCount = lstMorphemeReplaceDestination.Count;
                morhpemeReplaceInfo.ListDestination      = new List <MSeed>(lstMorphemeReplaceDestination);

                if (chkLoop.Checked)
                {
                    morhpemeReplaceInfo.IsLoop = true;
                }
                else
                {
                    morhpemeReplaceInfo.IsLoop = false;
                }

                if (chkAuto.Checked)
                {
                    morhpemeReplaceInfo.IsAuto = true;
                }
                else
                {
                    morhpemeReplaceInfo.IsAuto = false;
                }

                if (chkHyoso.Checked)
                {
                    morhpemeReplaceInfo.IsUseHyosoFile = true;
                    morhpemeReplaceInfo.HyosoIndex     = int.Parse(txtHyosoIndex.Text);
                    morhpemeReplaceInfo.HyosoFilePath  = lblReadFile.Text;
                    StreamReader strrdr = null;

                    try
                    {
                        morhpemeReplaceInfo.ListHyoso.Clear();
                        strrdr = new StreamReader(@lblReadFile.Text, Encoding.GetEncoding("utf-8"));
                        while (!strrdr.EndOfStream)
                        {
                            morhpemeReplaceInfo.ListHyoso.Add(strrdr.ReadLine());
                        }
                    }
                    catch (IOException ioe)
                    {
                        MessageBox.Show(ioe.Message);
                        return;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        return;
                    }
                    finally
                    {
                        if (strrdr != null)
                        {
                            strrdr.Close();
                            strrdr.Dispose();
                        }
                    }
                }
                else
                {
                    morhpemeReplaceInfo.IsUseHyosoFile = false;
                    morhpemeReplaceInfo.HyosoIndex     = -1;
                    morhpemeReplaceInfo.ListHyoso      = new List <String>();
                }

                //追加の時
                if (intEditMode == 0)
                {
                    lstMorphemeReplaceInfo.Add(morhpemeReplaceInfo);
                    lstvwMorphemeReplaceInfo.Items.Add(morhpemeReplaceInfo.MorphemeReplaceInfoName);
                    strMsg = "追加";
                }
                //編集の時
                else if (intEditMode == 1)
                {
                    int intSelectedWork = lstvwMorphemeReplaceInfo.SelectedIndices[0];
                    lstMorphemeReplaceInfo[intSelectedWork].MorphemeReplaceInfoName = morhpemeReplaceInfo.MorphemeReplaceInfoName;
                    lstMorphemeReplaceInfo[intSelectedWork].ListSourceCount         = morhpemeReplaceInfo.ListSourceCount;
                    lstMorphemeReplaceInfo[intSelectedWork].ListSource     = new List <MSeed>(morhpemeReplaceInfo.ListSource);
                    lstMorphemeReplaceInfo[intSelectedWork].IsAuto         = morhpemeReplaceInfo.IsAuto;
                    lstMorphemeReplaceInfo[intSelectedWork].IsLoop         = morhpemeReplaceInfo.IsLoop;
                    lstMorphemeReplaceInfo[intSelectedWork].IsUseHyosoFile = morhpemeReplaceInfo.IsUseHyosoFile;
                    if (lstMorphemeReplaceInfo[intSelectedWork].IsUseHyosoFile)
                    {
                        lstMorphemeReplaceInfo[intSelectedWork].HyosoIndex    = morhpemeReplaceInfo.HyosoIndex;
                        lstMorphemeReplaceInfo[intSelectedWork].HyosoFilePath = morhpemeReplaceInfo.HyosoFilePath;
                        lstMorphemeReplaceInfo[intSelectedWork].ListHyoso     = new List <String>(morhpemeReplaceInfo.ListHyoso);
                    }
                    lstMorphemeReplaceInfo[intSelectedWork].ListDestinationCount = morhpemeReplaceInfo.ListDestinationCount;
                    lstMorphemeReplaceInfo[intSelectedWork].ListDestination      = new List <MSeed>(morhpemeReplaceInfo.ListDestination);
                    lstvwMorphemeReplaceInfo.Items[intSelectedWork].Text         = morhpemeReplaceInfo.MorphemeReplaceInfoName;
                    strMsg = "編集";
                }

                //完了のメッセ―ジ
                MessageBox.Show(String.Format(XmlDatas.ListMessages["INFORMATION_FINISHED"], strMsg));
                lstMorphemeReplaceSource.Clear();
                lstMorphemeReplaceDestination.Clear();
                lstvwMorpemeReplaceInfoSource.Items.Clear();
                lstvwMorpemeReplaceInfoDestination.Items.Clear();
                txtName.Text       = "";
                txtHyosoIndex.Text = "";
                chkAuto.Checked    = false;
                chkHyoso.Checked   = false;
                chkLoop.Checked    = false;
                lblReadFile.Text   = "";
                controlButtons(0);
            }
        }
Exemplo n.º 6
0
        //形態要素置換情報ファイル取得
        public static Boolean getMorphemeReplaceInfoFromFile(String strFilePath, ref List <MorphemeReplaceInfo> lstMorphemeReplaceinfo)
        {
            Boolean      bResult = false;
            StreamReader strrdr  = null;

            try
            {
                if (!File.Exists(@strFilePath))
                {
                    MessageBox.Show(String.Format(XmlDatas.ListMessages["ERROR_2"].ToString(), XmlDatas.ListNames["MORPHEME_REPLACE_INFO"].ToString()));
                    return(bResult);
                }

                strrdr = new StreamReader(@strFilePath, Encoding.GetEncoding("utf-8"));
                lstMorphemeReplaceinfo.Clear();
                String strLineWork = String.Empty;
                MorphemeReplaceInfo morphemeReplaceInfo = new MorphemeReplaceInfo();
                List <Boolean>      bIsRead             = new List <Boolean> {
                    false, false, false, false, false, false, false, false, false, false, false
                };


                while (!strrdr.EndOfStream)
                {
                    strLineWork = strrdr.ReadLine();
                    if (strLineWork.Equals(XmlDatas.ListConsts["EOS"]))
                    {
                        lstMorphemeReplaceinfo.Add(morphemeReplaceInfo);
                        morphemeReplaceInfo = new MorphemeReplaceInfo();
                        bIsRead             = new List <Boolean> {
                            false, false, false, false, false, false, false, false, false, false, false
                        };
                    }
                    else
                    {
                        if (!bIsRead[0])
                        {
                            morphemeReplaceInfo.MorphemeReplaceInfoName = strLineWork;
                            bIsRead[0] = true;
                        }
                        else if (!bIsRead[1])
                        {
                            morphemeReplaceInfo.ListSourceCount = int.Parse(strLineWork);
                            bIsRead[1] = true;
                        }
                        else if (!bIsRead[2])
                        {
                            MSeed mSeedWork = new MSeed();
                            mSeedWork.getFromCsvFile2(strLineWork);
                            morphemeReplaceInfo.ListSource.Add(mSeedWork);
                            if (morphemeReplaceInfo.ListSourceCount == morphemeReplaceInfo.ListSource.Count)
                            {
                                bIsRead[2] = true;
                            }
                        }
                        else if (!bIsRead[3])
                        {
                            morphemeReplaceInfo.ListDestinationCount = int.Parse(strLineWork);
                            bIsRead[3] = true;
                        }
                        else if (!bIsRead[4])
                        {
                            MSeed mSeedWork = new MSeed();
                            mSeedWork.getFromCsvFile2(strLineWork);
                            morphemeReplaceInfo.ListDestination.Add(mSeedWork);
                            if (morphemeReplaceInfo.ListDestinationCount == morphemeReplaceInfo.ListDestination.Count)
                            {
                                bIsRead[4] = true;
                            }
                        }
                        else if (!bIsRead[5])
                        {
                            if (strLineWork.Equals("True"))
                            {
                                morphemeReplaceInfo.IsLoop = true;
                            }
                            else
                            {
                                morphemeReplaceInfo.IsLoop = false;
                            }

                            bIsRead[5] = true;
                        }
                        else if (!bIsRead[6])
                        {
                            if (strLineWork.Equals("True"))
                            {
                                morphemeReplaceInfo.IsAuto = true;
                            }
                            else
                            {
                                morphemeReplaceInfo.IsAuto = false;
                            }

                            bIsRead[6] = true;
                        }
                        else if (!bIsRead[7])
                        {
                            if (strLineWork.Equals("True"))
                            {
                                morphemeReplaceInfo.IsTake = true;
                            }
                            else
                            {
                                morphemeReplaceInfo.IsTake = false;
                            }

                            bIsRead[7] = true;
                        }
                        else if (!bIsRead[8])
                        {
                            if (strLineWork.Equals("True"))
                            {
                                morphemeReplaceInfo.IsUseHyosoFile = true;
                            }
                            else
                            {
                                morphemeReplaceInfo.IsUseHyosoFile = false;
                            }

                            bIsRead[8] = true;
                        }
                        else if (!bIsRead[9])
                        {
                            morphemeReplaceInfo.HyosoIndex = int.Parse(strLineWork);

                            bIsRead[9] = true;
                        }
                        else if (!bIsRead[10])
                        {
                            morphemeReplaceInfo.HyosoFilePath = strLineWork;
                            morphemeReplaceInfo.ListHyoso.Clear();
                            StreamReader strrdr2 = null;

                            if (morphemeReplaceInfo.HyosoFilePath.Length > 0)
                            {
                                try
                                {
                                    strrdr2 = new StreamReader(@morphemeReplaceInfo.HyosoFilePath, Encoding.GetEncoding("utf-8"));
                                    while (!strrdr2.EndOfStream)
                                    {
                                        morphemeReplaceInfo.ListHyoso.Add(strrdr2.ReadLine());
                                    }
                                }
                                catch (IOException ioe)
                                {
                                    MessageBox.Show(ioe.Message);
                                }
                                catch (Exception ex)
                                {
                                    MessageBox.Show(ex.Message);
                                }
                                finally
                                {
                                    if (strrdr2 != null)
                                    {
                                        strrdr2.Close();
                                        strrdr2.Dispose();
                                    }
                                }
                            }

                            bIsRead[10] = true;
                        }
                    }
                }

                bResult = true;
            }
            catch (IOException ioe)
            {
                MessageBox.Show(ioe.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (strrdr != null)
                {
                    strrdr.Close();
                    strrdr.Dispose();
                }
            }

            return(bResult);
        }