public XElement GetDocumentableLayersHostXml() { XElement ele = new XElement("DocumentableLayersHost"); if (_provider == null) { return(ele); } ICanvas c = _provider.Canvas; if (c == null) { return(ele); } Object2Xml obj2xml = new Object2Xml(); foreach (GeoDo.RSS.Core.DrawEngine.ILayer lyr in c.LayerContainer.Layers) { //if (lyr is IDocumentableLayer) //{ // ele.Add(obj2xml.ToXml(lyr)); //} } return(ele); }
public static void Save() { try { Object2Xml <DeploymentProfile> .SaveToFile(List, Config.FileDeployProfiles); } catch (Exception e) { ErrorHandler.ShowErrors(e, "Error while saving the deployment profiles"); } }
private void SaveProfilesList() { try { Object2Xml <DeployProfile> .SaveToFile(DeployProfile.List, Config.FileDeployProfiles); } catch (Exception e) { ErrorHandler.ShowErrors(e, "Error while saving the deployment profiles"); } Config.Instance.CurrentDeployProfile = DeployProfile.Current.Name; UpdateCombo(); }
/// <summary> /// Call this method to save the content of the config.instance into an .xml file /// </summary> public static void Save() { try { if (!String.IsNullOrWhiteSpace(FileSettings)) { Object2Xml <ConfigObject> .SaveToFile(_instance, FileSettings); } } catch (Exception e) { ErrorHandler.ShowErrors(e, "Error when saving settings"); } }
private void btnToXml_Click(object sender, EventArgs e) { if (_canvas == null) { return; } Object2Xml obj2xml = new Object2Xml(); foreach (GeoDo.RSS.Core.DrawEngine.ILayer lyr in _canvas.LayerContainer.Layers) { obj2xml.ToXmlFile(lyr, "f:\\" + lyr.Name + ".xml"); } }
/// <summary> /// init the instance by either reading the values from an existing file or /// creating one with the default values of the object /// </summary> /// <returns></returns> private static ConfigObject Init() { _instance = new ConfigObject(); if (File.Exists(FileSettings)) { try { Object2Xml <ConfigObject> .LoadFromFile(_instance, FileSettings); } catch (Exception e) { ErrorHandler.ShowErrors(e, "Error when loading settings", FileSettings); _instance = new ConfigObject(); } } return(_instance); }
/// <summary> /// Saves the list of environnement /// </summary> public static void SaveList() { // sort by appli then envletter _listOfEnv.Sort((env1, env2) => { var comp = string.Compare(env1.Name, env2.Name, StringComparison.CurrentCultureIgnoreCase); return(comp == 0 ? string.Compare(env1.Suffix, env2.Suffix, StringComparison.CurrentCultureIgnoreCase) : comp); }); if (!string.IsNullOrEmpty(Config.FileProEnv)) { try { Object2Xml <ProEnvironmentObject> .SaveToFile(_listOfEnv, Config.FileProEnv); } catch (Exception e) { ErrorHandler.ShowErrors(e, "Error when saving ProgressEnvironnement.xml"); } } }
static DataFrame() { LayoutHost.LoadGeoGridLayerExecutor = (xml) => { return(GeoDo.RSS.Core.Grid.GeoGridLayer.FromXml(xml)); }; LayoutHost.LoadDataFrameExecutor = (gxfile, host, df, dfEle) => { IDataFrameDataProvider prd = df.Provider as IDataFrameDataProvider; ICanvas canvas = prd.Canvas; string fname = Path.Combine(Path.GetDirectoryName(gxfile), "tempMcd.xml"); XElement mapElement = dfEle.Element("Map"); //旧模版没有Map节点 if (mapElement != null) { File.WriteAllText(fname, mapElement.ToString()); if (canvas == null) { return; } if (canvas.LayerContainer.VectorHost == null) { IVectorHostLayer vhost = new VectorHostLayer(null, fname); vhost.IsEnableDummyRender = false; vhost.SomeDataIsArrivedHandler += new EventHandler((sender, e) => { host.Render(true); }); canvas.LayerContainer.Layers.Add(vhost as GeoDo.RSS.Core.DrawEngine.ILayer); } } double minX = GetDoubleAtt(dfEle, "minx"); double maxX = GetDoubleAtt(dfEle, "maxx"); double minY = GetDoubleAtt(dfEle, "miny"); double maxY = GetDoubleAtt(dfEle, "maxy"); if (Math.Abs(minX) > double.Epsilon && Math.Abs(minY) > double.Epsilon && Math.Abs(maxX) > double.Epsilon && Math.Abs(maxY) > double.Epsilon) { canvas.CurrentEnvelope = new CoordEnvelope(minX, maxX, minY, maxY); } // df.IsLocked = true; }; //模版保存时调用 LayoutToFile.DataFrame2XmlNodeConverter = (dstFileName, df, doc) => { if (df == null || doc == null) { return(null); } IDataFrameDataProvider prd = df.Provider as IDataFrameDataProvider; if (prd == null) { return(null); } ICanvas canvas = prd.Canvas; if (canvas == null) { return(null); } XmlElement dfNode = doc.CreateElement("DataFrame"); dfNode.SetAttribute("name", df.Name); dfNode.SetAttribute("minx", canvas.CurrentEnvelope.MinX.ToString()); dfNode.SetAttribute("miny", canvas.CurrentEnvelope.MinY.ToString()); dfNode.SetAttribute("maxx", canvas.CurrentEnvelope.MaxX.ToString()); dfNode.SetAttribute("maxy", canvas.CurrentEnvelope.MaxY.ToString()); // IVectorHostLayer hostLayer = canvas.LayerContainer.VectorHost; if (hostLayer != null) { IMap map = hostLayer.Map as IMap; if (map == null) { return(null); } string fname = Path.Combine(Path.GetDirectoryName(dstFileName), "TempMcd.xml"); StringBuilder sb = new StringBuilder(); try { map.SaveTo(fname, true); string[] lines = File.ReadAllLines(fname); for (int i = 1; i < lines.Length; i++) { sb.AppendLine(lines[i]); } } finally { if (File.Exists(fname)) { File.Delete(fname); } } // dfNode.InnerXml = sb.ToString(); } // return(dfNode); }; GxdDocument.GxdVectorHostGettter = (df) => { IDataFrameDataProvider provider = df.Provider as IDataFrameDataProvider; if (provider == null) { return(null); } ICanvas c = provider.Canvas; if (c == null) { return(null); } IVectorHostLayer hostLayer = c.LayerContainer.VectorHost; if (hostLayer == null) { return(null); } IMap map = hostLayer.Map as IMap; if (map == null) { return(null); } string fname = AppDomain.CurrentDomain.BaseDirectory + "TempMcd.xml"; //这里相对路径不正确 map.SaveTo(fname, false); string[] lines = File.ReadAllLines(fname); StringBuilder sb = new StringBuilder(); for (int i = 1; i < lines.Length; i++) { sb.AppendLine(lines[i]); } return(new GxdVectorHost(sb.ToString())); }; // GxdDocument.GxdEnvelopeGetter = (df) => { IDataFrameDataProvider provider = df.Provider as IDataFrameDataProvider; if (provider == null) { return(null); } ICanvas c = provider.Canvas; if (c == null) { return(null); } return(new GxdEnvelope(c.CurrentEnvelope.MinX, c.CurrentEnvelope.MaxX, c.CurrentEnvelope.MinY, c.CurrentEnvelope.MaxY)); }; // GxdDocument.GxDataFrameRasterItemsSetter = (df, gxddf) => { IDataFrameDataProvider provider = df.Provider as IDataFrameDataProvider; if (provider == null) { return; } ICanvas c = provider.Canvas; if (c == null) { return; } IRasterDrawing drawing = c.PrimaryDrawObject as IRasterDrawing; if (drawing == null) { return; } IGxdRasterItem it = new GxdRasterItem(drawing.FileName, null); gxddf.GxdRasterItems.Add(it); }; // GxdDocument.GxdAddDataFrameExecutor = (fileName, gxdf, host) => { if (gxdf == null || host == null) { return; } IElement[] dfs = host.LayoutRuntime.QueryElements((e) => { return(e is IDataFrame); }, false); if (dfs == null || dfs.Length == 0) { return; } foreach (IElement e in dfs) { if (e.Name != null && gxdf.Name != null && e.Name == gxdf.Name) { IDataFrame crtDataFrame = e as IDataFrame; if (crtDataFrame.Provider == null) { continue; } crtDataFrame.IsLocked = true; ICanvas canvas = (crtDataFrame.Provider as IDataFrameDataProvider).Canvas; //set spatial ref SetSpatialRefForDataFrame(gxdf.SpatialRef, crtDataFrame); //raster if (gxdf.GxdRasterItems != null && gxdf.GxdRasterItems.Count > 0) { foreach (IGxdRasterItem rst in gxdf.GxdRasterItems) { if (rst == null || string.IsNullOrEmpty(rst.FileName)) { continue; } if (AddFileToCanvasViewerExecutor != null) { AddFileToCanvasViewerExecutor(rst.FileName, rst.Arguments, canvas, rst.FileOpenArgs, rst.ColorTableName); } } } //vector if (gxdf.GxdVectorHost != null && gxdf.GxdVectorHost.McdFileContent != null) { string fname = Path.Combine(Path.GetDirectoryName(fileName), "tempMcd.xml"); File.WriteAllText(fname, gxdf.GxdVectorHost.McdFileContent.ToString()); if (canvas.LayerContainer.VectorHost == null) { IVectorHostLayer vhost = new VectorHostLayer(null, fname); vhost.IsEnableDummyRender = false; vhost.SomeDataIsArrivedHandler += new EventHandler((sender, arge) => { host.Render(true); }); canvas.LayerContainer.Layers.Add(vhost as GeoDo.RSS.Core.DrawEngine.ILayer); } } //coord envelope if (gxdf.Envelope != null && !gxdf.Envelope.IsEmpty()) { GeoDo.RSS.Core.DrawEngine.CoordEnvelope evp = new CoordEnvelope(gxdf.Envelope.MinX, gxdf.Envelope.MaxX, gxdf.Envelope.MinY, gxdf.Envelope.MaxY); canvas.CurrentEnvelope = evp; } //vector host if (canvas.LayerContainer.VectorHost == null) { IVectorHostLayer vhost = new VectorHostLayer(null); vhost.IsEnableDummyRender = false; vhost.SomeDataIsArrivedHandler += new EventHandler((sender, arge) => { host.Render(true); }); canvas.LayerContainer.Layers.Add(vhost as GeoDo.RSS.Core.DrawEngine.ILayer); } //documentable layers XElement otherLayersHost = crtDataFrame.GetDocumentableLayersHostXml(); if (otherLayersHost != null) { Object2Xml obj2xml = new Object2Xml(); foreach (XElement otherLyr in otherLayersHost.Elements()) { //IDocumentableLayer lyr = obj2xml.FromXml(otherLyr) as IDocumentableLayer; //if (lyr != null) // lyr.Load(); } } break; } } }; }