This version is out of date, covering development from v5.0.0 to v5.12.2. It is maintained here only for inbound reference links from elsewhere.

Jump to the current version of aTbRef.

Tinderbox Icon

attrib - attribute

Each Tinderbox attribute, both internal-only and those exposed to the user, are defined by a single attribute tag, which is a leaf object with no children. All Tinderbox data objects have all attribute's even if they cannot make use of them - e.g. $AgentQuery can be set to a note but does nothing. Attributes are all defined with a standard set of tag attributes. For example:

<attrib Name="OutboundLinkCount" parent="General" editable="0" visibleInEditor="1" type="2" canInherit="0" default="0" >
</attrib>

Name. The (screen/action code) name of the attribute. "anything " reserved for the root attrib tag.

parent. All attrib tags except the root one have a parent value which is the Name of its parent attrib tag.

editable. Number - zero or one. A '0' implies the attribute is calculated and thus read-only so cannot be set via via UI or action code. A '1' implies the user can edit the attribute's value

visibleInEditor. Number - zero or one. Is this attribute visible in the program's UI? A '0' implies no, a '1' implies yes.

kind. A number. Purpose uncertain but appears to indicate the attribute inherits from a preference; the number is not the order of the preference in source. Attributes using kind are:

type. A number - the Tinderbox data type. If the value is zero the attribute is not saved, i.e. if this attribute is missing its value must be assumed to be zero. Values:

canInherit. Number - zero or one. Only present if value is '0'. If missing, assume a value of '1'. Presumably a zero value implies the attribute is intrinsic. Only used for System attributes.

default. A specific default, otherwise that data-type's normal default value.


The Internal attribute group

This defines 4 hidden attributes: $Alias, $EntryScript, $ExitScript, $WindowPlace. Note are seen in the UI and the user should not attempt to script them via action code. $Alias is of note as it is used in item objects that are aliases. Indeed the present of the $Alias attribute indicates the object is an alias rather than a normal note. In such contexts, the value of $Alias will be the $ID of its original note.


The Agent attribute group

The container note of this group is call 'Agent' and $Agent is used, again internally only. Agent objects - in a TBX - will also have a Agent value of "true". this cannot be accessed from or tested by action code.


Possible relevant notes (via "Similar Notes" feature):


A Tinderbox Reference File : Tinderbox File Types : Data (TBX) Files : The v5 TBX format : tinderbox tag : attrib tag : attrib - user : attrib - attribute