<?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[How to add tabs to tool plugins.]]></title><description><![CDATA[<p dir="auto">I want to use groups UI in ToolData plugins is resource file( or in codes maybe ), but I didn't figure out witch us the right flag.</p>
<p dir="auto">Still, I can not upload images, but please see selection tool, it has <code>option</code> / <code>axis</code> / <code>soft selection</code> groups.</p>
<p dir="auto">How can I do this?</p>
<p dir="auto">Cheers~<br />
DunHou</p>
]]></description><link>http://developers.maxon.net/forum/topic/16411/how-to-add-tabs-to-tool-plugins.</link><generator>RSS for Node</generator><lastBuildDate>Tue, 19 May 2026 16:54:04 GMT</lastBuildDate><atom:link href="http://developers.maxon.net/forum/topic/16411.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 May 2026 19:55:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to How to add tabs to tool plugins. on Tue, 19 May 2026 07:46:06 GMT]]></title><description><![CDATA[<p dir="auto">You very likely have not unpacked your resources. The resource folder found in an installation only contains a part of the application resources (we are doing this since release 2023 if I remember correctly). A good portion of the resources sits inside <code>resource.zip</code> for performance reasons and is unpacked on demand. You can just unpack the <code>resource.zip</code> into you resource folder without an performance or stability issues.</p>
<p dir="auto"><img src="/forum/assets/uploads/files/1779175199591-b8e8db94-ae20-42b4-9a5d-e92ac928e89d-image.png" alt="b8e8db94-ae20-42b4-9a5d-e92ac928e89d-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">You as an MRD can also look at the Bugslife client, as it is probably the better example, as it uses more features of the quick tab GUI. But my answer above was targeted at a general audience who can see the resources for Bugslife  but not Bugslife itself, and it therefore is not a good example for them. Just grep the resource folder as I did in my screen for files that match the path <code>dialogs/*.res</code> (i.e., are res files for dialogs) and contain the word <code>QUICKTAB</code>.</p>
<p dir="auto">Cheers,<br />
Ferdinand</p>
]]></description><link>http://developers.maxon.net/forum/post/77164</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/77164</guid><dc:creator><![CDATA[ferdinand]]></dc:creator><pubDate>Tue, 19 May 2026 07:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to How to add tabs to tool plugins. on Tue, 19 May 2026 03:14:01 GMT]]></title><description><![CDATA[<p dir="auto">It works! Thanks!</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ferdinand">@<bdi>ferdinand</bdi></a> said in <a href="/forum/post/77162">How to add tabs to tool plugins.</a>:</p>
<blockquote>
<p dir="auto">Unlike for node description resources, custom GUIs are not indicated as SOME_DATA_TYPE { CUSTOMGUI SOME_CUSTOM_GUI; ... } in dialog resources but always as their own data type (don't ask me why).</p>
</blockquote>
<p dir="auto">Hahaha, this is really strange. The first thing I tried was CUTOMGUI SOME_CUSTOM_GUI. This is what I got with Agent Ransack...</p>
<p dir="auto">One more thing, I couldn't find the <code>idd_uv_map.res</code> file in the image in the local resources. Is it already embedded without displaying the source code.</p>
<p dir="auto">Cheers~<br />
DunHou</p>
]]></description><link>http://developers.maxon.net/forum/post/77163</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/77163</guid><dc:creator><![CDATA[Dunhou]]></dc:creator><pubDate>Tue, 19 May 2026 03:14:01 GMT</pubDate></item><item><title><![CDATA[Reply to How to add tabs to tool plugins. on Mon, 18 May 2026 18:35:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/dunhou">@<bdi>Dunhou</bdi></a>, there are multiple cases of quick tab dialog resource file definitions. For example the UV manager.</p>
<p dir="auto"><img src="/forum/assets/uploads/files/1779127861991-a48a637e-19cc-4bf3-b8f6-7945e10d6e3c-image-resized.png" alt="a48a637e-19cc-4bf3-b8f6-7945e10d6e3c-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Unlike for node description resources, custom GUIs are not indicated as <code>SOME_DATA_TYPE { CUSTOMGUI SOME_CUSTOM_GUI; ... }</code> in dialog resources but always as their own data type (don't ask me why).</p>
<p dir="auto">edit: And in case this is unclear - the quick tab GUI gives you really only a quick tab GUI. You have to create multiple groups and hide/show them on your own using <a href="https://developers.maxon.net/docs/py/2026_2_0/modules/c4d.gui/GeDialog/index.html#GeDialog.HideElement" target="_blank" rel="noopener noreferrer nofollow ugc">GeDialog.HideElement</a> - based on the selection state of the quick tab. The native dialog tab groups automate this for you, but are unfortunately not the commonly used tab GUI anymore. So, when you want the 'modern' look, you have to do the little bit of extra work of managing the visibility of groups yourself.</p>
]]></description><link>http://developers.maxon.net/forum/post/77162</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/77162</guid><dc:creator><![CDATA[ferdinand]]></dc:creator><pubDate>Mon, 18 May 2026 18:35:14 GMT</pubDate></item><item><title><![CDATA[Reply to How to add tabs to tool plugins. on Mon, 18 May 2026 16:17:53 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for your detailed answer <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ferdinand">@<bdi>ferdinand</bdi></a><br />
I do know quicktab, but I didn't find its symbol in res file, seems I can only make it works in python codes.</p>
<p dir="auto">I also agree it is bit strange to use sculpt plugins.</p>
<p dir="auto">Cheers~<br />
DunHou</p>
]]></description><link>http://developers.maxon.net/forum/post/77160</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/77160</guid><dc:creator><![CDATA[Dunhou]]></dc:creator><pubDate>Mon, 18 May 2026 16:17:53 GMT</pubDate></item><item><title><![CDATA[Reply to How to add tabs to tool plugins. on Mon, 18 May 2026 10:30:28 GMT]]></title><description><![CDATA[<p dir="auto">Hey <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/dunhou">@<bdi>Dunhou</bdi></a>,</p>
<p dir="auto">Thank you for reaching out to us. There are two tool plugin types in the Cinema API, <a href="https://developers.maxon.net/docs/cpp/2026_2_0/classcinema_1_1_tool_data.html" target="_blank" rel="noopener noreferrer nofollow ugc">ToolData</a> and <a href="https://developers.maxon.net/docs/cpp/2026_2_0/classcinema_1_1_description_tool_data.html" target="_blank" rel="noopener noreferrer nofollow ugc">DescriptionToolData</a>. The former uses dialogs to create the tool UI, the latter uses descriptions and therefore shares the description logic of top level groups being turned into tabs. Almost all native tools inside Cinema 4D are these days <code>DescriptionToolData</code> hooks, including the selection tool. So, they are not the same thing as your plugin.</p>
<p dir="auto">When you want tabs in a dialog, you have to create them yourself with either <a href="https://developers.maxon.net/docs/py/2026_2_0/modules/c4d.gui/GeDialog/index.html#GeDialog.TabGroupBegin" target="_blank" rel="noopener noreferrer nofollow ugc">GeDialog.TabGroupBegin</a> (which is not the same kind of tabs as used by descriptions) or <a href="https://developers.maxon.net/docs/py/2026_2_0/modules/c4d.gui/BaseCustomGui/QuickTabCustomGui/index.html" target="_blank" rel="noopener noreferrer nofollow ugc">CUSTOMGUI_QUICKTAB</a> (which is the tab type used by descriptions). <code>DescriptionToolData</code> does not exist in the Python API. One of my colleagues always says that you can use <a href="https://developers.maxon.net/docs/py/2026_2_0/modules/c4d.plugins/BaseData/SculptBrushToolData/index.html" target="_blank" rel="noopener noreferrer nofollow ugc">SculptBrushToolData</a> which is indeed wrapped for the Python API and a subtype of <code>DescriptionToolData</code> but I am personally not a big fan of implementing sculpting tools in such hacky manner as non-sculpting tools, just to get the benefits of <code>DescriptionToolData</code>.</p>
<p dir="auto">Cheers,<br />
Ferdinand</p>
]]></description><link>http://developers.maxon.net/forum/post/77159</link><guid isPermaLink="true">http://developers.maxon.net/forum/post/77159</guid><dc:creator><![CDATA[ferdinand]]></dc:creator><pubDate>Mon, 18 May 2026 10:30:28 GMT</pubDate></item></channel></rss>