ctkCommandLineParser.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef __ctkCommandLineParser_h
  2. #define __ctkCommandLineParser_h
  3. // Qt includes
  4. #include <QString>
  5. #include <QStringList>
  6. // CTK includes
  7. #include "CTKCoreExport.h"
  8. // --------------------------------------------------------------------------
  9. class CTK_CORE_EXPORT ctkCommandLineParser
  10. {
  11. public:
  12. ctkCommandLineParser();
  13. ~ctkCommandLineParser();
  14. bool parseArguments(const QStringList& arguments);
  15. QString errorString();
  16. const QStringList& unparsedArguments();
  17. bool argumentAdded(const QString& argument);
  18. bool argumentParsed(const QString& argument);
  19. void addBooleanArgument(const char* longarg, const char* shortarg, bool* var,
  20. const QString& argHelp = QString(), const bool& defaultValue = false,
  21. bool ignoreRest = false);
  22. void addStringArgument(const char* longarg, const char* shortarg, QString* var,
  23. const QString& argHelp = QString(), const QString& defaultValue = QString(),
  24. bool ignoreRest = false);
  25. void addIntegerArgument(const char* longarg, const char* shortarg, int* var,
  26. const QString& argHelp = QString(), const int& defaultValue = 0,
  27. bool ignoreRest = false);
  28. void addStringListArgument(const char* longarg, const char* shortarg, QStringList* var,
  29. const QString& argHelp = QString(),
  30. const QStringList& defaultValue = QStringList());
  31. bool setExactMatchRegularExpression(const QString& argument, const QString& expression,
  32. const QString& ExactMatchFailedMessage);
  33. int fieldWidth();
  34. QString helpText(const char charPad = ' ');
  35. private:
  36. class ctkInternal;
  37. ctkInternal * Internal;
  38. };
  39. #endif