hyperion.ng
ValidatorOption.h
1 #ifndef HYPERION_COMMANDLINEOPTION_H
2 #define HYPERION_COMMANDLINEOPTION_H
3 
4 #include <QtCore>
5 #include <QtGui>
6 #include <commandline/Option.h>
7 
8 namespace commandline
9 {
10 
11 class ValidatorOption: public Option
12 {
13 protected:
14  const QValidator *validator;
15  virtual void setValidator(const QValidator *validator);
16 public:
17  ValidatorOption(const QString &name,
18  const QString &description = QString(),
19  const QString &valueName = QString(),
20  const QString &defaultValue = QString(),
21  const QValidator *validator = nullptr)
22  : Option(name, description, valueName, defaultValue), validator(validator)
23  {}
24  ValidatorOption(const QStringList &names,
25  const QString &description = QString(),
26  const QString &valueName = QString(),
27  const QString &defaultValue = QString(),
28  const QValidator *validator = nullptr)
29  : Option(names, description, valueName, defaultValue), validator(validator)
30  {}
31  ValidatorOption(const QCommandLineOption &other,
32  const QValidator *validator = nullptr)
33  : Option(other), validator(validator)
34  {}
35 
36  virtual const QValidator *getValidator() const;
37  virtual bool validate(Parser & parser, QString &value) override;
38 };
39 
40 }
41 
42 #endif //HYPERION_COMMANDLINEOPTION_H
Definition: Option.h:13
Definition: BooleanOption.h:8
Definition: ValidatorOption.h:11
Definition: Parser.h:19