adds the given fact to the fact database.
first the database is queries for a factlist with the name of
the given fact. if one was found, the relation of the given
fact is stored. if no one was found, a new factlist is created in
which the relation is stored.
adds a new relation to the fact database under the given name.
first the database is queries for a factlist matching name.
if one was found, the relation is stored in.
checks wether the key is allready stored in the cachmap. if not,
the value is stored and true is returned. if yes, it was stored,
the stored value is compared with the given mapping. then the
result of the comparation is returned
this is the base implementation for a relation with a name.
prolog: myFact(dan,joe).
in this example, "myFact" is the name and the parameters "dan" and "joe"
are the atoms in the relation.
Fact(IFact) -
Constructor for class prolog.implementation.Fact
copy constructor
Fact(int) -
Constructor for class prolog.implementation.Fact
the fact database stores all data found in the prolog program.
it stores all facts in factlists that are sorted by their name,
so it gets a database representation with a table for every
fact type found.
FactDb() -
Constructor for class prolog.implementation.FactDb
builds a new relation from the given fact
matching the format of the targetStatement.
create new relation
iterate over atoms of relation of statement2
search for atom value int factmap and get index in fact f
fetch atom from fact f at index and add atom found to new relation
the static factlist renderer used to render the fact list.
one renderer is enough for all statement node renderers.
it is created when the first statement renderer is created.
this is the base interface for a relation with a name.
prolog: myFact(dan,joe).
in this example, "myFact" is the name and the parameters "dan" and "joe"
are the atoms in the relation.
This class represent the complete fact database. in this class,
facts are stored as relations in factlists. this factlists are ordered
by the fact's name.
queries the database for a fact.
it returns true, if a fact in database is found matching the given one.
first, the database is queried for a factlist with the given name.
if on was found, this list is iterated finding a fact matching the
given facts.
sets the component to render in. with
this reference the node renderer
is able to fetch a graphic context and
to calculate the width of a string on screen.
returns a string representation of the atom. because all names
of the programmer's programm are replaced by integers, this
function requires the additional stringtable to decode the
integers into strings again.
returns a string representation of the atom. because all names
of the programmer's programm are replaced by integers, this
function requires the additional stringtable to decode the
integers into strings again.
returns a string representation of the atom. because all names
of the programmer's programm are replaced by integers, this
function requires the additional stringtable to decode the
integers into strings again.
Title: GuiLocker
Description: This class locks a complete gui to perform background work,
components that should not be locked must implement the IUnlockable
interface.