18#ifndef QGSRASTERLAYERTEMPORALPROPERTIESWIDGET_H
19#define QGSRASTERLAYERTEMPORALPROPERTIESWIDGET_H
21#include "ui_qgsrasterlayertemporalpropertieswidgetbase.h"
26#include <QStyledItemDelegate>
34class QgsRasterBandFixedTemporalRangeModel :
public QAbstractItemModel
39 QgsRasterBandFixedTemporalRangeModel( QObject *parent );
40 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
41 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
42 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
43 QModelIndex parent(
const QModelIndex &child )
const override;
44 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
45 QVariant data(
const QModelIndex &index,
int role )
const override;
46 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole )
const override;
47 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
49 void setLayerData( QgsRasterLayer *layer,
const QMap<int, QgsDateTimeRange> &ranges );
50 QMap<int, QgsDateTimeRange> rangeData()
const {
return mRanges; }
54 QMap<int, QString> mBandNames;
55 QMap<int, QgsDateTimeRange> mRanges;
58class QgsFixedTemporalRangeDelegate :
public QStyledItemDelegate
63 QgsFixedTemporalRangeDelegate( QObject *parent );
66 QWidget *createEditor( QWidget *parent,
const QStyleOptionViewItem & ,
const QModelIndex &index )
const override;
67 void setModelData( QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index )
const override;
107 void temporalGroupBoxChecked(
bool checked );
109 void calculateRangeByExpression(
bool isUpper );
118 QVBoxLayout *mExtraWidgetLayout =
nullptr;
120 QList<QgsMapLayerConfigWidget *> mExtraWidgets;
122 QgsRasterBandFixedTemporalRangeModel *mFixedRangePerBandModel =
nullptr;
123 QString mFixedRangeLowerExpression;
124 QString mFixedRangeUpperExpression;
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Represents a raster layer.