src/eric7/MicroPython/BoardDataDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9653
e67609152c5e
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
17 17
18 class BoardDataDialog(QDialog, Ui_BoardDataDialog): 18 class BoardDataDialog(QDialog, Ui_BoardDataDialog):
19 """ 19 """
20 Class implementing a dialog to show information about a connected board. 20 Class implementing a dialog to show information about a connected board.
21 """ 21 """
22
22 def __init__(self, data, parent=None): 23 def __init__(self, data, parent=None):
23 """ 24 """
24 Constructor 25 Constructor
25 26
26 @param data dictionary containing the data to be shown 27 @param data dictionary containing the data to be shown
27 @type dict 28 @type dict
28 @param parent reference to the parent widget (defaults to None) 29 @param parent reference to the parent widget (defaults to None)
29 @type QWidget (optional) 30 @type QWidget (optional)
30 """ 31 """
31 super().__init__(parent) 32 super().__init__(parent)
32 self.setupUi(self) 33 self.setupUi(self)
33 34
34 loc = QLocale() 35 loc = QLocale()
35 36
36 self.dataTree.setColumnCount(2) 37 self.dataTree.setColumnCount(2)
37 38
38 header = self.__createHeader(self.tr("General")) 39 header = self.__createHeader(self.tr("General"))
39 QTreeWidgetItem(header, [ 40 QTreeWidgetItem(header, [self.tr("Board ID"), data["mc_id"]])
40 self.tr("Board ID"), 41 QTreeWidgetItem(
41 data["mc_id"] 42 header,
42 ]) 43 [
43 QTreeWidgetItem(header, [ 44 self.tr("Board Frequency"),
44 self.tr("Board Frequency"), 45 self.tr("{0} MHz").format(
45 self.tr("{0} MHz").format( 46 loc.toString(data["mc_frequency_mhz"], "f", 0)
46 loc.toString(data["mc_frequency_mhz"], "f", 0)) 47 ),
47 ]) 48 ],
49 )
48 with contextlib.suppress(KeyError): 50 with contextlib.suppress(KeyError):
49 QTreeWidgetItem(header, [ 51 QTreeWidgetItem(
50 self.tr("Board Temperature"), 52 header,
51 self.tr("{0} °C").format( 53 [
52 loc.toString(data["mc_temp_c"], "f", 1)) 54 self.tr("Board Temperature"),
53 ]) 55 self.tr("{0} °C").format(loc.toString(data["mc_temp_c"], "f", 1)),
54 56 ],
57 )
58
55 header = self.__createHeader(self.tr("Python")) 59 header = self.__createHeader(self.tr("Python"))
56 QTreeWidgetItem(header, [ 60 QTreeWidgetItem(header, [self.tr("Python Version"), data["py_version"]])
57 self.tr("Python Version"), 61 QTreeWidgetItem(header, [self.tr("Platform"), data["py_platform"]])
58 data["py_version"]
59 ])
60 QTreeWidgetItem(header, [
61 self.tr("Platform"),
62 data["py_platform"]
63 ])
64 if data["mpy_name"] == "micropython": 62 if data["mpy_name"] == "micropython":
65 mpyName = "MicroPython" 63 mpyName = "MicroPython"
66 elif data["mpy_name"] == "circuitpython": 64 elif data["mpy_name"] == "circuitpython":
67 mpyName = "CircuitPython" 65 mpyName = "CircuitPython"
68 elif data["mpy_name"] == "unknown": 66 elif data["mpy_name"] == "unknown":
69 mpyName = self.tr("unknown") 67 mpyName = self.tr("unknown")
70 else: 68 else:
71 mpyName = data["name"] 69 mpyName = data["name"]
72 QTreeWidgetItem(header, [ 70 QTreeWidgetItem(
73 self.tr("Implementation"), 71 header,
74 self.tr("{0} V. {1}").format( 72 [
75 mpyName, 73 self.tr("Implementation"),
76 self.tr("unknown") 74 self.tr("{0} V. {1}").format(
77 if data["mpy_version"] == "unknown" else 75 mpyName,
78 data["mpy_version"] 76 self.tr("unknown")
79 ) 77 if data["mpy_version"] == "unknown"
80 ]) 78 else data["mpy_version"],
81 79 ),
80 ],
81 )
82
82 header = self.__createHeader(self.tr("System")) 83 header = self.__createHeader(self.tr("System"))
83 QTreeWidgetItem(header, [ 84 QTreeWidgetItem(header, [self.tr("System Name"), data["sysname"]])
84 self.tr("System Name"), 85 QTreeWidgetItem(header, [self.tr("Node Name"), data["nodename"]])
85 data["sysname"] 86 QTreeWidgetItem(header, [self.tr("Release"), data["release"]])
86 ]) 87 QTreeWidgetItem(header, [self.tr("Version"), data["version"]])
87 QTreeWidgetItem(header, [ 88 QTreeWidgetItem(header, [self.tr("Machine"), data["machine"]])
88 self.tr("Node Name"), 89
89 data["nodename"]
90 ])
91 QTreeWidgetItem(header, [
92 self.tr("Release"),
93 data["release"]
94 ])
95 QTreeWidgetItem(header, [
96 self.tr("Version"),
97 data["version"]
98 ])
99 QTreeWidgetItem(header, [
100 self.tr("Machine"),
101 data["machine"]
102 ])
103
104 header = self.__createHeader(self.tr("Memory")) 90 header = self.__createHeader(self.tr("Memory"))
105 QTreeWidgetItem(header, [ 91 QTreeWidgetItem(
106 self.tr("total"), 92 header,
107 self.tr("{0} KBytes").format( 93 [
108 loc.toString(data["mem_total_kb"], "f", 2)) 94 self.tr("total"),
109 ]) 95 self.tr("{0} KBytes").format(
110 QTreeWidgetItem(header, [ 96 loc.toString(data["mem_total_kb"], "f", 2)
111 self.tr("used"), 97 ),
112 self.tr("{0} KBytes ({1}%)").format( 98 ],
113 loc.toString(data["mem_used_kb"], "f", 2), 99 )
114 loc.toString(data["mem_used_pc"], "f", 2)) 100 QTreeWidgetItem(
115 ]) 101 header,
116 QTreeWidgetItem(header, [ 102 [
117 self.tr("free"), 103 self.tr("used"),
118 self.tr("{0} KBytes ({1}%)").format( 104 self.tr("{0} KBytes ({1}%)").format(
119 loc.toString(data["mem_free_kb"], "f", 2), 105 loc.toString(data["mem_used_kb"], "f", 2),
120 loc.toString(data["mem_free_pc"], "f", 2)) 106 loc.toString(data["mem_used_pc"], "f", 2),
121 ]) 107 ),
122 108 ],
109 )
110 QTreeWidgetItem(
111 header,
112 [
113 self.tr("free"),
114 self.tr("{0} KBytes ({1}%)").format(
115 loc.toString(data["mem_free_kb"], "f", 2),
116 loc.toString(data["mem_free_pc"], "f", 2),
117 ),
118 ],
119 )
120
123 header = self.__createHeader(self.tr("Flash Memory")) 121 header = self.__createHeader(self.tr("Flash Memory"))
124 QTreeWidgetItem(header, [ 122 QTreeWidgetItem(
125 self.tr("total"), 123 header,
126 self.tr("{0} KBytes").format( 124 [
127 loc.toString(data["flash_total_kb"], "f", 0)) 125 self.tr("total"),
128 ]) 126 self.tr("{0} KBytes").format(
129 QTreeWidgetItem(header, [ 127 loc.toString(data["flash_total_kb"], "f", 0)
130 self.tr("used"), 128 ),
131 self.tr("{0} KBytes ({1}%)").format( 129 ],
132 loc.toString(data["flash_used_kb"], "f", 0), 130 )
133 loc.toString(data["flash_used_pc"], "f", 2)) 131 QTreeWidgetItem(
134 ]) 132 header,
135 QTreeWidgetItem(header, [ 133 [
136 self.tr("free"), 134 self.tr("used"),
137 self.tr("{0} KBytes ({1}%)").format( 135 self.tr("{0} KBytes ({1}%)").format(
138 loc.toString(data["flash_free_kb"], "f", 0), 136 loc.toString(data["flash_used_kb"], "f", 0),
139 loc.toString(data["flash_free_pc"], "f", 2)) 137 loc.toString(data["flash_used_pc"], "f", 2),
140 ]) 138 ),
141 139 ],
140 )
141 QTreeWidgetItem(
142 header,
143 [
144 self.tr("free"),
145 self.tr("{0} KBytes ({1}%)").format(
146 loc.toString(data["flash_free_kb"], "f", 0),
147 loc.toString(data["flash_free_pc"], "f", 2),
148 ),
149 ],
150 )
151
142 header = self.__createHeader(self.tr("µLab")) 152 header = self.__createHeader(self.tr("µLab"))
143 if data["ulab"] is not None: 153 if data["ulab"] is not None:
144 QTreeWidgetItem(header, [ 154 QTreeWidgetItem(header, [self.tr("Version"), data["ulab"]])
145 self.tr("Version"),
146 data["ulab"]
147 ])
148 else: 155 else:
149 itm = QTreeWidgetItem(header, [ 156 itm = QTreeWidgetItem(header, [self.tr("µLab is not available")])
150 self.tr("µLab is not available")
151 ])
152 itm.setFirstColumnSpanned(True) 157 itm.setFirstColumnSpanned(True)
153 158
154 for col in range(self.dataTree.columnCount()): 159 for col in range(self.dataTree.columnCount()):
155 self.dataTree.resizeColumnToContents(col) 160 self.dataTree.resizeColumnToContents(col)
156 161
157 def __createHeader(self, headerText): 162 def __createHeader(self, headerText):
158 """ 163 """
159 Private method to create a header item. 164 Private method to create a header item.
160 165
161 @param headerText text for the header item 166 @param headerText text for the header item
162 @type str 167 @type str
163 @return reference to the created header item 168 @return reference to the created header item
164 @rtype QTreeWidgetItem 169 @rtype QTreeWidgetItem
165 """ 170 """
166 headerItem = QTreeWidgetItem(self.dataTree, [headerText]) 171 headerItem = QTreeWidgetItem(self.dataTree, [headerText])
167 headerItem.setExpanded(True) 172 headerItem.setExpanded(True)
168 headerItem.setFirstColumnSpanned(True) 173 headerItem.setFirstColumnSpanned(True)
169 174
170 font = headerItem.font(0) 175 font = headerItem.font(0)
171 font.setBold(True) 176 font.setBold(True)
172 177
173 headerItem.setFont(0, font) 178 headerItem.setFont(0, font)
174 179
175 return headerItem 180 return headerItem

eric ide

mercurial