dataload_csv.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QObject>
4 #include <QtPlugin>
5 #include <QStandardItemModel>
7 #include "ui_dataload_csv.h"
8 #include "QCSVHighlighter"
9 
10 using namespace PJ;
11 
12 class DateTimeHelp;
13 
14 class DataLoadCSV : public DataLoader
15 {
16  Q_OBJECT
17  Q_PLUGIN_METADATA(IID "facontidavide.PlotJuggler3.DataLoader")
18  Q_INTERFACES(PJ::DataLoader)
19 
20 public:
21  DataLoadCSV();
22  virtual const std::vector<const char*>& compatibleFileExtensions() const override;
23 
24  virtual bool readDataFromFile(PJ::FileLoadInfo* fileload_info,
25  PlotDataMapRef& destination) override;
26 
27  virtual ~DataLoadCSV();
28 
29  virtual const char* name() const override
30  {
31  return "DataLoad CSV";
32  }
33 
34  virtual bool xmlSaveState(QDomDocument& doc,
35  QDomElement& parent_element) const override;
36 
37  virtual bool xmlLoadState(const QDomElement& parent_element) override;
38 
39 protected:
40  void parseHeader(QFile& file, std::vector<std::string>& ordered_names);
41 
42  int launchDialog(QFile& file, std::vector<std::string>* ordered_names);
43 
44 private:
45  std::vector<const char*> _extensions;
46 
47  std::string _default_time_axis;
48 
49  QChar _delimiter;
50 
52 
54 
55  QDialog* _dialog;
56  Ui::DialogCSV* _ui;
58 
59  QStandardItemModel *_model;
60 
61  bool multiple_columns_warning_ = true;
62 
63 };
Class, that describes C++ code highlighter.
QStandardItemModel * _model
Definition: dataload_csv.h:59
FileLoadInfo * _fileInfo
Definition: dataload_csv.h:53
Ui::DialogCSV * _ui
Definition: dataload_csv.h:56
std::vector< const char * > _extensions
Definition: dataload_csv.h:45
The DataLoader plugin type is used to load files.
QDialog * _dialog
Definition: dataload_csv.h:55
DateTimeHelp * _dateTime_dialog
Definition: dataload_csv.h:57
virtual const char * name() const override
Name of the plugin type, NOT the particular instance.
Definition: dataload_csv.h:29
QCSVHighlighter _csvHighlighter
Definition: dataload_csv.h:51
QChar _delimiter
Definition: dataload_csv.h:49
std::string _default_time_axis
Definition: dataload_csv.h:47


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Jun 19 2023 03:01:01