eric7/HelpViewer/OpenPagesWidget.py

branch
eric7
changeset 8680
85503ff2fce9
parent 8679
fd172973428e
child 8683
e8a907801549
equal deleted inserted replaced
8679:fd172973428e 8680:85503ff2fce9
5 5
6 """ 6 """
7 Module implementing a widget showing the list of open pages. 7 Module implementing a widget showing the list of open pages.
8 """ 8 """
9 9
10 from PyQt6.QtCore import pyqtSlot 10 from PyQt6.QtCore import pyqtSlot, pyqtSignal
11 from PyQt6.QtWidgets import ( 11 from PyQt6.QtWidgets import (
12 QWidget, QLabel, QListWidget, QVBoxLayout, QAbstractItemView 12 QWidget, QLabel, QListWidget, QListWidgetItem, QVBoxLayout,
13 QAbstractItemView
13 ) 14 )
14 15
15 16
16 class OpenPagesWidget(QWidget): 17 class OpenPagesWidget(QWidget):
17 """ 18 """
18 Class implementing a widget showing the list of open pages. 19 Class implementing a widget showing the list of open pages.
19 """ 20 """
21 currentChanged = pyqtSignal(int)
22
20 def __init__(self, stack, parent=None): 23 def __init__(self, stack, parent=None):
21 """ 24 """
22 Constructor 25 Constructor
23 26
24 @param stack reference to the stack widget containing the open 27 @param stack reference to the stack widget containing the open
74 77
75 @param row current row 78 @param row current row
76 @type int 79 @type int
77 """ 80 """
78 self.__stack.setCurrentIndex(row) 81 self.__stack.setCurrentIndex(row)
82 self.currentChanged.emit(row)
79 83
80 def addPage(self, viewer): 84 def addPage(self, viewer):
81 """ 85 """
82 Public method to add a viewer page to our list. 86 Public method to add a viewer page to our list.
83 87
84 @param viewer DESCRIPTION 88 @param viewer reference to the viewer object
85 @type TYPE 89 @type HelpViewerImpl
86 """ 90 """
87 # TODO: not yet implemented 91 QListWidgetItem(viewer.title(), self.__openPagesList)
92 viewer.titleChanged.connect(
93 lambda: self.__viewerTitleChanged(viewer))
94
95 self.__currentPageChanged(self.__openPagesList.count() - 1)
96
97 def __viewerTitleChanged(self, viewer):
98 """
99 Private method to handle the change of a viewer title.
100
101 @param viewer reference to the viewer that change title
102 @type HelpViewerImpl
103 """
104 index = self.__stack.indexOf(viewer)
105 itm = self.__openPagesList.item(index)
106 itm.setText(viewer.title())
107 self.currentChanged.emit(index)

eric ide

mercurial