/**
   * Add a new entry to the diagnosis table.
   * @param runTitle       :: Title of the run fitted
   * @param fitQuality     :: Number representing a goodness of the fit
   * @param fittedFunction :: Function containing fitted parameters 
   */
  void MuonSequentialFitDialog::addDiagnosisEntry(const std::string& runTitle, double fitQuality,
      IFunction_sptr fittedFunction)
  {
    int newRow = m_ui.diagnosisTable->rowCount();

    m_ui.diagnosisTable->insertRow(newRow);

    QString runTitleDisplay = QString::fromStdString(runTitle);
    m_ui.diagnosisTable->setItem( newRow, 0, createTableWidgetItem(runTitleDisplay) );

    QString fitQualityDisplay = QString::number(fitQuality);
    m_ui.diagnosisTable->setItem( newRow, 1, createTableWidgetItem(fitQualityDisplay) );

    for(int i = 2; i < m_ui.diagnosisTable->columnCount(); i += 2)
    {
      std::string paramName = m_ui.diagnosisTable->horizontalHeaderItem(i)->text().toStdString();
      size_t paramIndex = fittedFunction->parameterIndex(paramName);

      QString value = QString::number( fittedFunction->getParameter(paramIndex) );
      QString error = QString::number( fittedFunction->getError(paramIndex) );

      m_ui.diagnosisTable->setItem(newRow, i, createTableWidgetItem(value) );
      m_ui.diagnosisTable->setItem(newRow, i + 1, createTableWidgetItem(error) );
    }

    m_ui.diagnosisTable->scrollToBottom();
  }
Example #2
0
void EventTableWidget::addRow(RowData& rowData) {
	insertRow(0);

	QTableWidgetItem* item = createTableWidgetItem(rowData[EVENT_ID], rowData.isActive());
	setItem(0, EVENT_ID, item);

	item = createTableWidgetItem(rowData[ORIGIN_TIME], rowData.isActive());
	setItem(0, ORIGIN_TIME, item);

	item = createTableWidgetItem(rowData[MAGNITUDE], rowData.isActive());
	setItem(0, MAGNITUDE, item);

	item = createTableWidgetItem(rowData[MAGNITUDE_TYPE], rowData.isActive());
	setItem(0, MAGNITUDE_TYPE, item);

	item = createTableWidgetItem(rowData[EVENT_REGION], rowData.isActive());
	setItem(0, EVENT_REGION, item);

	item = createTableWidgetItem(rowData[LATITUDE], rowData.isActive());
	setItem(0, LATITUDE, item);

	item = createTableWidgetItem(rowData[LONGITUDE], rowData.isActive());
	setItem(0, LONGITUDE, item);

	item = createTableWidgetItem(rowData[DEPTH], rowData.isActive());
	setItem(0, DEPTH, item);

	if ( rowData.isSelected() )
		selectRow(0);

	resizeColumnsToContents();

	QHeaderView* horizontalHeaderRef = horizontalHeader();
	horizontalHeaderRef->setResizeMode(horizontalHeaderRef->count()-1, QHeaderView::Stretch);

}