svgui
1.9
|
#include <NoteLayer.h>
Public Types | |
enum | VerticalScale { AutoAlignScale, LinearScale, LogScale, MIDIRangeScale } |
enum | VerticalPosition { PositionTop, PositionMiddle, PositionBottom } |
enum | SnapType { SnapLeft, SnapRight, SnapNearest, SnapNeighbouring } |
enum | ColourSignificance { ColourAbsent, ColourIrrelevant, ColourDistinguishes, ColourAndBackgroundSignificant, ColourHasMeaningfulValue } |
Public Slots | |
void | showLayer (View *, bool show) |
Signals | |
void | modelChanged () |
void | modelCompletionChanged () |
void | modelAlignmentCompletionChanged () |
void | modelChangedWithin (int startFrame, int endFrame) |
void | modelReplaced () |
void | layerParametersChanged () |
void | layerParameterRangesChanged () |
void | layerMeasurementRectsChanged () |
void | layerNameChanged () |
void | verticalZoomChanged () |
Public Member Functions | |
NoteLayer () | |
virtual void | paint (View *v, QPainter &paint, QRect rect) const |
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. | |
virtual int | getVerticalScaleWidth (View *v, bool, QPainter &) const |
virtual void | paintVerticalScale (View *v, bool, QPainter &paint, QRect rect) const |
virtual QString | getFeatureDescription (View *v, QPoint &) const |
virtual bool | snapToFeatureFrame (View *v, int &frame, int &resolution, SnapType snap) const |
Adjust the given frame to snap to the nearest feature, if possible. | |
virtual void | drawStart (View *v, QMouseEvent *) |
virtual void | drawDrag (View *v, QMouseEvent *) |
virtual void | drawEnd (View *v, QMouseEvent *) |
virtual void | eraseStart (View *v, QMouseEvent *) |
virtual void | eraseDrag (View *v, QMouseEvent *) |
virtual void | eraseEnd (View *v, QMouseEvent *) |
virtual void | editStart (View *v, QMouseEvent *) |
virtual void | editDrag (View *v, QMouseEvent *) |
virtual void | editEnd (View *v, QMouseEvent *) |
virtual bool | editOpen (View *v, QMouseEvent *) |
Open an editor on the item under the mouse (e.g. | |
virtual void | moveSelection (Selection s, int newStartFrame) |
virtual void | resizeSelection (Selection s, Selection newSize) |
virtual void | deleteSelection (Selection s) |
virtual void | copy (View *v, Selection s, Clipboard &to) |
virtual bool | paste (View *v, const Clipboard &from, int frameOffset, bool interactive) |
Paste from the given clipboard onto the layer at the given frame offset. | |
virtual const Model * | getModel () const |
void | setModel (NoteModel *model) |
virtual PropertyList | getProperties () const |
virtual QString | getPropertyLabel (const PropertyName &) const |
virtual PropertyType | getPropertyType (const PropertyName &) const |
virtual QString | getPropertyGroupName (const PropertyName &) const |
virtual int | getPropertyRangeAndValue (const PropertyName &, int *min, int *max, int *deflt) const |
virtual QString | getPropertyValueLabel (const PropertyName &, int value) const |
virtual void | setProperty (const PropertyName &, int value) |
void | setVerticalScale (VerticalScale scale) |
VerticalScale | getVerticalScale () const |
virtual bool | isLayerScrollable (const View *v) 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 | 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 bool | getValueExtents (float &min, float &max, bool &log, QString &unit) const |
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 &min, float &max) 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 min, float max) |
Set the displayed minimum and maximum values for the y axis to the given range, if supported. | |
virtual int | getVerticalZoomSteps (int &defaultStep) 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) |
!! lots of duplication with TimeValueLayer | |
virtual RangeMapper * | getNewVerticalZoomRangeMapper () const |
Create and return a range mapper for vertical zoom step values. | |
void | addNoteOn (int frame, int pitch, int velocity) |
Add a note-on. | |
void | addNoteOff (int frame, int pitch) |
Add a note-off. | |
void | abandonNoteOns () |
Abandon all pending note-on events. | |
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. | |
void | setProperties (const QXmlAttributes &attributes) |
Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes. | |
virtual int | getYForValue (View *v, float value) const |
VerticalScaleLayer methods. | |
virtual float | getValueForY (View *v, int y) const |
virtual QString | getScaleUnits () const |
virtual void | setBaseColour (int) |
Set the colour used to draw primary items in the layer. | |
virtual int | getBaseColour () const |
Retrieve the current primary drawing colour, as a ColourDatabase index value. | |
virtual bool | hasLightBackground () const |
Return true if the layer currently has a dark colour on a light background, false if it has a light colour on a dark background. | |
virtual ColourSignificance | getLayerColourSignificance () const |
Implements Layer::getLayerColourSignificance() | |
virtual QPixmap | getLayerPresentationPixmap (QSize size) const |
virtual RangeMapper * | getNewPropertyRangeMapper (const PropertyName &) const |
virtual void | setDefaultColourFor (View *v) |
Model * | getModel () |
virtual const ZoomConstraint * | getZoomConstraint () 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 | setSynchronousPainting (bool) |
Enable or disable synchronous painting. | |
virtual VerticalPosition | getPreferredTimeRulerPosition () const |
virtual VerticalPosition | getPreferredFrameCountPosition () const |
virtual QString | getPropertyContainerIconName () const |
virtual QString | getPropertyContainerName () const |
virtual void | setPresentationName (QString name) |
virtual QString | getLayerPresentationName () 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 | getLabelPreceding (int) const |
virtual bool | snapToSimilarFeature (View *, int &, 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. | |
virtual void | splitStart (View *, QMouseEvent *) |
virtual void | splitEnd (View *, QMouseEvent *) |
virtual void | addNote (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 | isLayerOpaque () const |
This should return true if the layer completely obscures any underlying layers. | |
virtual QString | getError (View *) const |
Return an error string if any errors have occurred while loading or processing data for the given view. | |
virtual void | setObjectName (const QString &name) |
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 PlayParameters * | getPlayParameters () |
virtual bool | needsTextLabelHeight () const |
virtual bool | hasTimeXAxis () const |
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. | |
Protected Types | |
typedef std::set < NoteModel::Point, NoteModel::Point::Comparator > | NoteSet |
typedef std::map< int, int > | ColourRefCount |
typedef std::set< MeasureRect > | MeasureRectSet |
Protected Member Functions | |
void | getScaleExtents (View *, float &min, float &max, bool &log) const |
bool | shouldConvertMIDIToHz () const |
virtual int | getDefaultColourHint (bool dark, bool &impose) |
NoteModel::PointList | getLocalPoints (View *v, int) const |
bool | getPointToDrag (View *v, int x, int y, NoteModel::Point &) const |
bool | shouldAutoAlign () const |
void | finish (NoteModel::EditCommand *command) |
virtual QColor | getBaseQColor () const |
virtual QColor | getBackgroundQColor (View *v) const |
virtual QColor | getForegroundQColor (View *v) const |
std::vector< QColor > | getPartialShades (View *v) const |
virtual void | flagBaseColourChanged () |
void | connectSignals (const Model *) |
virtual int | alignToReference (View *v, int frame) const |
virtual int | alignFromReference (View *v, int 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 |
Protected Attributes | |
NoteModel * | m_model |
bool | m_editing |
int | m_dragPointX |
int | m_dragPointY |
int | m_dragStartX |
int | m_dragStartY |
NoteModel::Point | m_originalPoint |
NoteModel::Point | m_editingPoint |
NoteModel::EditCommand * | m_editingCommand |
VerticalScale | m_verticalScale |
NoteSet | m_pendingNoteOns |
float | m_scaleMinimum |
float | m_scaleMaximum |
int | m_colour |
bool | m_colourExplicitlySet |
bool | m_defaultColourSet |
MeasureRectSet | m_measureRects |
MeasureRect | m_draggingRect |
bool | m_haveDraggingRect |
bool | m_haveCurrentMeasureRect |
QPoint | m_currentMeasureRectPoint |
QString | m_presentationName |
Static Protected Attributes | |
static ColourRefCount | m_colourRefCount |
Definition at line 30 of file NoteLayer.h.
typedef std::set<NoteModel::Point, NoteModel::Point::Comparator> NoteLayer::NoteSet [protected] |
Definition at line 160 of file NoteLayer.h.
typedef std::map<int, int> SingleColourLayer::ColourRefCount [protected, inherited] |
Definition at line 89 of file SingleColourLayer.h.
typedef std::set<MeasureRect> Layer::MeasureRectSet [protected, inherited] |
Definition at line 84 of file NoteLayer.h.
enum Layer::VerticalPosition [inherited] |
enum Layer::SnapType [inherited] |
enum Layer::ColourSignificance [inherited] |
Definition at line 48 of file NoteLayer.cpp.
void NoteLayer::paint | ( | View * | , |
QPainter & | , | ||
QRect | |||
) | const [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 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).
Implements Layer.
Definition at line 744 of file NoteLayer.cpp.
References View::drawVisibleText(), SingleColourLayer::getBaseQColor(), View::getForeground(), View::getFrameForX(), getPointToDrag(), getScaleUnits(), View::getXForFrame(), getYForValue(), m_model, View::OutlinedText, and View::shouldIlluminateLocalFeatures().
int NoteLayer::getVerticalScaleWidth | ( | View * | v, |
bool | , | ||
QPainter & | paint | ||
) | const [virtual] |
Implements Layer.
Definition at line 833 of file NoteLayer.cpp.
References LogNumericalScale::getWidth(), LinearNumericalScale::getWidth(), LogScale, m_model, m_verticalScale, MIDIRangeScale, and shouldAutoAlign().
Referenced by paintVerticalScale().
void NoteLayer::paintVerticalScale | ( | View * | v, |
bool | , | ||
QPainter & | paint, | ||
QRect | rect | ||
) | const [virtual] |
Reimplemented from Layer.
Definition at line 847 of file NoteLayer.cpp.
References TextAbbrev::abbreviate(), getScaleExtents(), getScaleUnits(), getVerticalScaleWidth(), m_model, PianoScale::paintPianoVertical(), LogNumericalScale::paintVertical(), and LinearNumericalScale::paintVertical().
QString NoteLayer::getFeatureDescription | ( | View * | v, |
QPoint & | pos | ||
) | const [virtual] |
Reimplemented from Layer.
Definition at line 463 of file NoteLayer.cpp.
References getLocalPoints(), getScaleUnits(), View::getXForFrame(), getYForValue(), m_model, and shouldConvertMIDIToHz().
bool NoteLayer::snapToFeatureFrame | ( | View * | , |
int & | , | ||
int & | resolution, | ||
SnapType | |||
) | const [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). If returning true, also return the resolution of the model in this layer in sample frames.
Reimplemented from Layer.
Definition at line 550 of file NoteLayer.cpp.
References getLocalPoints(), View::getXForFrame(), m_model, Layer::SnapLeft, Layer::SnapNeighbouring, and Layer::SnapRight.
void NoteLayer::drawStart | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 885 of file NoteLayer.cpp.
References finish(), View::getFrameForX(), getValueForY(), m_editing, m_editingCommand, m_editingPoint, m_model, and m_originalPoint.
void NoteLayer::drawDrag | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 909 of file NoteLayer.cpp.
References View::getFrameForX(), getValueForY(), m_editing, m_editingCommand, m_editingPoint, and m_model.
void NoteLayer::drawEnd | ( | View * | v, |
QMouseEvent * | |||
) | [virtual] |
Reimplemented from Layer.
Definition at line 938 of file NoteLayer.cpp.
References finish(), m_editing, m_editingCommand, and m_model.
void NoteLayer::eraseStart | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 948 of file NoteLayer.cpp.
References finish(), getPointToDrag(), m_editing, m_editingCommand, m_editingPoint, and m_model.
void NoteLayer::eraseDrag | ( | View * | v, |
QMouseEvent * | |||
) | [virtual] |
Reimplemented from Layer.
Definition at line 963 of file NoteLayer.cpp.
void NoteLayer::eraseEnd | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 968 of file NoteLayer.cpp.
References finish(), getPointToDrag(), m_editing, m_editingCommand, m_editingPoint, and m_model.
void NoteLayer::editStart | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 988 of file NoteLayer.cpp.
References finish(), getPointToDrag(), View::getXForFrame(), getYForValue(), m_dragPointX, m_dragPointY, m_dragStartX, m_dragStartY, m_editing, m_editingCommand, m_editingPoint, m_model, and m_originalPoint.
void NoteLayer::editDrag | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 1011 of file NoteLayer.cpp.
References View::getFrameForX(), getValueForY(), m_dragPointX, m_dragPointY, m_dragStartX, m_dragStartY, m_editing, m_editingCommand, m_editingPoint, and m_model.
void NoteLayer::editEnd | ( | View * | v, |
QMouseEvent * | |||
) | [virtual] |
Reimplemented from Layer.
Definition at line 1040 of file NoteLayer.cpp.
References finish(), m_editing, m_editingCommand, m_editingPoint, m_model, and m_originalPoint.
bool NoteLayer::editOpen | ( | View * | , |
QMouseEvent * | |||
) | [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 from Layer.
Definition at line 1068 of file NoteLayer.cpp.
References finish(), ItemEditDialog::getFrameDuration(), ItemEditDialog::getFrameTime(), getPointToDrag(), getScaleUnits(), ItemEditDialog::getText(), ItemEditDialog::getValue(), m_model, ItemEditDialog::setFrameDuration(), ItemEditDialog::setFrameTime(), ItemEditDialog::setText(), ItemEditDialog::setValue(), ItemEditDialog::ShowDuration, ItemEditDialog::ShowText, ItemEditDialog::ShowTime, and ItemEditDialog::ShowValue.
void NoteLayer::moveSelection | ( | Selection | s, |
int | newStartFrame | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 1110 of file NoteLayer.cpp.
void NoteLayer::resizeSelection | ( | Selection | s, |
Selection | newSize | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 1135 of file NoteLayer.cpp.
void NoteLayer::deleteSelection | ( | Selection | s | ) | [virtual] |
Reimplemented from Layer.
Definition at line 1174 of file NoteLayer.cpp.
void NoteLayer::copy | ( | View * | v, |
Selection | s, | ||
Clipboard & | to | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 1196 of file NoteLayer.cpp.
References Layer::alignToReference(), and m_model.
bool NoteLayer::paste | ( | View * | , |
const Clipboard & | , | ||
int | , | ||
bool | |||
) | [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 may return false if the user cancelled the paste operation. This function should return true if a paste actually occurred.
Reimplemented from Layer.
Definition at line 1214 of file NoteLayer.cpp.
References Layer::alignFromReference(), Layer::clipboardHasDifferentAlignment(), finish(), and m_model.
virtual const Model* NoteLayer::getModel | ( | ) | const [inline, virtual] |
void NoteLayer::setModel | ( | NoteModel * | model | ) |
Definition at line 67 of file NoteLayer.cpp.
References Layer::connectSignals(), m_model, m_scaleMaximum, m_scaleMinimum, and Layer::modelReplaced().
Layer::PropertyList NoteLayer::getProperties | ( | ) | const [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 83 of file NoteLayer.cpp.
QString NoteLayer::getPropertyLabel | ( | const PropertyName & | name | ) | const [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 92 of file NoteLayer.cpp.
Layer::PropertyType NoteLayer::getPropertyType | ( | const PropertyName & | name | ) | const [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 100 of file NoteLayer.cpp.
QString NoteLayer::getPropertyGroupName | ( | const PropertyName & | name | ) | const [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 108 of file NoteLayer.cpp.
int NoteLayer::getPropertyRangeAndValue | ( | const PropertyName & | name, |
int * | min, | ||
int * | max, | ||
int * | deflt | ||
) | const [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 124 of file NoteLayer.cpp.
References AutoAlignScale, getScaleUnits(), m_model, and m_verticalScale.
QString NoteLayer::getPropertyValueLabel | ( | const PropertyName & | name, |
int | value | ||
) | const [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 154 of file NoteLayer.cpp.
void NoteLayer::setProperty | ( | const PropertyName & | name, |
int | value | ||
) | [virtual] |
Reimplemented from SingleColourLayer.
Definition at line 170 of file NoteLayer.cpp.
References m_model, Layer::modelChanged(), and setVerticalScale().
void NoteLayer::setVerticalScale | ( | VerticalScale | scale | ) |
Definition at line 186 of file NoteLayer.cpp.
References Layer::layerParametersChanged(), and m_verticalScale.
Referenced by setProperties(), and setProperty().
VerticalScale NoteLayer::getVerticalScale | ( | ) | const [inline] |
Definition at line 92 of file NoteLayer.h.
References m_verticalScale.
bool NoteLayer::isLayerScrollable | ( | const View * | ) | const [virtual] |
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 from Layer.
Definition at line 194 of file NoteLayer.cpp.
References View::shouldIlluminateLocalFeatures().
virtual bool NoteLayer::isLayerEditable | ( | ) | const [inline, virtual] |
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 from Layer.
Definition at line 96 of file NoteLayer.h.
virtual int NoteLayer::getCompletion | ( | View * | ) | const [inline, virtual] |
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 from Layer.
Definition at line 98 of file NoteLayer.h.
References m_model.
bool NoteLayer::getValueExtents | ( | float & | min, |
float & | max, | ||
bool & | logarithmic, | ||
QString & | unit | ||
) | const [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.
Implements Layer.
Definition at line 212 of file NoteLayer.cpp.
References getScaleUnits(), LogScale, m_model, m_verticalScale, MIDIRangeScale, and shouldConvertMIDIToHz().
Referenced by getNewVerticalZoomRangeMapper(), and setVerticalZoomStep().
bool NoteLayer::getDisplayExtents | ( | float & | , |
float & | |||
) | const [virtual] |
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.
Return false if the layer is not imposing a particular display extent (using the normal layer extents or deferring to whatever is in use for the same units elsewhere in the view).
Reimplemented from Layer.
Definition at line 232 of file NoteLayer.cpp.
References m_model, m_scaleMaximum, m_scaleMinimum, m_verticalScale, MIDIRangeScale, shouldAutoAlign(), and shouldConvertMIDIToHz().
Referenced by getCurrentVerticalZoomStep(), getScaleExtents(), and setVerticalZoomStep().
bool NoteLayer::setDisplayExtents | ( | float | , |
float | |||
) | [virtual] |
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 from Layer.
Definition at line 263 of file NoteLayer.cpp.
References Layer::layerParametersChanged(), m_model, m_scaleMaximum, and m_scaleMinimum.
Referenced by setProperties(), and setVerticalZoomStep().
int NoteLayer::getVerticalZoomSteps | ( | int & | ) | const [virtual] |
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 from Layer.
Definition at line 287 of file NoteLayer.cpp.
References m_model, and shouldAutoAlign().
int NoteLayer::getCurrentVerticalZoomStep | ( | ) | const [virtual] |
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 from Layer.
Definition at line 297 of file NoteLayer.cpp.
References getDisplayExtents(), getNewVerticalZoomRangeMapper(), m_model, and shouldAutoAlign().
void NoteLayer::setVerticalZoomStep | ( | int | step | ) | [virtual] |
!! lots of duplication with TimeValueLayer
Reimplemented from Layer.
Definition at line 318 of file NoteLayer.cpp.
References getDisplayExtents(), getNewVerticalZoomRangeMapper(), getValueExtents(), m_model, setDisplayExtents(), and shouldAutoAlign().
RangeMapper * NoteLayer::getNewVerticalZoomRangeMapper | ( | ) | const [virtual] |
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 from Layer.
Definition at line 369 of file NoteLayer.cpp.
References getValueExtents(), and m_model.
Referenced by getCurrentVerticalZoomStep(), and setVerticalZoomStep().
void NoteLayer::addNoteOn | ( | int | frame, |
int | pitch, | ||
int | velocity | ||
) |
Add a note-on.
Used when recording MIDI "live". The note will not be finally added to the layer until the corresponding note-off.
Definition at line 1295 of file NoteLayer.cpp.
References m_pendingNoteOns.
void NoteLayer::addNoteOff | ( | int | frame, |
int | pitch | ||
) |
Add a note-off.
This will cause a note to appear, if and only if there is a matching pending note-on.
Definition at line 1301 of file NoteLayer.cpp.
References CommandHistory::addCommand(), CommandHistory::getInstance(), m_model, and m_pendingNoteOns.
void NoteLayer::abandonNoteOns | ( | ) |
Abandon all pending note-on events.
Definition at line 1321 of file NoteLayer.cpp.
References m_pendingNoteOns.
void NoteLayer::toXml | ( | QTextStream & | stream, |
QString | indent = "" , |
||
QString | extraAttributes = "" |
||
) | const [virtual] |
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.
Reimplemented from SingleColourLayer.
Definition at line 1335 of file NoteLayer.cpp.
References m_scaleMaximum, m_scaleMinimum, and m_verticalScale.
void NoteLayer::setProperties | ( | const QXmlAttributes & | ) | [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.
Reimplemented from SingleColourLayer.
Definition at line 1346 of file NoteLayer.cpp.
References setDisplayExtents(), and setVerticalScale().
int NoteLayer::getYForValue | ( | View * | v, |
float | value | ||
) | const [virtual] |
VerticalScaleLayer methods.
Implements VerticalScaleLayer.
Definition at line 680 of file NoteLayer.cpp.
References getScaleExtents(), and shouldConvertMIDIToHz().
Referenced by editStart(), getFeatureDescription(), getPointToDrag(), and paint().
float NoteLayer::getValueForY | ( | View * | v, |
int | y | ||
) | const [virtual] |
Implements VerticalScaleLayer.
Definition at line 715 of file NoteLayer.cpp.
References getScaleExtents(), and shouldConvertMIDIToHz().
Referenced by drawDrag(), drawStart(), and editDrag().
QString NoteLayer::getScaleUnits | ( | ) | const [virtual] |
Implements VerticalScaleLayer.
Definition at line 117 of file NoteLayer.cpp.
References m_model.
Referenced by editOpen(), getFeatureDescription(), getPropertyRangeAndValue(), getScaleExtents(), getValueExtents(), paint(), paintVerticalScale(), and shouldConvertMIDIToHz().
void NoteLayer::getScaleExtents | ( | View * | v, |
float & | min, | ||
float & | max, | ||
bool & | log | ||
) | const [protected] |
Definition at line 622 of file NoteLayer.cpp.
References getDisplayExtents(), getScaleUnits(), View::getValueExtents(), LogScale, m_model, m_verticalScale, MIDIRangeScale, shouldAutoAlign(), and shouldConvertMIDIToHz().
Referenced by getValueForY(), getYForValue(), and paintVerticalScale().
bool NoteLayer::shouldConvertMIDIToHz | ( | ) | const [protected] |
Definition at line 201 of file NoteLayer.cpp.
References getScaleUnits().
Referenced by getDisplayExtents(), getFeatureDescription(), getScaleExtents(), getValueExtents(), getValueForY(), and getYForValue().
int NoteLayer::getDefaultColourHint | ( | bool | dark, |
bool & | impose | ||
) | [protected, virtual] |
Reimplemented from SingleColourLayer.
Definition at line 1327 of file NoteLayer.cpp.
References ColourDatabase::getColourIndex(), and ColourDatabase::getInstance().
NoteModel::PointList NoteLayer::getLocalPoints | ( | View * | v, |
int | x | ||
) | const [protected] |
Definition at line 392 of file NoteLayer.cpp.
References View::getEndFrame(), View::getFrameForX(), View::getStartFrame(), View::getXForFrame(), and m_model.
Referenced by getFeatureDescription(), and snapToFeatureFrame().
bool NoteLayer::getPointToDrag | ( | View * | v, |
int | x, | ||
int | y, | ||
NoteModel::Point & | p | ||
) | const [protected] |
Definition at line 435 of file NoteLayer.cpp.
References View::getFrameForX(), getYForValue(), and m_model.
Referenced by editOpen(), editStart(), eraseEnd(), eraseStart(), and paint().
bool NoteLayer::shouldAutoAlign | ( | ) | const [protected] |
Definition at line 737 of file NoteLayer.cpp.
References AutoAlignScale, m_model, and m_verticalScale.
Referenced by getCurrentVerticalZoomStep(), getDisplayExtents(), getScaleExtents(), getVerticalScaleWidth(), getVerticalZoomSteps(), and setVerticalZoomStep().
void NoteLayer::finish | ( | NoteModel::EditCommand * | command | ) | [inline, protected] |
Definition at line 168 of file NoteLayer.h.
References CommandHistory::addCommand(), and CommandHistory::getInstance().
Referenced by deleteSelection(), drawEnd(), drawStart(), editEnd(), editOpen(), editStart(), eraseEnd(), eraseStart(), moveSelection(), paste(), and resizeSelection().
void SingleColourLayer::setBaseColour | ( | int | colour | ) | [virtual, inherited] |
Set the colour used to draw primary items in the layer.
The colour value is a colour database index as returned by ColourDatabase::getColourIndex().
Definition at line 220 of file SingleColourLayer.cpp.
References SingleColourLayer::flagBaseColourChanged(), Layer::layerParametersChanged(), SingleColourLayer::m_colour, SingleColourLayer::m_colourExplicitlySet, SingleColourLayer::refColor(), and SingleColourLayer::unrefColor().
Referenced by SingleColourLayer::setDefaultColourFor(), and SingleColourLayer::setProperty().
int SingleColourLayer::getBaseColour | ( | ) | const [virtual, inherited] |
Retrieve the current primary drawing colour, as a ColourDatabase index value.
Definition at line 235 of file SingleColourLayer.cpp.
References SingleColourLayer::m_colour.
bool SingleColourLayer::hasLightBackground | ( | ) | const [virtual, inherited] |
Return true if the layer currently has a dark colour on a light background, false if it has a light colour on a dark background.
Reimplemented from Layer.
Definition at line 53 of file SingleColourLayer.cpp.
References ColourDatabase::getInstance(), SingleColourLayer::m_colour, and ColourDatabase::useDarkBackground().
virtual ColourSignificance SingleColourLayer::getLayerColourSignificance | ( | ) | const [inline, virtual, inherited] |
Implements Layer::getLayerColourSignificance()
Implements Layer.
Reimplemented in TimeValueLayer, TimeInstantLayer, SliceLayer, TimeRulerLayer, and WaveformLayer.
Definition at line 52 of file SingleColourLayer.h.
References Layer::ColourDistinguishes.
QPixmap SingleColourLayer::getLayerPresentationPixmap | ( | QSize | size | ) | const [virtual, inherited] |
Reimplemented from Layer.
Definition at line 47 of file SingleColourLayer.cpp.
References ColourDatabase::getExamplePixmap(), ColourDatabase::getInstance(), and SingleColourLayer::m_colour.
RangeMapper * SingleColourLayer::getNewPropertyRangeMapper | ( | const PropertyName & | ) | const [virtual, inherited] |
Reimplemented in SpectrumLayer, WaveformLayer, and SliceLayer.
Definition at line 126 of file SingleColourLayer.cpp.
void SingleColourLayer::setDefaultColourFor | ( | View * | v | ) | [virtual, inherited] |
Definition at line 140 of file SingleColourLayer.cpp.
References ColourDatabase::getColourCount(), SingleColourLayer::getDefaultColourHint(), ColourDatabase::getInstance(), View::hasLightBackground(), SingleColourLayer::m_colour, SingleColourLayer::m_colourExplicitlySet, SingleColourLayer::m_colourRefCount, SingleColourLayer::m_defaultColourSet, SingleColourLayer::refColor(), SingleColourLayer::setBaseColour(), SingleColourLayer::unrefColor(), and ColourDatabase::useDarkBackground().
Referenced by View::addLayer(), and SingleColourLayer::SingleColourLayer().
QColor SingleColourLayer::getBaseQColor | ( | ) | const [protected, virtual, inherited] |
Definition at line 241 of file SingleColourLayer.cpp.
References ColourDatabase::getColour(), ColourDatabase::getInstance(), and SingleColourLayer::m_colour.
Referenced by SingleColourLayer::getPartialShades(), TimeRulerLayer::paint(), TextLayer::paint(), TimeInstantLayer::paint(), paint(), TimeValueLayer::paint(), SliceLayer::paint(), WaveformLayer::paint(), FlexiNoteLayer::paint(), and RegionLayer::paint().
QColor SingleColourLayer::getBackgroundQColor | ( | View * | v | ) | const [protected, virtual, inherited] |
Definition at line 247 of file SingleColourLayer.cpp.
References View::getBackground().
Referenced by SingleColourLayer::getPartialShades(), and WaveformLayer::paint().
QColor SingleColourLayer::getForegroundQColor | ( | View * | v | ) | const [protected, virtual, inherited] |
Definition at line 253 of file SingleColourLayer.cpp.
References View::getForeground().
Referenced by TimeInstantLayer::paint(), TimeValueLayer::paint(), WaveformLayer::paint(), and RegionLayer::paint().
std::vector< QColor > SingleColourLayer::getPartialShades | ( | View * | v | ) | const [protected, inherited] |
Definition at line 259 of file SingleColourLayer.cpp.
References SingleColourLayer::getBackgroundQColor(), and SingleColourLayer::getBaseQColor().
Referenced by TimeRulerLayer::paint(), TimeValueLayer::paint(), and WaveformLayer::paint().
virtual void SingleColourLayer::flagBaseColourChanged | ( | ) | [inline, protected, virtual, inherited] |
Reimplemented in WaveformLayer.
Definition at line 85 of file SingleColourLayer.h.
Referenced by SingleColourLayer::setBaseColour(), and SingleColourLayer::setProperties().
Model* Layer::getModel | ( | ) | [inline, inherited] |
Definition at line 62 of file Layer.h.
References Layer::getModel().
virtual const ZoomConstraint* Layer::getZoomConstraint | ( | ) | const [inline, virtual, inherited] |
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.
virtual bool Layer::supportsOtherZoomLevels | ( | ) | const [inline, virtual, inherited] |
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.
virtual void Layer::setSynchronousPainting | ( | bool | ) | [inline, virtual, inherited] |
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.
virtual VerticalPosition Layer::getPreferredTimeRulerPosition | ( | ) | const [inline, virtual, inherited] |
Definition at line 109 of file Layer.h.
References Layer::PositionMiddle.
virtual VerticalPosition Layer::getPreferredFrameCountPosition | ( | ) | const [inline, virtual, inherited] |
Reimplemented in SpectrogramLayer, and SpectrumLayer.
Definition at line 112 of file Layer.h.
References Layer::PositionBottom.
QString Layer::getPropertyContainerIconName | ( | ) | const [virtual, inherited] |
Definition at line 65 of file Layer.cpp.
References LayerFactory::getInstance(), and LayerFactory::getLayerIconName().
Referenced by LayerTreeModel::data().
virtual QString Layer::getPropertyContainerName | ( | ) | const [inline, virtual, inherited] |
Definition at line 121 of file Layer.h.
References Layer::m_presentationName.
void Layer::setPresentationName | ( | QString | name | ) | [virtual, inherited] |
Definition at line 72 of file Layer.cpp.
References Layer::m_presentationName.
QString Layer::getLayerPresentationName | ( | ) | const [virtual, inherited] |
Reimplemented in TimeRulerLayer.
Definition at line 78 of file Layer.cpp.
References LayerFactory::getInstance(), LayerFactory::getLayerPresentationName(), LayerFactory::getLayerType(), Layer::getModel(), and Layer::m_presentationName.
Referenced by FlexiNoteLayer::getAssociatedPitchModel(), and PropertyStack::repopulate().
virtual bool Layer::getCrosshairExtents | ( | View * | , |
QPainter & | , | ||
QPoint | , | ||
std::vector< QRect > & | |||
) | const [inline, virtual, inherited] |
Reimplemented in SpectrogramLayer, and SpectrumLayer.
virtual void Layer::paintCrosshairs | ( | View * | , |
QPainter & | , | ||
QPoint | |||
) | const [inline, virtual, inherited] |
Reimplemented in SpectrogramLayer, and SpectrumLayer.
void Layer::paintMeasurementRects | ( | View * | v, |
QPainter & | paint, | ||
bool | showFocus, | ||
QPoint | focusPoint | ||
) | const [virtual, inherited] |
Definition at line 428 of file Layer.cpp.
References Layer::findFocusedMeasureRect(), Layer::m_currentMeasureRectPoint, Layer::m_draggingRect, Layer::m_haveCurrentMeasureRect, Layer::m_haveDraggingRect, Layer::m_measureRects, Layer::paintMeasurementRect(), and Layer::updateMeasurePixrects().
Referenced by Pane::paintEvent().
bool Layer::nearestMeasurementRectChanged | ( | View * | v, |
QPoint | prev, | ||
QPoint | now | ||
) | const [virtual, inherited] |
Definition at line 460 of file Layer.cpp.
References Layer::findFocusedMeasureRect(), and Layer::updateMeasurePixrects().
Referenced by Pane::mouseMoveEvent().
virtual QString Layer::getLabelPreceding | ( | int | ) | const [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, and TimeInstantLayer.
virtual bool Layer::snapToSimilarFeature | ( | View * | , |
int & | , | ||
int & | resolution, | ||
SnapType | |||
) | const [inline, virtual, inherited] |
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.
virtual void Layer::splitStart | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer.
Definition at line 232 of file Layer.h.
Referenced by Pane::mousePressEvent().
virtual void Layer::splitEnd | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer.
Definition at line 233 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
virtual void Layer::addNote | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer.
Definition at line 234 of file Layer.h.
Referenced by Pane::mouseDoubleClickEvent().
void Layer::measureStart | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual, inherited] |
Definition at line 374 of file Layer.cpp.
References Layer::m_draggingRect, Layer::m_haveDraggingRect, and Layer::setMeasureRectFromPixrect().
Referenced by Pane::mousePressEvent().
void Layer::measureDrag | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual, inherited] |
Definition at line 382 of file Layer.cpp.
References Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::MeasureRect::pixrect, and Layer::setMeasureRectFromPixrect().
Referenced by Layer::measureEnd(), and Pane::mouseMoveEvent().
void Layer::measureEnd | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual, inherited] |
Definition at line 394 of file Layer.cpp.
References CommandHistory::addCommand(), CommandHistory::getInstance(), Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::measureDrag(), and Layer::MeasureRect::pixrect.
Referenced by Pane::mouseReleaseEvent().
void Layer::measureDoubleClick | ( | View * | , |
QMouseEvent * | |||
) | [virtual, inherited] |
Reimplemented in SpectrogramLayer.
Definition at line 408 of file Layer.cpp.
Referenced by Pane::mouseDoubleClickEvent().
virtual bool Layer::haveCurrentMeasureRect | ( | ) | const [inline, virtual, inherited] |
Definition at line 245 of file Layer.h.
References Layer::m_haveCurrentMeasureRect.
void Layer::deleteCurrentMeasureRect | ( | ) | [virtual, inherited] |
Definition at line 414 of file Layer.cpp.
References CommandHistory::addCommand(), Layer::findFocusedMeasureRect(), CommandHistory::getInstance(), Layer::m_currentMeasureRectPoint, Layer::m_haveCurrentMeasureRect, and Layer::m_measureRects.
virtual bool Layer::isLayerOpaque | ( | ) | const [inline, virtual, inherited] |
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 302 of file Layer.h.
Referenced by View::getAligningModel().
virtual QString Layer::getError | ( | View * | ) | const [inline, virtual, inherited] |
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.
void Layer::setObjectName | ( | const QString & | name | ) | [virtual, inherited] |
Definition at line 100 of file Layer.cpp.
References Layer::layerNameChanged().
Referenced by LayerFactory::createLayer().
void Layer::toBriefXml | ( | QTextStream & | stream, |
QString | indent = "" , |
||
QString | extraAttributes = "" |
||
) | const [virtual, inherited] |
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 626 of file Layer.cpp.
References LayerFactory::getInstance(), Layer::getModel(), and Layer::m_presentationName.
void Layer::addMeasurementRect | ( | const QXmlAttributes & | attributes | ) | [virtual, inherited] |
Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element).
Does not use a command.
Definition at line 317 of file Layer.cpp.
References Layer::addMeasureRectToSet(), Layer::MeasureRect::endFrame, Layer::MeasureRect::endY, Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, Layer::MeasureRect::startFrame, and Layer::MeasureRect::startY.
void Layer::setLayerDormant | ( | const View * | v, |
bool | dormant | ||
) | [virtual, inherited] |
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 118 of file Layer.cpp.
References Layer::m_dormancy, and Layer::m_dormancyMutex.
Referenced by SpectrogramLayer::paint(), and Layer::showLayer().
bool Layer::isLayerDormant | ( | const View * | v | ) | const [virtual, inherited] |
Return whether the layer is dormant (i.e.
hidden) in the given view.
Definition at line 126 of file Layer.cpp.
References Layer::m_dormancy, and Layer::m_dormancyMutex.
Referenced by LayerTreeModel::data(), View::getInteractionLayer(), SpectrogramLayer::paint(), PropertyStack::propertyContainerPropertyChanged(), PropertyStack::repopulate(), Colour3DPlotLayer::setLayerDormant(), and SpectrogramLayer::setLayerDormant().
PlayParameters * Layer::getPlayParameters | ( | ) | [virtual, inherited] |
Definition at line 107 of file Layer.cpp.
References Layer::getModel().
Referenced by LayerTreeModel::data(), LayerTreeModel::LayerTreeModel(), LayerTreeModel::playParametersAudibilityChanged(), and LayerTreeModel::setData().
virtual bool Layer::needsTextLabelHeight | ( | ) | const [inline, virtual, inherited] |
Reimplemented in TimeValueLayer, and TimeInstantLayer.
virtual bool Layer::hasTimeXAxis | ( | ) | const [inline, virtual, inherited] |
Reimplemented in SliceLayer.
Definition at line 415 of file Layer.h.
Referenced by Layer::getXScaleValue(), Pane::mouseMoveEvent(), and Layer::setMeasureRectFromPixrect().
bool Layer::getXScaleValue | ( | const View * | v, |
int | x, | ||
float & | value, | ||
QString & | unit | ||
) | const [virtual, inherited] |
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 142 of file Layer.cpp.
References View::getFrameForX(), Layer::getModel(), and Layer::hasTimeXAxis().
Referenced by View::drawMeasurementRect().
virtual bool Layer::getYScaleValue | ( | const View * | , |
int | , | ||
float & | , | ||
QString & | |||
) | const [inline, virtual, inherited] |
Return the value and unit at the given y coordinate in the given view.
Reimplemented in SpectrogramLayer, WaveformLayer, Colour3DPlotLayer, and SpectrumLayer.
Definition at line 467 of file Layer.h.
Referenced by View::drawMeasurementRect(), and Layer::getYScaleDifference().
bool Layer::getYScaleDifference | ( | const View * | v, |
int | y0, | ||
int | y1, | ||
float & | diff, | ||
QString & | unit | ||
) | const [virtual, inherited] |
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 155 of file Layer.cpp.
References Layer::getYScaleValue().
Referenced by View::drawMeasurementRect().
void Layer::showLayer | ( | View * | view, |
bool | show | ||
) | [slot, inherited] |
Definition at line 135 of file Layer.cpp.
References Layer::layerParametersChanged(), and Layer::setLayerDormant().
Referenced by ShowLayerCommand::execute(), LayerTreeModel::setData(), and ShowLayerCommand::unexecute().
void Layer::modelChanged | ( | ) | [signal, inherited] |
Reimplemented in Colour3DPlotLayer.
Referenced by Layer::connectSignals(), ImageLayer::fileSourceReady(), SpectrogramLayer::fillTimerTimedOut(), RegionLayer::setModel(), SpectrogramLayer::setModel(), setProperty(), TimeValueLayer::setProperty(), RegionLayer::setProperty(), and FlexiNoteLayer::setProperty().
void Layer::modelCompletionChanged | ( | ) | [signal, inherited] |
Referenced by Layer::connectSignals().
void Layer::modelAlignmentCompletionChanged | ( | ) | [signal, inherited] |
Referenced by Layer::connectSignals().
void Layer::modelChangedWithin | ( | int | startFrame, |
int | endFrame | ||
) | [signal, inherited] |
Reimplemented in Colour3DPlotLayer.
Referenced by Layer::connectSignals(), SpectrogramLayer::fillTimerTimedOut(), and SpectrogramLayer::setModel().
void Layer::modelReplaced | ( | ) | [signal, inherited] |
Referenced by TimeRulerLayer::setModel(), WaveformLayer::setModel(), TextLayer::setModel(), TimeInstantLayer::setModel(), ImageLayer::setModel(), Colour3DPlotLayer::setModel(), setModel(), TimeValueLayer::setModel(), RegionLayer::setModel(), SpectrogramLayer::setModel(), FlexiNoteLayer::setModel(), and SliceLayer::setSliceableModel().
void Layer::layerParametersChanged | ( | ) | [signal, inherited] |
Referenced by SpectrogramLayer::preferenceChanged(), WaveformLayer::setAggressiveCacheing(), WaveformLayer::setAutoNormalize(), SingleColourLayer::setBaseColour(), SpectrogramLayer::setBinDisplay(), SliceLayer::setBinScale(), Colour3DPlotLayer::setBinScale(), SpectrumLayer::setChannel(), SpectrogramLayer::setChannel(), WaveformLayer::setChannel(), WaveformLayer::setChannelMode(), Colour3DPlotLayer::setColourMap(), SpectrogramLayer::setColourMap(), SpectrogramLayer::setColourRotation(), Colour3DPlotLayer::setColourScale(), SpectrogramLayer::setColourScale(), setDisplayExtents(), FlexiNoteLayer::setDisplayExtents(), TimeValueLayer::setDisplayExtents(), Colour3DPlotLayer::setDisplayExtents(), SpectrogramLayer::setDisplayExtents(), TimeValueLayer::setDrawSegmentDivisions(), SliceLayer::setEnergyScale(), SliceLayer::setFillColourMap(), TimeValueLayer::setFillColourMap(), RegionLayer::setFillColourMap(), SpectrogramLayer::setFrequencyScale(), WaveformLayer::setGain(), SliceLayer::setGain(), Colour3DPlotLayer::setGain(), SpectrogramLayer::setGain(), Colour3DPlotLayer::setInvertVertical(), SpectrogramLayer::setMaxFrequency(), WaveformLayer::setMiddleLineHeight(), SpectrogramLayer::setMinFrequency(), SpectrumLayer::setModel(), WaveformLayer::setModel(), SliceLayer::setNormalize(), Colour3DPlotLayer::setNormalizeColumns(), SpectrogramLayer::setNormalizeColumns(), Colour3DPlotLayer::setNormalizeHybrid(), SpectrogramLayer::setNormalizeHybrid(), Colour3DPlotLayer::setNormalizeVisibleArea(), SpectrogramLayer::setNormalizeVisibleArea(), Colour3DPlotLayer::setOpaque(), TimeInstantLayer::setPlotStyle(), SliceLayer::setPlotStyle(), TimeValueLayer::setPlotStyle(), RegionLayer::setPlotStyle(), SliceLayer::setSamplingMode(), WaveformLayer::setScale(), TimeValueLayer::setShowDerivative(), WaveformLayer::setShowMeans(), SpectrumLayer::setShowPeaks(), Colour3DPlotLayer::setSmooth(), SliceLayer::setThreshold(), SpectrogramLayer::setThreshold(), WaveformLayer::setUseGreyscale(), setVerticalScale(), RegionLayer::setVerticalScale(), TimeValueLayer::setVerticalScale(), FlexiNoteLayer::setVerticalScale(), Colour3DPlotLayer::setVerticalZoomStep(), SpectrumLayer::setWindowHopLevel(), SpectrogramLayer::setWindowHopLevel(), SpectrumLayer::setWindowSize(), SpectrogramLayer::setWindowSize(), SpectrumLayer::setWindowType(), SpectrogramLayer::setWindowType(), SpectrogramLayer::setZeroPadLevel(), and Layer::showLayer().
void Layer::layerParameterRangesChanged | ( | ) | [signal, inherited] |
Referenced by SliceLayer::setPlotStyle(), TimeValueLayer::setPlotStyle(), and RegionLayer::setPlotStyle().
void Layer::layerMeasurementRectsChanged | ( | ) | [signal, inherited] |
Referenced by Layer::addMeasureRectToSet(), and Layer::deleteMeasureRectFromSet().
void Layer::layerNameChanged | ( | ) | [signal, inherited] |
Referenced by Layer::setObjectName().
void Layer::verticalZoomChanged | ( | ) | [signal, inherited] |
Referenced by SpectrogramLayer::setDisplayExtents(), WaveformLayer::setGain(), and SpectrogramLayer::setProperty().
void Layer::connectSignals | ( | const Model * | model | ) | [protected, inherited] |
Definition at line 49 of file Layer.cpp.
References Layer::modelAlignmentCompletionChanged(), Layer::modelChanged(), Layer::modelChangedWithin(), and Layer::modelCompletionChanged().
Referenced by WaveformLayer::setModel(), TextLayer::setModel(), TimeInstantLayer::setModel(), ImageLayer::setModel(), Colour3DPlotLayer::setModel(), setModel(), TimeValueLayer::setModel(), RegionLayer::setModel(), SpectrogramLayer::setModel(), FlexiNoteLayer::setModel(), and SliceLayer::setSliceableModel().
int Layer::alignToReference | ( | View * | v, |
int | frame | ||
) | const [protected, virtual, inherited] |
Definition at line 169 of file Layer.cpp.
References View::alignToReference(), and Layer::getModel().
Referenced by Layer::clipboardHasDifferentAlignment(), TextLayer::copy(), ImageLayer::copy(), TimeInstantLayer::copy(), copy(), TimeValueLayer::copy(), RegionLayer::copy(), and FlexiNoteLayer::copy().
int Layer::alignFromReference | ( | View * | v, |
int | frame | ||
) | const [protected, virtual, inherited] |
Definition at line 181 of file Layer.cpp.
References View::alignFromReference(), and Layer::getModel().
Referenced by TextLayer::paste(), ImageLayer::paste(), TimeInstantLayer::paste(), paste(), TimeValueLayer::paste(), RegionLayer::paste(), and FlexiNoteLayer::paste().
bool Layer::clipboardHasDifferentAlignment | ( | View * | v, |
const Clipboard & | clip | ||
) | const [protected, inherited] |
Definition at line 193 of file Layer.cpp.
References Layer::alignToReference().
Referenced by TextLayer::paste(), ImageLayer::paste(), TimeInstantLayer::paste(), paste(), TimeValueLayer::paste(), RegionLayer::paste(), and FlexiNoteLayer::paste().
void Layer::addMeasureRectToSet | ( | const MeasureRect & | r | ) | [inline, protected, inherited] |
Definition at line 588 of file Layer.h.
References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.
Referenced by Layer::addMeasurementRect().
void Layer::deleteMeasureRectFromSet | ( | const MeasureRect & | r | ) | [inline, protected, inherited] |
Definition at line 593 of file Layer.h.
References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.
void Layer::updateMeasurePixrects | ( | View * | v | ) | const [protected, inherited] |
Definition at line 471 of file Layer.cpp.
References View::getEndFrame(), View::getStartFrame(), View::getXForFrame(), Layer::m_measureRects, and Layer::updateMeasureRectYCoords().
Referenced by Layer::nearestMeasurementRectChanged(), and Layer::paintMeasurementRects().
void Layer::updateMeasureRectYCoords | ( | View * | v, |
const MeasureRect & | r | ||
) | const [protected, virtual, inherited] |
Reimplemented in SpectrogramLayer.
Definition at line 510 of file Layer.cpp.
References Layer::MeasureRect::endY, Layer::MeasureRect::pixrect, and Layer::MeasureRect::startY.
Referenced by Layer::updateMeasurePixrects().
void Layer::setMeasureRectYCoord | ( | View * | v, |
MeasureRect & | r, | ||
bool | start, | ||
int | y | ||
) | const [protected, virtual, inherited] |
Reimplemented in SpectrogramLayer.
Definition at line 518 of file Layer.cpp.
References Layer::MeasureRect::endY, and Layer::MeasureRect::startY.
Referenced by Layer::setMeasureRectFromPixrect().
void Layer::setMeasureRectFromPixrect | ( | View * | v, |
MeasureRect & | r, | ||
QRect | pixrect | ||
) | const [protected, virtual, inherited] |
Definition at line 529 of file Layer.cpp.
References Layer::MeasureRect::endFrame, View::getFrameForX(), Layer::hasTimeXAxis(), Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, Layer::setMeasureRectYCoord(), and Layer::MeasureRect::startFrame.
Referenced by SpectrogramLayer::measureDoubleClick(), Layer::measureDrag(), and Layer::measureStart().
Layer::MeasureRectSet::const_iterator Layer::findFocusedMeasureRect | ( | QPoint | focusPoint | ) | const [protected, inherited] |
Definition at line 542 of file Layer.cpp.
References Layer::m_measureRects.
Referenced by Layer::deleteCurrentMeasureRect(), Layer::nearestMeasurementRectChanged(), and Layer::paintMeasurementRects().
void Layer::paintMeasurementRect | ( | View * | v, |
QPainter & | paint, | ||
const MeasureRect & | r, | ||
bool | focus | ||
) | const [protected, inherited] |
Definition at line 569 of file Layer.cpp.
References View::drawMeasurementRect(), Layer::MeasureRect::endFrame, View::getEndFrame(), View::getStartFrame(), View::getXForFrame(), Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, and Layer::MeasureRect::startFrame.
Referenced by Layer::paintMeasurementRects().
NoteModel* NoteLayer::m_model [protected] |
Definition at line 149 of file NoteLayer.h.
Referenced by addNoteOff(), copy(), deleteSelection(), drawDrag(), drawEnd(), drawStart(), editDrag(), editEnd(), editOpen(), editStart(), eraseEnd(), eraseStart(), getCompletion(), getCurrentVerticalZoomStep(), getDisplayExtents(), getFeatureDescription(), getLocalPoints(), getModel(), getNewVerticalZoomRangeMapper(), getPointToDrag(), getPropertyRangeAndValue(), getScaleExtents(), getScaleUnits(), getValueExtents(), getVerticalScaleWidth(), getVerticalZoomSteps(), moveSelection(), paint(), paintVerticalScale(), paste(), resizeSelection(), setDisplayExtents(), setModel(), setProperty(), setVerticalZoomStep(), shouldAutoAlign(), and snapToFeatureFrame().
bool NoteLayer::m_editing [protected] |
Definition at line 150 of file NoteLayer.h.
Referenced by drawDrag(), drawEnd(), drawStart(), editDrag(), editEnd(), editStart(), eraseEnd(), and eraseStart().
int NoteLayer::m_dragPointX [protected] |
Definition at line 151 of file NoteLayer.h.
Referenced by editDrag(), and editStart().
int NoteLayer::m_dragPointY [protected] |
Definition at line 152 of file NoteLayer.h.
Referenced by editDrag(), and editStart().
int NoteLayer::m_dragStartX [protected] |
Definition at line 153 of file NoteLayer.h.
Referenced by editDrag(), and editStart().
int NoteLayer::m_dragStartY [protected] |
Definition at line 154 of file NoteLayer.h.
Referenced by editDrag(), and editStart().
NoteModel::Point NoteLayer::m_originalPoint [protected] |
Definition at line 155 of file NoteLayer.h.
Referenced by drawStart(), editEnd(), and editStart().
NoteModel::Point NoteLayer::m_editingPoint [protected] |
Definition at line 156 of file NoteLayer.h.
Referenced by drawDrag(), drawStart(), editDrag(), editEnd(), editStart(), eraseEnd(), and eraseStart().
NoteModel::EditCommand* NoteLayer::m_editingCommand [protected] |
Definition at line 157 of file NoteLayer.h.
Referenced by drawDrag(), drawEnd(), drawStart(), editDrag(), editEnd(), editStart(), eraseEnd(), and eraseStart().
VerticalScale NoteLayer::m_verticalScale [protected] |
Definition at line 158 of file NoteLayer.h.
Referenced by getDisplayExtents(), getPropertyRangeAndValue(), getScaleExtents(), getValueExtents(), getVerticalScale(), getVerticalScaleWidth(), setVerticalScale(), shouldAutoAlign(), and toXml().
NoteSet NoteLayer::m_pendingNoteOns [protected] |
Definition at line 161 of file NoteLayer.h.
Referenced by abandonNoteOns(), addNoteOff(), and addNoteOn().
float NoteLayer::m_scaleMinimum [mutable, protected] |
Definition at line 163 of file NoteLayer.h.
Referenced by getDisplayExtents(), setDisplayExtents(), setModel(), and toXml().
float NoteLayer::m_scaleMaximum [mutable, protected] |
Definition at line 164 of file NoteLayer.h.
Referenced by getDisplayExtents(), setDisplayExtents(), setModel(), and toXml().
SingleColourLayer::ColourRefCount SingleColourLayer::m_colourRefCount [static, protected, inherited] |
Definition at line 90 of file SingleColourLayer.h.
Referenced by SingleColourLayer::refColor(), SingleColourLayer::setDefaultColourFor(), and SingleColourLayer::unrefColor().
int SingleColourLayer::m_colour [protected, inherited] |
Definition at line 92 of file SingleColourLayer.h.
Referenced by SingleColourLayer::getBaseColour(), SingleColourLayer::getBaseQColor(), SingleColourLayer::getLayerPresentationPixmap(), SingleColourLayer::getPropertyRangeAndValue(), SingleColourLayer::hasLightBackground(), SingleColourLayer::refColor(), SingleColourLayer::setBaseColour(), SingleColourLayer::setDefaultColourFor(), SingleColourLayer::setProperties(), SingleColourLayer::toXml(), WaveformLayer::toXml(), and SingleColourLayer::unrefColor().
bool SingleColourLayer::m_colourExplicitlySet [protected, inherited] |
Definition at line 93 of file SingleColourLayer.h.
Referenced by SingleColourLayer::setBaseColour(), SingleColourLayer::setDefaultColourFor(), and SingleColourLayer::setProperties().
bool SingleColourLayer::m_defaultColourSet [protected, inherited] |
Definition at line 94 of file SingleColourLayer.h.
Referenced by SingleColourLayer::setDefaultColourFor().
MeasureRectSet Layer::m_measureRects [protected, inherited] |
Definition at line 599 of file Layer.h.
Referenced by Layer::addMeasureRectToSet(), Layer::deleteCurrentMeasureRect(), Layer::deleteMeasureRectFromSet(), Layer::findFocusedMeasureRect(), Layer::paintMeasurementRects(), Layer::toXml(), and Layer::updateMeasurePixrects().
MeasureRect Layer::m_draggingRect [protected, inherited] |
Definition at line 600 of file Layer.h.
Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().
bool Layer::m_haveDraggingRect [protected, inherited] |
Definition at line 601 of file Layer.h.
Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().
bool Layer::m_haveCurrentMeasureRect [mutable, protected, inherited] |
Definition at line 602 of file Layer.h.
Referenced by Layer::deleteCurrentMeasureRect(), Layer::haveCurrentMeasureRect(), and Layer::paintMeasurementRects().
QPoint Layer::m_currentMeasureRectPoint [mutable, protected, inherited] |
Definition at line 603 of file Layer.h.
Referenced by Layer::deleteCurrentMeasureRect(), and Layer::paintMeasurementRects().
QString Layer::m_presentationName [protected, inherited] |
Definition at line 620 of file Layer.h.
Referenced by Layer::getLayerPresentationName(), Layer::getPropertyContainerName(), Layer::setPresentationName(), Layer::toBriefXml(), and Layer::toXml().