#include <DispersionTargetWidget.h>
Public Member Functions | |
DispersionTargetWidget (QWidget *parent=0) | |
virtual void | load () |
~DispersionTargetWidget () |
DispersionTargetWidget::DispersionTargetWidget | ( | QWidget * | parent = 0 | ) |
Constructs a DispersionTargetWidget 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(), QGpGuiWave::ModalCurveBrowser::setProxy(), QGpCoreTools::tr(), TRACE, and w.
: ModalCurveBrowser(parent) { TRACE; AxisWindow * w=new AxisWindow(this); dock(w); LineLayer * l=new LineLayer(w); setProxy(new DispersionProxy); initLayer(l); setCurrentLayer(l); setWindowTitle(tr("Dispersion target")); resize(QSize(500, 300).expandedTo(minimumSizeHint()) ); Settings::getSize(this, "DispersionTargetWidget" ); }
void DispersionTargetWidget::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(), SciFigs::CurveBrowser::setLimits(), QGpCoreTools::tr(), and TRACE.
{ TRACE; MessageContext(); QStringList fileNames=Message::getOpenFileNames(tr("Load curve to fit"), tr("All files (*);;" "dinver environment (*.dinver);;" "dinver target (*.target);;" "na_viewer reports (*.report)")); 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 if(fi.suffix()=="report") loadReport(fileName); else loadMultiColumns(fileName, i==n-1, parser); } delete parser; if(curvesCount==0) setLimits(); //curvesChanged(); } }