Book a Demo

Author Topic: v15ᵦ - Show Stereotype Labels will show the labels regardless of the shapescript  (Read 4010 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Most of our Shapescripts will suppress the label that normally displays the stereotype.  However, if the [X] Show Stereotype Labels checkbox is marked in the Diagram | Properties | Connectors dialog, the stereotype labels will still show, in spite of the Shapescript's suppression thereof!  In typical, EAUI, this happens ONLY for new relationships on the diagram.  However, it persists over diagram re-opening or reloads.

It's a bug, !

Reported,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
How are you hiding the stereotype label?

It doesn't behave like that in my example profile. (Which defines a blank shape for the label)

Code: [Select]
shape MiddleBottomLabel
{
Print("");
}

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
How are you hiding  the stereotype label?

It doesn't behave like that in my example profile. (Which defines a blank shape for the label)

Code: [Select]
shape MiddleBottomLabel
{
Print("");
}
Well, believe it or not, I use the hidelabel()  function.   ::)   You're cheating!  ;) You're NOT hiding the label, but emitting an empty label!  You can't tell the difference, because the result is the same regardless of the setting.  Go and stand in the "naughty corner"!  ;D

Paolo
« Last Edit: May 17, 2019, 04:56:22 pm by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
I'd strongly recommend against using hidelabel at all as the effect persists even if hidelabel is no longer called (eg. stereotype removed)

Instead override the label and print an empty string. Hiding the label in this way will work for reflexive relationships and doesn't have any known negative repercussions.

My summary, hidelabel is conceptually broken and we have offered an alternative for many years.

You didn't follow that suggestion in 2012 and asked about it not working in 2016.
https://www.sparxsystems.com/forums/smf/index.php/topic,31086.msg225248.html#msg225248

It's taking almost as long as us implementing a feature request that doesn't align with our plans. ;)
« Last Edit: May 17, 2019, 05:11:32 pm by Eve »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
I'd strongly recommend against using hidelabel at all as the effect persists even if hidelabel is no longer called (eg. stereotype removed)

Instead, override the label and print an empty string. Hiding the label in this way will work for reflexive relationships and doesn't have any known negative repercussions.

My summary, hidelabel is conceptually broken and we have offered an alternative for many years.

You didn't follow that suggestion in 2012 and asked about it not working in 2016.
https://www.sparxsystems.com/forums/smf/index.php/topic,31086.msg225248.html#msg225248

It's taking almost as long as us implementing a feature request that doesn't align with our plans. ;)
Then, with respect, you should deprecate the method, as Sparx has done with a few others.

Even as late as v14.1 (and I'm sure the current v15 Help), there is NO indication that it should NOT be used.

I'll see about changing all our affected shapescripts.

Paolo

As with many functions in EA, I don't believe the function is conceptually broken, however, the implementation clearly sucks.  In this case, hidelabel, is conceptually a transient functionality, with a persistent implementation.
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!