libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
tracejs.h
Go to the documentation of this file.
1#pragma once
2
3/////////////////////// stdlib includes
4
5
6/////////////////////// Qt includes
7#include <QObject>
8#include <QtQml>
9#include <QVariant>
10
11
12/////////////////////// Local includes
13#include "jsclassregistrar.h"
15#include "../trace/trace.h"
16#include "datapointjs.h"
17
18namespace pappso
19{
20
21/* BEGIN CLASS JS REFERENCE
22 * namespace: pappso
23 * class name: Trace
24 */
25
26class PMSPP_LIB_DECL TraceJs : public QObject
27{
28 Q_OBJECT
29 Q_PROPERTY(int size READ getSize NOTIFY sizeChangedSignal)
30 QML_NAMED_ELEMENT(Trace)
31
32 public:
33 Q_INVOKABLE explicit TraceJs(QObject *parent = nullptr);
34 Q_INVOKABLE explicit TraceJs(const Trace &trace, QObject *parent = nullptr);
35
36 // Delete assignment operator (QObjects shouldn't be assigned)
37 TraceJs &operator=(const TraceJs &) = delete;
38
39 Q_INVOKABLE int getSize() const;
40
41 Q_INVOKABLE void append(double x, double y);
42 Q_INVOKABLE void append(const DataPointJs *data_point_js_p);
43
44 Q_INVOKABLE DataPointJs *getPointAt(int index) const;
45 Q_INVOKABLE QVariantList getTrace() const;
46
47 Q_INVOKABLE void initialize(const QVariantList &js_points);
48 Q_INVOKABLE void initialize(const QVariantMap &map);
49 Q_INVOKABLE std::size_t initialize(const QVariantList &x_values, const QVariantList &y_values);
50
51 Q_INVOKABLE std::size_t initialize(const QString &x_text, const QString &y_text);
52 Q_INVOKABLE std::size_t initialize(const QString &space_sep_text);
53
54 Q_INVOKABLE std::size_t initialize(const TraceJs &other);
55
56 Q_INVOKABLE QVariantList xValues() const;
57 Q_INVOKABLE QVariantList yValues() const;
58 Q_INVOKABLE QVariantMap toMap() const;
59
60 Q_INVOKABLE void clear();
61
62 // Static registration method
63 static void registerJsConstructor(QJSEngine *engine);
64
65 signals:
67
68 private:
70};
71
72/* END CLASS JS REFERENCE
73 * namespace: pappso
74 * class name: Trace
75 */
76
77
79
80} // namespace pappso
Q_INVOKABLE void append(double x, double y)
Definition tracejs.cpp:24
Q_INVOKABLE int getSize() const
Definition tracejs.cpp:18
Q_INVOKABLE QVariantList yValues() const
Definition tracejs.cpp:183
Q_INVOKABLE DataPointJs * getPointAt(int index) const
Definition tracejs.cpp:41
void sizeChangedSignal()
Q_INVOKABLE void initialize(const QVariantList &js_points)
Definition tracejs.cpp:68
TraceJs & operator=(const TraceJs &)=delete
Q_INVOKABLE void clear()
Definition tracejs.cpp:208
Trace m_trace
Definition tracejs.h:69
static void registerJsConstructor(QJSEngine *engine)
Definition tracejs.cpp:214
Q_INVOKABLE QVariantList xValues() const
Definition tracejs.cpp:169
Q_INVOKABLE QVariantList getTrace() const
Definition tracejs.cpp:54
Q_INVOKABLE TraceJs(QObject *parent=nullptr)
Definition tracejs.cpp:9
Q_INVOKABLE QVariantMap toMap() const
Definition tracejs.cpp:197
A simple container of DataPoint instances.
Definition trace.h:152
#define PMSPP_LIB_DECL
#define PAPPSO_REGISTER_JS_CLASS(NS_IDENT, CLASS_NAME)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39