Hi Mathias,

>> I think the Chart does qualify for all those Usage scenarios.
>> Changes in Calc can lead to changes within the Chart that should be
>> offered as one UNDO action together. Further the changes made within the
>> Chart should be visible in the global UNDO stack also.
> 
> I'm not sure if that is a good idea.
> 
> IMHO an undo action only should record direct actions in the document 
> core of the undo provider. If this action causes changes elsewhere (e.g. 
> by a listener mechanism), they should not be recorded as it can be 
> assumed that the opposite change in the core (when the undo action is 
> executed) will cause the appropriate change in the listening component 
> also.

Well, one scenario Ingrid and I discussed here is the deletion of
rows/columns which are part of a source range for a chart. If this is
undone, the best chart can currently notice is the insertion of a
row/column. Whether or not this column was part of the source range is
not part of the broadcast event - not much of a chance for Chart to find
out.

This implies that chart source range handling/undo should be done in
Calc. On the other hand, this means Calc (or any application embedding
charts) needs to know pretty much details about Chart's handling of data
source ranges - imagine all the different chart types, and the degrees
of freedom you have for their defining their data sources.
Which means that extensions to the Chart core might require extensions
to the core of the embedding documents - not really desirable.

Those problems are probably solvable (and as said, we don't aim for
those solutions for 1.0), but I am not convinced it is as easy as saying
"undoing an instigating change will automatically undo the resulting
change" - simply because currently, listeners might not always transport
enough information for this.

Ciao
Frank

-- 
ORACLE
Frank Schönheit | Software Engineer | frank.schoenh...@oracle.com
Oracle Office Productivity: http://www.oracle.com/office

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org

Reply via email to