I read somewhere (sorry, forgot the link) that just doing a Xreparent
alone won't work and you will need to do more. I am guessing that the
Windows SetParent method also processes all child windows???
I think this was mentioned a long time before and a python example was
shown. Anyway, the idea was to use Softimage's timer event to process
events every 30ms or so. You can have the event muted by default and
turn it on/off whenever needed. This has worked so far. I'm sure that
you can use X to do the processEvents which is probably the ideal way
but will need to do more reading and research.
Here's the cpp code for the Event timer:
SICALLBACK
QtApplication_Timer_OnEvent( CRef & in_ctxt )
{
if(qApp)
{
QApplication *app = (QApplication *)QApplication::instance();
app->processEvents();
app->sendPostedEvents(NULL, QEvent::DeferredDelete );
}
return 1;
}
Michor
On 23/01/2013 02:33, ran sariel wrote:
Hi Steven
Tried the reparent method for X and managed to compile and link it on
centos6.2,
the app and widget are created on the plugin side, the anchor is
parented to the app handle (or at least doesn't tell me that it's failing)
The thing is that the "show" method doesn't raise the dialog that I
create and parent to the "anchor" widget.
I still need to figure out how to implement the listener function on
X, (wasn't sure if it was needed just to get the dialog to show...),
hoping that this will lead to the same behavior you have on Windows.
let me know if you have any insights on this one.
Cheers
Ran
On Fri, Jan 18, 2013 at 5:26 PM, Steven Caron <[email protected]
<mailto:[email protected]>> wrote:
well i think you might need to use the os specific function for
parenting, otherwise we would have used the Qt method. if there is
a Qt method for parenting then i might handle the platform for us
and make the code work on both operating systems. but i think you
will need to use the os specific function call, which i linked to
in the email.
you are correct about the plugin's design, use cpp to setup the
application and a dummy widget that you return to scripting. all
subsequent widgets are parented to (in python) using the return value.
s
On Fri, Jan 18, 2013 at 5:12 PM, ran sariel <[email protected]
<mailto:[email protected]>> wrote:
so you're creating the app on the plugin, and create a "dummy
widget" (sianchor) , as a child of xsi main window.
and from there on any widget you create is parented under
siacnchor.
I believe the return of getApplicationWindowHandle on linux is
an x window,
there should be a way in qt to parent a widget to x window, -
never used it though, Will take a look on Monday, and see if I
can make any progress there.