[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: API enhancement: Selecting area to chart in a KSpread sheet.
From:       "Karl-Heinz Zimmer" <khz () ngi ! de>
Date:       2005-11-14 22:41:29
Message-ID: 27608.65.244.37.61.1132008089.squirrel () mail ! axero ! net
[Download RAW message or body]

Hi Inge,

I am not absolutely sure if I am correctly understanding what you want to
achieve, so please help me to get this right:

Do you want to be able to change the selection (the one inside KSpread)
from inside the configuration dialog of KChart?

I have no clue if that can be done (do not know the KOffice code good
enough).

On the other hand there is something that /can/ be done quite easily:

The newest version of the KD Chart 1.x branch is not providing built-in
zooming/panning, but it is explicitely 'supporting' zooming and panning of
the data part to be visualized: The calling application would subclass
from the base class of our data class and could overwrite some methods
following a schema that is documented by us.

So the calling application (that is KChart) could use this simple technic
to specify kind of a 'window' onto the big data area - and it could move
this window around, requiring no more than a simple repaint to make the KD
Chart engine use the new data range.

Using this new technic we even also get of the need of copying the KSpread
cell data around, since the data storage sub-classed from KD Chart's class
does not necessarily need to have the data stored inside - it just has to
know how deliver them when is it asked for a cell's data ...

Porting KChart to the new KD Chart code will be done within the next days,
so we can very soon try how this windowing would work.

As I wrote about, the thing I have no clue about is, how we could
propagate to KSpread that the data range has been changed from inside the
KChart configuration, so perhaps someone else could dig into this feedback
detail and come up with a nice solution?  :-)

Cheers,
Karl-Heinz

On So, 13.11.2005, 16:46, Inge Wallin sagte:
> When the user creates a chart in KSpread, he (or she) starts by selecting
> the
> cells containing the data to be charted.  When the chart is created, this
> data is copied (i.e. the values are copied) to the chart and is given to
> the
> chart through the API in koffice/interfaces/koChart.h.
>
> After the chart is created, this area can never be changed! The only way
> to
> "change" it, is to delete the chart, and create a new one with the new
> area.
> This is a real problem, so I want to fix it for 1.5.
>
> What I want to be able to do is (at least):
>  - Insert rows or columns into the data area, and have the chart change on
> it.
>  - When configuring the embedded chart, I want to have a text entry with
> the
> caption "data area" or so, that I can enter things like "Sheet1.A1:C10"
> and
> have the chart updated if this area is changed.
>
> The second case is tricky, because it demands that the embedded document
> (the
> chart) can communicate data upwards to the embedding document (the
> spreadsheet). The current API supports changing data area from the
> spreadsheet (or whatever embedding program), but not the other way around.
>
> I have thought about this, but not been able to come up with anything
> clean.
> Can somebody else come up with something workable?
>
> 	-Inge

-- 
Karl-Heinz Zimmer, Senior Software Engineer, Klarälvdalens Datakonsult AB
<mailto:khz@kdab.net>                                <mailto:khz@kde.org>

** Qt Components, Platform Independent Software, Qt Courses, Mentoring **

_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic