eric6/Debugger/DebugViewer.py

branch
multi_processing
changeset 7879
7be93de6b532
parent 7876
9164a5c0d4a6
child 7881
6c09c023cda5
diff -r 72386134c80a -r 7be93de6b532 eric6/Debugger/DebugViewer.py
--- 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

eric ide

mercurial