DomainDecomposition/GenerateShapeTopology/generateshapetopology.cpp

Go to the documentation of this file.
00001 #include <QtGui>
00002 #include "generateshapetopology.h"
00003 
00004 #include "../../pihmLIBS/generatePolyFile.h"
00005 #include "../../pihmLIBS/helpDialog/helpdialog.h"
00006 
00007 #include <fstream>
00008 using namespace std;
00009 
00010 generateShapeTopologyDlg::generateShapeTopologyDlg(QWidget *parent)
00011 {
00012         setupUi(this);
00013         connect(inputBrowseButton, SIGNAL(clicked()), this, SLOT(inputBrowse()));
00014         connect(outputBrowseButton, SIGNAL(clicked()), this, SLOT(outputBrowse()));
00015         connect(okButton, SIGNAL(clicked()), this, SLOT(run()));
00016         connect(helpButton, SIGNAL(clicked()), this, SLOT(help()));
00017         connect(cancelButton, SIGNAL(clicked()), this, SLOT(close()));
00018 }
00019 
00020 void generateShapeTopologyDlg::inputBrowse()
00021 {
00022         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","Shape File(*.shp *.SHP)");
00023         inputFileLineEdit->setText(str);
00024 }
00025 
00026 
00027 void generateShapeTopologyDlg::outputBrowse()
00028 {
00029         QString temp = QFileDialog::getSaveFileName(this, "Choose File", "~/","Poly File(*.poly)");
00030         QString tmp = temp;
00031         if(!(tmp.toLower()).endsWith(".poly")){
00032                 tmp.append(".poly");
00033                 temp = tmp;
00034         }
00035         
00036         outputFileLineEdit->setText(temp);
00037 }
00038 
00039 
00040 void generateShapeTopologyDlg::run()
00041 {
00042 
00043         QString logFileName("c:\log.html");
00044         ofstream log;
00045         log.open(logFileName.ascii());
00046         log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
00047         log.close();
00048         MessageLog->setSource(logFileName);
00049         MessageLog->setFocus();
00050         MessageLog->setModified(TRUE);
00051 
00052 
00053         QString inputFileName((inputFileLineEdit->text()));
00054         QString outputFileName((outputFileLineEdit->text()));
00055 
00056         ifstream inFile;      inFile.open((inputFileLineEdit->text()).ascii());
00057         ofstream outFile;    outFile.open((outputFileLineEdit->text()).ascii());
00058         int runFlag = 1;
00059 
00060         log.open(logFileName.ascii(), ios::app);
00061         if(inputFileName.length()==0){
00062                 log<<"<p><font size=3 color=red> Error! Please input Flow Acc. Grid Input File</p>";
00063                 runFlag = 0;
00064         }
00065         else{
00066                 log<<"<p>Checking... "<<inputFileName.ascii()<<"... ";
00067                 if(inFile == NULL){
00068                         log<<"<font size=3 color=red> Error!</p>";
00069                         qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00070                         runFlag = 0;
00071                 }
00072                 else
00073                         log<<"Done!</p>";
00074         }
00075         log.close();
00076         MessageLog->reload();
00077         QApplication::processEvents();
00078 
00079         log.open(logFileName.ascii(), ios::app);
00080         if(outputFileName.length()==0){
00081                 log<<"<p><font size=3 color=red> Error! Please input Stream Grid Output File</p>";
00082                 runFlag = 0;
00083         }
00084         else{
00085                 log<<"<p>Checking... "<<outputFileName.ascii()<<"... ";
00086                 if(outFile == NULL){
00087                         log<<"<font size=3 color=red> Error!</p>";
00088                         qWarning("\nCan not open output file name");
00089                         runFlag = 0;
00090                 }
00091                 else
00092                         log<<"Done!</p>";
00093         }
00094         log.close();
00095         MessageLog->reload();
00096         QApplication::processEvents();
00097 
00098 
00099         
00100         
00101         //ifstream temp(inputFileName.ascii());
00102         
00103         //if(inputFileName.length()==0)
00104         //      qWarning("\n Enter Shape File");
00105         //else if(outputFileName.length()==0)
00106         //      qWarning("\n Enter poly file");
00107         //else if(temp==NULL)
00108         //      qWarning("\n %s doesn't exist!", inputFileName.ascii());
00109         //else
00110                 
00111         if(runFlag == 1){
00112                 log.open(logFileName.ascii(), ios::app);
00113                 log<<"<p>Running...";
00114                 log.close();
00115                 MessageLog->reload();
00116                 QApplication::processEvents();
00117 
00118                 generatePolyFile(inputFileName.ascii(), outputFileName.ascii(), "dummy");
00119 
00120                 log.open(logFileName.ascii(), ios::app);
00121                 log<<" Done!</p>";
00122                 log.close();
00123                 MessageLog->reload();
00124                 QApplication::processEvents();
00125         }
00126 }
00127                         
00128 
00129 
00130 void generateShapeTopologyDlg::help()
00131 {
00132         helpDialog* hlpDlg = new helpDialog(this, "Read Shape Topology", 1, "helpFiles/readshapetopology.html", "Help :: Read Shape Topology");
00133         hlpDlg->show(); 
00134 
00135 }

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