Combobox in Combobox in python
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 24/10/2012 at 03:41, xxxxxxxx wrote:
How to define a combobox in a combobox using Python?
See for example the Physical Sky > Time and Location > City GUI. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 24/10/2012 at 06:33, xxxxxxxx wrote:
Are you talking about having a popup menu displayed when we click on the combo?
If you take a look at the description of the Physical Sky ( modules\advanced render\sky\res\description\oskyshader.res ) you can see that the City combo is defined as:LONG SKY_POS_CITY_COMBO { PARENTCOLLAPSE; CUSTOMGUI SKY_II_CITYLIST; ANIM OFF; }
So you can see that it's made with custom gadget; unfortunately it's not possible to develop custom GUIs with the Python SDK, only in C++.
Or are talking about the collapsing of City parameter?
In its declaration you can see PARENTCOLLAPSE flag and Time Zone attribute is declared with PARENTCOLLAPSE SKY_POS_CITY_COMBO to tell CINEMA his collapse parent:LONG SKY_POS_TIMEZONE { PARENTCOLLAPSE SKY_POS_CITY_COMBO; CYCLE { SKY_POS_TZ_OS; SKY_POS_TZ_CUSTOM; } }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 24/10/2012 at 06:54, xxxxxxxx wrote:
What I mean is that like the City comboboxx in the Physical Sky, first select the continent, that displays another combobox with all countries on that continent.
Then select a country, that displays all cities in that country.I'm sorry, I do not understand what you mean with "collapsing of City parameter"?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 24/10/2012 at 07:27, xxxxxxxx wrote:
Originally posted by xxxxxxxx
What I mean is that like the City comboboxx in the Physical Sky, first select the continent, that displays another combobox with all countries on that continent.
Then select a country, that displays all cities in that country.This is a dynamic popup menu calculated by the custom GUI.
Originally posted by xxxxxxxx
I'm sorry, I do not understand what you mean with "collapsing of City parameter"?
I'm referring to the parameters that you can show or hide below City parameter.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 24/10/2012 at 12:02, xxxxxxxx wrote:
Ok, clear.
Do you have an example of such a popup menu?Sorry, I see you just told me
"unfortunately it's not possible to develop custom GUIs with the Python SDK, only in C++." -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 25/10/2012 at 03:30, xxxxxxxx wrote:
Originally posted by xxxxxxxx
Ok, clear.
Do you have an example of such a popup menu?Sorry, I see you just told me
"unfortunately it's not possible to develop custom GUIs with the Python SDK, only in C++."No, I just said that we can't build custom gadgets in Python but we can of course create dynamic popup menus.
Here's an example of a recursive popup dialog:import c4d from c4d import gui def BuildMenuRecursive(menu, level, maxlevel) : offset = 10*level menu.SetString(c4d.FIRST_POPUP_ID+offset, 'Item '+str(offset+1)) menu.SetString(c4d.FIRST_POPUP_ID+offset+1, 'Item '+str(offset+2)) level += 1 if level==maxlevel: menu.SetString(c4d.FIRST_POPUP_ID+offset+2, 'Item '+str(offset+3)) else: submenu = c4d.BaseContainer() submenu.SetString(1, 'Item '+str(offset+3)) BuildMenuRecursive(submenu, level, maxlevel) menu.SetContainer(c4d.FIRST_POPUP_ID+offset+2, submenu) menu.SetString(c4d.FIRST_POPUP_ID+offset+3, 'Item '+str(offset+4)) # Build main menu recursively # With a maximum of 5 menus menu = c4d.BaseContainer() BuildMenuRecursive(menu, 0, 5) # Show popup dialog result = gui.ShowPopupDialog(cd=None, bc=menu, x=300, y=300) print result
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/10/2012 at 16:11, xxxxxxxx wrote:
Thanks, I'll give it a try.