DYTSrouce/src/ui/WorkSpace/AddLightFileDlg.cpp

66 lines
1.8 KiB
C++
Raw Normal View History

2025-10-22 17:40:44 +00:00
#include "AddLightFileDlg.h"
#include <QMessageBox>
#include <QFileInfo>
#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;
}