##// END OF EJS Templates
TS fix...
TS fix Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r67:a8a4e48c21af
r86:70d6748a0662
Show More
VariableModel2.h
79 lines | 2.6 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VARIABLEMODEL2_H
#define SCIQLOP_VARIABLEMODEL2_H
#include "CoreGlobal.h"
#include <Common/MetaTypes.h>
#include <Common/spimpl.h>
#include <Data/DateTimeRange.h>
#include <QAbstractTableModel>
#include <QLoggingCategory>
#include <QUuid>
class IDataSeries;
class Variable2;
class VariableController2;
enum VariableRoles
{
ProgressRole = Qt::UserRole
};
/**
* @brief The VariableModel class aims to hold the variables that have been
* created in SciQlop
*/
class SCIQLOP_CORE_EXPORT VariableModel2 : public QAbstractTableModel
{
Q_OBJECT
// read only mirror of VariableController2 content
std::vector<std::shared_ptr<Variable2>> _variables;
public:
explicit VariableModel2(QObject* parent = nullptr);
// /////////////////////////// //
// 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;
virtual Qt::ItemFlags flags(const QModelIndex& index) const override;
// ///////////////// //
// Drag&Drop methods //
// ///////////////// //
virtual Qt::DropActions supportedDropActions() const override;
virtual Qt::DropActions supportedDragActions() const override;
virtual QStringList mimeTypes() const override;
virtual QMimeData* mimeData(const QModelIndexList& indexes) const override;
virtual bool canDropMimeData(const QMimeData* data, Qt::DropAction action,
int row, int column,
const QModelIndex& parent) const override;
virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action,
int row, int column,
const QModelIndex& parent) override;
const std::vector<std::shared_ptr<Variable2>>& variables() const
{
return _variables;
}
signals:
void createVariable(const QVariantHash& productData);
void asyncChangeRange(const std::shared_ptr<Variable2>& variable,
const DateTimeRange& r);
public slots:
/// Slot called when data of a variable has been updated
void variableUpdated(QUuid id) noexcept;
void variableAdded(const std::shared_ptr<Variable2>&);
void variableDeleted(const std::shared_ptr<Variable2>&);
};
#endif // SCIQLOP_VARIABLEMODEL2_H