WorldContainer Color

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 10:53, xxxxxxxx wrote:

Hi,

where can i find the string identifiers for the interface color preferences in the world 
container ? they seem to be in an 10000ish id range, but i couldn't find the string 
identifiers in the ressource folder, nor any thread pointing me into the right direction.

ps : i am aware of the GetColorRGB() methods.

thanks,

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 11:26, xxxxxxxx wrote:

They're in the c4d_symbols.h file
path = Your cinema4d version\resource\c4d_symbols.h

Example:
IDS_COLOR_TEXT_TAB_ACTIVE = 17449

I got the ID number using V.S.
When .h files are opened in Visual Studio. The id number is shown when hovering the mouse over them.

-ScottA

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 12:08, xxxxxxxx wrote:

hm,

i found these too, should have mentioned that. however these do not work in conjunction with
the BaseContainer returned by c4d.GetWorldContainer(). I am / was also a bit confused by their
naming idS_SOMETHING, shouldn't it be idC_SOMETHING for the IDs, because the IDS prefix is
for interface strings ?

could you provide a working example on how to use this ID to get the color vector ?

bc = c4d.GetWorldContainer()
id = c4d.IDS_COLOR_TEXT_TAB_ACTIVE
print bc[id]

this doesn't work, c4d cannot resolve the id.

bc = c4d.GetWorldContainer()
print bc[17449]

this does work, but the content is none. which is not a suprise, because as i said in my first 
post, i printed the WorldContainer to the console and the color vectors seem to range from
10007 to 10065.

WorldContainer Link

edit : i also tried to 'eyeball' mtach these ids to the colors in the dialog, some are machting,
other do not make any sense, they seem to be in a diffrent order than the colors in the dialog.

thanks for your help,

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 13:55, xxxxxxxx wrote:

I think MAXON changed the access to the prefs. somewhere around R12 or R13.

This an example how to change the Bubble help preference option:

import c4d  
from c4d import plugins  
def main() :      
  bblhelp = plugins.FindPlugin(465001620, c4d.PLUGINTYPE_PREFS) #The Interface prefs heading   
  bblhelp[c4d.PREF_INTERFACE_BUBBLE]=True                       #The show bubble help option  
  
if __name__=='__main__':  
  main()

The #465001620 stands for the Interface heading. AFAIK they don't have text ID's yet.
So the next heading of prefs (Input Devices) will be 465001621...and so on.

Knowing this. We can get into one of the three Scheme colors headings.
This example gets the Editor colors inside that section of the prefs

import c4d  
from c4d import plugins  
def main() :      
    
  color = plugins.FindPlugin(465001640, c4d.PLUGINTYPE_PREFS)  #The Editor Colors prefs heading  
  print color  
  #Now you have to find the ID's for the colors..Background, Film format, etc..I don't know where they are  
  
if __name__=='__main__':  
  main()

I looked around for the color ID's but I couldn't find them.
They are buried in the C4D file system somewhere. But I don't know where yet.
I'd like to know where they are too.

#Edit- I found them in ge_prepass.h. But they don't seem to work. No idea why.
 
-ScottA

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 16:10, xxxxxxxx wrote:

Originally posted by xxxxxxxx

import c4d
from c4d import plugins  
def main() :      
    
  color = plugins.FindPlugin(465001640, c4d.PLUGINTYPE_PREFS)  #The Editor Colors prefs heading  
  print color  
  #Now you have to find the ID's for the colors..Background, Film format, etc..I don't know where they are  
 
if __name__=='__main__':  
  main()

I looked around for the color ID's but I couldn't find them.
They are buried in the C4D file system somewhere. But I don't know where yet.
I'd like to know where they are too.

#Edit- I found them in ge_prepass.h. But they don't seem to work. No idea why.
 
-ScottA

GeListNode.GetData() returns for the plugin :

----------------------------------------------------------------------------------------------------
<c4d.BaseContainer object at 0x0000000012169D50>
           > id: 700, val: 10000050
           > id: 701, val: 0

but i found the interface ids (ge_prepass contains the viewport ids, plus i am not sure if that 
are actually ids, looks more like an enum for internal use).

the interface color ids are defined at \resource\_api\c4d_colors.h quite obvious isn't it ^^
however these ids doesn't match the ids in the worldcontainer. 😂

edit:

pretty ugly, but it works, you can use alle the ids listed in c4d_colors.h with GetColorRGB()

colorContainer = gui.GeUserArea()
myColor = colorContainer.GetColorRGB(c4d.COLOR_TEXT_DISABLED)

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 18:48, xxxxxxxx wrote:

Originally posted by xxxxxxxx

i found the interface ids (ge_prepass contains the viewport ids, plus i am not sure if that 
are actually ids, looks more like an enum for internal use).

The defined ID's in the ge_prepass file are just the C++ way to create a constant variable.
It's sort of old fashioned. And I think it actually comes from the C language if I remember correctly.
It's just an old fashioned way to assign a constant value to a variable.
 
This is how to use them to change the view preferences.
Using this item from the ge_prepass.h file:     #define VIEWCOLOR_C4DBACKGROUND      0

    BG = c4d.GetViewColor(c4d.VIEWCOLOR_C4DBACKGROUND)               #Gets the current background color value  
  print BG  
  c4d.SetViewColor(c4d.VIEWCOLOR_C4DBACKGROUND,c4d.Vector(1,0,0))  #Changes the Background color to Red  
  c4d.EventAdd()

#Note: The icon in the preferences will not reflect the changes until C4D is closed and re-launced

-ScottA

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 22/12/2012 at 22:23, xxxxxxxx wrote:

hey,

thanks for your reply, i do not want to sound rude or something, i am always eager to learn,
but just for clarification : i was just looking for the interface colors, or more specificly for
the disabled text color. so my problem is kind of solved with my last posting. not sure why you are
always talking about viewport stuff. meh, language barriers 😂. i constantly feel misunderstood
in english speaking forums .

merry christmas,
ferdinand

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/12/2012 at 08:26, xxxxxxxx wrote:

Nah. Not really a language problem.
It was just my misunderstanding of what you were trying to do.

-ScottA