##// END OF EJS Templates
Updates UI to not call the sort method when update graphs, as data series are already sorted
Updates UI to not call the sort method when update graphs, as data series are already sorted

File last commit:

r406:643df4da22dc
r453:a8d8791b7e7a
Show More
Variable.h
55 lines | 1.4 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VARIABLE_H
#define SCIQLOP_VARIABLE_H
#include <Data/SqpDateTime.h>
#include <QLoggingCategory>
#include <QObject>
#include <Common/MetaTypes.h>
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_Variable)
class IDataSeries;
class QString;
/**
* @brief The Variable class represents a variable in SciQlop.
*/
class Variable : public QObject {
Q_OBJECT
public:
explicit Variable(const QString &name, const SqpDateTime &dateTime,
const QVariantHash &metadata = {});
QString name() const noexcept;
SqpDateTime dateTime() const noexcept;
void setDateTime(const SqpDateTime &dateTime) noexcept;
/// @return the data of the variable, nullptr if there is no data
IDataSeries *dataSeries() const noexcept;
QVariantHash metadata() const noexcept;
bool contains(const SqpDateTime &dateTime) const noexcept;
bool intersect(const SqpDateTime &dateTime) const noexcept;
bool isInside(const SqpDateTime &dateTime) const noexcept;
public slots:
void setDataSeries(std::shared_ptr<IDataSeries> dataSeries) noexcept;
signals:
void updated();
private:
class VariablePrivate;
spimpl::unique_impl_ptr<VariablePrivate> impl;
};
// Required for using shared_ptr in signals/slots
SCIQLOP_REGISTER_META_TYPE(VARIABLE_PTR_REGISTRY, std::shared_ptr<Variable>)
#endif // SCIQLOP_VARIABLE_H