SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
patterneditordialog.h File Reference

Slice BQ Phase 6.7.2 — three-pane non-modal editor for SWMM time patterns. More...

#include <QDialog>
#include <QPointer>
Include dependency graph for patterneditordialog.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::ui::PatternEditorDialog
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::pattern
 
namespace  openswmmvis::ui
 

Detailed Description

Slice BQ Phase 6.7.2 — three-pane non-modal editor for SWMM time patterns.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

Layout (left → right):

┌──────────────┬───────────────────────────┬──────────────────────────┐ │ [Search…] │ │ [zoom in/out · pan · │ │ │ Factor table │ extent · copy · export │ │ Patterns │ (1 col × N rows; │ · style] │ │ list view │ row labels are │ ─────────────────────────│ │ │ Jan..Dec / Sun..Sat / │ Step-line preview │ │ │ 00:00..23:00 etc.) │ (one slot per category, │ │ │ │ markers at slot centre │ │ │ [ Normalize sum=1.0 ] │ on InteractiveChartView│ │ [New][Dup] │ │ for zoom + pan) │ │ [Ren][Del] │ │ │ └──────────────┴───────────────────────────┴──────────────────────────┘

Per Slice BM.0-Add-New (2026-05-24) the dialog also exposes a static createNew(registry, undoStack, parent) factory used by the Object Browser's Add-New dispatch. In Mode::CreateNew a small create-card appears above the splitter (Name field + uniqueness validator + Type combo + Create button); on Create the dialog calls registry->create(name, type), binds the new provider to all three panes, and transitions to Mode::Edit.

Per Slice BR-PAT (2026-05-25) the right pane was ported from a bar chart on raw QChartView to a step-line preview hosted on InteractiveChartView, matching the Unit Hydrograph editor's zoom/pan/extent affordances. The list pane gained Duplicate + a Search filter and the dialog persists geometry, splitter, and plot-style toggles via QSettings.

Pure view code — every mutation goes through the bound provider so that the Object Browser, DWF inflow picker, and any other open view stays synchronized (per [[feedback_mvc_synchronized_uis]]).