+++ /dev/null
-#include "options.h"
-
-#include <iostream>
-#include <QApplication>
-
-
-using namespace std;
-
-
-Option::Option()
-{
- name="";
- sName="";
- lName="";
- type=Switch;
- sarg="";
- active=false;
-}
-
-Option::Option (const QString &n, const Type &t, const QString &s, const QString &l)
-{
- sName="-"+s;
- lName="--"+l;
- type=t;
- name=n;
-}
-
-void Option::set(const QString &n, const Type &t, const QString &s, const QString &l)
-{
- sName="-"+s;
- lName="--"+l;
- type=t;
- name=n;
-}
-
-QString Option::getName () { return name; }
-QString Option::getShort () { return sName; }
-QString Option::getLong() { return lName; }
-Option::Type Option::getType() { return type; }
-void Option::setArg(const QString& s) { sarg=s; }
-QString Option::getArg() { return sarg; }
-void Option::setActive() { active=true; }
-bool Option::isActive() { return active; }
-
-///////////////////////////////////////////////////////////////
-Options::Options() {}
-
-int Options::parse()
-{
- QStringList arglist=qApp->arguments();
-
- // Get program name
- progname=arglist.first();
- arglist.pop_front();
-
- // Work through rest of options
- bool isFile;
- int i=0;
- for (i=0; i< arglist.size(); ++i)
- {
- isFile=true;
- if (arglist[i].left(1)=="-")
- {
- // Compare given option to all defined options
- for (int j=0; j < optlist.size(); ++j)
- {
- if (arglist.at(i)==optlist.value(j).getShort() ||
- arglist.at(i)==optlist.value(j).getLong())
- {
- optlist[j].setActive();
- isFile=false;
- if (optlist[j].getType()==Option::String)
- {
- i++;
- if (i==arglist.size())
- {
- qWarning ("Error: argument to option missing");
- return 1;
- }
- optlist[j].setArg (arglist[i]);
- isFile=false;
- }
- break;
- }
- }
- if (isFile)
- {
- qWarning("Error: Unknown argument ");
- return 1;
- }
- } else
- filelist.append (arglist[i]);
- }
- return 0;
-}
-
-void Options::add (Option o)
-{
- optlist.append (o);
-}
-
-void Options::add (const QString &n, const Option::Type &t=Option::Switch, const QString &s="", const QString &l="")
-{
- Option o;
- o.set (n,t,s,l);
- optlist.append (o);
-}
-
-void Options::setHelpText (const QString &s)
-{
- helptext=s;
-}
-
-QString Options::getHelpText ()
-{
- return helptext;
-}
-
-QString Options::getProgramName()
-{
- return progname;
-}
-
-QStringList Options::getFileList ()
-{
- return filelist;
-}
-
-bool Options::isOn(const QString &s)
-{
- for (int i=0; i<optlist.size(); ++i)
- if (optlist[i].getName()==s && optlist[i].isActive() )
- return true;
- return false;
-}
-
-QString Options::getArg(const QString &s)
-{
- for (int i=0; i<optlist.size(); ++i)
- if (optlist[i].getName()==s) return optlist[i].getArg();
- return QString();
-}