This document contains a list of the central new concepts
and features in KD Chart 2.0, as well as how they benefit
the KD Chart developer.

- Full Qt 4 support
KD Chart 2.0 was redesigned and reimplemented from the
ground up in order to support and make use of Qt 4 to the
highest possible degree.  Some of the consequences and
benefits of this can be found below.  KD Chart 2.0 does
not use the Qt3Support library so that it can be used in
fully native Qt 4 code.

- Interview support
The data model in KD Chart 2.0 is completely Interview-based.
Any QAbstractTableModel (such as a QSqlRelationalTableModel
for charting database data) can be used in order to supply
data to KD Chart 2.0, and a number of specialized models are
provided for selecting rows or columns.  All diagram
attributes are stored in models as well which makes it
possible to select properties like area coloring or 2D/3D
both per cell and per dataset, a great increase in
flexibility.

- Widget support
For simple cases where the full power of Interview is not
needed, KD Chart 2.0 provides a built-in Widget that
supplies its own data model, much like QTableWidget supplies
its own data model for QTableView.

- Arthur support
KD Chart 2.0 has been designed to make full use of the new
painting engine in Qt 4, Arthur.  All painting is done in
floating-point coordinates for sub-pixel accuracy.  Whereever
possible, transparency and custom brushes are supported,
making it easy to develop sophisticated looking charts.

- Separation of concepts
In KD Chart 1, diagrams and axes were closely tied together.
KD Chart 2.0 separates the concepts of charts, diagrams, axes,
and coordinate planes, which yields a number of great benefits:

  * Any drawing code is now completely value-based, making
    drawing code a lot simpler.  This makes it a lot easier for
    KD Chart 2.0 users to develop their own custom data types.

  * You can develop your own scales (in addition to the set of
    scales built into KD Chart 2.0) easily.

  * Two features that had been requested a lot, zooming and
    panning, are now available and will automatically work
    even with new diagram types.

  * It is a lot easier now to find a certain data value for a
    specified pixel coordinate, i.e., in order to implement
    custom user interaction.
    This is also completely independent from the diagram type.



