6.3.1 Object Directives

If you add an extra "#" to the beginning of the comment directive, it will automatically be inherited by any sub-classes of the given object. Otherwise, it only applies to the object on which it was given.

#IGNORE
Do not register this object in the list of types.
#NO_TOKENS
Do not keep a record of the tokens of this object type. Types can keep pointers to all instances or tokens of themselves. This can be expensive in terms of memory, but the interface uses "token menus" for arguements or methods which are pointers to objects of the given type.
#NO_INSTANCE
Do not create a global instance (TAI_xxx) of this object. This will prevent tokens of this object from being made.
#INSTANCE
If default is not to create instances, then create one anyway for this object.
#NO_MEMBERS
Do not store the members (including member functions) of this class. Only the type name will be registered.
#NO_CSS
Do not create CSS stub functions for the member functions on this object.
#INLINE
Causes this item to be edited in a single line in a dialog box (e.g. for geometry x,y,z) and affects saving/loading, etc.
#EXT_xxx
Sets the default extension for saving/loading this type to xxx.
#COMPRESS
store dump file's of this object compressed. Since the save files are text, they can be large, so it is a good idea to auto-compress dump files for large objects.
#MEMB_IN_GPMENU
This indicates that there is a group object as a member of this one who's objects should appear in menus where this object appears.
#VIRT_BASE
This is a "virtual" base class: don't show in token menus for this object, etc.
#NO_UPDATE_AFTER
Don't call UpdateAfterEdit when loading this object (and other places it might automatically get called). Since a list of objects which should be updated after loading is made, small or numerous objects should not be added to this list if not necessary.
#IMMEDIATE_UPDATE
Perform an immediate UpdateAfterEdit on this object after loading (i.e., it creates other objects..). Normally, updating happens after all of the other objects have been loaded.
#SCOPE_xxx
Type of object to use as a scope for this object. The scope restricts token menus and other things to only those things that share a common parent token of the given scope type.
#ARRAY_ALLOC
Specific to taList_impl derivatives: this list or group should have saved items created all together during loading (ie., like an array). If actually using array-based memory allocation, this is essential, but otherwise it can only speed things up a little bit.
#LINK_SAVE
Save the actual contents of this object even when it appears as a link in a list. Usually just the link pointer is saved, and the object is saved later in the group that actually owns it. This overrides this and saves the information in both places -- can be useful if info from the linked object is needed during loading.
#NO_OK
Do not present an OK button on the edit dialog for this object.
#NO_CANCEL
Do not present a CANCEL button on the edit dialog for this object.