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.
hum, that's what I think I do ;)
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.
hum, I do not try to to make anything strange. There are just two cases:
- either I'm in control of the operations and I want to do my stuff within a
BeginUndoAction/EndUndoAction bloc (I ignore all the notifications in this
case), this operation creates an entry in my own stack and I want Scintilla
to have exactly one 'big' entry (i.e. any actions grouped inside a single
transaction). Even if nothing was done at Scintilla level, it should still
keep my empty transaction (because if my code is too dumb to realize nothing
was to be done I prefer that at least Scintilla react as my code)
- or Scintilla launches the operation by itself, in this case, I want it to
tell me 'I started a transaction', in this case I just create a new action
in my stack, just to know that pressing Undo in the app will just undo one
transaction in Scintilla without any action in my app
for sure if BeginUndoAction is called and the startAction entry is discarded
later because nothing was done, the better would be to wait until a real
action and put the SC_START_ACTION there so that this flag could be really
trusted
Armel
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest