On 15/07/2013 at 00:51, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R14
Platform: Mac ;
Language(s) : C++ ;
---------
CommandData::GetSubContainer() is never called on my registered instance. I just can't figure out
why it is not called.
class TagCommander : public CommandData {
typedef CommandData super;
public:
//| CommandData Overrides
virtual Bool Execute(BaseDocument *doc) {
GePrint(__PRETTY_FUNCTION__);
return super::Execute(doc);
}
virtual Bool ExecuteSubID(BaseDocument *doc, LONG subid) {
GePrint(__PRETTY_FUNCTION__);
return super::ExecuteSubID(doc, subid);
}
virtual Bool ExecuteOptionID(BaseDocument *doc, LONG plugid, LONG subid) {
GePrint(__PRETTY_FUNCTION__);
return super::ExecuteOptionID(doc, plugid, subid);
}
virtual LONG GetState(BaseDocument *doc) {
GePrint(__PRETTY_FUNCTION__);
return super::GetState(doc);
}
virtual Bool GetSubContainer(BaseDocument *doc, BaseContainer &submenu) {
GePrint(__PRETTY_FUNCTION__);
return super::GetSubContainer(doc, submenu);
}
virtual Bool RestoreLayout(void *secret) {
GePrint(__PRETTY_FUNCTION__);
return super::RestoreLayout(secret);
}
virtual String GetScriptName(void) {
GePrint(__PRETTY_FUNCTION__);
return super::GetScriptName();
}
virtual Bool Message(LONG type, void *data) {
GePrint(__PRETTY_FUNCTION__);
return super::Message(type, data);
}
};
virtual Bool TagCommander::Message(LONG, void * )
virtual String TagCommander::GetScriptName()
virtual LONG TagCommander::GetState(BaseDocument * )
virtual Bool TagCommander::Message(LONG, void * )
// Bunch of them ...
virtual Bool TagCommander::Execute(BaseDocument * )
virtual LONG TagCommander::GetState(BaseDocument * )
virtual Bool TagCommander::Message(LONG, void * )
// Bunch of them...
virtual Bool TagCommander::ExecuteOptionID(BaseDocument *, LONG, LONG)
I tried various PLUGINFLAG_COMMAND_ combinations, none worked. Does someone happen to
know what I might be doing wrong?
Thanks,
-Nik