Skip to content

Commit 87e4b68

Browse files
committed
adrv9009: style updates
Signed-off-by: IonutMuthi <ionut.muthi@analog.com>
1 parent 4b43acb commit 87e4b68

File tree

3 files changed

+109
-59
lines changed

3 files changed

+109
-59
lines changed

packages/adrv9009/plugins/adrv9009plugin/src/advanced/jesddeframerwidget.cpp

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,6 @@ JesdDeframerWidget::JesdDeframerWidget(iio_device *device, QWidget *parent)
4545
}
4646

4747
setupUi();
48-
49-
// Apply established ADRV styling pattern (from adrv9002/initialcalibrationswidget.cpp:61)
50-
Style::setStyle(this, style::properties::widget::border_interactive);
5148
}
5249

5350
JesdDeframerWidget::~JesdDeframerWidget() {}
@@ -101,27 +98,36 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
10198
MenuCollapseSection::MHCW_ARROW,
10299
MenuCollapseSection::MHW_BASEWIDGET, parent);
103100

101+
QWidget *widget = new QWidget(parent);
102+
QVBoxLayout *layout = new QVBoxLayout(widget);
103+
layout->setContentsMargins(10, 10, 10, 10);
104+
layout->setSpacing(10);
105+
106+
column->contentLayout()->addWidget(widget);
107+
Style::setBackgroundColor(widget, json::theme::background_primary);
108+
Style::setStyle(widget, style::properties::widget::border_interactive);
109+
104110
// 1. BANK ID - Range Widget [0 1 15]
105111
auto bankIdWidget = Adrv9009WidgetFactory::createRangeWidget(
106112
m_device, QString("adi,jesd204-%1-bank-id").arg(attrPrefix), "[0 1 15]", "Bank ID");
107113
if(bankIdWidget) {
108-
column->contentLayout()->addWidget(bankIdWidget);
114+
layout->addWidget(bankIdWidget);
109115
connect(this, &JesdDeframerWidget::readRequested, bankIdWidget, &IIOWidget::readAsync);
110116
}
111117

112118
// 2. DEVICE ID - Range Widget [0 1 255]
113119
auto deviceIdWidget = Adrv9009WidgetFactory::createRangeWidget(
114120
m_device, QString("adi,jesd204-%1-device-id").arg(attrPrefix), "[0 1 255]", "Device ID");
115121
if(deviceIdWidget) {
116-
column->contentLayout()->addWidget(deviceIdWidget);
122+
layout->addWidget(deviceIdWidget);
117123
connect(this, &JesdDeframerWidget::readRequested, deviceIdWidget, &IIOWidget::readAsync);
118124
}
119125

120126
// 3. LANE0 ID - Range Widget [0 1 31]
121127
auto lane0IdWidget = Adrv9009WidgetFactory::createRangeWidget(
122128
m_device, QString("adi,jesd204-%1-lane0-id").arg(attrPrefix), "[0 1 31]", "Lane0 ID");
123129
if(lane0IdWidget) {
124-
column->contentLayout()->addWidget(lane0IdWidget);
130+
layout->addWidget(lane0IdWidget);
125131
connect(this, &JesdDeframerWidget::readRequested, lane0IdWidget, &IIOWidget::readAsync);
126132
}
127133

@@ -133,7 +139,7 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
133139
IIOWidget *mWidget = Adrv9009WidgetFactory::createCustomComboWidget(
134140
m_device, QString("adi,jesd204-%1-m").arg(attrPrefix), mOptions, "M");
135141
if(mWidget) {
136-
column->contentLayout()->addWidget(mWidget);
142+
layout->addWidget(mWidget);
137143
connect(this, &JesdDeframerWidget::readRequested, mWidget, &IIOWidget::readAsync);
138144
mWidget->getUiStrategy()->setInfoMessage(
139145
"Number of DACs (0, 2, or 4) - 2 DACs per transmit chain (I and Q)");
@@ -143,23 +149,25 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
143149
auto kWidget = Adrv9009WidgetFactory::createRangeWidget(m_device, QString("adi,jesd204-%1-k").arg(attrPrefix),
144150
"[1 1 32]", "K");
145151
if(kWidget) {
146-
column->contentLayout()->addWidget(kWidget);
152+
layout->addWidget(kWidget);
147153
connect(this, &JesdDeframerWidget::readRequested, kWidget, &IIOWidget::readAsync);
148154
}
149155

150156
// 6. SCRAMBLE - Checkbox
151157
auto scrambleWidget = Adrv9009WidgetFactory::createCheckboxWidget(
152158
m_device, QString("adi,jesd204-%1-scramble").arg(attrPrefix), "Scramble");
153159
if(scrambleWidget) {
154-
column->contentLayout()->addWidget(scrambleWidget);
160+
layout->addWidget(scrambleWidget);
161+
scrambleWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
155162
connect(this, &JesdDeframerWidget::readRequested, scrambleWidget, &IIOWidget::readAsync);
156163
}
157164

158165
// 7. EXTERNAL SYSREF - Checkbox
159166
auto extSysrefWidget = Adrv9009WidgetFactory::createCheckboxWidget(
160167
m_device, QString("adi,jesd204-%1-external-sysref").arg(attrPrefix), "External SYSREF");
161168
if(extSysrefWidget) {
162-
column->contentLayout()->addWidget(extSysrefWidget);
169+
layout->addWidget(extSysrefWidget);
170+
extSysrefWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
163171
connect(this, &JesdDeframerWidget::readRequested, extSysrefWidget, &IIOWidget::readAsync);
164172
}
165173

@@ -168,14 +176,18 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
168176

169177
// Create switches directly
170178
scopy::MenuOnOffSwitch *lane0 = new scopy::MenuOnOffSwitch("Deserializer Lane 0", column);
179+
lane0->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
171180
scopy::MenuOnOffSwitch *lane1 = new scopy::MenuOnOffSwitch("Deserializer Lane 1", column);
181+
lane1->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
172182
scopy::MenuOnOffSwitch *lane2 = new scopy::MenuOnOffSwitch("Deserializer Lane 2", column);
183+
lane2->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
173184
scopy::MenuOnOffSwitch *lane3 = new scopy::MenuOnOffSwitch("Deserializer Lane 3", column);
185+
lane3->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
174186

175-
column->contentLayout()->addWidget(lane0);
176-
column->contentLayout()->addWidget(lane1);
177-
column->contentLayout()->addWidget(lane2);
178-
column->contentLayout()->addWidget(lane3);
187+
layout->addWidget(lane0);
188+
layout->addWidget(lane1);
189+
layout->addWidget(lane2);
190+
layout->addWidget(lane3);
179191

180192
// Function to update hardware from all switches
181193
auto updateHardware = [this, baseAttr, lane0, lane1, lane2, lane3]() {
@@ -220,31 +232,33 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
220232
m_device, QString("adi,jesd204-%1-deserializer-lane-crossbar").arg(attrPrefix), "[0 1 255]",
221233
"Deserializer Lane Crossbar");
222234
if(crossbarWidget) {
223-
column->contentLayout()->addWidget(crossbarWidget);
235+
layout->addWidget(crossbarWidget);
224236
connect(this, &JesdDeframerWidget::readRequested, crossbarWidget, &IIOWidget::readAsync);
225237
}
226238

227239
// 10. LMFC OFFSET - Range Widget [0 1 31]
228240
auto lmfcWidget = Adrv9009WidgetFactory::createRangeWidget(
229241
m_device, QString("adi,jesd204-%1-lmfc-offset").arg(attrPrefix), "[0 1 31]", "LMFC Offset");
230242
if(lmfcWidget) {
231-
column->contentLayout()->addWidget(lmfcWidget);
243+
layout->addWidget(lmfcWidget);
232244
connect(this, &JesdDeframerWidget::readRequested, lmfcWidget, &IIOWidget::readAsync);
233245
}
234246

235247
// 11. NEW SYSREF ON RELINK - Checkbox
236248
auto newSysrefWidget = Adrv9009WidgetFactory::createCheckboxWidget(
237249
m_device, QString("adi,jesd204-%1-new-sysref-on-relink").arg(attrPrefix), "New SYSREF on Relink");
238250
if(newSysrefWidget) {
239-
column->contentLayout()->addWidget(newSysrefWidget);
251+
layout->addWidget(newSysrefWidget);
252+
newSysrefWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
240253
connect(this, &JesdDeframerWidget::readRequested, newSysrefWidget, &IIOWidget::readAsync);
241254
}
242255

243256
// 12. SYNCB OUT SELECT - Checkbox
244257
auto syncbSelectWidget = Adrv9009WidgetFactory::createCheckboxWidget(
245258
m_device, QString("adi,jesd204-%1-syncb-out-select").arg(attrPrefix), "SYNCB Out Select");
246259
if(syncbSelectWidget) {
247-
column->contentLayout()->addWidget(syncbSelectWidget);
260+
layout->addWidget(syncbSelectWidget);
261+
syncbSelectWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
248262
connect(this, &JesdDeframerWidget::readRequested, syncbSelectWidget, &IIOWidget::readAsync);
249263
syncbSelectWidget->getUiStrategy()->setInfoMessage(
250264
"Selects deframer SYNCBOUT pin (0 = SYNCBOUT0, 1 = SYNCBOUT1)");
@@ -257,15 +271,16 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
257271
IIOWidget *npWidget = Adrv9009WidgetFactory::createCustomComboWidget(
258272
m_device, QString("adi,jesd204-%1-np").arg(attrPrefix), npOptions, "NP");
259273
if(npWidget) {
260-
column->contentLayout()->addWidget(npWidget);
274+
layout->addWidget(npWidget);
261275
connect(this, &JesdDeframerWidget::readRequested, npWidget, &IIOWidget::readAsync);
262276
}
263277

264278
// 14. SYNCB OUT LVDS MODE - Checkbox
265279
auto lvdsModeWidget = Adrv9009WidgetFactory::createCheckboxWidget(
266280
m_device, QString("adi,jesd204-%1-syncb-out-lvds-mode").arg(attrPrefix), "SYNCB Out LVDS Mode");
267281
if(lvdsModeWidget) {
268-
column->contentLayout()->addWidget(lvdsModeWidget);
282+
layout->addWidget(lvdsModeWidget);
283+
lvdsModeWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
269284
connect(this, &JesdDeframerWidget::readRequested, lvdsModeWidget, &IIOWidget::readAsync);
270285
}
271286

@@ -274,7 +289,8 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
274289
m_device, QString("adi,jesd204-%1-syncb-out-lvds-pn-invert").arg(attrPrefix),
275290
"SYNCB Out LVDS PN Invert");
276291
if(lvdsPnInvertWidget) {
277-
column->contentLayout()->addWidget(lvdsPnInvertWidget);
292+
layout->addWidget(lvdsPnInvertWidget);
293+
lvdsPnInvertWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
278294
connect(this, &JesdDeframerWidget::readRequested, lvdsPnInvertWidget, &IIOWidget::readAsync);
279295
}
280296

@@ -283,7 +299,7 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
283299
m_device, QString("adi,jesd204-%1-syncb-out-cmos-slew-rate").arg(attrPrefix), "[0 1 3]",
284300
"SYNCB Out CMOS Slew Rate");
285301
if(cmosSlewWidget) {
286-
column->contentLayout()->addWidget(cmosSlewWidget);
302+
layout->addWidget(cmosSlewWidget);
287303
connect(this, &JesdDeframerWidget::readRequested, cmosSlewWidget, &IIOWidget::readAsync);
288304
}
289305

@@ -292,7 +308,8 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
292308
m_device, QString("adi,jesd204-%1-syncb-out-cmos-drive-level").arg(attrPrefix),
293309
"SYNCB Out CMOS Drive Level");
294310
if(cmosDriveWidget) {
295-
column->contentLayout()->addWidget(cmosDriveWidget);
311+
layout->addWidget(cmosDriveWidget);
312+
cmosDriveWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
296313
connect(this, &JesdDeframerWidget::readRequested, cmosDriveWidget, &IIOWidget::readAsync);
297314
}
298315

@@ -301,12 +318,13 @@ QWidget *JesdDeframerWidget::createDeframerColumn(const QString &columnType, con
301318
m_device, QString("adi,jesd204-%1-enable-manual-lane-xbar").arg(attrPrefix),
302319
"Enable Manual Lane Crossbar");
303320
if(manualXbarWidget) {
304-
column->contentLayout()->addWidget(manualXbarWidget);
321+
layout->addWidget(manualXbarWidget);
322+
manualXbarWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
305323
connect(this, &JesdDeframerWidget::readRequested, manualXbarWidget, &IIOWidget::readAsync);
306324
}
307325

308326
// Add spacer to push content to top
309-
column->contentLayout()->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
327+
layout->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
310328

311329
return column;
312330
}

0 commit comments

Comments
 (0)