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); } }
/// <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, "")); } }
/// <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, "")); } }