@@ -320,51 +320,65 @@ private void validateGridAlignment(List<UIElement> elements, int columns, int ro
320320 }
321321
322322 private void validateRightAlignedWithChunk (List <UIElement > elements ) {
323- int oldErrorsSize = errors .getMessages ().size ();
324- for (int i = 0 ; i < elements .size () - 1 ; i ++) {
325- UIElement element = elements .get (i );
326- UIElement elementToCompare = elements .get (i + 1 );
327- element .validateRightAlignedWith (elementToCompare , errors );
328- }
329- if (errors .getMessages ().size () != oldErrorsSize ) {
330- Vector onLine = elements .get (0 ).getCorner ();
331- drawVerticalLine (onLine );
323+ if (!elements .isEmpty ()) {
324+ int oldErrorsSize = errors .getMessages ().size ();
325+ int pickedIndex = 0 ;
326+ UIElement element = elements .get (pickedIndex );
327+ for (int i = 0 ; i < elements .size (); i ++) {
328+ if (i != pickedIndex ) {
329+ UIElement elementToCompare = elements .get (i );
330+ element .validateRightAlignedWith (elementToCompare , errors );
331+ }
332+ }
333+ if (errors .getMessages ().size () != oldErrorsSize ) {
334+ Vector onLine = elements .get (pickedIndex ).getCorner ();
335+ drawVerticalLine (onLine );
336+ }
332337 }
333338 }
334339
335340 private void validateLeftAlignedWithChunk (List <UIElement > elements ) {
336- int oldErrorsSize = errors .getMessages ().size ();
337- for (int i = 0 ; i < elements .size () - 1 ; i ++) {
338- UIElement element = elements .get (i );
339- UIElement elementToCompare = elements .get (i + 1 );
340- element .validateLeftAlignedWith (elementToCompare , errors );
341- }
342- if (errors .getMessages ().size () != oldErrorsSize ) {
343- drawVerticalLine (elements .get (0 ).getOrigin ());
341+ if (!elements .isEmpty ()) {
342+ int oldErrorsSize = errors .getMessages ().size ();
343+ int pickedIndex = 0 ;
344+ UIElement element = elements .get (pickedIndex );
345+ for (int i = 0 ; i < elements .size (); i ++) {
346+ UIElement elementToCompare = elements .get (i );
347+ element .validateLeftAlignedWith (elementToCompare , errors );
348+ }
349+ if (errors .getMessages ().size () != oldErrorsSize ) {
350+ drawVerticalLine (elements .get (pickedIndex ).getOrigin ());
351+ }
344352 }
345353 }
346354
347355 private void validateTopAlignedWithChunk (List <UIElement > elements ) {
348- int oldErrorsSize = errors .getMessages ().size ();
349- for (int i = 0 ; i < elements .size () - 1 ; i ++) {
350- UIElement element = elements .get (i );
351- UIElement elementToCompare = elements .get (i + 1 );
352- element .validateTopAlignedWith (elementToCompare , errors );
353- }
354- if (errors .getMessages ().size () != oldErrorsSize ) {
355- drawHorizontalLine (elements .get (0 ).getOrigin ());
356+ if (!elements .isEmpty ()) {
357+ int oldErrorsSize = errors .getMessages ().size ();
358+ int pickedIndex = 0 ;
359+ UIElement element = elements .get (pickedIndex );
360+ for (int i = 0 ; i < elements .size (); i ++) {
361+ UIElement elementToCompare = elements .get (i );
362+ element .validateTopAlignedWith (elementToCompare , errors );
363+ }
364+ if (errors .getMessages ().size () != oldErrorsSize ) {
365+ drawHorizontalLine (elements .get (pickedIndex ).getOrigin ());
366+ }
356367 }
357368 }
358369
359370 private void validateBottomAlignedWithChunk (List <UIElement > elements ) {
360- int oldErrorsSize = errors .getMessages ().size ();
361- for (int i = 0 ; i < elements .size () - 1 ; i ++) {
362- UIElement element = elements .get (i );
363- UIElement elementToCompare = elements .get (i + 1 );
364- element .validateBottomAlignedWith (elementToCompare , this .errors );
365- }
366- if (errors .getMessages ().size () != oldErrorsSize ) {
367- drawHorizontalLine (elements .get (0 ).getCorner ());
371+ if (!elements .isEmpty ()) {
372+ int oldErrorsSize = errors .getMessages ().size ();
373+ int pickedIndex = 0 ;
374+ UIElement element = elements .get (pickedIndex );
375+ for (int i = 0 ; i < elements .size (); i ++) {
376+ UIElement elementToCompare = elements .get (i );
377+ element .validateBottomAlignedWith (elementToCompare , this .errors );
378+ }
379+ if (errors .getMessages ().size () != oldErrorsSize ) {
380+ drawHorizontalLine (elements .get (pickedIndex ).getCorner ());
381+ }
368382 }
369383 }
370384
0 commit comments