|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
|
4 # |
|
5 |
|
6 """ |
|
7 Module implementing a dialog to show defined test markers. |
|
8 """ |
|
9 |
|
10 from PyQt6.QtCore import Qt |
|
11 from PyQt6.QtWidgets import QWidget, QTreeWidgetItem |
|
12 |
|
13 from .Ui_MarkersWindow import Ui_MarkersWindow |
|
14 |
|
15 |
|
16 class MarkersWindow(QWidget, Ui_MarkersWindow): |
|
17 """ |
|
18 Class documentation goes here. |
|
19 """ |
|
20 |
|
21 def __init__(self, parent=None): |
|
22 """ |
|
23 Constructor |
|
24 |
|
25 @param parent reference to the parent widget (defaults to None) |
|
26 @type QWidget (optional) |
|
27 """ |
|
28 super().__init__(parent) |
|
29 self.setupUi(self) |
|
30 |
|
31 self.__lastGeometry = None |
|
32 |
|
33 def showMarkers(self, markers): |
|
34 """ |
|
35 Public method to show the dialog with the given markers. |
|
36 |
|
37 @param markers dictionary containing the markers and their descriptions |
|
38 @type dict |
|
39 """ |
|
40 self.markersList.clear() |
|
41 |
|
42 for marker, description in markers.items(): |
|
43 QTreeWidgetItem(self.markersList, [marker, description]) |
|
44 |
|
45 self.markersList.setColumnWidth(0, 250) |
|
46 self.markersList.resizeColumnToContents(1) |
|
47 |
|
48 self.markersList.sortItems(0, Qt.SortOrder.AscendingOrder) |
|
49 |
|
50 if self.__lastGeometry is not None: |
|
51 self.restoreGeometry(self.__lastGeometry) |
|
52 |
|
53 self.show() |
|
54 |
|
55 def closeEvent(self, e): |
|
56 """ |
|
57 Protected slot implementing a close event handler. |
|
58 |
|
59 @param e close event |
|
60 @type QCloseEvent |
|
61 """ |
|
62 self.__lastGeometry = self.saveGeometry() |