Failing Undo-calls
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 18/01/2007 at 04:22, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R 10
Platform: Windows ;
Language(s) : C++ ;---------
Hi all!I'm new here and just started looking into the SDK. I have many questions starting with this one.
I have been playing around alittle with tags, letting them modify the host object. I'd like to be able to undo these changes and therefore i tried this from within Execute(...) of my tag plugin:
doc->StartUndo(); doc->AddUndo(UNDO_CHANGE, op) // translate or rot or somth. op->Message(MSG_UPDATE); doc->EndUndo();
The thing is that all undo method calls fail.
What are the criterions for StartUndo and the other fellows to be successful?I haven't really gotten the feeling yet, for where and when things are to be done in the C4D SDK and i'd really appreciate some pointers.
/ Jonas
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 18/01/2007 at 06:34, xxxxxxxx wrote:
there is no real criterion. It also works here just fine. I have no clue what the problem may be, I have never had this problems within 5 years of plugin development for c4d.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 18/01/2007 at 06:41, xxxxxxxx wrote:
Well, I think I got it now. Maybe I was trying somthing stupid :-).
I was trying to let a checkbox in AM trigger StartUndo.
It fails as long as I hover the AM but succeeds when I click somewhere in the scene.Thanks for your answer.
/Jonas
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 23/02/2007 at 17:08, xxxxxxxx wrote:
Howdy
Hmmm, correct me if I'm wrong but I think if you use StartUndo() within an Execute(), you're actually nesting a StartUndo() within another StartUndo() because there is already one active before it gets to the Execute() function. At that point I think all you have to do is use the AddUndo()
I've noticed that if you have a StartUndo() within a StartUndo(), you end up having to do 2 undos to get back where you were.
Adios,
Cactus Dan