Calligra/Chart Shape/Overall Design

Jump to: navigation, search

Overview

ChartShape Design.png

Classes

ChartShape

This is the KoShape implementation and thus the interface for KOffice's internals. Loading and saving starts here. Exactly one instance per chart.

PlotArea

Represents everything that belongs to the plot area, there's always exactly one instance of this class for one chart.

Axis

Owns the actual diagrams as the diagram's scaling depends on the axis. (If you think "WTF!?" here, see Calligra/KChart/Refactors)

ChartProxyModel

Represents the central source of data acting as a kind of proxy for all data tables.

TableSource

Manages all tables used by chart.

DataSet

Responsible for properties and data of a particular data set.

KDChartModel

Data interface for KD Chart. Combines a list of DataSets (with their properties and data) into a single model.

Legend

Stores properties of a legend, draws it, loads and saves it from/to ODF.

Integration of KD Chart

Everything, data and attributes, we offer to KD Chart through KDChartModel. The value for a specific data point it retrieves using Qt::DisplayRole. For attributes it uses a seperate data role, e.g. it retrieves the DataValueAttributes for a certain data point though KDChartModel::data(index, KDChart::DataValueLabelAttributesRole).

All attributes are communicated by this method. We do not use setter or getter for [DataValue/Pie/Bar/StockBar/Line]Attributes of any of the KDChart::AbstractDiagram subclasses.


This page was last modified on 8 December 2010, at 11:49. Content is available under Creative Commons License SA 4.0 unless otherwise noted.