I have a very broad question about using Panda 3D with a GUI toolkit (GTK).
I have a Panda3D window which is a child of a GTK window (done by setting the parent window ID, as recommended in other parts of the forums). The program is set up so that when GTK gets any type of event that should trigger the Panda client space to update, that callback calls taskMgr.step() to make Panda re-render the frame (i.e., my GTK program controls the rendering, so that my GUI-based program doesn’t render frames over and over).
The issue I have is that when I click into the Panda3D window, the mouse clicks go straight to Panda’s IO queue - GTK doesn’t get a chance to handle it. It looks like Panda will handle the IO but only after the frame has been re-rendered. If I resize the window for example, I can see the handler fire off.
So, is it possible to peek at IO events that have been sent to a Panda window, or better to redirect them? Or is there another way to structure my program? I looked at creating the Panda window using a “callbackWindowDict”, since I thought that might help alleviate some of my issues, but I don’t quite understand how the “CallbackGraphicsWindow” callbacks are supposed to work.