ExtractData/paraFile/parafile.cpp

Go to the documentation of this file.
00001 #include <QtGui>
00002 #include "parafile.h"
00003 
00004 #include <iomanip>
00005 #include <fstream>
00006 using namespace std;
00007 
00008 #include "../../pihmLIBS/helpDialog/helpdialog.h"
00009 
00010 paraFileDlg::paraFileDlg(QWidget *parent)
00011 {
00012         setupUi(this);
00013         connect(paraFileButton, SIGNAL(clicked()), this, SLOT(paraBrowse()));
00014         connect(okButton, SIGNAL(clicked()), this, SLOT(run()));
00015         connect(helpButton, SIGNAL(clicked()), this, SLOT(help()));
00016         connect(cancelButton, SIGNAL(clicked()), this, SLOT(close()));
00017 }
00018 
00019 void paraFileDlg::paraBrowse()
00020 {
00021         QString temp = QFileDialog::getSaveFileName(this, "Choose File", "~/","para File(*.para *.PARA)");
00022         QString tmp = temp;
00023         if(!(tmp.toLower()).endsWith(".para")){
00024                 tmp.append(".para");
00025                 temp = tmp;
00026         }
00027         paraFileLineEdit->setText(temp);        
00028 }
00029 
00030 
00031 void paraFileDlg::run()
00032 {
00033 
00034         QString logFileName("c:\log.html");
00035         ofstream log;
00036         log.open(logFileName.ascii());
00037         log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
00038         log.close();
00039         MessageLog->setSource(logFileName);
00040         MessageLog->setFocus();
00041         MessageLog->setModified(TRUE);
00042 
00043         ofstream parameters;
00044         parameters.open((paraFileLineEdit->text()).ascii(), ios::out);
00045 
00046         int runFlag = 1;
00047 
00048         /*
00049         if(parameters==NULL){
00050                 qWarning("\nPlease input para file name");
00051                 runFlag=0;
00052         }*/
00053 
00054         log.open(logFileName.ascii(), ios::app);
00055         if((paraFileLineEdit->text()).length()==0){
00056                 log<<"<p><font size=3 color=red> Error! Please input .para Output File</p>";
00057                 runFlag = 0;
00058         }
00059         else{
00060                 log<<"<p>Checking... "<<(paraFileLineEdit->text()).ascii()<<"... ";
00061                 if(parameters == NULL){
00062                         log<<"<font size=3 color=red> Error!</p>";
00063                         //qWarning("\nCan not open output file name");
00064                         runFlag = 0;
00065                 }
00066                 else
00067                         log<<"Done!</p>";
00068         }
00069         log.close();
00070         MessageLog->reload();
00071         QApplication::processEvents();
00072 
00073         
00074         log.open(logFileName.ascii(), ios::app);
00075         log<<"<p><font size=3 color=black>Checking Krylov Dimension..."; 
00076         if(KDlineEdit->text().length()==0){
00077                 log<<"<font size=3 color=red>Error!</p>";
00078                 runFlag=0;
00079                 qWarning("\nPlease enter Krylov Dimension");
00080                 //out<<"<p><font size=2 color=red>Please enter Krylov Dimension</font></p>";
00081         }
00082         else
00083                 log<<"Done</p>";
00084         log.close();
00085         MessageLog->reload();
00086         QApplication::processEvents();
00087 
00088         log.open(logFileName.ascii(), ios::app);
00089         log<<"<p><font size=3 color=black>Checking Convergence Threshold...";
00090         if(CTlineEdit->text().length()==0){
00091                 log<<"<font size=3 color=red>Error!</p>";
00092                 runFlag=0;
00093                 qWarning("\nPlease enter Convergence Tolerance");
00094                 //out<<"<p><font size=2 color=red>Please enter Convergence Tolerance</font></p>";
00095         }
00096         else
00097                 log<<"Done</p>";
00098         log.close();
00099         MessageLog->reload();
00100         QApplication::processEvents();
00101 
00102         log.open(logFileName.ascii(), ios::app);
00103         log<<"<p><font size=3 color=black>Checking Absolute Tolerance...";
00104         if(ATlineEdit->text().length()==0){
00105                 log<<"<font size=3 color=red>Error!</p>";
00106                 runFlag=0;
00107                 qWarning("\nPlease enter Absolute Tolerance");
00108                 //out<<"<p><font size=2 color=red>Please enter Absolute Tolerance</font></p>";
00109         }
00110         else
00111                 log<<"Done</p>";
00112         log.close();
00113         MessageLog->reload();
00114         QApplication::processEvents();
00115 
00116 
00117         log.open(logFileName.ascii(), ios::app);
00118         log<<"<p><font size=3 color=black>Checking Relative Tolerance...";
00119         if(RTlineEdit->text().length()==0){
00120                 log<<"<font size=3 color=red>Error!</p>";
00121                 runFlag=0;
00122                 qWarning("\nPlease enter Relative Tolerance");
00123                 //out<<"<p><font size=2 color=red>Please enter Relative Tolerance</font></p>";
00124         }
00125         else
00126                 log<<"Done</p>";
00127         log.close();
00128         MessageLog->reload();
00129         QApplication::processEvents();
00130 
00131         log.open(logFileName.ascii(), ios::app);
00132         log<<"<p><font size=3 color=black>Checking Initial Step...";
00133         if(ISlineEdit->text().length()==0){
00134                 log<<"<font size=3 color=red>Error!</p>";
00135                 runFlag=0;
00136                 qWarning("\nPlease enter Initial Time Step");
00137                 //out<<"<p><font size=2 color=red>Please enter Initial Time Step</font></p>";
00138         }
00139         else
00140                 log<<"Done</p>";
00141         log.close();
00142         MessageLog->reload();
00143         QApplication::processEvents();
00144 
00145         log.open(logFileName.ascii(), ios::app);
00146         log<<"<p><font size=3 color=black>Checking Maximum Step...";
00147         if(MSlineEdit->text().length()==0){
00148                 log<<"<font size=3 color=red>Error!</p>";
00149                 runFlag=0;
00150                 qWarning("\nPlease enter Maximum Time Step");
00151                 //out<<"<p><font size=2 color=red>Please enter Maximum Time Step</font></p>";
00152         }
00153         else
00154                 log<<"Done</p>";
00155         log.close();
00156         MessageLog->reload();
00157         QApplication::processEvents();
00158 
00159         
00160         log.open(logFileName.ascii(), ios::app);
00161         log<<"<p><font size=3 color=black>Checking Start Time...";
00162         if(STlineEdit->text().length()==0){
00163                 log<<"<font size=3 color=red>Error!</p>";
00164                 runFlag=0;
00165                 qWarning("\nPlease enter Start Time");
00166                 //out<<"<p><font size=2 color=red>Please enter Start Time</font></p>";
00167         }
00168         else
00169                 log<<"Done</p>";
00170         log.close();
00171         MessageLog->reload();
00172         QApplication::processEvents();
00173 
00174 
00175         log.open(logFileName.ascii(), ios::app);
00176         log<<"<p><font size=3 color=black>Checking End Time...";
00177         if(ETlineEdit->text().length()==0){
00178                 log<<"<font size=3 color=red>Error!</p>";
00179                 runFlag=0;
00180                 qWarning("\nPlease enter End Time");
00181                 //out<<"<p><font size=2 color=red>Please enter End Time</font></p>";
00182         }
00183         else
00184                 log<<"Done</p>";
00185         log.close();
00186         MessageLog->reload();
00187         QApplication::processEvents();
00188 
00189 
00190         log.open(logFileName.ascii(), ios::app);
00191         log<<"<p><font size=3 color=black>Checking Step Size...";
00192         if(a_lineEdit->text().length()==0){
00193                 log<<"<font size=3 color=red>Error!</p>";
00194                 runFlag=0;
00195                 qWarning("\nPlease enter Step Size Factor (a)");
00196                 //out<<"<p><font size=2 color=red>Please enter Step Size Factor (a)</font></p>";
00197         }
00198         else
00199                 log<<"Done</p>";
00200         log.close();
00201         MessageLog->reload();
00202         QApplication::processEvents();
00203 
00204 
00205         log.open(logFileName.ascii(), ios::app);
00206         log<<"<p><font size=3 color=black>Checking Base Step Size...";
00207         if(b_lineEdit->text().length()==0){
00208                 log<<"<font size=3 color=red>Error!</p>";
00209                 runFlag=0;
00210                 qWarning("\nPlease enter Base Step Size (b)");
00211                 //out<<"<p><font size=2 color=red>Please enter Base Step Size (b)</font></p>";
00212         }
00213         else
00214                 log<<"Done</p>";
00215         log.close();
00216         MessageLog->reload();
00217         QApplication::processEvents();
00218 
00219 
00220         if(runFlag == 1){
00221 
00222                 log.open(logFileName.ascii(), ios::app);
00223                 log<<"<p>Writing .para file...";
00224                 log.close();
00225                 MessageLog->reload();
00226                 QApplication::processEvents();
00227 
00228 
00229                 if(verboseCheckBox->isChecked())
00230                         parameters<<"1\t";
00231                 else
00232                         parameters<<"0\t";
00233 
00234                 if(debugCheckBox->isChecked())
00235                         parameters<<"1\t";
00236                 else
00237                         parameters<<"0\t";
00238 
00239                 if(imComboBox->currentItem() == 0)
00240                         parameters<<"2\t";
00241                 else if(imComboBox->currentItem() == 1)
00242                         parameters<<"0\t";
00243                 else
00244                         parameters<<"1\t";
00245 
00246                 if(resFileCheckBox->isChecked())
00247                         parameters<<"1\t";
00248                 else
00249                         parameters<<"0\t";
00250 
00251                 if(fluxFileCheckBox->isChecked())
00252                         parameters<<"1\t";
00253                 else
00254                         parameters<<"0\t";
00255 
00256                 if(qFileCheckBox->isChecked())
00257                         parameters<<"1\t";
00258                 else
00259                         parameters<<"0\t";
00260 
00261                 if(etFileCheckBox->isChecked())
00262                         parameters<<"1\n";
00263                 else
00264                         parameters<<"0\n";
00265                 if(umComboBox->currentItem() == 0)
00266                         parameters<<"1\t";
00267                 else
00268                         parameters<<"2\t";
00269 
00270                 if(smComboBox->currentItem() == 0)
00271                         parameters<<"1\t";
00272                 else if(smComboBox->currentItem() == 1)
00273                         parameters<<"2\t";
00274                 else
00275                         parameters<<"3\t";
00276 
00277                 if(rmComboBox->currentItem() == 0)
00278                         parameters<<"1\n";
00279                 else if(rmComboBox->currentItem() == 1)
00280                         parameters<<"2\n";
00281                 else
00282                         parameters<<"3\n";
00283 
00284                 /************************************************/
00285 
00286                 if(DDradioButton->isChecked())
00287                         parameters<<"1\t";
00288                 else
00289                         parameters<<"2\t";
00290 
00291                 if(GScomboBox->currentItem() == 0)
00292                         parameters<<"1\t";
00293                 else
00294                         parameters<<"2\t";
00295 
00296                 parameters<<(KDlineEdit->text()).ascii()<<"\t";
00297 
00298                 parameters<<(CTlineEdit->text()).ascii()<<"\n";
00299 
00300                 /*************************************************/
00301 
00302                 parameters<<(ATlineEdit->text()).ascii()<<"\t";
00303 
00304                 parameters<<(RTlineEdit->text()).ascii()<<"\t";
00305 
00306                 parameters<<(ISlineEdit->text()).ascii()<<"\t";
00307 
00308                 parameters<<(MSlineEdit->text()).ascii()<<"\n";
00309 
00310 
00311 
00312                 log.open(logFileName.ascii(), ios::app);
00313                 log<<" Done!</p>";
00314                 log.close();
00315                 MessageLog->reload();
00316                 QApplication::processEvents();
00317 
00318         }       
00319 }
00320                         
00321 void paraFileDlg::help()
00322 {
00323         helpDialog* hlpDlg = new helpDialog(this, "Para File", 1, "helpFiles/parafile.html", "Help :: Para File");
00324         hlpDlg->show(); 
00325 }

Generated on Sun Aug 5 17:33:58 2007 for PIHMgis by  doxygen 1.5.2