Skip to content

Commit 08a50db

Browse files
committed
fix: put all feature options in QgsCollapsibleGroupBox
1 parent 29abb3e commit 08a50db

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

loopstructural/gui/modelling/geological_model_tab/feature_details_panel.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
QVBoxLayout,
1111
QWidget,
1212
)
13-
from qgis.gui import QgsMapLayerComboBox
13+
from qgis.gui import QgsMapLayerComboBox, QgsCollapsibleGroupBox
14+
1415
from qgis.utils import plugins
1516
from .layer_selection_table import LayerSelectionTable
1617
from .splot import SPlotDialog
@@ -81,22 +82,26 @@ def __init__(self, parent=None, *, feature=None, model_manager=None, data_manage
8182

8283
self.n_elements_spinbox.valueChanged.connect(self.updateNelements)
8384

85+
table_group_box = QgsCollapsibleGroupBox('Data Layers')
8486
self.layer_table = LayerSelectionTable(
8587
data_manager=self.data_manager,
8688
feature_name_provider=lambda: self.feature.name,
8789
name_validator=lambda: (True, ''), # Always valid in this context
8890
)
91+
table_layout = QVBoxLayout()
92+
table_layout.addWidget(self.layer_table)
93+
table_group_box.setLayout(table_layout)
8994
# Form layout for better organization
9095
form_layout = QFormLayout()
9196
form_layout.addRow(self.interpolator_type_label, self.interpolator_type_combo)
9297
form_layout.addRow("Number of Elements:", self.n_elements_spinbox)
9398
form_layout.addRow('Regularisation', self.regularisation_spin_box)
9499
form_layout.addRow('Contact points weight', self.cpw_spin_box)
95100
form_layout.addRow('Orientation point weight', self.npw_spin_box)
96-
QgsCollapsibleGroupBox = QWidget()
97-
QgsCollapsibleGroupBox.setLayout(form_layout)
98-
self.layout.addWidget(QgsCollapsibleGroupBox)
99-
self.layout.addWidget(self.layer_table)
101+
group_box = QgsCollapsibleGroupBox('Interpolator Settings')
102+
group_box.setLayout(form_layout)
103+
self.layout.addWidget(group_box)
104+
self.layout.addWidget(table_group_box)
100105
self.addMidBlock()
101106
self.addExportBlock()
102107
def addMidBlock(self):
@@ -127,7 +132,7 @@ def addExportBlock(self):
127132
# imports may fail outside QGIS environment; we'll handle at runtime
128133
pass
129134

130-
export_widget = QWidget()
135+
export_widget = QgsCollapsibleGroupBox('Export Feature')
131136
export_layout = QFormLayout(export_widget)
132137

133138
# Scalar selector (support scalar and gradient)
@@ -204,10 +209,6 @@ def _on_evaluate_target_changed(index):
204209
block.setObjectName(f"export_block_{getattr(feat, 'name', 'feature')}")
205210
block_layout = QVBoxLayout(block)
206211
block_layout.setContentsMargins(0, 0, 0, 0)
207-
# Placeholder label — disabled until controls are added
208-
lbl = QLabel(getattr(feat, 'name', ''))
209-
lbl.setEnabled(False)
210-
block_layout.addWidget(lbl)
211212
self.export_eval_layout.addWidget(block)
212213
self.export_blocks[getattr(feat, 'name', f"feature_{len(self.export_blocks)}")] = block
213214

@@ -594,9 +595,9 @@ def addMidBlock(self):
594595
lambda: self.model_manager.convert_feature_to_structural_frame(self.feature.name)
595596
)
596597
form_layout.addRow(convert_to_frame_button)
597-
QgsCollapsibleGroupBox = QWidget()
598-
QgsCollapsibleGroupBox.setLayout(form_layout)
599-
self.layout.addWidget(QgsCollapsibleGroupBox)
598+
group_box = QgsCollapsibleGroupBox('Fold Settings')
599+
group_box.setLayout(form_layout)
600+
self.layout.addWidget(group_box)
600601

601602
# Remove redundant layout setting
602603
self.setLayout(self.layout)
@@ -713,9 +714,9 @@ def addMidBlock(self):
713714
# lambda: self.open_splot_dialog()
714715
# )
715716
# form_layout.addRow(splot_button)
716-
QgsCollapsibleGroupBox = QWidget()
717-
QgsCollapsibleGroupBox.setLayout(form_layout)
718-
self.layout.addWidget(QgsCollapsibleGroupBox)
717+
group_box = QgsCollapsibleGroupBox()
718+
group_box.setLayout(form_layout)
719+
self.layout.addWidget(group_box)
719720
# Remove redundant layout setting
720721
self.setLayout(self.layout)
721722
def open_splot_dialog(self):

0 commit comments

Comments
 (0)