##// END OF EJS Templates
Temporal parameters of the selected variables can be updated using the...
Temporal parameters of the selected variables can be updated using the time widget.

File last commit:

r246:37254eb43d9f
r304:08349e12a7ef
Show More
VariableModel.h
51 lines | 1.6 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VARIABLEMODEL_H
#define SCIQLOP_VARIABLEMODEL_H
#include <Data/SqpDateTime.h>
#include <QAbstractTableModel>
#include <QLoggingCategory>
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_VariableModel)
class IDataSeries;
class Variable;
/**
* @brief The VariableModel class aims to hold the variables that have been created in SciQlop
*/
class VariableModel : public QAbstractTableModel {
public:
explicit VariableModel(QObject *parent = nullptr);
/**
* Creates a new variable in the model
* @param name the name of the new variable
* @param dateTime the dateTime of the new variable
* @param defaultDataSeries the default data of the new variable
* @return the pointer to the new variable
*/
std::shared_ptr<Variable>
createVariable(const QString &name, const SqpDateTime &dateTime,
std::unique_ptr<IDataSeries> defaultDataSeries) noexcept;
std::shared_ptr<Variable> variable(int index) const;
// /////////////////////////// //
// QAbstractTableModel methods //
// /////////////////////////// //
virtual int columnCount(const QModelIndex &parent = QModelIndex{}) const override;
virtual int rowCount(const QModelIndex &parent = QModelIndex{}) const override;
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
virtual QVariant headerData(int section, Qt::Orientation orientation,
int role = Qt::DisplayRole) const override;
private:
class VariableModelPrivate;
spimpl::unique_impl_ptr<VariableModelPrivate> impl;
};
#endif // SCIQLOP_VARIABLEMODEL_H