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
TimeSeriesLayer Class Referencefinal

GUI-owned observation layer with read-only, independently owned source samples. More...

#include <timeserieslayer.h>

Inheritance diagram for TimeSeriesLayer:
Collaboration diagram for TimeSeriesLayer:

Signals

void datasetChanged ()
 Dataset became available/unavailable; old metadata pointers remain immutable snapshots.
 
void seriesSelectionChanged (const QStringList &ids)
 Shared selected series changed; subscribers must not mutate source samples.
 
void associationsChanged ()
 Project relationships changed; persist sidecar metadata and mark project dirty.
 
void associationResolutionChanged ()
 Referenced-layer availability changed; no authored relationship changed.
 
void plotRequested (const QStringList &ids)
 Native controller should plot these series from this layer.
 
void useInModelRequested (const QString &id)
 Native controller should prepare an explicit model-owned copy.
 
- Signals inherited from GISVectorLayer
void filePathChanged (const QString &path)
 Notify the associated layer-state transition.
 
void layerNameChanged (const QString &name)
 Notify the associated layer-state transition.
 
void featureCountChanged (int count)
 Notify the associated layer-state transition.
 
void filterExpressionChanged (const QString &expr)
 Notify the associated layer-state transition.
 
void symbolChanged (const GISVectorSymbol &symbol)
 Notify the associated layer-state transition.
 
void selectionChanged (const QSet< long long > &selectedIds)
 Notify the associated layer-state transition.
 
void rendererChanged ()
 Notify renderer replacement or rule-driven changes; one operation can emit multiple notifications.
 
void openFinished (bool ok)
 Notify the associated layer-state transition.
 
void crsAssumed (const QString &filePath)
 Notify the associated layer-state transition.
 
- Signals inherited from OpenSWMMVisLayer
void nameChanged (const QString &newName)
 Notify a layer property edit.
 
void layerTypeChanged (OpenSWMMVisLayerType newType)
 Notify a layer property edit.
 
void visibilityChanged (bool visible)
 Notify a layer property edit.
 
void opacityChanged (double opacity)
 Notify a layer property edit.
 
void srsChanged (SpatialReferenceSystem *newSRS)
 Notify a layer property edit.
 
void extentChanged (const MapExtent &newExtent)
 Notify a layer property edit.
 
void childrenChanged ()
 Notify successful logical raw child-list insertion/removal; no QObject reparenting is implied.
 
void repaintRequested ()
 Ask a canvas/view consumer to refresh after layer state/cache changes.
 
void temporalSpecChanged (const OpenSWMM::Render::TemporalSpec &spec)
 
void maskSpecChanged (const OpenSWMM::Render::MaskSpec &spec)
 
void auxStorageSpecChanged (const OpenSWMM::Render::AuxiliaryStorageSpec &spec)
 
void joinsChanged (const QVector< OpenSWMM::Render::JoinSpec > &joins)
 
void diagramSpecChanged (const OpenSWMM::Render::DiagramSpec &spec)
 
void labelConfigChanged ()
 

Public Member Functions

 TimeSeriesLayer (OpenSWMMVisWorkspace *parent=nullptr)
 Construct an unopened collection; no engine, plugin or file is required.
 
 ~TimeSeriesLayer () override
 Release presentation connections; source files are never deleted.
 
bool openTimeSeries (const QString &path, const QString &expectedDatasetId={}, QString *error=nullptr)
 Validate and open metadata and the bounded station table.
 
std::shared_ptr< const OpenSWMM::TimeSeries::TimeSeriesDataset > dataset () const
 
QString sourcePath () const
 
QString datasetId () const
 
QString sourceError () const
 
QString sourceDescription () const override
 
QVector< QPair< QString, QString > > extendedMetadata () const override
 
QStringList seriesIds () const
 
OpenSWMM::TimeSeries::SeriesInfo seriesInfo (const QString &id) const
 
QString seriesCaption (const QString &id) const
 
QStringList selectedSeriesIds () const
 
void setSelectedSeriesIds (const QStringList &ids)
 Replace collection selection and synchronize owned markers and the project bus.
 
void bindCanvas (MapCanvas *canvas)
 Attach/detach the canvas and its selection/lifecycle signals.
 
QJsonArray associations () const
 
void restoreAssociations (const QJsonArray &links)
 Restore validated relationship records without an undo step.
 
bool attachToSelectedFeature (const QStringList &ids, QString *error=nullptr)
 Attach selected series to one currently selected persistent GIS/model feature.
 
void detachFeatures (const QStringList &ids)
 Remove relationships as one undoable presentation edit.
 
QString associationStatus (const QString &id) const
 
QStringList seriesForFeature (const SWMMObjectRef &feature, const OpenSWMMVisLayer *targetLayer=nullptr) const
 Find series attached to an exact live feature identity.
 
QStringList seriesForLocations (const QSet< long long > &fids) const
 
bool canZoomToLocations (const QStringList &ids) const
 Whether exact series have an owned station or a currently resolved feature link.
 
bool zoomToLocations (const QStringList &ids)
 Frame the requested source stations, falling back to links for unlocated series.
 
void showData (QWidget *parent=nullptr, const QString &initialSeries={})
 Show the modeless native series/observation browser.
 
void requestPlot (const QStringList &ids={}, QWidget *parent=nullptr)
 Request plotting, choosing series when more than one is available.
 
void locateSource (QWidget *parent=nullptr)
 Present a persistent-source locator; validates the expected dataset UUID.
 
SWMMObjectRef seriesRef (const QString &seriesId) const
 Build a qualified external-series selection token.
 
QString seriesIdForRef (const SWMMObjectRef &ref) const
 Interpret a selection token belonging to this layer.
 
- Public Member Functions inherited from GISVectorLayer
 GISVectorLayer (const QString &filePath, const QString &layerName={}, OpenSWMMVisWorkspace *parent=nullptr)
 Construct a vector source with a default single-symbol rule.
 
 ~GISVectorLayer () override
 Close the dataset and coordinate transform, invalidating borrowed OGR handles.
 
void openAsync (const QString &filePath, const QString &layerName={})
 Open and inspect a datasource on a worker, then adopt its handle on the GUI thread.
 
QString filePath () const
 
QString ogrLayerName () const
 
class OGRLayer * ogrLayer () const
 
void appendScenePolygonsTo (QPainterPath &out) const
 Append attribute-filtered polygon exteriors and holes in canvas scene coordinates.
 
int featureCount () const
 
QStringList fieldNames () const
 
QVector< OpenSWMM::Render::AttributeField > availableAttributes (OpenSWMMVis::SwmmCategory cat) const override
 Expose physical vector columns to generic attribute selectors.
 
QString filterExpression () const
 
void setFilterExpression (const QString &expr)
 Request an OGR attribute filter and invalidate cached scene/mask geometry.
 
bool setValidatedFilterExpression (const QString &expr, QString *error=nullptr)
 Apply a vector attribute filter only after the current OGR source accepts it.
 
GISVectorSymbol symbol () const
 
void setSymbol (const GISVectorSymbol &symbol)
 Replace typed item symbology and request a scene rebuild.
 
void setLabelConfig (const OpenSWMM::Render::LabelConfig &cfg) override
 Slice X.18 — full label configuration.
 
QStringList ogrFieldNames () const
 
std::vector< std::unique_ptr< openswmmvis::ui::ILayerStyleSubject > > styleSubjects () override
 Expose the typed symbol bag through one persistent QObject adapter.
 
OpenSWMM::Render::IFeatureRenderer * renderer () const
 
void setRenderer (std::unique_ptr< OpenSWMM::Render::IFeatureRenderer > r)
 Transfer a renderer into the active rule.
 
OpenSWMM::Render::RuleList * ruleList () override
 
const OpenSWMM::Render::RuleList * ruleList () const override
 
QSet< long long > selectedFeatureIds () const
 
void setSelectedFeatureIds (const QSet< long long > &ids)
 Replace selection state and request item reconstruction.
 
void clearSelection ()
 Store an empty selection through setSelectedFeatureIds(), always notifying and marking the scene dirty.
 
QSet< long long > featureIdsInRect (const MapExtent &rectCanvasCrs) const
 Intersect source features against an optionally inverse-projected rectangular search.
 
QSet< long long > featureIdsInPolygon (const QPolygonF &polygonCanvasCrs, const SpatialReferenceSystem *canvasSRS=nullptr) const
 FIDs of features whose geometry intersects the polygon in canvas CRS, including boundary touches. Applies the inverse layer transform and preserves the existing spatial filter.
 
QVector< QPointF > selectedFeatureAnchors () const
 
QList< QVariantMap > identifyAt (double mapX, double mapY, const SpatialReferenceSystem *canvasSRS, double tolerance=1e-6) const
 Read attributes of features within a canvas-coordinate click radius.
 
QList< QVariantMap > identifyAt (double mapX, double mapY, double tolerance=1e-6) const
 Identify against a source-coordinate tolerance box.
 
void populateScene (QGraphicsScene *scene, const MapExtent &canvasExtent, const SpatialReferenceSystem *canvasSRS) override
 Append scene items for the entire attribute-filtered vector source.
 
void depopulateScene (QGraphicsScene *scene) override
 Remove and delete this layer's tracked scene items.
 
void refreshScene (QGraphicsScene *scene, const MapExtent &canvasExtent, const SpatialReferenceSystem *canvasSRS) override
 Rebuild dirty items or update their opacity and visibility in place.
 
void onCanvasCRSChanged (const SpatialReferenceSystem *newCanvasSRS) override
 
- Public Member Functions inherited from OpenSWMMVisLayer
 OpenSWMMVisLayer (OpenSWMMVisWorkspace *parent)
 Create an unlabeled default-type layer with a fresh UUID.
 
 OpenSWMMVisLayer (const QString &name="Unlabeled Layer", OpenSWMMVisWorkspace *parent=nullptr)
 Create a named default-type layer with a fresh UUID.
 
virtual ~OpenSWMMVisLayer ()
 Delete an owned CRS and release QObject-owned resources.
 
QString layerId () const
 Returns the layer's immutable unique identifier (UUID).
 
void restoreLayerId (const QString &id)
 Restore a project identity before external layer references are rebound.
 
QString name () const
 Returns the user-visible name of this layer.
 
void setName (const QString &name)
 Sets the user-visible name.
 
OpenSWMMVisLayerType layerType () const
 Returns the layer type discriminator.
 
bool isTemporary () const
 Report whether this auxiliary layer exists only for the current session.
 
void setTemporary (bool temporary)
 Set session-only ownership before attaching an auxiliary layer to a canvas.
 
bool isVisible () const
 Returns true when this layer should be drawn.
 
void setVisible (bool visible)
 Shows or hides this layer.
 
double opacity () const
 Returns the layer opacity in the range [0.0, 1.0]. 0.0 = fully transparent; 1.0 = fully opaque.
 
void setOpacity (double opacity)
 Sets the layer opacity. Values are clamped to [0.0, 1.0].
 
SpatialReferenceSystem * srs () const
 Returns the spatial reference system for this layer, or nullptr if the layer has no known CRS.
 
void setSRS (SpatialReferenceSystem *srs, bool ownsSRS=false)
 Sets (or replaces) the CRS for this layer.
 
QString crsDescription () const
 Returns a human-readable summary of this layer's CRS for display in the Properties window.
 
MapExtent extent () const
 Returns the layer extent in the layer's own CRS.
 
void setExtent (const MapExtent &extent)
 Sets the layer spatial extent (in the layer's CRS).
 
virtual bool isRasterLayer () const
 Returns true for layers that render into a raster buffer (WMS, WMTS, GISRaster) rather than populating QGraphicsItems.
 
virtual bool isBasemapLayer () const
 Returns true for world-spanning basemap layers (XYZ tile providers, WMS/WMTS services covering the whole world) that should NOT be included when computing the data-driven full extent.
 
virtual void render (QPainter *painter, const MapExtent &extent, const QSize &imageSize, const SpatialReferenceSystem *srs)
 Renders this layer's content directly into painter.
 
virtual void fetchCache (const MapExtent &extent, const QSize &viewportSize, const SpatialReferenceSystem *srs)
 Triggers any asynchronous (or synchronous) tile/data fetch needed to populate this layer's internal cache for the given view state.
 
void setViewportSize (int w, int h)
 Called by MapCanvas before refreshScene so layers can request the correct pixel dimensions for tile/image requests.
 
int viewportWidth () const
 
int viewportHeight () const
 
QVector< OpenSWMMVisLayer * > children () const
 Returns the ordered list of child layers.
 
double layerZValue () const
 Returns the z-value base assigned to this layer by the canvas. Items within the layer should use z-values relative to this.
 
void setLayerZValue (double z)
 Called by the canvas to set this layer's z-value band.
 
const OpenSWMM::Render::TemporalSpec & temporalSpec () const
 Inspect stored animation policy.
 
void setTemporalSpec (const OpenSWMM::Render::TemporalSpec &spec)
 Replace stored animation policy without resolving external resources.
 
const OpenSWMM::Render::LabelConfig & labelConfig () const
 Inspect stored element-label styling.
 
const OpenSWMM::Render::MaskSpec & maskSpec () const
 Inspect stored polygon clip policy.
 
void setMaskSpec (const OpenSWMM::Render::MaskSpec &spec)
 Replace stored polygon clip policy without resolving external resources.
 
const OpenSWMM::Render::AuxiliaryStorageSpec & auxStorageSpec () const
 Inspect stored manual override database policy.
 
void setAuxStorageSpec (const OpenSWMM::Render::AuxiliaryStorageSpec &spec)
 Replace stored manual override database policy without resolving external resources.
 
const QVector< OpenSWMM::Render::JoinSpec > & joins () const
 
void setJoins (const QVector< OpenSWMM::Render::JoinSpec > &joins)
 
const OpenSWMM::Render::DiagramSpec & diagramSpec () const
 Inspect stored embedded chart styling.
 
void setDiagramSpec (const OpenSWMM::Render::DiagramSpec &spec)
 Replace stored embedded chart styling without resolving external resources.
 
OpenSWMMVisWorkspace * workspace () const
 Inspect the workspace passed at construction.
 
void setBasicAuth (const QString &username, const QString &password)
 Sets HTTP Basic authentication for all subsequent network requests.
 
void setHttpHeaders (const BasemapHttpHeaders &headers)
 Sets arbitrary extra HTTP headers applied to every request.
 
BasemapHttpHeaders httpHeaders () const
 
- Public Member Functions inherited from OpenSWMM::Render::IAttributeProvider
virtual ~IAttributeProvider ()=default
 Destroy a provider through its interface without owning its consumers.
 

Additional Inherited Members

- Public Types inherited from OpenSWMMVisLayer
enum  OpenSWMMVisLayerType {
  SWMMDefaultLayer = 0 ,
  SWMMModelLayer = 1 ,
  SWMMResultsLayer = 2 ,
  SWMMGISLayer = 3 ,
  SWMMVectorLayer = 4 ,
  SWMMRasterLayer = 5 ,
  SWMMImageryLayer = 6 ,
  SWMMTabularDataLayer = 7 ,
  SWMMTabularyTimeSeriesLayer = 8 ,
  SWMMTimeSeriesLayer = 8 ,
  SWMMSubProjectLayer = 9 ,
  SWMMWMSLayer = 10 ,
  SWMMWMTSLayer = 11 ,
  SWMM2DMeshLayer = 12 ,
  SWMM2DResultsLayer = 13 ,
  SWMMAnnotationLayer = 14 ,
  SWMMFeatureLayer = 15
}
 Discriminator for the concrete layer class. More...
 
- Static Public Member Functions inherited from GISVectorLayer
static QList< OgrSublayerInfo > enumerateSublayers (const QString &filePath, QString *errorOut=nullptr)
 Inspect all readable vector sublayers using a temporary read-only GDAL handle.
 
- Protected Member Functions inherited from GISVectorLayer
void setOpenFlags (unsigned flags)
 
unsigned openFlags () const
 
GDALDataset * dataset () const
 
void markSceneDirty ()
 Force the next refreshScene() to rebuild items after a source edit; emits no notification and performs no IO.
 
void openDataset (const QString &filePath, const QString &layerName)
 Synchronously open and adopt a datasource using current open flags.
 
void closeDataset ()
 Closes whatever is open, releasing the dataset.
 
- Protected Member Functions inherited from OpenSWMMVisLayer
bool addChild (OpenSWMMVisLayer *child)
 Append one raw pointer to the logical child list if absent.
 
bool removeChild (OpenSWMMVisLayer *child)
 Remove one logical child membership without deleting it.
 
void setLayerType (OpenSWMMVisLayerType type)
 
- Protected Attributes inherited from OpenSWMMVisLayer
QByteArray m_authHeader
 "Basic <base64>" or empty
 
BasemapHttpHeaders m_httpHeaders
 arbitrary headers (incl. "referer")
 
- Properties inherited from GISVectorLayer
QString filePath
 
QString layerName
 
int featureCount
 
QString filterExpr
 
GISVectorSymbol symbol
 
- Properties inherited from OpenSWMMVisLayer
QString Name
 
bool Visible
 
double Opacity
 
QString LayerId
 
OpenSWMMVisLayerType LayerType
 
QVector< OpenSWMMVisLayer * > Children
 
QString CRS
 

Detailed Description

GUI-owned observation layer with read-only, independently owned source samples.

GISVectorLayer supplies ordinary station markers, labels and FID selection. The optional station table never owns observations: an empty/nonspatial table is valid. Native series selection has a separate namespace from model time-series and GIS feature identities. All layer methods use the GUI thread; sample readers reopen their own handles on workers.

Constructor & Destructor Documentation

◆ TimeSeriesLayer()

TimeSeriesLayer::TimeSeriesLayer ( OpenSWMMVisWorkspace *  parent = nullptr)
explicit

Construct an unopened collection; no engine, plugin or file is required.

Parameters
[in]parentOptional workspace owner.

◆ ~TimeSeriesLayer()

TimeSeriesLayer::~TimeSeriesLayer ( )
override

Release presentation connections; source files are never deleted.

Here is the call graph for this function:

Member Function Documentation

◆ associationResolutionChanged

void TimeSeriesLayer::associationResolutionChanged ( )
signal

Referenced-layer availability changed; no authored relationship changed.

Here is the caller graph for this function:

◆ associations()

QJsonArray TimeSeriesLayer::associations ( ) const
inline
Returns
Persisted feature links; source samples and model-assignment recipes are separate.

◆ associationsChanged

void TimeSeriesLayer::associationsChanged ( )
signal

Project relationships changed; persist sidecar metadata and mark project dirty.

Here is the caller graph for this function:

◆ associationStatus()

QString TimeSeriesLayer::associationStatus ( const QString &  id) const
Parameters
[in]idSeries UUID.
Returns
User-facing linked/unresolved/unlinked status after current source validation.

◆ attachToSelectedFeature()

bool TimeSeriesLayer::attachToSelectedFeature ( const QStringList &  ids,
QString *  error = nullptr 
)

Attach selected series to one currently selected persistent GIS/model feature.

Parameters
[in]idsExisting series IDs.
[out]errorDiagnostic when selection is missing/ambiguous/temporary.
Returns
True after one undoable relationship change; samples are unchanged.
Here is the call graph for this function:

◆ bindCanvas()

void TimeSeriesLayer::bindCanvas ( MapCanvas *  canvas)

Attach/detach the canvas and its selection/lifecycle signals.

Parameters
[in]canvasBorrowed attached canvas, null when removed.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ canZoomToLocations()

bool TimeSeriesLayer::canZoomToLocations ( const QStringList &  ids) const

Whether exact series have an owned station or a currently resolved feature link.

Parameters
[in]idsStable source-series identities; missing IDs are ignored.
Returns
True for at least one finite location in the attached canvas CRS. Owned stations take precedence over linked model features; unlocated/unresolved series return false.

◆ dataset()

std::shared_ptr< const OpenSWMM::TimeSeries::TimeSeriesDataset > TimeSeriesLayer::dataset ( ) const
inline
Returns
Immutable shared metadata snapshot, null while source is unavailable.

◆ datasetChanged

void TimeSeriesLayer::datasetChanged ( )
signal

Dataset became available/unavailable; old metadata pointers remain immutable snapshots.

Here is the caller graph for this function:

◆ datasetId()

QString TimeSeriesLayer::datasetId ( ) const
inline
Returns
Expected immutable dataset UUID, retained through source loss.

◆ detachFeatures()

void TimeSeriesLayer::detachFeatures ( const QStringList &  ids)

Remove relationships as one undoable presentation edit.

Parameters
[in]idsSeries IDs whose links should be removed.

◆ extendedMetadata()

QVector< QPair< QString, QString > > TimeSeriesLayer::extendedMetadata ( ) const
overridevirtual
Returns
Collection identity/count/availability metadata without sample IO.

Reimplemented from GISVectorLayer.

◆ locateSource()

void TimeSeriesLayer::locateSource ( QWidget *  parent = nullptr)

Present a persistent-source locator; validates the expected dataset UUID.

Parameters
[in]parentOptional dialog parent.

◆ openTimeSeries()

bool TimeSeriesLayer::openTimeSeries ( const QString &  path,
const QString &  expectedDatasetId = {},
QString *  error = nullptr 
)

Validate and open metadata and the bounded station table.

Parameters
[in]pathNative GeoPackage path, retained even when unavailable.
[in]expectedDatasetIdNonempty expected UUID prevents accidental source substitution.
[out]errorFailure detail, cleared on success.
Returns
True when metadata and station table are available. Missing sources remain representable.
Note
Metadata-only IO is synchronous; import/sample jobs remain worker operations.
Here is the call graph for this function:

◆ plotRequested

void TimeSeriesLayer::plotRequested ( const QStringList &  ids)
signal

Native controller should plot these series from this layer.

Parameters
[in]idsStable dataset series IDs.
Here is the caller graph for this function:

◆ requestPlot()

void TimeSeriesLayer::requestPlot ( const QStringList &  ids = {},
QWidget *  parent = nullptr 
)

Request plotting, choosing series when more than one is available.

Parameters
[in]idsCandidates, empty means all series.
[in]parentOptional chooser parent.
Here is the call graph for this function:

◆ restoreAssociations()

void TimeSeriesLayer::restoreAssociations ( const QJsonArray &  links)

Restore validated relationship records without an undo step.

Parameters
[in]linksProject-sidecar associations; malformed records are dropped.

◆ selectedSeriesIds()

QStringList TimeSeriesLayer::selectedSeriesIds ( ) const
Returns
Current series selection in source order.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ seriesCaption()

QString TimeSeriesLayer::seriesCaption ( const QString &  id) const
Parameters
[in]idSeries UUID.
Returns
Site/title/unit caption, preserving source identity in details.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ seriesForFeature()

QStringList TimeSeriesLayer::seriesForFeature ( const SWMMObjectRef &  feature,
const OpenSWMMVisLayer *  targetLayer = nullptr 
) const

Find series attached to an exact live feature identity.

Parameters
[in]featureRuntime GIS/model selection identity.
[in]targetLayerOptional owning model layer for non-GIS identities.
Returns
Matching series; unresolved links are never returned.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ seriesForLocations()

QStringList TimeSeriesLayer::seriesForLocations ( const QSet< long long > &  fids) const
Parameters
[in]fidsOwned station table IDs.
Returns
Corresponding series, each once in source order.
Here is the caller graph for this function:

◆ seriesIdForRef()

QString TimeSeriesLayer::seriesIdForRef ( const SWMMObjectRef &  ref) const

Interpret a selection token belonging to this layer.

Parameters
[in]refCandidate token.
Returns
Existing series ID, empty for foreign/missing identity.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ seriesIds()

QStringList TimeSeriesLayer::seriesIds ( ) const
Returns
Stable series IDs in source order, without loading observations.
Here is the caller graph for this function:

◆ seriesInfo()

SeriesInfo TimeSeriesLayer::seriesInfo ( const QString &  id) const
Parameters
[in]idSeries UUID.
Returns
Copied series metadata; empty id means not found.
Here is the caller graph for this function:

◆ seriesRef()

SWMMObjectRef TimeSeriesLayer::seriesRef ( const QString &  seriesId) const

Build a qualified external-series selection token.

Parameters
[in]seriesIdStable series UUID.
Returns
ObservedSeries selection ref, independent of model series names.
Here is the call graph for this function:

◆ seriesSelectionChanged

void TimeSeriesLayer::seriesSelectionChanged ( const QStringList &  ids)
signal

Shared selected series changed; subscribers must not mutate source samples.

Parameters
[in]idsStable IDs in source order.
Here is the caller graph for this function:

◆ setSelectedSeriesIds()

void TimeSeriesLayer::setSelectedSeriesIds ( const QStringList &  ids)

Replace collection selection and synchronize owned markers and the project bus.

Parameters
[in]idsSeries identities; missing/duplicate IDs are ignored.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ showData()

void TimeSeriesLayer::showData ( QWidget *  parent = nullptr,
const QString &  initialSeries = {} 
)

Show the modeless native series/observation browser.

Parameters
[in]parentOptional window parent.
[in]initialSeriesOptional row selected on opening.
Here is the call graph for this function:

◆ sourceDescription()

QString TimeSeriesLayer::sourceDescription ( ) const
inlineoverridevirtual
Returns
Source path for project persistence and properties.

Reimplemented from GISVectorLayer.

◆ sourceError()

QString TimeSeriesLayer::sourceError ( ) const
inline
Returns
Current source failure text; empty after successful open.

◆ sourcePath()

QString TimeSeriesLayer::sourcePath ( ) const
inline
Returns
Absolute stored path, including unavailable sources.

◆ useInModelRequested

void TimeSeriesLayer::useInModelRequested ( const QString &  id)
signal

Native controller should prepare an explicit model-owned copy.

Parameters
[in]idOne stable series ID.

◆ zoomToLocations()

bool TimeSeriesLayer::zoomToLocations ( const QStringList &  ids)

Frame the requested source stations, falling back to links for unlocated series.

Parameters
[in]idsStable series identities, independent of the current map selection.
Returns
True after accepted canvas navigation; false for detached/nonspatial/unresolved series. Uses CRS-aware point padding and never changes series selection or geometry.

The documentation for this class was generated from the following files: