大重构
This commit is contained in:
@@ -18,30 +18,33 @@ static double max = 160;
|
||||
QWidget* IntermediateFrequencyWidget::createSpectrogramPowerPlot() {
|
||||
class SpectrumPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Frequent_Axis* xAxis{};
|
||||
YSG::Axis* yAxis{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
YSG::Spectrum* sp{};
|
||||
std::shared_ptr<YSG::Frequent_Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
std::shared_ptr<YSG::Spectrum> sp{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "SpectrumPlot";
|
||||
xAxis = YSG::Frequent_Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_tick_length(-10)
|
||||
.set_coord_range(frequent_range)
|
||||
.set_tick_length(-10)
|
||||
.set_sub_tick_length(-5)
|
||||
.build();
|
||||
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Axis::Builder(axis, Qt::Vertical)
|
||||
.set_coord_range({160, 0})
|
||||
.set_unit_text("功率")
|
||||
.build();
|
||||
sp = YSG::Spectrum::Builder(xAxis, yAxis)
|
||||
sp = YSG::Spectrum::Builder(data, xAxis, yAxis)
|
||||
.set_frequent_range(frequent_range)
|
||||
.set_use_sweep_frequent_rect(true)
|
||||
.set_frequent_point_size(1024)
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
}
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent* event) override {
|
||||
@@ -55,10 +58,10 @@ QWidget* IntermediateFrequencyWidget::createSpectrogramPowerPlot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(sp, -1), "频谱图") +
|
||||
bw(cw(xAxis), "频率x轴") +
|
||||
bw(cw(yAxis), "功率y轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(sp.get(), -1), "频谱图") +
|
||||
bw(cw(xAxis.get()), "频率x轴") +
|
||||
bw(cw(yAxis.get()), "功率y轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
@@ -77,30 +80,33 @@ QWidget* IntermediateFrequencyWidget::createSpectrogramPowerPlot() {
|
||||
QWidget* IntermediateFrequencyWidget::create_Afterglow_Plot() {
|
||||
class AfterglowPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Frequent_Axis* xAxis{};
|
||||
YSG::Axis* yAxis{};
|
||||
YSG::Afterglow* ag{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
std::shared_ptr<YSG::Frequent_Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Afterglow> ag{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "AfterglowPlot";
|
||||
xAxis = YSG::Frequent_Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_coord_range(frequent_range)
|
||||
.set_tick_length(-10)
|
||||
.set_sub_tick_length(-5)
|
||||
.set_use_drag(true)
|
||||
.build();
|
||||
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Axis::Builder(axis, Qt::Vertical)
|
||||
.set_coord_range({160, 0})
|
||||
.set_use_drag(true)
|
||||
.build();
|
||||
ag = YSG::Afterglow::Builder(xAxis, yAxis)
|
||||
ag = YSG::Afterglow::Builder(data, xAxis, yAxis)
|
||||
.set_frequent_range(frequent_range)
|
||||
.set_power_range({0, 160})
|
||||
.set_frequent_point_size(1024)
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
}
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent* event) override {
|
||||
@@ -115,10 +121,10 @@ QWidget* IntermediateFrequencyWidget::create_Afterglow_Plot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(ag, -1), "余辉图") +
|
||||
bw(cw(xAxis), "频率轴") +
|
||||
bw(cw(yAxis), "功率概率轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(ag.get(), -1), "余辉图") +
|
||||
bw(cw(xAxis.get()), "频率轴") +
|
||||
bw(cw(yAxis.get()), "功率概率轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
@@ -256,7 +262,7 @@ void IntermediateFrequencyWidget::initMenu() {
|
||||
auto addInitFrequent = new ValueMenuButton("添加初始频率:%1", fontSize, [frequentStep,this](ValueMenuButton* that, bool add) {
|
||||
int newFrequent = (int)that->mValue + (add ? frequentStep->mValue : -frequentStep->mValue);
|
||||
that->setValue(newFrequent);
|
||||
}, mSpectrogramLine->frequent_range().lower);
|
||||
}, mSpectrogramLine->frequent_range().origin);
|
||||
auto btn1_1 = new ValueMenuButton("当前标记:%1", fontSize, [&, markFrequent](ValueMenuButton* that, bool add) {
|
||||
int index = ((int)that->mValue + (add ? 1 : -1)) % mSpectrogramLine->select_line_marker_size();
|
||||
that->setValue(index);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef IntermediateFrequencyWidget_H
|
||||
#define IntermediateFrequencyWidget_H
|
||||
#include "../BaseWidget.h"
|
||||
#include <memory>
|
||||
|
||||
class TextButton;
|
||||
class DoubleTextButton;
|
||||
@@ -17,8 +18,8 @@ public:
|
||||
QPushButton *m1, *m2, *m3, *m4, *m5, *m6;
|
||||
FrequentShower *mFrequentShower;
|
||||
ProgressBar *mProgressBar1, *mProgressBar2;
|
||||
YSG::Spectrum *mSpectrogramLine{};
|
||||
YSG::Afterglow *mAfterglow{};
|
||||
std::shared_ptr<YSG::Spectrum> mSpectrogramLine{};
|
||||
std::shared_ptr<YSG::Afterglow> mAfterglow{};
|
||||
QWidget* createSpectrogramPowerPlot();
|
||||
QWidget* create_Afterglow_Plot();
|
||||
void initMenu();
|
||||
|
||||
@@ -15,27 +15,30 @@ static YSG::Range frequent_range = {-12000, 12000};
|
||||
QWidget* RadioWidget::createSpectrogramPowerPlot() {
|
||||
class SpectrumPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Frequent_Axis* xAxis{};
|
||||
YSG::Axis* yAxis{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
YSG::Spectrum* sp{};
|
||||
std::shared_ptr<YSG::Frequent_Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
std::shared_ptr<YSG::Spectrum> sp{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "SpectrumPlot";
|
||||
xAxis = YSG::Frequent_Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_coord_range(frequent_range)
|
||||
.set_tick_length(-10)
|
||||
.build();
|
||||
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Axis::Builder(axis, Qt::Vertical)
|
||||
.set_coord_range({max, 0})
|
||||
.set_unit_text("功率")
|
||||
.build();
|
||||
sp = YSG::Spectrum::Builder(xAxis, yAxis)
|
||||
sp = YSG::Spectrum::Builder(data, xAxis, yAxis)
|
||||
.set_frequent_range(frequent_range)
|
||||
.set_frequent_point_size(1024)
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
if (use_Performance_shower) set_use_performance_shower(true);
|
||||
}
|
||||
protected:
|
||||
@@ -50,10 +53,10 @@ QWidget* RadioWidget::createSpectrogramPowerPlot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(sp, -1), "频谱图") +
|
||||
bw(cw(xAxis), "频率x轴") +
|
||||
bw(cw(yAxis), "功率y轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(sp.get(), -1), "频谱图") +
|
||||
bw(cw(xAxis.get()), "频率x轴") +
|
||||
bw(cw(yAxis.get()), "功率y轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
@@ -72,29 +75,32 @@ QWidget* RadioWidget::createSpectrogramPowerPlot() {
|
||||
QWidget* RadioWidget::createWaterFallPlot() {
|
||||
class WaterFallPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Frequent_Axis* xAxis{};
|
||||
YSG::Time_Axis* yAxis{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
YSG::Waterfall* wf{};
|
||||
std::shared_ptr<YSG::Frequent_Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Time_Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
std::shared_ptr<YSG::Waterfall> wf{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "WaterFallPlot";
|
||||
xAxis = YSG::Frequent_Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_tick_length(-10)
|
||||
.set_sub_tick_length(-5)
|
||||
.set_coord_range(frequent_range)
|
||||
.build();
|
||||
yAxis = YSG::Time_Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Time_Axis::Builder(axis, Qt::Vertical)
|
||||
.set_time_point_size(100)
|
||||
.build();
|
||||
wf = YSG::Waterfall::Builder(xAxis, yAxis)
|
||||
wf = YSG::Waterfall::Builder(data, xAxis, yAxis)
|
||||
.set_frequent_range(frequent_range)
|
||||
.set_frequent_point_size(1024)
|
||||
.set_power_range({0, max})
|
||||
// .set_time_point_size(100)
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
if (use_Performance_shower) set_use_performance_shower(true);
|
||||
}
|
||||
protected:
|
||||
@@ -109,10 +115,10 @@ QWidget* RadioWidget::createWaterFallPlot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(wf, -1), "瀑布图") +
|
||||
bw(cw(xAxis), "频率轴") +
|
||||
bw(cw(yAxis), "时间轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(wf.get(), -1), "瀑布图") +
|
||||
bw(cw(xAxis.get()), "频率轴") +
|
||||
bw(cw(yAxis.get()), "时间轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
@@ -126,27 +132,30 @@ QWidget* RadioWidget::createWaterFallPlot() {
|
||||
QWidget* RadioWidget::createAudioSpectrogramPlot() {
|
||||
class SpectrumPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Frequent_Axis* xAxis{};
|
||||
YSG::Axis* yAxis{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
YSG::Spectrum* sp{};
|
||||
std::shared_ptr<YSG::Frequent_Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
std::shared_ptr<YSG::Spectrum> sp{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "SpectrumPlot";
|
||||
xAxis = YSG::Frequent_Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_coord_range({-12000, 12000})
|
||||
.set_tick_length(-10)
|
||||
.set_sub_tick_length(-5)
|
||||
.build();
|
||||
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Axis::Builder(axis, Qt::Vertical)
|
||||
.set_coord_range({12000, -12000})
|
||||
.set_unit_text("功率").build();
|
||||
sp = YSG::Spectrum::Builder(xAxis, yAxis)
|
||||
sp = YSG::Spectrum::Builder(data, xAxis, yAxis)
|
||||
.set_frequent_range({-12000, 12000})
|
||||
.set_frequent_point_size(512)
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
if (use_Performance_shower) set_use_performance_shower(true);
|
||||
}
|
||||
protected:
|
||||
@@ -161,10 +170,10 @@ QWidget* RadioWidget::createAudioSpectrogramPlot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(sp, -1), "频谱图") +
|
||||
bw(cw(xAxis), "频率x轴") +
|
||||
bw(cw(yAxis), "功率y轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(sp.get(), -1), "频谱图") +
|
||||
bw(cw(xAxis.get()), "频率x轴") +
|
||||
bw(cw(yAxis.get()), "功率y轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
@@ -178,24 +187,27 @@ QWidget* RadioWidget::createAudioSpectrogramPlot() {
|
||||
QWidget* RadioWidget::createTimePowerPlot() {
|
||||
class AudioPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Time_Axis* xAxis{};
|
||||
YSG::Axis* yAxis{};
|
||||
YSG::Audio_Frequent* audio{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
std::shared_ptr<YSG::Time_Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Audio_Frequent> audio{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "AudioPlot";
|
||||
xAxis = YSG::Time_Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Time_Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_tick_length(-10)
|
||||
.set_sub_tick_length(-5)
|
||||
.build();
|
||||
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Axis::Builder(axis, Qt::Vertical)
|
||||
.set_coord_range({12000, -12000})
|
||||
.build();
|
||||
audio = YSG::Audio_Frequent::Builder(xAxis, yAxis)
|
||||
audio = YSG::Audio_Frequent::Builder(data, xAxis, yAxis)
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
if (use_Performance_shower) set_use_performance_shower(true);
|
||||
}
|
||||
protected:
|
||||
@@ -211,10 +223,10 @@ QWidget* RadioWidget::createTimePowerPlot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(audio, -1), "音频图") +
|
||||
bw(cw(yAxis), "功率y轴") +
|
||||
bw(cw(xAxis), "时间轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(audio.get(), -1), "音频图") +
|
||||
bw(cw(yAxis.get()), "功率y轴") +
|
||||
bw(cw(xAxis.get()), "时间轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef RadioWidget_H
|
||||
#define RadioWidget_H
|
||||
#include "../BaseWidget.h"
|
||||
#include <memory>
|
||||
|
||||
|
||||
class TextButton;
|
||||
@@ -25,10 +26,10 @@ public:
|
||||
QWidget* createAudioSpectrogramPlot();
|
||||
QWidget* createTimePowerPlot();
|
||||
QWidget* createWaterFallPlot();
|
||||
YSG::Spectrum *mSpectrogramLine{};
|
||||
YSG::Spectrum* mAudioSpectrogramPlot{};
|
||||
YSG::Audio_Frequent *mTimePower{};
|
||||
YSG::Waterfall *mWaterFall{};
|
||||
std::shared_ptr<YSG::Spectrum> mSpectrogramLine{};
|
||||
std::shared_ptr<YSG::Spectrum> mAudioSpectrogramPlot{};
|
||||
std::shared_ptr<YSG::Audio_Frequent> mTimePower{};
|
||||
std::shared_ptr<YSG::Waterfall> mWaterFall{};
|
||||
protected:
|
||||
void focusInEvent(QFocusEvent *event) override;
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
|
||||
@@ -14,26 +14,29 @@
|
||||
QWidget* SweepFrequencyWidget::createSpectrogramPowerPlot() {
|
||||
class SweepFrequentPlot : public YSG::Plot {
|
||||
public:
|
||||
YSG::Axis* xAxis{};
|
||||
YSG::Axis* yAxis{};
|
||||
YSG::Muti_Select_Rect* msr{};
|
||||
YSG::Sweep_Frequent* sf{};
|
||||
std::shared_ptr<YSG::Axis> xAxis{};
|
||||
std::shared_ptr<YSG::Axis> yAxis{};
|
||||
std::shared_ptr<YSG::Muti_Select_Rect> msr{};
|
||||
std::shared_ptr<YSG::Sweep_Frequent> sf{};
|
||||
QMenu* mMenu{};
|
||||
void init() override {
|
||||
Plot::init();
|
||||
object_name = "AxisTestPlot";
|
||||
xAxis = YSG::Axis::Builder(this, Qt::Horizontal)
|
||||
auto data = create_renderable_node(root_renderable(), "DataRenderable");
|
||||
auto axis = create_renderable_node(root_renderable(), "AxisRenderable");
|
||||
auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable");
|
||||
xAxis = YSG::Axis::Builder(axis, Qt::Horizontal)
|
||||
.set_coord_range({0, 100})
|
||||
.set_tick_length(-10).build();
|
||||
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
|
||||
yAxis = YSG::Axis::Builder(axis, Qt::Vertical)
|
||||
.set_coord_range({100, 0})
|
||||
.set_tick_length(-10).build();
|
||||
sf = YSG::Sweep_Frequent::Builder(xAxis, yAxis)
|
||||
sf = YSG::Sweep_Frequent::Builder(data, xAxis, yAxis)
|
||||
.set_block_num(200)
|
||||
.set_block_frequent_point_size(20)
|
||||
.set_frequent_range({0, 100})
|
||||
.build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
|
||||
msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build();
|
||||
}
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent* event) override {
|
||||
@@ -47,10 +50,10 @@ QWidget* SweepFrequencyWidget::createSpectrogramPowerPlot() {
|
||||
void contextMenuEvent(QContextMenuEvent* event) override {
|
||||
if (!mMenu) {
|
||||
auto ws =
|
||||
bw(cw(sf, -1), "扫频图") +
|
||||
bw(cw(xAxis), "x轴") +
|
||||
bw(cw(yAxis), "y轴") +
|
||||
bw(cw(msr), "多选框");
|
||||
bw(cw(sf.get(), -1), "扫频图") +
|
||||
bw(cw(xAxis.get()), "x轴") +
|
||||
bw(cw(yAxis.get()), "y轴") +
|
||||
bw(cw(msr.get()), "多选框");
|
||||
mMenu = createMenu(this, ws);
|
||||
}
|
||||
mMenu->exec(event->globalPos());
|
||||
@@ -131,11 +134,11 @@ void SweepFrequencyWidget::initMenu() {
|
||||
auto startFreq = new ValueMenuButton("起始频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add) {
|
||||
that->setValue(that->mValue + (double)(add ? 1 : -1));
|
||||
}, -1);
|
||||
startFreq->setValue(mSweepFrequencyLine->frequent_range().lower);
|
||||
startFreq->setValue(mSweepFrequencyLine->frequent_range().origin);
|
||||
auto endFreq = new ValueMenuButton("终止频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add) {
|
||||
that->setValue(that->mValue + (double)(add ? 1 : -1));
|
||||
}, -1);
|
||||
endFreq->setValue(mSweepFrequencyLine->frequent_range().upper);
|
||||
endFreq->setValue(mSweepFrequencyLine->frequent_range().target);
|
||||
auto btn3 = new MenuButton("设置频率", fontSize, [&, startFreq, endFreq]() {
|
||||
mSweepFrequencyLine->set_frequent_range({startFreq->mValue, endFreq->mValue});
|
||||
});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef SweepFrequencyWidget_H
|
||||
#define SweepFrequencyWidget_H
|
||||
#include "../BaseWidget.h"
|
||||
#include <memory>
|
||||
class TextButton;
|
||||
class DoubleTextButton;
|
||||
class FrequentShower;
|
||||
@@ -22,7 +23,7 @@ public:
|
||||
FrequentShower *mSelectValueWidget;
|
||||
ProgressBar *mProgressBar1, *mProgressBar2;
|
||||
void initMenu();
|
||||
YSG::Sweep_Frequent *mSweepFrequencyLine{};
|
||||
std::shared_ptr<YSG::Sweep_Frequent> mSweepFrequencyLine{};
|
||||
QWidget* createSpectrogramPowerPlot();
|
||||
protected:
|
||||
void focusInEvent(QFocusEvent *event) override;
|
||||
|
||||
Reference in New Issue
Block a user