@@ -262,6 +262,19 @@ skinparam package {
262262 BackgroundColor $BOUNDARY_BG_COLOR
263263}
264264
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+
265278' Legend and Tags
266279' ##################################
267280!global $tagDefaultLegend = ""
@@ -411,42 +424,42 @@ skinparam package {
411424!endfunction
412425
413426!function $elementTagSkinparams ($element , $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , $shape , $borderStyle , $borderThickness )
414- !$elementSkin = "skinparam " + $element + "<<" + $tagStereo + ">> {" + % newline ()
427+ !$elementSkin = "skinparam " + $element + "<<" + $tagStereo + ">> {" + $ bl ()
415428 !if ($fontColor != "")
416429 !if (%strpos ($tagStereo , "boundary" ) < 0 )
417- !$elementSkin = $elementSkin + " StereotypeFontColor " + $fontColor + % newline ()
430+ !$elementSkin = $elementSkin + " StereotypeFontColor " + $fontColor + $ bl ()
418431 !endif
419- !$elementSkin = $elementSkin + " FontColor " + $fontColor + % newline ()
432+ !$elementSkin = $elementSkin + " FontColor " + $fontColor + $ bl ()
420433 !endif
421434 !if ($bgColor != "")
422- !$elementSkin = $elementSkin + " BackgroundColor " + $bgColor + % newline ()
435+ !$elementSkin = $elementSkin + " BackgroundColor " + $bgColor + $ bl ()
423436 !endif
424437 !if ($borderColor != "")
425- !$elementSkin = $elementSkin + " BorderColor " + $borderColor + % newline ()
438+ !$elementSkin = $elementSkin + " BorderColor " + $borderColor + $ bl ()
426439 !endif
427440 !if ($shadowing == "true ")
428- !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "true " + % newline ()
441+ !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "true " + $ bl ()
429442 !endif
430443 !if ($shadowing == "false ")
431- !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "false " + % newline ()
444+ !$elementSkin = $elementSkin + " Shadowing <<" + $tagStereo + ">> " + "false " + $ bl ()
432445 !endif
433446 ' only rectangle supports shape(d corners), define both skinparam that overlays are working
434447 !if ($shape != "" && $element == "rectangle ")
435448 !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 ()
438451 !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 ()
441454 !endif
442455 !endif
443456 !if ($borderStyle != "")
444- !$elementSkin = $elementSkin + " BorderStyle " + $borderStyle + % newline ()
457+ !$elementSkin = $elementSkin + " BorderStyle " + $borderStyle + $ bl ()
445458 !endif
446459 !if ($borderThickness != "")
447- !$elementSkin = $elementSkin + " BorderThickness " + $borderThickness + % newline ()
460+ !$elementSkin = $elementSkin + " BorderThickness " + $borderThickness + $ bl ()
448461 !endif
449- !$elementSkin = $elementSkin + "}" + % newline ()
462+ !$elementSkin = $elementSkin + "}" + $ bl ()
450463 !return $elementSkin
451464!endfunction
452465
@@ -463,8 +476,8 @@ skinparam package {
463476 !$tagSkin = $tagSkin + $elementTagSkinparams ("participant ", $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
464477 !$tagSkin = $tagSkin + $elementTagSkinparams ("sequencebox ", $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
465478 !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 ()
468481 !endif
469482 !if %variable_exists ("ENABLE_ALL_PLANT_ELEMENTS" )
470483 !$tagSkin = $tagSkin + $elementTagSkinparams ("agent ", $tagStereo , $bgColor , $fontColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
@@ -489,18 +502,18 @@ skinparam package {
489502 ' label uses wrong font color? (should be $bgColor too)
490503 !$tagSkin = $tagSkin + $elementTagSkinparams ("label ", $tagStereo , $bgColor , $bgColor , $borderColor , $shadowing , "", $borderStyle , $borderThickness )
491504' label colors cannot be set via skinparam use additional style
492- !$tagSkin = $tagSkin + "<style >" + % newline ()
505+ !$tagSkin = $tagSkin + "<style >" + $ bl ()
493506 ' 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 ()
502515 ' }
503- !$tagSkin = $tagSkin + "</style >" + % newline ()
516+ !$tagSkin = $tagSkin + "</style >" + $ bl ()
504517 !endif
505518$tagSkin
506519!endprocedure
@@ -514,7 +527,7 @@ $tagSkin
514527!endfunction
515528
516529!unquoted procedure $defineRelSkinparams ($tagStereo , $textColor , $lineColor , $lineStyle , $lineThickness )
517- !$elementSkin = "skinparam arrow <<" + $tagStereo + ">> {" + % newline ()
530+ !$elementSkin = "skinparam arrow <<" + $tagStereo + ">> {" + $ bl ()
518531 !if ($lineColor != "") || ($textColor != "") || ($lineStyle != "")
519532 !$elementSkin = $elementSkin + " Color "
520533 !if ($lineColor != "")
@@ -526,12 +539,12 @@ $tagSkin
526539 !if ($lineStyle != "")
527540 !$elementSkin = $elementSkin + ";line . " + $lineStyle
528541 !endif
529- !$elementSkin = $elementSkin + % newline ()
542+ !$elementSkin = $elementSkin + $ bl ()
530543 !endif
531544 !if ($lineThickness != "")
532- !$elementSkin = $elementSkin + " thickness " + $lineThickness + % newline ()
545+ !$elementSkin = $elementSkin + " thickness " + $lineThickness + $ bl ()
533546 !endif
534- !$elementSkin = $elementSkin + "}" + % newline ()
547+ !$elementSkin = $elementSkin + "}" + $ bl ()
535548$elementSkin
536549!endprocedure
537550
@@ -1036,10 +1049,10 @@ UpdateElementStyle($elementName, $bgColor, $fontColor, $borderColor, $shadowing)
10361049
10371050' update the style of default relation, it has to set both properties (combined statement not working)
10381051!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 ()
10431056$elementSkin
10441057!endprocedure
10451058
0 commit comments