mirror of
https://github.com/fralx/LimeReport.git
synced 2025-10-09 14:04:43 +03:00
New functionality has been added to the report's variables
This commit is contained in:
@@ -42,7 +42,10 @@ class VarDesc : public QObject{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString name READ name WRITE setName)
|
||||
Q_PROPERTY(QVariant value READ value WRITE setValue)
|
||||
Q_PROPERTY(bool isMandatory READ isMandatory WRITE setMandatory)
|
||||
Q_PROPERTY(int dataType READ readDataTypeProperty WRITE setDataTypeProperty)
|
||||
public:
|
||||
VarDesc() : m_dataType(VariableDataType::Undefined), m_mandatory(false){}
|
||||
enum VarType {System, User, Report};
|
||||
void setVarType(VarType value){m_varType=value;}
|
||||
VarType varType(){return m_varType;}
|
||||
@@ -52,26 +55,39 @@ public:
|
||||
QString name(){return m_name;}
|
||||
void setValue(QVariant value){m_value=value;}
|
||||
QVariant value(){return m_value;}
|
||||
VariableDataType dataType() const;
|
||||
void setDataType(const VariableDataType& dataType);
|
||||
int readDataTypeProperty() const;
|
||||
void setDataTypeProperty(int value);
|
||||
bool isMandatory() const;
|
||||
void setMandatory(bool isMandatory);
|
||||
void initFrom(VarDesc* value);
|
||||
private:
|
||||
VarType m_varType;
|
||||
RenderPass m_varPass;
|
||||
QString m_name;
|
||||
QVariant m_value;
|
||||
VariableDataType m_dataType;
|
||||
bool m_mandatory;
|
||||
};
|
||||
|
||||
class IVariablesContainer
|
||||
{
|
||||
public:
|
||||
virtual ~IVariablesContainer(){}
|
||||
virtual void addVariable(const QString &name, const QVariant &value, VarDesc::VarType type=VarDesc::User, RenderPass pass=FirstPass)=0;
|
||||
virtual void deleteVariable(const QString &name)=0;
|
||||
virtual void changeVariable(const QString &name, const QVariant &value)=0;
|
||||
virtual void clearUserVariables()=0;
|
||||
virtual QVariant variable(const QString &name)=0;
|
||||
virtual VarDesc::VarType variableType(const QString &name)=0;
|
||||
virtual RenderPass variablePass(const QString &name)=0;
|
||||
virtual bool containsVariable(const QString &name)=0;
|
||||
virtual QStringList variableNames()=0;
|
||||
virtual void addVariable(const QString& name, const QVariant &value, VarDesc::VarType type=VarDesc::User, RenderPass pass=FirstPass) = 0;
|
||||
virtual void deleteVariable(const QString& name) = 0;
|
||||
virtual void changeVariable(const QString& name, const QVariant &value) = 0;
|
||||
virtual void clearUserVariables() = 0;
|
||||
virtual QVariant variable(const QString& name) = 0;
|
||||
virtual VarDesc::VarType variableType(const QString& name) = 0;
|
||||
virtual RenderPass variablePass(const QString& name) = 0;
|
||||
virtual bool containsVariable(const QString& name) = 0;
|
||||
virtual QStringList variableNames() = 0;
|
||||
virtual bool variableIsMandatory(const QString& name) = 0;
|
||||
virtual void setVarableMandatory(const QString& name, bool value) = 0;
|
||||
virtual VariableDataType variableDataType(const QString& name) = 0;
|
||||
virtual void setVariableDataType(const QString& name, VariableDataType value) = 0;
|
||||
};
|
||||
|
||||
class VariablesHolder : public QObject, public IVariablesContainer
|
||||
@@ -85,12 +101,17 @@ public:
|
||||
void changeVariable(const QString &name, const QVariant &value);
|
||||
void clearUserVariables();
|
||||
QVariant variable(const QString &name);
|
||||
VarDesc::VarType variableType(const QString &name);
|
||||
RenderPass variablePass(const QString &name);
|
||||
bool containsVariable(const QString &name);
|
||||
QStringList variableNames();
|
||||
int userVariablesCount();
|
||||
VarDesc* userVariableAt(int index);
|
||||
VarDesc::VarType variableType(const QString& name);
|
||||
RenderPass variablePass(const QString &name);
|
||||
bool containsVariable(const QString &name);
|
||||
QStringList variableNames();
|
||||
int variablesCount();
|
||||
VarDesc* variableByName(const QString& name);
|
||||
VarDesc* variableAt(int index);
|
||||
bool variableIsMandatory(const QString& name);
|
||||
void setVarableMandatory(const QString &name, bool value);
|
||||
VariableDataType variableDataType(const QString& name);
|
||||
void setVariableDataType(const QString &name, VariableDataType value);
|
||||
signals:
|
||||
void variableHasBeenAdded(const QString& variableName);
|
||||
void variableHasBeenChanged(const QString& variableName);
|
||||
|
Reference in New Issue
Block a user