The undo/redo mechanism of OCAF works well as long as all the necessary information is in data framework. But for those information outside the data framework?
For example, suppose we have a tree-pane to show the structure of model, when we call Undo() method, the viewer updated. but what tree-pane does? It belongs to the GUI, it beyond the scope of OCAF.
Maybe we should synchronize calling our own Undo/Redo implementation about GUI elements together with the Undo invocation of TDocStd_Document? But if this is true, we must implement our own undo/redo mechanism. If there a callback or notification mechanism in OCAF?