LibreVNA/Software/PC_Application/LibreVNA-GUI/CustomWidgets/tracesetselector.h
2022-11-09 12:33:14 +01:00

58 lines
1.2 KiB
C++

#ifndef TRACESETSELECTOR_H
#define TRACESETSELECTOR_H
#include "Traces/tracemodel.h"
#include <QWidget>
#include <QComboBox>
namespace Ui {
class TraceSetSelector;
}
class TraceSetSelector : public QWidget
{
Q_OBJECT
public:
explicit TraceSetSelector(QWidget *parent = nullptr);
~TraceSetSelector();
unsigned int getPorts() const;
void setPorts(unsigned int newPorts);
bool setTrace(unsigned int destPort, unsigned int srcPort, Trace *t);
Trace *getTrace(unsigned int destPort, unsigned int srcPort);
bool selectionValid();
void setPartialSelectionAllowed(bool newPartialSelectionAllowed);
void setModel(TraceModel *newModel);
unsigned int getPoints() const;
double getLowerFreq() const;
double getUpperFreq() const;
double getReferenceImpedance() const;
signals:
void selectionChanged();
private:
void selectionChanged(QComboBox *c);
Ui::TraceSetSelector *ui;
TraceModel *model;
unsigned int ports;
std::vector<std::vector<QComboBox*>> cTraces;
unsigned int points;
double lowerFreq, upperFreq;
double referenceImpedance;
bool freqsSet;
bool partialSelectionAllowed;
};
#endif // TRACESETSELECTOR_H