sec_interp.gui.ui.pages.section_page module
Cross-section configuration page.
- class sec_interp.gui.ui.pages.section_page.SectionPage(*args: Any, **kwargs: Any)
Bases:
BasePageConfiguration page for Cross Section settings.
- __init__(parent: Any = None) None
Initialize the section configuration page.
- Parameters:
parent – Optional parent widget.
- connect_signals() None
Connect internal signals for the section page.
- disconnect_signals() None
Disconnect all signals to prevent memory leaks.
- dump() dict[str, Any]
Return the persistable section state.
- get_data() dict[str, Any]
Get section configuration.
- is_complete() bool
Check if the section line is a valid 2-point line.
- layer_keys = frozenset({'section_layer'})
- load(data: dict[str, Any]) None
Apply persisted section state.
- reset() None
Reset section inputs to defaults.
- set_dem_provider(provider: Any) None
Set the callable returning
(raster_layer, band_number)for stats.Injected by the dialog so the Section page can read the DEM selection without importing the DEM page (avoids page-to-page coupling).
- update_dem_stats() None
Refresh the read-only perfil-vs-DEM statistics.
- validate() tuple[bool, str]
Validate page settings.
Enforces the simple 2-point section line invariant: the selected line must be a valid line with exactly two vertices (start and end) in a projected CRS.
- Returns:
Tuple of (success, error message).