Every page stores a tree-like hierarchy of groups. It consists of:
- undo history – the list of undo history items with a pointer to the
- hook list – hooks which were registered for the contents of this page.
- top-level group
- temp – another top-level group for objects which have been temporarily
unlinked from the page (inside on a transaction).
- tsort list – a data structure for storing the topologically sorted
contents of the page.
- R-tree – the GEOMLIB R-tree data structure for the page's contents.
These data are freed when not needed.
Thus, every page has its independent undo history. The undo history items
for undo actions preformed of non-graphic objects (which are not inside
any page) are stored in a special page