Today I've finished the DAD preview widget to a level that will be good enough for most applications in the big dialog rewrite.
I've also realized that such dialogs should not store pointers to objects, because those pointers could get invalid any time (due to object deletion or modification or board reload). It is possible to send out events and get the dialog boxes react, but it is not trivial to decide if a pointer to a random object is already invalid.
Thus DAD dialogs should store IDs instead of pointers and use the safe id->object lookup. Unfortunately this lookup is slow.
The rest of the day was spent on building a hash table based, faster id->object lookup infrastructure.