File indexing completed on 2024-06-16 03:42:51
0001 /* 0002 File : SpiceFilterPrivate.h 0003 Project : LabPlot 0004 Description : Private of Spice Filter 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2022 Martin Marmsoler <martin.marmsoler@gmail.com> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef SPICEFILTERPRIVATE_H 0012 #define SPICEFILTERPRIVATE_H 0013 0014 #include "AbstractFileFilter.h" 0015 #include <QStringList> 0016 0017 class AbstractDataSource; 0018 class SpiceFileReader; 0019 class SpiceFilter; 0020 0021 class SpiceFilterPrivate { 0022 public: 0023 explicit SpiceFilterPrivate(SpiceFilter*); 0024 0025 QVector<QStringList> preview(const QString& fileName, int lines); 0026 void readDataFromFile(const QString& fileName, AbstractDataSource* = nullptr, AbstractFileFilter::ImportMode = AbstractFileFilter::ImportMode::Replace); 0027 void write(const QString& fileName, AbstractDataSource*); 0028 void generateVectorNamesColumnModes(const SpiceFileReader& reader); 0029 0030 const SpiceFilter* q; 0031 0032 QStringList vectorNames; 0033 QVector<AbstractColumn::ColumnMode> columnModes; 0034 int startRow{1}; 0035 int endRow{-1}; 0036 0037 private: 0038 std::vector<void*> m_dataContainer; // pointers to the actual data containers 0039 }; 0040 0041 #endif // SPICEFILTERPRIVATE_H