File indexing completed on 2025-03-09 04:10:20
0001 """ 0002 SPDX-FileCopyrightText: 2017 Eliakin Costa <eliakim170@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 """ 0006 from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem 0007 0008 0009 class DebuggerTable(QTableWidget): 0010 0011 def __init__(self, parent=None): 0012 super(DebuggerTable, self).__init__(parent) 0013 0014 self.setColumnCount(4) 0015 0016 tableHeader = [i18n('Scope'), i18n('Name'), i18nc('Value in DebuggerTable', 'Value'), i18n('Type')] 0017 self.setHorizontalHeaderLabels(tableHeader) 0018 self.setEditTriggers(self.NoEditTriggers) 0019 0020 def updateTable(self, data): 0021 self.clearContents() 0022 self.setRowCount(0) 0023 0024 if data and not data.get('quit') and not data.get('exception'): 0025 locals_list = data['frame']['locals'] 0026 globals_list = data['frame']['globals'] 0027 0028 all_variables = {'locals': locals_list, 'globals': globals_list} 0029 0030 for scope_key in all_variables: 0031 for item in all_variables[scope_key]: 0032 for key, value in item.items(): 0033 row = self.rowCount() 0034 self.insertRow(row) 0035 self.setItem(row, 0, QTableWidgetItem(str(scope_key))) 0036 self.setItem(row, 1, QTableWidgetItem(key)) 0037 self.setItem(row, 2, QTableWidgetItem(value['value'])) 0038 self.setItem(row, 3, QTableWidgetItem(value['type']))