23#ifndef OPENSWMMVIS_UI_TOOLBARS_MESHEDITINGTOOLBAR_H
24#define OPENSWMMVIS_UI_TOOLBARS_MESHEDITINGTOOLBAR_H
49namespace mesh {
class MeshHoverProbe; }
63 void showEvent(QShowEvent *event)
override;
86 using PickerFn = std::function<QString(
const QString ¤tName)>;
177 void onActiveMeshComboChanged(
int index);
180 void onActiveMeshFlagChanged(
bool isActive);
181 void onAttributeChanged(
const QString &refName);
182 void onHoverElevation(
double z,
bool finite);
183 void onZSpinChanged(
double z);
184 void onVertexTagCommit();
185 void onVertexCoupledCommit();
186 void onVertexCdCommit();
187 void onVertexAreaCommit();
188 void onAutoCoupleClicked();
189 void onRemapClicked();
193 [[nodiscard]] QString meshAreaUnitLabel()
const;
194 void onCellParamCommit();
195 void onCellEnumCommit(
int index);
196 void onCellParamChanged(
int index);
197 void onCellTagCommit();
198 void onSelectionChanged();
199 void onBCTypeChanged(
int index);
200 void commitBCParam();
201 void commitConveyance();
202 void onBrowseBCObject();
203 void onPickStageTseries();
204 void onPickFlowTseries();
205 void onPickRatingCurve();
213 bool m_bcListsStale =
false;
219 bool m_nodeListStale =
false;
221 void rebuildMeshCombo();
222 void refreshGroupWidths();
226 void refreshVertexEditor();
227 void refreshEdgeEditor();
228 void refreshCellEditor();
229 void updateEnabledState();
237 void commitCellParam(
double value);
239 QList<int> currentSelectedVertices()
const;
240 QList<QPair<int,int>> currentSelectedEdges()
const;
241 QList<int> currentSelectedCells()
const;
245 QList<openswmmvis::ui::RibbonGroup *> m_groups;
246 QToolBar *m_barMesh =
nullptr;
247 QToolBar *m_barVertices =
nullptr;
248 QToolBar *m_barEdges =
nullptr;
249 QToolBar *m_barCoupling =
nullptr;
250 QToolBar *m_barResults =
nullptr;
251 QToolBar *m_barProfile =
nullptr;
253 QPointer<MapCanvas> m_canvas;
254 QPointer<SelectionManager> m_selection;
255 QPointer<SWMM2DMeshLayer> m_activeMesh;
259 QComboBox *m_meshCombo =
nullptr;
260 QLabel *m_hoverLabel =
nullptr;
261 QAction *m_spacerAction =
nullptr;
264 QAction *m_actEditVertex =
nullptr;
265 QAction *m_actEditEdge =
nullptr;
266 QActionGroup *m_editGroup =
nullptr;
269 QLabel *m_vertexInfoLbl =
nullptr;
270 QDoubleSpinBox*m_zSpin =
nullptr;
271 QLineEdit *m_vertexTagEdit =
nullptr;
272 QComboBox *m_vertexCoupledCombo =
nullptr;
273 QAction *m_actVertexTag =
nullptr;
274 QAction *m_actVertexCoupled =
nullptr;
275 QDoubleSpinBox*m_vertexCdSpin =
nullptr;
276 QDoubleSpinBox*m_vertexAreaSpin =
nullptr;
277 QAction *m_actVertexCd =
nullptr;
278 QAction *m_actVertexArea =
nullptr;
279 QAction *m_actAutoCouple =
nullptr;
280 QAction *m_actRemap =
nullptr;
283 QComboBox *m_bcTypeCombo =
nullptr;
284 QStackedWidget*m_bcParamStack =
nullptr;
285 QAction *m_actBrowseObj =
nullptr;
286 QLabel *m_edgeInfoLbl =
nullptr;
289 QAction *m_actBCTypeCombo =
nullptr;
290 QAction *m_actBCParamStack =
nullptr;
293 QLabel *m_cellInfoLbl =
nullptr;
296 QWidget *m_cellParamPage =
nullptr;
297 QComboBox *m_cellParamCombo =
nullptr;
298 QDoubleSpinBox*m_cellValueSpin =
nullptr;
303 QComboBox *m_cellEnumCombo =
nullptr;
304 QLineEdit *m_cellTagEdit =
nullptr;
305 QAction *m_actCellParam =
nullptr;
306 QAction *m_actCellTag =
nullptr;
307 QAction *m_actCellInfil =
nullptr;
309 QString m_depthUnitLabel = QStringLiteral(
"m");
313 QDoubleSpinBox*m_slopeSpin =
nullptr;
314 QDoubleSpinBox*m_stageSpin =
nullptr;
315 QComboBox *m_stageTSCombo =
nullptr;
316 QDoubleSpinBox*m_flowSpin =
nullptr;
317 QComboBox *m_flowTSCombo =
nullptr;
318 QComboBox *m_curveCombo =
nullptr;
324 QDoubleSpinBox*m_conveySpin =
nullptr;
325 QAction *m_actConveySpin =
nullptr;
327 bool m_suppressZSignal =
false;
332 bool m_refreshingEdgeEditor =
false;
The central map display widget — QGIS-style hybrid rendering.
Definition mapcanvas.h:63
Abstract base class for all layers displayed in the MapCanvas.
Definition openswmmvislayer.h:116
Definition swmm2dmeshlayer.h:64
Owner of the canonical selection set for one SWMM project.
Definition selectionmanager.h:112
Definition meshhoverprobe.h:31
const char * label
Human label for the filter entry.
Definition gdaldrivers.cpp:22
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition meshcommands.h:302
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
const char * title
Definition snowpackeditordialog.cpp:71
Identifies a single SWMM object.
Definition selectionmanager.h:32