LibreVNA/Software/PC_Application/VNA/Deembedding/deembeddingoption.h

38 lines
1.0 KiB
C
Raw Normal View History

#ifndef DEEMBEDDINGOPTION_H
#define DEEMBEDDINGOPTION_H
#include "savable.h"
#include "Device/device.h"
2021-10-21 19:00:34 +08:00
#include <QWidget>
class DeembeddingOption : public QObject, public Savable
{
Q_OBJECT
public:
enum class Type {
PortExtension,
TwoThru,
MatchingNetwork,
// Add new deembedding options here, do not explicitly assign values and keep the Last entry at the last position
Last,
};
static DeembeddingOption *create(Type type);
static QString getName(Type type);
virtual void transformDatapoint(Protocol::Datapoint &p) = 0;
virtual void edit(){};
virtual Type getType() = 0;
2021-02-11 23:59:59 +08:00
public slots:
virtual void measurementCompleted(std::vector<Protocol::Datapoint> m){Q_UNUSED(m)};
signals:
// Deembedding option may selfdestruct if not applicable with current settings. It should emit this signal before deleting itself
void deleted(DeembeddingOption *option);
2021-02-11 23:59:59 +08:00
void triggerMeasurement(bool S11 = true, bool S12 = true, bool S21 = true, bool S22 = true);
};
#endif // DEEMBEDDING_H