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