2
ChartInterface: kspread -> kchart
3
ChartModel: kchart -> kspread
5
- Hardcoded shape id of the chart shape in KSpread.
6
- Specialized for both, KChart and KSpread.
10
KSpread does not know the shape id before the config dialog is shown.
12
- Install extra plugin by KChart for KSpread
13
- Identifies KChart as data consumer
14
- Use shape id to install config widgets to be used at shape creation
15
BULLSHIT (there's a shape):
16
- Let plugin install QObject implementing DataConsumerInterface
17
- Let DataConsumerInterface know about DataConsumerManager
21
How does the chart shape know that the hosting app is KSpread or that
22
it should retrieve its data from an embedded table?
23
Is it possible to know what is the active shape on shape insertion?
25
- Query KComponentData
27
- Register SourceRangeManager as (canvas) resource.
29
- KoShapeUserData is qobject_cast'able
32
How does KSpread communicate with the chart shape?
34
- Chart shape implements a data consumer interface
36
- KSpread fires KoEventActions and KChart can react by querying SourceRangeManager.
38
- QAbstractItemModel seems to have the necessary signals for reacting on data changes
39
except the cell region. Provide the whole sheet and let KChart trim the model?
40
What about mouse selections of the cell region then? Use QItemSelection(Model)?
41
Is it possible to temporarily activate the cell tool for the selection? Needs
43
- The cell region may be provided by a special role of the model's root item.
46
Does KChart has to communicate with KSpread/embedded tables at all?
47
- Current status: KChartModel provides accessors and setters for the cell region.
48
- KSpread needs to know the used cell region, so that it can shift it on
49
column/row/cell range insertions/deletions.
50
- Therefore, the communication in both directions, KChart <-> KSpread,
52
- KChart needs information about:
53
- data changes (cell shifts) -> QAbstractItemModel::dataChanged(), etc.
54
- complete deletion of the cell region -> QAbstractItemModel::destroyed()
55
- textual representation of the cell region -> ???
56
- KSpread needs information about:
57
- cell region change requests
58
- deletion of the chart shape
61
How would KSpread communicate with a database?