+// Alignement des attributs de tous les composants dans un schéma\r
+ \r
+Procedure SCH_ResizeRefDes_All;\r
+Var\r
+ CurrentSheet : ISch_Document;\r
+ Comp : ISch_Component;\r
+ Iterator : ISch_Iterator;\r
+ \r
+Begin\r
+ // Check if schematic server exists or not.\r
+ If SchServer = Nil Then Exit;\r
+ \r
+ CurrentSheet := SchServer.GetCurrentSchDocument;\r
+ If CurrentSheet = Nil Then\r
+ Begin\r
+ ShowMessage('The current document is not a schematic document.');\r
+ Exit;\r
+ End;\r
+ \r
+ Try\r
+ SchServer.ProcessControl.PreProcess(CurrentSheet, '');\r
+ \r
+ // Set up iterator to look for Component objects only\r
+ Iterator := CurrentSheet.SchIterator_Create;\r
+ If Iterator = Nil Then Exit;\r
+ \r
+ Iterator.AddFilter_ObjectSet(MkSet(eSchComponent));\r
+ Try\r
+ Comp := Iterator.FirstSchObject;\r
+ While Comp <> Nil Do\r
+ Begin\r
+ SCH_AlignRefDes(Comp);\r
+ Comp := Iterator.NextSchObject;\r
+ End;\r
+ \r
+ Finally\r
+ Currentsheet.SchIterator_Destroy(iterator);\r
+ End;\r
+ \r
+ Finally\r
+ SchServer.ProcessControl.PostProcess(CurrentSheet, '');\r
+ End;\r
+\r
+ CurrentSheet.GraphicallyInvalidate;\r
+End;\r