Example #1
0
 /// <summary>
 /// 指定した巡回設定を読み込みます
 /// </summary>
 /// <param name="table">指定する設定</param>
 public void Set(IPatrolTable source)
 {
     BeginUpdate();
     foreach (GenreFolder folder in source)
     {
         TreeNode folderNode = new TreeNode(folder.Name)
         {
             Tag = folder,
             Name = folder.Name,
             ImageIndex = PatrolPatternsEditForm.FolderImageIndex,
             SelectedImageIndex = PatrolPatternsEditForm.FolderImageIndex
         };
         foreach (PatrolPattern child in folder)
         {
             PatrolPatternEditControl patternControl = new PatrolPatternEditControl(child);
             patternControl.PatternNameChanged +=
                 new EventHandler<PatrolPatternNameChangedEventArgs>(patternControl_PatternNameChanged);
             TreeNode childNode = new TreeNode(child.Name)
             {
                 Name = child.Name,
                 Tag = patternControl,
                 ImageIndex = PatrolPatternsEditForm.PatternImageIndex,
                 SelectedImageIndex = PatrolPatternsEditForm.PatternImageIndex
             };
             folderNode.Nodes.Add(childNode);
         }
         Nodes.Add(folderNode);
     }
     EndUpdate();
 }
Example #2
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;
        }