コード例 #1
0
ファイル: Program.cs プロジェクト: calum74/s2
        // Creates a deep copy
        public static ProgramFolder Clone(IProgramFolder origin)
        {
            var p = new ProgramFolder();

            p.name     = origin.Name;
            p.folders  = origin.Folders.Select(Clone).ToArray();
            p.programs = origin.Programs.Select(Program.Clone).ToArray();

            return(p);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: calum74/s2
        public static StoredProgramFolder Create(Stream stream, IProgramFolder source)
        {
            var result = new StoredProgramFolder();

            result.Create(stream);
            stream.WriteString(source.Name);
            var programs    = source.Programs.ToArray();
            var folders     = source.Folders.ToArray();
            var programData = StreamArray <StoredProgram> .Create(stream, programs.Length);

            var folderData = StreamArray <StoredProgramFolder> .Create(stream, folders.Length);

            programData.Value = programs.Select(p => StoredProgram.Create(stream, p)).ToArray();
            folderData.Value  = folders.Select(p => StoredProgramFolder.Create(stream, p)).ToArray();
            return(result);
        }
コード例 #3
0
        void AddNodes(IProgramFolder folder, TreeNodeCollection nodes)
        {
            foreach (var program in folder.Programs)
            {
                var n = nodes.Add(program.Name);
                n.ImageIndex         = 1;
                n.SelectedImageIndex = 1;
                n.Tag = program;
                n.Nodes.Add("Dummy");
            }

            foreach (var f in folder.Folders)
            {
                var n = nodes.Add(f.Name);
                n.ImageIndex         = 0;
                n.SelectedImageIndex = 0;
                n.Tag = f;
                n.Nodes.Add("Dummy");
            }
        }