16#include <xercesc/sax2/SAX2XMLReader.hpp>
18#include <nlohmann/json.hpp>
20#include "IsisXMLApplication.h"
21#include "IsisAmlData.h"
145 IsisAml(
const QString &xmlfile);
153 void PutAsString(
const QString ¶mName,
const QString &value);
154 void PutAsString(
const QString ¶mName,
const std::vector<QString> &value);
156 void PutFileName(
const QString ¶mName,
const QString &value);
157 void PutFileName(
const QString ¶mName,
const std::vector<QString> &value);
159 void PutCubeName(
const QString ¶mName,
const QString &value);
161 void PutDouble(
const QString ¶mName,
const double &value);
162 void PutDouble(
const QString ¶mName,
const std::vector<double> &value);
164 void PutInteger(
const QString ¶mName,
const int &value);
165 void PutInteger(
const QString ¶mName,
const std::vector<int> &value);
167 void PutBoolean(
const QString ¶mName,
const bool &value);
168 void PutBoolean(
const QString ¶mName,
const std::vector<bool> &value);
170 void PutString(
const QString ¶mName,
const QString &value);
171 void PutString(
const QString ¶mName,
const std::vector<QString> &value);
173 QString
GetAsString(
const QString ¶mName)
const;
174 void GetAsString(
const QString ¶mName, std::vector<QString> &values)
const;
176 QString
GetFileName(
const QString ¶mName, QString extension =
"")
const;
177 void GetFileName(
const QString ¶mName, std::vector<QString> &values)
const;
179 QString
GetCubeName(
const QString ¶mName, QString extension =
"")
const;
181 QString
GetString(
const QString ¶mName)
const;
182 void GetString(
const QString ¶mName, std::vector<QString> &values)
const;
184 int GetInteger(
const QString ¶mName)
const;
185 void GetInteger(
const QString ¶mName, std::vector<int> &values)
const;
187 bool GetBoolean(
const QString ¶mName)
const;
189 void GetBoolean(
const QString ¶mName, std::vector<bool> &values)
const;
191 double GetDouble(
const QString ¶mName)
const;
192 void GetDouble(
const QString ¶mName, std::vector<double> &values)
const;
194 bool WasEntered(
const QString ¶mName)
const;
195 void Clear(
const QString ¶mName);
203 QString
Brief()
const;
211 QString
GroupName(
const int &group)
const;
214 int GroupIndex(
const QString & grpName)
const;
220 QString
ParamName(
const int &group,
const int ¶m)
const;
222 QString
ParamType(
const int &group,
const int ¶m)
const;
224 QString
ParamBrief(
const int &group,
const int ¶m)
const;
228 QString
ParamMinimum(
const int &group,
const int ¶m)
const;
232 QString
ParamMaximum(
const int &group,
const int ¶m)
const;
236 QString
ParamOdd(
const int &group,
const int ¶m)
const;
249 const int &great)
const;
252 const int &great)
const;
255 const int &great)
const;
258 const int &les)
const;
261 const int ¬Eq)
const;
266 const int &option)
const;
269 const int &option)
const;
272 const int &option)
const;
275 const int &option)
const;
278 const int &option,
const int &exclude)
const;
281 const int &option)
const;
284 const int &option,
const int &include)
const;
286 QString
ParamDefault(
const int &group,
const int ¶m)
const;
290 QString
ParamFilter(
const int &group,
const int ¶m)
const;
292 QString
ParamPath(
const int &group,
const int ¶m)
const;
294 QString
ParamFileMode(
const int &group,
const int ¶m)
const;
298 QString
ParamExclude(
const int &group,
const int ¶m,
299 const int &exclude)
const;
302 QString
ParamInclude(
const int &group,
const int ¶m,
303 const int &include)
const;
305 QString
PixelType(
const int &group,
const int ¶m)
const;
307 int HelpersSize(
const int &group,
const int ¶m)
const;
310 const int &helper)
const;
313 const int &helper)
const;
315 QString
HelperBrief(
const int &group,
const int ¶m,
316 const int &helper)
const;
319 const int &helper)
const;
321 QString
HelperIcon(
const int &group,
const int ¶m,
322 const int &helper)
const;
330 QString pvlGrpName, std::vector<QString> & exclude);
Manipulate and parse attributes of output cube filenames.
Container for cube-like labels.
Application program XML file parameter manager.
double GetDouble(const QString ¶mName) const
Allows the retrieval of a value for a parameter of type "double".
IsisXMLApplication * appHandler
The application handler.
void CommandLine(Isis::Pvl &lab) const
Creates a QString which could be used as a command line.
QString ParamOdd(const int &group, const int ¶m) const
Returns whether the selected parameter has a restriction on odd values or not.
int ParamExcludeSize(const int &group, const int ¶m) const
Returns the number of parameters excluded in this parameter's exclusions.
Isis::CubeAttributeInput & GetInputAttribute(const QString ¶mName)
Gets the attributes for an input cube.
int GetInteger(const QString ¶mName) const
Allows the retrieval of a value for a parameter of type "integer".
QString ParamLessThan(const int &group, const int ¶m, const int &great) const
Returns the name of the specified lessThan parameter.
QString ParamLessThanOrEqual(const int &group, const int ¶m, const int &les) const
Returns the name of the specified lessThanOrEqual parameter.
QString ParamBrief(const int &group, const int ¶m) const
Returns the brief description of a parameter in a specified group.
QString ParamListInclude(const int &group, const int ¶m, const int &option, const int &include) const
Returns the parameter name to be included if this option is selected.
QString ParamDescription(const int &group, const int ¶m) const
Returns the long description of a parameter in a specified group.
bool StringToBool(QString value) const
Returns a boolean value based on the QString contents.
void PutCubeName(const QString ¶mName, const QString &value)
Allows the insertion of a value for a parameter of type "cubename".
int ParamListIncludeSize(const int &group, const int ¶m, const int &option) const
Returns the number of items in a parameters list include section.
void PutBoolean(const QString ¶mName, const bool &value)
Allows the insertion of a value for a parameter of type "boolean".
QString GetFileName(const QString ¶mName, QString extension="") const
Allows the retrieval of a value for a parameter of type "filename".
bool WasEntered(const QString ¶mName) const
Returns a true if the parameter has a value, and false if it does not.
QString ParamListValue(const int &group, const int ¶m, const int &option) const
Returns the option value for a specific option to a parameter.
int NumGroups() const
Returns the number of groups found in the XML.
int ParamListExcludeSize(const int &group, const int ¶m, const int &option) const
Returns the number of items in a parameters list exclude section.
QString PixelType(const int &group, const int ¶m) const
Returns the default pixel type from the XML.
QString GetString(const QString ¶mName) const
Allows the retrieval of a value for a parameter of type "string".
bool GetBoolean(const QString ¶mName) const
Allows the retrieval of a value for a parameter of type "boolean".
nlohmann::json GetParams()
Creates a json object which could be used as a command line.
int ParamGreaterThanSize(const int &group, const int ¶m) const
Returns the number of values in the parameters greater than list.
QString ParamNotEqual(const int &group, const int ¶m, const int ¬Eq) const
Returns the name of the specified notEqual parameter.
void PutInteger(const QString ¶mName, const int &value)
Allows the insertion of a value for a parameter of type "integer".
int HelpersSize(const int &group, const int ¶m) const
Returns the number of helpers the parameter has.
QString ParamGreaterThanOrEqual(const int &group, const int ¶m, const int &great) const
Returns the name of the specified greaterThanOrEqual parameter.
void CreatePVL(Isis::Pvl &pvlDef, QString guiGrpName, QString pvlObjName, QString pvlGrpName, std::vector< QString > &exclude)
Create Pvl with the parameters in a user defined group given the Pvl object and group name.
QString GetCubeName(const QString ¶mName, QString extension="") const
Retrieves of a value for a parameter of type "cubename".
QString ParamMaximumInclusive(const int &group, const int ¶m) const
Returns whether the maximum value is inclusive or not.
QString Description() const
Returns the full description of the program.
QString ParamType(const int &group, const int ¶m) const
Returns the parameter type of a parameter in a specified group.
int ParamListSize(const int &group, const int ¶m) const
Returns the number of options in the specified parameter's list.
int NumParams(const int &) const
Returns the number of parameters in a group.
QString Version() const
Returns the application version date.
QString GroupName(const int &group) const
Returns the group name of group[index].
QString ParamExclude(const int &group, const int ¶m, const int &exclude) const
Returns the name of the specified excluded parameter.
QString HelperFunction(const int &group, const int ¶m, const int &helper) const
Returns the name of the helper function.
QString HelperButtonName(const int &group, const int ¶m, const int &helper) const
Returns the name of the helper button.
QString Brief() const
Returns the brief description of the program.
const IsisParameterData * ReturnParam(const QString ¶mName) const
Returns a pointer to a parameter whose name starts with paramName.
IsisAml(const QString &xmlfile)
Constructs an IsisAml object and internalizes the XML data in the given file name.
QString ParamFilter(const int &group, const int ¶m) const
Returns the parameter filter for a parameter in a specified group.
QString ParamListExclude(const int &group, const int ¶m, const int &option, const int &exclude) const
Returns the parameter name to be excluded if this option is selected.
int ParamLessThanOrEqualSize(const int &group, const int ¶m) const
Returns the number of values in the parameters less than or equal list.
QString ParamListBrief(const int &group, const int ¶m, const int &option) const
Returns the brief description for a specific option to a parameter.
QString ParamListDescription(const int &group, const int ¶m, const int &option) const
Returns the full description for a specific option to a parameter.
QString ParamDefault(const int &group, const int ¶m) const
Returns the default for a parameter in a specified group.
int ParamLessThanSize(const int &group, const int ¶m) const
Returns the number of values in the parameters less than list.
QString HelperBrief(const int &group, const int ¶m, const int &helper) const
Returns the brief description of the helper button.
QString ParamInclude(const int &group, const int ¶m, const int &include) const
Returns the name of the specified included parameter.
QString GetAsString(const QString ¶mName) const
Allows the retrieval of a value for a parameter of any type.
int GroupIndex(const QString &grpName) const
Given the group name get its index in group array.
void PutDouble(const QString ¶mName, const double &value)
Allows the insertion of a value for a parameter of type "double".
int ParamGreaterThanOrEqualSize(const int &group, const int ¶m) const
Returns the number of values in the parameters greater than or equal list.
QString ParamInternalDefault(const int &group, const int ¶m) const
Returns the internal default for a parameter in a specified group.
int ParamNotEqualSize(const int &group, const int ¶m) const
Returns the number of values in the not equal list.
QString ProgramName() const
Returns the Program name.
int ParamIncludeSize(const int &group, const int ¶m) const
Returns the number of parameters included in this parameter's inclusions.
QString ParamMinimumInclusive(const int &group, const int ¶m) const
Returns whether the minimum value is inclusive or not.
void PutString(const QString ¶mName, const QString &value)
Allows the insertion of a value for any parameter.
QString ParamGreaterThan(const int &group, const int ¶m, const int &great) const
Returns the name of the specified greaterThan parameter.
QString ParamMinimum(const int &group, const int ¶m) const
Returns the minimum value of a parameter in a specified group.
QString ParamFileMode(const int &group, const int ¶m) const
Returns the file mode for a parameter in a specified group.
XERCES::SAX2XMLReader * parser
The XML file parser.
Isis::CubeAttributeOutput & GetOutputAttribute(const QString ¶mName)
Gets the attributes for an output cube.
void CheckFileNamePreference(QString filename, QString paramname)
This method checks whether the user preferences are set to allow overwrites of existing files.
void Clear(const QString ¶mName)
Clears the value(s) in the named parameter.
void Verify(const IsisParameterData *param)
Throws an Isis::iExceptionXxxxxxxx if the parameter value(s) is invalid.
QString ParamPath(const int &group, const int ¶m) const
Returns the default path for a filename/cube parameter.
QString HelperDescription(const int &group, const int ¶m, const int &helper) const
Returns the long description of the helper button.
void StartParser(const char *xmlfile)
Starts parsing an application xml file.
void VerifyAll()
Verify all parameters.
QString ParamName(const int &group, const int ¶m) const
Returns the parameter name.
QString HelperIcon(const int &group, const int ¶m, const int &helper) const
Returns the name of the icon for the helper button.
bool IsParamInPvlInclude(QString ¶mName, std::vector< QString > &exclude)
Verify whether Parameter name is in the Include list Used in creation of DefFile.
void PutAsString(const QString ¶mName, const QString &value)
Allows the insertion of a value for any parameter.
~IsisAml()
Destructs an IsisAml object.
void PutFileName(const QString ¶mName, const QString &value)
Allows the insertion of a value for a parameter of type "filename".
QString ParamMaximum(const int &group, const int ¶m) const
Returns the maximum value of a parameter in a specified group.
This is free and unencumbered software released into the public domain.