Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
MatchingNetworkDesignTool.h
Go to the documentation of this file.
1
7
8#ifndef MATCHINGNETWORKDESIGNTOOL_H
9#define MATCHINGNETWORKDESIGNTOOL_H
10
12#include "Misc/general.h" // To build the docs path
13
14#include <QCheckBox>
15#include <QComboBox>
16#include <QGridLayout>
17#include <QGroupBox>
18#include <QLabel>
19#include <QLineEdit>
20#include <QPushButton>
21#include <QRadioButton>
22#include <QWidget>
23
24#include "Schematic/Network.h"
26#include "Schematic/component.h"
27
29#include "MatchingNetworkDesigner.h" // Class to create the matching network
30#include "MatchingNetworkParametersWidget.h" // Custom widget for the network setup data entry
31
34class MatchingNetworkDesignTool : public QWidget {
35 Q_OBJECT
36public:
39 MatchingNetworkDesignTool(QWidget* parent = nullptr);
40
43
45 void design();
46
47private slots:
49 void UpdateDesignParameters();
50
52 void AdjustOneTwoPortMatchingWidgetsVisibility();
53
55 void showDocumentation() {
56 QString path = QString("/RFCircuitSynthesis/ImpedanceMatching/index.html");
57 showHTMLDocs(path);
58 }
59
60private:
64 double getScaleFreq(int);
65
66 QCheckBox* TwoPortCheckBox;
67
68 MatchingNetworkParametersWidget* InputMatchingSetupWidget;
69 MatchingNetworkParametersWidget* OutputMatchingSetupWidget;
70 LoadSpecificationWidget* LoadSpecWidget;
71
72 QLabel *Zout_Label, *Ohm_Zout_Label, *Zout_J;
73 CustomDoubleSpinBox *ZoutISpinBox, *ZoutRSpinBox;
74
75 QLabel* f_match_Label;
76
79 QGroupBox* two_port_GroupBox;
80 QCheckBox* enter_S2P_file_CheckBox;
81 QPushButton* browse_S2P_Button;
82 QLabel* s2p_filename_Label;
84
85 QLabel* input_format_Label;
86 QComboBox* input_format_Combo;
87
90 QLabel *S11_Label, *S12_Label, *S21_Label, *S22_Label;
91 QLabel *S11_Separator_Label, *S12_Separator_Label, *S21_Separator_Label,
92 *S22_Separator_Label;
94
97 CustomDoubleSpinBox *S11_A_SpinBox, *S11_B_SpinBox;
98 CustomDoubleSpinBox *S12_A_SpinBox, *S12_B_SpinBox;
99 CustomDoubleSpinBox *S21_A_SpinBox, *S21_B_SpinBox;
100 CustomDoubleSpinBox *S22_A_SpinBox, *S22_B_SpinBox;
102
103 CustomDoubleSpinBox *f_match_Spinbox, *FreqEnd_Spinbox;
104 QComboBox *f_match_Scale_Combo, *FreqEnd_Scale_Combo,
105 *StubTermination_ComboBox;
106
107 SchematicContent SchContent;
108
111 QLabel* traceNameLabel;
112 QLineEdit* traceNameLineEdit;
114
115signals:
119
123};
124
125#endif // MATCHINGNETWORKDESIGNTOOL_H
Custom QDoubleSpinBox. It includes a context menu (right-click) for setting the minimum,...
Widget for entering the load impedance data (definition)
Matching network design management(definition)
Abstract base class for network implementations.
Container for schematic circuit data (definition)
A QDoubleSpinBox subclass that provides a context menu for configuring range and step.
Definition CustomDoubleSpinBox.h:28
Widget for entering the load impedance data.
Definition LoadSpecificationWidget.h:35
Main widget for matching network design.
Definition MatchingNetworkDesignTool.h:34
void updateSimulation(SchematicContent)
Emitted when simulation needs to be updated.
void design()
Trigger a design from the main application.
Definition MatchingNetworkDesignTool.cpp:218
~MatchingNetworkDesignTool()
Class destructor.
Definition MatchingNetworkDesignTool.cpp:100
void updateSchematic(SchematicContent)
Emitted when schematic needs to be updated.
Widget for entering matching network design parameters.
Definition MatchingNetworkParametersWidget.h:30
Container for schematic circuit data.
Definition SchematicContent.h:27
Graphical component representation in schematic (definition)
Utility functions needed across the whole project.
void showHTMLDocs(QString path)
Show HTML documentation in the web browser.
Definition showHTMLDocs.cpp:17