From d45132e06b72cfe2f006e400bdc0094370c53596 Mon Sep 17 00:00:00 2001 From: ponchio Date: Wed, 12 Feb 2014 15:19:43 +0000 Subject: [PATCH] added supporto for non variant arguments --- wrap/system/qgetopt.cpp | 38 +++++++++++++++++++++++++++++++++----- wrap/system/qgetopt.h | 6 ++++++ 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/wrap/system/qgetopt.cpp b/wrap/system/qgetopt.cpp index ff48230b..7c6e054e 100644 --- a/wrap/system/qgetopt.cpp +++ b/wrap/system/qgetopt.cpp @@ -69,12 +69,40 @@ void GetOpt::addOption(char s, const QString &name, const QString &description, //add an argument void GetOpt::addArgument(const QString &name, const QString &description, QVariant *v) { Option option; - assert(!findArg(name, option)); - option.type = Option::ARGUMENT; - option.name = name; - option.description = description; option.value = v; - options.push_back(option); + addArgument(name, description, option); +} + +void GetOpt::addArgument(const QString &name, const QString &description, QString *v) { + Option option; + option.string_value = v; + addArgument(name, description, option); +} + +void GetOpt::addArgument(const QString &name, const QString &description, double *v) { + Option option; + option.double_value = v; + addArgument(name, description, option); +} + +void GetOpt::addArgument(const QString &name, const QString &description, int *v) { + Option option; + option.int_value = v; + addArgument(name, description, option); +} + +void GetOpt::addArgument(const QString &name, const QString &description, bool *v) { + Option option; + option.boolean_value = v; + addArgument(name, description, option); +} + +void GetOpt::addArgument(const QString &name, const QString &description, Option option) { + assert(!findArg(name, option)); + option.type = Option::ARGUMENT; + option.name = name; + option.description = description; + options.push_back(option); } void GetOpt::addOption(char s, const QString &longname, const QString &description, QString *v) { diff --git a/wrap/system/qgetopt.h b/wrap/system/qgetopt.h index 4141d86a..a5460ee4 100644 --- a/wrap/system/qgetopt.h +++ b/wrap/system/qgetopt.h @@ -89,6 +89,11 @@ class GetOpt { //add an argument void addArgument(const QString &name, const QString &description, QVariant *v); + void addArgument(const QString &name, const QString &description, QString *v); + void addArgument(const QString &name, const QString &description, double *v); + void addArgument(const QString &name, const QString &description, int *v); + void addArgument(const QString &name, const QString &description, bool *v); + void addArgument(const QString &name, const QString &description, Option option); //add an optional agrument void addOptionalArgument(const QString &name, const QString &description, QVariant *v); @@ -120,3 +125,4 @@ class GetOpt { }; #endif +