Armel Asselin: > interesting, i'll have to find test cases to see how my code behaves when > the BeginUndoAction gets finally ignored, it should give bad results as I > expect to have exactly one undo action each time I make a BeginUndoAction ;( > it is probably impossible however to obtain these cases in my soft. > could we have from the high level something to tell ? such as > BeginUndoAction(forceRetain)?
I thought what you need is to know about every action in undo (that is, ignoring coalesced steps) so you could keep track by counting and to be able to ensure that there is no overlap between your actions and Scintilla's by being able to break coalescing, which is all that a top level BeginUndoAction();EndUndoAction() does. For BeginUndoAction, it would really be forceNewStartAction. I'm trying to understand if you are really trying to create an analogue of an external action here. Maybe the issue here is that you want to include external actions inside a Scintilla Begin,End pair but that seems a complex situation that would need more thought. My initial response would be to avoid this. Implement compound actions in the container Undo system and segregate external actions from compound Scintilla actions using container-side grouping for any combination of external and Scintilla. I predict that the next message will reveal that you are producing undoable actions inside a Scintilla modification notification... Neil _______________________________________________ Scintilla-interest mailing list [email protected] http://mailman.lyra.org/mailman/listinfo/scintilla-interest
