92 QString initialRoutingId = {},
94 QUndoStack *undoStack =
nullptr);
102 void onOpacitySliderChanged(
int v);
103 void onOpacitySpinChanged(
int v);
107 void onImportStyle();
108 void onExportStyle();
113 void onBasemapRenderParamsChanged();
117 void buildInformationTab();
118 void buildSourceTab();
119 void buildSymbologyTab();
120 void buildLabelsTab();
121 void buildRenderingTab();
122 void buildMetadataTab();
123 void readFromLayer();
127 void populateMetadata();
128 void writeGeneralRenderingToLayer();
129 void snapshotSubjects();
130 void restoreSubjectsFromSnapshot();
131 void focusInitialSubject();
133 QPointer<OpenSWMMVisLayer> m_layer;
134 LayerCapabilities m_caps;
140 std::vector<std::unique_ptr<ILayerStyleSubject>> m_subjects;
141 std::vector<QJsonObject> m_subjectSnapshots;
145 QJsonObject m_styleSnapshot;
152 QUndoStack *m_undoStack =
nullptr;
153 std::vector<QJsonObject> m_undoBaseline;
154 QJsonObject m_undoStyleBaseline;
156 QString m_initialRoutingId;
159 QTabWidget *m_tabs =
nullptr;
162 QLineEdit *m_nameEdit =
nullptr;
163 QLabel *m_typeLabel =
nullptr;
164 QPlainTextEdit *m_infoText =
nullptr;
167 QLabel *m_sourceLabel =
nullptr;
168 QLabel *m_crsLabel =
nullptr;
169 QToolButton *m_crsButton =
nullptr;
170 QString m_pendingCRSAuthority;
173 QCheckBox *m_visibleBox =
nullptr;
174 QSlider *m_opacitySlider =
nullptr;
175 QSpinBox *m_opacitySpin =
nullptr;
179 QGroupBox *m_basemapAdjustBox =
nullptr;
180 QSlider *m_brightnessSlider =
nullptr;
181 QSlider *m_contrastSlider =
nullptr;
182 QSlider *m_saturationSlider =
nullptr;
183 QComboBox *m_resamplingCombo =
nullptr;
187 QTableWidget *m_metadataTable =
nullptr;
190 QString m_snapshotName;
191 bool m_snapshotVisible =
true;
192 double m_snapshotOpacity = 1.0;