LCOV - code coverage report
Current view: top level - src/qt - csvmodelwriter.h (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 0 2 0.0 %
Date: 2020-09-26 01:30:44 Functions: 0 9 0.0 %

          Line data    Source code
       1             : // Copyright (c) 2011-2020 The Bitcoin Core developers
       2             : // Distributed under the MIT software license, see the accompanying
       3             : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
       4             : 
       5             : #ifndef BITCOIN_QT_CSVMODELWRITER_H
       6             : #define BITCOIN_QT_CSVMODELWRITER_H
       7             : 
       8             : #include <QList>
       9             : #include <QObject>
      10             : 
      11             : QT_BEGIN_NAMESPACE
      12             : class QAbstractItemModel;
      13             : QT_END_NAMESPACE
      14             : 
      15             : /** Export a Qt table model to a CSV file. This is useful for analyzing or post-processing the data in
      16             :     a spreadsheet.
      17             :  */
      18           0 : class CSVModelWriter : public QObject
      19             : {
      20             :     Q_OBJECT
      21             : 
      22             : public:
      23             :     explicit CSVModelWriter(const QString &filename, QObject *parent = nullptr);
      24             : 
      25             :     void setModel(const QAbstractItemModel *model);
      26             :     void addColumn(const QString &title, int column, int role=Qt::EditRole);
      27             : 
      28             :     /** Perform export of the model to CSV.
      29             :         @returns true on success, false otherwise
      30             :     */
      31             :     bool write();
      32             : 
      33             : private:
      34             :     QString filename;
      35             :     const QAbstractItemModel *model;
      36             : 
      37           0 :     struct Column
      38             :     {
      39             :         QString title;
      40             :         int column;
      41             :         int role;
      42             :     };
      43             :     QList<Column> columns;
      44             : };
      45             : 
      46             : #endif // BITCOIN_QT_CSVMODELWRITER_H

Generated by: LCOV version 1.15