<ManSection>
<Oper Arg="indicator, objects, attributes" Name="ToDoListEntryToMaintainEqualAttributes" Label="for IsList, IsList, IsList"/>
<Returns>a todo list entry
</Returns>
<Description>
The first argument is the <A>indicator</A>.
It is a list of sources like in ToDoListEntry.
Each entry <A>SP</A> has to be a threetuple.
First entry of <A>SP</A> has to an object, for
which the second entry of <A>SP</A>, which has
to be the name of an attribute, must become known.
Once the attribute is known to the object,
it will be compared to the third entry of the list.
This can be a value, which is compared directly
a function, which is launched and its return value is compared,
or a list, consisting of a function and arguments, so the
return value of the function with given arguments is compared.
If there is no third entry in <A>SP</A>, it is only looked
up if the value is known. Once all entries in <A>indicator</A>
are processed like this, and all returned true in the comparasion,
a list of ToDoListEntryForEqualAttributes is installed.
They are installed for the two entries of the list <A>objects</A>
which can either be the objects itself or a list
containing a function and arguments, which return
value is used. For each entry in <A>attributes</A> such
an entry is installed. Such an entry can be the
name of an attribute, if both objects
in <A>objects</A> should share the value
between attributes with the same name, or a list
of two names, if the attributes do not have
the same name.
</Description>
</ManSection>
<ManSection>
<Oper Arg="indicator, objects, attributes" Name="ToDoListEntryToMaintainFollowingAttributes" Label="for IsList, IsList, IsList"/>
<Returns>a todo list entry
</Returns>
<Description>
This function creates a ToDoListEntry which can
install several ToDoListEntries.
The first two arguments, <A>indicator</A> and <A>objects</A>
except that there will be only ToDoListEntries
installed between the two objects in <A>objects</A>.
Each entry in <A>attributes</A> can either be a string
which means that the attribute with the given name will be set
from the first to the second object in <A>objects</A>
once it is known.
The third argument <A>attributes</A> is a list of attributes
that will be propagated by ToDoListEntries.
Each entry <A>TP</A> can either be a list consisting of
a DescriptionOfImplication string and one of the following
or just one of the following lists:
It can be a string, which means that the Attribute
with the given name will be propagated from the first to
the second object.
It can be a list, consisting of two entries, where the first entry
is a list of sources like in ToDoListEntry
and the second might be a function
which will be launched once the first part is fulfilled.
It can also be a threetuple which will serve
as second to fourth argument of ToDoListEntry.
Or it can be a string, which will set the attribute named
like this of the first object to the one named in the second object
</Description>
</ManSection>
<ManSection>
<Oper Arg="source, target_list" Name="ToDoListEntry" Label="for IsList, IsList"/>
<Returns>a todo list entry
</Returns>
<Description>
This function allows to create more than one
ToDoListEntry with identical list of sources at one time.
First argument is a list of sources like in the other ToDoListEntry functions
Second argument is a list of threetuples,
which serve as second to fourth argument of ToDoListEntry
or a function, which serves as second argument for ToDoListEntry
or a tuple with a description string and one of the above.
</Description>
</ManSection>
<ManSection>
<Var Name="ToDoList_this_object" />
<Description>
Represents the objects for which the blueprint is
created in the arguments
</Description>
</ManSection>
<ManSection>
<Oper Arg="filter, indicator, objects, attributes" Name="ToDoListEntryToMaintainEqualAttributesBlueprint" Label="for IsObject, IsList, IsList, IsList"/>
<Returns>nothing
</Returns>
<Description>
This function installs an immediate method
which can install ToDoListEntryToMaintainEqualAttributes.
First argument must be a filter, and once the filter becomes true
the ToDoListEntryToMaintainEqualAttributes is
installed with the second to fourth argument
as first to third.
In those attributes, at any point,
the variable ToDoList_this_object
can be used. When the entry is installed
This will be replaced with the object to which the
filters became known, i.e. the one which triggered the
immediate method.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1,arg2,arg3,arg4" Name="ToDoListEntryToMaintainFollowingAttributesBlueprint" Label="for IsObject, IsList, IsList, IsList"/>
<Returns>nothing
</Returns>
<Description>
The same as ToDoListEntryToMaintainEqualAttributesBlueprint
for ToDoListEntryToMaintainFollowingAttributes
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1,arg2,arg3" Name="ToDoListEntryBlueprint" Label="for IsObject, IsList, IsList"/>
<Returns>nothing
</Returns>
<Description>
The same as ToDoListEntryToMaintainEqualAttributesBlueprint
for ToDoListEntry
</Description>
</ManSection>
<ManSection>
<Oper Arg="E" Name="AddToToDoList" Label="for IsToDoListEntry"/>
<Description>
Adds the ToDo-list entry <A>E</A> to the
ToDo-lists of it's source objects and creates a new one, if this is needed.
This function might be called with lists of entries
</Description>
</ManSection>
<ManSection>
<Oper Arg="entry" Name="SourcePart" Label="for IsToDoListEntry"/>
<Returns>a list
</Returns>
<Description>
Returns the a list of source parts of the ToDo-list entry <A>entry</A>.
This is a triple of an object, a name of a filter/attribute, and a value to which
the attribute has to be set to activate the entry
</Description>
</ManSection>
<ManSection>
<Oper Arg="entry" Name="TargetPart" Label="for IsToDoListEntry"/>
<Returns>a list
</Returns>
<Description>
Returns the target part of the ToDo-list entry <A>entry</A>.
This is a triple of an object, a name of a filter/attribute, and a value to which the
specific filter/attribute should be set.
The third entry of the list might also be a function to which return value the
attribute is set.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg" Name="ProcessAToDoListEntry" Label="for IsToDoListEntry"/>
<Returns>a boolean
</Returns>
<Description>
Processes a ToDo-list entry, i.e. sets the information given in TargetPart
if the definitions in SourcePart are fulfilled.
Returns a function if the entry could be processed, false if not, and fail if
SourcePart or TargetPart weren't availible anymore.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1,arg2,arg3,arg4" Name="ToDoListEntry" Label="for IsList, IsObject, IsString, IsObject"/>
<Returns>a ToDoListEntry
</Returns>
<Description>
The first argument must be a list consisting of two, three or four-tuples
where the first entry must be the object to which the attribute
given as a string in the second entry must be known to process this entry.
The second entry can also be a list of strings, in that case all the
attributes given as names must be known.
Also, in this case, only two entries in this tuple are allowed.
The third part can be a value or a list, consisting of a function followed
by arguments which will be computed by the time the attribute given
as second entry becomes known to the first entry.
If the second part is only a string, and there is a third entry in the tuple
the attribute is compared to the third entry.
One can set a comparating function as fourth entry, which must
take two entries and return false or true.
If the value of the attribute matches the (computed)
value in the third entry for all members of the list in the first argument
the attribute given as third argument, also by name, of the second argument
is set to the value of the fourth argument.
This can also be a list which has to be computed, or a function,
which retun value is used in this case.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1,arg2" Name="ToDoListEntry" Label="for IsList, IsFunction"/>
<Returns>a ToDoListEntry
</Returns>
<Description>
The first argument is a list of three-tubles like above.
Once all preconditions become fulfilled
the function given as second argument is launched.
</Description>
</ManSection>
<ManSection>
<Oper Arg="entry,value" Name="SetTargetValueObject" Label="for IsToDoListEntry, IsObject"/>
<Returns>nothing
</Returns>
<Description>
If the given value of the target part is the return value of a function
this command sets the target value of the entry to a function.
This is done to keep proof tracking availible.
</Description>
</ManSection>
<ManSection>
<Oper Arg="entry,obj" Name="SetTargetObject" Label="for IsToDoListEntry, IsObject"/>
<Returns>nothing
</Returns>
<Description>
If the target object, i.e. the first entry of the target part, was given as
a function, this method can set this entry to the return value computed in
ProcessToDoListEntry. This happens atomatically, do not worry about it.
</Description>
</ManSection>
<ManSection>
<Oper Arg="sobj,source_prop,sval,tobj,target,tval" Name="ToDoListEntryWithContraposition" Label="for IsObject, IsString, IsBool, IsObject, IsString, IsBool"/>
<Returns>a ToDoListEntry
</Returns>
<Description>
Creates a ToDoListEntry which also installs a contraposition.
The arguments <A>source_prop</A> and <A>target</A> need to be
strings which name a property, and <A>sval</A> and
<A>tval</A> need to be
boolean values, i.e. true or false.
</Description>
</ManSection>
<ManSection>
<Attr Arg="arg" Name="DescriptionOfImplication" Label="for IsToDoListEntry"/>
<Returns>a list
</Returns>
<Description>
Has to be set to a string, which describes the reason for the conclusion.
If the ToDo-list entry is displayed, the given string will be displayed with a
because before it.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1,arg2,arg3,arg4" Name="ToDoListEntryForEqualAttributes" Label="for IsObject, IsString, IsObject, IsString"/>
<Returns>a ToDoListEntry
</Returns>
<Description>
Creates a ToDoListEntry for two equal
attributes, which means that both values of the two attributes
will be propagated in both directions.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg1,arg2,arg3,arg4,arg5,arg6" Name="ToDoListEntryForEquivalentAttributes" Label="for IsObject, IsString, IsObject, IsObject, IsString, IsObject"/>
<Returns>a ToDoListEntry
</Returns>
<Description>
Creates a ToDoListEntry for two equivalent
attributes, which means that both values of the two attributes
will be propagated in both directions.
Please note that this one does NOT implement contrapositions.
</Description>
</ManSection>
<ManSection>
<Filt Arg="arg" Name="IsToDoList" Label="for IsObject"/>
<Returns><K>true</K> or <K>false</K>
</Returns>
<Description>
This is the category of ToDo-lists.
Every ToDo-list is an object of this category,
which basically contains the ToDo-lists.
</Description>
</ManSection>
<ManSection>
<Oper Arg="" Name="NewToDoList" />
<Returns>nothing
</Returns>
<Description>
Creates a new empty ToDo-list.
</Description>
</ManSection>
</Section>
<Section Label="Chapter_ToDo-list_Section_This_is_the_magic">
<Heading>This is the magic</Heading>
<ManSection>
<Func Arg="arg" Name="Process_A_ToDo_List_Entry" />
<Returns>a boolean
</Returns>
<Description>
Gets a ToDo-list entry, which is a pair of a list of strings and a weak pointer object,
and processes it. If the action was done, it returns true, if not, it returns false, and it returns
fail if the action is not possible anymore due to deleted objects.
</Description>
</ManSection>
<ManSection>
<Attr Arg="A" Name="ProcessToDoList" Label="for IsObject"/>
<Returns>nothing
</Returns>
<Description>
This is the magic! This attribute is never set. Creating an ToDo-list entry installs
an ImmediateMethod for this attribute for the specific category of the object to which
ToDo-list is added, and the filter the entry contains.
It is then triggert if the filters become applicable, so the ToDo-list is processed
</Description>
</ManSection>
</Section>
<Section Label="Chapter_ToDo-list_Section_Methods_for_all_objects">
<Heading>Methods for all objects</Heading>
<ManSection>
<Attr Arg="arg" Name="ToDoList" Label="for IsObject"/>
<Returns>A ToDo-list
</Returns>
<Description>
Returns the ToDo-list of an object, or creates a new one.
</Description>
</ManSection>
This is a way to track proofs from ToDoLists.
Not only for debugging, but also for knowing how things work together.
<ManSection>
<Oper Arg="obj,name,val" Name="TraceProof" Label="for IsObject, IsString, IsObject"/>
<Returns>a tree
</Returns>
<Description>
If the object <A>obj</A> has the attribute <A>name</A>,
and its value is <A>val</A>, and the knowledge has
been obtained trough ToDoList-entries,
this method traces the way the property was set,
and returns a tree which describes the full way of how the attribute became known.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg" Name="ActivateToDoList" Label="for IsObject"/>
<Returns>nothing
</Returns>
<Description>
This operation activates ToDoLists for the argument.
</Description>
</ManSection>
<ManSection>
<Oper Arg="" Name="ActivateToDoList" />
<Returns>nothing
</Returns>
<Description>
This operation activates ToDoLists for all objects.
</Description>
</ManSection>
<ManSection>
<Oper Arg="arg" Name="DeactivateToDoList" Label="for IsObject"/>
<Returns>nothing
</Returns>
<Description>
This operation deactivates ToDoLists for the argument.
</Description>
</ManSection>
<ManSection>
<Oper Arg="" Name="DeactivateToDoList" />
<Returns>nothing
</Returns>
<Description>
This operation deactivates ToDoLists for all objects.
Note that it is not possible to activate ToDoList for a single object
while they are not activated.
ToDoListEntries will yet be stored for all objects that can have ToDoLists.
All objects created while ToDoLists are deactivated have by default no ToDoList.
</Description>
</ManSection>
<ManSection>
<Func Arg="arg" Name="ActivateWhereInfosInEntries" />
<Returns>nothing
</Returns>
<Description>
Stores the result of Where( 100 ) in an entry
if the entry is triggered. This is not activated
by default, since it might slow down the system.
</Description>
</ManSection>
<ManSection>
<Func Arg="arg" Name="DeactivateWhereInfosInEntries" />
<Returns>nothing
</Returns>
<Description>
Deactives the storage of the result of Where( 100 )
if an entry is triggered. This is the default.
</Description>
</ManSection>
</Section>
</Chapter>
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.50Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.