Qt widgets provide an accessibility (a11y) interface. This means that each standard widget in Qt is shipped with a a11y class specifically made for that widget. The effect is that there is a second way to look at a GUI apart from the obvious visual way. A11y will allow a piece of software to walk over the widget hierarchy and extract the important parts so it can create a second user interface. For example via a braie reader.
In KOffice we want to allow people to use such software to query our text-shapes and other shapes as well. Here are some links on how to do this;
My general idea is that we implement the Qt accessibility interface in the canvasContainer or canvasBase and create our own a11y interface for flake-shapes that the first a11y interface will proxy for.