Exemplo n.º 1
0
 private static ListItem GetByType(ListItemType type)
 {
     return(new ListItem
     {
         Id = Guid.NewGuid(),
         Name = type.ToString(),
         Type = type
     });
 }
Exemplo n.º 2
0
        private void RenderItemInternal(HtmlTextWriter writer, bool extractRows, bool tableLayout)
        {
            if (extractRows == false)
            {
                if (tableLayout)
                {
                    // in table mode, style information has gone on the containing TD
                    RenderContents(writer);
                }
                else
                {
                    // in non-table mode, the item itself is responsible for putting
                    // out the style information
                    RenderControl(writer);
                }
            }
            else
            {
                IEnumerator controlEnum   = this.Controls.GetEnumerator();
                Table       templateTable = null;
                bool        hasControls   = false;

                while (controlEnum.MoveNext())
                {
                    hasControls = true;
                    Control c = (Control)controlEnum.Current;
                    if (c is Table)
                    {
                        templateTable = (Table)c;
                        break;
                    }
                }

                if (templateTable != null)
                {
                    IEnumerator rowEnum = templateTable.Rows.GetEnumerator();
                    while (rowEnum.MoveNext())
                    {
                        TableRow r = (TableRow)rowEnum.Current;
                        r.RenderControl(writer);
                    }
                }
                else if (hasControls)
                {
                    // there was a template, since there were controls but
                    // none of them was a table... so throw an exception here
                    throw new HttpException(SR.GetString(SR.DataList_TemplateTableNotFound,
                                                         Parent.ID, itemType.ToString()));
                }
            }
        }
Exemplo n.º 3
0
        internal void CreateNewNumberingNumId(int level = 0, ListItemType listType = ListItemType.Numbered, int?startNumber = null, bool continueNumbering = false)
        {
            ValidateDocXNumberingPartExists();
            if (Document._numbering.Root == null)
            {
                throw new InvalidOperationException("Numbering section did not instantiate properly.");
            }

            ListType = listType;

            var numId         = GetMaxNumId() + 1;
            var abstractNumId = GetMaxAbstractNumId() + 1;

            XDocument listTemplate;

            switch (listType)
            {
            case ListItemType.Bulleted:
                listTemplate = HelperFunctions.DecompressXMLResource("DocXStandard.Resources.numbering.default_bullet_abstract.xml.gz");
                break;

            case ListItemType.Numbered:
                listTemplate = HelperFunctions.DecompressXMLResource("DocXStandard.Resources.numbering.default_decimal_abstract.xml.gz");
                break;

            default:
                throw new InvalidOperationException(string.Format("Unable to deal with ListItemType: {0}.", listType.ToString()));
            }
            var abstractNumTemplate = listTemplate.Descendants().Single(d => d.Name.LocalName == "abstractNum");

            abstractNumTemplate.SetAttributeValue(DocX.w + "abstractNumId", abstractNumId);
            var abstractNumXml = GetAbstractNumXml(abstractNumId, numId, startNumber, continueNumbering);

            var abstractNumNode = Document._numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "abstractNum");
            var numXml          = Document._numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "num");

            if (abstractNumNode == null || numXml == null)
            {
                Document._numbering.Root.Add(abstractNumTemplate);
                Document._numbering.Root.Add(abstractNumXml);
            }
            else
            {
                abstractNumNode.AddAfterSelf(abstractNumTemplate);
                numXml.AddAfterSelf(
                    abstractNumXml
                    );
            }

            NumId = numId;
        }
Exemplo n.º 4
0
        internal void CreateNewNumberingNumId(int level = 0, ListItemType listType = ListItemType.Numbered)
        {
            ValidateDocXNumberingPartExists();
            if (Document.numbering.Root == null)
            {
                throw new InvalidOperationException("Numbering section did not instantiate properly.");
            }

            ListType = listType;

            var numId = GetMaxNumId() + 1;
            var abstractNumId = GetMaxAbstractNumId() + 1;

            XDocument listTemplate;
            switch (listType)
            {
                case ListItemType.Bulleted:
                    listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_bullet_abstract.xml.gz");
                    break;
                case ListItemType.Numbered:
                    listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_decimal_abstract.xml.gz");
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Unable to deal with ListItemType: {0}.", listType.ToString()));
            }
            var abstractNumTemplate = listTemplate.Descendants().Single(d => d.Name.LocalName == "abstractNum");
            abstractNumTemplate.SetAttributeValue(DocX.w + "abstractNumId", abstractNumId);
            var abstractNumXml = new XElement(XName.Get("num", DocX.w.NamespaceName), new XAttribute(DocX.w + "numId", numId), new XElement(XName.Get("abstractNumId", DocX.w.NamespaceName), new XAttribute(DocX.w + "val", abstractNumId)));

            var abstractNumNode = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "abstractNum");
            var numXml = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "num");

            if (abstractNumNode == null || numXml == null)
            {
                Document.numbering.Root.Add(abstractNumTemplate);
                Document.numbering.Root.Add(abstractNumXml);
            }
            else
            {
                abstractNumNode.AddAfterSelf(abstractNumTemplate);
                numXml.AddAfterSelf(
                    abstractNumXml
                );
            }

            NumId = numId;
        }
Exemplo n.º 5
0
Arquivo: List.cs Projeto: bekk/DocX
        internal void CreateNewNumberingNumId(int level = 0, ListItemType listType = ListItemType.Numbered)
        {
            ValidateDocXNumberingPartExists();
            if (Document.numbering.Root == null)
            {
                throw new InvalidOperationException("Numbering section did not instantiate properly.");
            }

            ListType = listType;

            var numId         = GetMaxNumId() + 1;
            var abstractNumId = GetMaxAbstractNumId() + 1;

            XDocument listTemplate;

            switch (listType)
            {
            case ListItemType.Bulleted:
                listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_bullet_abstract.xml.gz");
                break;

            case ListItemType.Numbered:
                listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_decimal_abstract.xml.gz");
                break;

            default:
                throw new InvalidOperationException(string.Format("Unable to deal with ListItemType: {0}.", listType.ToString()));
            }
            var abstractNumTemplate = listTemplate.Descendants().Single(d => d.Name.LocalName == "abstractNum");

            abstractNumTemplate.SetAttributeValue(DocX.w + "abstractNumId", abstractNumId);
            var abstractNumXml = new XElement(XName.Get("num", DocX.w.NamespaceName), new XAttribute(DocX.w + "numId", numId), new XElement(XName.Get("abstractNumId", DocX.w.NamespaceName), new XAttribute(DocX.w + "val", abstractNumId)));

            var abstractNumNode = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "abstractNum");
            var numXml          = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "num");

            if (abstractNumNode == null || numXml == null)
            {
                Document.numbering.Root.Add(abstractNumTemplate);
                Document.numbering.Root.Add(abstractNumXml);
            }
            else
            {
                abstractNumNode.AddAfterSelf(abstractNumTemplate);
                numXml.AddAfterSelf(
                    abstractNumXml
                    );
            }

            if (!Document.mainPart.GetRelationshipsByType(NumberingRelationshipType).Any(r => r.TargetUri == NumberingUri))
            {
                Document.mainPart.CreateRelationship(NumberingUri, TargetMode.Internal, NumberingRelationshipType);
            }

            NumId = numId;
        }
Exemplo n.º 6
0
 //public static void WriteStorm(Storm s, List<Buoy> buoys, List<Radar> radars, string buoyHref, XmlTextWriter tw)
 //{
 //    string desc = "";
 //    string tmp = "";
 //    tw.WriteStartElement("Folder");//storm
 //    tw.WriteElementString("name", s.Name + " " + s.ID);
 //    int y = 0;
 //    DateTime dt = DateTime.UtcNow;
 //    TimeSpan ts = TimeSpan.Zero;
 //    #region Initial
 //    tw.WriteStartElement("Placemark");
 //    tw.WriteElementString("name", s.ID + " " + s.Name);
 //    tw.WriteElementString("visibility", "1");
 //    tw.WriteElementString("Snippet", "");
 //    tmp = s.DateTime.ToString() + " UTC\n";
 //    tmp += s.DateTime.ToLocalTime().ToString() + " EDT\n";
 //    tmp += "\n" + s.Description;
 //    tw.WriteStartElement("description");
 //    WriteDescription(tmp, tw);
 //    tw.WriteEndElement();//description
 //    tw.WriteElementString("styleUrl", "#Initial");
 //    tw.WriteStartElement("Point");
 //    WriteCoordinates(s.Initial.Location, tw);
 //    tw.WriteEndElement();//Point
 //    tw.WriteEndElement();//Placemark
 //    #endregion
 //    #region TrackHistory
 //    if (s.TrackHistory != null && s.TrackHistory.Count > 0)
 //    {
 //        tw.WriteStartElement("Folder");//model
 //        tw.WriteElementString("name", "TrackHistory");
 //        #region Line
 //        tw.WriteStartElement("Placemark");
 //        tw.WriteElementString("name", "TrackHistoryLine");
 //        tw.WriteElementString("visibility", "1");
 //        tw.WriteElementString("styleUrl", "#lHIST");
 //        tw.WriteStartElement("LineString");
 //        List<IPoint> hist = s.TrackHistory;
 //        hist.Add(s.Initial.Location);
 //        WriteCoordinates(hist, tw);
 //        tw.WriteEndElement();//LineString
 //        tw.WriteEndElement();//Placemark
 //        #endregion
 //        #region Placemarks
 //        foreach (IPoint o in s.TrackHistory)
 //        {
 //            if (o != null)
 //            {
 //                dt += ts;
 //                tw.WriteStartElement("Placemark");
 //                tw.WriteElementString("name", "");
 //                tw.WriteElementString("visibility", "1");
 //                desc = "";
 //                tw.WriteElementString("styleUrl", "#HIST");
 //                tw.WriteStartElement("Point");
 //                WriteCoordinates(o, tw);
 //                tw.WriteEndElement();//Point
 //                tw.WriteEndElement();//Placemark
 //            }
 //            else
 //                Console.WriteLine("point: o was null");
 //        }
 //        #endregion
 //        tw.WriteEndElement();//trackHistory folder
 //    }
 //    #endregion
 //    #region BAMD
 //    if (s.BAMD.Count > 0)
 //    {
 //        tw.WriteStartElement("Folder");//model
 //        tw.WriteElementString("name", "BAMD");
 //        #region Line
 //        tw.WriteStartElement("Placemark");
 //        tw.WriteElementString("name", "TrackLine");
 //        tw.WriteElementString("visibility", "1");
 //        tw.WriteElementString("styleUrl", "#lBAMD");
 //        tw.WriteStartElement("LineString");
 //        tw.WriteStartElement("coordinates");
 //        foreach (Observation o in s.BAMD)
 //        {
 //            if (o.Lat != 0)
 //                tw.WriteString(o.Lon.ToString() + "," + o.Lat.ToString() + ",15000 ");
 //        }
 //        tw.WriteEndElement();//coordinates
 //        tw.WriteEndElement();//LineString
 //        tw.WriteEndElement();//Placemark
 //        #endregion
 //        #region Placemarks
 //        y = 0;
 //        dt = s.DateTime;
 //        ts = new TimeSpan(12, 0, 0);
 //        foreach (Observation o in s.BAMD)
 //        {
 //            if (y != 0 && o.Lat != 0)
 //            {
 //                dt += ts;
 //                tw.WriteStartElement("Placemark");
 //                tw.WriteElementString("name", o.Hour + "hrs");
 //                tw.WriteElementString("visibility", "1");
 //                tw.WriteElementString("Snippet", "");
 //                tw.WriteStartElement("description");
 //                desc = "BAMD\n\n";
 //                desc += dt.ToString() + " UTC\n";
 //                desc += dt.ToLocalTime().ToString() + " EDT\n\n";
 //                desc += "Lat: " + o.Lat.ToString() + " Lon: " + o.Lon.ToString() + "\n";
 //                desc += "SHIP: " + o.SHIP.ToString() + "kts\n";
 //                desc += "DSHP: " + o.DSHP.ToString() + "kts\n";
 //                WriteDescription(desc, tw);
 //                tw.WriteEndElement();//description
 //                desc = "";
 //                tw.WriteElementString("styleUrl", "#BAMD");
 //                tw.WriteStartElement("Point");
 //                WriteCoordinates(o.Location, tw);
 //                tw.WriteEndElement();//Point
 //                tw.WriteEndElement();//Placemark
 //            }
 //            y++;
 //        }
 //        #endregion
 //        tw.WriteEndElement();//model folder
 //    }
 //    #endregion
 //    #region BAMM
 //    if (s.BAMM.Count > 0)
 //    {
 //        tw.WriteStartElement("Folder");//model
 //        tw.WriteElementString("name", "BAMM");
 //        #region Line
 //        tw.WriteStartElement("Placemark");
 //        tw.WriteElementString("name", "TrackLine");
 //        tw.WriteElementString("visibility", "1");
 //        tw.WriteElementString("styleUrl", "#lBAMM");
 //        tw.WriteStartElement("LineString");
 //        tw.WriteStartElement("coordinates");
 //        foreach (Observation o in s.BAMM)
 //        {
 //            if (o.Lat != 0)
 //                tw.WriteString(o.Lon.ToString() + "," + o.Lat.ToString() + ",15000 ");
 //        }
 //        tw.WriteEndElement();//coordinates
 //        tw.WriteEndElement();//LineString
 //        tw.WriteEndElement();//Placemark
 //        #endregion
 //        #region Placemarks
 //        y = 0;
 //        dt = s.DateTime;
 //        foreach (Observation o in s.BAMM)
 //        {
 //            if (y != 0 && o.Lat != 0)
 //            {
 //                dt += ts;
 //                tw.WriteStartElement("Placemark");
 //                tw.WriteElementString("name", o.Hour + "hrs");
 //                tw.WriteElementString("visibility", "1");
 //                tw.WriteElementString("Snippet", "");
 //                tw.WriteStartElement("description");
 //                desc = "BAMM\n\n";
 //                desc += dt.ToString() + " UTC\n";
 //                desc += dt.ToLocalTime().ToString() + " EDT\n\n";
 //                desc += "Lat: " + o.Lat.ToString() + " Lon: " + o.Lon.ToString() + "\n";
 //                desc += "SHIP: " + o.SHIP.ToString() + "kts\n";
 //                desc += "DSHP: " + o.DSHP.ToString() + "kts\n";
 //                WriteDescription(desc, tw);
 //                tw.WriteEndElement();//description
 //                desc = "";
 //                tw.WriteElementString("styleUrl", "#BAMM");
 //                tw.WriteStartElement("Point");
 //                WriteCoordinates(o.Location, tw);
 //                tw.WriteEndElement();//Point
 //                tw.WriteEndElement();//Placemark
 //            }
 //            y++;
 //        }
 //        #endregion
 //        tw.WriteEndElement();//model folder
 //    }
 //    #endregion
 //    #region LBAR
 //    if (s.LBAR.Count > 0)
 //    {
 //        tw.WriteStartElement("Folder");//model
 //        tw.WriteElementString("name", "LBAR");
 //        tw.WriteElementString("Snippet", "");
 //        #region Line
 //        tw.WriteStartElement("Placemark");
 //        tw.WriteElementString("name", "TrackLine");
 //        tw.WriteElementString("visibility", "1");
 //        tw.WriteElementString("styleUrl", "#lLBAR");
 //        tw.WriteStartElement("LineString");
 //        tw.WriteStartElement("coordinates");
 //        foreach (Observation o in s.LBAR)
 //        {
 //            if (o.Lat != 0)
 //                tw.WriteString(o.Lon.ToString() + "," + o.Lat.ToString() + ",15000 ");
 //        }
 //        tw.WriteEndElement();//coordinates
 //        tw.WriteEndElement();//LineString
 //        tw.WriteEndElement();//Placemark
 //        #endregion
 //        #region Placemarks
 //        y = 0;
 //        dt = s.DateTime;
 //        foreach (Observation o in s.LBAR)
 //        {
 //            if (y != 0 && o.Lat != 0)
 //            {
 //                dt += ts;
 //                tw.WriteStartElement("Placemark");
 //                tw.WriteElementString("name", o.Hour + "hrs");
 //                tw.WriteElementString("visibility", "1");
 //                tw.WriteElementString("Snippet", "");
 //                tw.WriteStartElement("description");
 //                desc = "LBAR\n\n";
 //                desc += dt.ToString() + " UTC\n";
 //                desc += dt.ToLocalTime().ToString() + " EDT\n\n";
 //                desc += "Lat: " + o.Lat.ToString() + " Lon: " + o.Lon.ToString() + "\n";
 //                desc += "SHIP: " + o.SHIP.ToString() + "kts\n";
 //                desc += "DSHP: " + o.DSHP.ToString() + "kts\n";
 //                WriteDescription(desc, tw);
 //                tw.WriteEndElement();//description
 //                desc = "";
 //                tw.WriteElementString("styleUrl", "#LBAR");
 //                tw.WriteStartElement("Point");
 //                WriteCoordinates(o.Location, tw);
 //                tw.WriteEndElement();//Point
 //                tw.WriteEndElement();//Placemark
 //            }
 //            y++;
 //        }
 //        #endregion
 //        tw.WriteEndElement();//model folder
 //    }
 //    #endregion
 //    #region A98E
 //    if (s.A98E.Count > 0)
 //    {
 //        tw.WriteStartElement("Folder");//model
 //        tw.WriteElementString("name", "A98E");
 //        tw.WriteElementString("Snippet", "");
 //        #region Line
 //        tw.WriteStartElement("Placemark");
 //        tw.WriteElementString("name", "TrackLine");
 //        tw.WriteElementString("visibility", "1");
 //        tw.WriteElementString("styleUrl", "#lA98E");
 //        tw.WriteStartElement("LineString");
 //        tw.WriteStartElement("coordinates");
 //        foreach (Observation o in s.A98E)
 //        {
 //            if (o.Lat != 0)
 //                tw.WriteString(o.Lon.ToString() + "," + o.Lat.ToString() + ",15000 ");
 //        }
 //        tw.WriteEndElement();//coordinates
 //        tw.WriteEndElement();//LineString
 //        tw.WriteEndElement();//Placemark
 //        #endregion
 //        #region Placemarks
 //        y = 0;
 //        dt = s.DateTime;
 //        foreach (Observation o in s.A98E)
 //        {
 //            if (y != 0 && o.Lat != 0)
 //            {
 //                dt += ts;
 //                tw.WriteStartElement("Placemark");
 //                tw.WriteElementString("name", o.Hour + "hrs");
 //                tw.WriteElementString("visibility", "1");
 //                tw.WriteElementString("Snippet", "");
 //                tw.WriteStartElement("description");
 //                desc = "A98E\n\n";
 //                desc += dt.ToString() + " UTC\n";
 //                desc += dt.ToLocalTime().ToString() + " EDT\n\n";
 //                desc += "Lat: " + o.Lat.ToString() + " Lon: " + o.Lon.ToString() + "\n";
 //                desc += "SHIP: " + o.SHIP.ToString() + "kts\n";
 //                desc += "DSHP: " + o.DSHP.ToString() + "kts\n";
 //                WriteDescription(desc, tw);
 //                tw.WriteEndElement();//description
 //                desc = "";
 //                tw.WriteElementString("styleUrl", "#A98E");
 //                tw.WriteStartElement("Point");
 //                WriteCoordinates(o.Location, tw);
 //                tw.WriteEndElement();//Point
 //                tw.WriteEndElement();//Placemark
 //            }
 //            y++;
 //        }
 //        #endregion
 //        tw.WriteEndElement();//model folder
 //    }
 //    #endregion
 //    #region Nearby Buoys
 //    tw.WriteStartElement("Folder");//model
 //    tw.WriteElementString("visibility", "1");
 //    if (buoys.Count > 0)
 //    {
 //        tw.WriteElementString("name", "Nearby Buoys");
 //    }
 //    else
 //    {
 //        tw.WriteElementString("name", "No Nearby Buoys");
 //    }
 //    foreach (Buoy b in buoys)
 //    {
 //        WriteBuoy(b, buoyHref, tw);
 //    }
 //    tw.WriteEndElement();//buoys folder
 //    #endregion
 //    #region Nearby Radars
 //    tw.WriteStartElement("Folder");
 //    tw.WriteElementString("name", "Nearby Radars");
 //    tw.WriteElementString("open", "0");
 //    tw.WriteElementString("visibility", "0");
 //    KmlUtils.WriteListStyle(KmlUtils.LISTSTYLERADIO, tw);
 //    List<Radar> tmpRad = new List<Radar>();
 //    #region Long Range
 //    foreach (Radar r in radars)
 //    {
 //        if (r.RadType == Radar.RadarType.LongReflect)
 //            tmpRad.Add(r);
 //    }
 //    tw.WriteStartElement("Folder");
 //    if (tmpRad.Count > 0)
 //    {
 //        tw.WriteElementString("name", "Long Range Radar");
 //    }
 //    else
 //    {
 //        tw.WriteElementString("name", "No Long Range Radar");
 //    }
 //    foreach (Radar r in radars)
 //    {
 //        WriteRadar(r, tw);
 //    }
 //    tw.WriteEndElement();//Long range
 //    #endregion
 //    #region Composite
 //    tmpRad.Clear();
 //    foreach (Radar r in radars)
 //    {
 //        if (r.RadType == Radar.RadarType.CompositeReflect)
 //            tmpRad.Add(r);
 //    }
 //    tw.WriteStartElement("Folder");
 //    if (tmpRad.Count > 0)
 //    {
 //        tw.WriteElementString("name", "Composite Radar");
 //    }
 //    else
 //    {
 //        tw.WriteElementString("name", "No Composite Radar");
 //    }
 //    foreach (Radar r in radars)
 //    {
 //        WriteRadar(r, tw);
 //    }
 //    tw.WriteEndElement();//Long range
 //    #endregion
 //    tw.WriteEndElement();//Nearby Radars
 //    #endregion
 //    tw.WriteEndElement();//Folder
 //}
 //public static void WriteWarning(XmlTextWriter tw)
 //{
 //    tw.WriteStartElement("Placemark");
 //    tw.WriteElementString("name", "Tropical Data Kml Warning (Click Me)");
 //    tw.WriteElementString("visibility", "1");
 //    string tmp = "";
 //    tmp += "You are currently using the Uncompressed Kml version \n";
 //    tmp += "of this Network Link.  Due to bandwidth considerations \n";
 //    tmp += "I ask that you please switch over to the identical Kmz \n";
 //    tmp += "(compressed) version of this Network Link.  Please use the \n";
 //    tmp += "following link instead. \n";
 //    tmp += "<br>";
 //    tmp += "<a href=\"http://bbs.keyhole.com/ubb/showflat.php/Cat/0/Number/51227/an/0/page/0#51227\">Live Tropical Data and NHC Storm Forecast Models (KMZ)</a> \n";
 //    tmp += "<br>";
 //    tmp += "Paul Seabury 2005";
 //    tw.WriteStartElement("description");
 //    WriteDescription(tmp, tw);
 //    tw.WriteEndElement();//description
 //    //tw.WriteElementString("styleUrl", "#Initial");
 //    tw.WriteStartElement("LookAt");
 //    tw.WriteElementString("longitude", "-90.0");
 //    tw.WriteElementString("latitude", "25.0");
 //    tw.WriteElementString("range", "2400000");
 //    tw.WriteElementString("tilt", "0");
 //    tw.WriteElementString("heading", "0");
 //    tw.WriteEndElement(); // LookAt
 //    tw.WriteStartElement("Point");
 //    tw.WriteElementString("altitudeMode", "absolute");
 //    tw.WriteElementString("coordinates", "-90.00,25.00,15000");
 //    tw.WriteEndElement();//Point
 //    tw.WriteEndElement();//Placemark
 //}
 //public static void WriteRadar(Radar r, XmlTextWriter tw)
 //{
 //tw.WriteStartElement("GroundOverlay");
 //tw.WriteElementString("visibility", "0");
 //tw.WriteElementString("name", r.Description);
 //tw.WriteStartElement("Icon");
 //tw.WriteElementString("href", r.ImgLink);
 //tw.WriteElementString("refreshMode", "onInterval");
 //tw.WriteElementString("refreshInterval", "300");
 //tw.WriteElementString("viewBoundScale", "0.75");
 //tw.WriteEndElement(); // Icon
 //tw.WriteStartElement("LatLonBox");
 //tw.WriteElementString("north", r.North.ToString());
 //tw.WriteElementString("south", r.South.ToString());
 //tw.WriteElementString("east", r.East.ToString());
 //tw.WriteElementString("west", r.West.ToString());
 //tw.WriteEndElement(); // LatLonBox
 //tw.WriteEndElement(); // Ground Overlay
 //}
 //public static void WriteBuoy(Buoy b, string href, XmlTextWriter tw)
 //{
 //tw.WriteStartElement("Placemark");
 //tw.WriteElementString("visibility", "0");
 //tw.WriteElementString("name", b.Id);
 //tw.WriteElementString("styleUrl", "#Buoy");
 //tw.WriteElementString("Snippet", "");
 //string desc = "";
 //desc += "<img src=\"";
 //desc += href + "/" + b.Id + ".png\"";
 //desc += "alt =\"Image for " + b.Id + " temporarily unavailable.\"";
 //desc += ">\n";
 //desc += "<a href=\"";
 //desc += b.InfoUrl;
 //desc += "\">More Info for " + b.Id + "</a>";
 //tw.WriteStartElement("description");
 //WriteDescription(desc, tw);
 //tw.WriteEndElement();//description
 //tw.WriteStartElement("Point");
 //WriteCoordinates(b.Location, tw);
 //tw.WriteEndElement();//Point
 //tw.WriteEndElement();//Placemark
 //}
 //public static string LISTSTYLERADIO = "radioFolder";
 //public static string LISTSTYLECHECKED = "checkHideChildren";
 public static void WriteListStyle(ListItemType type, XmlTextWriter tw)
 {
     tw.WriteStartElement("Style");
     tw.WriteStartElement("ListStyle");
     tw.WriteElementString("listItemType", type.ToString());
     tw.WriteEndElement();
     tw.WriteEndElement();
 }
Exemplo n.º 7
0
        internal void CreateNewNumberingNumId(int level = 0, ListItemType listType = ListItemType.Numbered, int? startNumber = null, bool continueNumbering = false)
        {
            ValidateDocXNumberingPartExists();
            if (Document.numbering.Root == null)
            {
                throw new InvalidOperationException("Numbering section did not instantiate properly.");
            }

            ListType = listType;

            var numId = GetMaxNumId() + 1;
            var abstractNumId = GetMaxAbstractNumId() + 1;

            XDocument listTemplate;
            switch (listType)
            {
                case ListItemType.Bulleted:
                    listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_bullet_abstract.xml.gz");
                    break;
                case ListItemType.Numbered:
                    listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_decimal_abstract.xml.gz");
                    break;
                default:
                    throw new InvalidOperationException(string.Format("Unable to deal with ListItemType: {0}.", listType.ToString()));
            }

            var abstractNumTemplate = listTemplate.Descendants().Single(d => d.Name.LocalName == "abstractNum");
            abstractNumTemplate.SetAttributeValue(DocX.w + "abstractNumId", abstractNumId);
            
            //Fixing an issue where numbering would continue from previous numbered lists. Setting startOverride assures that a numbered list starts on the provided number.
            //The override needs only be on level 0 as this will cascade to the rest of the list.
            var abstractNumXml = GetAbstractNumXml(abstractNumId, numId, startNumber, continueNumbering);

            var abstractNumNode = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "abstractNum");
            var numXml = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "num");

            if (abstractNumNode == null || numXml == null)
            {
                Document.numbering.Root.Add(abstractNumTemplate);
                Document.numbering.Root.Add(abstractNumXml);
            }
            else
            {
                abstractNumNode.AddAfterSelf(abstractNumTemplate);
                numXml.AddAfterSelf(
                    abstractNumXml
                );
            }

            NumId = numId;
        }
Exemplo n.º 8
0
        internal void CreateNewNumberingNumId(int level = 0, ListItemType listType = ListItemType.Numbered, int?startNumber = default(int?), bool continueNumbering = false)
        {
            ValidateDocXNumberingPartExists();
            if (base.Document.numbering.Root == null)
            {
                throw new InvalidOperationException("Numbering section did not instantiate properly.");
            }
            ListType = listType;
            int       numId = GetMaxNumId() + 1;
            int       num   = GetMaxAbstractNumId() + 1;
            XDocument xDocument;

            switch (listType)
            {
            case ListItemType.Bulleted:
                xDocument = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_bullet_abstract.xml.gz");
                break;

            case ListItemType.Numbered:
                xDocument = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_decimal_abstract.xml.gz");
                break;

            default:
                throw new InvalidOperationException($"Unable to deal with ListItemType: {listType.ToString()}.");
            }
            XElement xElement2 = xDocument.Descendants().Single((XElement d) => d.Name.LocalName == "abstractNum");

            xElement2.SetAttributeValue(DocX.w + "abstractNumId", num);
            XElement abstractNumXml = GetAbstractNumXml(num, numId, startNumber, continueNumbering);
            XElement xElement3      = base.Document.numbering.Root.Descendants().LastOrDefault((XElement xElement) => xElement.Name.LocalName == "abstractNum");
            XElement xElement4      = base.Document.numbering.Root.Descendants().LastOrDefault((XElement xElement) => xElement.Name.LocalName == "num");

            if (xElement3 == null || xElement4 == null)
            {
                base.Document.numbering.Root.Add(xElement2);
                base.Document.numbering.Root.Add(abstractNumXml);
            }
            else
            {
                xElement3.AddAfterSelf(xElement2);
                xElement4.AddAfterSelf(abstractNumXml);
            }
            NumId = numId;
        }
Exemplo n.º 9
0
        internal void CreateNewNumberingNumId(int level = 0, ListItemType listType = ListItemType.Numbered, int?startNumber = null, bool continueNumbering = false)
        {
            ValidateDocXNumberingPartExists();
            if (Document.numbering.Root == null)
            {
                throw new InvalidOperationException("Numbering section did not instantiate properly.");
            }

            ListType = listType;

            var numId         = GetMaxNumId() + 1;
            var abstractNumId = GetMaxAbstractNumId() + 1;

            XDocument listTemplate;

            switch (listType)
            {
            case ListItemType.Bulleted:
                listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_bullet_abstract.xml.gz");
                break;

            case ListItemType.Numbered:
                listTemplate = HelperFunctions.DecompressXMLResource("Novacode.Resources.numbering.default_decimal_abstract.xml.gz");
                break;

            default:
                throw new InvalidOperationException(string.Format("Unable to deal with ListItemType: {0}.", listType.ToString()));
            }

            var abstractNumTemplate = listTemplate.Descendants().Single(d => d.Name.LocalName == "abstractNum");

            abstractNumTemplate.SetAttributeValue(DocX.w + "abstractNumId", abstractNumId);

            //Fixing an issue where numbering would continue from previous numbered lists. Setting startOverride assures that a numbered list starts on the provided number.
            //The override needs only be on level 0 as this will cascade to the rest of the list.
            var abstractNumXml = GetAbstractNumXml(abstractNumId, numId, startNumber, continueNumbering);

            var abstractNumNode = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "abstractNum");
            var numXml          = Document.numbering.Root.Descendants().LastOrDefault(xElement => xElement.Name.LocalName == "num");

            if (abstractNumNode == null || numXml == null)
            {
                Document.numbering.Root.Add(abstractNumTemplate);
                Document.numbering.Root.Add(abstractNumXml);
            }
            else
            {
                abstractNumNode.AddAfterSelf(abstractNumTemplate);
                numXml.AddAfterSelf(
                    abstractNumXml
                    );
            }

            // Fixing an issue where all lists would get the default numbering style, even if they were supposed to be bulleted.
            if (Document.mainPart.GetRelationshipsByType(NumberingRelationshipType).All(r => r.TargetUri != NumberingUri))
            {
                Document.mainPart.CreateRelationship(NumberingUri, TargetMode.Internal, NumberingRelationshipType);
            }

            NumId = numId;
        }