StereotypeABackgroundColor vs. Stereotype@BackgroundColor

0 votes
asked Sep 26, 2016 in Closed bug by JohannesMeier (460 points)
recategorized Sep 28, 2016 by JohannesMeier

Hello,

to style different types of nodes in class diagrams (classes, abstract classes, enums, interfaces, and annotations), I found the following four skinparams to change the background color of the circles of these node types:

StereotypeABackgroundColor
StereotypeCBackgroundColor
StereotypeEBackgroundColor
StereotypeIBackgroundColor

 

I detected, that StereotypeABackgroundColor changes both abstract classes and annotations. This leads to the following questions:

  • Is it a bug, that StereotypeABackgroundColor changes annotations, too?
  • Is something like Stereotype@BackgroundColor missing to change annotations independent from abstract classes?
  • Or is everything working as desired?

1 Answer

+1 vote
answered Sep 26, 2016 by plantuml (295,000 points)
selected Sep 27, 2016 by JohannesMeier
 
Best answer

Thanks for the feedback, it's definitively a bug.

We cannot use @ so we introduce stereotypeNBackgroundColor in last beta :

https://dl.dropboxusercontent.com/u/13064071/plantuml.jar

You can now have:

@startuml
skinparam stereotypeABackgroundColor red
skinparam stereotypeNBackgroundColor blue

class foo1
enum foo2
annotation foo3
abstract foo4
@enduml

 

BTW, the default color for Abstract Class and Annotation is still the same (#A9DCDF)

I think that we should use a different default color for annotation. Any suggestion ? Thanks

commented Sep 27, 2016 by JohannesMeier (460 points)
Thanks a lot for the fast fix and stereotypeNBackgroundColor as new feature! Works fine for me.

Yes, the default color for annotations should be different: What about #E3664A? The light red is a bit stronger than the light red for enumerations (#EB937F).
commented Sep 26, 2022 by The-Lu (64,340 points)

Hello all,

It seems there is a bug with skinparam, but now use style...

Here is now an example by style:

@startuml
'skinparam stereotypeABackgroundColor red
'skinparam stereotypeNBackgroundColor blue

<style>
spotAbstractClass {
  BackgroundColor red
}
spotAnnotation {
  BackgroundColor blue
}
</style>

class foo1
enum foo2
annotation foo3
abstract foo4
@enduml

If that can help,
(I will plan to adding this on the doc...)
Regards.

...