text: ////////////////////////////////////////////////////////////////////////////
  //
  //  This file is part of RTIMULib
  //
  //  Copyright (c) 2014-2015, richards-tech, LLC
  //
  //  Permission is hereby granted, free of charge, to any person obtaining a copy of
  //  this software and associated documentation files (the "Software"), to deal in
  //  the Software without restriction, including without limitation the rights to use,
  //  copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
  //  Software, and to permit persons to whom the Software is furnished to do so,
  //  subject to the following conditions:
  //
  //  The above copyright notice and this permission notice shall be included in all
  //  copies or substantial portions of the Software.
  //
  //  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
  //  INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  //  PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  //  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  //  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  //  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  #include "SelectFusionDlg.h"
  #include "RTIMUSettings.h"
  #include "RTFusion.h"
  
  #include <QFormLayout>
  #include <QLabel>
  
  SelectFusionDlg::SelectFusionDlg(RTIMUSettings *settings, QWidget *parent)
      : QDialog(parent, Qt::WindowCloseButtonHint | Qt::WindowTitleHint)
  {
      m_settings = settings;
      layoutWindow();
      setWindowTitle("Select Fusion algorithm");
      connect(m_buttons, SIGNAL(accepted()), this, SLOT(onOk()));
      connect(m_buttons, SIGNAL(rejected()), this, SLOT(onCancel()));
   }
  
  SelectFusionDlg::~SelectFusionDlg()
  {
  }
  
  void SelectFusionDlg::onOk()
  {
      m_settings->m_fusionType = m_selectFusion->currentIndex();
      m_settings->saveSettings();
  
      accept();
  }
  
  void SelectFusionDlg::onCancel()
  {
      reject();
  }
  
  void SelectFusionDlg::layoutWindow()
  {
      QVBoxLayout *mainLayout;
      QFormLayout *form;
  
      setModal(true);
  
      mainLayout = new QVBoxLayout(this);
      mainLayout->setSpacing(20);
      mainLayout->setContentsMargins(11, 11, 11, 11);
  
      form = new QFormLayout();
      mainLayout->addLayout(form);
  
      m_selectFusion = new QComboBox();
  
      for (int i = 0; i < RTFUSION_TYPE_COUNT; i++)
          m_selectFusion->addItem(RTFusion::fusionName(i));
  
      m_selectFusion->setCurrentIndex(m_settings->m_fusionType);
  
      form->addRow("Select Fusion algorithm type: ", m_selectFusion);
  
      m_buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
      m_buttons->setCenterButtons(true);
  
      mainLayout->addWidget(m_buttons);
  }
  
  
  