QGIS API Documentation  3.12.1-BucureČ™ti (121cc00ff0)
qgsmeshtimesettings.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmeshtimesettings.h
3  ---------------------
4  begin : March 2019
5  copyright : (C) 2019 by Peter Petrik
6  email : zilolv at gmail 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 QGSMESHTIMESETTINGS_H
19 #define QGSMESHTIMESETTINGS_H
20 
21 #include <QDateTime>
22 #include <QDomDocument>
23 
24 #include "qgis_core.h"
25 #include "qgis.h"
26 #include "qgsreadwritecontext.h"
27 
35 class CORE_EXPORT QgsMeshTimeSettings
36 {
37  public:
38 
43  enum TimeUnit
44  {
46  seconds = 0,
52  days
53  };
54 
57  QgsMeshTimeSettings( double relativeTimeOffsetHours, const QString &relativeTimeFormat );
59  QgsMeshTimeSettings( const QDateTime &absoluteTimeReferenceTime, const QString &absoluteTimeFormat );
60 
62  QDomElement writeXml( QDomDocument &doc, const QgsReadWriteContext &context ) const;
64  void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
65 
67  bool useAbsoluteTime() const;
69  void setUseAbsoluteTime( bool useAbsoluteTime );
70 
72  double relativeTimeOffsetHours() const;
74  void setRelativeTimeOffsetHours( double relativeTimeOffsetHours );
75 
80  double datasetPlaybackInterval() const; SIP_SKIP
81 
86  void setDatasetPlaybackInterval( double seconds ); SIP_SKIP
87 
89  QString relativeTimeFormat() const;
91  void setRelativeTimeFormat( const QString &relativeTimeFormat );
92 
94  QDateTime absoluteTimeReferenceTime() const;
96  void setAbsoluteTimeReferenceTime( const QDateTime &absoluteTimeReferenceTime );
97 
99  QString absoluteTimeFormat() const;
101  void setAbsoluteTimeFormat( const QString &absoluteTimeFormat );
102 
107  TimeUnit providerTimeUnit() const;
108 
113  void setProviderTimeUnit( const TimeUnit &providerTimeUnit );
114 
115  private:
116  bool mUseAbsoluteTime = false;
117 
118  double mRelativeTimeOffsetHours = 0;
119  double mDatasetPlaybackIntervalSec = 3;
120  QString mRelativeTimeFormat = QStringLiteral( "d hh:mm:ss" );
121 
122  QDateTime mAbsoluteTimeReferenceTime;
123  QString mAbsoluteTimeFormat = QStringLiteral( "dd.MM.yyyy hh:mm:ss" );
124 
125  TimeUnit mProviderTimeUnit = TimeUnit::hours;
126 };
127 
129 
130 #endif // QGSMESHTIMESETTINGS_H
The class is used as a container of context for various read/write operations on other objects...
TimeUnit
Time units used to display time.
#define SIP_SKIP
Definition: qgis_sip.h:126
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
Represents a mesh time settings for mesh datasets.