public void FromXml(XmlDocument doc)
        {
            XmlNode root = Util.SelectSingleNode(doc, "Tour");


            id     = root.Attributes.GetNamedItem("ID").Value.ToString();
            Title  = root.Attributes.GetNamedItem("Title").Value.ToString();
            Author = root.Attributes.GetNamedItem("Author").Value.ToString();

            if (root.Attributes.GetNamedItem("Descirption") != null)
            {
                Description = root.Attributes.GetNamedItem("Descirption").Value;
            }

            if (root.Attributes.GetNamedItem("AuthorEmail") != null)
            {
                authorEmail = root.Attributes.GetNamedItem("AuthorEmail").Value;
            }

            if (root.Attributes.GetNamedItem("Keywords") != null)
            {
                Keywords = root.Attributes.GetNamedItem("Keywords").Value;
            }

            if (root.Attributes.GetNamedItem("OrganizationName") != null)
            {
                OrgName = root.Attributes.GetNamedItem("OrganizationName").Value;
            }

            organizationUrl = root.Attributes.GetNamedItem("OrganizationUrl").Value.ToString();

            switch (root.Attributes.GetNamedItem("UserLevel").Value)
            {
            case "Beginner":
                level = UserLevel.Beginner;
                break;

            case "Intermediate":
                level = UserLevel.Intermediate;
                break;

            case "Advanced":
                level = UserLevel.Advanced;
                break;

            case "Educator":
                level = UserLevel.Educator;
                break;

            case "Professional":
                level = UserLevel.Professional;
                break;

            default:
                break;
            }


            switch (root.Attributes.GetNamedItem("Classification").Value)
            {
            case "Star":
                type = Classification.Star;
                break;

            case "Supernova":
                type = Classification.Supernova;
                break;

            case "BlackHole":
                type = Classification.BlackHole;
                break;

            case "NeutronStar":
                type = Classification.NeutronStar;
                break;

            case "DoubleStar":
                type = Classification.DoubleStar;
                break;

            case "MultipleStars":
                type = Classification.MultipleStars;
                break;

            case "Asterism":
                type = Classification.Asterism;
                break;

            case "Constellation":
                type = Classification.Constellation;
                break;

            case "OpenCluster":
                type = Classification.OpenCluster;
                break;

            case "GlobularCluster":
                type = Classification.GlobularCluster;
                break;

            case "NebulousCluster":
                type = Classification.NebulousCluster;
                break;

            case "Nebula":
                type = Classification.Nebula;
                break;

            case "EmissionNebula":
                type = Classification.EmissionNebula;
                break;

            case "PlanetaryNebula":
                type = Classification.PlanetaryNebula;
                break;

            case "ReflectionNebula":
                type = Classification.ReflectionNebula;
                break;

            case "DarkNebula":
                type = Classification.DarkNebula;
                break;

            case "GiantMolecularCloud":
                type = Classification.GiantMolecularCloud;
                break;

            case "SupernovaRemnant":
                type = Classification.SupernovaRemnant;
                break;

            case "InterstellarDust":
                type = Classification.InterstellarDust;
                break;

            case "Quasar":
                type = Classification.Quasar;
                break;

            case "Galaxy":
                type = Classification.Galaxy;
                break;

            case "SpiralGalaxy":
                type = Classification.SpiralGalaxy;
                break;

            case "IrregularGalaxy":
                type = Classification.IrregularGalaxy;
                break;

            case "EllipticalGalaxy":
                type = Classification.EllipticalGalaxy;
                break;

            case "Knot":
                type = Classification.Knot;
                break;

            case "PlateDefect":
                type = Classification.PlateDefect;
                break;

            case "ClusterOfGalaxies":
                type = Classification.ClusterOfGalaxies;
                break;

            case "OtherNGC":
                type = Classification.OtherNGC;
                break;

            case "Unidentified":
                type = Classification.Unidentified;
                break;

            case "SolarSystem":
                type = Classification.SolarSystem;
                break;

            case "Unfiltered":
                type = Classification.Unfiltered;
                break;

            case "Stellar":
                type = Classification.Stellar;
                break;

            case "StellarGroupings":
                type = Classification.StellarGroupings;
                break;

            case "Nebulae":
                type = Classification.Nebulae;
                break;

            case "Galactic":
                type = Classification.Galactic;
                break;

            case "Other":
                type = Classification.Other;
                break;

            default:
                break;
            }

            taxonomy = root.Attributes.GetNamedItem("Taxonomy").Value.ToString();
            XmlNode TourStops = Util.SelectSingleNode(root, "TourStops");

            foreach (XmlNode tourStop in TourStops.ChildNodes)
            {
                if (tourStop.Name == "TourStop")
                {
                    AddTourStop(TourStop.FromXml(this, tourStop));
                }
            }

            XmlNode Frames = Util.SelectSingleNode(root, "ReferenceFrames");

            if (Frames != null)
            {
                foreach (XmlNode frame in Frames.ChildNodes)
                {
                    if (frame.Name == "ReferenceFrame")
                    {
                        ReferenceFrame newFrame = new ReferenceFrame();
                        newFrame.InitializeFromXml(frame);
                        if (!LayerManager.AllMaps.ContainsKey(newFrame.Name))
                        {
                            LayerMap map = new LayerMap(newFrame.Name, ReferenceFrames.Custom);
                            map.Frame          = newFrame;
                            map.LoadedFromTour = true;
                            LayerManager.AllMaps[newFrame.Name] = map;
                        }
                    }
                }
                LayerManager.ConnectAllChildren();
                LayerManager.LoadTree();
            }

            XmlNode Layers = Util.SelectSingleNode(root, "Layers");

            if (Layers != null)
            {
                foreach (XmlNode layer in Layers.ChildNodes)
                {
                    if (layer.Name == "Layer")
                    {
                        Layer newLayer = new Layer().FromXml(layer, true);//.Layer.FromXml(layer, true);
                        if (newLayer != null)
                        {
                            string fileName = string.Format("{0}.txt", newLayer.ID.ToString());
                            if (LayerManager.LayerList.ContainsKey(newLayer.ID)) // && newLayer.ID != ISSLayer.ISSGuid)
                            {
                                //if (!CollisionChecked)
                                //{
                                //    if (UiTools.ShowMessageBox(Language.GetLocalizedText(958, "There are layers with the same name. Overwrite existing layers?"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"), System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                                //    {
                                //        OverWrite = true;
                                //    }
                                //    else
                                //    {
                                //        OverWrite = false;

                                //    }
                                //    CollisionChecked = true;
                                //}

                                //if (OverWrite)
                                //{
                                LayerManager.DeleteLayerByID(newLayer.ID, true, false);
                                //}
                            }
                            try
                            {
                                newLayer.LoadedFromTour = true;
                                newLayer.LoadData(GetFileStream(fileName));
                                LayerManager.Add(newLayer, false);
                            }
                            catch
                            {
                            }
                        }
                    }
                }
                LayerManager.LoadTree();
            }

            //todo author
            //if (File.Exists(WorkingDirectory + "Author.png"))
            //{
            //    authorImage = UiTools.LoadBitmap(WorkingDirectory + "Author.png");
            //}

            tourDirty = 0;
        }
        public void FromXml(XmlDocument doc)
        {
            XmlNode root = Util.SelectSingleNode(doc, "Tour");

            id = root.Attributes.GetNamedItem("ID").Value.ToString();
            Title = root.Attributes.GetNamedItem("Title").Value.ToString();
            Author = root.Attributes.GetNamedItem("Author").Value.ToString();

            if (root.Attributes.GetNamedItem("Descirption") != null)
            {
                Description = root.Attributes.GetNamedItem("Descirption").Value;
            }

            if (root.Attributes.GetNamedItem("AuthorEmail") != null)
            {
                authorEmail = root.Attributes.GetNamedItem("AuthorEmail").Value;
            }

            if (root.Attributes.GetNamedItem("Keywords") != null)
            {
                Keywords = root.Attributes.GetNamedItem("Keywords").Value;
            }

            if (root.Attributes.GetNamedItem("OrganizationName") != null)
            {
                OrgName = root.Attributes.GetNamedItem("OrganizationName").Value;
            }

            organizationUrl = root.Attributes.GetNamedItem("OrganizationUrl").Value;

            switch (root.Attributes.GetNamedItem("UserLevel").Value)
            {

                case "Beginner":
                    level = UserLevel.Beginner;
                    break;
                case "Intermediate":
                    level = UserLevel.Intermediate;
                    break;
                case "Advanced":
                    level = UserLevel.Advanced;
                    break;
                case "Educator":
                    level = UserLevel.Educator;
                    break;
                case "Professional":
                    level = UserLevel.Professional;
                    break;
                default:
                    break;
            }

            switch (root.Attributes.GetNamedItem("Classification").Value)
            {

                case "Star":
                    type = Classification.Star;
                    break;
                case "Supernova":
                    type = Classification.Supernova;
                    break;
                case "BlackHole":
                    type = Classification.BlackHole;
                    break;
                case "NeutronStar":
                    type = Classification.NeutronStar;
                    break;
                case "DoubleStar":
                    type = Classification.DoubleStar;
                    break;
                case "MultipleStars":
                    type = Classification.MultipleStars;
                    break;
                case "Asterism":
                    type = Classification.Asterism;
                    break;
                case "Constellation":
                    type = Classification.Constellation;
                    break;
                case "OpenCluster":
                    type = Classification.OpenCluster;
                    break;
                case "GlobularCluster":
                    type = Classification.GlobularCluster;
                    break;
                case "NebulousCluster":
                    type = Classification.NebulousCluster;
                    break;
                case "Nebula":
                    type = Classification.Nebula;
                    break;
                case "EmissionNebula":
                    type = Classification.EmissionNebula;
                    break;
                case "PlanetaryNebula":
                    type = Classification.PlanetaryNebula;
                    break;
                case "ReflectionNebula":
                    type = Classification.ReflectionNebula;
                    break;
                case "DarkNebula":
                    type = Classification.DarkNebula;
                    break;
                case "GiantMolecularCloud":
                    type = Classification.GiantMolecularCloud;
                    break;
                case "SupernovaRemnant":
                    type = Classification.SupernovaRemnant;
                    break;
                case "InterstellarDust":
                    type = Classification.InterstellarDust;
                    break;
                case "Quasar":
                    type = Classification.Quasar;
                    break;
                case "Galaxy":
                    type = Classification.Galaxy;
                    break;
                case "SpiralGalaxy":
                    type = Classification.SpiralGalaxy;
                    break;
                case "IrregularGalaxy":
                    type = Classification.IrregularGalaxy;
                    break;
                case "EllipticalGalaxy":
                    type = Classification.EllipticalGalaxy;
                    break;
                case "Knot":
                    type = Classification.Knot;
                    break;
                case "PlateDefect":
                    type = Classification.PlateDefect;
                    break;
                case "ClusterOfGalaxies":
                    type = Classification.ClusterOfGalaxies;
                    break;
                case "OtherNGC":
                    type = Classification.OtherNGC;
                    break;
                case "Unidentified":
                    type = Classification.Unidentified;
                    break;
                case "SolarSystem":
                    type = Classification.SolarSystem;
                    break;
                case "Unfiltered":
                    type = Classification.Unfiltered;
                    break;
                case "Stellar":
                    type = Classification.Stellar;
                    break;
                case "StellarGroupings":
                    type = Classification.StellarGroupings;
                    break;
                case "Nebulae":
                    type = Classification.Nebulae;
                    break;
                case "Galactic":
                    type = Classification.Galactic;
                    break;
                case "Other":
                    type = Classification.Other;
                    break;
                default:
                    break;
            }

            taxonomy = root.Attributes.GetNamedItem("Taxonomy").Value.ToString();
            XmlNode TourStops = Util.SelectSingleNode(root, "TourStops");
            foreach (XmlNode tourStop in TourStops.ChildNodes)
            {
                if (tourStop.Name == "TourStop")
                {
                    AddTourStop(TourStop.FromXml(this, tourStop));
                }
            }

            XmlNode Frames = Util.SelectSingleNode(root, "ReferenceFrames");

            if (Frames != null)
            {
                foreach (XmlNode frame in Frames.ChildNodes)
                {
                    if (frame.Name == "ReferenceFrame")
                    {
                        ReferenceFrame newFrame = new ReferenceFrame();
                        newFrame.InitializeFromXml(frame);
                        if (!LayerManager.AllMaps.ContainsKey(newFrame.Name))
                        {
                            LayerMap map = new LayerMap(newFrame.Name, ReferenceFrames.Custom);
                            map.Frame = newFrame;
                            map.LoadedFromTour = true;
                            LayerManager.AllMaps[newFrame.Name] = map;
                        }
                    }
                }
                LayerManager.ConnectAllChildren();
                LayerManager.LoadTree();
            }

            XmlNode Layers = Util.SelectSingleNode(root, "Layers");

            if (Layers != null)
            {
                foreach (XmlNode layer in Layers.ChildNodes)
                {
                    if (layer.Name == "Layer")
                    {

                        Layer newLayer = new Layer().FromXml(layer,true);//.Layer.FromXml(layer, true);
                        if (newLayer != null)
                        {
                            string fileName = string.Format("{0}.txt", newLayer.ID.ToString());
                            if (LayerManager.LayerList.ContainsKey(newLayer.ID)) // && newLayer.ID != ISSLayer.ISSGuid)
                            {
                                //if (!CollisionChecked)
                                //{
                                //    if (UiTools.ShowMessageBox(Language.GetLocalizedText(958, "There are layers with the same name. Overwrite existing layers?"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"), System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                                //    {
                                //        OverWrite = true;
                                //    }
                                //    else
                                //    {
                                //        OverWrite = false;

                                //    }
                                //    CollisionChecked = true;
                                //}

                                //if (OverWrite)
                                //{
                                LayerManager.DeleteLayerByID(newLayer.ID, true, false);
                                //}
                            }
                            try
                            {
                                newLayer.LoadedFromTour = true;
                                newLayer.LoadData(GetFileStream(fileName));
                                LayerManager.Add(newLayer, false);
                            }
                            catch
                            {
                            }
                        }
                    }
                }
                LayerManager.LoadTree();
            }

            //todo author
            //if (File.Exists(WorkingDirectory + "Author.png"))
            //{
            //    authorImage = UiTools.LoadBitmap(WorkingDirectory + "Author.png");
            //}

            tourDirty = 0;
        }
        //public static TourDocument FromUrl(string url, Action callMe)
        //{

        //    TourDocument temp = new TourDocument();
        //    temp.Url = url;
        //    temp.callMe = callMe;

        //    temp.webFile = new WebFile(Util.GetTourComponent(url, "master"));
        //    temp.webFile.OnStateChange = temp.LoadXmlDocument;
        //    temp.webFile.Send();

        //    return temp;
        //}

        //private void LoadXmlDocument()
        //{
        //    if (webFile.State == StateType.Error)
        //    {
        //        Script.Literal("alert({0})", webFile.Message);
        //    }
        //    else if (webFile.State == StateType.Received)
        //    {
        //        FromXml(webFile.GetXml());
        //        callMe();
        //    }
        //}


        public void FromXml(XmlDocument doc)
        {
            XmlNode root = Util.SelectSingleNode(doc, "Tour");


            id     = root.Attributes.GetNamedItem("ID").Value.ToString();
            Title  = root.Attributes.GetNamedItem("Title").Value.ToString();
            Author = root.Attributes.GetNamedItem("Author").Value.ToString();

            if (root.Attributes.GetNamedItem("Descirption") != null)
            {
                Description = root.Attributes.GetNamedItem("Descirption").Value;
            }

            if (root.Attributes.GetNamedItem("AuthorEmail") != null)
            {
                authorEmail = root.Attributes.GetNamedItem("AuthorEmail").Value;
            }

            if (root.Attributes.GetNamedItem("Keywords") != null)
            {
                Keywords = root.Attributes.GetNamedItem("Keywords").Value;
            }

            if (root.Attributes.GetNamedItem("OrganizationName") != null)
            {
                OrgName = root.Attributes.GetNamedItem("OrganizationName").Value;
            }



            organizationUrl = root.Attributes.GetNamedItem("OrganizationUrl").Value;

            level = (UserLevel)Enums.Parse("UserLevel", root.Attributes.GetNamedItem("UserLevel").Value);

            type = (Classification)Enums.Parse("Classification", root.Attributes.GetNamedItem("Classification").Value);

            taxonomy = root.Attributes.GetNamedItem("Taxonomy").Value.ToString();
            XmlNode TourStops = Util.SelectSingleNode(root, "TourStops");

            foreach (XmlNode tourStop in TourStops.ChildNodes)
            {
                if (tourStop.Name == "TourStop")
                {
                    AddTourStop(TourStop.FromXml(this, tourStop));
                }
            }

            XmlNode Frames = Util.SelectSingleNode(root, "ReferenceFrames");

            if (Frames != null)
            {
                foreach (XmlNode frame in Frames.ChildNodes)
                {
                    if (frame.Name == "ReferenceFrame")
                    {
                        ReferenceFrame newFrame = new ReferenceFrame();
                        newFrame.InitializeFromXml(frame);
                        if (!LayerManager.AllMaps.ContainsKey(newFrame.Name))
                        {
                            LayerMap map = new LayerMap(newFrame.Name, ReferenceFrames.Custom);
                            map.Frame          = newFrame;
                            map.LoadedFromTour = true;
                            LayerManager.AllMaps[newFrame.Name] = map;
                        }
                    }
                }
                LayerManager.ConnectAllChildren();
                LayerManager.LoadTree();
            }

            XmlNode Layers = Util.SelectSingleNode(root, "Layers");

            if (Layers != null)
            {
                foreach (XmlNode layer in Layers.ChildNodes)
                {
                    if (layer.Name == "Layer")
                    {
                        Layer newLayer = Layer.FromXml(layer, true);//.Layer.FromXml(layer, true);
                        if (newLayer != null)
                        {
                            string fileName = string.Format("{0}.txt", newLayer.ID.ToString());
                            if (LayerManager.LayerList.ContainsKey(newLayer.ID)) // && newLayer.ID != ISSLayer.ISSGuid)
                            {
                                //if (!CollisionChecked)
                                //{
                                //    if (UiTools.ShowMessageBox(Language.GetLocalizedText(958, "There are layers with the same name. Overwrite existing layers?"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"), System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                                //    {
                                //        OverWrite = true;
                                //    }
                                //    else
                                //    {
                                //        OverWrite = false;

                                //    }
                                //    CollisionChecked = true;
                                //}

                                //if (OverWrite)
                                //{
                                LayerManager.DeleteLayerByID(newLayer.ID, true, false);
                                //}
                            }
                            try
                            {
                                newLayer.LoadedFromTour = true;
                                newLayer.LoadData(this, fileName);
                                LayerManager.Add(newLayer, false);
                            }
                            catch
                            {
                            }
                        }
                    }
                }
                LayerManager.LoadTree();
            }

            //todo author
            //if (File.Exists(WorkingDirectory + "Author.png"))
            //{
            //    authorImage = UiTools.LoadBitmap(WorkingDirectory + "Author.png");
            //}

            tourDirty = 0;
        }
Beispiel #4
0
 public void OK(ReferenceFrame frame)
 {
 }
Beispiel #5
0
 public void OK(ReferenceFrame frame)
 {
     LayerManager.LoadTree();
 }
Beispiel #6
0
 public void OK(ReferenceFrame frame)
 {
     LayerManager.referenceFrameWizardFinished(frame);
 }