#include <EllipticityCurveTargetWidget.h>
Public Member Functions | |
EllipticityCurveTargetWidget (QWidget *parent=0) | |
virtual void | load () |
~EllipticityCurveTargetWidget () |
EllipticityCurveTargetWidget::EllipticityCurveTargetWidget | ( | QWidget * | parent = 0 | ) |
Constructs a EllipticityCurveTargetWidget as a child of parent and widget flags set to fl. DispersionTargetWidget basically include a CurveBrowser to let the user select the target dispersion curves and input its current knowledge of the modal identification.
References SciFigs::CurveBrowser::dock(), QGpGuiWave::ModalCurveBrowser::initLayer(), SciFigs::CurveBrowser::setCurrentLayer(), SciFigs::LineLayer::setErrorBar(), QGpGuiWave::ModalCurveBrowser::setModeFlags(), QGpGuiWave::ModalCurveBrowser::setProxy(), QGpCoreTools::tr(), TRACE, and w.
: ModalCurveBrowser(parent) { TRACE; AxisWindow * w=new AxisWindow(this); dock(w); LineLayer * l=new LineLayer(w); l->setErrorBar(LineLayer::VerticalLogBar); setProxy(new EllipticityProxy); initLayer(l); setCurrentLayer(l); setWindowTitle(tr("Ellipticity target")); setModeFlags(ModeDelegate::Phase | ModeDelegate::Rayleigh); resize(QSize(500, 300).expandedTo(minimumSizeHint()) ); Settings::getSize(this, "EllipticityCurveTargetWidget" ); }
void EllipticityCurveTargetWidget::load | ( | ) | [virtual] |
Can be overloaded to add support for custom file format import. Mandatory to call curvesChanged() at the end. And even better to adjust graph limits if the number of curves was initialty zero.
Reimplemented from SciFigs::CurveBrowser.
References SciFigs::CurveBrowser::count(), fileName, SciFigs::CurveBrowser::loadMultiColumns(), MSG_ID, SciFigs::CurveBrowser::setLimits(), str, QGpCoreTools::tr(), and TRACE.
{ TRACE; MessageContext(); QStringList fileNames=Message::getOpenFileNames(tr("Load curve to fit"), tr("All files (*);;" "Geopsy HV output(*.hv);;" "na_viewer report (*.report);;" "JSesame HV output 7 columns(*.out)" )); if( !fileNames.isEmpty()) { int curvesCount=count(); ColumnTextParser * parser=0; int n=fileNames.count(); for(int i=0;i<n;i++) { QString fileName=fileNames.at(i); if(CompatInversionReport::isRightFormat(fileName) ) loadReport(fileName); else { QFile f(fileName); if(f.open(QIODevice::ReadOnly) ) { QTextStream s(&f); QString str=s.readLine().trimmed(); f.close(); if(str=="### data used in the H/V ratio processing:" ) loadHVJSesame(fileName); else if(str.startsWith( "# GEOPSY output version" )) loadHVGeopsy(fileName); else loadMultiColumns(fileName, i==n-1, parser); } else { Message::warning(MSG_ID, tr("Loading a H/V curve"), tr("Cannot open file %1").arg(fileName), Message::ok(), true); } } } delete parser; if(curvesCount==0) setLimits(); //curvesChanged(); } }