Object: VANILLA-MIXIN* (The :GENDL Package) |
Mixins: STANDARD-OBJECT |
Input Slots (optional) | |
HIDDEN? boolean | |
Indicates whether the object should effectively be a hidden-object even if specified in :objects. Default is nil. | |
ROOT gdl instance | |
The root-level node in this object's ``tree'' (instance hierarchy). | |
SAFE-CHILDREN list of gdl instances | |
All objects from the :objects specification, including elements of sequences as flat lists. Any children which throw errors come back as a plist with error information | |
STRINGS-FOR-DISPLAY string or list of strings | |
Determines how the name of objects of this type will be printed in most places. This defaults to the name-for-display (generally the part's name as specified in its parent), followed by an index number if the part is an element of a sequence. | |
VISIBLE-CHILDREN list of gdl instances | |
Additional objects to display in Tatu tree. Typically this would be a subset of hidden-children. Defaults to NIL. | |
Computed Slots | |
AGGREGATE gdl instance | |
In an element of a sequence, this is the container object which holds all elements. | |
ALL-MIXINS list of symbols | |
Lists all the superclasses of the type of this object. | |
CHILDREN list of gdl instances | |
All objects from the :objects specification, including elements of sequences as flat lists. | |
DIRECT-MIXINS list of symbols | |
Lists the direct superclasses of the type of this object. | |
FIRST? boolean | |
For elements of sequences, T iff there is no previous element. | |
HIDDEN-CHILDREN list of gdl instances | |
All objects from the :hidden-objects specification, including elements of sequences as flat lists. | |
INDEX integer | |
Sequential index number for elements of a sequence, NIL for singular objects. | |
LAST? boolean | |
For elements of sequences, T iff there is no next element. | |
LEAF? boolean | |
T if this object has no children, NIL otherwise. | |
LEAVES list of gdl objects | |
A Collection of the leaf nodes of the given object. | |
NAME-FOR-DISPLAY keyword symbol | |
The part's simple name, derived from its object specification in the parent or from the type name if this is the root instance. | |
NEXT gdl instance | |
For elements of sequences, returns the next part in the sequence. | |
PARENT gdl instance | |
The parent of this object, or NIL if this is the root object. | |
PREVIOUS gdl instance | |
For elements of sequences, returns the previous part in the sequence. | |
ROOT-PATH list of symbols or of pairs of symbol and integer | |
Indicates the path through the instance hierarchy from the root to this object. Can be used in conjunction with the follow-root-path GDL function to return the actual instance. | |
ROOT-PATH-LOCAL list of symbols or of pairs of symbol and integer | |
Indicates the path through the instance hierarchy from the local root to this object. Can be used in conjunction with the follow-root-path GDL function to return the actual instance. | |
ROOT? boolean | |
T iff this part has NIL as its parent and therefore is the root node. | |
SAFE-HIDDEN-CHILDREN list of gdl instances | |
All objects from the :hidden-objects specification, including elements of sequences as flat lists. Any children which throw errors come back as a plist with error information | |
TYPE symbol | |
The GDL Type of this object. | |
GDL Functions | |
DOCUMENTATION plist | |
Returns the :documentation plist which has been specified the specific part type of this instance. | |
FOLLOW-ROOT-PATH gdl instance | |
Using this instance as the root, follow the reference chain represented by the given path.
| |
MESSAGE-DOCUMENTATION string | |
This is synonymous with slot-documentation | |
MESSAGE-LIST list of keyword symbols | |
Returns the messages (slots, objects, and functions) of this object, according to the filtering criteria as specified by the arguments.
| |
MIXINS list of symbols | |
Returns the names of the immediate superclasses of this object.
| |
RESTORE-ALL-DEFAULTS! void | |
Restores all settable-slots in this instance to their default values. | |
RESTORE-ROOT! | |
Multiple Values: Total root-paths affected and total slots affected. Reverts any "remembered" bashed slots, starting from the root, to their default values. Note that any call to `set-slot!` or `set-slots!` or any use of web form-controls will result in "remembered values". Note that there is a `:remember?` keyword argument to `set-slot!` which defaults to `t` but if you specify it as `nil`, you can bash values without having them "remembered" and such slots would not be affected by this function. | |
RESTORE-SLOT-DEFAULT! nil | |
Restores the value of the given slot to its default, thus ``undoing'' any forcibly set value in the slot. Any dependent slots in the tree will respond accordingly when they are next demanded. Note that the slot must be specified as a keyword symbol (i.e. prepended with a colon (``:'')), otherwise it will be evaluated as a variable according to normal Lisp functional evaluation rules.
| |
RESTORE-SLOT-DEFAULTS! nil | |
Restores the value of the given slots to their defaults, thus ``undoing'' any forcibly set values in the slots. Any dependent slots in the tree will respond accordingly when they are next demanded. Note that the slots must be specified as keyword symbols (i.e. prepended with colons (``:'')), otherwise they will be evaluated as variables according to normal Lisp functional evaluation rules.
| |
RESTORE-TREE! void | |
Restores all settable-slots in this instance, and recursively in all descendant instances, to their default values. | |
SET-SLOT! nil | |
Forcibly sets the value of the given slot to the given value. The slot must be defined as :settable for this to work properly. Any dependent slots in the tree will respond accordingly when they are next demanded. Note that the slot must be specified as a keyword symbol (i.e. prepended with a colon (``:'')), otherwise it will be evaluated as a variable according to normal Lisp functional evaluation rules. Note also that this must not be called (either directly or indirectly) from within the body of a Gendl computed-slot. The caching and dependency tracking mechanism in Gendl will not work properly if this is called from the body of a computed-slot, and furthermore a runtime error will be generated.
| |
SET-SLOTS! nil | |
Forcibly sets the value of the given slots to the given values. The slots must be defined as :settable for this to work properly. Any dependent slots in the tree will respond accordingly when they are next demanded. Note that the slots must be specified as a keyword symbols (i.e. prepended with a colon (``:'')), otherwise they will be evaluated as variables according to normal Lisp functional evaluation rules.
| |
SLOT-DOCUMENTATION plist of symbols and strings | |
Returns the part types and slot documentation which has been specified for the given slot, from most specific to least specific in the CLOS inheritance order. Note that the slot must be specified as a keyword symbol (i.e. prepended with a colon (``:'')), otherwise it will be evaluated as a variable according to normal Lisp functional evaluation rules.
| |
SLOT-SOURCE body of gdl code, in list form | |
.
| |
SLOT-STATUS keyword symbol | |
Describes the current status of the requested slot:
| |
TOGGLE-SLOT! void | |
Sets giving slot to its boolean opposite. &args (slot "Keyword symbol. Name of the slot as a keyword symbol.") | |
UPDATE! void | |
Uncaches all cached data in slots and objects throughout the instance tree from this node, forcing all code to run again the next time values are demanded. This is useful for updating an existing model or part of an existing model after making changes and recompiling/reloading the code of the underlying definitions. Any set (modified) slot values will, however, be preserved by the update. | |
WRITE-SNAPSHOT void | |
Writes a file containing the toplevel inputs and modified settable-slots starting from the root of the current instance. Typically this file can be read back into the system using the read-snapshot function.
| |