File indexing completed on 2024-05-26 03:51:12
0001 /* 0002 File : HDF5Filter.h 0003 Project : LabPlot 0004 Description : HDF5 I/O-filter 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2015-2022 Stefan Gerlach <stefan.gerlach@uni.kn> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 #ifndef HDF5FILTER_H 0010 #define HDF5FILTER_H 0011 0012 #include "backend/datasources/filters/AbstractFileFilter.h" 0013 0014 class QTreeWidgetItem; 0015 class HDF5FilterPrivate; 0016 0017 class HDF5Filter : public AbstractFileFilter { 0018 Q_OBJECT 0019 0020 public: 0021 HDF5Filter(); 0022 ~HDF5Filter() override; 0023 0024 static QString fileInfoString(const QString&); 0025 static QString fileDDLString(const QString&); 0026 0027 int parse(const QString& fileName, QTreeWidgetItem* rootItem); 0028 void 0029 readDataFromFile(const QString& fileName, AbstractDataSource* = nullptr, AbstractFileFilter::ImportMode = AbstractFileFilter::ImportMode::Replace) override; 0030 QVector<QStringList> readCurrentDataSet(const QString& fileName, 0031 AbstractDataSource*, 0032 bool& ok, 0033 AbstractFileFilter::ImportMode = AbstractFileFilter::ImportMode::Replace, 0034 int lines = -1); 0035 void write(const QString& fileName, AbstractDataSource*) override; 0036 0037 void setCurrentDataSetName(const QString&); 0038 const QString currentDataSetName() const; 0039 0040 void setStartRow(const int); 0041 int startRow() const; 0042 void setEndRow(const int); 0043 int endRow() const; 0044 void setStartColumn(const int); 0045 int startColumn() const; 0046 void setEndColumn(const int); 0047 int endColumn() const; 0048 0049 void save(QXmlStreamWriter*) const override; 0050 bool load(XmlStreamReader*) override; 0051 0052 private: 0053 std::unique_ptr<HDF5FilterPrivate> const d; 0054 friend class HDF5FilterPrivate; 0055 }; 0056 0057 #endif