svgui  1.9
View Class Referenceabstract

View is the base class of widgets that display one or more overlaid views of data against a horizontal time scale. More...

#include <View.h>

Inheritance diagram for View:
Collaboration diagram for View:

Classes

struct  ProgressBarRec
 

Public Types

enum  TextStyle { BoxedText, OutlinedText, OutlinedItalicText }
 
typedef PropertyContainer::PropertyName PropertyName
 
typedef std::set< Model * > ModelSet
 

Public Slots

virtual void modelChanged ()
 
virtual void modelChangedWithin (int startFrame, int endFrame)
 
virtual void modelCompletionChanged ()
 
virtual void modelAlignmentCompletionChanged ()
 
virtual void modelReplaced ()
 
virtual void layerParametersChanged ()
 
virtual void layerParameterRangesChanged ()
 
virtual void layerMeasurementRectsChanged ()
 
virtual void layerNameChanged ()
 
virtual void globalCentreFrameChanged (int)
 
virtual void viewCentreFrameChanged (View *, int)
 
virtual void viewManagerPlaybackFrameChanged (int)
 
virtual void viewZoomLevelChanged (View *, int, bool)
 
virtual void propertyContainerSelected (View *, PropertyContainer *pc)
 
virtual void selectionChanged ()
 
virtual void toolModeChanged ()
 
virtual void overlayModeChanged ()
 
virtual void zoomWheelsEnabledChanged ()
 
virtual void cancelClicked ()
 
virtual void progressCheckStalledTimerElapsed ()
 

Signals

void propertyContainerAdded (PropertyContainer *pc)
 
void propertyContainerRemoved (PropertyContainer *pc)
 
void propertyContainerPropertyChanged (PropertyContainer *pc)
 
void propertyContainerPropertyRangeChanged (PropertyContainer *pc)
 
void propertyContainerNameChanged (PropertyContainer *pc)
 
void propertyContainerSelected (PropertyContainer *pc)
 
void propertyChanged (PropertyContainer::PropertyName)
 
void layerModelChanged ()
 
void centreFrameChanged (int frame, bool globalScroll, PlaybackFollowMode followMode)
 
void zoomLevelChanged (int, bool)
 
void contextHelpChanged (const QString &)
 

Public Member Functions

virtual ~View ()
 Deleting a View does not delete any of its layers. More...
 
int getStartFrame () const
 Retrieve the first visible sample frame on the widget. More...
 
void setStartFrame (int)
 Set the widget pan based on the given first visible frame. More...
 
int getCentreFrame () const
 Return the centre frame of the visible widget. More...
 
void setCentreFrame (int f)
 Set the centre frame of the visible widget. More...
 
int getEndFrame () const
 Retrieve the last visible sample frame on the widget. More...
 
int getXForFrame (int frame) const
 Return the pixel x-coordinate corresponding to a given sample frame (which may be negative). More...
 
int getFrameForX (int x) const
 Return the closest frame to the given pixel x-coordinate. More...
 
float getYForFrequency (float frequency, float minFreq, float maxFreq, bool logarithmic) const
 Return the pixel y-coordinate corresponding to a given frequency, if the frequency range is as specified. More...
 
float getFrequencyForY (int y, float minFreq, float maxFreq, bool logarithmic) const
 Return the closest frequency to the given pixel y-coordinate, if the frequency range is as specified. More...
 
int getZoomLevel () const
 Return the zoom level, i.e. More...
 
virtual void setZoomLevel (int z)
 Set the zoom level, i.e. More...
 
virtual void zoom (bool in)
 Zoom in or out. More...
 
virtual void scroll (bool right, bool lots, bool doEmit=true)
 Scroll left or right by a smallish or largish amount. More...
 
virtual void addLayer (Layer *v)
 Add a layer to the view. More...
 
virtual void removeLayer (Layer *v)
 Remove a layer from the view. More...
 
virtual int getLayerCount () const
 Return the number of layers, regardless of whether visible or dormant, i.e. More...
 
virtual LayergetLayer (int n)
 Return the nth layer, counted in stacking order. More...
 
virtual LayergetFixedOrderLayer (int n)
 Return the nth layer, counted in the order they were added. More...
 
virtual LayergetInteractionLayer ()
 Return the layer currently active for tool interaction. More...
 
virtual const LayergetInteractionLayer () const
 
virtual LayergetSelectedLayer ()
 Return the layer most recently selected by the user. More...
 
virtual const LayergetSelectedLayer () const
 
virtual LayergetTopLayer ()
 Return the "top" layer in the view, whether visible or dormant. More...
 
virtual void setViewManager (ViewManager *m)
 
virtual void setViewManager (ViewManager *m, int initialFrame)
 
virtual ViewManagergetViewManager () const
 
virtual void setFollowGlobalPan (bool f)
 
virtual bool getFollowGlobalPan () const
 
virtual void setFollowGlobalZoom (bool f)
 
virtual bool getFollowGlobalZoom () const
 
virtual bool hasLightBackground () const
 
virtual QColor getForeground () const
 
virtual QColor getBackground () const
 
virtual void drawVisibleText (QPainter &p, int x, int y, QString text, TextStyle style) const
 
virtual void drawMeasurementRect (QPainter &p, const Layer *, QRect rect, bool focus) const
 
virtual bool shouldShowFeatureLabels () const
 
virtual bool shouldIlluminateLocalFeatures (const Layer *, QPoint &) const
 
virtual bool shouldIlluminateLocalSelection (QPoint &, bool &, bool &) const
 
virtual void setPlaybackFollow (PlaybackFollowMode m)
 
virtual PlaybackFollowMode getPlaybackFollow () const
 
virtual PropertyContainer::PropertyList getProperties () const
 
virtual QString getPropertyLabel (const PropertyName &) const
 
virtual PropertyContainer::PropertyType getPropertyType (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)
 
virtual QString getPropertyContainerName () const
 
virtual QString getPropertyContainerIconName () const =0
 
virtual int getPropertyContainerCount () const
 
virtual const PropertyContainer * getPropertyContainer (int i) const
 
virtual PropertyContainer * getPropertyContainer (int i)
 
virtual QImage * toNewImage (int f0, int f1)
 
virtual QImage * toNewImage ()
 
virtual QSize getImageSize (int f0, int f1)
 
virtual QSize getImageSize ()
 
virtual int getTextLabelHeight (const Layer *layer, QPainter &) const
 
virtual bool getValueExtents (QString unit, float &min, float &max, bool &log) const
 
virtual void toXml (QTextStream &stream, QString indent="", QString extraAttributes="") const
 
virtual int getFirstVisibleFrame () const
 
virtual int getLastVisibleFrame () const
 
int getModelsStartFrame () const
 
int getModelsEndFrame () const
 
ModelSet getModels ()
 
Model * getAligningModel () const
 !! More...
 
int alignFromReference (int) const
 
int alignToReference (int) const
 
int getAlignedPlaybackFrame () const
 

Protected Types

typedef std::vector< Layer * > LayerList
 
typedef std::map< Layer *, ProgressBarRecProgressMap
 

Protected Member Functions

 View (QWidget *, bool showProgress)
 
virtual void paintEvent (QPaintEvent *e)
 
virtual void drawSelections (QPainter &)
 
virtual bool shouldLabelSelections () const
 
virtual bool render (QPainter &paint, int x0, int f0, int f1)
 
virtual void setPaintFont (QPainter &paint)
 
int getModelsSampleRate () const
 
bool areLayersScrollable () const
 
LayerList getScrollableBackLayers (bool testChanged, bool &changed) const
 
LayerList getNonScrollableFrontLayers (bool testChanged, bool &changed) const
 
int getZoomConstraintBlockSize (int blockSize, ZoomConstraint::RoundingDirection dir=ZoomConstraint::RoundNearest) const
 
bool areLayerColoursSignificant () const
 
bool hasTopLayerTimeXAxis () const
 
bool setCentreFrame (int f, bool doEmit)
 
void movePlayPointer (int f)
 
void checkProgress (void *object)
 
int getProgressBarWidth () const
 

Protected Attributes

int m_centreFrame
 
int m_zoomLevel
 
bool m_followPan
 
bool m_followZoom
 
PlaybackFollowMode m_followPlay
 
bool m_followPlayIsDetached
 
int m_playPointerFrame
 
bool m_lightBackground
 
bool m_showProgress
 
QPixmap * m_cache
 
int m_cacheCentreFrame
 
int m_cacheZoomLevel
 
bool m_selectionCached
 
bool m_deleting
 
LayerList m_layerStack
 
LayerList m_fixedOrderLayers
 
bool m_haveSelectedLayer
 
QString m_lastError
 
LayerList m_lastScrollableBackLayers
 
LayerList m_lastNonScrollableBackLayers
 
ProgressMap m_progressBars
 
ViewManagerm_manager
 
ViewPropertyContainerm_propertyContainer
 

Detailed Description

View is the base class of widgets that display one or more overlaid views of data against a horizontal time scale.

A View may have any number of attached Layers, each of which is expected to have one data Model (although multiple views may share the same model).

A View may be panned in time and zoomed, although the mechanisms for doing so (as well as any other operations and properties available) depend on the subclass.

Definition at line 50 of file View.h.

Member Typedef Documentation

◆ PropertyName

typedef PropertyContainer::PropertyName View::PropertyName

Definition at line 270 of file View.h.

◆ ModelSet

typedef std::set<Model *> View::ModelSet

Definition at line 317 of file View.h.

◆ LayerList

typedef std::vector<Layer *> View::LayerList
protected

Definition at line 380 of file View.h.

◆ ProgressMap

typedef std::map<Layer *, ProgressBarRec> View::ProgressMap
protected

Definition at line 441 of file View.h.

Member Enumeration Documentation

◆ TextStyle

Enumerator
BoxedText 
OutlinedText 
OutlinedItalicText 

Definition at line 245 of file View.h.

Constructor & Destructor Documentation

◆ ~View()

View::~View ( )
virtual

Deleting a View does not delete any of its layers.

They should be managed elsewhere (e.g. by the Document).

Definition at line 73 of file View.cpp.

References m_deleting, and m_propertyContainer.

◆ View()

View::View ( QWidget *  w,
bool  showProgress 
)
protected

Definition at line 51 of file View.cpp.

Member Function Documentation

◆ getStartFrame()

◆ setStartFrame()

void View::setStartFrame ( int  f)

Set the widget pan based on the given first visible frame.

The frame value may be negative.

Definition at line 314 of file View.cpp.

References m_zoomLevel, and setCentreFrame().

Referenced by Pane::zoomToRegion().

◆ getCentreFrame()

int View::getCentreFrame ( ) const
inline

Return the centre frame of the visible widget.

This is an exact value that does not depend on the zoom block size. Other frame values (start, end) are calculated from this based on the zoom and other factors.

Definition at line 81 of file View.h.

References m_centreFrame.

Referenced by SliceLayer::paint(), SpectrumLayer::paint(), and paintEvent().

◆ setCentreFrame() [1/2]

void View::setCentreFrame ( int  f)
inline

◆ getEndFrame()

◆ getXForFrame()

int View::getXForFrame ( int  frame) const

Return the pixel x-coordinate corresponding to a given sample frame (which may be negative).

Definition at line 357 of file View.cpp.

References getStartFrame(), and m_zoomLevel.

Referenced by Pane::dragTopLayer(), Pane::drawEditingSelection(), Pane::drawModelTimeExtents(), drawSelections(), Pane::editSelectionEnd(), NoteLayer::editStart(), FlexiNoteLayer::editStart(), RegionLayer::editStart(), TextLayer::getFeatureDescription(), TimeInstantLayer::getFeatureDescription(), NoteLayer::getFeatureDescription(), TimeValueLayer::getFeatureDescription(), FlexiNoteLayer::getFeatureDescription(), RegionLayer::getFeatureDescription(), TextLayer::getLocalPoints(), ImageLayer::getLocalPoints(), TimeInstantLayer::getLocalPoints(), RegionLayer::getLocalPoints(), NoteLayer::getLocalPoints(), TimeValueLayer::getLocalPoints(), FlexiNoteLayer::getLocalPoints(), TextLayer::getPointToDrag(), FlexiNoteLayer::getRelativeMousePosition(), Pane::getSelectionAt(), SpectrogramLayer::illuminateLocalFeatures(), SpectrogramLayer::invalidateImageCaches(), movePlayPointer(), TextLayer::paint(), TimeRulerLayer::paint(), TimeInstantLayer::paint(), NoteLayer::paint(), TimeValueLayer::paint(), ImageLayer::paint(), SliceLayer::paint(), FlexiNoteLayer::paint(), RegionLayer::paint(), Colour3DPlotLayer::paint(), SpectrogramLayer::paint(), Overview::paintEvent(), paintEvent(), Layer::paintMeasurementRect(), TextLayer::snapToFeatureFrame(), TimeInstantLayer::snapToFeatureFrame(), TimeRulerLayer::snapToFeatureFrame(), NoteLayer::snapToFeatureFrame(), ImageLayer::snapToFeatureFrame(), FlexiNoteLayer::snapToFeatureFrame(), TimeValueLayer::snapToFeatureFrame(), RegionLayer::snapToFeatureFrame(), Layer::updateMeasurePixrects(), and Overview::viewManagerPlaybackFrameChanged().

◆ getFrameForX()

int View::getFrameForX ( int  x) const

Return the closest frame to the given pixel x-coordinate.

Definition at line 363 of file View.cpp.

References m_centreFrame, and m_zoomLevel.

Referenced by FlexiNoteLayer::addNote(), Pane::dragExtendSelection(), Pane::dragTopLayer(), TextLayer::drawDrag(), TimeInstantLayer::drawDrag(), NoteLayer::drawDrag(), ImageLayer::drawDrag(), FlexiNoteLayer::drawDrag(), TimeValueLayer::drawDrag(), RegionLayer::drawDrag(), Pane::drawEditingSelection(), drawSelections(), TextLayer::drawStart(), TimeInstantLayer::drawStart(), NoteLayer::drawStart(), ImageLayer::drawStart(), FlexiNoteLayer::drawStart(), TimeValueLayer::drawStart(), RegionLayer::drawStart(), Pane::edgeScrollMaybe(), TextLayer::editDrag(), ImageLayer::editDrag(), TimeInstantLayer::editDrag(), NoteLayer::editDrag(), FlexiNoteLayer::editDrag(), TimeValueLayer::editDrag(), RegionLayer::editDrag(), Pane::editSelectionEnd(), getEndFrame(), Colour3DPlotLayer::getFeatureDescription(), Pane::getFirstVisibleFrame(), TextLayer::getLocalPoints(), TimeInstantLayer::getLocalPoints(), RegionLayer::getLocalPoints(), NoteLayer::getLocalPoints(), TimeValueLayer::getLocalPoints(), FlexiNoteLayer::getLocalPoints(), FlexiNoteLayer::getNoteToEdit(), TextLayer::getPointToDrag(), RegionLayer::getPointToDrag(), NoteLayer::getPointToDrag(), FlexiNoteLayer::getPointToDrag(), Pane::getSelectionAt(), WaveformLayer::getSourceFramesForX(), getStartFrame(), SpectrogramLayer::getXBinRange(), Layer::getXScaleValue(), Overview::mouseDoubleClickEvent(), Pane::mouseDoubleClickEvent(), Overview::mousePressEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), movePlayPointer(), TextLayer::paint(), TimeRulerLayer::paint(), TimeInstantLayer::paint(), NoteLayer::paint(), TimeValueLayer::paint(), ImageLayer::paint(), FlexiNoteLayer::paint(), SliceLayer::paint(), RegionLayer::paint(), Colour3DPlotLayer::paint(), SpectrogramLayer::paint(), SpectrogramLayer::paintCrosshairs(), Colour3DPlotLayer::paintDense(), Overview::paintEvent(), Pane::selectionIsBeingEdited(), Layer::setMeasureRectFromPixrect(), FlexiNoteLayer::splitEnd(), and Pane::zoomToRegion().

◆ getYForFrequency()

float View::getYForFrequency ( float  frequency,
float  minFreq,
float  maxFreq,
bool  logarithmic 
) const

Return the pixel y-coordinate corresponding to a given frequency, if the frequency range is as specified.

This does not imply any policy about layer frequency ranges, but it might be useful for layers to match theirs up if desired.

Not thread-safe in logarithmic mode. Call only from GUI thread.

Definition at line 377 of file View.cpp.

Referenced by SpectrogramLayer::getYForFrequency(), SpectrogramLayer::paintDrawBufferPeakFrequencies(), and PianoScale::paintPianoVertical().

◆ getFrequencyForY()

float View::getFrequencyForY ( int  y,
float  minFreq,
float  maxFreq,
bool  logarithmic 
) const

Return the closest frequency to the given pixel y-coordinate, if the frequency range is as specified.

Not thread-safe in logarithmic mode. Call only from GUI thread.

Definition at line 411 of file View.cpp.

Referenced by SpectrogramLayer::getFrequencyForY(), SpectrogramLayer::getSmoothedYBinRange(), and SpectrogramLayer::getYBinRange().

◆ getZoomLevel()

◆ setZoomLevel()

void View::setZoomLevel ( int  z)
virtual

Set the zoom level, i.e.

the number of frames per pixel. The centre frame will be unchanged; the start and end frames will change.

Definition at line 452 of file View.cpp.

References m_followZoom, m_zoomLevel, and zoomLevelChanged().

Referenced by Pane::horizontalThumbwheelMoved(), setViewManager(), viewZoomLevelChanged(), Pane::wheelVertical(), zoom(), and Pane::zoomToRegion().

◆ zoom()

void View::zoom ( bool  in)
virtual

Zoom in or out.

Definition at line 1475 of file View.cpp.

References getZoomConstraintBlockSize(), m_zoomLevel, and setZoomLevel().

◆ scroll()

void View::scroll ( bool  right,
bool  lots,
bool  doEmit = true 
)
virtual

Scroll left or right by a smallish or largish amount.

Definition at line 1493 of file View.cpp.

References getEndFrame(), getModelsEndFrame(), getStartFrame(), m_centreFrame, and setCentreFrame().

◆ addLayer()

◆ removeLayer()

void View::removeLayer ( Layer v)
virtual

Remove a layer from the view.

Does not delete the layer. (Normally this should be handled through some command abstraction instead of using this function directly.)

Definition at line 594 of file View.cpp.

References layerNameChanged(), layerParameterRangesChanged(), layerParametersChanged(), m_cache, m_deleting, m_fixedOrderLayers, m_layerStack, m_progressBars, modelAlignmentCompletionChanged(), modelChanged(), modelChangedWithin(), modelCompletionChanged(), modelReplaced(), and propertyContainerRemoved().

◆ getLayerCount()

◆ getLayer()

◆ getFixedOrderLayer()

virtual Layer* View::getFixedOrderLayer ( int  n)
inlinevirtual

Return the nth layer, counted in the order they were added.

Unlike the stacking order used in getLayer(), which changes each time a layer is selected, this ordering remains fixed. The returned layer may be visible or it may be dormant, i.e. invisible.

Definition at line 186 of file View.h.

References m_fixedOrderLayers.

◆ getInteractionLayer() [1/2]

Layer * View::getInteractionLayer ( )
virtual

Return the layer currently active for tool interaction.

This is the topmost non-dormant (i.e. visible) layer in the view. If there are no visible layers in the view, return 0.

Definition at line 650 of file View.cpp.

References getLayer(), getLayerCount(), getSelectedLayer(), Layer::isLayerDormant(), and m_layerStack.

Referenced by Pane::dragExtendSelection(), Pane::editSelectionEnd(), getInteractionLayer(), Pane::mouseDoubleClickEvent(), Pane::mouseMoveEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), Pane::shouldIlluminateLocalFeatures(), Pane::shouldIlluminateLocalSelection(), and Pane::updateContextHelp().

◆ getInteractionLayer() [2/2]

const Layer * View::getInteractionLayer ( ) const
virtual

Definition at line 670 of file View.cpp.

References getInteractionLayer().

◆ getSelectedLayer() [1/2]

Layer * View::getSelectedLayer ( )
virtual

Return the layer most recently selected by the user.

This is the layer that any non-tool-driven commands should operate on, in the case where this view is the "current" one.

If the user has selected the view itself more recently than any of the layers on it, this function will return 0, and any non-tool-driven layer commands should be deactivated while this view is current. It will also return 0 if there are no layers in the view.

Note that, unlike getInteractionLayer(), this could return an invisible (dormant) layer.

Definition at line 676 of file View.cpp.

References getLayer(), getLayerCount(), m_haveSelectedLayer, and m_layerStack.

Referenced by getInteractionLayer(), and getSelectedLayer().

◆ getSelectedLayer() [2/2]

const Layer * View::getSelectedLayer ( ) const
virtual

Definition at line 686 of file View.cpp.

References getSelectedLayer().

◆ getTopLayer()

virtual Layer* View::getTopLayer ( )
inlinevirtual

Return the "top" layer in the view, whether visible or dormant.

This is the same as getLayer(getLayerCount()-1) if there is at least one layer, and 0 otherwise.

For most purposes involving interaction or commands, you probably want either getInteractionLayer() or getSelectedLayer() instead.

Definition at line 227 of file View.h.

References m_layerStack.

Referenced by Pane::getImageSize(), Pane::getTopLayerDisplayExtents(), Pane::mouseDoubleClickEvent(), Pane::mouseMoveEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), Pane::paintEvent(), Pane::render(), Pane::setTopLayerDisplayExtents(), and Pane::toNewImage().

◆ setViewManager() [1/2]

◆ setViewManager() [2/2]

void View::setViewManager ( ViewManager m,
int  initialFrame 
)
virtual

Definition at line 766 of file View.cpp.

References setCentreFrame(), and setViewManager().

◆ getViewManager()

◆ setFollowGlobalPan()

void View::setFollowGlobalPan ( bool  f)
virtual

Definition at line 773 of file View.cpp.

References m_followPan, m_propertyContainer, and propertyContainerPropertyChanged().

Referenced by setProperty().

◆ getFollowGlobalPan()

virtual bool View::getFollowGlobalPan ( ) const
inlinevirtual

Definition at line 236 of file View.h.

References m_followPan.

◆ setFollowGlobalZoom()

void View::setFollowGlobalZoom ( bool  f)
virtual

Definition at line 780 of file View.cpp.

References m_followZoom, m_propertyContainer, and propertyContainerPropertyChanged().

Referenced by setProperty().

◆ getFollowGlobalZoom()

virtual bool View::getFollowGlobalZoom ( ) const
inlinevirtual

Definition at line 239 of file View.h.

References m_followZoom.

◆ hasLightBackground()

◆ getForeground()

◆ getBackground()

◆ drawVisibleText()

◆ drawMeasurementRect()

void View::drawMeasurementRect ( QPainter &  p,
const Layer topLayer,
QRect  rect,
bool  focus 
) const
virtual

◆ shouldShowFeatureLabels()

virtual bool View::shouldShowFeatureLabels ( ) const
inlinevirtual

Definition at line 257 of file View.h.

References m_manager, and ViewManager::shouldShowFeatureLabels().

Referenced by TimeValueLayer::paint().

◆ shouldIlluminateLocalFeatures()

◆ shouldIlluminateLocalSelection()

virtual bool View::shouldIlluminateLocalSelection ( QPoint &  ,
bool &  ,
bool &   
) const
inlinevirtual

Reimplemented in Pane.

Definition at line 263 of file View.h.

Referenced by drawSelections(), and paintEvent().

◆ setPlaybackFollow()

void View::setPlaybackFollow ( PlaybackFollowMode  m)
virtual

Definition at line 837 of file View.cpp.

References m_followPlay, m_propertyContainer, and propertyContainerPropertyChanged().

Referenced by Overview::Overview(), and setProperty().

◆ getPlaybackFollow()

virtual PlaybackFollowMode View::getPlaybackFollow ( ) const
inlinevirtual

Definition at line 268 of file View.h.

References m_followPlay.

◆ getProperties()

PropertyContainer::PropertyList View::getProperties ( ) const
virtual

Definition at line 82 of file View.cpp.

Referenced by ViewPropertyContainer::getProperties().

◆ getPropertyLabel()

QString View::getPropertyLabel ( const PropertyName pn) const
virtual

Definition at line 92 of file View.cpp.

Referenced by ViewPropertyContainer::getPropertyLabel().

◆ getPropertyType()

PropertyContainer::PropertyType View::getPropertyType ( const PropertyName name) const
virtual

Definition at line 101 of file View.cpp.

Referenced by ViewPropertyContainer::getPropertyType().

◆ getPropertyRangeAndValue()

int View::getPropertyRangeAndValue ( const PropertyName name,
int *  min,
int *  max,
int *  deflt 
) const
virtual

◆ getPropertyValueLabel()

QString View::getPropertyValueLabel ( const PropertyName name,
int  value 
) const
virtual

Definition at line 133 of file View.cpp.

Referenced by ViewPropertyContainer::getPropertyValueLabel().

◆ setProperty()

void View::setProperty ( const PropertyName name,
int  value 
)
virtual

◆ getPropertyContainerName()

virtual QString View::getPropertyContainerName ( ) const
inlinevirtual

Definition at line 284 of file View.h.

Referenced by ViewPropertyContainer::getPropertyContainerName().

◆ getPropertyContainerIconName()

virtual QString View::getPropertyContainerIconName ( ) const
pure virtual

◆ getPropertyContainerCount()

int View::getPropertyContainerCount ( ) const
virtual

Definition at line 165 of file View.cpp.

References m_fixedOrderLayers.

Referenced by PropertyStack::containsContainer(), and PropertyStack::repopulate().

◆ getPropertyContainer() [1/2]

const PropertyContainer * View::getPropertyContainer ( int  i) const
virtual

◆ getPropertyContainer() [2/2]

PropertyContainer * View::getPropertyContainer ( int  i)
virtual

Definition at line 178 of file View.cpp.

References m_fixedOrderLayers, and m_propertyContainer.

◆ toNewImage() [1/2]

QImage * View::toNewImage ( int  f0,
int  f1 
)
virtual

Reimplemented in Pane.

Definition at line 2450 of file View.cpp.

References getZoomLevel(), and render().

◆ toNewImage() [2/2]

QImage * View::toNewImage ( )
virtual

Reimplemented in Pane.

Definition at line 2441 of file View.cpp.

References getModelsEndFrame(), and getModelsStartFrame().

Referenced by Pane::toNewImage().

◆ getImageSize() [1/2]

QSize View::getImageSize ( int  f0,
int  f1 
)
virtual

Reimplemented in Pane.

Definition at line 2478 of file View.cpp.

References getZoomLevel().

◆ getImageSize() [2/2]

QSize View::getImageSize ( )
virtual

Reimplemented in Pane.

Definition at line 2469 of file View.cpp.

References getModelsEndFrame(), and getModelsStartFrame().

Referenced by Pane::getImageSize().

◆ getTextLabelHeight()

int View::getTextLabelHeight ( const Layer layer,
QPainter &  paint 
) const
virtual

Definition at line 222 of file View.cpp.

References m_layerStack.

Referenced by TimeInstantLayer::paint(), TimeValueLayer::paint(), and RegionLayer::paint().

◆ getValueExtents()

bool View::getValueExtents ( QString  unit,
float &  min,
float &  max,
bool &  log 
) const
virtual

◆ toXml()

void View::toXml ( QTextStream &  stream,
QString  indent = "",
QString  extraAttributes = "" 
) const
virtual

◆ getFirstVisibleFrame()

int View::getFirstVisibleFrame ( ) const
virtual

Reimplemented in Pane.

Definition at line 1172 of file View.cpp.

References getModelsStartFrame(), and getStartFrame().

Referenced by Pane::getFirstVisibleFrame().

◆ getLastVisibleFrame()

int View::getLastVisibleFrame ( ) const
virtual

Definition at line 1181 of file View.cpp.

References getEndFrame(), and getModelsEndFrame().

◆ getModelsStartFrame()

int View::getModelsStartFrame ( ) const

◆ getModelsEndFrame()

◆ getModels()

View::ModelSet View::getModels ( )

Definition at line 1251 of file View.cpp.

References getLayer(), getLayerCount(), and Layer::getModel().

◆ getAligningModel()

◆ alignFromReference()

int View::alignFromReference ( int  f) const

◆ alignToReference()

◆ getAlignedPlaybackFrame()

◆ propertyContainerAdded

void View::propertyContainerAdded ( PropertyContainer *  pc)
signal

Referenced by addLayer().

◆ propertyContainerRemoved

void View::propertyContainerRemoved ( PropertyContainer *  pc)
signal

Referenced by removeLayer().

◆ propertyContainerPropertyChanged

void View::propertyContainerPropertyChanged ( PropertyContainer *  pc)
signal

◆ propertyContainerPropertyRangeChanged

void View::propertyContainerPropertyRangeChanged ( PropertyContainer *  pc)
signal

◆ propertyContainerNameChanged

void View::propertyContainerNameChanged ( PropertyContainer *  pc)
signal

Referenced by layerNameChanged().

◆ propertyContainerSelected [1/2]

void View::propertyContainerSelected ( PropertyContainer *  pc)
signal

◆ propertyChanged

void View::propertyChanged ( PropertyContainer::PropertyName  )
signal

◆ layerModelChanged

void View::layerModelChanged ( )
signal

Referenced by modelChanged().

◆ centreFrameChanged

void View::centreFrameChanged ( int  frame,
bool  globalScroll,
PlaybackFollowMode  followMode 
)
signal

◆ zoomLevelChanged

void View::zoomLevelChanged ( int  ,
bool   
)
signal

◆ contextHelpChanged

◆ modelChanged

void View::modelChanged ( )
virtualslot

Definition at line 844 of file View.cpp.

References checkProgress(), getScrollableBackLayers(), layerModelChanged(), and m_cache.

Referenced by addLayer(), and removeLayer().

◆ modelChangedWithin

void View::modelChangedWithin ( int  startFrame,
int  endFrame 
)
virtualslot

◆ modelCompletionChanged

void View::modelCompletionChanged ( )
virtualslot

Definition at line 929 of file View.cpp.

References checkProgress().

Referenced by addLayer(), and removeLayer().

◆ modelAlignmentCompletionChanged

void View::modelAlignmentCompletionChanged ( )
virtualslot

Definition at line 938 of file View.cpp.

References checkProgress().

Referenced by addLayer(), Pane::modelAlignmentCompletionChanged(), and removeLayer().

◆ modelReplaced

void View::modelReplaced ( )
virtualslot

Definition at line 947 of file View.cpp.

References m_cache.

Referenced by addLayer(), Overview::modelReplaced(), and removeLayer().

◆ layerParametersChanged

void View::layerParametersChanged ( )
virtualslot

Definition at line 959 of file View.cpp.

References m_cache, and propertyContainerPropertyChanged().

Referenced by addLayer(), Pane::layerParametersChanged(), and removeLayer().

◆ layerParameterRangesChanged

void View::layerParameterRangesChanged ( )
virtualslot

Definition at line 977 of file View.cpp.

References propertyContainerPropertyRangeChanged().

Referenced by addLayer(), and removeLayer().

◆ layerMeasurementRectsChanged

void View::layerMeasurementRectsChanged ( )
virtualslot

Definition at line 984 of file View.cpp.

Referenced by addLayer().

◆ layerNameChanged

void View::layerNameChanged ( )
virtualslot

Definition at line 991 of file View.cpp.

References propertyContainerNameChanged().

Referenced by addLayer(), and removeLayer().

◆ globalCentreFrameChanged

void View::globalCentreFrameChanged ( int  rf)
virtualslot

Definition at line 998 of file View.cpp.

References alignFromReference(), m_followPan, and setCentreFrame().

Referenced by setViewManager().

◆ viewCentreFrameChanged

void View::viewCentreFrameChanged ( View ,
int   
)
virtualslot

Definition at line 1011 of file View.cpp.

Referenced by setViewManager().

◆ viewManagerPlaybackFrameChanged

void View::viewManagerPlaybackFrameChanged ( int  f)
virtualslot

Definition at line 1017 of file View.cpp.

References getAlignedPlaybackFrame(), m_manager, and movePlayPointer().

Referenced by setViewManager().

◆ viewZoomLevelChanged

void View::viewZoomLevelChanged ( View p,
int  z,
bool  locked 
)
virtualslot

Definition at line 1150 of file View.cpp.

References m_followZoom, and setZoomLevel().

Referenced by setViewManager(), and Pane::viewZoomLevelChanged().

◆ propertyContainerSelected [2/2]

void View::propertyContainerSelected ( View client,
PropertyContainer *  pc 
)
virtualslot

◆ selectionChanged

void View::selectionChanged ( )
virtualslot

Definition at line 1161 of file View.cpp.

References m_cache, and m_selectionCached.

Referenced by setViewManager().

◆ toolModeChanged

void View::toolModeChanged ( )
virtualslot

Definition at line 282 of file View.cpp.

Referenced by setViewManager().

◆ overlayModeChanged

void View::overlayModeChanged ( )
virtualslot

Definition at line 288 of file View.cpp.

References m_cache.

Referenced by setViewManager().

◆ zoomWheelsEnabledChanged

void View::zoomWheelsEnabledChanged ( )
virtualslot

Definition at line 296 of file View.cpp.

Referenced by setViewManager().

◆ cancelClicked

void View::cancelClicked ( )
virtualslot

Definition at line 1513 of file View.cpp.

References Layer::getModel(), and m_progressBars.

Referenced by addLayer().

◆ progressCheckStalledTimerElapsed

void View::progressCheckStalledTimerElapsed ( )
virtualslot

Definition at line 1622 of file View.cpp.

References m_progressBars.

Referenced by addLayer().

◆ paintEvent()

void View::paintEvent ( QPaintEvent *  e)
protectedvirtual

◆ drawSelections()

◆ shouldLabelSelections()

virtual bool View::shouldLabelSelections ( ) const
inlineprotectedvirtual

Reimplemented in Overview.

Definition at line 376 of file View.h.

Referenced by drawSelections().

◆ render()

bool View::render ( QPainter &  paint,
int  x0,
int  f0,
int  f1 
)
protectedvirtual

Reimplemented in Pane.

Definition at line 2336 of file View.cpp.

References getBackground(), getForeground(), m_centreFrame, m_layerStack, and m_zoomLevel.

Referenced by Pane::render(), and toNewImage().

◆ setPaintFont()

void View::setPaintFont ( QPainter &  paint)
protectedvirtual

Definition at line 1654 of file View.cpp.

Referenced by Pane::paintEvent(), and paintEvent().

◆ getModelsSampleRate()

int View::getModelsSampleRate ( ) const
protected

!! Just go for the first, for now. If we were supporting

!! nah, this wants to always return the sr of the main model!

Definition at line 1234 of file View.cpp.

References m_layerStack.

Referenced by Pane::drawEditingSelection(), drawSelections(), and Pane::paintEvent().

◆ areLayersScrollable()

bool View::areLayersScrollable ( ) const
protected

Definition at line 1346 of file View.cpp.

References m_layerStack.

◆ getScrollableBackLayers()

View::LayerList View::getScrollableBackLayers ( bool  testChanged,
bool &  changed 
) const
protected

Definition at line 1356 of file View.cpp.

References m_lastScrollableBackLayers, and m_layerStack.

Referenced by modelChanged(), modelChangedWithin(), and paintEvent().

◆ getNonScrollableFrontLayers()

View::LayerList View::getNonScrollableFrontLayers ( bool  testChanged,
bool &  changed 
) const
protected

Definition at line 1392 of file View.cpp.

References m_lastNonScrollableBackLayers, and m_layerStack.

Referenced by paintEvent().

◆ getZoomConstraintBlockSize()

int View::getZoomConstraintBlockSize ( int  blockSize,
ZoomConstraint::RoundingDirection  dir = ZoomConstraint::RoundNearest 
) const
protected

◆ areLayerColoursSignificant()

bool View::areLayerColoursSignificant ( ) const
protected

Definition at line 1455 of file View.cpp.

References Layer::ColourHasMeaningfulValue, and m_layerStack.

Referenced by drawSelections().

◆ hasTopLayerTimeXAxis()

bool View::hasTopLayerTimeXAxis ( ) const
protected

◆ setCentreFrame() [2/2]

bool View::setCentreFrame ( int  f,
bool  doEmit 
)
protected

◆ movePlayPointer()

◆ checkProgress()

void View::checkProgress ( void *  object)
protected

◆ getProgressBarWidth()

int View::getProgressBarWidth ( ) const
protected

Definition at line 1641 of file View.cpp.

References m_progressBars.

Referenced by Pane::drawDurationAndRate().

Member Data Documentation

◆ m_centreFrame

◆ m_zoomLevel

◆ m_followPan

◆ m_followZoom

◆ m_followPlay

◆ m_followPlayIsDetached

bool View::m_followPlayIsDetached
protected

Definition at line 413 of file View.h.

Referenced by movePlayPointer().

◆ m_playPointerFrame

int View::m_playPointerFrame
protected

◆ m_lightBackground

bool View::m_lightBackground
protected

Definition at line 415 of file View.h.

◆ m_showProgress

bool View::m_showProgress
protected

Definition at line 416 of file View.h.

Referenced by checkProgress().

◆ m_cache

◆ m_cacheCentreFrame

int View::m_cacheCentreFrame
protected

Definition at line 419 of file View.h.

Referenced by paintEvent().

◆ m_cacheZoomLevel

int View::m_cacheZoomLevel
protected

Definition at line 420 of file View.h.

Referenced by paintEvent().

◆ m_selectionCached

bool View::m_selectionCached
protected

Definition at line 421 of file View.h.

Referenced by paintEvent(), and selectionChanged().

◆ m_deleting

bool View::m_deleting
protected

Definition at line 423 of file View.h.

Referenced by removeLayer(), and ~View().

◆ m_layerStack

◆ m_fixedOrderLayers

LayerList View::m_fixedOrderLayers
protected

◆ m_haveSelectedLayer

bool View::m_haveSelectedLayer
protected

Definition at line 427 of file View.h.

Referenced by getSelectedLayer(), and propertyContainerSelected().

◆ m_lastError

QString View::m_lastError
protected

Definition at line 429 of file View.h.

Referenced by checkProgress().

◆ m_lastScrollableBackLayers

LayerList View::m_lastScrollableBackLayers
mutableprotected

Definition at line 432 of file View.h.

Referenced by getScrollableBackLayers().

◆ m_lastNonScrollableBackLayers

LayerList View::m_lastNonScrollableBackLayers
mutableprotected

Definition at line 433 of file View.h.

Referenced by getNonScrollableFrontLayers().

◆ m_progressBars

ProgressMap View::m_progressBars
protected

◆ m_manager

◆ m_propertyContainer

ViewPropertyContainer* View::m_propertyContainer
protected

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