public static List <ItemTrackDataIntervalProperty> getListDataItemIntervalProperty(string pathTemplate, string sTrackID) { List <ItemTrackDataIntervalProperty> listItem = new List <ItemTrackDataIntervalProperty>(); XmlDocument wellTemplateXML = new XmlDocument(); wellTemplateXML.Load(pathTemplate); string sPath = string.Format("//*[@id='{0}']", sTrackID); XmlNode XTrackNode = wellTemplateXML.SelectSingleNode(sPath); XmlNode dataListNode = XTrackNode.SelectSingleNode("dataList"); if (dataListNode == null) { return(listItem); } XmlNodeList dataItem = dataListNode.SelectNodes("dataItem"); foreach (XmlNode xn in dataItem) { ItemTrackDrawDataIntervalProperty item = new ItemTrackDrawDataIntervalProperty(xn); listItem.Add(item); } return(listItem); }
public static ItemTrackDrawDataIntervalProperty getDataItemByID(string filePathSelectTemplatelate, string sIDdataItem) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(filePathSelectTemplatelate); string sPath = string.Format("//*[@id='{0}']", sIDdataItem); XmlNode el = xmlDoc.SelectSingleNode(sPath); ItemTrackDrawDataIntervalProperty item = new ItemTrackDrawDataIntervalProperty(el); return(item); }
public static void setDataIntervalProperty(string pathTemplate, ItemTrackDrawDataIntervalProperty itemInterval) { if (File.Exists(pathTemplate)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(pathTemplate); string sPath = string.Format("//*[@id='{0}']", itemInterval.sID); XmlNode selectedNode = xmlDoc.SelectSingleNode(sPath); if (selectedNode != null) { selectedNode["top"].InnerText = itemInterval.top.ToString(); selectedNode["bot"].InnerText = itemInterval.bot.ToString(); selectedNode["topTVD"].InnerText = itemInterval.topTVD.ToString(); selectedNode["botTVD"].InnerText = itemInterval.botTVD.ToString(); selectedNode["sProperty"].InnerText = itemInterval.sProperty.ToString(); selectedNode["sText"].InnerText = itemInterval.sText.ToString(); } xmlDoc.Save(pathTemplate); } }
public static XmlElement gTrackItemFossil(XmlDocument svgDoc, XmlElement svgDefs, ItemTrackDrawDataIntervalProperty item, double fVScale, int iTrackwidth) { string sID = item.sID; double fTop = item.top * fVScale; double fBot = item.bot * fVScale; string subDir = item.sProperty; string sCodeName = item.sText; XmlElement eleRect = svgDoc.CreateElement("rect"); eleRect.SetAttribute("x", "0"); eleRect.SetAttribute("y", fTop.ToString("0.0")); eleRect.SetAttribute("width", iTrackwidth.ToString()); double height = fBot - fTop; eleRect.SetAttribute("height", height.ToString("0.0")); eleRect.SetAttribute("id", sID); eleRect.SetAttribute("fill", "none"); eleRect.SetAttribute("fill-opacity", "0.8"); eleRect.SetAttribute("onclick", "getID(evt)"); //从目录中查找包含pattern的svg原文件,文件名和sLithoID一致,svgdefs增加定义。?就是多个添加的时候 重复添加定义的问题,是否需要查找是否存在? string filePathPatternSVG = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "pattern", "描述", subDir, sCodeName + ".svg"); if (File.Exists(filePathPatternSVG)) { cSVGoperate.addSVGpatternDefs(svgDoc, svgDefs, sCodeName, filePathPatternSVG); eleRect.SetAttribute("fill", string.Format("url(#{0})", sCodeName)); } else { eleRect.SetAttribute("fill", "white"); } return(eleRect); }
public static XmlElement gTrackItemTVDOilGrade(XmlDocument svgDoc, XmlElement svgDefs, ItemTrackDrawDataIntervalProperty item, double fVScale, int iTrackwidth) { return(gTrackOilGrade(svgDoc, svgDefs, item.sID, item.topTVD, item.botTVD, fVScale, item.sProperty, iTrackwidth)); }
public static XmlElement gTrackItemTVDLayer(XmlDocument svgDoc, ItemTrackDrawDataIntervalProperty item, double fVScale, int iFontSize, double iTrackWidth) { return(gTrackItemLayer(svgDoc, item.sID, item.topTVD, item.botTVD, item.sProperty, fVScale, iFontSize, iTrackWidth)); }
public static XmlElement gTrackIntervalSymbol(XmlDocument svgDoc, XmlElement svgDefs, ItemTrackDrawDataIntervalProperty item, double fVScale, int iTrackwidth) { string sID = item.sID; double fTop = item.top * fVScale; double fBot = item.bot * fVScale; string sCodeName = item.sProperty; string sText = item.sText; XmlElement gSymbolItem = svgDoc.CreateElement("g"); XmlElement eleRect = svgDoc.CreateElement("rect"); eleRect.SetAttribute("x", "0"); eleRect.SetAttribute("y", fTop.ToString("0.0")); eleRect.SetAttribute("width", (iTrackwidth * 0.3).ToString()); double height = fBot - fTop; eleRect.SetAttribute("height", height.ToString("0.0")); eleRect.SetAttribute("id", sID); eleRect.SetAttribute("fill", "none"); eleRect.SetAttribute("fill-opacity", "0.8"); eleRect.SetAttribute("onclick", "getID(evt)"); //从目录中查找包含pattern的svg原文件,文件名和sLithoID一致,svgdefs增加定义。?就是多个添加的时候 重复添加定义的问题,是否需要查找是否存在? string filePathPatternSVG = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "pattern", "符号", sCodeName + ".svg"); if (File.Exists(filePathPatternSVG)) { cSVGoperate.addSVGpatternDefs(svgDoc, svgDefs, sCodeName, filePathPatternSVG); eleRect.SetAttribute("fill", string.Format("url(#{0})", sCodeName)); } else { eleRect.SetAttribute("fill", "white"); } gSymbolItem.AppendChild(eleRect); XmlElement textRect = cSVGWrapText.rectWithTextLeftAlignWithoutRect(svgDoc, sID, sText, iTrackwidth * 0.3, fTop, height, iTrackwidth * 0.7, "black", 12); gSymbolItem.AppendChild(textRect); return(gSymbolItem); }