File indexing completed on 2025-03-16 03:36:29

0001 /*
0002     File                 : OdsOptionsWidget.h
0003     Project              : LabPlot
0004     Description          : Widget providing options for the import of Open Document Spreadsheet (ods) data
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2023 Stefan Gerlach <steffan.gerlach@uni.kn>
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef ODSOPTIONSWIDGET_H
0011 #define ODSOPTIONSWIDGET_H
0012 
0013 #include "ui_odsoptionswidget.h"
0014 
0015 #include <QMap>
0016 #include <QPair>
0017 
0018 class OdsFilter;
0019 class ImportFileWidget;
0020 
0021 class OdsOptionsWidget : public QWidget {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit OdsOptionsWidget(QWidget*, ImportFileWidget*);
0026     ~OdsOptionsWidget();
0027 
0028     void updateContent(OdsFilter* filter, const QString& fileName);
0029     QTableWidget* previewWidget() const {
0030         return ui.twPreview;
0031     }
0032     QStringList selectedOdsSheetNames() const;
0033     QVector<QStringList> previewString() const;
0034 Q_SIGNALS:
0035     void enableDataPortionSelection(bool enable);
0036 
0037 public Q_SLOTS:
0038     void sheetSelectionChanged();
0039 
0040 private:
0041     Ui::OdsOptionsWidget ui;
0042     ImportFileWidget* m_fileWidget{nullptr};
0043     // TODO:    use std::unique_ptr<ImportFileWidget> m_fileWidget{nullptr};
0044     QVector<QStringList> m_previewString;
0045 };
0046 
0047 #endif // ODSOPTIONSWIDGET_H