Isis 3.0 Programmer Reference
Back | Home
IsisAml.h
Go to the documentation of this file.
1 #ifndef IsisAml_h
2 #define IsisAml_h
3 
27 #include <string>
28 #include <vector>
29 
30 #include <QString>
31 
32 #include <xercesc/sax2/SAX2XMLReader.hpp>
33 
34 #include "IsisXMLApplication.h"
35 #include "IsisAmlData.h"
36 #include "Pvl.h"
37 
38 class QString;
39 
152 class IsisAml : protected IsisAmlData {
153 
154 // Public section
155  public:
156 
157  IsisAml(const QString &xmlfile);
158 
159  ~IsisAml();
160 
161 
162  // Methods for searching and retrieving application info
163  // via the parameter name
164 
165  void PutAsString(const QString &paramName, const QString &value);
166  void PutAsString(const QString &paramName, const std::vector<QString> &value);
167 
168  void PutFileName(const QString &paramName, const QString &value);
169  void PutFileName(const QString &paramName, const std::vector<QString> &value);
170 
171  void PutDouble(const QString &paramName, const double &value);
172  void PutDouble(const QString &paramName, const std::vector<double> &value);
173 
174  void PutInteger(const QString &paramName, const int &value);
175  void PutInteger(const QString &paramName, const std::vector<int> &value);
176 
177  void PutBoolean(const QString &paramName, const bool &value);
178  void PutBoolean(const QString &paramName, const std::vector<bool> &value);
179 
180  void PutString(const QString &paramName, const QString &value);
181  void PutString(const QString &paramName, const std::vector<QString> &value);
182 
183  QString GetAsString(const QString &paramName) const;
184  void GetAsString(const QString &paramName, std::vector<QString> &values) const;
185 
186  QString GetFileName(const QString &paramName, QString extension = "") const;
187  void GetFileName(const QString &paramName, std::vector<QString> &values) const;
188 
189  QString GetString(const QString &paramName) const;
190  void GetString(const QString &paramName, std::vector<QString> &values) const;
191 
192  int GetInteger(const QString &paramName) const;
193  void GetInteger(const QString &paramName, std::vector<int> &values) const;
194 
195  bool GetBoolean(const QString &paramName) const;
196 
197  void GetBoolean(const QString &paramName, std::vector<bool> &values) const;
198 
199  double GetDouble(const QString &paramName) const;
200  void GetDouble(const QString &paramName, std::vector<double> &values) const;
201 
202  bool WasEntered(const QString &paramName) const;
203  void Clear(const QString &paramName);
204 
205  Isis::CubeAttributeInput &GetInputAttribute(const QString &paramName);
206  Isis::CubeAttributeOutput &GetOutputAttribute(const QString &paramName);
207 
208  // Methods for retrieving application info not inside a group
209 
210  QString ProgramName() const;
211  QString Brief() const;
212  QString Description() const;
213 
214  // Methods for searching and retrieving application info
215  // via the index into groups and parameters
216 
217  int NumGroups() const;
218 
219  QString GroupName(const int &group) const;
220 
222  int GroupIndex(const QString & grpName) const;
223 
224  int NumParams(const int &) const;
225 
226  QString ParamName(const int &group, const int &param) const;
227 
228  QString ParamType(const int &group, const int &param) const;
229 
230  QString ParamBrief(const int &group, const int &param) const;
231 
232  QString ParamDescription(const int &group, const int &param) const;
233 
234  QString ParamMinimum(const int &group, const int &param) const;
235 
236  QString ParamMinimumInclusive(const int &group, const int &param) const;
237 
238  QString ParamMaximum(const int &group, const int &param) const;
239 
240  QString ParamMaximumInclusive(const int &group, const int &param) const;
241 
242  QString ParamOdd(const int &group, const int &param) const;
243 
244  int ParamGreaterThanSize(const int &group, const int &param) const;
245 
246  int ParamGreaterThanOrEqualSize(const int &group, const int &param) const;
247 
248  int ParamLessThanSize(const int &group, const int &param) const;
249 
250  int ParamLessThanOrEqualSize(const int &group, const int &param) const;
251 
252  int ParamNotEqualSize(const int &group, const int &param) const;
253 
254  QString ParamGreaterThan(const int &group, const int &param,
255  const int &great) const;
256 
257  QString ParamGreaterThanOrEqual(const int &group, const int &param,
258  const int &great) const;
259 
260  QString ParamLessThan(const int &group, const int &param,
261  const int &great) const;
262 
263  QString ParamLessThanOrEqual(const int &group, const int &param,
264  const int &les) const;
265 
266  QString ParamNotEqual(const int &group, const int &param,
267  const int &notEq) const;
268 
269  int ParamListSize(const int &group, const int &param) const;
270 
271  QString ParamListValue(const int &group, const int &param,
272  const int &option) const;
273 
274  QString ParamListBrief(const int &group, const int &param,
275  const int &option) const;
276 
277  QString ParamListDescription(const int &group, const int &param,
278  const int &option) const;
279 
280  int ParamListExcludeSize(const int &group, const int &param,
281  const int &option) const;
282 
283  QString ParamListExclude(const int &group, const int &param,
284  const int &option, const int &exclude) const;
285 
286  int ParamListIncludeSize(const int &group, const int &param,
287  const int &option) const;
288 
289  QString ParamListInclude(const int &group, const int &param,
290  const int &option, const int &include) const;
291 
292  QString ParamDefault(const int &group, const int &param) const;
293 
294  QString ParamInternalDefault(const int &group, const int &param) const;
295 
296  QString ParamFilter(const int &group, const int &param) const;
297 
298  QString ParamPath(const int &group, const int &param) const;
299 
300  QString ParamFileMode(const int &group, const int &param) const;
301 
302  int ParamExcludeSize(const int &group, const int &param) const;
303 
304  QString ParamExclude(const int &group, const int &param,
305  const int &exclude) const;
306  int ParamIncludeSize(const int &group, const int &param) const;
307 
308  QString ParamInclude(const int &group, const int &param,
309  const int &include) const;
310 
311  QString PixelType(const int &group, const int &param) const;
312 
313  int HelpersSize(const int &group, const int &param) const;
314 
315  QString HelperButtonName(const int &group, const int &param,
316  const int &helper) const;
317 
318  QString HelperFunction(const int &group, const int &param,
319  const int &helper) const;
320 
321  QString HelperBrief(const int &group, const int &param,
322  const int &helper) const;
323 
324  QString HelperDescription(const int &group, const int &param,
325  const int &helper) const;
326 
327  QString HelperIcon(const int &group, const int &param,
328  const int &helper) const;
329 
332  bool IsParamInPvlInclude(QString & paramName, std::vector<QString> & exclude);
333 
335  void CreatePVL(Isis::Pvl &pvlDef , QString guiGrpName, QString pvlObjName,
336  QString pvlGrpName, std::vector<QString> & exclude);
337 
338  // Test all parameters for valid values and conditions
339  void VerifyAll();
340 
341  bool StringToBool(QString value) const;
342 
343  void CommandLine(Isis::Pvl &lab) const;
344 
345  QString Version() const;
346 
347 
348  protected:
349  const IsisParameterData *ReturnParam(const QString &paramName) const;
350 
351 
352  private:
354  XERCES::SAX2XMLReader *parser;
357 
358  // Member functions
359  void StartParser(const char *xmlfile);
360 
361 
362  void Verify(const IsisParameterData *param);
363 
364  void CheckFileNamePreference(QString filename, QString paramname);
365 };
366 
367 
368 #endif
Manipulate and parse attributes of input cube filenames.
int NumParams(const int &) const
Returns the number of parameters in a group.
Definition: IsisAml.cpp:1223
QString ParamPath(const int &group, const int &param) const
Returns the default path for a filename/cube parameter.
Definition: IsisAml.cpp:1578
QString ParamFilter(const int &group, const int &param) const
Returns the parameter filter for a parameter in a specified group.
Definition: IsisAml.cpp:1559
int ParamIncludeSize(const int &group, const int &param) const
Returns the number of parameters included in this parameter&#39;s inclusions.
Definition: IsisAml.cpp:1747
QString Description() const
Returns the full description of the program.
Definition: IsisAml.cpp:1094
QString ParamDefault(const int &group, const int &param) const
Returns the default for a parameter in a specified group.
Definition: IsisAml.cpp:1521
int HelpersSize(const int &group, const int &param) const
Returns the number of helpers the parameter has.
Definition: IsisAml.cpp:1771
QString ParamMinimum(const int &group, const int &param) const
Returns the minimum value of a parameter in a specified group.
Definition: IsisAml.cpp:1274
const IsisParameterData * ReturnParam(const QString &paramName) const
Returns a pointer to a parameter whose name starts with paramName.
Definition: IsisAml.cpp:1981
bool IsParamInPvlInclude(QString &paramName, std::vector< QString > &exclude)
Verify whether Parameter name is in the Include list Used in creation of DefFile. ...
Definition: IsisAml.cpp:1207
QString ParamListBrief(const int &group, const int &param, const int &option) const
Returns the brief description for a specific option to a parameter.
Definition: IsisAml.cpp:1646
int GroupIndex(const QString &grpName) const
Given the group name get its index in group array.
Definition: IsisAml.cpp:1128
QString HelperIcon(const int &group, const int &param, const int &helper) const
Returns the name of the icon for the helper button.
Definition: IsisAml.cpp:1840
int GetInteger(const QString &paramName) const
Allows the retrieval of a value for a parameter of type &quot;integer&quot;.
Definition: IsisAml.cpp:823
QString HelperDescription(const int &group, const int &param, const int &helper) const
Returns the long description of the helper button.
Definition: IsisAml.cpp:1826
QString ParamMaximum(const int &group, const int &param) const
Returns the maximum value of a parameter in a specified group.
Definition: IsisAml.cpp:1287
int ParamGreaterThanOrEqualSize(const int &group, const int &param) const
Returns the number of values in the parameters greater than or equal list.
Definition: IsisAml.cpp:1352
int ParamNotEqualSize(const int &group, const int &param) const
Returns the number of values in the not equal list.
Definition: IsisAml.cpp:1390
int ParamExcludeSize(const int &group, const int &param) const
Returns the number of parameters excluded in this parameter&#39;s exclusions.
Definition: IsisAml.cpp:1735
IsisAml(const QString &xmlfile)
Constructs an IsisAml object and internalizes the XML data in the given file name.
Definition: IsisAml.cpp:54
void PutAsString(const QString &paramName, const QString &value)
Allows the insertion of a value for any parameter.
Definition: IsisAml.cpp:81
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...
Definition: IsisAml.cpp:1150
int ParamListIncludeSize(const int &group, const int &param, const int &option) const
Returns the number of items in a parameters list include section.
Definition: IsisAml.cpp:1706
QString GetFileName(const QString &paramName, QString extension="") const
Allows the retrieval of a value for a parameter of type &quot;filename&quot;.
Definition: IsisAml.cpp:623
QString ParamListDescription(const int &group, const int &param, const int &option) const
Returns the full description for a specific option to a parameter.
Definition: IsisAml.cpp:1661
void PutInteger(const QString &paramName, const int &value)
Allows the insertion of a value for a parameter of type &quot;integer&quot;.
Definition: IsisAml.cpp:291
int ParamListExcludeSize(const int &group, const int &param, const int &option) const
Returns the number of items in a parameters list exclude section.
Definition: IsisAml.cpp:1676
void StartParser(const char *xmlfile)
Starts parsing an application xml file.
Definition: IsisAml.cpp:3019
QString Brief() const
Returns the brief description of the program.
Definition: IsisAml.cpp:1084
bool GetBoolean(const QString &paramName) const
Allows the retrieval of a value for a parameter of type &quot;boolean&quot;.
Definition: IsisAml.cpp:989
QString HelperButtonName(const int &group, const int &param, const int &helper) const
Returns the name of the helper button.
Definition: IsisAml.cpp:1784
QString HelperFunction(const int &group, const int &param, const int &helper) const
Returns the name of the helper function.
Definition: IsisAml.cpp:1798
QString ParamLessThan(const int &group, const int &param, const int &great) const
Returns the name of the specified lessThan parameter.
Definition: IsisAml.cpp:1433
XERCES::SAX2XMLReader * parser
The XML file parser.
Definition: IsisAml.h:354
QString GetAsString(const QString &paramName) const
Allows the retrieval of a value for a parameter of any type.
Definition: IsisAml.cpp:553
QString Version() const
Returns the application version date.
Definition: IsisAml.cpp:3003
QString ParamListExclude(const int &group, const int &param, const int &option, const int &exclude) const
Returns the parameter name to be excluded if this option is selected.
Definition: IsisAml.cpp:1691
QString ParamMinimumInclusive(const int &group, const int &param) const
Returns whether the minimum value is inclusive or not.
Definition: IsisAml.cpp:1300
double GetDouble(const QString &paramName) const
Allows the retrieval of a value for a parameter of type &quot;double&quot;.
Definition: IsisAml.cpp:907
QString ParamInclude(const int &group, const int &param, const int &include) const
Returns the name of the specified included parameter.
Definition: IsisAml.cpp:1493
QString ParamType(const int &group, const int &param) const
Returns the parameter type of a parameter in a specified group.
Definition: IsisAml.cpp:1508
int ParamLessThanOrEqualSize(const int &group, const int &param) const
Returns the number of values in the parameters less than or equal list.
Definition: IsisAml.cpp:1377
void PutBoolean(const QString &paramName, const bool &value)
Allows the insertion of a value for a parameter of type &quot;boolean&quot;.
Definition: IsisAml.cpp:462
bool StringToBool(QString value) const
Returns a boolean value based on the QString contents.
Definition: IsisAml.cpp:2883
void PutFileName(const QString &paramName, const QString &value)
Allows the insertion of a value for a parameter of type &quot;filename&quot;.
Definition: IsisAml.cpp:211
QString ParamExclude(const int &group, const int &param, const int &exclude) const
Returns the name of the specified excluded parameter.
Definition: IsisAml.cpp:1478
Manipulate and parse attributes of output cube filenames.
int ParamLessThanSize(const int &group, const int &param) const
Returns the number of values in the parameters less than list.
Definition: IsisAml.cpp:1365
void PutString(const QString &paramName, const QString &value)
Allows the insertion of a value for any parameter.
Definition: IsisAml.cpp:144
QString ParamGreaterThan(const int &group, const int &param, const int &great) const
Returns the name of the specified greaterThan parameter.
Definition: IsisAml.cpp:1403
QString ParamName(const int &group, const int &param) const
Returns the parameter name.
Definition: IsisAml.cpp:1235
Isis::CubeAttributeInput & GetInputAttribute(const QString &paramName)
Gets the attributes for an input cube.
Definition: IsisAml.cpp:1890
void Clear(const QString &paramName)
Clears the value(s) in the named parameter.
Definition: IsisAml.cpp:1868
QString PixelType(const int &group, const int &param) const
Returns the default pixel type from the XML.
Definition: IsisAml.cpp:1759
void Verify(const IsisParameterData *param)
Throws an Isis::iExceptionXxxxxxxx if the parameter value(s) is invalid.
Definition: IsisAml.cpp:2033
Container for cube-like labels.
Definition: Pvl.h:135
QString HelperBrief(const int &group, const int &param, const int &helper) const
Returns the brief description of the helper button.
Definition: IsisAml.cpp:1812
~IsisAml()
Destructs an IsisAml object.
Definition: IsisAml.cpp:61
QString ParamFileMode(const int &group, const int &param) const
Returns the file mode for a parameter in a specified group.
Definition: IsisAml.cpp:1597
QString ParamListValue(const int &group, const int &param, const int &option) const
Returns the option value for a specific option to a parameter.
Definition: IsisAml.cpp:1631
QString ParamOdd(const int &group, const int &param) const
Returns whether the selected parameter has a restriction on odd values or not.
Definition: IsisAml.cpp:1327
Application program XML file parameter manager.
Definition: IsisAml.h:152
Isis::CubeAttributeOutput & GetOutputAttribute(const QString &paramName)
Gets the attributes for an output cube.
Definition: IsisAml.cpp:1935
IsisXMLApplication * appHandler
The application handler.
Definition: IsisAml.h:356
QString ParamBrief(const int &group, const int &param) const
Returns the brief description of a parameter in a specified group.
Definition: IsisAml.cpp:1248
QString ProgramName() const
Returns the Program name.
Definition: IsisAml.cpp:1073
int NumGroups() const
Returns the number of groups found in the XML.
Definition: IsisAml.cpp:1103
QString ParamDescription(const int &group, const int &param) const
Returns the long description of a parameter in a specified group.
Definition: IsisAml.cpp:1261
QString GetString(const QString &paramName) const
Allows the retrieval of a value for a parameter of type &quot;string&quot;.
Definition: IsisAml.cpp:708
QString ParamNotEqual(const int &group, const int &param, const int &notEq) const
Returns the name of the specified notEqual parameter.
Definition: IsisAml.cpp:1463
void VerifyAll()
Verify all parameters.
Definition: IsisAml.cpp:2403
QString ParamGreaterThanOrEqual(const int &group, const int &param, const int &great) const
Returns the name of the specified greaterThanOrEqual parameter.
Definition: IsisAml.cpp:1418
bool WasEntered(const QString &paramName) const
Returns a true if the parameter has a value, and false if it does not.
Definition: IsisAml.cpp:1852
QString ParamInternalDefault(const int &group, const int &param) const
Returns the internal default for a parameter in a specified group.
Definition: IsisAml.cpp:1540
void CommandLine(Isis::Pvl &lab) const
Creates a QString which could be used as a command line.
Definition: IsisAml.cpp:2926
void CheckFileNamePreference(QString filename, QString paramname)
This method checks whether the user preferences are set to allow overwrites of existing files...
Definition: IsisAml.cpp:2383
int ParamListSize(const int &group, const int &param) const
Returns the number of options in the specified parameter&#39;s list.
Definition: IsisAml.cpp:1617
QString ParamListInclude(const int &group, const int &param, const int &option, const int &include) const
Returns the parameter name to be included if this option is selected.
Definition: IsisAml.cpp:1721
QString ParamLessThanOrEqual(const int &group, const int &param, const int &les) const
Returns the name of the specified lessThanOrEqual parameter.
Definition: IsisAml.cpp:1448
int ParamGreaterThanSize(const int &group, const int &param) const
Returns the number of values in the parameters greater than list.
Definition: IsisAml.cpp:1340
void PutDouble(const QString &paramName, const double &value)
Allows the insertion of a value for a parameter of type &quot;double&quot;.
Definition: IsisAml.cpp:377
QString GroupName(const int &group) const
Returns the group name of group[index].
Definition: IsisAml.cpp:1114
QString ParamMaximumInclusive(const int &group, const int &param) const
Returns whether the maximum value is inclusive or not.
Definition: IsisAml.cpp:1313

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:20:48