Yes if PPG is not getting refreshed then this seems weird. The only thing
that comes to mind is maybe the custom command execution is making things
go wrong. What if you use a function declared inside the plugin instead of
calling the custom command ? or maybe the custom command should be
implemented in the same plugin as the PPG, this does not make sense but is
worth a try.

On Fri, May 11, 2012 at 9:24 PM, Xavier Lapointe
<[email protected]>wrote:

> Hm, yes I could store it in a parameter or another way ... just this feels
> hacky to get something basic done (granted no refresh happend during the
> plugin execution).
>
> This should work, like Matt mentioned :/
>
> Oh well.
>
>
>
>
> 2012/5/11 Alok Gandhi <[email protected]>
>
>> I am not sure whether this works under windows as well, the plugin script
>> can get refreshed and all your global variables will be re-initialized. The
>> only good approaches that I have been using is to store the varaibles in
>> UIITems lists. This works well for the 3D com objects as well. Another idea
>> would be to pass on objects returning through a safe array from the
>> commands itself.
>>
>>
>> On Fri, May 11, 2012 at 9:13 PM, Xavier Lapointe <
>> [email protected]> wrote:
>>
>>>
>>> hit another PPG UI Item ***
>>>
>>> ... All happening under the same Property page.
>>>
>>> 2012/5/11 Xavier Lapointe <[email protected]>
>>>
>>>> Hey guys,
>>>>
>>>> This one really surprised me. I tend to avoid global variable in
>>>> Softimage plugins as much as I can, but sometimes it might be convenient.
>>>>
>>>> So basically, I wanted to use a global variable ( simple Python
>>>> Dictionary ) to keep some stuff in reference while interacting with a PPG.
>>>> I remember clearly that it was working well under Windows, so
>>>> I assume this is a python 2.5 Linux issue (if this is an issue - please
>>>> tell me if this is normal under Soft with python 2.5).
>>>>
>>>> Here's basically what I was trying to do:
>>>>
>>>> [imports ....]
>>>>>
>>>>> # Global Scope
>>>>
>>>>> LAST_SELECTION = {
>>>>>     'project': {},
>>>>>     'category': '',
>>>>>     'entities': [],
>>>>> }
>>>>>
>>>>> def CustomCommand_Execute():
>>>>>     global LAST_SELECTION
>>>>>     [Do some modifications to LAST_SELECTION]
>>>>>
>>>>
>>>>
>>>> Following this pattern:
>>>>
>>>>    - Prompt the PPG
>>>>    - Interact with the UI
>>>>    - The custom command is fired - do some modifications to
>>>>    LAST_SELECTION
>>>>    - hit another PPG UI
>>>>    - Hell the LAST_SELECTION global is back to the inital value!
>>>>
>>>> I've been tracing the LAST_SELECTION variable with id(), and it's
>>>> changing every time I interact with the UI; showing clearly that there is
>>>> something nasty going on under the hood (?)
>>>>
>>>> Any idea to get this working?
>>>>
>>>> Alan mentioned the
>>>> Application.SetGlobal/Application.GetGlobal functions ... but still, this
>>>> should be working natively, isn't?
>>>>
>>>> Thanks!
>>>>
>>>> --
>>>> Xavier
>>>>
>>>
>>>
>>>
>>> --
>>> Xavier
>>>
>>
>>
>>
>> --
>>
>>
>
>
> --
> Xavier
>



--

Reply via email to