Layer Class Reference

#include <Layer.h>

Inherits PropertyContainer, and XmlExportable.

Inherited by ImageLayer, SingleColourLayer, and SliceableLayer.

Inheritance diagram for Layer:

Inheritance graph
[legend]
Collaboration diagram for Layer:

Collaboration graph
[legend]
List of all members.

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 46 of file Layer.h.

Public Types

enum  VerticalPosition { PositionTop, PositionMiddle, PositionBottom }
enum  SnapType { SnapLeft, SnapRight, SnapNearest, SnapNeighbouring }
enum  ColourSignificance {
  ColourAbsent, ColourIrrelevant, ColourDistinguishes, ColourAndBackgroundSignificant,
  ColourHasMeaningfulValue
}
enum  PropertyType {
  ToggleProperty, RangeProperty, ValueProperty, ColourProperty,
  UnitsProperty, InvalidProperty
}
typedef QString PropertyName
typedef std::vector< PropertyNamePropertyList

Public Slots

void showLayer (View *, bool show)
virtual void setProperty (const PropertyName &, int value)
 Set a property.
virtual void setProperty (QString nameString, QString valueString)
 Set a property using a fuzzy match.
virtual void setPropertyWithCommand (const PropertyName &, int value)
 Set a property using a command, supporting undo and redo.
virtual void setPropertyWithCommand (QString nameString, QString valueString)
 As above, but using a command.

Signals

void modelChanged ()
void modelCompletionChanged ()
void modelAlignmentCompletionChanged ()
void modelChanged (size_t startFrame, size_t endFrame)
void modelReplaced ()
void layerParametersChanged ()
void layerParameterRangesChanged ()
void layerMeasurementRectsChanged ()
void layerNameChanged ()
void verticalZoomChanged ()
void propertyChanged (PropertyContainer::PropertyName)

Public Member Functions

 Layer ()
virtual ~Layer ()
virtual const ModelgetModel () const=0
virtual ModelgetModel ()
virtual const ZoomConstraintgetZoomConstraint () const
 Return a zoom constraint object defining the supported zoom levels for this layer.
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).
virtual void paint (View *, QPainter &, QRect) const=0
virtual VerticalPosition getPreferredTimeRulerPosition () const
virtual VerticalPosition getPreferredFrameCountPosition () const
virtual bool hasLightBackground () const
virtual QString getPropertyContainerIconName () const
virtual QString getPropertyContainerName () const
virtual void setPresentationName (QString name)
virtual QString getLayerPresentationName () const
virtual QPixmap getLayerPresentationPixmap (QSize) const
virtual int getVerticalScaleWidth (View *, QPainter &) const
virtual void paintVerticalScale (View *, QPainter &, QRect) const
virtual bool getCrosshairExtents (View *, QPainter &, QPoint, std::vector< QRect > &) const
virtual void paintCrosshairs (View *, QPainter &, QPoint) const
virtual void paintMeasurementRects (View *, QPainter &, bool showFocus, QPoint focusPoint) const
virtual bool nearestMeasurementRectChanged (View *, QPoint prev, QPoint now) const
virtual QString getFeatureDescription (View *, QPoint &) const
virtual bool snapToFeatureFrame (View *, int &, size_t &resolution, SnapType) const
 Adjust the given frame to snap to the nearest feature, if possible.
virtual void drawStart (View *, QMouseEvent *)
virtual void drawDrag (View *, QMouseEvent *)
virtual void drawEnd (View *, QMouseEvent *)
virtual void eraseStart (View *, QMouseEvent *)
virtual void eraseDrag (View *, QMouseEvent *)
virtual void eraseEnd (View *, QMouseEvent *)
virtual void editStart (View *, QMouseEvent *)
virtual void editDrag (View *, QMouseEvent *)
virtual void editEnd (View *, QMouseEvent *)
virtual void measureStart (View *, QMouseEvent *)
virtual void measureDrag (View *, QMouseEvent *)
virtual void measureEnd (View *, QMouseEvent *)
virtual void measureDoubleClick (View *, QMouseEvent *)
virtual bool haveCurrentMeasureRect () const
virtual void deleteCurrentMeasureRect ()
virtual bool editOpen (View *, QMouseEvent *)
 Open an editor on the item under the mouse (e.g.
virtual void moveSelection (Selection, size_t)
virtual void resizeSelection (Selection, Selection)
virtual void deleteSelection (Selection)
virtual void copy (View *, Selection, Clipboard &)
virtual bool paste (View *, const Clipboard &, int, bool)
 Paste from the given clipboard onto the layer at the given frame offset.
virtual bool isLayerScrollable (const View *) 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.
virtual bool isLayerOpaque () const
 This should return true if the layer completely obscures any underlying layers.
virtual ColourSignificance getLayerColourSignificance () const=0
 This should return the degree of meaning associated with colour in this layer.
virtual bool isLayerEditable () const
 This should return true if the layer can be edited by the user.
virtual int getCompletion (View *) 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.
virtual void setObjectName (const QString &name)
virtual void toXml (QTextStream &stream, QString indent="", QString extraAttributes="") const
 Convert the layer's data (though not those of the model it refers to) into XML for file output.
virtual void setProperties (const QXmlAttributes &)=0
 Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes.
virtual void toBriefXml (QTextStream &stream, QString indent="", QString extraAttributes="") const
 Produce XML containing the layer's ID and type.
virtual void addMeasurementRect (const QXmlAttributes &)
 Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element).
virtual void setLayerDormant (const View *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).
virtual bool isLayerDormant (const View *v) const
 Return whether the layer is dormant (i.e.
virtual PlayParametersgetPlayParameters ()
virtual bool needsTextLabelHeight () const
virtual bool hasTimeXAxis () const
virtual bool getValueExtents (float &min, float &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.
virtual bool getDisplayExtents (float &, float &) const
 Return the minimum and maximum values within the displayed range for the y axis, if only a subset of the whole range of the model (returned by getValueExtents) is being displayed.
virtual bool setDisplayExtents (float, float)
 Set the displayed minimum and maximum values for the y axis to the given range, if supported.
virtual bool getXScaleValue (const View *v, int x, float &value, QString &unit) const
 Return the value and unit at the given x coordinate in the given view.
virtual bool getYScaleValue (const View *, int, float &, QString &) const
 Return the value and unit at the given y coordinate in the given view.
virtual bool getYScaleDifference (const View *v, int y0, int y1, float &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.
virtual int getVerticalZoomSteps (int &) const
 Get the number of vertical zoom steps available for this layer.
virtual int getCurrentVerticalZoomStep () const
 Get the current vertical zoom step.
virtual void setVerticalZoomStep (int)
 Set the vertical zoom step.
virtual RangeMappergetNewVerticalZoomRangeMapper () const
 Create and return a range mapper for vertical zoom step values.
virtual PropertyList getProperties () const
 Get a list of the names of all the supported properties on this container.
virtual QString getPropertyLabel (const PropertyName &) const =0
 Return the human-readable (and i18n'ised) name of a property.
virtual PropertyType getPropertyType (const PropertyName &) const
 Return the type of the given property, or InvalidProperty if the property is not supported on this container.
virtual QString getPropertyIconName (const PropertyName &) const
 Return an icon for the property, if any.
virtual QString getPropertyGroupName (const PropertyName &) const
 If this property has something in common with other properties on this container, return a name that can be used to group them (in order to save screen space, for example).
virtual int getPropertyRangeAndValue (const PropertyName &, int *min, int *max, int *deflt) const
 Return the minimum and maximum values for the given property and its current value in this container.
virtual QString getPropertyValueLabel (const PropertyName &, int value) const
 If the given property is a ValueProperty, return the display label to be used for the given value for that property.
virtual RangeMappergetNewPropertyRangeMapper (const PropertyName &) const
 If the given property is a RangeProperty, return a new RangeMapper object mapping its integer range onto an underlying floating point value range for human-intelligible display, if appropriate.
virtual QString toXmlString (QString indent="", QString extraAttributes="") const
 Convert this exportable object to XML in a string.

Static Public Member Functions

static QString encodeEntities (QString)
static QString encodeColour (QColor)
static int getObjectExportId (const void *)

Protected Types

typedef std::set< MeasureRectMeasureRectSet

Protected Member Functions

void connectSignals (const Model *)
virtual size_t alignToReference (View *v, size_t frame) const
virtual size_t alignFromReference (View *v, size_t frame) const
bool clipboardHasDifferentAlignment (View *v, const Clipboard &clip) const
void addMeasureRectToSet (const MeasureRect &r)
void deleteMeasureRectFromSet (const MeasureRect &r)
void updateMeasurePixrects (View *v) const
virtual void updateMeasureRectYCoords (View *v, const MeasureRect &r) const
virtual void setMeasureRectYCoord (View *v, MeasureRect &r, bool start, int y) const
virtual void setMeasureRectFromPixrect (View *v, MeasureRect &r, QRect pixrect) const
MeasureRectSet::const_iterator findFocusedMeasureRect (QPoint) const
void paintMeasurementRect (View *v, QPainter &paint, const MeasureRect &r, bool focus) const
virtual bool convertPropertyStrings (QString nameString, QString valueString, PropertyName &name, int &value)

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

Classes

class  AddMeasurementRectCommand
class  DeleteMeasurementRectCommand
struct  MeasureRect


Member Typedef Documentation

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

Definition at line 529 of file Layer.h.

typedef QString PropertyContainer::PropertyName [inherited]

Definition at line 35 of file PropertyContainer.h.

typedef std::vector<PropertyName> PropertyContainer::PropertyList [inherited]

Definition at line 36 of file PropertyContainer.h.


Member Enumeration Documentation

enum Layer::VerticalPosition

Enumerator:
PositionTop 
PositionMiddle 
PositionBottom 

Definition at line 79 of file Layer.h.

enum Layer::SnapType

Enumerator:
SnapLeft 
SnapRight 
SnapNearest 
SnapNeighbouring 

Definition at line 123 of file Layer.h.

enum Layer::ColourSignificance

Enumerator:
ColourAbsent 
ColourIrrelevant 
ColourDistinguishes 
ColourAndBackgroundSignificant 
ColourHasMeaningfulValue 

Definition at line 242 of file Layer.h.

enum PropertyContainer::PropertyType [inherited]

Enumerator:
ToggleProperty 
RangeProperty 
ValueProperty 
ColourProperty 
UnitsProperty 
InvalidProperty 

Definition at line 38 of file PropertyContainer.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

virtual const Model* Layer::getModel (  )  const [pure virtual]

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

Referenced by MainWindow::addLayer(), Document::addLayerToView(), alignFromReference(), alignToReference(), MainWindow::currentPaneChanged(), Document::deleteLayer(), MainWindow::exportLayer(), getLayerPresentationName(), getModel(), View::getModels(), getPlayParameters(), getXScaleValue(), MainWindowBase::insertInstantAt(), MainWindowBase::layerInAView(), ModelDataModel::rebuildModelSet(), MainWindowBase::renumberInstants(), Document::setModel(), toBriefXml(), and toXml().

virtual Model* Layer::getModel (  )  [inline, virtual]

Definition at line 56 of file Layer.h.

References getModel().

virtual const ZoomConstraint* Layer::getZoomConstraint (  )  const [inline, virtual]

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 Colour3DPlotLayer, SpectrogramLayer, and WaveformLayer.

Definition at line 65 of file Layer.h.

virtual bool Layer::supportsOtherZoomLevels (  )  const [inline, virtual]

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 75 of file Layer.h.

virtual void Layer::paint ( View ,
QPainter &  ,
QRect   
) const [pure virtual]

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

virtual VerticalPosition Layer::getPreferredTimeRulerPosition (  )  const [inline, virtual]

Definition at line 82 of file Layer.h.

References PositionMiddle.

virtual VerticalPosition Layer::getPreferredFrameCountPosition (  )  const [inline, virtual]

Reimplemented in SpectrogramLayer, and SpectrumLayer.

Definition at line 85 of file Layer.h.

References PositionBottom.

virtual bool Layer::hasLightBackground (  )  const [inline, virtual]

Reimplemented in SingleColourLayer, and SpectrogramLayer.

Definition at line 88 of file Layer.h.

QString Layer::getPropertyContainerIconName (  )  const [virtual]

Implements PropertyContainer.

Definition at line 65 of file Layer.cpp.

References LayerFactory::getInstance(), and LayerFactory::getLayerIconName().

virtual QString Layer::getPropertyContainerName (  )  const [inline, virtual]

Implements PropertyContainer.

Definition at line 94 of file Layer.h.

References m_presentationName.

void Layer::setPresentationName ( QString  name  )  [virtual]

Definition at line 72 of file Layer.cpp.

References m_presentationName.

Referenced by SVFileReader::readLayer(), and MainWindow::renameCurrentLayer().

QString Layer::getLayerPresentationName (  )  const [virtual]

Reimplemented in TimeRulerLayer.

Definition at line 78 of file Layer.cpp.

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

Referenced by MainWindow::setupExistingLayersMenus().

virtual QPixmap Layer::getLayerPresentationPixmap ( QSize   )  const [inline, virtual]

Reimplemented in SingleColourLayer.

Definition at line 102 of file Layer.h.

virtual int Layer::getVerticalScaleWidth ( View ,
QPainter &   
) const [inline, virtual]

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

Definition at line 104 of file Layer.h.

Referenced by Pane::drawVerticalScale().

virtual void Layer::paintVerticalScale ( View ,
QPainter &  ,
QRect   
) const [inline, virtual]

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

Definition at line 105 of file Layer.h.

Referenced by Pane::drawVerticalScale().

virtual bool Layer::getCrosshairExtents ( View ,
QPainter &  ,
QPoint  ,
std::vector< QRect > &   
) const [inline, virtual]

Reimplemented in SpectrogramLayer, and SpectrumLayer.

Definition at line 107 of file Layer.h.

virtual void Layer::paintCrosshairs ( View ,
QPainter &  ,
QPoint   
) const [inline, virtual]

Reimplemented in SpectrogramLayer, and SpectrumLayer.

Definition at line 111 of file Layer.h.

void Layer::paintMeasurementRects ( View ,
QPainter &  ,
bool  showFocus,
QPoint  focusPoint 
) const [virtual]

Definition at line 428 of file Layer.cpp.

References findFocusedMeasureRect(), m_currentMeasureRectPoint, m_draggingRect, m_haveCurrentMeasureRect, m_haveDraggingRect, m_measureRects, paintMeasurementRect(), and updateMeasurePixrects().

Referenced by Pane::paintEvent().

bool Layer::nearestMeasurementRectChanged ( View ,
QPoint  prev,
QPoint  now 
) const [virtual]

Definition at line 460 of file Layer.cpp.

References findFocusedMeasureRect(), and updateMeasurePixrects().

virtual QString Layer::getFeatureDescription ( View ,
QPoint &   
) const [inline, virtual]

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

Definition at line 119 of file Layer.h.

Referenced by Pane::drawFeatureDescription().

virtual bool Layer::snapToFeatureFrame ( View ,
int &  ,
size_t &  resolution,
SnapType   
) const [inline, virtual]

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 SnapNearest, adjust the frame to that of the nearest feature in either direction. If snap is SnapNeighbouring, adjust the frame to that of the nearest feature 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.

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

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

Definition at line 149 of file Layer.h.

Referenced by Pane::dragExtendSelection(), MainWindowBase::ffwd(), MainWindow::handleOSCMessage(), Pane::mousePressEvent(), MainWindowBase::rewind(), TimeValueLayer::snapToFeatureFrame(), TimeInstantLayer::snapToFeatureFrame(), TextLayer::snapToFeatureFrame(), NoteLayer::snapToFeatureFrame(), ImageLayer::snapToFeatureFrame(), and Colour3DPlotLayer::snapToFeatureFrame().

virtual void Layer::drawStart ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 162 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::drawDrag ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 163 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::drawEnd ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 164 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::eraseStart ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 166 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::eraseDrag ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 167 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::eraseEnd ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 168 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::editStart ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 170 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::editDrag ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 171 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::editEnd ( View ,
QMouseEvent *   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 172 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

void Layer::measureStart ( View ,
QMouseEvent *   
) [virtual]

Definition at line 374 of file Layer.cpp.

References m_draggingRect, m_haveDraggingRect, and setMeasureRectFromPixrect().

Referenced by Pane::mousePressEvent().

void Layer::measureDrag ( View ,
QMouseEvent *   
) [virtual]

Definition at line 382 of file Layer.cpp.

References m_draggingRect, m_haveDraggingRect, Layer::MeasureRect::pixrect, and setMeasureRectFromPixrect().

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

void Layer::measureEnd ( View ,
QMouseEvent *   
) [virtual]

Definition at line 394 of file Layer.cpp.

References CommandHistory::addCommand(), CommandHistory::getInstance(), m_draggingRect, m_haveDraggingRect, measureDrag(), and Layer::MeasureRect::pixrect.

Referenced by Pane::mouseReleaseEvent().

void Layer::measureDoubleClick ( View ,
QMouseEvent *   
) [virtual]

Reimplemented in SpectrogramLayer.

Definition at line 408 of file Layer.cpp.

Referenced by Pane::mouseDoubleClickEvent().

virtual bool Layer::haveCurrentMeasureRect (  )  const [inline, virtual]

Definition at line 183 of file Layer.h.

References m_haveCurrentMeasureRect.

void Layer::deleteCurrentMeasureRect (  )  [virtual]

Definition at line 414 of file Layer.cpp.

References CommandHistory::addCommand(), findFocusedMeasureRect(), CommandHistory::getInstance(), m_currentMeasureRectPoint, m_haveCurrentMeasureRect, and m_measureRects.

Referenced by MainWindowBase::deleteSelected().

virtual bool Layer::editOpen ( View ,
QMouseEvent *   
) [inline, virtual]

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 ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 193 of file Layer.h.

Referenced by Pane::mouseDoubleClickEvent().

virtual void Layer::moveSelection ( Selection  ,
size_t   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 195 of file Layer.h.

Referenced by Pane::editSelectionEnd().

virtual void Layer::resizeSelection ( Selection  ,
Selection   
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 196 of file Layer.h.

Referenced by Pane::editSelectionEnd().

virtual void Layer::deleteSelection ( Selection   )  [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 197 of file Layer.h.

Referenced by MainWindowBase::cut().

virtual void Layer::copy ( View ,
Selection  ,
Clipboard  
) [inline, virtual]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 199 of file Layer.h.

Referenced by MainWindowBase::copy(), and MainWindowBase::cut().

virtual bool Layer::paste ( View ,
const Clipboard ,
int  ,
bool   
) [inline, virtual]

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