Applying A blank entry to a set via a prototype

I have a prototype with a single attribute defined. The attribute is a set named “Fruit” consisting of entries: bananas; apples; oranges.
When I apply the prototype to a note, the attribute “Fruit” appears populated with “bananas; apples; oranges.” How can I apply the prototype while keeping the “Fruit” set empty, so that I can click on the > arrow and select the entry from the set that I want? I’m dealing with several dozen notes, and what I’m doing at the moment after applying the prototype, is going through them one by one and emptying out “Fruit” then selecting one from the drop down. I hope what I’m asking is clear? Thanks!

Figured out how to do it via Quickstamps. Thanks to @satikusala for the tutorial!

Glad you are fixed. But I think what you are after in general is an attribute’s Suggested Values option. these are set via the Inspector for either user or (non-read-only) system attributes.

Suggested values are entered into the Inspector box as a list so: bananas;apples;oranges. Once added, in a Displayed Attributes table or Get Info, when that attribute is selected for edit, the pop-ip list includes suggested values even if no note currently uses them. When reporting used values (e.g. via the values() action code) Tinderbox is clever enough to not report suggested but as-yet unused values.

HTH

Yes. It’s working. Thanks !

Be aware you can also set the ‘default’ and ‘suggested’ values for most system and all user attributes. That said suggested only really makes sense for String-type, or string-based (List, Set, Color, File, etc.) types, or Number type attributes.

For example, using the built-in ‘MyString’ and user String ‘AString’ and List ‘AList’ attributes. Setting defaults on the stamped notes:

attribute(MyString)[default]="blue";
attribute(AString)[default]="dog";
attribute(AList)[default]="balloon";

Or applied to any note, to set the per-attribute suggested values:

attribute(MyString)[suggested]="red; green";
attribute(AString)[suggested]="cow; horse";
attribute(AList)[suggested]="boat; bus";

In the v9.5.0, due out any day now, this more normal-seeming quoted syntax will work:

attribute("MyString")["suggested"]="red; green";
attribute("AString")["suggested"]="cow; horse";
attribute("AList")["suggested"]="boat; bus";

The difference? The target attribute name (e.g. MyString) and the target attribute facet (e.g. suggested) are enclosed in strings as is the normal convention for string argument values.

2 Likes