Brief description of class still missing. More...
#include <MagnetoTelluricTargetWidget.h>
Public Member Functions | |
void | addCurve (const MagnetoTelluricCurve &curve) |
void | addCurves (const QList< MagnetoTelluricCurve > &curves) |
QList< MagnetoTelluricCurve > | curves () const |
void | initLayer (LineLayer *curveLayer) |
virtual void | load () |
MagnetoTelluricTargetWidget (QWidget *parent=0) | |
~MagnetoTelluricTargetWidget () |
Brief description of class still missing.
Full description of class still missing
MagnetoTelluricTargetWidget::MagnetoTelluricTargetWidget | ( | QWidget * | parent = 0 | ) |
Description of constructor still missing
References SciFigs::CurveBrowser::dock(), initLayer(), SciFigs::CurveBrowser::setProxy(), QGpCoreTools::tr(), TRACE, and w.
: CurveBrowser(parent) { TRACE; QWidget * w=new QWidget(this); QVBoxLayout * graphLayout=new QVBoxLayout(w); graphLayout->setMargin(0); graphLayout->setSpacing(0); AxisWindow * graph=new AxisWindow(this); graph->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); graphLayout->addWidget(graph); QHBoxLayout * comboLayout=new QHBoxLayout; graphLayout->addLayout(comboLayout); comboLayout->setMargin(9); comboLayout->setSpacing(6); QLabel * comboLabel=new QLabel; comboLabel->setText(tr("Display mode")); comboLayout->addWidget(comboLabel); _complexMode=new QComboBox(w); _complexMode->addItem(tr("Apparent resistivity")); _complexMode->addItem(tr("Impedance, absolute value")); _complexMode->addItem(tr("Phase (degrees)")); _complexMode->addItem(tr("Phase (radians)")); _complexMode->addItem(tr("Impedance, real part")); _complexMode->addItem(tr("Impedance, imaginary part")); comboLayout->addWidget(_complexMode); connect(_complexMode, SIGNAL(currentIndexChanged(int)), this, SLOT(setComplexMode(int))); QSpacerItem * spacerItem=new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); comboLayout->addItem(spacerItem); dock(w); setProxy(new MagnetoTelluricProxy); LineLayer * l=new LineLayer(graph); initLayer(l); //curvesChanged(); resize(QSize(500, 300).expandedTo(minimumSizeHint()) ); Settings::getSize(this, "MagnetoTelluricTargetWidget" ); setWindowTitle(tr("Magnetotelluric target")); }
void MagnetoTelluricTargetWidget::addCurve | ( | const MagnetoTelluricCurve & | curve | ) |
References SciFigs::LineLayer::addLine(), SciFigs::CurveBrowser::currentLayer(), QGpGuiWave::MagnetoTelluricLine::setCurve(), and TRACE.
Referenced by addCurves().
{ TRACE; MagnetoTelluricLine * line=static_cast<MagnetoTelluricLine *>(currentLayer()->addLine()); line->setCurve(curve); }
void MagnetoTelluricTargetWidget::addCurves | ( | const QList< MagnetoTelluricCurve > & | curves | ) |
References addCurve(), SciFigs::CurveBrowser::count(), SciFigs::CurveBrowser::setLimits(), and TRACE.
Referenced by TargetListWidget::setFrom().
QList< MagnetoTelluricCurve > MagnetoTelluricTargetWidget::curves | ( | ) | const |
Reimplemented from SciFigs::CurveBrowser.
References SciFigs::CurveBrowser::count(), and TRACE.
Referenced by TargetListWidget::targetList().
{ TRACE; QList<MagnetoTelluricCurve> l; int n=count(); for(int i=0;i<n;i++) { MagnetoTelluricCurve& c=curve(i); l.append(c); } return l; }
void MagnetoTelluricTargetWidget::initLayer | ( | LineLayer * | curveLayer | ) |
Use this function rather than CurveBrowser::initLayer( ).
Reimplemented from SciFigs::CurveBrowser.
References SciFigs::CurveBrowser::setCurrentLayer(), SciFigs::AbstractLine::setPen(), SciFigs::LineLayer::setPointOptions(), SciFigs::LineLayer::setReferenceLine(), SciFigs::AbstractLine::setSymbol(), and TRACE.
Referenced by MagnetoTelluricTargetWidget().
{ TRACE; CurveBrowser::initLayer(curveLayer); setCurrentLayer(curveLayer); // Restrict layer to plot only MagnetoTelluricLine MagnetoTelluricLine * l=new MagnetoTelluricLine; l->setPen(Pen( Qt::black, 0.6) ); l->setSymbol(Symbol(Symbol::Circle, 1.2, Pen(Qt::black, 0.0), Brush(Qt::black, Qt::SolidPattern) )); curveLayer->setReferenceLine(l); _pointOptions=new MagnetoTelluricPointOptions(MagnetoTelluricPointOptions::ApparentResistivity); curveLayer->setPointOptions(_pointOptions); setComplexMode(0); }
void MagnetoTelluricTargetWidget::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(), SciFigs::CurveBrowser::currentLayer(), fileName, SciFigs::CurveBrowser::loadMultiColumns(), SciFigs::CurveBrowser::setLimits(), QGpCoreTools::tr(), and TRACE.
{ TRACE; MessageContext(); QStringList fileNames=Message::getOpenFileNames(tr("Load magnetotelluric data to fit"), tr("All files (*);;" "Text file (*);;" "Dinver targets (*.target);;" "Dinver environment (*.dinver);;")); 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); QFileInfo fi(fileName); if(fi.suffix()=="target" || fi.suffix()=="dinver") { loadTarget(fileName); } else { loadMultiColumns(fileName, i==n-1, parser); } } delete parser; if(currentLayer()) { if(curvesCount==0) setLimits(); //curvesChanged(); } } }