@@ -128,143 +128,167 @@ void FileHanding::SaveProject(wxFileName path)
128128 // { Buses
129129 auto busesNode = XMLParser::AppendNode (doc, elementsNode, " BusList" );
130130 auto busList = allElements.GetBusList ();
131- for (auto it = busList.begin (), itEnd = busList.end (); it != itEnd; ++it) {
132- (*it)->SetID (elementID);
133- (*it)->SaveElement (doc, busesNode);
134- elementID++;
131+ for (auto * bus : busList) {
132+ if (bus->IsInserted ()) {
133+ bus->SetID (elementID);
134+ bus->SaveElement (doc, busesNode);
135+ elementID++;
136+ }
135137 }
136138 // }
137139
138140 // { Capacitor
139141 auto capacitorsNode = XMLParser::AppendNode (doc, elementsNode, " CapacitorList" );
140142 auto capacitorList = allElements.GetCapacitorList ();
141143 elementID = 0 ;
142- for (auto it = capacitorList.begin (), itEnd = capacitorList.end (); it != itEnd; ++it) {
143- (*it)->SetID (elementID);
144- (*it)->SaveElement (doc, capacitorsNode);
145- elementID++;
144+ for (auto * capacitor : capacitorList) {
145+ if (capacitor->IsInserted ()) {
146+ capacitor->SetID (elementID);
147+ capacitor->SaveElement (doc, capacitorsNode);
148+ elementID++;
149+ }
146150 }
147151 // }
148152
149153 // { IndMotor
150154 auto indMotorsNode = XMLParser::AppendNode (doc, elementsNode, " IndMotorList" );
151155 auto indMotorList = allElements.GetIndMotorList ();
152156 elementID = 0 ;
153- for (auto it = indMotorList.begin (), itEnd = indMotorList.end (); it != itEnd; ++it) {
154- (*it)->SetID (elementID);
155- (*it)->SaveElement (doc, indMotorsNode);
156- elementID++;
157+ for (auto * indMotor : indMotorList) {
158+ if (indMotor->IsInserted ()) {
159+ indMotor->SetID (elementID);
160+ indMotor->SaveElement (doc, indMotorsNode);
161+ elementID++;
162+ }
157163 }
158164 // }
159165
160166 // { Inductor
161167 auto inductorsNode = XMLParser::AppendNode (doc, elementsNode, " InductorList" );
162168 auto inductorList = allElements.GetInductorList ();
163169 elementID = 0 ;
164- for (auto it = inductorList.begin (), itEnd = inductorList.end (); it != itEnd; ++it) {
165- (*it)->SetID (elementID);
166- (*it)->SaveElement (doc, inductorsNode);
167- elementID++;
170+ for (auto * inductor : inductorList) {
171+ if (inductor->IsInserted ()) {
172+ inductor->SetID (elementID);
173+ inductor->SaveElement (doc, inductorsNode);
174+ elementID++;
175+ }
168176 }
169177 // }
170178
171179 // { Line
172180 auto linesNode = XMLParser::AppendNode (doc, elementsNode, " LineList" );
173181 auto lineList = allElements.GetLineList ();
174182 elementID = 0 ;
175- for (auto it = lineList.begin (), itEnd = lineList.end (); it != itEnd; ++it) {
176- (*it)->SetID (elementID);
177- (*it)->SaveElement (doc, linesNode);
178- elementID++;
183+ for (auto * line : lineList) {
184+ if (line->IsInserted ()) {
185+ line->SetID (elementID);
186+ line->SaveElement (doc, linesNode);
187+ elementID++;
188+ }
179189 }
180190 // }
181191
182192 // { Load
183193 auto loadsNode = XMLParser::AppendNode (doc, elementsNode, " LoadList" );
184194 auto loadList = allElements.GetLoadList ();
185195 elementID = 0 ;
186- for (auto it = loadList.begin (), itEnd = loadList.end (); it != itEnd; ++it) {
187- (*it)->SetID (elementID);
188- (*it)->SaveElement (doc, loadsNode);
189- elementID++;
196+ for (auto * load : loadList) {
197+ if (load->IsInserted ()) {
198+ load->SetID (elementID);
199+ load->SaveElement (doc, loadsNode);
200+ elementID++;
201+ }
190202 }
191203 // }
192204
193205 // { SyncGenerator
194206 auto syncGeneratorsNode = XMLParser::AppendNode (doc, elementsNode, " SyncGeneratorList" );
195207 auto syncGeneratorList = allElements.GetSyncGeneratorList ();
196208 elementID = 0 ;
197- for (auto it = syncGeneratorList.begin (), itEnd = syncGeneratorList.end (); it != itEnd; ++it) {
198- (*it)->SetID (elementID);
199- auto elementNode = (*it)->SaveElement (doc, syncGeneratorsNode);
209+ for (auto syncGen : syncGeneratorList) {
210+ if (syncGen->IsInserted ()) {
211+ syncGen->SetID (elementID);
212+ auto elementNode = syncGen->SaveElement (doc, syncGeneratorsNode);
200213
201- // Save controls
202- auto data = (*it) ->GetElectricalData ();
203- auto electricalProp = elementNode->first_node (" ElectricalProperties" );
204- auto stability = electricalProp->first_node (" Stability" );
214+ // Save controls
215+ auto data = syncGen ->GetElectricalData ();
216+ auto electricalProp = elementNode->first_node (" ElectricalProperties" );
217+ auto stability = electricalProp->first_node (" Stability" );
205218
206- auto avr = XMLParser::AppendNode (doc, stability, " AVR" );
207- if (data.avr ) SaveControlElements (doc, avr, data.avr );
219+ auto avr = XMLParser::AppendNode (doc, stability, " AVR" );
220+ if (data.avr ) SaveControlElements (doc, avr, data.avr );
208221
209- auto speedGov = XMLParser::AppendNode (doc, stability, " SpeedGovernor" );
210- if (data.speedGov ) SaveControlElements (doc, speedGov, data.speedGov );
222+ auto speedGov = XMLParser::AppendNode (doc, stability, " SpeedGovernor" );
223+ if (data.speedGov ) SaveControlElements (doc, speedGov, data.speedGov );
211224
212- elementID++;
225+ elementID++;
226+ }
213227 }
214228 // }
215229
216230 // { SyncMotor
217231 auto syncMotorsNode = XMLParser::AppendNode (doc, elementsNode, " SyncMotorList" );
218232 auto syncMotorList = allElements.GetSyncMotorList ();
219233 elementID = 0 ;
220- for (auto it = syncMotorList.begin (), itEnd = syncMotorList.end (); it != itEnd; ++it) {
221- (*it)->SetID (elementID);
222- (*it)->SaveElement (doc, syncMotorsNode);
223- elementID++;
234+ for (auto * syncMotor : syncMotorList) {
235+ if (syncMotor->IsInserted ()) {
236+ syncMotor->SetID (elementID);
237+ syncMotor->SaveElement (doc, syncMotorsNode);
238+ elementID++;
239+ }
224240 }
225241 // }
226242
227243 // { Transfomer
228244 auto transformersNode = XMLParser::AppendNode (doc, elementsNode, " TransformerList" );
229245 auto transformerList = allElements.GetTransformerList ();
230246 elementID = 0 ;
231- for (auto it = transformerList.begin (), itEnd = transformerList.end (); it != itEnd; ++it) {
232- (*it)->SetID (elementID);
233- (*it)->SaveElement (doc, transformersNode);
234- elementID++;
247+ for (auto * transformer : transformerList) {
248+ if (transformer->IsInserted ()) {
249+ transformer->SetID (elementID);
250+ transformer->SaveElement (doc, transformersNode);
251+ elementID++;
252+ }
235253 }
236254 // }
237255
238256 // { HarmCurrent
239257 auto harmCurrentNode = XMLParser::AppendNode (doc, elementsNode, " HarmCurrentList" );
240258 auto harmCurrentList = allElements.GetHarmCurrentList ();
241259 elementID = 0 ;
242- for (auto it = harmCurrentList.begin (), itEnd = harmCurrentList.end (); it != itEnd; ++it) {
243- (*it)->SetID (elementID);
244- (*it)->SaveElement (doc, harmCurrentNode);
245- elementID++;
260+ for (auto * harmCurrent : harmCurrentList) {
261+ if (harmCurrent->IsInserted ()) {
262+ harmCurrent->SetID (elementID);
263+ harmCurrent->SaveElement (doc, harmCurrentNode);
264+ elementID++;
265+ }
246266 }
247267 // }
248268
249269 // { EMTElement
250270 auto emtElementNode = XMLParser::AppendNode (doc, elementsNode, " EMTElementList" );
251271 auto emtElementList = allElements.GetEMTElementList ();
252272 elementID = 0 ;
253- for (auto it = emtElementList.begin (), itEnd = emtElementList.end (); it != itEnd; ++it) {
254- (*it)->SetID (elementID);
255- (*it)->SaveElement (doc, emtElementNode);
256- elementID++;
273+ for (auto * emtElement : emtElementList) {
274+ if (emtElement->IsInserted ()) {
275+ emtElement->SetID (elementID);
276+ emtElement->SaveElement (doc, emtElementNode);
277+ elementID++;
278+ }
257279 }
258280 // }
259281
260282 // { Text
261283 auto textsNode = XMLParser::AppendNode (doc, elementsNode, " TextList" );
262284 auto textList = m_workspace->GetTextList ();
263285 elementID = 0 ;
264- for (auto it = textList.begin (), itEnd = textList.end (); it != itEnd; ++it) {
265- (*it)->SetID (elementID);
266- (*it)->SaveElement (doc, textsNode);
267- elementID++;
286+ for (auto * text : textList) {
287+ if (text->IsInserted ()) {
288+ text->SetID (elementID);
289+ text->SaveElement (doc, textsNode);
290+ elementID++;
291+ }
268292 }
269293 // }
270294
0 commit comments