@@ -262,6 +262,19 @@ skinparam package {
262
262
BackgroundColor $BOUNDARY_BG_COLOR
263
263
}
264
264
265
+ ' PlantUML compatibility utilities
266
+ ' ##################################
267
+
268
+ ' PlantUML v1.2025.1beta6 introduced a new %breakline() function.
269
+ ' This should be used instead of the old %newline(), if a command ends.
270
+ ' (%newline() should be only used in multiline labels,...)
271
+ !function $bl ()
272
+ !if (%function_exists ("%breakline" ))
273
+ !return %breakline ()
274
+ !endif
275
+ !return %newline ()
276
+ !endfunction
277
+
265
278
' Legend and Tags
266
279
' ##################################
267
280
!global $tagDefaultLegend = ""
@@ -411,42 +424,42 @@ skinparam package {
411
424
!endfunction
412
425
413
426
!function $elementTagSkinparams ($element , $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , $shape , $borderStyle , $borderThickness )
414
- !$elementSkin = "skinparam " + $element + "<<" + $tagStereo + ">> {" + % newline ()
427
+ !$elementSkin = "skinparam " + $element + "<<" + $tagStereo + ">> {" + $ bl ()
415
428
!if ($fontColor != "")
416
429
!if (%strpos ($tagStereo , "boundary" ) < 0 )
417
- !$elementSkin = $elementSkin + " StereotypeFontColor " + $fontColor + % newline ()
430
+ !$elementSkin = $elementSkin + " StereotypeFontColor " + $fontColor + $ bl ()
418
431
!endif
419
- !$elementSkin = $elementSkin + " FontColor " + $fontColor + % newline ()
432
+ !$elementSkin = $elementSkin + " FontColor " + $fontColor + $ bl ()
420
433
!endif
421
434
!if ($bgColor != "")
422
- !$elementSkin = $elementSkin + " BackgroundColor " + $bgColor + % newline ()
435
+ !$elementSkin = $elementSkin + " BackgroundColor " + $bgColor + $ bl ()
423
436
!endif
424
437
!if ($borderColor != "")
425
- !$elementSkin = $elementSkin + " BorderColor " + $borderColor + % newline ()
438
+ !$elementSkin = $elementSkin + " BorderColor " + $borderColor + $ bl ()
426
439
!endif
427
440
!if ($shadowing == "true ")
428
- !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "true " + % newline ()
441
+ !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "true " + $ bl ()
429
442
!endif
430
443
!if ($shadowing == "false ")
431
- !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "false " + % newline ()
444
+ !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "false " + $ bl ()
432
445
!endif
433
446
' only rectangle supports shape(d corners), define both skinparam that overlays are working
434
447
!if ($shape != "" && $element == "rectangle ")
435
448
!if ($shape == $ROUNDED_BOX )
436
- !$elementSkin = $elementSkin + " RoundCorner " + $ROUNDED_BOX_SIZE + % newline ()
437
- !$elementSkin = $elementSkin + " DiagonalCorner " + "0 " + % newline ()
449
+ !$elementSkin = $elementSkin + " RoundCorner " + $ROUNDED_BOX_SIZE + $ bl ()
450
+ !$elementSkin = $elementSkin + " DiagonalCorner " + "0 " + $ bl ()
438
451
!else if ($shape == $EIGHT_SIDED )
439
- !$elementSkin = $elementSkin + " RoundCorner " + "0 " + % newline ()
440
- !$elementSkin = $elementSkin + " DiagonalCorner " + $EIGHT_SIDED_SIZE + % newline ()
452
+ !$elementSkin = $elementSkin + " RoundCorner " + "0 " + $ bl ()
453
+ !$elementSkin = $elementSkin + " DiagonalCorner " + $EIGHT_SIDED_SIZE + $ bl ()
441
454
!endif
442
455
!endif
443
456
!if ($borderStyle != "")
444
- !$elementSkin = $elementSkin + " BorderStyle " + $borderStyle + % newline ()
457
+ !$elementSkin = $elementSkin + " BorderStyle " + $borderStyle + $ bl ()
445
458
!endif
446
459
!if ($borderThickness != "")
447
- !$elementSkin = $elementSkin + " BorderThickness " + $borderThickness + % newline ()
460
+ !$elementSkin = $elementSkin + " BorderThickness " + $borderThickness + $ bl ()
448
461
!endif
449
- !$elementSkin = $elementSkin + "}" + % newline ()
462
+ !$elementSkin = $elementSkin + "}" + $ bl ()
450
463
!return $elementSkin
451
464
!endfunction
452
465
@@ -463,8 +476,8 @@ skinparam package {
463
476
!$tagSkin = $tagSkin + $elementTagSkinparams ("participant ", $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
464
477
!$tagSkin = $tagSkin + $elementTagSkinparams ("sequencebox ", $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
465
478
!if (%strpos ($tagStereo , "boundary" ) >= 0 && $bgColor != "")
466
- !$tagSkin = $tagSkin + "skinparam package <<" + $tagStereo + ">>StereotypeFontColor " + $bgColor + % newline ()
467
- !$tagSkin = $tagSkin + "skinparam rectangle <<" + $tagStereo + ">>StereotypeFontColor " + $bgColor + % newline ()
479
+ !$tagSkin = $tagSkin + "skinparam package <<" + $tagStereo + ">>StereotypeFontColor " + $bgColor + $ bl ()
480
+ !$tagSkin = $tagSkin + "skinparam rectangle <<" + $tagStereo + ">>StereotypeFontColor " + $bgColor + $ bl ()
468
481
!endif
469
482
!if %variable_exists ("ENABLE_ALL_PLANT_ELEMENTS" )
470
483
!$tagSkin = $tagSkin + $elementTagSkinparams ("agent ", $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
@@ -489,18 +502,18 @@ skinparam package {
489
502
' label uses wrong font color? (should be $bgColor too)
490
503
!$tagSkin = $tagSkin + $elementTagSkinparams ("label ", $tagStereo , $bgColor , $bgColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
491
504
' label colors cannot be set via skinparam use additional style
492
- !$tagSkin = $tagSkin + "<style >" + % newline ()
505
+ !$tagSkin = $tagSkin + "<style >" + $ bl ()
493
506
' componentDiagram {
494
- !$tagSkin = $tagSkin + " label {" + % newline ()
495
- !$tagSkin = $tagSkin + " . " + $tagStereo + " {" + % newline ()
496
- !$tagSkin = $tagSkin + " StereotypeFontColor " + $bgColor + % newline ()
497
- !$tagSkin = $tagSkin + " Fontcolor " + $bgColor + % newline ()
498
- !$tagSkin = $tagSkin + " BackgroundColor " + $bgColor + % newline ()
499
- !$tagSkin = $tagSkin + " BorderColor " + $borderColor + % newline ()
500
- !$tagSkin = $tagSkin + " }" + % newline ()
501
- !$tagSkin = $tagSkin + " }" + % newline ()
507
+ !$tagSkin = $tagSkin + " label {" + $ bl ()
508
+ !$tagSkin = $tagSkin + " . " + $tagStereo + " {" + $ bl ()
509
+ !$tagSkin = $tagSkin + " StereotypeFontColor " + $bgColor + $ bl ()
510
+ !$tagSkin = $tagSkin + " Fontcolor " + $bgColor + $ bl ()
511
+ !$tagSkin = $tagSkin + " BackgroundColor " + $bgColor + $ bl ()
512
+ !$tagSkin = $tagSkin + " BorderColor " + $borderColor + $ bl ()
513
+ !$tagSkin = $tagSkin + " }" + $ bl ()
514
+ !$tagSkin = $tagSkin + " }" + $ bl ()
502
515
' }
503
- !$tagSkin = $tagSkin + "</style >" + % newline ()
516
+ !$tagSkin = $tagSkin + "</style >" + $ bl ()
504
517
!endif
505
518
$tagSkin
506
519
!endprocedure
@@ -514,7 +527,7 @@ $tagSkin
514
527
!endfunction
515
528
516
529
!unquoted procedure $defineRelSkinparams ($tagStereo , $textColor , $lineColor , $lineStyle , $lineThickness )
517
- !$elementSkin = "skinparam arrow <<" + $tagStereo + ">> {" + % newline ()
530
+ !$elementSkin = "skinparam arrow <<" + $tagStereo + ">> {" + $ bl ()
518
531
!if ($lineColor != "") || ($textColor != "") || ($lineStyle != "")
519
532
!$elementSkin = $elementSkin + " Color "
520
533
!if ($lineColor != "")
@@ -526,12 +539,12 @@ $tagSkin
526
539
!if ($lineStyle != "")
527
540
!$elementSkin = $elementSkin + ";line . " + $lineStyle
528
541
!endif
529
- !$elementSkin = $elementSkin + % newline ()
542
+ !$elementSkin = $elementSkin + $ bl ()
530
543
!endif
531
544
!if ($lineThickness != "")
532
- !$elementSkin = $elementSkin + " thickness " + $lineThickness + % newline ()
545
+ !$elementSkin = $elementSkin + " thickness " + $lineThickness + $ bl ()
533
546
!endif
534
- !$elementSkin = $elementSkin + "}" + % newline ()
547
+ !$elementSkin = $elementSkin + "}" + $ bl ()
535
548
$elementSkin
536
549
!endprocedure
537
550
@@ -1036,10 +1049,10 @@ UpdateElementStyle($elementName, $bgColor, $fontColor, $borderColor, $shadowing)
1036
1049
1037
1050
' update the style of default relation, it has to set both properties (combined statement not working)
1038
1051
!unquoted procedure UpdateRelStyle ($textColor , $lineColor )
1039
- !$elementSkin = "skinparam arrow {" + % newline ()
1040
- !$elementSkin = $elementSkin + " Color " + $lineColor + % newline ()
1041
- !$elementSkin = $elementSkin + " FontColor " + $textColor + % newline ()
1042
- !$elementSkin = $elementSkin + "}" + % newline ()
1052
+ !$elementSkin = "skinparam arrow {" + $ bl ()
1053
+ !$elementSkin = $elementSkin + " Color " + $lineColor + $ bl ()
1054
+ !$elementSkin = $elementSkin + " FontColor " + $textColor + $ bl ()
1055
+ !$elementSkin = $elementSkin + "}" + $ bl ()
1043
1056
$elementSkin
1044
1057
!endprocedure
1045
1058
0 commit comments