0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-10-09 05:57:14 +03:00

New functionality has been added to the report's variables

This commit is contained in:
Arin Alexander
2017-09-26 00:19:59 +03:00
parent 0ab92681b0
commit af589e31ba
11 changed files with 242 additions and 72 deletions

View File

@@ -211,7 +211,7 @@ void DataSourceModel::updateModel()
}
vars = m_rootNode->addChild(tr("External variables"),DataNode::Variables,QIcon(":/report/images/folder"));
foreach (QString name, m_dataManager->namesOfUserVariables()){
foreach (QString name, m_dataManager->userVariableNames()){
vars->addChild(name,DataNode::Variable,QIcon(":/report/images/value"));
}
}
@@ -1072,7 +1072,7 @@ int DataSourceManager::elementsCount(const QString &collectionName)
return m_proxies.count();
}
if (collectionName=="variables"){
return m_reportVariables.userVariablesCount();
return m_reportVariables.variablesCount();
}
return 0;
}
@@ -1092,7 +1092,7 @@ QObject* DataSourceManager::elementAt(const QString &collectionName, int index)
return m_proxies.at(index);
}
if (collectionName=="variables"){
return m_reportVariables.userVariableAt(index);
return m_reportVariables.variableAt(index);
}
return 0;
}
@@ -1160,6 +1160,8 @@ void DataSourceManager::collectionLoadFinished(const QString &collectionName)
foreach (VarDesc* item, m_tempVars) {
if (!m_reportVariables.containsVariable(item->name())){
m_reportVariables.addVariable(item->name(),item->value(),VarDesc::Report,FirstPass);
VarDesc* currentVar = m_reportVariables.variableByName(item->name());
currentVar->initFrom(item);
}
delete item;
}
@@ -1454,6 +1456,19 @@ bool DataSourceManager::variableIsSystem(const QString &name)
return false;
}
bool DataSourceManager::variableIsMandatory(const QString& name)
{
if (m_reportVariables.containsVariable(name))
return m_reportVariables.variableByName(name)->isMandatory();
return false;
}
void DataSourceManager::setVarableMandatory(const QString& name, bool value)
{
if (m_reportVariables.containsVariable(name))
m_reportVariables.variableByName(name)->setMandatory(value);
}
QStringList DataSourceManager::variableNames()
{
return m_reportVariables.variableNames();
@@ -1470,7 +1485,7 @@ QStringList DataSourceManager::variableNamesByRenderPass(RenderPass pass)
return result;
}
QStringList DataSourceManager::namesOfUserVariables(){
QStringList DataSourceManager::userVariableNames(){
return m_userVariables.variableNames();
}
@@ -1481,6 +1496,19 @@ VarDesc::VarType DataSourceManager::variableType(const QString &name)
return VarDesc::User;
}
VariableDataType DataSourceManager::variableDataType(const QString& name)
{
if (m_reportVariables.containsVariable(name))
return m_reportVariables.variableByName(name)->dataType();
return VariableDataType::Undefined;
}
void DataSourceManager::setVariableDataType(const QString& name, VariableDataType value)
{
if (m_reportVariables.containsVariable(name))
m_reportVariables.variableByName(name)->setDataType(value);
}
void DataSourceManager::setAllDatasourcesToFirst()
{
foreach(IDataSourceHolder* ds,m_datasources.values()) {