DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
csvspecspage.h
Go to the documentation of this file.
1 #ifndef CSVSPECSPAGE_H
2 #define CSVSPECSPAGE_H
3 
4 #include <QWidget>
5 #include <memory>
6 #include <QModelIndex>
7 
8 namespace Ui {
9 class CsvSpecsPage;
10 }
11 
12 class CsvTableModel;
14 
15 QT_BEGIN_NAMESPACE
16 class QSortFilterProxyModel;
17 class QProcess;
18 QT_END_NAMESPACE
19 
20 namespace qmapcontrol { class QMapControl; }
21 
22 class CsvSpecsPage : public QWidget
23 {
24  Q_OBJECT
25 
26 public:
27  explicit CsvSpecsPage(QWidget *parent = 0);
28  ~CsvSpecsPage();
29 
30  void load();
31  void save();
32 
33  void setSaveEnabled(bool enabled = true);
34 
35  void setFilename(QString n) {
36  mFilename = n;
37  }
38  void setSeparator(QChar sep) {
39  mSeparator = sep;
40  }
41 
42  void enableMap();
43  void setMapControlGraphicsModel(std::shared_ptr<MapControlGraphicsModel> model);
44  void setupMapInitialDisplayConditions(const QPointF &center, int zoom);
45  void setupIdLatLonCsvIndex(int id, int lat, int lon);
46 
47  qmapcontrol::QMapControl *getMapControlWidget() const;
48 signals:
49  void currentRowChanged(int row);
50 
51 private slots:
52  void dataChanged(QModelIndex,QModelIndex,QVector<int>);
53 
54  void on_saveCsv_clicked();
55 
56 private:
57  Ui::CsvSpecsPage *ui;
58 
59  QString mFilename;
60  QChar mSeparator;
61 
62  struct Data {
63  int id;
64  float lat;
65  float lon;
66  int index;
67  };
68 
69  std::shared_ptr<MapControlGraphicsModel> mMapGraphicsModel;
70  std::vector<Data> mData;
71  CsvTableModel *mModel;
72  QSortFilterProxyModel *mVesselsSpecProxyModel;
73 
74  int mIdIndex = -1;
75  int mLatIndex = -1, mLonIndex = -1;
76 };
77 
78 #endif // CSVSPECSPAGE_H
qmapcontrol::QMapControl * getMapControlWidget() const
Definition: csvspecspage.cpp:224
Definition: mapcontrolgraphicsmodel.h:8
void setFilename(QString n)
Definition: csvspecspage.h:35
void currentRowChanged(int row)
Definition: moc_csvspecspage.cpp:150
Definition: csvtablemodel.h:11
CsvSpecsPage(QWidget *parent=0)
Definition: csvspecspage.cpp:53
Definition: dteditorwindow.h:32
Definition: csvspecspage.h:22
~CsvSpecsPage()
Definition: csvspecspage.cpp:93
void setMapControlGraphicsModel(std::shared_ptr< MapControlGraphicsModel > model)
Definition: csvspecspage.cpp:200
Definition: ui_csvspecspage.h:119
void setupMapInitialDisplayConditions(const QPointF &center, int zoom)
Definition: csvspecspage.cpp:205
void setSeparator(QChar sep)
Definition: csvspecspage.h:38
void setSaveEnabled(bool enabled=true)
Definition: csvspecspage.cpp:190
void save()
Definition: csvspecspage.cpp:173
void enableMap()
Definition: csvspecspage.cpp:195
Definition: csvspecspage.h:20
void load()
Definition: csvspecspage.cpp:98
void setupIdLatLonCsvIndex(int id, int lat, int lon)
Definition: csvspecspage.cpp:214