OSDN Git Service

getnormalizedtxid now explains itself.
[monacoin/monacoin.git] / src / qt / csvmodelwriter.h
1 // Copyright (c) 2011-2013 The Bitcoin developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5 #ifndef CSVMODELWRITER_H
6 #define CSVMODELWRITER_H
7
8 #include <QObject>
9 #include <QList>
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 class CSVModelWriter : public QObject
19 {
20     Q_OBJECT
21
22 public:
23     explicit CSVModelWriter(const QString &filename, QObject *parent = 0);
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     struct Column
38     {
39         QString title;
40         int column;
41         int role;
42     };
43     QList<Column> columns;
44 };
45
46 #endif // CSVMODELWRITER_H