def __init__(self, trace=None, parent=None):
super(RegistersView, self).__init__(parent=parent)
self.setWindowTitle('Registers')
vbox = QtWidgets.QVBoxLayout(self)
vbox.setContentsMargins(2, 2, 2, 2)
vbox.setSpacing(4)
self.viewnames = QtWidgets.QComboBox(self)
self.regviews = {}
self.flagviews = {}
reg_groups = trace.archGetRegisterGroups()
for name, group in reg_groups:
self.regviews[name] = group
self.viewnames.addItem(name)
self.reglist = RegistersListView(trace=trace, parent=self)
self.regdelegate = RegColorDelegate(self.reglist)
self.reglist.setItemDelegate(self.regdelegate)
# TODO: we should switch theme overall to monospace font
# font = Qt.QFont('Courier New', 10)
# self.reglist.setFont(font)
vbox.addWidget(self.viewnames)
# show general in dropdown by default if exists, otherwise all
# (preferences will re-set)
if 'general' in self.regviews:
self.regViewNameSelected('general')
idx = self.viewnames.findText('general')
self.viewnames.setCurrentIndex(idx)
else:
self.regViewNameSelected('all')
idx = self.viewnames.findText('all')
self.viewnames.setCurrentIndex(idx)
statusreg_widget = VQFlagsGridView(trace=trace, parent=self)
statusreg_widget.setMaximumHeight(60)
statusreg_widget.hide()
splitview = QtWidgets.QSplitter(QtCore.Qt.Vertical)
splitview.addWidget(self.reglist)
splitview.addWidget(statusreg_widget)
vbox.addWidget(splitview)
self.viewnames.currentIndexChanged.connect(self.regViewNameSelected)
self.setLayout(vbox)
评论列表
文章目录