20#ifndef GLOBALSETTINGS_H
21#define GLOBALSETTINGS_H
25#include <QtSql/QSqlDatabase>
35#define QT_USE_FAST_CONCATENATION
36#define QT_USE_FAST_OPERATOR_PLUS
89 QList<QPair<QString, QVariant> >
debugValues(
const int ID);
96 QSqlDatabase
dbin() {
return QSqlDatabase::database(
"in"); }
97 QSqlDatabase
dbout() {
return QSqlDatabase::database(
"out"); }
98 QSqlDatabase
dbclimate() {
return QSqlDatabase::database(
"climate"); }
101 QString
path(
const QString &fileName,
const QString &type=
"home");
102 bool fileExists(
const QString &fileName,
const QString &type=
"home");
119 void setupDirectories(QDomElement pathNode,
const QString &projectFilePath);
129 QJSEngine *mScriptEngine;
134 QMultiHash<int, DebugList> mDebugLists;
137 QHash<QString, QString> mFilePath;
163#define Globals (GlobalSettings::instance())
General settings and globally available data.
Definition: globalsettings.h:18
bool fileExists(const QString &fileName, const QString &type="home")
returns true if file fileName exists.
Definition: globalsettings.cpp:484
DebugList & debugList(const int ID, const DebugOutputs dbg)
returns a ref to a list ready to be filled with debug output of a type/id combination.
Definition: globalsettings.cpp:221
QStringList debugListCaptions(const DebugOutputs dbg)
returns stringlist of captions for a specific output type
Definition: globalsettings.cpp:263
void clearDebugLists()
clear all debug data
Definition: globalsettings.cpp:215
void loadProjectFile(const QString &fileName)
Definition: globalsettings.cpp:496
QSqlDatabase dbout()
Definition: globalsettings.h:97
const QList< const DebugList * > debugLists(const int ID, const DebugOutputs dbg)
return a list of debug outputs
Definition: globalsettings.cpp:238
Model * model() const
Definition: globalsettings.h:55
void clearDatabaseConnections()
shutdown and clear connections
Definition: globalsettings.cpp:400
QString executeJavascript(const QString &command)
access the global QScriptEngine used throughout the model for all Javascript related functionality.
Definition: globalsettings.cpp:156
static GlobalSettings * instance()
Definition: globalsettings.h:51
QString executeJSFunction(const QString function_name)
execute a javasript function in the global context
Definition: globalsettings.cpp:161
void setDebugOutput(const int debug)
Definition: globalsettings.h:80
ModelController * controller() const
Definition: globalsettings.h:56
void setupDirectories(QDomElement pathNode, const QString &projectFilePath)
Definition: globalsettings.cpp:444
void setModel(Model *model)
Definition: globalsettings.h:58
DebugOutputs debugOutputId(const QString debug_name)
returns the DebugOutputs bit or 0 if not found
Definition: globalsettings.cpp:206
QString debugOutputName(const DebugOutputs d)
returns the name attached to 'd' or an empty string if not found
Definition: globalsettings.cpp:195
void setModelController(ModelController *mc)
Definition: globalsettings.h:59
void resetScriptEngine()
re-creates the script engine (when the Model is re-created)
Definition: globalsettings.cpp:166
int currentYear() const
Definition: globalsettings.h:61
void setCurrentYear(const int year)
Definition: globalsettings.h:62
QStringList debugDataTable(GlobalSettings::DebugOutputs type, const QString separator, const QString fileName=QString(), const bool do_append=false)
output for all available items (trees, ...) in table form or write to a file
Definition: globalsettings.cpp:318
SystemStatistics * systemStatistics()
Definition: globalsettings.h:73
void printDirectories() const
Definition: globalsettings.cpp:436
QJSEngine * scriptEngine() const
Definition: globalsettings.h:69
OutputManager * outputManager()
Definition: globalsettings.h:116
bool setupDatabaseConnection(const QString &dbname, const QString &fileName, bool fileMustExist)
Definition: globalsettings.cpp:407
~GlobalSettings()
Definition: globalsettings.cpp:145
bool isDebugEnabled(const DebugOutputs dbg)
returns true, if a specific debug outut type is enabled.
Definition: globalsettings.h:82
QList< QPair< QString, QVariant > > debugValues(const int ID)
all debug values for object with given ID
Definition: globalsettings.cpp:369
QString path(const QString &fileName, const QString &type="home")
extend the file to a full absoulte path of the given type (temp, home, ...).
Definition: globalsettings.cpp:464
const XmlHelper & settings() const
Definition: globalsettings.h:105
int currentDebugOutput() const
Definition: globalsettings.h:83
QSqlDatabase dbin()
Definition: globalsettings.h:96
QSqlDatabase dbclimate()
Definition: globalsettings.h:98
DebugOutputs
Definition: globalsettings.h:76
@ dCarbonCycle
Definition: globalsettings.h:78
@ dTreeGrowth
Definition: globalsettings.h:76
@ dPerformance
Definition: globalsettings.h:79
@ dSaplingGrowth
Definition: globalsettings.h:78
@ dEstablishment
Definition: globalsettings.h:78
@ dDailyResponses
Definition: globalsettings.h:77
@ dWaterCycle
Definition: globalsettings.h:77
@ dStandGPP
Definition: globalsettings.h:77
@ dTreePartition
Definition: globalsettings.h:76
@ dTreeNPP
Definition: globalsettings.h:76
Definition: modelcontroller.h:32
Main object of the iLand model composited of various sub models / sub components.
Definition: model.h:90
Global container that handles data output.
Definition: outputmanager.h:25
holds a couple of system statistics primarily aimed for performance and memory analyis.
Definition: standstatistics.h:107
XmlHelper wraps a XML file and provides some convenient functions to retrieve values.
Definition: xmlhelper.h:26
const int cPxPerHeight
Definition: globalsettings.h:9
const double cRUArea
Definition: globalsettings.h:7
const int cRUSize
Definition: globalsettings.h:6
const int cPxPerRU
Definition: globalsettings.h:10
const int cHeightSize
Definition: globalsettings.h:8
const int cHeightPerRU
Definition: globalsettings.h:11
const int cPxPerHectare
Definition: globalsettings.h:12
const int cPxSize
Definition: globalsettings.h:5
const double cHeightPixelArea
Definition: globalsettings.h:13