<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Python and the GUI Separator]]></title><description><![CDATA[<p dir="auto">Hello, I found a dubious detail in the function GeDialog.AddSeparatorH()...</p>
<p dir="auto">The Python header shows the parameter list as<br />
<code>GeDialog.AddSeparatorH(self, inith, flags=BFH_FIT)</code><br />
But if you set <code>inith</code> to anything, the height of the separator stays the same... no effect at all. (Nevertheless it's a mandatory parameter.)<br />
In the parameter list below, that parameter suddenly becomes<br />
<code>initw (int) – Initial width.</code><br />
No <code>inith</code> is listed... but <code>initw</code> is <strong>not accepted</strong> as parameter.</p>
<p dir="auto">So I looked at the C++ documentation... and find <code>initw</code>:<br />
<code>initw	The initial width. Use SizePixChr() to set this value.</code></p>
<p dir="auto">The Python doc for <code>AddSeparatorV</code> contains an <code>initv</code> in both header and parameter list (I didn't check whether it has any effect) but an <code>inith</code> in the C++ docs.</p>
<p dir="auto">So, what is correct? And if <code>inith</code> is the only accepted parameter, why doesn't it do anything?</p>
<p dir="auto">(And not to be picky, but the Python doc screenshot snippet for <code>AddSeparatorV</code> shows the horizontal separator again. <img src="http://developers.maxon.net/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60a.png?v=0b8ddba251d" class="not-responsive emoji emoji-android emoji--blush" style="height:23px;width:auto;vertical-align:middle" title=":blush:" alt="😊" /> )</p>
]]></description><link>http://developers.maxon.net/forum/topic/13114/python-and-the-gui-separator</link><generator>RSS for Node</generator><lastBuildDate>Wed, 20 May 2026 17:44:47 GMT</lastBuildDate><atom:link href="http://developers.maxon.net/forum/topic/13114.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jan 2021 21:10:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Python and the GUI Separator on Fri, 04 Jun 2021 18:31:02 GMT]]></title><description><![CDATA[<p dir="auto">Good to hear, thanks!</p>
]]></description><link>http://developers.maxon.net/forum/post/66819</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/66819</guid><dc:creator><![CDATA[Cairyn]]></dc:creator><pubDate>Fri, 04 Jun 2021 18:31:02 GMT</pubDate></item><item><title><![CDATA[Reply to Python and the GUI Separator on Fri, 04 Jun 2021 14:21:38 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">Never say never!!</p>
<p dir="auto">I've fixed the issue you pointed out.</p>
<p dir="auto">About the AddChildren, I've modified the documentation so only ID are working. The parameter expected for that function is  a GadgetPtr  and not a wasn't a C4DGadget. GadgetPtr  isn't available in Python.</p>
<p dir="auto">BFV_CMD_EQUALCOLUMNS seems only used for CommandPaletteArea. You can define the palette direction vertical or horizontal. So, the symbol exists but can be ignore. (Its ID isn't the same than BFV_GRIDGROUP_EQUALCOLS)</p>
<p dir="auto">Cheers,<br />
Manuel</p>
]]></description><link>http://developers.maxon.net/forum/post/66816</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/66816</guid><dc:creator><![CDATA[Manuel]]></dc:creator><pubDate>Fri, 04 Jun 2021 14:21:38 GMT</pubDate></item><item><title><![CDATA[Reply to Python and the GUI Separator on Fri, 12 Mar 2021 12:22:38 GMT]]></title><description><![CDATA[<p dir="auto">hi,</p>
<p dir="auto">Just to keep you inform. This will be updated as soon as possible but i didn't got time to focus on that.<br />
It still on my desk.</p>
<p dir="auto">Cheers,<br />
Manuel</p>
]]></description><link>http://developers.maxon.net/forum/post/66076</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/66076</guid><dc:creator><![CDATA[Manuel]]></dc:creator><pubDate>Fri, 12 Mar 2021 12:22:38 GMT</pubDate></item><item><title><![CDATA[Reply to Python and the GUI Separator on Tue, 12 Jan 2021 20:28:23 GMT]]></title><description><![CDATA[<p dir="auto">@m_magalhaes said in <a href="https://developers.maxon.net/forum/post/65563" target="_blank" rel="noopener noreferrer nofollow ugc">Python and the GUI Separator</a>:</p>
<blockquote>
<p dir="auto">Of course, opportunity to have a better documentation is more than welcome.<br />
that allow us to track things and add them in our changelogs.</p>
</blockquote>
<p dir="auto">okay... (everything here is for the <strong>Python doc page for GeDialog</strong>, unless specified differently)</p>
<ul>
<li>
<p dir="auto">The first one would be a line that I <em>believe</em> to be erroneous but maybe there's a secret functionality behind it that I don't get: Both <code>GeDialog.AddRadioButton</code> and <code>GeDialog.AddRadioText</code> have the note <strong>Used with radio groups created with AddRadioGroup().</strong> However, there is no way to connect these controls with a radio group. Radio groups only accept <code>AddChild</code> entries, and <code>AddChild</code> cannot refer another control as subid. (<strong>id</strong> can be a <code>C4DGadget</code> but <strong>subid</strong> can <em>not</em>.) The calls AddRadioButton/Text do not allow to specify a radio group as parent. So, unless there is an undocumented trick, this note may be wrong.<br />
(To use RadioButton and RadioText, I handle the clicks myself in the Command method, and deselect the complementary controls.)</p>
</li>
<li>
<p dir="auto">The screenshot under <code>AddColorField</code> belongs actually to <code>AddColorChooser</code>.</p>
</li>
<li>
<p dir="auto">Not an error, but it would be nice to mention under <code>GeDialog.AddDlgGroup</code> that <code>DLG_OK</code> and <code>DLG_CANCEL</code> are not just the flags for type, but also serve as IDs for the buttons that can be evaluated in the Command method. I think it's unusual to have bitset flags at the same time as result integers (even in C4D: the <code>MessageDialog</code> has <code>GEMB_xxx</code> values as boole-combineable flags, but separate <code>GEMB_R_xxx</code> constants as results) so it bears mentioning.</p>
</li>
<li>
<p dir="auto"><code>GeDialog.AddSlider</code> tells us <strong>Adds a slider with an editable number field to the layout.</strong> which is apparently copied from <code>AddEditSlider</code>, as <code>AddSlider</code> does not have a number field.</p>
</li>
<li>
<p dir="auto"><code>GeDialog.AddChildren</code> - what's supposed to be in the <code>BaseContainer</code> bc? I originally assumed you could use it like this:</p>
</li>
</ul>
<pre><code>self.AddRadioGroup(ID_RADIO_MAIN, flags = c4d.BFH_LEFT, columns = 1)
r1 = self.AddRadioText(id=ID_RADIO_4, flags=c4d.BFH_SCALEFIT, name="A radio text")
r2 = self.AddRadioText(id=ID_RADIO_5, flags=c4d.BFH_SCALEFIT, name="Radio text 2")
r3 = self.AddRadioText(id=ID_RADIO_6, flags=c4d.BFH_SCALEFIT, name="RT3")
bc = c4d.BaseContainer()
bc.SetData(ID_RADIO_4, r1)
bc.SetData(ID_RADIO_5, r2)
bc.SetData(ID_RADIO_6, r3)
self.AddChildren(ID_RADIO_MAIN, bc)
</code></pre>
<p dir="auto">but <code>SetData</code> raises an error. As a <code>BaseContainer</code> is a C++ structure and r1 is a Python data, I come to doubt that would even be possible, so perhaps <code>AddChildren</code> is limited to ID / string combinations, which actually <em>do</em> work:</p>
<pre><code>self.AddRadioGroup(ID_RADIO_MAIN, flags = c4d.BFH_LEFT, columns = 1)
bc = c4d.BaseContainer()
bc.SetData(ID_RADIO_4, "Text1")
bc.SetData(ID_RADIO_5, "Text2")
bc.SetData(ID_RADIO_6, "Text3")
self.AddChildren(ID_RADIO_MAIN, bc)
</code></pre>
<p dir="auto">May be useful to document that explicitly. The C++ page for the same command also says nothing on the subject.</p>
<ul>
<li><code>GeDialog.GroupBegin</code> What is the difference between <em>BFV_GRIDGROUP_EQUALCOLS - Each column has the same width</em> and <em>BFV_CMD_EQUALCOLUMNS Columns have equal width</em> ? I couldn't get the second one to work. Deprecated?</li>
</ul>
<p dir="auto">Okay, that's what I noticed while working through the GeDialog page. I skipped a lot so there may be other open issues.</p>
]]></description><link>http://developers.maxon.net/forum/post/65564</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/65564</guid><dc:creator><![CDATA[Cairyn]]></dc:creator><pubDate>Tue, 12 Jan 2021 20:28:23 GMT</pubDate></item><item><title><![CDATA[Reply to Python and the GUI Separator on Tue, 12 Jan 2021 16:19:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/cairyn">@<bdi>Cairyn</bdi></a> said in <a href="https://developers.maxon.net/forum/post/65562" target="_blank" rel="noopener noreferrer nofollow ugc">Python and the GUI Separator</a>:</p>
<blockquote>
<p dir="auto">btw, there are multiple copy&amp;paste errors in the GeDialog doc, shall I send you some? Not serious enough for a full bug report, but.</p>
</blockquote>
<p dir="auto">Of course, opportunity to have a better documentation is more than welcome.<br />
that allow us to track things and add them in our changelogs.</p>
<p dir="auto">Cheers,<br />
Manuel</p>
]]></description><link>http://developers.maxon.net/forum/post/65563</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/65563</guid><dc:creator><![CDATA[Manuel]]></dc:creator><pubDate>Tue, 12 Jan 2021 16:19:47 GMT</pubDate></item><item><title><![CDATA[Reply to Python and the GUI Separator on Tue, 12 Jan 2021 16:16:10 GMT]]></title><description><![CDATA[<p dir="auto">Ah, I see, inith in AddSeparatorH is actually a width value, and since flags defaults to BFH_FIT, you cannot see any effect since the control adapts the full width. And since the function doesn't accept an initw or initv parameter, there is no height control at all.</p>
<p dir="auto">And since AddSeparatorV is calling up a horizontal line, I can't expect correct results anyway.</p>
<p dir="auto">Thanks for the info.<br />
(btw, there are multiple copy&amp;paste errors in the GeDialog doc, shall I send you some? Not serious enough for a full bug report, but...)</p>
]]></description><link>http://developers.maxon.net/forum/post/65562</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/65562</guid><dc:creator><![CDATA[Cairyn]]></dc:creator><pubDate>Tue, 12 Jan 2021 16:16:10 GMT</pubDate></item><item><title><![CDATA[Reply to Python and the GUI Separator on Tue, 12 Jan 2021 14:50:40 GMT]]></title><description><![CDATA[<p dir="auto">hi,</p>
<p dir="auto">i've openned a bug report for that and fixed it. It will be available in a next update of Cinema4D.</p>
<p dir="auto">By the way, the python function was calling AddSeparatorH. (even for sub dialog)<br />
I've modified the python documentation so it will reflect the c++ documentation.</p>
<p dir="auto">You should add some flags in order to have an expected result.</p>
<p dir="auto">this is the result of the following code:</p>
<pre><code>        self.AddSeparatorV(inith=30)
        self.AddSeparatorV(inith=150, flags=c4d.BFH_LEFT)
</code></pre>
<p dir="auto"><img src="https://developers.maxon.net/forum/assets/uploads/files/1610462879022-d2dd1f70-f796-48f5-9051-af0e19d96837-image.png" alt="d2dd1f70-f796-48f5-9051-af0e19d96837-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">I'm not sure if that make sense to have a vertical separation that still take the whole space in width. (because there's no flag.<br />
Also be careful at how flags are set for the group that receive those separators.</p>
<p dir="auto">Cheers,<br />
Manuel</p>
]]></description><link>http://developers.maxon.net/forum/post/65560</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/65560</guid><dc:creator><![CDATA[Manuel]]></dc:creator><pubDate>Tue, 12 Jan 2021 14:50:40 GMT</pubDate></item></channel></rss>