insilmaril@0: #ifndef OPTIONS_H insilmaril@0: #define OPTIONS_H insilmaril@0: insilmaril@408: #include insilmaril@0: insilmaril@475: /*! \brief A single option which is listed in Options */ insilmaril@0: class Option insilmaril@0: { insilmaril@0: public: insilmaril@475: /*! Types of options */ insilmaril@475: enum Type { insilmaril@475: Switch, //!< No paramater insilmaril@475: String //!< Parameter is a string insilmaril@475: }; insilmaril@475: insilmaril@0: Option(); insilmaril@475: Option(const QString &, const Type &, const QString &, const QString &); insilmaril@475: void set (const QString &, const Type &, const QString &, const QString &); insilmaril@0: QString getName(); insilmaril@0: QString getShort(); insilmaril@0: QString getLong(); insilmaril@475: Type getType(); insilmaril@0: void setArg(const QString &); insilmaril@0: QString getArg(); insilmaril@0: void setActive(); insilmaril@0: bool isActive(); insilmaril@0: private: insilmaril@0: QString name; insilmaril@475: Type type; insilmaril@0: QString sName; insilmaril@0: QString lName; insilmaril@0: QString sarg; insilmaril@0: bool active; insilmaril@0: }; insilmaril@0: insilmaril@0: insilmaril@475: /*! \brief Simple class to deal with command line options */ insilmaril@475: insilmaril@0: class Options insilmaril@0: { insilmaril@0: public: insilmaril@0: Options(); insilmaril@0: int parse(); insilmaril@408: void add (Option ); insilmaril@475: void add (const QString &,const Option::Type &, const QString &, const QString&); insilmaril@0: void setHelpText(const QString&); insilmaril@0: QString getHelpText(); insilmaril@0: QString getProgramName(); insilmaril@0: QStringList getFileList(); insilmaril@0: bool isOn (const QString &); insilmaril@0: QString getArg (const QString &); insilmaril@0: insilmaril@0: private: insilmaril@0: QString progname; insilmaril@0: QString helptext; insilmaril@0: QStringList filelist; insilmaril@408: QList