/* public XmlDocument ReadXMLData(XmlDocument xmlDoc, string FullPath)
        {
            xmlDoc.Load(FullPath);

            return xmlDoc;
        } */
        public void ImageItem_selected(object sender, RoutedEventArgs e)
        {
            SurfaceListBoxItem Item = e.Source as SurfaceListBoxItem;
            System.Windows.Point Center = new System.Windows.Point(950.0, 450.0);
            string ScatterName = Item.Name;
            ScatterViewItem Obj = LogicalTreeHelper.FindLogicalNode(scatterView1, ScatterName) as ScatterViewItem;

            if (Obj == null)  // if the object does not already exists create it
            {
                XmlDocument xmlDoc = new XmlDocument();

                int index = Convert.ToInt32(Item.Name.Substring(5, 2));

                if (Item.Name.Substring(0, 5) == "Local")
                {
                    XML_IO.ReadXMLData(xmlDoc, LocalFileNames[index - 1].ToString());

                }
                else
                {
                    XML_IO.ReadXMLData(xmlDoc, FileNames[index - 1].ToString());
                }

                ScatterViewItem newScatterViewItem = new ScatterViewItem();
                newScatterViewItem.Name = Item.Name;
                newScatterViewItem.Background = Item.Background;
                newScatterViewItem.Height = 270;
                newScatterViewItem.Width = 360;

                newScatterViewItem.Center = Center;

                // add a resize event to scale the grid
                newScatterViewItem.SizeChanged += new SizeChangedEventHandler(newScatterViewItem_SizeChanged);

                //  Grid newGrid = new Grid();
                SURGISControl1 newGrid = new SURGISControl1(this);

               XmlNode GISData = xmlDoc.SelectSingleNode("//GISData/MapLoc");

               newGrid.Longitude = Convert.ToDouble(GISData.Attributes["long"].Value);
               newGrid.Lattitude = Convert.ToDouble(GISData.Attributes["lat"].Value);
               newGrid.CameraLevel = Convert.ToDouble(GISData.Attributes["alt"].Value);

               XmlNodeList Polygons = xmlDoc.SelectNodes("//GISData/Polygons/Polygon");

               foreach (XmlNode Polygon in Polygons)
               {

                   MapPolygon NewGridPoly = new MapPolygon();
                   NewGridPoly.Locations  = new LocationCollection();
                   NewGridPoly.Name = Item.Name + Polygon.Attributes.GetNamedItem("name").Value;

                   XmlNodeList Points = Polygon.ChildNodes;

                   foreach (XmlNode Point in Points)
                   {
                       Location NewGridPolyPoint = new Location();

                       NewGridPolyPoint.Latitude = Convert.ToDouble(Point.Attributes.GetNamedItem("lat").Value);
                       NewGridPolyPoint.Longitude = Convert.ToDouble(Point.Attributes.GetNamedItem("long").Value);

                       NewGridPoly.Locations.Add(NewGridPolyPoint);

                   }

                   newGrid.Polygons.Add(NewGridPoly);
               }

                newGrid.Background = Item.Background;

                newScatterViewItem.Content = newGrid;

                scatterView1.Items.Add(newScatterViewItem);

            }// if obj== null

            else /// object exists
            {
                if (Obj.Visibility == Visibility.Collapsed)
                {
                    Obj.Visibility = Visibility.Visible;
                    Obj.Width = 360;
                    Obj.Height = 270;
                }

            }
            Item.IsSelected = false;
        }
Example #2
0
        /* public XmlDocument ReadXMLData(XmlDocument xmlDoc, string FullPath)
         * {
         *   xmlDoc.Load(FullPath);
         *
         *   return xmlDoc;
         * } */

        public void ImageItem_selected(object sender, RoutedEventArgs e)
        {
            SurfaceListBoxItem Item = e.Source as SurfaceListBoxItem;

            System.Windows.Point Center = new System.Windows.Point(950.0, 450.0);
            string          ScatterName = Item.Name;
            ScatterViewItem Obj         = LogicalTreeHelper.FindLogicalNode(scatterView1, ScatterName) as ScatterViewItem;

            if (Obj == null)  // if the object does not already exists create it
            {
                XmlDocument xmlDoc = new XmlDocument();

                int index = Convert.ToInt32(Item.Name.Substring(5, 2));

                if (Item.Name.Substring(0, 5) == "Local")
                {
                    XML_IO.ReadXMLData(xmlDoc, LocalFileNames[index - 1].ToString());
                }
                else
                {
                    XML_IO.ReadXMLData(xmlDoc, FileNames[index - 1].ToString());
                }

                ScatterViewItem newScatterViewItem = new ScatterViewItem();
                newScatterViewItem.Name       = Item.Name;
                newScatterViewItem.Background = Item.Background;
                newScatterViewItem.Height     = 270;
                newScatterViewItem.Width      = 360;

                newScatterViewItem.Center = Center;

                // add a resize event to scale the grid
                newScatterViewItem.SizeChanged += new SizeChangedEventHandler(newScatterViewItem_SizeChanged);

                //  Grid newGrid = new Grid();
                SURGISControl1 newGrid = new SURGISControl1(this);

                XmlNode GISData = xmlDoc.SelectSingleNode("//GISData/MapLoc");

                newGrid.Longitude   = Convert.ToDouble(GISData.Attributes["long"].Value);
                newGrid.Lattitude   = Convert.ToDouble(GISData.Attributes["lat"].Value);
                newGrid.CameraLevel = Convert.ToDouble(GISData.Attributes["alt"].Value);

                XmlNodeList Polygons = xmlDoc.SelectNodes("//GISData/Polygons/Polygon");

                foreach (XmlNode Polygon in Polygons)
                {
                    MapPolygon NewGridPoly = new MapPolygon();
                    NewGridPoly.Locations = new LocationCollection();
                    NewGridPoly.Name      = Item.Name + Polygon.Attributes.GetNamedItem("name").Value;

                    XmlNodeList Points = Polygon.ChildNodes;

                    foreach (XmlNode Point in Points)
                    {
                        Location NewGridPolyPoint = new Location();

                        NewGridPolyPoint.Latitude  = Convert.ToDouble(Point.Attributes.GetNamedItem("lat").Value);
                        NewGridPolyPoint.Longitude = Convert.ToDouble(Point.Attributes.GetNamedItem("long").Value);

                        NewGridPoly.Locations.Add(NewGridPolyPoint);
                    }

                    newGrid.Polygons.Add(NewGridPoly);
                }

                newGrid.Background = Item.Background;

                newScatterViewItem.Content = newGrid;

                scatterView1.Items.Add(newScatterViewItem);
            }    // if obj== null

            else /// object exists
            {
                if (Obj.Visibility == Visibility.Collapsed)
                {
                    Obj.Visibility = Visibility.Visible;
                    Obj.Width      = 360;
                    Obj.Height     = 270;
                }
            }
            Item.IsSelected = false;
        }