Sunday, March 8, 2009

Symbols Table

Each GraphicsScene now contains a "symbols table". This table contains three hash tables:

1) handle FULL names ----> pointers to handles
2) handle FIRST names ----> list of all handles (pointer) with that name
3) data row and column name ----> list of pairs that indicates the handle and the tool (name of tool) where the row or column name comes from

The symbols tables are updates during each event (history update).
An example where the symbols tables are used is in the rate equations. When a user types a rate equation, the Stoichiometry Tool looks at the symbols table to determine whether the parameters in that rate equation already exist somewhere in the model. 

The container tool (which provides the Attributes View window) also uses the symbols table to get a list of all the handles. 

No comments: