/// <summary> /// Opens the specified file name. /// </summary> /// <param name="fileName">Name of the file.</param> /// <param name="map">The map.</param> /// <param name="layer">The layer.</param> public static void Open(string fileName, IMap map, Layer layer) { Contract.Requires(!string.IsNullOrEmpty(fileName), "fileName is null or empty."); Contract.Requires(map != null, "map is null."); Contract.Requires(layer != null, "featureLayer is null."); string lblFile = Path.ChangeExtension(fileName, "lbl"); if (File.Exists(lblFile) && layer is IFeatureLayer) { try { dynamic parser = DynamicXMLNode.Load(lblFile); DeserializeLabels(parser.Labels, map, layer as IFeatureLayer); } catch (RuntimeBinderException ex) { Trace.WriteLine(ex.Message); } } string mwsrFile = Path.ChangeExtension(fileName, "mwsr"); if (File.Exists(mwsrFile)) { try { dynamic parser = DynamicXMLNode.Load(mwsrFile); DeserializeLayer(parser.Layer, map, layer); } catch (RuntimeBinderException ex) { Trace.WriteLine(ex.Message); } } string mwleg = Path.ChangeExtension(fileName, "mwleg"); if (File.Exists(mwleg) && layer is MapImageLayer) { try { dynamic parser = DynamicXMLNode.Load(mwleg); DeserializeLegend(parser.GridColoringScheme, map, layer); } catch (RuntimeBinderException ex) { Trace.WriteLine(ex.Message); } } }
/// <summary> /// Opens the MW4 style project file. /// </summary> /// <param name="fileName">Name of the file.</param> public void OpenFile(string fileName) { dynamic parser = DynamicXMLNode.Load(fileName); switch ((string)parser["type"]) { case "projectfile": new ProjectFileVer1Deserializer(_map).Deserialize(parser); break; case "projectfile.2": new ProjectFileVer2Deserializer(_map).Deserialize(parser); break; default: throw new Exception("Unknown project file format"); } }
/// <summary> /// Opens the MW4 style project file. /// </summary> /// <param name="fileName">Name of the file.</param> public void OpenFile(string fileName) { dynamic parser = DynamicXMLNode.Load(fileName); _map.MapFrame.ProjectionString = parser["ProjectProjection"]; if (!Convert.ToBoolean(parser["ViewBackColor_UseDefault"])) { var mapControl = _map as Control; if (mapControl != null) { mapControl.BackColor = LegacyDeserializer.GetColor(parser["ViewBackColor"]); } _map.Invalidate(); } _map.MapFrame.ViewExtents.MaxX = Convert.ToDouble(parser.Extents["xMax"]); _map.MapFrame.ViewExtents.MaxY = Convert.ToDouble(parser.Extents["yMax"]); _map.MapFrame.ViewExtents.MinX = Convert.ToDouble(parser.Extents["xMin"]); _map.MapFrame.ViewExtents.MinY = Convert.ToDouble(parser.Extents["yMin"]); DeserializeGroups(parser.Groups.Elements()); }