Public Member Functions
EllipticityCurveTargetWidget Class Reference

#include <EllipticityCurveTargetWidget.h>

Inheritance diagram for EllipticityCurveTargetWidget:
QGpGuiWave::ModalCurveBrowser SciFigs::CurveBrowser

List of all members.

Public Member Functions

 EllipticityCurveTargetWidget (QWidget *parent=0)
virtual void load ()
 ~EllipticityCurveTargetWidget ()

Constructor & Destructor Documentation

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" );
}

References TRACE.

{
  TRACE;
  Settings::setSize(this, "EllipticityCurveTargetWidget" );
}

Member Function Documentation

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();
  }
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines