Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
 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));
 }
Exemplo n.º 7
0
        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);
        }