| 82 | GRTimeChannelAddon::~GRTimeChannelAddon() {} |
| 83 | |
| 84 | QWidget *GRTimeChannelAddon::createYAxisMenu(QWidget *parent) |
| 85 | { |
| 86 | MenuSectionWidget *yaxiscontainer = new MenuSectionWidget(parent); |
| 87 | MenuCollapseSection *yaxis = new MenuCollapseSection("Y-AXIS", MenuCollapseSection::MHCW_NONE, |
| 88 | MenuCollapseSection::MHW_BASEWIDGET, yaxiscontainer); |
| 89 | |
| 90 | // Y-MODE |
| 91 | m_ymodeCb = new MenuCombo("YMODE", yaxis); |
| 92 | auto cb = m_ymodeCb->combo(); |
| 93 | cb->addItem("ADC Counts", YMODE_COUNT); |
| 94 | cb->addItem("% Full Scale", YMODE_FS); |
| 95 | |
| 96 | if(m_scaleAvailable) { |
| 97 | cb->addItem(m_unit, YMODE_SCALE); |
| 98 | } |
| 99 | m_plotAxis->setUnits("V"); |
| 100 | m_yCtrl = new MenuPlotAxisRangeControl(m_plotAxis, yaxis); |
| 101 | |
| 102 | m_autoscaleBtn = new MenuOnOffSwitch(tr("AUTOSCALE"), yaxis, false); |
| 103 | m_autoscale = new PlotAutoscaler(this); |
| 104 | m_autoscale->addChannels(m_plotCh); |
| 105 | |
| 106 | connect(m_autoscale, &PlotAutoscaler::newMin, m_yCtrl, &MenuPlotAxisRangeControl::setMin); |
| 107 | connect(m_autoscale, &PlotAutoscaler::newMax, m_yCtrl, &MenuPlotAxisRangeControl::setMax); |
| 108 | |
| 109 | connect(m_autoscaleBtn->onOffswitch(), &QAbstractButton::toggled, this, [=](bool b) { |
| 110 | m_yCtrl->setEnabled(!b); |
| 111 | m_autoscaleEnabled = b; |
| 112 | toggleAutoScale(); |
| 113 | }); |
| 114 | |
| 115 | yaxis->contentLayout()->addWidget(m_autoscaleBtn); |
| 116 | yaxis->contentLayout()->addWidget(m_yCtrl); |
| 117 | yaxis->contentLayout()->addWidget(m_ymodeCb); |
| 118 | |
| 119 | yaxiscontainer->contentLayout()->addWidget(yaxis); |
| 120 | |
| 121 | connect(cb, qOverload<int>(&QComboBox::currentIndexChanged), this, [=](int idx) { |
| 122 | auto mode = cb->itemData(idx).toInt(); |
| 123 | setYMode(static_cast<YMode>(mode)); |
| 124 | }); |
| 125 | |
| 126 | return yaxiscontainer; |
| 127 | } |
| 128 | |
| 129 | QPushButton *GRTimeChannelAddon::createSnapshotButton(QWidget *parent) |
| 130 | { |
nothing calls this directly
no test coverage detected