mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-17 00:09:36 -04:00
Address review
This commit is contained in:
parent
9be36fdbf3
commit
d0060fd89a
@ -24,6 +24,7 @@ Base class for temporal property.
|
|||||||
#include "qgstemporalproperty.h"
|
#include "qgstemporalproperty.h"
|
||||||
%End
|
%End
|
||||||
public:
|
public:
|
||||||
|
|
||||||
enum Flag
|
enum Flag
|
||||||
{
|
{
|
||||||
NoFlags,
|
NoFlags,
|
||||||
|
@ -37,10 +37,14 @@ class CORE_EXPORT QgsTemporalProperty : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flags attached to the temporal property.
|
||||||
|
*/
|
||||||
enum Flag
|
enum Flag
|
||||||
{
|
{
|
||||||
NoFlags = 0,
|
NoFlags = 0,
|
||||||
FlagDontInvalidateCachedRendersWhenRangeChanges = 1 //!< Any cached rendering will not be invalidated when temporal range context is modified
|
FlagDontInvalidateCachedRendersWhenRangeChanges = 1 //!< Any cached rendering will not be invalidated when temporal range context is modified.
|
||||||
};
|
};
|
||||||
Q_DECLARE_FLAGS( Flags, Flag )
|
Q_DECLARE_FLAGS( Flags, Flag )
|
||||||
|
|
||||||
|
@ -698,12 +698,12 @@ void QgsMapCanvas::rendererJobFinished()
|
|||||||
{
|
{
|
||||||
mLastLayerRenderTime.insert( it.key()->id(), it.value() );
|
mLastLayerRenderTime.insert( it.key()->id(), it.value() );
|
||||||
}
|
}
|
||||||
if ( mUsePreviewJobs && !mTemporalRefreshAfterJob )
|
if ( mUsePreviewJobs && !mRefreshAfterJob )
|
||||||
startPreviewJobs();
|
startPreviewJobs();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mTemporalRefreshAfterJob = false;
|
mRefreshAfterJob = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// now we are in a slot called from mJob - do not delete it immediately
|
// now we are in a slot called from mJob - do not delete it immediately
|
||||||
@ -713,9 +713,9 @@ void QgsMapCanvas::rendererJobFinished()
|
|||||||
|
|
||||||
emit mapCanvasRefreshed();
|
emit mapCanvasRefreshed();
|
||||||
|
|
||||||
if ( mTemporalRefreshAfterJob )
|
if ( mRefreshAfterJob )
|
||||||
{
|
{
|
||||||
mTemporalRefreshAfterJob = false;
|
mRefreshAfterJob = false;
|
||||||
clearTemporalCache();
|
clearTemporalCache();
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
@ -801,17 +801,12 @@ void QgsMapCanvas::setTemporalRange( const QgsDateTimeRange &dateTimeRange )
|
|||||||
|
|
||||||
emit temporalRangeChanged();
|
emit temporalRangeChanged();
|
||||||
|
|
||||||
|
// we need to discard any previously cached images which have temporal properties enabled, so that these will be updated when
|
||||||
|
// the canvas is redrawn
|
||||||
if ( !mJob )
|
if ( !mJob )
|
||||||
{
|
|
||||||
// we need to discard any previously cached images which have temporal properties enabled, so that these will be updated when
|
|
||||||
// the canvas is redrawn
|
|
||||||
clearTemporalCache();
|
clearTemporalCache();
|
||||||
autoRefreshTriggered();
|
|
||||||
}
|
autoRefreshTriggered();
|
||||||
else
|
|
||||||
{
|
|
||||||
mTemporalRefreshAfterJob = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const QgsDateTimeRange &QgsMapCanvas::temporalRange() const
|
const QgsDateTimeRange &QgsMapCanvas::temporalRange() const
|
||||||
@ -2059,9 +2054,9 @@ void QgsMapCanvas::autoRefreshTriggered()
|
|||||||
{
|
{
|
||||||
if ( mJob )
|
if ( mJob )
|
||||||
{
|
{
|
||||||
// canvas is currently being redrawn, so we skip this auto refresh
|
// canvas is currently being redrawn, so we defer the last requested
|
||||||
// otherwise we could get stuck in the situation where an auto refresh is triggered
|
// auto refresh until current rendering job finishes
|
||||||
// too often to allow the canvas to ever finish rendering
|
mRefreshAfterJob = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1063,8 +1063,8 @@ class GUI_EXPORT QgsMapCanvas : public QGraphicsView
|
|||||||
//! Flag that allows squashing multiple refresh() calls into just one delayed rendering job
|
//! Flag that allows squashing multiple refresh() calls into just one delayed rendering job
|
||||||
bool mRefreshScheduled = false;
|
bool mRefreshScheduled = false;
|
||||||
|
|
||||||
//! Flag that triggers a refresh after an ongoing rendering job finishes and clear cache for temporal-enabled layers
|
//! Flag that triggers a refresh after an ongoing rendering job triggered by autoRefresh
|
||||||
bool mTemporalRefreshAfterJob = false;
|
bool mRefreshAfterJob = false;
|
||||||
|
|
||||||
//! determines whether user has requested to suppress rendering
|
//! determines whether user has requested to suppress rendering
|
||||||
bool mRenderFlag = true;
|
bool mRenderFlag = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user