Combo Box



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

    On 04/03/2006 at 11:21, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   9.5 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    Hi everyone!
    My question is simple but I have worked on it during a long time!
    How do we add a Combo Box in the Attribute Manager of a Plugin of type ObjectData.  I have tried to put this code in the resource (.res) :
    COMBOBOX ID_COMB
      {
       ALIGN_TOP; ALIGN_LEFT; SIZE 150, 0;
       CHILDS
       {
        ID_COMB1, IDS_COMB1;
        ID_COMB2, IDS_COMB2;
       }
      }
    where ID_COMB1,ID_COMB2 are defined in c4d_symbols.h and IDS_COMB1 and IDS_COMB2 in the file .str related to my Plugin as
    STRINGTABLE Omyplugin
    {
    IDS_COMB1 "Comb1";
    IDS_COMB2 "Comb2";
    }
    and Cinema4d does not load all the Attribute Manager because there is an error in the file .res.
    I have also tried to use the function
    int GetDDescription(GeListNode * node, Description * description, LONG & flags)
    but I do'nt know which type of CUSTOMGUI use with "DESC_CUSTOMGUI" for a Combo Box : it is not CUSTOMGUI_STRING...



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

    On 04/03/2006 at 11:45, xxxxxxxx wrote:

    Again, the Attribute Manager and GeDialog resources are not interchangeable. I think that it is time that this is made clear in the documentation (hint, hint, nudge, nudge). :)

    This is the resource structure for 'Combobox' in the A.M.:

      
    LONG          DIALGROUP_INTERFACE  
    {  
         ANIM OFF;  
         CYCLE  
         {  
              DGINTERFACE_REAL;  
              DGINTERFACE_REALSLIDER;  
              DGINTERFACE_REALSLIDERONLY;  
         }  
    }  
    

    Note that for AM resources, they are not defined in c4d_symbols.h, but in a description .res file for the particular plugin object. This is all outlined in the documentation.

    Note also that Strings for these are defined to the direct IDs and not like dialogs that use GeLoadString() :

      
    STRINGTABLE Tippdialgroup  
    {  
         Tippdialgroup                    "interPoserPro DialGroup Tag";  
         DGINTERFACE_REAL               "Float";  
         DGINTERFACE_REALSLIDER          "Float Slider";  
         DGINTERFACE_REALSLIDERONLY     "Float Slider (No Editfield)";  
         DIALGROUP_INTERFACE               "User Interface";  
    }  
    

    Don't need GetDDescription() for descriptions defined in resources, only for dynamically added descriptions (remembering to follow the examples and load the resources there if this method is used).

    HTH,



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

    On 05/03/2006 at 03:36, xxxxxxxx wrote:

    Ok, thanks a lot.  It works!


Log in to reply