88 QComboBox , QSpinBox , QDoubleSpinBox , QSizePolicy ,
99 QCheckBox , QDockWidget , QScrollArea , QListWidget ,
1010 QListWidgetItem , QTreeWidget , QTreeWidgetItem ,
11- QTabWidget )
11+ QTabWidget , QSplitter )
1212import matplotlib .pyplot as plt
1313import numpy as np
1414import openmc
@@ -42,8 +42,14 @@ def __init__(self, model, font_metric, main_window, parent=None):
4242
4343 self .treeLayout = QVBoxLayout ()
4444 self .meshTree = QTreeWidget ()
45+ self .meshTree .setSizePolicy (QSizePolicy .Expanding , QSizePolicy .Expanding )
46+ self .meshTree .setVerticalScrollBarPolicy (QtCore .Qt .ScrollBarAsNeeded )
4547 self .treeExpander = Expander ("Meshes:" , layout = self .treeLayout )
4648 self .treeExpander .expand () # start with meshes expanded
49+ self .headerLabel = QLabel ("Mesh Annotations" )
50+ header_font = self .headerLabel .font ()
51+ header_font .setBold (True )
52+ self .headerLabel .setFont (header_font )
4753
4854 self .meshTree .setColumnCount (1 )
4955
@@ -59,7 +65,17 @@ def __init__(self, model, font_metric, main_window, parent=None):
5965
6066 self .treeLayout .addWidget (self .meshTree )
6167
62- self .setLayout (self .treeLayout )
68+ self .panelLayout = QVBoxLayout ()
69+ self .panelLayout .addWidget (self .headerLabel )
70+
71+ self .treeSplitter = QSplitter (QtCore .Qt .Vertical )
72+ self .treeSplitter .setChildrenCollapsible (False )
73+ self .treeSplitter .addWidget (self .meshTree )
74+ self .treeSplitter .addWidget (QWidget ())
75+ self .treeSplitter .setStretchFactor (0 , 1 )
76+ self .treeSplitter .setStretchFactor (1 , 2 )
77+ self .panelLayout .addWidget (self .treeSplitter )
78+ self .setLayout (self .panelLayout )
6379
6480 def get_checked_meshes (self ):
6581 return [id for id , item in self .mesh_items if item .checkState (0 ) == QtCore .Qt .Checked ]
0 commit comments