# sec_interp.gui.main_dialog_config module

Configuration and constants for SecInterp main dialog.

This module centralizes all configuration values, default settings, and magic numbers used throughout the dialog.

class sec_interp.gui.main_dialog_config.DialogDefaults

  Bases: `object`

  Default values for dialog inputs and settings.

  SCALE = '50000'
  VERTICAL_EXAGGERATION = '1.0'
  DIP_SCALE = '4'
  DIP_SCALE_FACTOR = '4'
  BUFFER_DISTANCE = 100
  SAMPLING_INTERVAL = 10
  DPI = 300
  PREVIEW_WIDTH = 800
  PREVIEW_HEIGHT = 600
  EXPORT_QUALITY = 95
  BACKGROUND_COLOR = 255
  GRID_COLOR = 200
  DEFAULT_BAND = 1
  SUPPORTED_IMAGE_FORMATS = ['.png', '.jpg', '.jpeg']
  SUPPORTED_VECTOR_FORMATS = ['.shp']
  SUPPORTED_DOCUMENT_FORMATS = ['.pdf', '.svg']

class sec_interp.gui.main_dialog_config.DialogConfig

  Bases: `object`

  Configuration for dialog behavior and features.

  ENABLE_CACHE = True
  CACHE_EXPIRY_SECONDS = 3600
  ENABLE_PERFORMANCE_METRICS: bool = True
  SHOW_METRICS_IN_RESULTS: bool = True
  LOG_DETAILED_METRICS: bool = False
  AUTO_SAVE_SETTINGS = True
  SHOW_HELP_ON_START = False
  ENABLE_TOOLTIPS = True
  STRICT_VALIDATION = True
  ALLOW_EMPTY_GEOLOGY = True
  ALLOW_EMPTY_STRUCTURES = True
  AUTO_REFRESH_PREVIEW = False
  SHOW_LEGEND = True
  ENABLE_ZOOM = True
  MAX_PREVIEW_POINTS = 10000
  ENABLE_LOD = False
  VERBOSE_LOGGING = False
  LOG_PERFORMANCE = False

class sec_interp.gui.main_dialog_config.ValidationMessages

  Bases: `object`

  Standard validation error messages.

  MISSING_RASTER = 'DEM raster layer is required'
  MISSING_SECTION_LINE = 'Cross-section line is required'
  MISSING_OUTPUT_PATH = 'Output path is required'
  INVALID_RASTER = 'Selected raster layer is not valid'
  INVALID_SECTION_LINE = 'Selected section line is not valid'
  INVALID_OUTPUT_PATH = 'Output path is not valid or not writable'
  WRONG_GEOMETRY_TYPE = 'Layer has incorrect geometry type'
  EMPTY_LAYER = 'Layer contains no features'
  INVALID_GEOMETRY = 'Layer contains invalid geometries'
  MISSING_FIELD = "Required field '{}' not found in layer"
  INVALID_FIELD_TYPE = "Field '{}' has incorrect type"
  MISSING_OUTCROP_LAYER = 'Outcrop layer is required for geological profile'
  MISSING_OUTCROP_FIELD = 'Outcrop name field is required'
  MISSING_STRUCTURAL_LAYER = 'Structural layer is required for structure projection'
  MISSING_DIP_FIELD = 'Dip field is required'
  MISSING_STRIKE_FIELD = 'Strike field is required'
  VALIDATION_FAILED = 'Input validation failed'
  UNKNOWN_ERROR = 'An unknown error occurred'

class sec_interp.gui.main_dialog_config.UIConstants

  Bases: `object`

  UI-related constants.

  MIN_PREVIEW_WIDTH = 400
  MIN_PREVIEW_HEIGHT = 300
  MAX_PREVIEW_WIDTH = 1920
  MAX_PREVIEW_HEIGHT = 1080
  ICON_HELP = 'mActionHelpContents.svg'
  ICON_REFRESH = 'mActionRefresh.svg'
  ICON_EXPORT = 'mActionFileSave.svg'
  ICON_CLEAR = 'mActionDeleteSelected.svg'
  STATUS_OK = '✓'
  STATUS_ERROR = '✗'
  STATUS_WARNING = '⚠'
  REQUIRED_INDICATOR = '*'
  REQUIRED_COLOR = 255