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 count READ count NOTIFY countChangedSignal)
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 count() const;
40 Q_INVOKABLE int getCount() const;
41
42 Q_INVOKABLE void append(double x, double y);
43 Q_INVOKABLE void append(const DataPointJs *data_point_js_p);
44
45 Q_INVOKABLE DataPointJs *getPointAt(int index) const;
46 Q_INVOKABLE QVariantList getTrace() const;
47
48 Q_INVOKABLE void initialize(const QVariantList &js_points);
49 Q_INVOKABLE void initialize(const QVariantMap &map);
50 Q_INVOKABLE std::size_t initialize(const QVariantList &x_values, const QVariantList &y_values);
51
52 Q_INVOKABLE std::size_t initialize(const QString &x_text, const QString &y_text);
53 Q_INVOKABLE std::size_t initialize(const QString &space_sep_text);
54
55 Q_INVOKABLE std::size_t initialize(const TraceJs &other);
56
57 Q_INVOKABLE QVariantList xValues() const;
58 Q_INVOKABLE QVariantList yValues() const;
59 Q_INVOKABLE QVariantMap toMap() const;
60
61 Q_INVOKABLE void clear();
62
63 // Static registration method
64 static void registerJsConstructor(QJSEngine *engine);
65
66 signals:
68
69 private:
71};
72
73 /* END CLASS JS REFERENCE
74 * namespace: pappso
75 * class name: Trace
76 */
77
78
80
81} // namespace pappso
Q_INVOKABLE void append(double x, double y)
Definition tracejs.cpp:33
Q_INVOKABLE QVariantList yValues() const
Definition tracejs.cpp:194
Q_INVOKABLE DataPointJs * getPointAt(int index) const
Definition tracejs.cpp:50
Q_INVOKABLE void initialize(const QVariantList &js_points)
Definition tracejs.cpp:77
TraceJs & operator=(const TraceJs &)=delete
Q_INVOKABLE int getCount() const
Definition tracejs.cpp:20
Q_INVOKABLE void clear()
Definition tracejs.cpp:219
Trace m_trace
Definition tracejs.h:70
static void registerJsConstructor(QJSEngine *engine)
Definition tracejs.cpp:225
Q_INVOKABLE QVariantList xValues() const
Definition tracejs.cpp:180
void countChangedSignal()
Q_INVOKABLE QVariantList getTrace() const
Definition tracejs.cpp:63
Q_INVOKABLE TraceJs(QObject *parent=nullptr)
Definition tracejs.cpp:10
Q_INVOKABLE QVariantMap toMap() const
Definition tracejs.cpp:208
A simple container of DataPoint instances.
Definition trace.h:148
#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