QXRD  0.11.16
qxrdroicoordinateslistmodel.h
Go to the documentation of this file.
1 #ifndef QXRDROICOORDINATESLISTMODEL_H
2 #define QXRDROICOORDINATESLISTMODEL_H
3 
4 #include "qcepobject.h"
6 #include <QAbstractListModel>
8 #include <QScriptEngine>
10 #include "qcepproperty.h"
11 #include "qxrdexperiment-ptr.h"
12 #include "qcepimagedata-ptr.h"
13 #include "qcepmaskdata-ptr.h"
14 
15 class QxrdROICoordinatesListModel : public QAbstractListModel
16 {
17  Q_OBJECT
18 
19 public:
22 
23  void readSettings(QSettings *settings, QString section);
24  void writeSettings(QSettings *settings, QString section);
25 
26  static QScriptValue toScriptValue(QScriptEngine *engine, const QxrdROICoordinatesListModelPtr &coords);
27  static void fromScriptValue(const QScriptValue &obj, QxrdROICoordinatesListModelPtr &coords);
28 
29  int rowCount(const QModelIndex &parent) const;
30  int columnCount(const QModelIndex &parent) const;
31 
32  QVariant data(const QModelIndex &index, int role) const;
33  QVariant headerData(int section, Qt::Orientation orientation, int role) const;
34 
35  Qt::ItemFlags flags(const QModelIndex &index) const;
36 
37  bool setData(const QModelIndex &index, const QVariant &value, int role);
38 
39  void append(QxrdROICoordinatesPtr coords);
40  void removeROI(int row);
41 
42  void moveROIDown(int row);
43  void moveROIUp(int row);
44 
45  void editROI(int row);
46 
47  void moveROICenter(int row, double x, double y);
48 
49  QxrdROICoordinatesPtr roi(int row) const;
50  void setRoi(int row, QxrdROICoordinatesPtr c);
51 
52  int roiCount() const;
53 
56  void visualizePeak(int n, QcepImageDataBasePtr img, QcepMaskDataPtr mask);
57 
58  enum {
76  };
77 
78 signals:
79 
80 public slots:
81  void onROIChanged();
82  void onROIsChanged();
83 
84 private:
85  QxrdROICoordinatesPtr newROI(int roiType);
86 
87 private:
89  QMutex m_Mutex;
91  QVector<QxrdROICoordinatesPtr> m_ROICoordinates;
92 };
93 
94 #endif // QXRDROICOORDINATESLISTMODEL_H
void visualizePeak(int n, QcepImageDataBasePtr img, QcepMaskDataPtr mask)
int rowCount(const QModelIndex &parent) const
QSharedPointer< QxrdROICoordinates > QxrdROICoordinatesPtr
QVariant headerData(int section, Qt::Orientation orientation, int role) const
void recalculate(QcepImageDataBasePtr img, QcepMaskDataPtr mask)
Qt::ItemFlags flags(const QModelIndex &index) const
QWeakPointer< QxrdExperiment > QxrdExperimentWPtr
void append(QxrdROICoordinatesPtr coords)
QVariant data(const QModelIndex &index, int role) const
void readSettings(QSettings *settings, QString section)
void writeSettings(QSettings *settings, QString section)
int columnCount(const QModelIndex &parent) const
void visualizeBackground(int n, QcepImageDataBasePtr img, QcepMaskDataPtr mask)
QxrdROICoordinatesPtr newROI(int roiType)
QxrdROICoordinatesListModel(QcepSettingsSaverWPtr saver, QxrdExperimentWPtr exp)
static void fromScriptValue(const QScriptValue &obj, QxrdROICoordinatesListModelPtr &coords)
static QScriptValue toScriptValue(QScriptEngine *engine, const QxrdROICoordinatesListModelPtr &coords)
bool setData(const QModelIndex &index, const QVariant &value, int role)
void moveROICenter(int row, double x, double y)
QVector< QxrdROICoordinatesPtr > m_ROICoordinates
QSharedPointer< QcepImageDataBase > QcepImageDataBasePtr
QSharedPointer< QcepMaskData > QcepMaskDataPtr
QSharedPointer< QxrdROICoordinatesListModel > QxrdROICoordinatesListModelPtr
QxrdROICoordinatesPtr roi(int row) const
void setRoi(int row, QxrdROICoordinatesPtr c)
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr