QSS Solver GUI  4.5.3
utils.cpp
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  This file is part of QSS Solver.
4 
5  QSS Solver is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  QSS Solver is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QSS Solver. If not, see <http://www.gnu.org/licenses/>.
17 
18  ******************************************************************************/
19 
20 #include "utils.hpp"
21 
23 {
24  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
25  return settings.value(appCommandsName(cmd), "Value not found in file qss-solver.ini").toString();
26 }
27 
29 {
30  QDir dir(QCoreApplication::applicationDirPath());
31  dir.cd(getDir(d));
32  return dir.absolutePath();
33 }
34 
36 {
37  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
38  QString val = settings.value(appFlagName(flag), "Value not found in file qss-solver.ini").toString();
39  return val == "true";
40 }
41 
43 {
44  QString dbg;
45  if (isSet(FLG_DBG_ALL)) {
46  dbg += "-d SD_DBG_All ";
47  }
49  dbg += "-d SD_DBG_InitValues ";
50  }
52  dbg += "-d SD_DBG_ExternalEvent ";
53  }
54  if (isSet(FLG_DBG_MEMORY)) {
55  dbg += "-d SD_DBG_Memory ";
56  }
58  dbg += "-d SD_DBG_Synchronize ";
59  }
60  if (isSet(FLG_DBG_STEP_INFO)) {
61  dbg += "-d SD_DBG_StepInfo ";
62  }
64  dbg += "-d SD_DBG_VarChanges ";
65  }
66  if (isSet(FLG_DBG_WAIT_FOR)) {
67  dbg += "-d SD_DBG_WaitFor ";
68  }
69  if (isSet(FLG_DBG_WEIGHTS)) {
70  dbg += "-d SD_DBG_Weights ";
71  }
72  if (isSet(FLG_DBG_DT)) {
73  dbg += "-d SD_DBG_Dt ";
74  }
75  return dbg;
76 }
77 
78 QString Utils::appFlag(AppFlags flag)
79 {
80  QString val;
81  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
82  if (flag == FLG_DEBUG) {
83  val = getDebugValue();
84  } else {
85  val = settings.value(appFlagName(flag), "Value not found in file qss-solver.ini").toString();
86  }
87  return val;
88 }
89 
90 QString Utils::relativePath(AppDirs d) { return getDir(d); }
91 
92 QString Utils::getDir(AppDirs dir)
93 {
94  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
95  QString path = settings.value(appDirsName(dir), "Value not found in file qss-solver.ini").toString();
96  return path;
97 }
98 
99 void Utils::setCommand(AppCmds cmd, QString value)
100 {
101  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
102  settings.setValue(appCommandsName(cmd), value);
103 }
104 
106 {
107  QString flag_name("Flags/");
108  switch (flag) {
109  case FLG_FLAGS:
110  flag_name.append("flags");
111  break;
112  case FLG_DBG_ALL:
113  flag_name.append("dbgAll");
114  break;
115  case FLG_DBG_INIT_VALUES:
116  flag_name.append("dbgInitValues");
117  break;
119  flag_name.append("dbgExternalEvent");
120  break;
121  case FLG_DBG_MEMORY:
122  flag_name.append("dbgMemory");
123  break;
124  case FLG_DBG_SYNCHRONIZE:
125  flag_name.append("dbgSynchronize");
126  break;
127  case FLG_DBG_STEP_INFO:
128  flag_name.append("dbgStepInfo");
129  break;
130  case FLG_DBG_VAR_CHANGES:
131  flag_name.append("dbgVarChanges");
132  break;
133  case FLG_DBG_WAIT_FOR:
134  flag_name.append("dbgWaitFor");
135  break;
136  case FLG_DBG_WEIGHTS:
137  flag_name.append("dbgWeights");
138  break;
139  case FLG_DBG_DT:
140  flag_name.append("dbgDt");
141  break;
142  case FLG_PLOT:
143  flag_name.append("plotflags");
144  break;
145  default:
146  break;
147  }
148  return flag_name;
149 }
150 
152 {
153  QString command_name("Commands/");
154  switch (cmd) {
155  case CMD_COMPILE:
156  command_name.append("comp");
157  break;
158  case CMD_BUILD:
159  command_name.append("build");
160  break;
161  case CMD_SIMULATE:
162  command_name.append("simulate");
163  break;
164  case CMD_PLOT:
165  command_name.append("plot");
166  break;
167  case CMD_SBML:
168  command_name.append("sbml");
169  break;
170  case CMD_LOG:
171  command_name.append("log");
172  break;
173  default:
174  break;
175  }
176  return command_name;
177 }
178 
180 {
181  QString dir_name;
182  switch (dir) {
183  case MMOC_SOURCE:
184  dir_name = "src";
185  break;
186  case MMOC_MODELS:
187  dir_name = "models";
188  break;
189  case MMOC_OUTPUT:
190  dir_name = "output";
191  break;
192  case MMOC_BUILD:
193  dir_name = "build";
194  break;
195  case MMOC_ENGINE:
196  dir_name = "engine";
197  break;
198  case MMOC_LIBS:
199  dir_name = "libs";
200  break;
201  case MMOC_BIN:
202  dir_name = "bin";
203  break;
204  case MMOC_PACKAGES:
205  dir_name = "packages";
206  break;
207  case MMOC_LIBRARIES:
208  dir_name = "libraries";
209  break;
210  case MMOC_INCLUDE:
211  dir_name = "include";
212  break;
213  default:
214  break;
215  }
216  return dir_name;
217 }
218 
219 void Utils::setDir(AppDirs dir, QString value)
220 {
221  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
222  settings.setValue(appDirsName(dir), value);
223 }
224 
225 void Utils::setFlag(AppFlags flag, QString value)
226 {
227  QSettings settings(QCoreApplication::applicationDirPath() + "/qss-solver.ini", QSettings::IniFormat);
228  settings.setValue(appFlagName(flag), value);
229 }
CMD_SBML
@ CMD_SBML
Definition: utils.hpp:58
MMOC_SOURCE
@ MMOC_SOURCE
Definition: utils.hpp:51
Utils::setDir
void setDir(AppDirs d, QString value)
Definition: utils.cpp:219
Utils::appFlag
QString appFlag(AppFlags f)
Definition: utils.cpp:78
utils.hpp
MMOC_BIN
@ MMOC_BIN
Definition: utils.hpp:50
FLG_DBG_SYNCHRONIZE
@ FLG_DBG_SYNCHRONIZE
Definition: utils.hpp:46
MMOC_LIBRARIES
@ MMOC_LIBRARIES
Definition: utils.hpp:53
FLG_DBG_INIT_VALUES
@ FLG_DBG_INIT_VALUES
Definition: utils.hpp:43
MMOC_MODELS
@ MMOC_MODELS
Definition: utils.hpp:45
FLG_PLOT
@ FLG_PLOT
Definition: utils.hpp:53
CMD_COMPILE
@ CMD_COMPILE
Definition: utils.hpp:58
Utils::appDirsName
QString appDirsName(AppDirs dir)
Definition: utils.cpp:179
CMD_LOG
@ CMD_LOG
Definition: utils.hpp:58
CMD_SIMULATE
@ CMD_SIMULATE
Definition: utils.hpp:58
FLG_DBG_DT
@ FLG_DBG_DT
Definition: utils.hpp:51
Utils::getDir
QString getDir(AppDirs dir)
Definition: utils.cpp:92
FLG_DBG_WEIGHTS
@ FLG_DBG_WEIGHTS
Definition: utils.hpp:50
AppFlags
AppFlags
Definition: utils.hpp:40
MMOC_INCLUDE
@ MMOC_INCLUDE
Definition: utils.hpp:54
Utils::setFlag
void setFlag(AppFlags f, QString value)
Definition: utils.cpp:225
FLG_DBG_MEMORY
@ FLG_DBG_MEMORY
Definition: utils.hpp:45
Utils::isSet
bool isSet(AppFlags f)
Definition: utils.cpp:35
FLG_DBG_EXTERNAL_EVENT
@ FLG_DBG_EXTERNAL_EVENT
Definition: utils.hpp:44
MMOC_OUTPUT
@ MMOC_OUTPUT
Definition: utils.hpp:46
FLG_DEBUG
@ FLG_DEBUG
Definition: utils.hpp:41
AppCmds
AppCmds
Definition: utils.hpp:58
Utils::setCommand
void setCommand(AppCmds c, QString value)
Definition: utils.cpp:99
Utils::relativePath
QString relativePath(AppDirs d)
Definition: utils.cpp:90
Utils::appFlagName
QString appFlagName(AppFlags flag)
Definition: utils.cpp:105
MMOC_PACKAGES
@ MMOC_PACKAGES
Definition: utils.hpp:52
FLG_DBG_VAR_CHANGES
@ FLG_DBG_VAR_CHANGES
Definition: utils.hpp:48
FLG_DBG_WAIT_FOR
@ FLG_DBG_WAIT_FOR
Definition: utils.hpp:49
Utils::appCommand
QString appCommand(AppCmds c)
Definition: utils.cpp:22
FLG_FLAGS
@ FLG_FLAGS
Definition: utils.hpp:52
AppDirs
AppDirs
Definition: utils.hpp:27
Utils::appCommandsName
QString appCommandsName(AppCmds cmd)
Definition: utils.cpp:151
FLG_DBG_ALL
@ FLG_DBG_ALL
Definition: utils.hpp:42
Utils::getDebugValue
QString getDebugValue()
Definition: utils.cpp:42
MMOC_ENGINE
@ MMOC_ENGINE
Definition: utils.hpp:48
CMD_BUILD
@ CMD_BUILD
Definition: utils.hpp:58
MMOC_LIBS
@ MMOC_LIBS
Definition: utils.hpp:49
CMD_PLOT
@ CMD_PLOT
Definition: utils.hpp:58
Utils::appDir
QString appDir(AppDirs d)
Definition: utils.cpp:28
FLG_DBG_STEP_INFO
@ FLG_DBG_STEP_INFO
Definition: utils.hpp:47
MMOC_BUILD
@ MMOC_BUILD
Definition: utils.hpp:47