Go to the documentation of this file.00001
00004 #ifndef BPSCMDLINEPARSER_H
00005 #define BPSCMDLINEPARSER_H
00006
00007 #include "bpscore_global.h"
00008 #include <QObject>
00009 #include <QScriptable>
00010 #include <QString>
00011 #include <QStringList>
00012
00095 class BPSCORE_EXPORT BpsCmdlineParser : public QObject, protected QScriptable
00096 {
00097 Q_OBJECT
00098 BPS_PRIVATE(BpsCmdlineParser)
00099
00100 public:
00101
00106 BpsCmdlineParser(QObject* aParent = 0);
00107
00108 virtual ~BpsCmdlineParser();
00109
00110 public slots:
00111
00125 BpsCmdlineParser& setDescription(const QString& aDescription);
00126
00132 BpsCmdlineParser& setProgram(const QString& aName);
00133
00143 BpsCmdlineParser& addMandatory(const QString& aParam);
00144
00155 BpsCmdlineParser& addOptional(const QString& aParam);
00156
00166 BpsCmdlineParser& addOptionals(const QString& aParam);
00167
00179 BpsCmdlineParser& addSwitch(QChar aKey, const QString& aName, const QString& aInfo);
00180
00194 BpsCmdlineParser& addHelpSwitch(QChar aKey, const QString& aName, const QString& aInfo);
00195
00208 BpsCmdlineParser& addOption(QChar aKey, const QString& aName, const QString& aParam, const QString& aInfo);
00209
00216 BpsCmdlineParser& parse();
00217
00222 QString program() const;
00223
00229 QString mandatory(const QString& aParam) const;
00230
00237 QString optional(const QString& aParam) const;
00238
00244 QStringList optionals() const;
00245
00252 bool switchState(QChar aKey, const QString& aName = QString()) const;
00253
00261 QString option(QChar aKey, const QString& aName = QString()) const;
00262
00300 QString help(int aWidth = 79) const;
00301
00302 };
00303
00304 #endif // BPSCMDLINEPARSER_H