On Mon, Aug 20, 2012 at 2:12 PM, Ana Gomez <agomezalca...@gmail.com> wrote: > Yes, you both are right. > I think I got a shock when I've found out that this event doesn't exist. And > I've entered in an infinite loop of how this is possible XD
I'm not surprised there isn't one, because the whole XSI ui is written without needing an Undo event or a Command event. Only the Edit->Undo menu has a special handshake deal with the undo manager so it can update its menu text. the way we program things internally is that we listen for value changes, delete object and new objects (siObjectAdded,siObjectRemoved,siValueChange). Whether that occurs because a command was fired, undo was executed, a script run, or a slider modified, it doesn't matter, it happens just the same. the difference between the SDK event API and the internal API, is that internally we can listen to a "branch" of the scene graph. The event registration is per instance instead of global so we don't get called for stuff that isn't of interest. For example, the Object Viewer or the property page will only listen to modification for the object that it's showing and its children. The opengl viewport, however, listens for everything from the scene root down. Luckily it doesn't need to figure out the detail of what's change, its job is just to ask everything to redraw so it doesn't need to do any complex processing.