#include "AddLightFileDlg.h" #include #include #include "ui_AddLightFileDlg.h" AddLightFileDlg::AddLightFileDlg(QWidget* parent) : BaseAddFileDlg(FileEntryType::Light, parent) , ui(new Ui::AddLightFileDlg) { ui->setupUi(this); SetTitle(getDialogTitle()); } AddLightFileDlg::~AddLightFileDlg() { delete ui; } bool AddLightFileDlg::validateSpecificParams() { LightParams params = getLightParams(); if (params.delimiter.isEmpty()) { QMessageBox::warning(this, QStringLiteral("Warning"), QStringLiteral("Please specify a delimiter for light data.")); return false; } return true; } QString AddLightFileDlg::getFileFilter() const { return QStringLiteral("Light Spectrum Files (*.txt *.csv *.dat *.spe *.asc);;All Files (*.*)"); } QString AddLightFileDlg::getDialogTitle() const { return QStringLiteral("Add Light Spectrum File"); } void AddLightFileDlg::onDelimiterChanged() { // Handle delimiter change if needed } void AddLightFileDlg::onHeaderToggled(bool hasHeader) { // Handle header toggle if needed } AddLightFileDlg::LightParams AddLightFileDlg::getLightParams() const { LightParams params; params.wavelengthColumn = ui->wavelengthColumnSpinBox->value(); params.intensityColumn = ui->intensityColumnSpinBox->value(); // Get delimiter from combo box int index = ui->separatorComboBox->currentIndex(); switch (index) { case 0: params.delimiter = ","; break; case 1: params.delimiter = "\t"; break; case 2: params.delimiter = " "; break; case 3: params.delimiter = ";"; break; default: params.delimiter = ","; break; } params.hasHeader = ui->hasHeaderCheckBox->isChecked(); params.description = ui->descriptionEdit->toPlainText().trimmed(); return params; }