##// END OF EJS Templates
Use std::shared_ptr in CosinusProvider
Use std::shared_ptr in CosinusProvider

File last commit:

r287:9a5cb57f1573
r287:9a5cb57f1573
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::shared_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