17#ifndef QGSLAYOUTITEMELEVATIONPROFILE_H 
   18#define QGSLAYOUTITEMELEVATIONPROFILE_H 
   24class QgsLayoutItemElevationProfilePlot;
 
   55    int type() 
const override;
 
   56    QIcon 
icon() 
const override;
 
   79    QList< QgsMapLayer * > layers() 
const;
 
   86    void setLayers( 
const QList< QgsMapLayer * > &layers );
 
  136    void setTolerance( 
double tolerance );
 
  148    double tolerance() 
const;
 
  164    void setAtlasDriven( 
bool enabled );
 
  171    void paint( QPainter *painter, 
const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget ) 
override;
 
  197      return mSubsectionsSymbol.get();
 
 
  230    void recreateCachedImageInBackground();
 
  231    void profileGenerationFinished();
 
  234    std::unique_ptr< QgsLayoutItemElevationProfilePlot > mPlot;
 
  236    QList< QgsMapLayerRef > mLayers;
 
  240    std::unique_ptr< QgsCurve> mCurve;
 
  241    bool mAtlasDriven = 
false;
 
  243    double mTolerance = 0;
 
  245    std::unique_ptr<QgsLineSymbol> mSubsectionsSymbol;
 
  250    std::unique_ptr< QImage > mCacheFinalImage;
 
  251    std::unique_ptr< QImage > mCacheRenderingImage;
 
  252    bool mUpdatesEnabled = 
true;
 
  253    bool mCacheInvalidated = 
true;
 
  254    bool mDrawing = 
false;
 
  255    bool mDrawingPreview = 
false;
 
  256    QTimer *mBackgroundUpdateTimer = 
nullptr;
 
  257    double mPreviewScaleFactor = 0;
 
  258    std::unique_ptr< QPainter > mPainter;
 
  259    std::unique_ptr< QgsProfilePlotRenderer > mRenderJob;
 
 
DistanceUnit
Units of distance.
 
@ Unknown
Unknown distance unit.
 
Base class for 2-dimensional plot/chart/graphs.
 
Represents a coordinate reference system (CRS).
 
Abstract base class for curved geometry type.
 
A layout item subclass for elevation profile plots.
 
QgsLineSymbol * subsectionsSymbol()
Returns the symbol used to draw the subsections.
 
bool atlasDriven() const
Returns whether the profile curve is set to follow the current atlas feature.
 
void previewRefreshed()
Emitted whenever the item's preview has been refreshed.
 
Contains settings and helpers relating to a render of a QgsLayoutItem.
 
Base class for graphical items within a QgsLayout.
 
virtual void refreshDataDefinedProperty(QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::DataDefinedProperty::AllProperties)
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the...
 
virtual QIcon icon() const
Returns the item's icon.
 
void paint(QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) override
Handles preparing a paint surface for the layout item and painting the item's content.
 
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
 
int type() const override
Returns a unique graphics item type identifier.
 
virtual bool requiresRasterization() const
Returns true if the item is drawn in such a way that forces the whole layout to be rasterized when ex...
 
virtual bool containsAdvancedEffects() const
Returns true if the item contains contents with blend modes or transparency effects which can only be...
 
virtual void invalidateCache()
Forces a deferred update of any cached image the item uses.
 
virtual Flags itemFlags() const
Returns the item's flags, which indicate how the item behaves.
 
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets item state from a DOM element.
 
void refresh() override
Refreshes the item, causing a recalculation of any property overrides and recalculation of its positi...
 
friend class QgsLayoutItemElevationProfile
 
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
 
DataDefinedProperty
Data defined properties for different item types.
 
@ AllProperties
All properties for item.
 
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
 
A line symbol type, for rendering LineString and MultiLineString geometries.
 
Generates and renders elevation profile plots.
 
Encapsulates properties and constraints relating to fetching elevation profiles from different source...
 
A container for the context for various read/write operations on objects.
 
const QgsCoordinateReferenceSystem & crs