[GRASSGUI] Re: python question - waiting for a variable to change
Michael Barton
michael.barton at asu.edu
Mon Mar 19 12:58:58 EDT 2007
Daniel,
I don't think I explained myself very clearly. Here is what I had in mind.
This is a primitive description of the workflow I'm trying to do
1. module A calls module B
2. module B starts a GUI window that collects user information (d.* command
options)
3. User closes GUI window
4. Information collected in GUI window is returned to module A
5. module A processes information collected in GUI launced by module B
Is your response below related to such a work flow? It's the same idea as
launching a dialog and then invoking the ShowModal() method to wait until it
closes and capture what the dialog does. Does this need to be done via a
dialog only, or can it be emulated with a normal window?
Michael
On 3/19/07 9:24 AM, "Daniel Calvelo" <dca.gis at gmail.com> wrote:
> You could make your callback function (the one you wish executed as
> the value is returned) a parameter to __init__ in menuform, that is
> called from within menuform.onRun if set to stg else than None. I
> think that is what you call a hook.
>
> You have to build something quite involved to have signaling objects
> behave like normal variables, AFAICT.
>
> Daniel.
>
> On 3/19/07, Michael Barton <michael.barton at asu.edu> wrote:
>>
>> I've run into a little problem that is taxing my neophyte Python
>> programming abilities. However we do a popup panel for setting display layer
>> options, I think it is necessary to do something along the lines of the
>> following....
>>
>> 1. Start the options popup. This is currently done with a double click on
>> the layer, which calls the onActivate even handler. For a raster, the event
>> handler uses...
>> drastcmd = menuform.GUI().parseCommand('d.rast', gmpath)
>> ...to start the autogenerated GUI.
>>
>> 2. When you press the "run" button for this d.* command, the assembled
>> command (d.rast + options) is simply returned.
>>
>> 3. Now drastcmd should contain a complete d.rast command string.
>>
>> So, how do I wait in onActivate until the "run" button is pressed on the
>> popup and the information is returned to drastcmd (i.e., the value of
>> drastcmd is changed). Or, alternatively, how can a change in the value of
>> drastcmd generate an event that I can capture and process? I messed around
>> with wait() (thinking about tk_wait in TclTk), but couldn't get it to do
>> what I wanted.
>>
>>
>> Michael
>> __________________________________________
>> Michael Barton, Professor of Anthropology
>> School of Human Evolution & Social Change
>> Center for Social Dynamics & Complexity
>> Arizona State University
>>
>> phone: 480-965-6213
>> fax: 480-965-7671
>> www: http://www.public.asu.edu/~cmbarton
>>
>>
>
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton
More information about the grass-gui
mailing list