Issue 74653 - new Chart: Undo after leave the chart does not work
Summary: new Chart: Undo after leave the chart does not work
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: chart (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: kla
QA Contact: issues@graphics
URL:
Keywords: new_implementation
Depends on:
Blocks:
 
Reported: 2007-02-19 10:34 UTC by kla
Modified: 2013-02-24 21:19 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description kla 2007-02-19 10:34:21 UTC
Create a ColumnChart e.g, 3Rows and 3Columns
Select Dataseries 
Open Object Properties Dialog
Change on Tabpage Area the fill to Bitmap
Choose any Type
Leave the Chart
Back to inplace Mode
No Undo Action are available
Works fine into the old chart
Comment 1 kla 2007-02-19 10:35:01 UTC
set Keyword
Comment 2 bjoern.milcke 2007-02-21 09:39:06 UTC
Aaaargh! Why does this work in the old chart!

If we want to fix this, we would have to change the whole Undo-Concept. This
issue comes a bit late for being able to change this in a timely manner.

Undo is currently done by the controller. When you leave the inplace-mode the
controller is destroyed. Therefore Undo-information is lost. To keep the undo
information, we would have to store the undo at the model. Which, by the way,
only works as long as a chart is not swapped out of memory due to the "OLE
cache" limitation or a switch to another sheet.

The problem with an undo that survives the leaving of the outplace mode is, that
changes done in Calc may influence the chart, rendering a later undo useless.
For illustration, in the old chart create a chart out of three columns of data.
Change some properties of the last series, go back to calc and delete the last
column (that serves the data for that series). => The series will disappear. Now
enter the chart and do an "Undo" => Nothing happens (fortunately there is no
crash :-) ), because the object the undo works for no longer exists. As long as
we have no merged undo (between Calc and Chart), I don't know how much sense in
a remembered Undo-Stack makes, anyway.
Comment 3 bjoern.milcke 2007-02-21 09:43:53 UTC
Ha! I knew it! Change the properties of a data point (e.g. data label), delete
the corresponding data in Calc, go back to chart and do "Undo", then "Redo" =>
Crash. (Old chart of course)
Comment 4 bjoern.milcke 2007-03-20 14:30:05 UTC
Accepting
Comment 5 IngridvdM 2007-04-18 14:55:19 UTC
changed target according to i-team decision
Comment 6 bjoern.milcke 2007-06-25 14:21:46 UTC
Undo now is implemented at the XModel, so that it is possible to do undo/redo as
long as the model lives.

For this change there are two new interfaces in namespace css:chart2:
XUndoManager and XUndoSupplier.

Side Note: Due to the OLE caching mechanism it is possible that the model is
swapped out while a document is open, thus undo gets lost. However, this is the
same for all other OOo applications as well.
Comment 7 bjoern.milcke 2007-07-16 10:09:02 UTC
Please verify in CWS chart07.
Comment 8 kla 2007-07-20 15:39:05 UTC
verified
Comment 9 kla 2007-10-01 10:50:48 UTC
seen ok in current master -> closed