LibreVNA/Software/PC_Application/Traces/Marker/markergroup.h

40 lines
788 B
C
Raw Normal View History

#ifndef MARKERGROUP_H
#define MARKERGROUP_H
#include "marker.h"
2021-10-21 19:00:34 +08:00
#include <QObject>
class MarkerGroup : public QObject
{
Q_OBJECT
public:
MarkerGroup(unsigned int number)
: adjustingMarkers(false),
domain(Trace::DataType::Invalid),
markers(),
number(number){};
~MarkerGroup();
bool add(Marker *m);
bool remove(Marker *m);
unsigned int getNumber() const;
bool applicable(Marker *m);
signals:
void emptied(MarkerGroup*);
private:
void markerMoved(double newpos);
// Check if marker still applicable for group, remove if necessary
void checkMarker(Marker *m);
bool adjustingMarkers;
Trace::DataType domain;
std::set<Marker*> markers;
unsigned int number;
};
#endif // MARKERGROUP_H