Brief description of class still missing. More...
#include <LiveModelReader.h>
Public Member Functions | |
| int | exec () |
| LiveModelReader () | |
| bool | setOptions (int &argc, char **argv) |
| ~LiveModelReader () | |
Protected Member Functions | |
| virtual bool | parse (QTextStream &s) |
Brief description of class still missing.
Full description of class still missing
Description of constructor still missing
References Results::Dispersion, and TRACE.
: ArgumentStdinReader() { TRACE; _curveType=Results::Dispersion; _readStdin=false; _scanCount=10; _w=0; }
| int LiveModelReader::exec | ( | ) |
References MainWindow::setBackground(), and TRACE.
Referenced by main().
{
TRACE;
Settings::getRect(_w, "MainWindow" );
_w->show();
_w->setBackground();
int appReturn=qApp->exec();
Settings::setRect(_w, "MainWindow" );
return appReturn;
}
| bool LiveModelReader::parse | ( | QTextStream & | s | ) | [protected, virtual] |
Implements QGpCoreTools::ArgumentStdinReader.
References MainWindow::addBackground(), QGpCoreWave::Seismic1DModel::fromStream(), QGpCoreWave::Seismic1DModel::layerCount(), MainWindow::scan(), sOut(), and TRACE.
{
TRACE;
QTextStream sOut(stdout);
Seismic1DModel m;
QString comments;
if(!m.fromStream(s, &comments)) {
return false;
}
if(m.layerCount()>0) {
if(!_sliderName.isEmpty()) {
_w->scan(&m, _sliderName, _scanCount);
} else {
_w->addBackground(&m, comments);
}
}
return true;
}
| bool LiveModelReader::setOptions | ( | int & | argc, |
| char ** | argv | ||
| ) |
References Results::Dispersion, Results::DispersionGrid, Ellipticity, QGpCoreTools::endl(), MainWindow::loadPanel(), Results::MagnetoTelluric, QGpCoreTools::ArgumentStdinReader::read(), MainWindow::results(), Results::setCurveType(), Results::ShAmplification, QGpCoreTools::tr(), and TRACE.
Referenced by main().
{
TRACE;
// Curve type
int i, j=1;
for(i=1; i<argc; i++) {
QByteArray arg=argv[i];
if(arg[0]=='-') {
if(arg=="-disp") {
_curveType=Results::Dispersion;
} else if(arg=="-disp-grid") {
_curveType=Results::DispersionGrid;
} else if(arg=="-ell") {
_curveType=Results::Ellipticity;
} else if(arg=="-sh") {
_curveType=Results::ShAmplification;
} else if(arg=="-mt") {
_curveType=Results::MagnetoTelluric;
} else {
argv[j++]=argv[i];
}
} else {
argv[j++]=argv[i];
}
}
if(j < argc) {
argv[j]=0;
argc=j;
}
_w=new MainWindow;
if( ! _w->results()->setCurveType(_curveType, argc, argv)) {
return false;
}
// Check other arguments
j=1;
for(i=1; i<argc; i++) {
QByteArray arg=argv[i];
if(arg[0]=='-') {
if(arg=="-stdin") {
_readStdin=true;
} else if(arg=="-panel") {
Application::checkOptionArg(i, argc, argv);
_panelFile=argv[i];
} else if(arg=="-scan") {
Application::checkOptionArg(i, argc, argv);
_sliderName=argv[i];
_readStdin=true;
} else if(arg=="-scan-count") {
Application::checkOptionArg(i, argc, argv);
_scanCount=atoi(argv[i]);
} else {
App::stream() << tr("gplivemodel: bad option %1, see -help").arg(argv[i]) << endl;
return false;
}
} else {
argv[j++]=argv[i];
}
}
if(j < argc) {
argv[j]=0;
argc=j;
}
if(!_sliderName.isEmpty()) {
if(_panelFile.isEmpty()) {
App::stream() << tr("gplivemodel: option 'panel' is required with option 'scan'.").arg(argv[i]) << endl;
return false;
}
}
if( !_panelFile.isEmpty()) {
_w->loadPanel(_panelFile);
}
if(_readStdin || argc>1) read(argc, argv);
return true;
}