Beispiel #1
0
        private void AddDrawings()
        {
            _groupDrawings = new List <ExcelDrawing>();
            foreach (XmlNode node in _topNode.ChildNodes)
            {
                ExcelDrawing grpDraw;
                switch (node.LocalName)
                {
                case "sp":
                    grpDraw = new ExcelShape(_parent._drawings, node, _parent);
                    break;

                case "pic":
                    grpDraw = new ExcelPicture(_parent._drawings, node, _parent);
                    break;

                case "graphicFrame":
                    grpDraw = ExcelChart.GetChart(_parent._drawings, node, _parent);
                    break;

                case "grpSp":
                    grpDraw = new ExcelGroupShape(_parent._drawings, node, _parent);
                    break;

                case "cxnSp":
                    grpDraw = new ExcelConnectionShape(_parent._drawings, node, _parent);
                    break;

                default:
                    continue;
                }
                _groupDrawings.Add(grpDraw);
                _drawingNames.Add(grpDraw.Name, _groupDrawings.Count - 1);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Add new Drawing types here
 /// </summary>
 /// <param name="drawings">The drawing collection</param>
 /// <param name="node">Xml top node</param>
 /// <returns>The Drawing object</returns>
 internal static ExcelDrawing GetDrawing(ExcelDrawings drawings, XmlNode node)
 {
     if (node.SelectSingleNode("xdr:sp", drawings.NameSpaceManager) != null)
     {
         return(new ExcelShape(drawings, node));
     }
     else if (node.SelectSingleNode("xdr:pic", drawings.NameSpaceManager) != null)
     {
         return(new ExcelPicture(drawings, node));
     }
     else if (node.SelectSingleNode("xdr:graphicFrame", drawings.NameSpaceManager) != null)
     {
         return(ExcelChart.GetChart(drawings, node));
     }
     else
     {
         return(new ExcelDrawing(drawings, node, ""));
     }
 }
Beispiel #3
0
 /// <summary>
 /// Add new Drawing types here
 /// </summary>
 /// <param name="drawings">The drawing collection</param>
 /// <param name="node">Xml top node</param>
 /// <returns>The Drawing object</returns>
 internal static ExcelDrawing GetDrawing(ExcelDrawings drawings, XmlNode node)
 {
     if (node.SelectSingleNode("xdr:sp", drawings.NameSpaceManager) != null)
     {
         return(new ExcelShape(drawings, node));
     }
     else if (node.SelectSingleNode("xdr:pic", drawings.NameSpaceManager) != null)
     {
         return(new ExcelPicture(drawings, node));
     }
     else if (node.SelectSingleNode("xdr:graphicFrame", drawings.NameSpaceManager) != null)
     {
         return(ExcelChart.GetChart(drawings, node));
     }
     else if (node.SelectSingleNode("mc:AlternateContent/mc:Choice/xdr:graphicFrame/a:graphic/a:graphicData/sle:slicer", drawings.NameSpaceManager) != null)
     {
         return(new ExcelSlicerDrawing(drawings, node));
     }
     else
     {
         return(new ExcelDrawing(drawings, node, ""));
     }
 }