PDA

View Full Version : problem with combining undo's in coffee


otomo
08-17-2006, 08:25 AM
Hi,

I am new to coffee programming and have some problems with a script I wrote which I want to offer a proper undo. The script deletes several objects in the scene. When I want to undo the script action I have to do an undo for every deletion the script did. object by object.

What I want is that the whole script action will be just one undo step.

I tried with startundo(), endundo() and several addundo()'s in between but it does not work.

So how can I combine several deletions in just one undo step?

thanks

otomo

otomo
08-19-2006, 11:51 AM
Since I got no reply yet I try it another way to explain my problem:

In the code beneath I delete 2 objects. When I undo the action I have to do undo twice for every deleted object. How can I combine the 2 undo's into one? Can you maybe give me an example with the code snippet beneath?

main(doc,op)
{
doc->StartUndo();
var op2 = op->GetNext();
doc->AddUndo(UNDO_OBJECT,op);
CallCommand(12109); // Delete (Selected Object)
doc->SetActiveObject(op2);
doc->AddUndo(UNDO_OBJECT,op2);
CallCommand(12109); // Delete (Selected Object)
doc->EndUndo();
}

JDP
08-19-2006, 09:22 PM
Calling delete in itself will add an undo to the document, try removing your undo statements from the code and you will see no difference in behaviour. You could use the function Remove() instead of CallCommand.

HTH,
JDP

otomo
08-20-2006, 10:00 AM
yes, a guy on the 3dattack board gave me the hint, too. Now it works like a charm. :-)

CGTalk Moderation
08-20-2006, 10:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.