Accessing buttons on a pop up dialog
-
On 17/09/2015 at 15:28, xxxxxxxx wrote:
Is it possible to access a button on a dialog from within a python script?
I have a script controlling the cache object from the X-particles plugin. At one point in the script, I need to click a button on the attributes panel, which I do with
c4d.CallButton(cache, c4d.XOCA_CACHE_FILL)
This calls up a dialog with several buttons. I can then click any of the buttons with a mouse click manually and the script will resume, but I am wondering if I can access and "click" one of the second set of buttons via python (the Overwrite button).
I found the string names for the buttons here:
// C4D-DialogResource DIALOGSTRINGS IDD_CACHEBUILD { IDS_BUTTON "Overwrite"; IDS_BUTTON1 "New Cache"; IDS_BUTTON2 "Cancel"; IDS_DIALOG "Build Cache"; IDS_STATIC "A cache already exists on one or more of the objects."; IDS_STATIC1 "Group"; IDS_STATIC2 "Click 'Overwrite' to overwrite the existing cache, 'New Cache' to create a new cache,"; IDS_STATIC3 ""; IDS_STATIC4 "or 'Cancel' to cancel the operation."; IDS_STATIC5 "Group"; }
And found the res file here:
// C4D-DialogResource DIALOG IDD_CACHEBUILD { NAME IDS_DIALOG; CENTER_V; CENTER_H; GROUP IDC_STATIC { NAME IDS_STATIC1; ALIGN_TOP; SCALE_H; BORDERSTYLE BORDER_NONE; BORDERSIZE 4, 4, 4, 0; COLUMNS 1; STATICTEXT IDC_STATIC { NAME IDS_STATIC; CENTER_V; ALIGN_LEFT; } STATICTEXT IDC_STATIC { NAME IDS_STATIC3; CENTER_V; ALIGN_LEFT; } STATICTEXT IDC_STATIC { NAME IDS_STATIC2; CENTER_V; ALIGN_LEFT; } STATICTEXT IDC_STATIC { NAME IDS_STATIC4; CENTER_V; ALIGN_LEFT; } GROUP IDC_STATIC { NAME IDS_STATIC5; ALIGN_TOP; CENTER_H; BORDERSTYLE BORDER_NONE; BORDERSIZE 0, 16, 0, 0; COLUMNS 3; BUTTON IDC_OVERWRITECACHE { NAME IDS_BUTTON; ALIGN_TOP; ALIGN_LEFT; } BUTTON IDC_NEWCACHE { NAME IDS_BUTTON1; ALIGN_TOP; ALIGN_LEFT; } BUTTON IDC_CANCELCACHE { NAME IDS_BUTTON2; ALIGN_TOP; ALIGN_LEFT; } } } }
But I am not sure how to test for and access the dialog IDD_CACHEBUILD (or if it is even possible due to threading or some other issue) and how to use this information.
Thanks for any help and comments.
-
On 18/09/2015 at 01:50, xxxxxxxx wrote:
Hi,
unfortunately it is not possible to press buttons in GeDialogs from code. Sorry.
For questions on 3rd party products I'd suggest to contact the 3rd party developers directly.