MCPcopy Create free account
hub / github.com/analogdevicesinc/scopy / ToolMenuHeaderWidget

Method ToolMenuHeaderWidget

gui/src/widgets/toolmenuheaderwidget.cpp:30–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28using namespace scopy;
29
30ToolMenuHeaderWidget::ToolMenuHeaderWidget(QString title, QWidget *parent)
31 : QWidget(parent)
32 , m_ledState(IDLE)
33{
34 QHBoxLayout *hLay = new QHBoxLayout(this);
35 hLay->setMargin(0);
36 hLay->setSpacing(10);
37
38 QWidget *titleWidget = new QWidget(this);
39 QVBoxLayout *titleLay = new QVBoxLayout(titleWidget);
40 titleLay->setMargin(0);
41 titleLay->setSpacing(0);
42
43 m_title = new QLineEdit(title, this);
44 m_title->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
45 m_title->setEnabled(false);
46 m_title->setReadOnly(false);
47 StyleHelper::MenuCollapseHeaderLineEdit(m_title, "menuCollapseLabel");
48
49 m_uriLabel = new QLabel(titleWidget);
50 titleLay->addWidget(m_title);
51 titleLay->addWidget(m_uriLabel);
52
53 m_ledBtn = new LedButton(this);
54 m_deviceBtn = new QPushButton(this);
55 m_deviceBtn->setCheckable(true);
56
57 int offset = Style::getDimension(json::global::unit_0_5) / 2;
58 HoverWidget *ledHover = new HoverWidget(m_ledBtn, m_deviceBtn, this);
59 ledHover->setStyleSheet("background-color: transparent; border: 0px;");
60 ledHover->setAnchorPos(HoverPosition::HP_BOTTOMRIGHT);
61 ledHover->setContentPos(HoverPosition::HP_TOPLEFT);
62 ledHover->setVisible(true);
63 ledHover->setAnchorOffset({offset, offset});
64 ledHover->raise();
65
66 hLay->addWidget(m_deviceBtn);
67 hLay->addWidget(titleWidget);
68 hLay->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum));
69
70 m_refreshTimer = new QTimer(this);
71 m_refreshTimer->setInterval(LED_ON_MSEC * WAITING_FACTOR);
72 connect(m_refreshTimer, &QTimer::timeout, this, &ToolMenuHeaderWidget::refresh);
73
74 m_timer = new QTimer(this);
75 m_timer->setInterval(LED_ON_MSEC);
76 connect(m_timer, &QTimer::timeout, this, &ToolMenuHeaderWidget::onTimeout);
77
78 connect(this, &ToolMenuHeaderWidget::blinkLed, this, &ToolMenuHeaderWidget::onBlinkLed);
79 connect(this, &ToolMenuHeaderWidget::connState, this,
80 [this, parent](QString id, bool isConnected) { setState(id, isConnected, parent); });
81}
82
83ToolMenuHeaderWidget::~ToolMenuHeaderWidget() {}
84

Callers

nothing calls this directly

Calls 10

setAnchorPosMethod · 0.80
setContentPosMethod · 0.80
setAnchorOffsetMethod · 0.80
connectFunction · 0.50
setSpacingMethod · 0.45
setEnabledMethod · 0.45
addWidgetMethod · 0.45
setVisibleMethod · 0.45
raiseMethod · 0.45
setIntervalMethod · 0.45

Tested by

no test coverage detected