Apache OpenOffice (AOO) Bugzilla – Issue 79965
Editing a chart title moves the page offset but not back, when finishing editing
Last modified: 2013-02-24 21:22:35 UTC
1. Create a chart, e.g. in Impress 2. Enter a main title (Insert/Title) 3. Double-Click the title for editing 4. Enter many characters until the cursor reaches the right end of the page. When entering more characters, the rest of the chart moves to the left. 5. Click outside the title to end the edit-mode (some space inside the chart object) => The chart stays scrolled, i.e. some parts of the chart are no longer visible, and you cannot scroll back. Work-around: End and Re-enter the edit mode (click into the container document and double-click the chart again).
Note for the work-around: s/edit mode/inplace mode/
AW: Created a patch, discussed with RT. May go into m223. AW->RT: As discussed, set to fixed when in master. Thanks!
aw: Really? We were talking about issue 80172, I think.
Back to Armin.
AW: OOps, wrong task moved. Back to me!
AW->CL: Do You have any idea who is responsible for the visible area of an OLE and who has to set it then inplace mode is left? Framework? The OLE-Application? The host Application? I hope You know more, if not maybe we ask MBA or Mikahil?
CL->AW: I don't think this has something to do with OLE. If you deactivate the edit mode then the vis area will be reset and is correct now. I think this is a problem that editing somehow translates the SdrView and since there are no scroll bars in chart it can not be scrolled back. This is the same behavior if you create a rectangle shape in impress and start typing. The View scrolls left and after editing stays this way. CL->BM: I think a solution for your problem is to override SdrEndTextEdit and reset the SdrView position
SdrEndTextEdit is non-virtual. Is there a different way to intercept, like an event when editing has finished? I noticed that in Calc there is no scrolling at all when the cursor is moved out of the visible region in shape text edit. This is not very fortunate, but obviously there is a way to intervene here.
AW->BM: SdrEndTextEdit (and begin, too) are not virtual by historical reasons. Since they are NOT virtual, it is not trivial how they call/get called by each other (e.g. SD calls it in several places, but which...?). CL and i both did one try to make these virtual, but both did not succeed and the changed versions leaded to problems in one or another case. So: Do not touch this not very stable region, please. Anyways, You need to save the view and restore it at EndTextEdit. If it is enough to react on EndTextEdit() and reset the view, i just took a look in svx\source\svdraw\svdedxv.cxx (888) ff and there is indeed an event broadcasted (look for #99840#, someone else seems to have needed it already). If You need to save and restore, there is also a hint sent (HINT_BEGEDIT, look for same taskID) for that. HTH.
Yes, this helped, thanks. Now, I remember the first output devices' map mode in begin text edit and reset this one in end text edit.
Please verify in CWS chart15
Please verify in CWS chart15.
Looks fine in cws chart15 -> verified
Verified fixed in m6, closing.