Attribute Data Type:
Attribute Default Value:
Attribute Inherited from Preferences?
Attribute First Added:
A primary use is suppressing code from be run in prototypes.
$DisplayExpressionDisabled is convenient when a display expression is shared by all the children of a prototype, but it is not desirable that it be applied to the prototype itself. Thus it can be useful to suppress $DisplayExpression activation in prototypes. Previously, it was necessary include an 'if($Prototype)' test which was cumbersome and meant every inheriting note had to run the additional if test adding load to the action code cycle. That workaround can be discarded and the attribute set to false in the Prototype. Because, atypically, this attribute is not inherited from a prototype, the prototype's setting does not affect the Display Expression in notes using the prototype.
For example, the intention may be for books to be displayed with their price:
but the prototype for books, "Book Prototype" could inhibit this $DisplayExpression to display its name without a meaningless price tag.
A similar control is supplied for rules: $RuleDisabled.
$DisplayExpressionDisabled can be set via the Text Inspector ▸ Title tab, 'Display Expression Enabled' input box. Be aware the latter label describes the 'opposite' state compared to the underlying attribute.