Overall design
==============

* The document (KWDocument) has a list of framesets (KWFrameSet)

* Framesets include: text frameset & generic framesets.

* A frameset has a list of frames, KWFrame. A KWFrame is basically a thin wrapper
around a KoShape.
Imagine a 10 pages document, with 1 text-frameset and 10 frames, because our
example author wants to have one frame per page.  This means that there is one 
text, and the frames define where on the pages this text is displayed.

* About text framesets: they hold a text document (QTextDocument).

Frame layout and pages
======================
Generally, the user is free to position frames where he/she wants to.

However, in Word Processing mode, some frames are special: main text frameset
(which might include columns), headers, footers, and footnotes. All of those
are laid out by the KWFrameLayout class.

When creating a new page, KWDocument::insertPage takes care of creating the
followup frames for all frames with newFrameBehavior=Reconnect.

The newFrameBehavior called "Copy" means "exact copy of the contents of
the frame". This is used for headers/footers (but the user can also use
it for logos and stuff). In such a case we don't copy anything, we simply
paint the same contents in many pages.  This is done by having a frame with a
KWCopyShape as its main Shape.  The KWCopyShape gets the original shape as argument.

Technical details of frames, framesets and shape interaction are described 
in kword/part/frames/DESIGN

