#include <ToolHRFK.h>
Public Slots | |
| virtual void | start () |
| virtual void | test () |
Public Member Functions | |
| ToolHRFK (QWidget *parent) | |
Protected Member Functions | |
| virtual AbstractParameters * | parameters (AbstractParameters *param=0) const |
| virtual void | setDefaultGridStep (double kmin) |
| virtual void | setParameters (const AbstractParameters *param) |
| virtual const char * | toolName () |
Protected Attributes | |
| DoubleSpinBox * | dampingFactorEdit |
| QCheckBox * | doDampingFactor |
| ToolHRFK::ToolHRFK | ( | QWidget * | parent | ) |
References ToolFK::_d, dampingFactorEdit, doDampingFactor, ToolFK::parametersChanged(), GeopsyGui::ToolBase::setWindowTitle(), QGpCoreTools::tr(), and TRACE.
:
ToolFK(parent)
{
TRACE;
setWindowIcon(QIcon( ":/images/hrfk-22x22.png" ));
setObjectName("ToolHRFK");
setWindowTitle( "High resolution FK toolbox" );
QGroupBox * hrParamGroup=new QGroupBox(_d->processingTab);
hrParamGroup->setObjectName(QString::fromUtf8("hrParamGroup"));
hrParamGroup->setTitle(tr("High resolution matrix"));
QHBoxLayout * hboxLayout=new QHBoxLayout(hrParamGroup);
hboxLayout->setObjectName(QString::fromUtf8("hboxLayout1"));
doDampingFactor=new QCheckBox(hrParamGroup);
doDampingFactor->setObjectName(QString::fromUtf8("doDampingFactor"));
doDampingFactor->setText(tr("Damping factor"));
connect(doDampingFactor, SIGNAL(toggled(bool)), this, SLOT(on_doDampingFactor_toggled()));
hboxLayout->addWidget(doDampingFactor);
dampingFactorEdit=new DoubleSpinBox(hrParamGroup);
dampingFactorEdit->setObjectName(QString::fromUtf8("dampingFactorEdit"));
dampingFactorEdit->setEnabled(false);
dampingFactorEdit->setDecimals(4);
dampingFactorEdit->setMaximum(1);
dampingFactorEdit->setSingleStep(0.0005);
dampingFactorEdit->setValue(0.001);
hboxLayout->addWidget(dampingFactorEdit);
static_cast<QBoxLayout *>(_d->processingTab->layout())->insertWidget(2, hrParamGroup);
connect(dampingFactorEdit, SIGNAL(valueChanged( const QString& )), this, SLOT(parametersChanged()) );
connect(doDampingFactor, SIGNAL(toggled(bool)), this, SLOT(parametersChanged()) );
}
| AbstractParameters * ToolHRFK::parameters | ( | AbstractParameters * | param = 0 | ) | const [protected, virtual] |
Reimplemented from ToolFK.
References dampingFactorEdit, doDampingFactor, TRACE, and QGpGuiTools::DoubleSpinBox::value().
Referenced by start().
{
TRACE;
if(!param) {
param=new HRFKParameters;
}
param=ToolFK::parameters(param);
if(param) {
if(doDampingFactor->isChecked()) {
static_cast<HRFKParameters *>(param)->setDamping(dampingFactorEdit->value());
} else {
static_cast<HRFKParameters *>(param)->setDamping(0.0);
}
}
return param;
}
| void ToolHRFK::setDefaultGridStep | ( | double | kmin | ) | [protected, virtual] |
Reimplemented from ToolFK.
References TRACE.
{
TRACE;
kmin*=0.2; // FK is already dividing by 4, we add a factor 5
ToolFK::setDefaultGridStep(kmin);
}
| void ToolHRFK::setParameters | ( | const AbstractParameters * | param | ) | [protected, virtual] |
Reimplemented from ToolFK.
References ToolFK::_d, dampingFactorEdit, doDampingFactor, ToolFKd::setParameters(), and TRACE.
{
TRACE;
_d->setParameters(*static_cast<const FKParameters *>(param));
if(static_cast<const HRFKParameters *>(param)->damping()>0.0) {
doDampingFactor->setChecked(true);
dampingFactorEdit->setValue(static_cast<const HRFKParameters *>(param)->damping());
} else {
doDampingFactor->setChecked(false);
}
}
| void ToolHRFK::start | ( | ) | [virtual, slot] |
Reimplemented from ToolFK.
References ToolArrayBase::_array, ToolFK::_d, ToolFK::_exportAllFKGrids, ToolArrayBase::_log, ToolFK::finish(), ToolFKd::outputFile(), parameters(), ToolArrayBase::resetLogs(), FKLoop::setArray(), ArrayCore::FKParameters::setExportAllFKGrids(), FKLoop::setLog(), ArrayCore::ArrayParameters::setOutputFile(), HRFKLoop::setParameters(), ToolFK::startLoop(), GeopsyGui::ToolBase::subPoolLocked(), and TRACE.
{
TRACE;
if(subPoolLocked()) return;
resetLogs();
// Get parameters from dialog box
HRFKParameters * param=static_cast<HRFKParameters *>(parameters());
if(!param) return;
param->setOutputFile(_d->outputFile());
param->setExportAllFKGrids(_exportAllFKGrids);
// Prepare the common parameters
HRFKLoop * loop=new HRFKLoop;
loop->setArray(&_array);
loop->setLog(&_log);
if( !loop->setParameters(param) ) {
delete loop;
return;
}
connect(loop, SIGNAL(finished()), this, SLOT(finish()));
startLoop(loop, param);
}
| void ToolHRFK::test | ( | ) | [virtual, slot] |
Reimplemented from ToolFK.
References ToolArrayBase::_array, GeopsyGui::ToolBase::_childrenList, _fkBrowser, GeopsyCore::geopsyCore, geopsyGui, ToolFK::parametersChanged(), ToolArrayBase::setTimeWindowLayer(), GeopsyCore::GeopsyCoreEngine::showMessage(), GeopsyGui::ToolBase::timeWindowLayer(), and QGpCoreTools::tr().
{
if( !_fkBrowser) {
_childrenList[ 0 ]=new HRFKTimeWindows;
_fkBrowser->setObjectName( "HRFKBrowser" );
_fkBrowser->setArray(_array);
_fkBrowser->setTimeWindowLayer(timeWindowLayer());
setTimeWindowLayer(_fkBrowser->timeWindowList());
geopsyGui->addWindow(_fkBrowser);
}
geopsyGui->showWindow(_fkBrowser);
QApplication::processEvents();
parametersChanged();
geopsyCore->showMessage(tr( "Signals are ready" ));
}
| const char * ToolHRFK::toolName | ( | ) | [protected, virtual] |
Reimplemented from ToolFK.
{
return "High resolution FK Array analysis";
}
DoubleSpinBox* ToolHRFK::dampingFactorEdit [protected] |
Referenced by parameters(), setParameters(), and ToolHRFK().
QCheckBox* ToolHRFK::doDampingFactor [protected] |
Referenced by parameters(), setParameters(), and ToolHRFK().