77from qgis .PyQt import uic
88
99from loopstructural .toolbelt .preferences import PlgOptionsManager
10- from ...main .helpers import ColumnMatcher , get_layer_names
1110
1211
1312class SamplerWidget (QWidget ):
@@ -57,8 +56,6 @@ def __init__(self, parent=None, data_manager=None, debug_manager=None):
5756
5857 # Initial state update
5958 self ._on_sampler_type_changed ()
60- self ._guess_layers ()
61- self ._restore_selection ()
6259
6360 def set_debug_manager (self , debug_manager ):
6461 """Attach a debug manager instance."""
@@ -111,73 +108,6 @@ def _log_params(self, context_label: str):
111108 except Exception :
112109 pass
113110
114- def _guess_layers (self ):
115- """Auto-select layers using ColumnMatcher."""
116- if not self .data_manager :
117- return
118- # DTM
119- dtm_names = get_layer_names (self .dtmLayerComboBox )
120- dtm_matcher = ColumnMatcher (dtm_names )
121- dtm_match = dtm_matcher .find_match ('DTM' ) or dtm_matcher .find_match ('DEM' )
122- if dtm_match :
123- layer = self .data_manager .find_layer_by_name (dtm_match )
124- self .dtmLayerComboBox .setLayer (layer )
125- # Geology
126- geology_names = get_layer_names (self .geologyLayerComboBox )
127- geology_matcher = ColumnMatcher (geology_names )
128- geology_match = geology_matcher .find_match ('GEOLOGY' )
129- if geology_match :
130- layer = self .data_manager .find_layer_by_name (geology_match )
131- self .geologyLayerComboBox .setLayer (layer )
132- # Spatial
133- spatial_names = get_layer_names (self .spatialDataLayerComboBox )
134- spatial_matcher = ColumnMatcher (spatial_names )
135- spatial_match = spatial_matcher .find_match ('SPATIAL' )
136- if spatial_match :
137- layer = self .data_manager .find_layer_by_name (spatial_match )
138- self .spatialDataLayerComboBox .setLayer (layer )
139-
140- def _restore_selection (self ):
141- """Restore persisted selections from data manager."""
142- if not self .data_manager :
143- return
144- settings = self .data_manager .get_widget_settings ('sampler_widget' , {})
145- if not settings :
146- return
147- if layer_name := settings .get ('dtm_layer' ):
148- layer = self .data_manager .find_layer_by_name (layer_name )
149- if layer :
150- self .dtmLayerComboBox .setLayer (layer )
151- if layer_name := settings .get ('geology_layer' ):
152- layer = self .data_manager .find_layer_by_name (layer_name )
153- if layer :
154- self .geologyLayerComboBox .setLayer (layer )
155- if layer_name := settings .get ('spatial_data_layer' ):
156- layer = self .data_manager .find_layer_by_name (layer_name )
157- if layer :
158- self .spatialDataLayerComboBox .setLayer (layer )
159- sampler_index = settings .get ('sampler_type_index' )
160- if sampler_index is not None :
161- self .samplerTypeComboBox .setCurrentIndex (sampler_index )
162- if 'decimation' in settings :
163- self .decimationSpinBox .setValue (settings ['decimation' ])
164- if 'spacing' in settings :
165- self .spacingSpinBox .setValue (settings ['spacing' ])
166-
167- def _persist_selection (self ):
168- """Persist current selections into data manager."""
169- if not self .data_manager :
170- return
171- settings = {
172- 'dtm_layer' : self .dtmLayerComboBox .currentLayer ().name () if self .dtmLayerComboBox .currentLayer () else None ,
173- 'geology_layer' : self .geologyLayerComboBox .currentLayer ().name () if self .geologyLayerComboBox .currentLayer () else None ,
174- 'spatial_data_layer' : self .spatialDataLayerComboBox .currentLayer ().name () if self .spatialDataLayerComboBox .currentLayer () else None ,
175- 'sampler_type_index' : self .samplerTypeComboBox .currentIndex (),
176- 'decimation' : self .decimationSpinBox .value (),
177- 'spacing' : self .spacingSpinBox .value (),
178- }
179- self .data_manager .set_widget_settings ('sampler_widget' , settings )
180-
181111 def _on_sampler_type_changed (self ):
182112 """Update UI based on selected sampler type."""
183113 sampler_type = self .samplerTypeComboBox .currentText ()
@@ -201,7 +131,7 @@ def _on_sampler_type_changed(self):
201131
202132 def _run_sampler (self ):
203133 """Run the sampler algorithm using the map2loop API."""
204- self . _persist_selection ()
134+
205135 from qgis .core import (
206136 QgsCoordinateReferenceSystem ,
207137 QgsFeature ,
0 commit comments