--- a/eric6/Debugger/DebugViewer.py Wed Dec 16 18:31:37 2020 +0100 +++ b/eric6/Debugger/DebugViewer.py Wed Dec 16 20:27:57 2020 +0100 @@ -25,7 +25,7 @@ from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt from PyQt5.QtWidgets import ( QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QSizePolicy, QPushButton, - QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView, QFrame + QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView, QSplitter ) import UI.PixmapCache @@ -69,27 +69,26 @@ self.__mainLayout.setContentsMargins(0, 3, 0, 0) self.setLayout(self.__mainLayout) + self.__mainSplitter = QSplitter(Qt.Vertical, self) + self.__mainLayout.addWidget(self.__mainSplitter) + # add the viewer showing the connected debug backends - self.__debuggersLayout = QHBoxLayout() + self.__debuggersWidget = QWidget() + self.__debuggersLayout = QVBoxLayout(self.__debuggersWidget) + self.__debuggersLayout.setContentsMargins(0, 0, 0, 0) self.__debuggersLayout.addWidget(QLabel(self.tr("Debuggers:"))) self.__debuggersCombo = QComboBox(self) self.__debuggersCombo.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Fixed) self.__debuggersLayout.addWidget(self.__debuggersCombo) - self.__mainLayout.addLayout(self.__debuggersLayout) + self.__mainSplitter.addWidget(self.__debuggersWidget) self.__debuggersCombo.currentIndexChanged[str].connect( self.__debuggerSelected) - # add a line to separate debugger selector from debugger specific parts - hline = QFrame(self) - hline.setFrameStyle(QFrame.Sunken) - hline.setFrameShape(QFrame.HLine) - self.__mainLayout.addWidget(hline) - # add the tab widget containing various debug related views self.__tabWidget = E5TabWidget() - self.__mainLayout.addWidget(self.__tabWidget) + self.__mainSplitter.addWidget(self.__tabWidget) from .VariablesViewer import VariablesViewer # add the global variables viewer @@ -257,19 +256,22 @@ self.__tabWidget.setCurrentWidget(self.glvWidget) # add the threads viewer - self.__mainLayout.addWidget(QLabel(self.tr("Threads:"))) + self.__threadWidget = QWidget() + self.__threadWidgetLayout = QVBoxLayout(self.__threadWidget) + self.__threadWidgetLayout.setContentsMargins(0, 0, 0, 0) + self.__threadWidgetLayout.addWidget(QLabel(self.tr("Threads:"))) self.__threadList = QTreeWidget() self.__threadList.setHeaderLabels( [self.tr("Name"), self.tr("State"), ""]) self.__threadList.setSortingEnabled(True) - self.__mainLayout.addWidget(self.__threadList) + self.__threadWidgetLayout.addWidget(self.__threadList) + self.__mainSplitter.addWidget(self.__threadWidget) self.__doThreadListUpdate = True self.__threadList.currentItemChanged.connect(self.__threadSelected) - self.__mainLayout.setStretchFactor(self.__tabWidget, 5) - self.__mainLayout.setStretchFactor(self.__threadList, 1) + self.__mainSplitter.setSizes([100, 500, 100]) self.currentStack = None self.framenr = 0