Skip to content

Commit

Permalink
gui/moninj: sort by channel. Closes #413
Browse files Browse the repository at this point in the history
sbourdeauducq committed Apr 30, 2016
1 parent dbbd11d commit de73bd1
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions artiq/dashboard/moninj.py
Original file line number Diff line number Diff line change
@@ -3,7 +3,6 @@
import logging
import socket
import struct
from operator import itemgetter

from PyQt5 import QtCore, QtWidgets, QtGui

@@ -141,6 +140,9 @@ def set_value(self, value, oe, override):
finally:
self.programmatic_change = False

def sort_key(self):
return self.channel


class _DDSWidget(_MoninjWidget):
def __init__(self, bus_channel, channel, sysclk, title):
@@ -173,6 +175,9 @@ def set_value(self, ftw):
self.value.setText("<font size=\"5\">{:.7f} MHz</font>"
.format(frequency/1e6))

def sort_key(self):
return (self.bus_channel, self.channel)


class _DeviceManager:
def __init__(self, send_to_device, init):
@@ -260,7 +265,7 @@ def layout_widgets(self, widgets):
grid_widget = QtWidgets.QWidget()
grid_widget.setLayout(grid)

for _, w in sorted(widgets, key=itemgetter(0)):
for _, w in sorted(widgets, key=lambda i: i[1].sort_key()):
grid.addWidget(w)

scroll_area.setWidgetResizable(True)

0 comments on commit de73bd1

Please sign in to comment.