LibreVNA/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.h
2022-10-01 17:10:44 +02:00

43 lines
935 B
C++

#ifndef SPARAMTRACESELECTOR_H
#define SPARAMTRACESELECTOR_H
#include "tracemodel.h"
#include <vector>
#include <map>
#include <QWidget>
#include <QComboBox>
class SparamTraceSelector : public QWidget
{
Q_OBJECT
public:
SparamTraceSelector(const TraceModel &model, std::vector<int> used_ports, bool empty_allowed = false);
SparamTraceSelector(const TraceModel &model, std::set<int> used_ports, bool empty_allowed = false);
bool isValid();
std::map<QString, Trace*> getTraces();
unsigned int getPoints() { return points;}
signals:
void selectionValid(bool valid);
private:
void setInitialChoices();
void traceSelectionChanged(QComboBox *cb);
void createGUI();
const TraceModel &model;
std::vector<QComboBox*> boxes;
bool empty_allowed;
std::vector<int> used_ports;
unsigned int points;
double minFreq, maxFreq;
bool valid;
};
#endif // SPARAMTRACESELECTOR_H