示例#1
0
 /// <summary>
 /// Initializes a new instance of the Slideshow class by cloneing the given <see cref="Slideshow"/>
 /// </summary>
 /// <param name="slideshow">A <see cref="Slideshow"/> to be cloned.</param>
 public Slideshow(Slideshow slideshow)
 {
     this.Name      = slideshow.Name;
     this.Text      = slideshow.Text;
     this.ImageKey  = slideshow.ImageKey;
     this.shuffling = slideshow.Shuffling;
     foreach (SlideshowTreeNode node in slideshow.Nodes)
     {
         this.Nodes.Add((SlideshowTreeNode)node.Clone());
     }
 }
示例#2
0
        /// <summary>
        /// This method is a custom deserialization with an <see cref="XmlSerializer"/>
        /// to read the contents of the <see cref="Slideshow"/> that
        /// are exposed in this override. It deserializes recursively.
        /// </summary>
        /// <param name="reader">The <see cref="XmlReader"/> to use.</param>
        /// <param name="node">The <see cref="SlideshowTreeNode"/> to deserialize.</param>
        public override void DeserializeNode(XmlReader reader, SlideshowTreeNode node)
        {
            var shuffleSerializer = new XmlSerializer(typeof(CustomShuffling));

            // Check for Versions < Ogama 4.3
            if (reader.Name == "SlideshowTreeNode")
            {
                base.DeserializeNode(reader, node);
                return;
            }

            reader.ReadStartElement("IsModified");
            this.IsModified = reader.ReadContentAsBoolean();
            reader.ReadEndElement();

            if (reader.Name == "CustomShuffling")
            {
                this.shuffling = (CustomShuffling)shuffleSerializer.Deserialize(reader);
            }


            while ((reader.Name == "SlideshowTreeNode" && reader.NodeType == XmlNodeType.Element) ||
                   (reader.Name == "BrowserTreeNode" && reader.NodeType == XmlNodeType.Element))
            {
                if (reader.Name == "SlideshowTreeNode")
                {
                    var newNode = new SlideshowTreeNode();
                    newNode.DeserializeNode(reader, newNode);
                    this.SetTreeNodeImageKey(newNode);
                    node.Nodes.Add(newNode);
                }
                else if (reader.Name == "BrowserTreeNode")
                {
                    var newNode = new BrowserTreeNode();
                    newNode.DeserializeNode(reader, newNode);
                    this.SetTreeNodeImageKey(newNode);
                    node.Nodes.Add(newNode);
                }
            }
        }
示例#3
0
        ///////////////////////////////////////////////////////////////////////////////
        // Construction and Initializing methods                                     //
        ///////////////////////////////////////////////////////////////////////////////
        #region CONSTRUCTION

        /// <summary>
        /// Initializes a new instance of the Slideshow class.
        /// </summary>
        public Slideshow()
        {
            this.Name      = "-1";
            this.Text      = "Slideshow";
            this.shuffling = new CustomShuffling();
        }