BitmapButtons



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

    On 16/02/2003 at 09:17, xxxxxxxx wrote:

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

    ---------
    I add BitmapButtons to my ObjectPlugin (as in morphmixer example). I am using a bitmapbutton in another objectplugin already (like the example Mikael once posted here in the forum), this works fine, no problems.
    But when I add bitmapbuttons I never get a message of type MSG_DESCRIPTION_GETBITMAP, so there is no picture in the button.
    Here is some code of my plugin:

        
        
        
        
        Bool TreelibData::GetDParameter(GeListNode* node, const DescID& id, GeData& t_data, LONG& flags)  
        { 
        
        
        
        
         BaseContainer *vdata = ((BaseObject* )node)->GetDataInstance();
        
        
        
        
          for(LONG i=0;i<vdata->GetLong(TREEGEN_IDC)+1;i+=2) 
        
        
        
        
          {  
           if(id[0].id==i)   
           {  
              
            PluginMaterial *mat = (PluginMaterial* )node;  
            LONG dirty = 0;     
            BitmapButtonStruct bbs(static_cast<PluginObject*>(node), DescID(i), dirty);   
            t_data = GeData(CUSTOMDATATYPE_BITMAPBUTTON,bbs);  //bbs overwritten...  
          
            flags |= DESCFLAGS_PARAM_GET;      
              
            }   
          }  
            
         return ObjectData::GetDParameter(node, id, t_data, flags);  
        }
        
        
        
        
        Bool TreelibData::GetDDescription(GeListNode *node, Description *description,LONG &flags)  
        {   
         if (!description || !node) return FALSE;   
         if (!description->LoadDescription(node->GetType())) return FALSE;
        
        
        
        
           [...]
        
        
        
        
            ++i;
        
        
        
        
            BaseContainer bc2 = GetCustomDataTypeDefault(DTYPE_BUTTON);
        
        
        
        
            bc2.SetLong(DESC_CUSTOMGUI,CUSTOMGUI_BITMAPBUTTON);  
            bc2.SetBool(BITMAPBUTTON_BUTTON,TRUE);  
            bc2.SetLong(BITMAPBUTTON_BORDER,1);  
            if (!description->SetParameter(DescLevel(i),bc2,DescLevel(TREEGEN_LIBRARY))) return FALSE;  
              
             }
        
        
        
        
          }  
          data->SetLong(TREEGEN_IDC,i);  
            
         }
        
        
        
        
         flags |= DESCFLAGS_PARAM_SET;
        
        
        
        
         return ObjectData::GetDDescription(node, description, flags);  
        }
        
        
        
        
        Bool TreelibData::SetDParameter(GeListNode* node, const DescID& id, const GeData& t_data, LONG& flags)  
        {   
         BaseContainer *data = ((BaseObject* )node)->GetDataInstance();  
         for(LONG i=0;i<data->GetLong(TREEGEN_IDC)+1;i+=2)  
         {  
          if(id[0].id==i)   
          {   
           flags |= DESCFLAGS_PARAM_SET;     
          }  
         }     
           
         return ObjectData::SetDParameter(node, id, t_data, flags);  
        }
        
        
        
        
        [...]
        
        
        
        
        if (type == MSG_DESCRIPTION_GETBITMAP)   
         {    
             GePrint("message");
        
        
        
        
         } 
        
        
        
    

    There are two bitmapbuttons I am testing it with. Variable i represents the bitmapbuttons ID. So the buttons have the id 2 and 4. But as I said I never get a message. What´s wrong?
    Thanks
    Samir



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

    On 16/02/2003 at 09:21, xxxxxxxx wrote:

    And yes, the ids are correct, are called correctly etc. Already checked. There seems to be an error (surely my fault) that I cannot find... :\



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

    On 16/02/2003 at 09:45, xxxxxxxx wrote:

    ok, forget about it. Got it. It was the ids. *shame* :)


Log in to reply