hyperion.ng
IntOption.h
1 #ifndef HYPERION_INTCOMMANDLINEOPTION_H
2 #define HYPERION_INTCOMMANDLINEOPTION_H
3 
4 #include <limits>
5 #include <QtCore>
6 #include "ValidatorOption.h"
7 
8 namespace commandline
9 {
10 
12 {
13 protected:
14  int _int;
15 public:
16  IntOption(const QString &name,
17  const QString &description = QString(),
18  const QString &valueName = QString(),
19  const QString &defaultValue = QString(),
20  int minimum = std::numeric_limits<int>::min(), int maximum = std::numeric_limits<int>::max())
21  : ValidatorOption(name, description, valueName, defaultValue)
22  { setValidator(new QIntValidator(minimum, maximum)); }
23  IntOption(const QStringList &names,
24  const QString &description = QString(),
25  const QString &valueName = QString(),
26  const QString &defaultValue = QString(),
27  int minimum = std::numeric_limits<int>::min(), int maximum = std::numeric_limits<int>::max())
28  : ValidatorOption(names, description, valueName, defaultValue)
29  { setValidator(new QIntValidator(minimum, maximum)); }
30  IntOption(const QCommandLineOption &other,
31  int minimum = std::numeric_limits<int>::min(), int maximum = std::numeric_limits<int>::max())
32  : ValidatorOption(other)
33  { setValidator(new QIntValidator(minimum, maximum)); }
34 
35  int getInt(Parser &parser, bool *ok = 0, int base = 10);
36  int *getIntPtr(Parser &parser, bool *ok = 0, int base = 10);
37 };
38 
39 }
40 
41 #endif //HYPERION_INTCOMMANDLINEOPTION_H
Definition: IntOption.h:11
Definition: BooleanOption.h:8
Definition: ValidatorOption.h:11
Definition: Parser.h:19