[Qgis-developer] Fwd: Threads in sextante
etourigny.dev at gmail.com
Sat May 12 13:57:53 PDT 2012
On Sat, May 12, 2012 at 5:41 PM, Giuseppe Sucameli
<brush.tyler at gmail.com> wrote:
> On Sat, May 12, 2012 at 8:56 PM, Etienne Tourigny
> <etourigny.dev at gmail.com> wrote:
>> Any way ftools could be adapted to use the same approach as gdaltools?
> yes, it could. The only problem running non-modal dialogs
> are crashes accessing deleted objects like layers removed by
> the user.
> The solution implemented in GdalTools is to use the
> QgsMapLayerRegistry signals to update the list of layers
> and the combos.
>> However - this hack might work - when the characteristic
>> '0...10...20...30...40...50...60...70...80...90...100 - done.' output
>> is detected (say after '0...10') then the output would be interpreted
>> as progress report, which could be used to update the gui every 10% -
>> until 100 is read. I have never seen output mixed with progress report
>> in gdal utilities, although I may be wrong.
> yes, it could be done.
>>> Stopping/killing the execution thread should be enough.
>>> GdalTools asks for confirmation and then does it.
>> This has to be done manually, externally to qgis though.
I mean finding the thread through 'top' (in unixes) and killing it,
rather than having a gui to do it (like a Cancel button)
>> Would it be possible to have a "Cancel" button in the dialogs
>> that would respond to user input, or respond to the Escape key
>> when pressed?
> Yes, why not?
> I'm not sure I've understood.
I was just wondering if the ui could respond to a click on a Cancel
button, or a hit on the escape key - but I guess it could since the
operation is done in another (non-blocking) thread.
>>>> Also, this could enable several similar operations to be done in
>>>> parallel - as long as they are not working on the same output files.
>> Am I wrong to think that currently, 2 gdaltools operations could run
>> concurrently with the same output file, with all associated problems?
> uhm.. sorry, I've read too fast and I misunderstood your words.
> No, I don't know what happens if two tools wrote on the same output,
> though I think GDAL locks the output file until it finished.
> Let's give me a try :)
> BTW, why should two tools work on the same output file?
user error - in the case of a more complex workflow with sextante this
might happen more often, so it would be good to make sure.
>>>> On Fri, May 11, 2012 at 3:25 AM, Paolo Cavallini <cavallini at faunalia.it> wrote:
>>>>> Il 10/05/2012 23:15, Martin Dobias ha scritto:
>>>>>> What should be the benefit of multithreading here? To run algorithms
>>>>>> outside from main thread so that GUI does not get blocked?
>>>>> IMHO this is the main reason; I think the way GDALTools work is fine for the user.
>>>>> All the best.
>>>>> Paolo Cavallini - Faunalia
>>>>> Full contact details at www.faunalia.eu/pc
>>>>> Qgis-developer mailing list
>>>>> Qgis-developer at lists.osgeo.org
>>>> Qgis-developer mailing list
>>>> Qgis-developer at lists.osgeo.org
>>> Giuseppe Sucameli
> Giuseppe Sucameli
More information about the Qgis-developer