C:/sources/c++/buddhabrot/buddhabrot/commandlinearguments.cpp

Go to the documentation of this file.
00001 /*
00002 Copyright 2010 Pierre SCHWARTZ
00003 
00004 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
00005 documentation files (the "Software"), to deal in the Software without restriction, including without 
00006 limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 
00007 of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following 
00008 conditions: The above copyright notice and this permission notice shall be included in all copies or 
00009 substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
00010 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
00011 PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
00012 DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 
00013 OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
00014 */
00023 #include "commandlinearguments.h"
00024 
00028 CommandLineArguments::CommandLineArguments(int argc, char **argv){
00029         for (int i=0; i<argc; i++)
00030                 data << QString(argv[i]);
00031 }
00032 
00033 CommandLineArguments::~CommandLineArguments(){
00034 }
00035 
00039 QString CommandLineArguments::getFractale(){
00040         QStringList::const_iterator constIterator;
00041     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00042                 if ( constIterator->startsWith(QString("--fractale="))){
00043                         return constIterator->mid(QString("--fractale=").length());
00044                 }
00045         
00046         return QString();
00047 }
00048 
00052 QString CommandLineArguments::getOutput(){
00053         QStringList::const_iterator constIterator;
00054     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00055                 if ( constIterator->startsWith(QString("--output="))){
00056                         return constIterator->mid(QString("--output=").length());
00057                 }
00058         
00059         return QString();
00060 }
00061 
00065 bool CommandLineArguments::getAleatoire(){
00066         QStringList::const_iterator constIterator;
00067     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00068                 if ( constIterator->startsWith(QString("--random="))){
00069                         if (constIterator->mid(QString("--random=").length()) == QString("true"))
00070                                 return true;
00071                         else
00072                                 return false;
00073                 }
00074         
00075         return false;
00076 }
00077 
00081 bool CommandLineArguments::isNetworkAgent(){
00082         QStringList::const_iterator constIterator;
00083     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00084                 if ( constIterator->startsWith(QString("--runas="))){
00085                         if (constIterator->mid(QString("--runas=").length()) == QString("netagent"))
00086                                 return true;
00087                         else
00088                                 return false;
00089                 }
00090         
00091         return false;
00092 }
00093 
00097 QRectF CommandLineArguments::getWindow(){
00098         QString sDisplay;
00099         QStringList::const_iterator constIterator;
00100     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00101                 if ( constIterator->startsWith(QString("--window="))){
00102                          sDisplay = constIterator->mid(QString("--window=").length());
00103                          QStringList l = sDisplay.split(QChar(':'));
00104                          if (l.length() == 4)
00105                                  return QRectF(l[1].toFloat(), l[0].toFloat(), l[3].toFloat(), l[2].toFloat());
00106                 }       
00107         
00108         return QRectF(-2,-2,4,4);
00109 }
00110 
00114 QSize CommandLineArguments::getResolution(){
00115         QStringList::const_iterator constIterator;
00116     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00117                 if ( constIterator->startsWith(QString("--reso="))){
00118                         int reso = constIterator->mid(QString("--reso=").length()).toInt();                      
00119                         return QSize(reso, reso);
00120                 }
00121         
00122         return QSize(128,128);
00123 }
00124 
00128 int CommandLineArguments::getIterations(){
00129         QStringList::const_iterator constIterator;
00130     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00131                 if ( constIterator->startsWith(QString("--iterations=")))
00132                         return constIterator->mid(QString("--iterations=").length()).toInt();
00133         
00134         return 70;
00135 }
00136 
00140 int CommandLineArguments::getOffset(){
00141         QStringList::const_iterator constIterator;
00142     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00143                 if ( constIterator->startsWith(QString("--offset=")))
00144                         return constIterator->mid(QString("--offset=").length()).toInt();
00145         
00146         return 1;
00147 }
00148 
00152 int CommandLineArguments::getStep(){
00153         QStringList::const_iterator constIterator;
00154     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00155                 if ( constIterator->startsWith(QString("--step=")))
00156                         return constIterator->mid(QString("--step=").length()).toInt();
00157         
00158         return 1;
00159 }
00160 
00164 long CommandLineArguments::getRandomCount(){
00165         QStringList::const_iterator constIterator;
00166     for (constIterator = data.constBegin(); constIterator != data.constEnd();  ++constIterator)
00167                 if ( constIterator->startsWith(QString("--random=")))
00168                         return constIterator->mid(QString("--random=").length()).toLong();
00169         
00170         return 1000;
00171 }

Generated on Fri Feb 26 21:07:52 2010 for BuddhaBrot by  doxygen 1.4.6-NO