Skip to content

Make Export Panel UI Configurable for Future Extensions #16

Description

@yan-sln

Enhance the current export panel UI in panel.py to support configurable export modules that can be easily extended. The current implementation hardcodes specific export types (CSV and GeoPDF) in the UI with fixed QFrame structures.

Current State Analysis
In ui/panel.py, the export section currently has two fixed QFrame widgets:

  1. geopdf_frame - Contains GeoPDF export controls
  2. csv_frame - Contains CSV export controls

Both frames are hardcoded with specific buttons and controls, making it difficult to add new export types without modifying the UI structure directly.

Proposed Solution
Refactor the export UI section to:

  1. Replace hardcoded QFrames with a configurable module system
  2. Allow dynamic addition of export modules through a registry pattern
  3. Make the panel structure more flexible to accommodate new export types
  4. Implement a consistent interface for all export modules

Benefits

  • Easier addition of new export formats (Excel, Shapefile, etc.)
  • Cleaner separation of concerns between UI and export logic
  • More maintainable code structure
  • Reduced risk of breaking changes when adding new exports

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions