The base class for visual representations of the data found in a Model. More...

#include <Layer.h>

Inheritance diagram for Layer:
Inheritance graph
Collaboration diagram for Layer:
Collaboration graph

Classes

class  AddMeasurementRectCommand
 
class  DeleteMeasurementRectCommand
 
struct  MeasureRect
 

Public Types

enum  VerticalPosition { PositionTop, PositionMiddle, PositionBottom }
 
enum  SnapType { SnapLeft, SnapRight, SnapNeighbouring }
 
enum  ColourSignificance {
  ColourAbsent, ColourIrrelevant, ColourDistinguishes, ColourAndBackgroundSignificant,
  ColourHasMeaningfulValue
}
 

Public Slots

void showLayer (LayerGeometryProvider *, bool show)
 Change the visibility status (dormancy) of the layer in the given view. More...
 

Signals

void modelChanged (ModelId)
 
void modelCompletionChanged (ModelId)
 
void modelAlignmentCompletionChanged (ModelId)
 
void modelChangedWithin (ModelId, sv_frame_t startFrame, sv_frame_t endFrame)
 
void modelReplaced ()
 
void layerParametersChanged ()
 
void layerParameterRangesChanged ()
 
void layerMeasurementRectsChanged ()
 
void layerNameChanged ()
 
void verticalZoomChanged ()
 

Public Member Functions

 Layer ()
 
virtual ~Layer ()
 
virtual ModelId getModel () const =0
 Return the ID of the model represented in this layer. More...
 
ModelId getSourceModel () const
 Return the ID of the source model for the model represented in this layer. More...
 
virtual ModelId getExportModel (LayerGeometryProvider *) const
 Return the ID of a model representing the contents of this layer in a form suitable for export to a tabular file format such as CSV. More...
 
virtual const ZoomConstraint * getZoomConstraint () const
 Return a zoom constraint object defining the supported zoom levels for this layer. More...
 
virtual bool supportsOtherZoomLevels () const
 Return true if this layer can handle zoom levels other than those supported by its zoom constraint (presumably less efficiently or accurately than the officially supported zoom levels). More...
 
virtual void paint (LayerGeometryProvider *, QPainter &, QRect) const =0
 Paint the given rectangle of this layer onto the given view using the given painter, superimposing it on top of any existing material in that view. More...
 
virtual void setSynchronousPainting (bool)
 Enable or disable synchronous painting. More...
 
virtual VerticalPosition getPreferredTimeRulerPosition () const
 
virtual VerticalPosition getPreferredFrameCountPosition () const
 
virtual bool hasLightBackground () const
 
QString getPropertyContainerIconName () const override
 
QString getPropertyContainerName () const override
 
virtual void setPresentationName (QString name)
 
virtual bool isPresentationNameSet () const
 
virtual QString getLayerPresentationName () const
 
virtual QPixmap getLayerPresentationPixmap (QSize) const
 
virtual int getVerticalScaleWidth (LayerGeometryProvider *, bool detailed, QPainter &) const =0
 
virtual void paintVerticalScale (LayerGeometryProvider *, bool, QPainter &, QRect) const
 
virtual int getHorizontalScaleHeight (LayerGeometryProvider *, QPainter &) const
 
virtual bool getCrosshairExtents (LayerGeometryProvider *, QPainter &, QPoint, std::vector< QRect > &) const
 
virtual void paintCrosshairs (LayerGeometryProvider *, QPainter &, QPoint) const
 
virtual void paintMeasurementRects (LayerGeometryProvider *, QPainter &, bool showFocus, QPoint focusPoint) const
 
virtual bool nearestMeasurementRectChanged (LayerGeometryProvider *, QPoint prev, QPoint now) const
 
virtual QString getFeatureDescription (LayerGeometryProvider *, QPoint &) const
 
virtual QString getLabelPreceding (sv_frame_t) const
 
virtual bool snapToFeatureFrame (LayerGeometryProvider *, sv_frame_t &, int &resolution, SnapType, int) const
 Adjust the given frame to snap to the nearest feature, if possible. More...
 
virtual bool snapToSimilarFeature (LayerGeometryProvider *, sv_frame_t &, int &resolution, SnapType) const
 Adjust the given frame to snap to the next feature that has "effectively" the same value as the feature prior to the given frame, if possible. More...
 
virtual void drawStart (LayerGeometryProvider *, QMouseEvent *)
 
virtual void drawDrag (LayerGeometryProvider *, QMouseEvent *)
 
virtual void drawEnd (LayerGeometryProvider *, QMouseEvent *)
 
virtual void eraseStart (LayerGeometryProvider *, QMouseEvent *)
 
virtual void eraseDrag (LayerGeometryProvider *, QMouseEvent *)
 
virtual void eraseEnd (LayerGeometryProvider *, QMouseEvent *)
 
virtual void editStart (LayerGeometryProvider *, QMouseEvent *)
 
virtual void editDrag (LayerGeometryProvider *, QMouseEvent *)
 
virtual void editEnd (LayerGeometryProvider *, QMouseEvent *)
 
virtual void splitStart (LayerGeometryProvider *, QMouseEvent *)
 
virtual void splitEnd (LayerGeometryProvider *, QMouseEvent *)
 
virtual void addNote (LayerGeometryProvider *, QMouseEvent *)
 
virtual void measureStart (LayerGeometryProvider *, QMouseEvent *)
 
virtual void measureDrag (LayerGeometryProvider *, QMouseEvent *)
 
virtual void measureEnd (LayerGeometryProvider *, QMouseEvent *)
 
virtual void measureDoubleClick (LayerGeometryProvider *, QMouseEvent *)
 
virtual bool haveCurrentMeasureRect () const
 
virtual void deleteCurrentMeasureRect ()
 
virtual bool editOpen (LayerGeometryProvider *, QMouseEvent *)
 Open an editor on the item under the mouse (e.g. More...
 
virtual void moveSelection (Selection, sv_frame_t)
 
virtual void resizeSelection (Selection, Selection)
 
virtual void deleteSelection (Selection)
 
virtual void copy (LayerGeometryProvider *, Selection, Clipboard &)
 
virtual bool paste (LayerGeometryProvider *, const Clipboard &, sv_frame_t, bool)
 Paste from the given clipboard onto the layer at the given frame offset. More...
 
virtual bool isLayerScrollable (const LayerGeometryProvider *) const
 This should return true if the layer can safely be scrolled automatically by a given view (simply copying the existing data and then refreshing the exposed area) without altering its meaning. More...
 
virtual bool isLayerOpaque () const
 This should return true if the layer completely obscures any underlying layers. More...
 
virtual ColourSignificance getLayerColourSignificance () const =0
 This should return the degree of meaning associated with colour in this layer. More...
 
virtual bool isLayerEditable () const
 This should return true if the layer can be edited by the user. More...
 
virtual int getCompletion (LayerGeometryProvider *) const
 Return the proportion of background work complete in drawing this view, as a percentage – in most cases this will be the value returned by pointer from a call to the underlying model's isReady(int *) call. More...
 
virtual QString getError (LayerGeometryProvider *) const
 Return an error string if any errors have occurred while loading or processing data for the given view. More...
 
virtual void setObjectName (const QString &name)
 
void toXml (QTextStream &stream, QString indent="", QString extraAttributes="") const override
 Convert the layer's data (though not those of the model it refers to) into XML for file output. More...
 
virtual void setProperties (const QXmlAttributes &)=0
 Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes. More...
 
virtual void toBriefXml (QTextStream &stream, QString indent="", QString extraAttributes="") const
 Produce XML containing the layer's ID and type. More...
 
virtual void addMeasurementRect (const QXmlAttributes &)
 Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element). More...
 
virtual void setLayerDormant (const LayerGeometryProvider *v, bool dormant)
 Indicate that a layer is not currently visible in the given view and is not expected to become visible in the near future (for example because the user has explicitly removed or hidden it). More...
 
virtual bool isLayerDormant (const LayerGeometryProvider *v) const
 Return whether the layer is dormant (i.e. More...
 
std::shared_ptr< PlayParameters > getPlayParameters () override
 Return the play parameters for this layer, if any. More...
 
virtual bool needsTextLabelHeight () const
 True if this layer will need to place text labels when it is painted. More...
 
virtual bool hasTimeXAxis () const
 Return true if the X axis on the layer is time proportional to audio frames, false otherwise. More...
 
virtual void zoomToRegion (const LayerGeometryProvider *, QRect)
 Update the X and Y axis scales, where appropriate, to focus on the given rectangular region. More...
 
virtual bool getValueExtents (double &min, double &max, bool &logarithmic, QString &unit) const =0
 Return the minimum and maximum values for the y axis of the model in this layer, as well as whether the layer is configured to use a logarithmic y axis display. More...
 
virtual bool getDisplayExtents (double &, double &) const
 Return the minimum and maximum values within the visible area for the y axis of this layer. More...
 
virtual bool setDisplayExtents (double, double)
 Set the displayed minimum and maximum values for the y axis to the given range, if supported. More...
 
virtual bool adoptExtents (double, double, QString)
 Consider using the given value extents and units for this layer. More...
 
virtual bool getXScaleValue (const LayerGeometryProvider *v, int x, double &value, QString &unit) const
 Return the value and unit at the given x coordinate in the given view. More...
 
virtual bool getYScaleValue (const LayerGeometryProvider *, int, double &, QString &) const
 Return the value and unit at the given y coordinate in the given view. More...
 
virtual bool getYScaleDifference (const LayerGeometryProvider *v, int y0, int y1, double &diff, QString &unit) const
 Return the difference between the values at the given y coordinates in the given view, and the unit of the difference. More...
 
virtual int getVerticalZoomSteps (int &) const
 Get the number of vertical zoom steps available for this layer. More...
 
virtual int getCurrentVerticalZoomStep () const
 Get the current vertical zoom step. More...
 
virtual void setVerticalZoomStep (int)
 Set the vertical zoom step. More...
 
virtual RangeMapper * getNewVerticalZoomRangeMapper () const
 Create and return a range mapper for vertical zoom step values. More...
 
virtual bool canExistWithoutModel () const
 Return true if this layer type can function without a model being set. More...
 

Protected Types

typedef std::set< MeasureRectMeasureRectSet
 

Protected Member Functions

void connectSignals (ModelId)
 
virtual sv_frame_t alignToReference (LayerGeometryProvider *v, sv_frame_t frame) const
 
virtual sv_frame_t alignFromReference (LayerGeometryProvider *v, sv_frame_t frame) const
 
bool clipboardHasDifferentAlignment (LayerGeometryProvider *v, const Clipboard &clip) const
 
void addMeasureRectToSet (const MeasureRect &r)
 
void deleteMeasureRectFromSet (const MeasureRect &r)
 
void updateMeasurePixrects (LayerGeometryProvider *v) const
 
virtual void updateMeasureRectYCoords (LayerGeometryProvider *v, const MeasureRect &r) const
 
virtual void setMeasureRectYCoord (LayerGeometryProvider *v, MeasureRect &r, bool start, int y) const
 
virtual void setMeasureRectFromPixrect (LayerGeometryProvider *v, MeasureRect &r, QRect pixrect) const
 
MeasureRectSet::const_iterator findFocusedMeasureRect (QPoint) const
 
void paintMeasurementRect (LayerGeometryProvider *v, QPainter &paint, const MeasureRect &r, bool focus) const
 
bool valueExtentsMatchMine (LayerGeometryProvider *v) const
 

Protected Attributes

MeasureRectSet m_measureRects
 
MeasureRect m_draggingRect
 
bool m_haveDraggingRect
 
bool m_haveCurrentMeasureRect
 
QPoint m_currentMeasureRectPoint
 
QString m_presentationName
 

Private Attributes

QMutex m_dormancyMutex
 
std::map< const void *, bool > m_dormancy
 

Detailed Description

The base class for visual representations of the data found in a Model.

Layers are expected to be able to draw themselves onto a View, and may also be editable.

Definition at line 54 of file Layer.h.

Member Typedef Documentation

typedef std::set<MeasureRect> Layer::MeasureRectSet
protected

Definition at line 692 of file Layer.h.

Member Enumeration Documentation

Enumerator
PositionTop 
PositionMiddle 
PositionBottom 

Definition at line 140 of file Layer.h.

Enumerator
SnapLeft 
SnapRight 
SnapNeighbouring 

Definition at line 195 of file Layer.h.

Enumerator
ColourAbsent 
ColourIrrelevant 
ColourDistinguishes 
ColourAndBackgroundSignificant 
ColourHasMeaningfulValue 

Definition at line 348 of file Layer.h.

Constructor & Destructor Documentation

Layer::Layer ( )

Definition at line 37 of file Layer.cpp.

Layer::~Layer ( )
virtual

Definition at line 43 of file Layer.cpp.

Member Function Documentation

ModelId Layer::getSourceModel ( ) const

Return the ID of the source model for the model represented in this layer.

If the model has no other source, or there is no model here, return None.

Definition at line 68 of file Layer.cpp.

References getModel().

Referenced by View::paintEvent().

virtual ModelId Layer::getExportModel ( LayerGeometryProvider ) const
inlinevirtual

Return the ID of a model representing the contents of this layer in a form suitable for export to a tabular file format such as CSV.

In most cases this will be the same as returned by getModel(). The exceptions are those layers such as SpectrogramLayer, that are "only" alternative views of time-domain sample data. For such layers, getModel() will return the backing time-domain data, for example as a ReadOnlyWaveFileModel; but getExportModel() will return a model, possibly "local to" the layer, which adapts this into the form shown in the layer for a given view so that the export matches the layer's visible contents.

Because this is supposed to match the contents of the view rather than the backing model, it's necessary to pass in a view (or LayerGeometryProvider) so that the layer can retrieve its vertical extents for export.

Reimplemented in SpectrogramLayer, and Colour3DPlotLayer.

Definition at line 95 of file Layer.h.

References getModel().

virtual const ZoomConstraint* Layer::getZoomConstraint ( ) const
inlinevirtual

Return a zoom constraint object defining the supported zoom levels for this layer.

If this returns zero, the layer will support any integer zoom level.

Reimplemented in SpectrogramLayer, Colour3DPlotLayer, and WaveformLayer.

Definition at line 104 of file Layer.h.

virtual bool Layer::supportsOtherZoomLevels ( ) const
inlinevirtual

Return true if this layer can handle zoom levels other than those supported by its zoom constraint (presumably less efficiently or accurately than the officially supported zoom levels).

If true, the layer will unenthusistically accept any integer zoom level from 1 to the maximum returned by its zoom constraint.

Definition at line 114 of file Layer.h.

References paint().

virtual void Layer::paint ( LayerGeometryProvider ,
QPainter &  ,
QRect   
) const
pure virtual

Paint the given rectangle of this layer onto the given view using the given painter, superimposing it on top of any existing material in that view.

The LayerGeometryProvider (an interface implemented by View) is provided here because it is possible for one layer to exist in more than one view, so the dimensions of the view may vary from one paint call to another (without any view having been resized).

Implemented in SpectrogramLayer, Colour3DPlotLayer, SpectrumLayer, NoteLayer, RegionLayer, ImageLayer, WaveformLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, SliceLayer, TimeInstantLayer, TextLayer, and TimeRulerLayer.

Referenced by View::paintEvent(), and supportsOtherZoomLevels().

virtual void Layer::setSynchronousPainting ( bool  )
inlinevirtual

Enable or disable synchronous painting.

If synchronous painting is enabled, a call to paint() must complete painting the entire rectangle before it returns. If synchronous painting is disabled (which should be the default), the paint() call may defer painting some regions if data is not yet available, by calling back on its view to schedule another update. Synchronous painting is necessary when rendering to an image. Simple layer types will always paint synchronously, and so may ignore this.

Reimplemented in SpectrogramLayer, and Colour3DPlotLayer.

Definition at line 138 of file Layer.h.

virtual VerticalPosition Layer::getPreferredTimeRulerPosition ( ) const
inlinevirtual

Definition at line 143 of file Layer.h.

References PositionMiddle.

virtual VerticalPosition Layer::getPreferredFrameCountPosition ( ) const
inlinevirtual

Reimplemented in SpectrogramLayer, and SpectrumLayer.

Definition at line 146 of file Layer.h.

References PositionBottom.

virtual bool Layer::hasLightBackground ( ) const
inlinevirtual
QString Layer::getPropertyContainerIconName ( ) const
override
QString Layer::getPropertyContainerName ( ) const
inlineoverride
void Layer::setPresentationName ( QString  name)
virtual

Definition at line 87 of file Layer.cpp.

References m_presentationName.

Referenced by getPropertyContainerName().

bool Layer::isPresentationNameSet ( ) const
virtual

Definition at line 93 of file Layer.cpp.

References m_presentationName.

Referenced by getPropertyContainerName().

virtual QPixmap Layer::getLayerPresentationPixmap ( QSize  ) const
inlinevirtual

Reimplemented in SingleColourLayer.

Definition at line 165 of file Layer.h.

References getVerticalScaleWidth().

virtual void Layer::paintVerticalScale ( LayerGeometryProvider ,
bool  ,
QPainter &  ,
QRect   
) const
inlinevirtual
virtual int Layer::getHorizontalScaleHeight ( LayerGeometryProvider ,
QPainter &   
) const
inlinevirtual

Reimplemented in SpectrumLayer.

Definition at line 173 of file Layer.h.

Referenced by SliceLayer::paint(), and SliceLayer::paintVerticalScale().

virtual bool Layer::getCrosshairExtents ( LayerGeometryProvider ,
QPainter &  ,
QPoint  ,
std::vector< QRect > &   
) const
inlinevirtual

Reimplemented in SpectrogramLayer, and SpectrumLayer.

Definition at line 175 of file Layer.h.

virtual void Layer::paintCrosshairs ( LayerGeometryProvider ,
QPainter &  ,
QPoint   
) const
inlinevirtual

Reimplemented in SpectrogramLayer, and SpectrumLayer.

Definition at line 179 of file Layer.h.

References nearestMeasurementRectChanged(), and paintMeasurementRects().

void Layer::paintMeasurementRects ( LayerGeometryProvider v,
QPainter &  paint,
bool  showFocus,
QPoint  focusPoint 
) const
virtual
bool Layer::nearestMeasurementRectChanged ( LayerGeometryProvider v,
QPoint  prev,
QPoint  now 
) const
virtual

Definition at line 496 of file Layer.cpp.

References findFocusedMeasureRect(), and updateMeasurePixrects().

Referenced by Pane::mouseMoveEvent(), and paintCrosshairs().

virtual QString Layer::getFeatureDescription ( LayerGeometryProvider ,
QPoint &   
) const
inlinevirtual
virtual QString Layer::getLabelPreceding ( sv_frame_t  ) const
inlinevirtual

Reimplemented in RegionLayer, TimeValueLayer, BoxLayer, and TimeInstantLayer.

Definition at line 191 of file Layer.h.

virtual bool Layer::snapToFeatureFrame ( LayerGeometryProvider ,
sv_frame_t &  ,
int &  resolution,
SnapType  ,
int   
) const
inlinevirtual

Adjust the given frame to snap to the nearest feature, if possible.

If snap is SnapLeft or SnapRight, adjust the frame to match that of the nearest feature in the given direction regardless of how far away it is. If snap is SnapNeighbouring, adjust the frame to that of the nearest feature in either direction if it is close, and leave it alone (returning false) otherwise. SnapNeighbouring should always choose the same feature that would be used in an editing operation through calls to editStart etc.

If ycoord is non-negative, it contains the y coordinate at which the interaction that prompts this snap is taking place (e.g. of the mouse press used for a selection action). Layers that have objects at multiple different heights may choose to use this information. If the current action has no particular y coordinate associated with it, ycoord will be passed as -1.

Return true if a suitable feature was found and frame adjusted accordingly. Return false if no suitable feature was available (and leave frame unmodified). If returning true, also return the resolution of the model in this layer in sample frames.

Reimplemented in SpectrogramLayer, Colour3DPlotLayer, NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeRulerLayer, TimeInstantLayer, and TextLayer.

Definition at line 226 of file Layer.h.

Referenced by Pane::dragExtendSelection(), Pane::mousePressEvent(), TextLayer::snapToFeatureFrame(), TimeInstantLayer::snapToFeatureFrame(), ImageLayer::snapToFeatureFrame(), FlexiNoteLayer::snapToFeatureFrame(), BoxLayer::snapToFeatureFrame(), TimeValueLayer::snapToFeatureFrame(), RegionLayer::snapToFeatureFrame(), NoteLayer::snapToFeatureFrame(), and Colour3DPlotLayer::snapToFeatureFrame().

virtual bool Layer::snapToSimilarFeature ( LayerGeometryProvider ,
sv_frame_t &  ,
int &  resolution,
SnapType   
) const
inlinevirtual

Adjust the given frame to snap to the next feature that has "effectively" the same value as the feature prior to the given frame, if possible.

The snap type must be SnapLeft (snap to the time of the next feature prior to the one preceding the given frame that has a similar value to it) or SnapRight (snap to the time of the next feature following the given frame that has a similar value to the feature preceding it). Other values are not permitted.

Return true if a suitable feature was found and frame adjusted accordingly. Return false if no suitable feature was available (and leave frame unmodified). If returning true, also return the resolution of the model in this layer in sample frames.

Reimplemented in RegionLayer, and TimeValueLayer.

Definition at line 251 of file Layer.h.

Referenced by TimeValueLayer::snapToSimilarFeature(), and RegionLayer::snapToSimilarFeature().

virtual void Layer::drawStart ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.

Definition at line 264 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::drawDrag ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.

Definition at line 265 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::drawEnd ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.

Definition at line 266 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::eraseStart ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, TimeInstantLayer, and TextLayer.

Definition at line 268 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::eraseDrag ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, TimeInstantLayer, and TextLayer.

Definition at line 269 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::eraseEnd ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, TimeInstantLayer, and TextLayer.

Definition at line 270 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::editStart ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.

Definition at line 272 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::editDrag ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.

Definition at line 273 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::editEnd ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.

Definition at line 274 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::splitStart ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in FlexiNoteLayer.

Definition at line 276 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::splitEnd ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in FlexiNoteLayer.

Definition at line 277 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::addNote ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Reimplemented in FlexiNoteLayer.

Definition at line 278 of file Layer.h.

References measureDoubleClick(), measureDrag(), measureEnd(), and measureStart().

Referenced by Pane::mouseDoubleClickEvent().

void Layer::measureEnd ( LayerGeometryProvider v,
QMouseEvent *  e 
)
virtual
void Layer::measureDoubleClick ( LayerGeometryProvider ,
QMouseEvent *   
)
virtual

Reimplemented in SpectrogramLayer.

Definition at line 444 of file Layer.cpp.

Referenced by addNote(), and Pane::mouseDoubleClickEvent().

virtual bool Layer::haveCurrentMeasureRect ( ) const
inlinevirtual

Definition at line 289 of file Layer.h.

References deleteCurrentMeasureRect(), and m_haveCurrentMeasureRect.

void Layer::deleteCurrentMeasureRect ( )
virtual
virtual bool Layer::editOpen ( LayerGeometryProvider ,
QMouseEvent *   
)
inlinevirtual

Open an editor on the item under the mouse (e.g.

on double-click). If there is no item or editing is not supported, return false.

Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, ImageLayer, BoxLayer, TextLayer, and TimeInstantLayer.

Definition at line 299 of file Layer.h.

Referenced by Pane::mouseDoubleClickEvent().

virtual void Layer::moveSelection ( Selection  ,
sv_frame_t   
)
inlinevirtual

Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.

Definition at line 301 of file Layer.h.

Referenced by Pane::editSelectionEnd().

virtual void Layer::resizeSelection ( Selection  ,
Selection   
)
inlinevirtual

Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.

Definition at line 302 of file Layer.h.

Referenced by Pane::editSelectionEnd().

virtual void Layer::deleteSelection ( Selection  )
inlinevirtual

Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.

Definition at line 303 of file Layer.h.

virtual void Layer::copy ( LayerGeometryProvider ,
Selection  ,
Clipboard &   
)
inlinevirtual

Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.

Definition at line 305 of file Layer.h.

virtual bool Layer::paste ( LayerGeometryProvider ,
const Clipboard &  ,
sv_frame_t  ,
bool   
)
inlinevirtual

Paste from the given clipboard onto the layer at the given frame offset.

If interactive is true, the layer may ask the user about paste options through a dialog if desired, and may return false if the user cancelled the paste operation. This function should return true if a paste actually occurred.

Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.

Definition at line 314 of file Layer.h.

virtual bool Layer::isLayerScrollable ( const LayerGeometryProvider ) const
inlinevirtual

This should return true if the layer can safely be scrolled automatically by a given view (simply copying the existing data and then refreshing the exposed area) without altering its meaning.

For the view widget as a whole this is usually not possible because of invariant (non-scrolling) material displayed over the top, but the widget may be able to optimise scrolling better if it is known that individual views can be scrolled safely in this way.

Reimplemented in SpectrogramLayer, WaveformLayer, TimeValueLayer, FlexiNoteLayer, RegionLayer, NoteLayer, BoxLayer, TimeInstantLayer, ImageLayer, SpectrumLayer, SliceLayer, TextLayer, and Colour3DPlotLayer.

Definition at line 336 of file Layer.h.

virtual bool Layer::isLayerOpaque ( ) const
inlinevirtual

This should return true if the layer completely obscures any underlying layers.

It's used to determine whether the view can safely draw any selection rectangles under the layer instead of over it, in the case where the layer is not scrollable and therefore needs to be redrawn each time (so that the selection rectangle can be cached).

Reimplemented in SpectrogramLayer.

Definition at line 346 of file Layer.h.

Referenced by Pane::drawVerticalScale().

virtual ColourSignificance Layer::getLayerColourSignificance ( ) const
pure virtual

This should return the degree of meaning associated with colour in this layer.

If ColourAbsent, the layer does not use colour. If ColourIrrelevant, the layer is coloured and the colour may be set by the user, but it doesn't really matter what the colour is (for example, in a time ruler layer). If ColourDistinguishes, then the colour is used to distinguish this layer from other similar layers (e.g. for data layers). If ColourAndBackgroundSignificant, then the layer should be given greater weight than ColourDistinguishes layers when choosing a background colour (e.g. for waveforms). If ColourHasMeaningfulValue, colours are actually meaningful – the view will then show selections using unfilled rectangles instead of translucent filled rectangles, so as not to disturb the colours underneath.

Implemented in SpectrogramLayer, TimeValueLayer, TimeInstantLayer, ImageLayer, Colour3DPlotLayer, SingleColourLayer, TimeRulerLayer, SliceLayer, and WaveformLayer.

virtual bool Layer::isLayerEditable ( ) const
inlinevirtual

This should return true if the layer can be edited by the user.

If this is the case, the appropriate edit tools may be made available by the application and the layer's drawStart/Drag/End and editStart/Drag/End methods should be implemented.

Reimplemented in TimeValueLayer, FlexiNoteLayer, RegionLayer, NoteLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.

Definition at line 382 of file Layer.h.

Referenced by Pane::mouseDoubleClickEvent(), Pane::mouseMoveEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), Pane::shouldIlluminateLocalSelection(), and Pane::updateContextHelp().

virtual int Layer::getCompletion ( LayerGeometryProvider ) const
inlinevirtual

Return the proportion of background work complete in drawing this view, as a percentage – in most cases this will be the value returned by pointer from a call to the underlying model's isReady(int *) call.

The view may choose to show a progress meter if it finds that this returns < 100 at any given moment.

Reimplemented in SpectrogramLayer, WaveformLayer, TimeValueLayer, FlexiNoteLayer, RegionLayer, NoteLayer, BoxLayer, TimeInstantLayer, ImageLayer, Colour3DPlotLayer, and TextLayer.

Definition at line 391 of file Layer.h.

virtual QString Layer::getError ( LayerGeometryProvider ) const
inlinevirtual

Return an error string if any errors have occurred while loading or processing data for the given view.

Return the empty string if no error has occurred.

Reimplemented in SpectrogramLayer.

Definition at line 398 of file Layer.h.

References addMeasurementRect(), getPlayParameters(), isLayerDormant(), setLayerDormant(), setObjectName(), setProperties(), toBriefXml(), and toXml().

void Layer::setObjectName ( const QString &  name)
virtual

Definition at line 122 of file Layer.cpp.

References layerNameChanged().

Referenced by LayerFactory::createLayer(), and getError().

void Layer::toXml ( QTextStream &  stream,
QString  indent = "",
QString  extraAttributes = "" 
) const
override

Convert the layer's data (though not those of the model it refers to) into XML for file output.

This class implements the basic name/type/model-id output; subclasses will typically call this superclass implementation with extra attributes describing their particular properties.

Definition at line 653 of file Layer.cpp.

References LayerFactory::getInstance(), getModel(), m_measureRects, and m_presentationName.

Referenced by getError(), SingleColourLayer::toXml(), ImageLayer::toXml(), Colour3DPlotLayer::toXml(), and SpectrogramLayer::toXml().

virtual void Layer::setProperties ( const QXmlAttributes &  )
pure virtual

Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes.

This is the effective inverse of the toXml method.

Implemented in SpectrogramLayer, WaveformLayer, FlexiNoteLayer, TimeValueLayer, NoteLayer, RegionLayer, BoxLayer, TimeInstantLayer, ImageLayer, Colour3DPlotLayer, TextLayer, SingleColourLayer, SpectrumLayer, SliceLayer, and TimeRulerLayer.

Referenced by getError(), and LayerFactory::setLayerProperties().

void Layer::toBriefXml ( QTextStream &  stream,
QString  indent = "",
QString  extraAttributes = "" 
) const
virtual

Produce XML containing the layer's ID and type.

This is used to refer to the layer in the display section of the SV session file, for a layer that has already been described in the data section.

Definition at line 691 of file Layer.cpp.

References LayerFactory::getInstance(), getModel(), and m_presentationName.

Referenced by getError().

void Layer::addMeasurementRect ( const QXmlAttributes &  attributes)
virtual

Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element).

Does not use a command.

Definition at line 333 of file Layer.cpp.

References addMeasureRectToSet(), Layer::MeasureRect::endFrame, Layer::MeasureRect::endY, Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, Layer::MeasureRect::startFrame, and Layer::MeasureRect::startY.

Referenced by getError().

void Layer::setLayerDormant ( const LayerGeometryProvider v,
bool  dormant 
)
virtual

Indicate that a layer is not currently visible in the given view and is not expected to become visible in the near future (for example because the user has explicitly removed or hidden it).

The layer may respond by (for example) freeing any cache memory it is using, until next time its paint method is called, when it should set itself un-dormant again.

A layer class that overrides this function must also call this class's implementation.

Reimplemented in SpectrogramLayer, ImageLayer, and Colour3DPlotLayer.

Definition at line 136 of file Layer.cpp.

References m_dormancy, and m_dormancyMutex.

Referenced by getError(), Colour3DPlotLayer::setLayerDormant(), SpectrogramLayer::setLayerDormant(), and showLayer().

std::shared_ptr< PlayParameters > Layer::getPlayParameters ( )
override

Return the play parameters for this layer, if any.

The return value is a shared_ptr that can be passed to (e.g.) PlayParameterRepository::EditCommand to change the parameters.

Definition at line 129 of file Layer.cpp.

References getModel().

Referenced by LayerTreeModel::data(), getError(), LayerTreeModel::LayerTreeModel(), LayerTreeModel::playParametersAudibilityChanged(), and LayerTreeModel::setData().

virtual bool Layer::needsTextLabelHeight ( ) const
inlinevirtual

True if this layer will need to place text labels when it is painted.

The view will take into account how many layers are requesting this, and will provide a distinct y-coord to each layer on request via View::getTextLabelHeight().

Reimplemented in TimeValueLayer, SpectrumLayer, and TimeInstantLayer.

Definition at line 468 of file Layer.h.

virtual bool Layer::hasTimeXAxis ( ) const
inlinevirtual

Return true if the X axis on the layer is time proportional to audio frames, false otherwise.

Almost all layer types return true here: the exceptions are spectrum and slice layers.

Reimplemented in SliceLayer.

Definition at line 475 of file Layer.h.

Referenced by getXScaleValue(), measureStart(), Pane::mouseMoveEvent(), setMeasureRectFromPixrect(), and Pane::zoomToRegion().

virtual void Layer::zoomToRegion ( const LayerGeometryProvider ,
QRect   
)
inlinevirtual

Update the X and Y axis scales, where appropriate, to focus on the given rectangular region.

This should only be overridden by layers whose hasTimeXAxis() returns false - the pane handles zooming appropriately in every "normal" case.

Reimplemented in SliceLayer.

Definition at line 483 of file Layer.h.

References getValueExtents().

Referenced by Pane::zoomToRegion().

virtual bool Layer::getValueExtents ( double &  min,
double &  max,
bool &  logarithmic,
QString &  unit 
) const
pure virtual

Return the minimum and maximum values for the y axis of the model in this layer, as well as whether the layer is configured to use a logarithmic y axis display.

Also return the unit for these values if known.

This function returns the "normal" extents for the layer, not necessarily the extents actually in use in the display (see getDisplayExtents).

Implemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, RegionLayer, NoteLayer, BoxLayer, TimeInstantLayer, ImageLayer, TextLayer, SliceLayer, and TimeRulerLayer.

Referenced by Pane::drawVerticalScale(), View::getScaleProvidingLayerForUnit(), Pane::getTopLayerDisplayExtents(), View::getVisibleExtentsForAnyUnit(), View::getVisibleExtentsForUnit(), valueExtentsMatchMine(), and zoomToRegion().

virtual bool Layer::getDisplayExtents ( double &  ,
double &   
) const
inlinevirtual

Return the minimum and maximum values within the visible area for the y axis of this layer.

Return false if the layer has no display extents of its own. This could be because the layer is "auto-aligning" against another layer with the same units elsewhere in the view, or because the layer has no concept of a vertical scale at all.

Reimplemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, RegionLayer, NoteLayer, BoxLayer, and SliceLayer.

Definition at line 509 of file Layer.h.

Referenced by View::getScaleProvidingLayerForUnit(), Pane::getTopLayerDisplayExtents(), View::getVisibleExtentsForAnyUnit(), and View::getVisibleExtentsForUnit().

virtual bool Layer::setDisplayExtents ( double  ,
double   
)
inlinevirtual

Set the displayed minimum and maximum values for the y axis to the given range, if supported.

Return false if not supported on this layer (and set nothing). In most cases, layers that return false for getDisplayExtents should also return false for this function.

Reimplemented in SpectrogramLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, SpectrumLayer, and SliceLayer.

Definition at line 521 of file Layer.h.

Referenced by Pane::setTopLayerDisplayExtents(), FlexiNoteLayer::setVerticalRangeToNoteRange(), and Pane::zoomToRegion().

virtual bool Layer::adoptExtents ( double  ,
double  ,
QString   
)
inlinevirtual

Consider using the given value extents and units for this layer.

This may be called on a new layer when added, to prepare it for editing, and the extents are those of the layer underneath it. May not be appropriate for most layer types.

Reimplemented in BoxLayer.

Definition at line 532 of file Layer.h.

References getXScaleValue().

bool Layer::getXScaleValue ( const LayerGeometryProvider v,
int  x,
double &  value,
QString &  unit 
) const
virtual

Return the value and unit at the given x coordinate in the given view.

This is for descriptive purposes using the measurement tool. The default implementation works correctly if the layer hasTimeXAxis().

Reimplemented in SpectrumLayer.

Definition at line 160 of file Layer.cpp.

References LayerGeometryProvider::getFrameForX(), getModel(), and hasTimeXAxis().

Referenced by adoptExtents(), and View::drawMeasurementRect().

virtual bool Layer::getYScaleValue ( const LayerGeometryProvider ,
int  ,
double &  ,
QString &   
) const
inlinevirtual

Return the value and unit at the given y coordinate in the given view.

Reimplemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, and SpectrumLayer.

Definition at line 550 of file Layer.h.

References getYScaleDifference().

Referenced by View::drawMeasurementRect(), and getYScaleDifference().

bool Layer::getYScaleDifference ( const LayerGeometryProvider v,
int  y0,
int  y1,
double &  diff,
QString &  unit 
) const
virtual

Return the difference between the values at the given y coordinates in the given view, and the unit of the difference.

The default implementation just calls getYScaleValue twice and returns the difference, with the same unit.

Reimplemented in WaveformLayer, and SpectrumLayer.

Definition at line 173 of file Layer.cpp.

References getYScaleValue().

Referenced by View::drawMeasurementRect(), SpectrumLayer::getYScaleDifference(), and getYScaleValue().

virtual int Layer::getVerticalZoomSteps ( int &  ) const
inlinevirtual

Get the number of vertical zoom steps available for this layer.

If vertical zooming is not available, return 0. The meaning of "zooming" is entirely up to the layer – changing the zoom level may cause the layer to reset its display extents or change another property such as display gain. However, layers are advised for consistency to treat smaller zoom steps as "more distant" or "zoomed out" and larger ones as "closer" or "zoomed in".

Layers that provide this facility should also emit the verticalZoomChanged signal if their vertical zoom changes due to factors other than setVerticalZoomStep being called.

Reimplemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, and SliceLayer.

Definition at line 578 of file Layer.h.

Referenced by Pane::updateHeadsUpDisplay(), Pane::updateVerticalPanner(), and Pane::verticalThumbwheelMoved().

virtual int Layer::getCurrentVerticalZoomStep ( ) const
inlinevirtual

Get the current vertical zoom step.

A layer may support finer control over ranges etc than is available through the integer zoom step mechanism; if this one does, it should just return the nearest of the available zoom steps to the current settings.

Reimplemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, and SliceLayer.

Definition at line 586 of file Layer.h.

Referenced by Pane::updateHeadsUpDisplay(), and Pane::verticalZoomChanged().

virtual void Layer::setVerticalZoomStep ( int  )
inlinevirtual

Set the vertical zoom step.

The meaning of "zooming" is entirely up to the layer – changing the zoom level may cause the layer to reset its display extents or change another property such as display gain.

Reimplemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, and SliceLayer.

Definition at line 594 of file Layer.h.

Referenced by Pane::verticalThumbwheelMoved().

virtual RangeMapper* Layer::getNewVerticalZoomRangeMapper ( ) const
inlinevirtual

Create and return a range mapper for vertical zoom step values.

See the RangeMapper documentation for more details. The returned value is allocated on the heap and will be deleted by the caller.

Reimplemented in SpectrogramLayer, Colour3DPlotLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, and SliceLayer.

Definition at line 602 of file Layer.h.

Referenced by Pane::propertyContainerSelected(), and Pane::updateHeadsUpDisplay().

virtual bool Layer::canExistWithoutModel ( ) const
inlinevirtual

Return true if this layer type can function without a model being set.

If false (the default), the layer will not be loaded from a session if its model cannot be found.

Reimplemented in WaveformLayer, and TimeRulerLayer.

Definition at line 609 of file Layer.h.

References alignFromReference(), alignToReference(), clipboardHasDifferentAlignment(), connectSignals(), layerMeasurementRectsChanged(), layerNameChanged(), layerParameterRangesChanged(), layerParametersChanged(), modelAlignmentCompletionChanged(), modelChanged(), modelChangedWithin(), modelCompletionChanged(), modelReplaced(), showLayer(), and verticalZoomChanged().

void Layer::showLayer ( LayerGeometryProvider view,
bool  show 
)
slot

Change the visibility status (dormancy) of the layer in the given view.

Definition at line 153 of file Layer.cpp.

References layerParametersChanged(), and setLayerDormant().

Referenced by canExistWithoutModel(), ShowLayerCommand::execute(), LayerTreeModel::setData(), and ShowLayerCommand::unexecute().

void Layer::modelCompletionChanged ( ModelId  )
signal
void Layer::modelAlignmentCompletionChanged ( ModelId  )
signal
void Layer::modelChangedWithin ( ModelId  ,
sv_frame_t  startFrame,
sv_frame_t  endFrame 
)
signal
void Layer::layerParametersChanged ( )
signal

Referenced by canExistWithoutModel(), SpectrogramLayer::preferenceChanged(), WaveformLayer::setAggressiveCacheing(), WaveformLayer::setAutoNormalize(), SingleColourLayer::setBaseColour(), SpectrogramLayer::setBinDisplay(), SliceLayer::setBinScale(), Colour3DPlotLayer::setBinScale(), SpectrogramLayer::setBinScale(), SpectrumLayer::setChannel(), SpectrogramLayer::setChannel(), WaveformLayer::setChannel(), WaveformLayer::setChannelMode(), Colour3DPlotLayer::setColourMap(), SpectrogramLayer::setColourMap(), SpectrogramLayer::setColourRotation(), Colour3DPlotLayer::setColourScale(), SpectrogramLayer::setColourScale(), SpectrogramLayer::setColourScaleMultiple(), SliceLayer::setDisplayExtents(), NoteLayer::setDisplayExtents(), FlexiNoteLayer::setDisplayExtents(), TimeValueLayer::setDisplayExtents(), Colour3DPlotLayer::setDisplayExtents(), SpectrogramLayer::setDisplayExtents(), TimeValueLayer::setDrawSegmentDivisions(), SliceLayer::setEnergyScale(), TimeValueLayer::setFillColourMap(), RegionLayer::setFillColourMap(), SliceLayer::setFillColourMap(), WaveformLayer::setGain(), Colour3DPlotLayer::setGain(), SliceLayer::setGain(), SpectrogramLayer::setGain(), Colour3DPlotLayer::setInvertVertical(), SpectrogramLayer::setMaxFrequency(), WaveformLayer::setMiddleLineHeight(), SpectrogramLayer::setMinFrequency(), SpectrumLayer::setModel(), WaveformLayer::setModel(), Colour3DPlotLayer::setNormalization(), SpectrogramLayer::setNormalization(), SliceLayer::setNormalize(), Colour3DPlotLayer::setNormalizeVisibleArea(), SpectrogramLayer::setNormalizeVisibleArea(), Colour3DPlotLayer::setOpaque(), SpectrumLayer::setOversampling(), SpectrogramLayer::setOversampling(), TimeInstantLayer::setPlotStyle(), SliceLayer::setPlotStyle(), TimeValueLayer::setPlotStyle(), RegionLayer::setPlotStyle(), SliceLayer::setSamplingMode(), WaveformLayer::setScale(), TimeValueLayer::setShowDerivative(), WaveformLayer::setShowMeans(), SpectrumLayer::setShowPeaks(), SliceLayer::setSliceableModel(), Colour3DPlotLayer::setSmooth(), SliceLayer::setThreshold(), SpectrogramLayer::setThreshold(), BoxLayer::setVerticalScale(), RegionLayer::setVerticalScale(), NoteLayer::setVerticalScale(), TimeValueLayer::setVerticalScale(), FlexiNoteLayer::setVerticalScale(), Colour3DPlotLayer::setVerticalZoomStep(), SpectrumLayer::setWindowHopLevel(), SpectrogramLayer::setWindowHopLevel(), SpectrumLayer::setWindowSize(), SpectrogramLayer::setWindowSize(), SpectrumLayer::setWindowType(), SpectrogramLayer::setWindowType(), and showLayer().

void Layer::layerParameterRangesChanged ( )
signal
void Layer::layerMeasurementRectsChanged ( )
signal
void Layer::layerNameChanged ( )
signal
bool Layer::clipboardHasDifferentAlignment ( LayerGeometryProvider v,
const Clipboard &  clip 
) const
protected
void Layer::addMeasureRectToSet ( const MeasureRect r)
inlineprotected

Definition at line 682 of file Layer.h.

References layerMeasurementRectsChanged(), and m_measureRects.

Referenced by addMeasurementRect().

void Layer::deleteMeasureRectFromSet ( const MeasureRect r)
inlineprotected

Definition at line 687 of file Layer.h.

References layerMeasurementRectsChanged(), and m_measureRects.

void Layer::updateMeasureRectYCoords ( LayerGeometryProvider v,
const MeasureRect r 
) const
protectedvirtual
void Layer::setMeasureRectYCoord ( LayerGeometryProvider v,
MeasureRect r,
bool  start,
int  y 
) const
protectedvirtual
Layer::MeasureRectSet::const_iterator Layer::findFocusedMeasureRect ( QPoint  focusPoint) const
protected
bool Layer::valueExtentsMatchMine ( LayerGeometryProvider v) const
protected

Member Data Documentation

MeasureRect Layer::m_draggingRect
protected

Definition at line 694 of file Layer.h.

Referenced by measureDrag(), measureEnd(), measureStart(), and paintMeasurementRects().

bool Layer::m_haveDraggingRect
protected

Definition at line 695 of file Layer.h.

Referenced by measureDrag(), measureEnd(), measureStart(), and paintMeasurementRects().

bool Layer::m_haveCurrentMeasureRect
mutableprotected
QPoint Layer::m_currentMeasureRectPoint
mutableprotected

Definition at line 697 of file Layer.h.

Referenced by deleteCurrentMeasureRect(), and paintMeasurementRects().

QString Layer::m_presentationName
protected
QMutex Layer::m_dormancyMutex
mutableprivate

Definition at line 719 of file Layer.h.

Referenced by isLayerDormant(), and setLayerDormant().

std::map<const void *, bool> Layer::m_dormancy
mutableprivate

Definition at line 720 of file Layer.h.

Referenced by isLayerDormant(), and setLayerDormant().


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