Example #1
0
        /// <summary>
        /// 現在の状態を取得します
        /// </summary>
        /// <param name="table">反映させる設定</param>
        public bool Get(IPatrolTable destination)
        {
            bool retry = false;
            List<GenreFolder> folders = new List<GenreFolder>();
            foreach (TreeNode folderNode in Nodes)
            {
                GenreFolder folder = (GenreFolder)folderNode.Tag;
                folder.Clear();
                foreach (TreeNode patternNode in folderNode.Nodes)
                {
                    PatrolPatternEditControl patternControl = (PatrolPatternEditControl)patternNode.Tag;
                    PatrolPattern pattern = patternControl.GetInitializedCurrentPattern(folder);
                    if (pattern != null)
                    {
                        folder.Add(pattern);
                    }
                    else if (MessageBox.Show("設定項目を入力しなおしますか?\nここで無視した設定は保存されません",
                                "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                    {
                        retry = true;
                        return retry;
                    }
                }
                folders.Add(folder);
            }

            destination.Clear();
            foreach (GenreFolder folder in folders)
            {
                destination.Add(folder);
            }
            return retry;
        }