InExclude detect 'Remove All' context menu command
-
Hello!
- With MSG_DESCRIPTION_INEX_DELETED we can detect deleting InExclude item event. But in case choosing 'Remove All' context menu command it is not working? How to fix that?
Thank you!
- With MSG_DESCRIPTION_INEX_DELETED we can detect deleting InExclude item event. But in case choosing 'Remove All' context menu command it is not working? How to fix that?
-
Hey @mikeudin,
Thank you for reaching out to us. Just as an FYI, I did delete the duplicate thread. There is no message for that. The best option is to listen for
c4d.MSG_DESCRIPTION_CHECKUPDATE
which will be emitted when you invoke the command.These are all the message IDs which are emitted when one invokes "Remove All":
1028476 1041699 16 17 // MSG_DESCRIPTION_CHECKUPDATE 19 20 200000169 31 431000094 440000249
MSG_DESCRIPTION_CHECKUPDATE
is one of the better message IDs to piggy-back on here, but you could also pick another one. You can look up the message symbol for an integer most easily in Message Manual: Plugin Messages.Cheers,
FerdinandResult:
I used this code:
import c4d op: c4d.BaseObject def main() -> c4d.BaseObject: return c4d.BaseObject(c4d.Onull) def message(mid, data) -> bool: if mid == c4d.MSG_DESCRIPTION_INEX_DELETED: print (mid, data) elif mid == c4d.MSG_DESCRIPTION_CHECKUPDATE: data = op[c4d.ID_USERDATA, 1] print (f"{data.GetObjectCount() = }") else: # print ("ID/DATA", mid, data) pass return True
-
Thank you @ferdinand ! Will chek it!
-