KWord
From KOffice
KWord is an application that uses the text (flake) shape to show text-based documents with arbitairy page sizes and it can do a lot of DTP-like functionality due to the featureset that Flake brings to the table.
Since the main text layout and rendering core is moved into a flake plugin this can be used by any KOffice application and thus most of the KWord functionality is available across all apps. How this is done is to use the KoText library to contain the text loading code and various interfaces (APIs) for using text in an application. Most of the functionality is kept out of the KoText library to keep it small to link to and the real code all lives in the text shape (which can be found in the koffice plugins dir).
KoText allows the placement of the text-lines to be reimplemented differently, so KoText has a powerful, but not very featurful version that is used everywhere except for KWord. KWord implements its own text layout class which has additional features that only a word processor needs.
After this 10km overview here are some pages with more details and design documents;
Current Design Explanation
- KWord/Tutorials List of tutorials relating to ODF and KWord
- KWord/Tables The tables in KWord can be based on Qt tables, here is how Qt tables work at the low low level.
- KWord/RequirementSpecifications/ChangeTracking Requirement specifications for Change tracking.
Usecases for new tech or 'in-development' stuff
- KWord/Master Documents Explains how a master document can make life easier.
- Libs/KoText/Change tracking What do we want to do with Change Tracking then?
- Libs/KoText/Text Plugins Usecases for writing plugins for the text shape. And which technology to use.
- KWord/Scripting Scratchpad for scripting. Nothing final, just designing at the moment. Input welcome.
End User Ready
In order to make KWord end user ready we have to know who the end user is. Turns out that there are different definitions which give different answers. The full details can be found at KWord/EndUserReady/Personas

