/* 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; }
/* 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; }