<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: wxPython in XSI</title>
	<atom:link href="http://www.softimageblog.com/archives/138/feed" rel="self" type="application/rss+xml" />
	<link>http://www.softimageblog.com/archives/138</link>
	<description>People and thoughts behind Softimage in production...</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:59:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>By: Steven Caron</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-15097</link>
		<dc:creator>Steven Caron</dc:creator>
		<pubDate>Thu, 26 Apr 2007 20:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-15097</guid>
		<description>just sharing a blogger&#039;s comments on wxPython being programmed as if was java, causing it to be slow...

http://dirtsimple.org/2004/12/python-is-not-java.html</description>
		<content:encoded><![CDATA[<p>just sharing a blogger&#8217;s comments on wxPython being programmed as if was java, causing it to be slow&#8230;</p>
<p><a href="http://dirtsimple.org/2004/12/python-is-not-java.html" rel="nofollow">http://dirtsimple.org/2004/12/python-is-not-java.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ana</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-14738</link>
		<dc:creator>Ana</dc:creator>
		<pubDate>Fri, 16 Mar 2007 13:45:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-14738</guid>
		<description>It haven&#039;t worked. Anyway, thanks. 
Application is visible in the constructor but not in the run function. And if i pass globals to the constructor and i save it as an attribute of the class, when i try to get the element Application from this attribute in the run function it returns None.
I&#039;ll keep trying and i want to try another solution without threads.</description>
		<content:encoded><![CDATA[<p>It haven&#8217;t worked. Anyway, thanks.<br />
Application is visible in the constructor but not in the run function. And if i pass globals to the constructor and i save it as an attribute of the class, when i try to get the element Application from this attribute in the run function it returns None.<br />
I&#8217;ll keep trying and i want to try another solution without threads.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Boucher</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-14737</link>
		<dc:creator>Patrick Boucher</dc:creator>
		<pubDate>Fri, 16 Mar 2007 12:51:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-14737</guid>
		<description>Ana:
I&#039;m not familiar with XSI on Linux nor pyGTK but you could try passing the result of the globals() function to your new thread&#039;s constructor. The Application object and it&#039;s siblings are defined in the script editor&#039;s global scope so, especially if your thread is defined in an external module that you import, your thread might not have access to the appropriate scope.</description>
		<content:encoded><![CDATA[<p>Ana:<br />
I&#8217;m not familiar with XSI on Linux nor pyGTK but you could try passing the result of the globals() function to your new thread&#8217;s constructor. The Application object and it&#8217;s siblings are defined in the script editor&#8217;s global scope so, especially if your thread is defined in an external module that you import, your thread might not have access to the appropriate scope.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ana</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-14736</link>
		<dc:creator>Ana</dc:creator>
		<pubDate>Fri, 16 Mar 2007 11:24:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-14736</guid>
		<description>Hi! I&#039;m trying to make a window with pygtk on linux. The problem is that the main loop event blocks XSI so i&#039;ve created a thread with the event loop. But the thread doesn&#039;t see the XSI sdk  (it can&#039;t see Application and so on). What do i have to do to create the thread?</description>
		<content:encoded><![CDATA[<p>Hi! I&#8217;m trying to make a window with pygtk on linux. The problem is that the main loop event blocks XSI so i&#8217;ve created a thread with the event loop. But the thread doesn&#8217;t see the XSI sdk  (it can&#8217;t see Application and so on). What do i have to do to create the thread?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Agedito</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-12365</link>
		<dc:creator>Agedito</dc:creator>
		<pubDate>Tue, 23 Jan 2007 01:58:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-12365</guid>
		<description>is not there an Win64 version?</description>
		<content:encoded><![CDATA[<p>is not there an Win64 version?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andre De Angelis</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-11556</link>
		<dc:creator>Andre De Angelis</dc:creator>
		<pubDate>Sat, 13 Jan 2007 22:40:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-11556</guid>
		<description>Very interesting post Aloys.  I was curious to try this approach, but until now, hadn&#039;t heard of anyone doing it from within XSI.

Much appreciated.</description>
		<content:encoded><![CDATA[<p>Very interesting post Aloys.  I was curious to try this approach, but until now, hadn&#8217;t heard of anyone doing it from within XSI.</p>
<p>Much appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christopher Crouzet</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-11344</link>
		<dc:creator>Christopher Crouzet</dc:creator>
		<pubDate>Fri, 12 Jan 2007 09:15:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-11344</guid>
		<description>The problem I had with the XSI look were some interactions issues with widgets like the grid. I don&#039;t remember what exactly, but it was some annoying problems like as clicking two times in a cell to edit it&#039;s value, or when editing the value the text was white with a white background, ...
I didn&#039;t used any thread with wx, because the main loop event was correctly handled by XSI. I just had to create a thread for Qt.</description>
		<content:encoded><![CDATA[<p>The problem I had with the XSI look were some interactions issues with widgets like the grid. I don&#8217;t remember what exactly, but it was some annoying problems like as clicking two times in a cell to edit it&#8217;s value, or when editing the value the text was white with a white background, &#8230;<br />
I didn&#8217;t used any thread with wx, because the main loop event was correctly handled by XSI. I just had to create a thread for Qt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aloys Baillet</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-11314</link>
		<dc:creator>Aloys Baillet</dc:creator>
		<pubDate>Thu, 11 Jan 2007 23:36:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-11314</guid>
		<description>Plenty of questions here!

Kim: unfortunately those complex widget are not easy to find... with some work you could use the OGL module of wxPython, it does not look really good, but it&#039;s an editable graph.
For the display only of graphs, you could use the graphviz python library called pydot: http://dkbza.org/pydot.html

Julien: yes wxWindows in C++ should be straightforward to use inside XSI. I wanted a easy to use solution with wxPython only, that&#039;s why I didn&#039;t even try wxWindows.
What should be possible as well is to use a combination of wxWindows and embedded wxPython.

Christopher: I like the fact that the widget are &quot;XSI-like&quot;, I think it would be less disruptive for the user. I just tried the SuspendWin32ControlsHook trick, and it works!
The problem if you use a different thread to run your GUI is that you will sure get into a dead lock at some point and get a crash, as the XSI SDK is not thread-safe.
The way I start the wxFrame makes it completely integrated with the XSI event loop and unless you don&#039;t play too much with wxThread, wxPython in XSI should be crash-free.

Patrick: Thanks for the plugin link!
I was using the exact same technique to redirect stdout and stderr in XSI 4.2, but I ended up removing that after some weird failure of automated XSI jobs on the farm... The fact that XSI 5.11 was giving us that for free was a good thing that we lost in XSI 6, Luc-Eric tried to bring it back for us, but it was not possible.

Luc-Eric: Thanks for the trick, it seems to work perfectly!
I created a C++ command to enable disable the Win32ControlsHook that I call before and after creating wxPython widgets.
But I must confess I prefer the rounded buttons... Do you know if it&#039;s possible to use the rounded text controls from wx?</description>
		<content:encoded><![CDATA[<p>Plenty of questions here!</p>
<p>Kim: unfortunately those complex widget are not easy to find&#8230; with some work you could use the OGL module of wxPython, it does not look really good, but it&#8217;s an editable graph.<br />
For the display only of graphs, you could use the graphviz python library called pydot: <a href="http://dkbza.org/pydot.html" rel="nofollow">http://dkbza.org/pydot.html</a></p>
<p>Julien: yes wxWindows in C++ should be straightforward to use inside XSI. I wanted a easy to use solution with wxPython only, that&#8217;s why I didn&#8217;t even try wxWindows.<br />
What should be possible as well is to use a combination of wxWindows and embedded wxPython.</p>
<p>Christopher: I like the fact that the widget are &#8220;XSI-like&#8221;, I think it would be less disruptive for the user. I just tried the SuspendWin32ControlsHook trick, and it works!<br />
The problem if you use a different thread to run your GUI is that you will sure get into a dead lock at some point and get a crash, as the XSI SDK is not thread-safe.<br />
The way I start the wxFrame makes it completely integrated with the XSI event loop and unless you don&#8217;t play too much with wxThread, wxPython in XSI should be crash-free.</p>
<p>Patrick: Thanks for the plugin link!<br />
I was using the exact same technique to redirect stdout and stderr in XSI 4.2, but I ended up removing that after some weird failure of automated XSI jobs on the farm&#8230; The fact that XSI 5.11 was giving us that for free was a good thing that we lost in XSI 6, Luc-Eric tried to bring it back for us, but it was not possible.</p>
<p>Luc-Eric: Thanks for the trick, it seems to work perfectly!<br />
I created a C++ command to enable disable the Win32ControlsHook that I call before and after creating wxPython widgets.<br />
But I must confess I prefer the rounded buttons&#8230; Do you know if it&#8217;s possible to use the rounded text controls from wx?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christopher Crouzet</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-11293</link>
		<dc:creator>Christopher Crouzet</dc:creator>
		<pubDate>Thu, 11 Jan 2007 16:56:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-11293</guid>
		<description>Yes Luc-Eric, I tried this but the result was really weird because wxWidgets didn&#039;t used any GUI, not even the Windows one.

Thank you for your answer.</description>
		<content:encoded><![CDATA[<p>Yes Luc-Eric, I tried this but the result was really weird because wxWidgets didn&#8217;t used any GUI, not even the Windows one.</p>
<p>Thank you for your answer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luc-Eric</title>
		<link>http://www.softimageblog.com/archives/138/comment-page-1#comment-11291</link>
		<dc:creator>Luc-Eric</dc:creator>
		<pubDate>Thu, 11 Jan 2007 16:24:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.xsi-blog.com/archives/138#comment-11291</guid>
		<description>You can turn off the subsclassing of controls by XSI during the creation of your window.  Look up SuspendWin32ControlsHook  in the XSI SDK</description>
		<content:encoded><![CDATA[<p>You can turn off the subsclassing of controls by XSI during the creation of your window.  Look up SuspendWin32ControlsHook  in the XSI SDK</p>
]]></content:encoded>
	</item>
</channel>
</rss>

