Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgstemporalcontroller.h 3 : : --------------- 4 : : begin : March 2020 5 : : copyright : (C) 2020 by Samweli Mwakisambwe 6 : : email : samweli at kartoza dot com 7 : : ***************************************************************************/ 8 : : 9 : : /*************************************************************************** 10 : : * * 11 : : * This program is free software; you can redistribute it and/or modify * 12 : : * it under the terms of the GNU General Public License as published by * 13 : : * the Free Software Foundation; either version 2 of the License, or * 14 : : * (at your option) any later version. * 15 : : * * 16 : : ***************************************************************************/ 17 : : 18 : : #ifndef QGSTEMPORALCONTROLLER_H 19 : : #define QGSTEMPORALCONTROLLER_H 20 : : 21 : : #include "qgis_core.h" 22 : : #include "qgis_sip.h" 23 : : #include "qgsrange.h" 24 : : #include <QObject> 25 : : 26 : : 27 : : #ifdef SIP_RUN 28 : : % ModuleHeaderCode 29 : : #include <qgstemporalnavigationobject.h> 30 : : % End 31 : : #endif 32 : : 33 : : /** 34 : : * \class QgsTemporalController 35 : : * \ingroup core 36 : : * \brief A controller base class for temporal objects, contains a signal for notifying 37 : : * updates of the objects temporal range. 38 : : * 39 : : * \since QGIS 3.14 40 : : */ 41 : 0 : class CORE_EXPORT QgsTemporalController : public QObject 42 : : { 43 : : Q_OBJECT 44 : : 45 : : #ifdef SIP_RUN 46 : : SIP_CONVERT_TO_SUBCLASS_CODE 47 : : if ( qobject_cast<QgsTemporalNavigationObject *>( sipCpp ) ) 48 : : { 49 : : sipType = sipType_QgsTemporalNavigationObject; 50 : : } 51 : : else 52 : : { 53 : : sipType = 0; 54 : : } 55 : : SIP_END 56 : : #endif 57 : : 58 : : public: 59 : : 60 : : /** 61 : : * Constructor for QgsTemporalController, with the specified \a parent object. 62 : : * 63 : : */ 64 : : QgsTemporalController( QObject *parent SIP_TRANSFERTHIS = nullptr ); 65 : : 66 : : signals: 67 : : 68 : : /** 69 : : * Signals that a temporal \a range has changed and needs to be updated in 70 : : * all connected objects. 71 : : */ 72 : : void updateTemporalRange( const QgsDateTimeRange &range ); 73 : : 74 : : }; 75 : : 76 : : #endif // QGSTEMPORALCONTROLLER_H