Skip to content

Commit bd78797

Browse files
Enhanced Object Initialization for Shapes
1 parent 26ddea2 commit bd78797

File tree

5 files changed

+375
-34
lines changed

5 files changed

+375
-34
lines changed

PowerPoint/Openize.Slides.Facade/ImageFacade.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,6 @@ private P.Picture GeneratePicture ()
7676

7777
D.NonVisualDrawingPropertiesExtension nonVisualDrawingPropertiesExtension1 = new D.NonVisualDrawingPropertiesExtension() { Uri = "{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}" };
7878

79-
OpenXmlUnknownElement openXmlUnknownElement1 = new OpenXmlUnknownElement("<a16:creationId xmlns:a16=\"http://schemas.microsoft.com/office/drawing/2014/main\" id=\"{4C9EFE4F-2DDB-7B29-01C3-5A94A8DA92D4}\" />");
80-
81-
nonVisualDrawingPropertiesExtension1.Append(openXmlUnknownElement1);
82-
8379
nonVisualDrawingPropertiesExtensionList1.Append(nonVisualDrawingPropertiesExtension1);
8480

8581
nonVisualDrawingProperties1.Append(nonVisualDrawingPropertiesExtensionList1);

PowerPoint/Openize.Slides.Facade/PresentationDocumentFacade.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,10 @@ public void Close(string FilePath = null)
674674

675675
public void Save()
676676
{
677+
if (IsNewPresentation)
678+
{
679+
CreatePresentationParts();
680+
}
677681
_PresentationDocument?.PresentationPart?.Presentation.Save();
678682
_PresentationDocument?.Save();
679683
}

PowerPoint/Openize.Slides/Circle.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,19 @@ private void Populate_Facade()
101101
/// </summary>
102102
/// <param name="CircleFacades">A list of CircleShapeFacade objects.</param>
103103
/// <returns>A list of Circle objects.</returns>
104-
public static List<Circle> GetCircles(List<CircleShapeFacade> CircleFacades)
104+
public static List<Circle> GetCircles(List<CircleShapeFacade> circleFacades)
105105
{
106-
List<Circle> Circles = new List<Circle>();
106+
List<Circle> circles = new List<Circle>();
107+
108+
// Safely return an empty list if the input is null
109+
if (circleFacades == null)
110+
return circles;
111+
107112
try
108113
{
109-
foreach (var facade in CircleFacades)
114+
foreach (var facade in circleFacades)
110115
{
111-
Circle Circle = new Circle
116+
Circle circle = new Circle
112117
{
113118
BackgroundColor = facade.BackgroundColor,
114119
X = Utility.EmuToPixels(facade.X),
@@ -119,16 +124,16 @@ public static List<Circle> GetCircles(List<CircleShapeFacade> CircleFacades)
119124
ShapeIndex = facade.ShapeIndex
120125
};
121126

122-
Circles.Add(Circle);
127+
circles.Add(circle);
123128
}
124129
}
125130
catch (Exception ex)
126131
{
127-
string errorMessage = Common.OpenizeException.ConstructMessage(ex, "Getting Circle Shapes");
132+
string errorMessage = Common.OpenizeException.ConstructMessage(ex, "Error occurred while getting Circle shapes.");
128133
throw new Common.OpenizeException(errorMessage, ex);
129134
}
130135

131-
return Circles;
136+
return circles;
132137
}
133138

134139
/// <summary>

PowerPoint/Openize.Slides/Presentation.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,11 @@ public List<Slide> GetSlides()
132132
slideFacade.CommentPart = slidepart.SlideCommentsPart;
133133
slideFacade.NotesPart = slidepart.NotesSlidePart;
134134
slideFacade.RelationshipId = doc.GetSlideRelationshipId(slidepart);
135-
slide.TextShapes = TextShape.GetTextShapes(slideFacade.TextShapeFacades);
136-
slide.Rectangles = Rectangle.GetRectangles(slideFacade.RectangleShapeFacades);
137-
slide.Circles = Circle.GetCircles(slideFacade.CircleShapeFacades);
138-
slide.Images = Image.GetImages(slideFacade.ImagesFacade);
139-
slide.Tables = Table.GetTables(slideFacade.TableFacades);
135+
slide.SetTextShapesDirect(TextShape.GetTextShapes(slideFacade.TextShapeFacades));
136+
slide.SetRectanglesDirect(Rectangle.GetRectangles(slideFacade.RectangleShapeFacades));
137+
slide.SetCirclesDirect(Circle.GetCircles(slideFacade.CircleShapeFacades));
138+
slide.SetImagesDirect(Image.GetImages(slideFacade.ImagesFacade));
139+
slide.SetTablesDirect(Table.GetTables(slideFacade.TableFacades));
140140
slide.SlideFacade = slideFacade;
141141
slide.SlidePresentation = this;
142142
_Slides.Add(slide);

0 commit comments

Comments
 (0)