mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-15 00:04:00 -04:00
[processing] added progress display in qgsMessageBar
This commit is contained in:
parent
3d775d6913
commit
d69667b838
@ -16,7 +16,6 @@
|
|||||||
* *
|
* *
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
"""
|
"""
|
||||||
from processing import interface
|
|
||||||
|
|
||||||
__author__ = 'Victor Olaya'
|
__author__ = 'Victor Olaya'
|
||||||
__date__ = 'August 2012'
|
__date__ = 'August 2012'
|
||||||
@ -28,6 +27,8 @@ import processing
|
|||||||
from PyQt4.QtCore import *
|
from PyQt4.QtCore import *
|
||||||
from PyQt4.QtGui import *
|
from PyQt4.QtGui import *
|
||||||
from qgis.core import *
|
from qgis.core import *
|
||||||
|
from processing import interface
|
||||||
|
from processing.gui.MessageBarProgress import MessageBarProgress
|
||||||
from processing.tools import dataobjects
|
from processing.tools import dataobjects
|
||||||
from processing.core.ProcessingConfig import ProcessingConfig
|
from processing.core.ProcessingConfig import ProcessingConfig
|
||||||
from processing.core.GeoAlgorithm import GeoAlgorithm
|
from processing.core.GeoAlgorithm import GeoAlgorithm
|
||||||
@ -341,11 +342,13 @@ class Processing:
|
|||||||
algEx.start()
|
algEx.start()
|
||||||
algEx.wait()
|
algEx.wait()
|
||||||
else:
|
else:
|
||||||
progress = SilentProgress()
|
#progress = SilentProgress()
|
||||||
|
progress = MessageBarProgress()
|
||||||
ret = UnthreadedAlgorithmExecutor.runalg(alg, progress)
|
ret = UnthreadedAlgorithmExecutor.runalg(alg, progress)
|
||||||
if onFinish is not None and ret:
|
if onFinish is not None and ret:
|
||||||
onFinish(alg, progress)
|
onFinish(alg, progress)
|
||||||
QApplication.restoreOverrideCursor()
|
QApplication.restoreOverrideCursor()
|
||||||
|
progress.close()
|
||||||
return alg
|
return alg
|
||||||
|
|
||||||
|
|
||||||
|
62
python/plugins/processing/gui/MessageBarProgress.py
Normal file
62
python/plugins/processing/gui/MessageBarProgress.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
***************************************************************************
|
||||||
|
SilentProgress.py
|
||||||
|
---------------------
|
||||||
|
Date : April 2013
|
||||||
|
Copyright : (C) 2013 by Victor Olaya
|
||||||
|
Email : volayaf at gmail dot com
|
||||||
|
***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
__author__ = 'Victor Olaya'
|
||||||
|
__date__ = 'April 2013'
|
||||||
|
__copyright__ = '(C) 2013, Victor Olaya'
|
||||||
|
# This will get replaced with a git SHA1 when you do a git archive
|
||||||
|
__revision__ = '$Format:%H$'
|
||||||
|
|
||||||
|
from processing import interface
|
||||||
|
from PyQt4.QtCore import *
|
||||||
|
from PyQt4 import QtGui
|
||||||
|
|
||||||
|
class MessageBarProgress():
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.progressMessageBar = interface.iface.messageBar().createMessage("Executing algorithm")
|
||||||
|
self.progress = QtGui.QProgressBar()
|
||||||
|
self.progress.setMaximum(100)
|
||||||
|
self.progress.setAlignment(Qt.AlignLeft|Qt.AlignVCenter)
|
||||||
|
self.progressMessageBar.layout().addWidget(self.progress)
|
||||||
|
interface.iface.messageBar().pushWidget(self.progressMessageBar, interface.iface.messageBar().INFO)
|
||||||
|
|
||||||
|
def setText(self, text):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setPercentage(self, i):
|
||||||
|
self.progress.setValue(i)
|
||||||
|
|
||||||
|
def setInfo(self, _):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setCommand(self, _):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setDebugInfo(self, _):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setConsoleInfo(self, _):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def close(self):
|
||||||
|
interface.iface.messageBar().clearWidgets()
|
||||||
|
|
||||||
|
|
@ -196,7 +196,6 @@ def getObjectFromUri(uri, forceLoad = True):
|
|||||||
These methods are used by the GeoAlgorithm class and allow the developer to use transparently
|
These methods are used by the GeoAlgorithm class and allow the developer to use transparently
|
||||||
any layer that is loaded into QGIS, without having to worry about its origin'''
|
any layer that is loaded into QGIS, without having to worry about its origin'''
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def exportVectorLayer(layer):
|
def exportVectorLayer(layer):
|
||||||
'''Takes a QgsVectorLayer and returns the filename to refer to it, which allows external
|
'''Takes a QgsVectorLayer and returns the filename to refer to it, which allows external
|
||||||
apps which support only file-based layers to use it. It performs the necessary export
|
apps which support only file-based layers to use it. It performs the necessary export
|
||||||
@ -245,8 +244,6 @@ def exportVectorLayer(layer):
|
|||||||
return unicode(layer.source())
|
return unicode(layer.source())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def exportRasterLayer(layer):
|
def exportRasterLayer(layer):
|
||||||
'''Takes a QgsRasterLayer and returns the filename to refer to it, which allows external
|
'''Takes a QgsRasterLayer and returns the filename to refer to it, which allows external
|
||||||
apps which support only file-based layers to use it. It performs the necessary export
|
apps which support only file-based layers to use it. It performs the necessary export
|
||||||
@ -259,8 +256,6 @@ def exportRasterLayer(layer):
|
|||||||
#TODO:Do the conversion here
|
#TODO:Do the conversion here
|
||||||
return unicode(layer.source())
|
return unicode(layer.source())
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def exportTable( table):
|
def exportTable( table):
|
||||||
'''Takes a QgsVectorLayer and returns the filename to refer to its attributes table,
|
'''Takes a QgsVectorLayer and returns the filename to refer to its attributes table,
|
||||||
which allows external apps which support only file-based layers to use it.
|
which allows external apps which support only file-based layers to use it.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user