ctkCommandLineParser.h 1.2 KB

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