All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Slots | Signals | Public Member Functions | Protected Member Functions
GeopsyGui::TaperParameterWidget Class Reference

Brief description of class still missing. More...

#include <TaperParameterWidget.h>

List of all members.

Public Slots

void on_windowTypeEdit_activated (int)
void updateAllFields ()

Signals

void parametersChanged ()

Public Member Functions

void getParameters (TaperParameters &param) const
void setParameters (const TaperParameters &param)
 TaperParameterWidget (QWidget *parent=0)

Protected Member Functions

bool eventFilter (QObject *obj, QEvent *e)

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

Description of constructor still missing

References parametersChanged(), and TRACE.

    : QWidget(parent)
  {
    TRACE;
    setupUi(this);
    windowTypeEdit->installEventFilter(this);

    connect(parameterEdit, SIGNAL(valueChanged(double)), this, SIGNAL(parametersChanged()));
  }

Member Function Documentation

bool GeopsyGui::TaperParameterWidget::eventFilter ( QObject *  obj,
QEvent *  e 
) [protected]

References TRACE.

  {
    TRACE;
    switch (e->type()) {
    case QEvent::WhatsThisClicked:
      QDesktopServices::openUrl(QUrl(static_cast<QWhatsThisClickedEvent *>(e)->href()));
      e->accept();
      return true;
    default:
      return QWidget::eventFilter(obj, e);
    }
  }

References GeopsyCore::TaperParameters::setAlpha(), GeopsyCore::TaperParameters::setSigma(), GeopsyCore::TaperParameters::setWindow(), and TRACE.

  {
    TRACE;
    switch(windowTypeEdit->currentIndex()) {
    case 0:
      param.setWindow(TaperParameters::Rectangular);
      break;
    case 1:
      param.setWindow(TaperParameters::Hann);
      break;
    case 2:
      param.setWindow(TaperParameters::Hamming);
      break;
    case 3:
      param.setWindow(TaperParameters::Tukey);
      param.setAlpha(parameterEdit->value()*0.02);
      break;
    case 4:
      param.setWindow(TaperParameters::Cosine);
      break;
    case 5:
      param.setWindow(TaperParameters::Lanczos);
      break;
    case 6:
      param.setWindow(TaperParameters::Bartlett);
      break;
    case 7:
      param.setWindow(TaperParameters::Triangular);
      break;
    case 8:
      param.setWindow(TaperParameters::Gaussian);
      param.setSigma(parameterEdit->value());
      break;
    case 9:
      param.setWindow(TaperParameters::BartlettHann);
      break;
    case 10:
      param.setAlpha(parameterEdit->value());
      param.setWindow(TaperParameters::Blackman);
      break;
    case 11:
      param.setWindow(TaperParameters::Nuttall);
      break;
    case 12:
      param.setWindow(TaperParameters::BlackmanHarris);
      break;
    case 13:
      param.setWindow(TaperParameters::BlackmanNuttall);
      break;
    case 14:
      param.setWindow(TaperParameters::FlatTop);
      break;
    default:
      ASSERT(false);
      break;
    }
  }

References parametersChanged(), QGpCoreTools::tr(), and TRACE.

Referenced by updateAllFields().

  {
    TRACE;
    switch(windowTypeEdit->currentIndex()) {
    case 3:  // Tukey
      parameterLabel->setEnabled(true);
      parameterEdit->show();
      parameterLabel->setText(tr("Width (alpha/2)"));
      parameterEdit->setSuffix(" %");
      parameterEdit->setMaximum(100.0);
      parameterEdit->setSingleStep(5.0);
      break;
    case 8:  // Gaussian
      parameterLabel->setEnabled(true);
      parameterEdit->show();
      parameterLabel->setText(tr("Width (sigma)"));
      parameterEdit->setSuffix(QString::null);
      parameterEdit->setMaximum(0.5);
      parameterEdit->setSingleStep(0.01);
      break;
    case 10: // Blackman
      parameterLabel->setEnabled(true);
      parameterEdit->show();
      parameterLabel->setText(tr("Alpha"));
      parameterEdit->setSuffix(QString::null);
      parameterEdit->setMaximum(1e99);
      parameterEdit->setSingleStep(1.0);
      break;
    default: // For others, no parameters
      parameterLabel->setEnabled(false);
      parameterLabel->setText(tr("No parameters"));
      parameterEdit->hide();
      break;
    }
    emit parametersChanged();
  }

References GeopsyCore::TaperParameters::alpha(), GeopsyCore::TaperParameters::sigma(), TRACE, and GeopsyCore::TaperParameters::window().

  {
    TRACE;
    switch(param.window()) {
    case TaperParameters::Rectangular:
      windowTypeEdit->setCurrentIndex(0);
      break;
    case TaperParameters::Hann:
      windowTypeEdit->setCurrentIndex(1);
      break;
    case TaperParameters::Hamming:
      windowTypeEdit->setCurrentIndex(2);
      break;
    case TaperParameters::Tukey:
      windowTypeEdit->setCurrentIndex(3);
      parameterEdit->setValue(50.0*param.alpha());
      break;
    case TaperParameters::Cosine:
      windowTypeEdit->setCurrentIndex(4);
      break;
    case TaperParameters::Lanczos:
      windowTypeEdit->setCurrentIndex(5);
      break;
    case TaperParameters::Bartlett:
      windowTypeEdit->setCurrentIndex(6);
      break;
    case TaperParameters::Triangular:
      windowTypeEdit->setCurrentIndex(7);
      break;
    case TaperParameters::Gaussian:
      windowTypeEdit->setCurrentIndex(8);
      parameterEdit->setValue(param.sigma());
      break;
    case TaperParameters::BartlettHann:
      windowTypeEdit->setCurrentIndex(9);
      break;
    case TaperParameters::Blackman:
      windowTypeEdit->setCurrentIndex(10);
      parameterEdit->setValue(param.alpha());
      break;
    case TaperParameters::Nuttall:
      windowTypeEdit->setCurrentIndex(11);
      break;
    case TaperParameters::BlackmanHarris:
      windowTypeEdit->setCurrentIndex(12);
      break;
    case TaperParameters::BlackmanNuttall:
      windowTypeEdit->setCurrentIndex(13);
      break;
    case TaperParameters::FlatTop:
      windowTypeEdit->setCurrentIndex(14);
      break;
    }
  }

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