91 Q_PROPERTY(
double smallestMz READ getSmallestMz WRITE setSmallestMz NOTIFY smallestMzChanged)
94 Q_PROPERTY(
double greatestMz READ getGreatestMz WRITE setGreatestMz NOTIFY greatestMzChanged)
96 BinningType binningType READ getBinningType WRITE setBinningType NOTIFY binningTypeChanged)
98 int decimalPlaces READ getDecimalPlaces WRITE setDecimalPlaces NOTIFY decimalPlacesChanged)
102 int binSizeDivisor READ getBinSizeDivisor WRITE setBinSizeDivisor NOTIFY binSizeDivisorChanged)
103 Q_PROPERTY(
bool removeZeroValDataPoints READ isRemoveZeroValDataPoints WRITE
104 setRemoveZeroValDataPoints NOTIFY removeZeroValDataPointsChanged)
129 BINNING_TYPE = 1 << 0,
130 BIN_SIZE_MODEL = 1 << 1,
131 BIN_SIZE_DIVISOR = 1 << 2,
132 DECIMAL_PLACES = 1 << 3,
133 BINNING_LOGIC_PARTIAL = (BINNING_TYPE | BIN_SIZE_MODEL),
134 BINNING_LOGIC_FULL = (BINNING_LOGIC_PARTIAL | BIN_SIZE_DIVISOR | DECIMAL_PLACES),
135 REMOVE_ZERO_DATA_POINTS = 1 << 4,
136 FULL = (REMOVE_ZERO_DATA_POINTS | BINNING_LOGIC_FULL),
138 Q_ENUM(InitializationResult)
144 BinningType binningType,
148 bool removeZeroValDataPoints,
149 QObject *parent =
nullptr);
154 Q_INVOKABLE InitializationResult initialize(
const QString &text);
156 Q_INVOKABLE
void initialize(
double minMz,
158 BinningType binningType,
162 bool removeZeroValDataPoints,
163 QObject *parent =
nullptr);
168 void setSmallestMz(
double value);
169 Q_INVOKABLE
void updateSmallestMz(
double value);
170 double getSmallestMz()
const;
172 void setGreatestMz(
double value);
173 Q_INVOKABLE
void updateGreatestMz(
double value);
174 double getGreatestMz()
const;
176 Q_INVOKABLE
void setMzValues(
double smallest,
double greatest);
178 void setBinningType(BinningType binningType);
179 BinningType getBinningType()
const;
184 void setBinSizeDivisor(
int divisor);
185 int getBinSizeDivisor()
const;
187 void setDecimalPlaces(
int decimal_places);
188 int getDecimalPlaces()
const;
190 void setRemoveZeroValDataPoints(
bool removeOrNot =
true);
191 bool isRemoveZeroValDataPoints()
const;
193 Q_INVOKABLE
void reset();
195 Q_INVOKABLE
bool isValid()
const;
197 Q_INVOKABLE
bool hasValidMzRange()
const;
199 Q_INVOKABLE std::vector<double> createBins();
202 Q_INVOKABLE QString toString(
int offset,
const QString &spacer =
" ")
const;
204 Q_INVOKABLE QString toString()
const;
207 static void registerJsConstructor(QJSEngine *engine);
223 double m_smallestMz = std::numeric_limits<double>::max();
227 double m_greatestMz = std::numeric_limits<double>::min();
234 int m_binSizeDivisor = 1;
237 int m_decimalPlaces = -1;
242 bool m_removeZeroValDataPoints =
true;
244 std::vector<double> createArbitraryBins();