THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 22/03/2011 at 20:39, xxxxxxxx wrote:
Is it possible to get/set the value of an item in the C4D Preferences dialog?
I've been trying several things but haven't had success.
Thanks in advance for the help!
On 22/03/2011 at 23:32, xxxxxxxx wrote:
I know it's possible for the OpenGL settings but maybe not for all of the prefs items.
Try dragging a prefs dialog entry (the label of a checkbox, the label before a combo box etc.) to the Python console it should give you the name of the description ID.
On 24/03/2011 at 08:34, xxxxxxxx wrote:
Thanks for the reply!
I did manage to grab the settings from c4d.GetWorldContainer()
This seems to give me the items I need in a basecontainter however,
I can't tell what ID corresponds to what item in the preferences dialog.
When I drag the item to the console, the ID I get is very different from what
the c4d.GetWorldContainer() gives me. The only ID I can match up is the Port
item under Communication. I am able to set/get mainly because the number 8080
is easy to pick out.
Not sure if I'm going about it the right way.
On 24/03/2011 at 14:05, xxxxxxxx wrote:
If you are looking for ways to find IDs, additionally to the mentioned drag & drop support you can do the following:
in the Python console line, enter
import c4d; print dir(c4d)
then inspect the output.
Since all symbols are now part of the main c4d module the dir() python function will show them all to you.
And I mean all, including IDs defined in Plugins and other (CINEMA 4D) modules.
And then theres the API search method:
There are some some header files included with the CINEMA 4D C++ SDK that give you direct insight into additional symbol names. These were mostly relevant for COFFEE and C++ put Python SDK being coded on top of the COFFEE API you can directly relate to the symbol names in Python.
In your MAXON/CINEMA 4D R12/resource folder, take a look at the files coffeesymbols.h and c4d_symbols.h. Also in that folder take a look around the sub folder modules/modeling/res/description, thats where the header files with symbols for modeling tools for example are stored. And you can also take a peek at other module folders. Just don't relocate, remove or change anything.
On 24/03/2011 at 17:18, xxxxxxxx wrote:
@990adjustments: I also recommend you the C++ documentation which contains several additional information for such specific questions.
On 24/03/2011 at 22:19, xxxxxxxx wrote:
Thank you gentlemen for the help and tips! Truly appreciate it!
Got what I needed working.
I had previously gone through the header files and thought I had found the correct IDs but having gone through them again I found the right ones.
Now my last question and this is were I was getting confused. When dragging an item from the prefs window, the description ID I was getting was different then the one that is actually required.
For instance if you drag port item from the communication section you get PREF_INTERNET_UPDATEPORT. The ID in the header file says 1002. Trying to set the value was not working. What I actually needed was WPREF_ONLINEUPDATER_PROXYPORT which has an ID of 40009. This gave me the desired results. Am I misunderstanding this?
Thanks AndreB, examining the output from dir() helped me locate the correct description.
Once again, thank you for the input. Thank you s_rath, I will definitely dig a little deeper into the C++ docs.