File indexing completed on 2024-05-26 03:51:10
0001 /* 0002 File : BinaryFilterPrivate.h 0003 Project : LabPlot 0004 Description : Private implementation class for BinaryFilter. 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2015-2017 Stefan Gerlach <stefan.gerlach@uni.kn> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 #ifndef BINARYFILTERPRIVATE_H 0011 #define BINARYFILTERPRIVATE_H 0012 0013 #include <QVector> 0014 0015 class AbstractDataSource; 0016 class AbstractColumn; 0017 0018 class BinaryFilterPrivate { 0019 public: 0020 explicit BinaryFilterPrivate(BinaryFilter*); 0021 0022 int prepareStreamToRead(QDataStream&); 0023 void readDataFromDevice(QIODevice& device, 0024 AbstractDataSource* = nullptr, 0025 AbstractFileFilter::ImportMode = AbstractFileFilter::ImportMode::Replace, 0026 int lines = -1); 0027 void readDataFromFile(const QString& fileName, AbstractDataSource* = nullptr, AbstractFileFilter::ImportMode = AbstractFileFilter::ImportMode::Replace); 0028 void write(const QString& fileName, AbstractDataSource*); 0029 QVector<QStringList> preview(const QString& fileName, int lines); 0030 0031 const BinaryFilter* q; 0032 0033 size_t vectors{2}; 0034 BinaryFilter::DataType dataType{BinaryFilter::DataType::INT8}; 0035 QDataStream::ByteOrder byteOrder{QDataStream::LittleEndian}; 0036 QVector<AbstractColumn::ColumnMode> columnModes; 0037 0038 int startRow{1}; // start row (value*vectors) to read (can be -1) 0039 int endRow{-1}; // end row to (value*vectors) read (can be -1) 0040 size_t numRows{0}; // number of rows 0041 size_t skipStartBytes{0}; // bytes to skip at start 0042 size_t skipBytes{0}; // bytes to skip after each value 0043 bool createIndexEnabled{false}; // if create index column 0044 0045 bool autoModeEnabled{true}; 0046 0047 private: 0048 int m_actualRows{0}; 0049 int m_actualCols{0}; 0050 }; 0051 0052 #endif