Mercurial > hg > svgui
view widgets/Panner.h @ 26:94381052a6c9
* Add natty segmentation display to time-value layer. Need to do the same
for time-instants layer.
* Make sure dense 3D model bin names are saved and restored properly.
* Fix to chromagram normalization
author | Chris Cannam |
---|---|
date | Thu, 02 Feb 2006 17:31:08 +0000 |
parents | 4d5d9aba406b |
children | 38fe0ea9e46e |
line wrap: on
line source
/* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ /* A waveform viewer and audio annotation editor. Chris Cannam, Queen Mary University of London, 2005-2006 This is experimental software. Not for distribution. */ #ifndef _PAN_WIDGET_H_ #define _PAN_WIDGET_H_ #include "base/View.h" #include <QPoint> class QWidget; class QPaintEvent; class Layer; class View; #include <map> class Panner : public View { Q_OBJECT public: Panner(QWidget *parent = 0); void registerView(View *widget); void unregisterView(View *widget); virtual QString getPropertyContainerIconName() const { return "panner"; } public slots: virtual void modelChanged(size_t startFrame, size_t endFrame); virtual void modelReplaced(); virtual void viewManagerCentreFrameChanged(void *, unsigned long, bool); virtual void viewManagerZoomLevelChanged(void *, unsigned long, bool); virtual void viewManagerPlaybackFrameChanged(unsigned long); protected: virtual void paintEvent(QPaintEvent *e); virtual void mousePressEvent(QMouseEvent *e); virtual void mouseReleaseEvent(QMouseEvent *e); virtual void mouseMoveEvent(QMouseEvent *e); virtual bool shouldLabelSelections() const { return false; } QPoint m_clickPos; QPoint m_mousePos; bool m_clickedInRange; size_t m_dragCentreFrame; typedef std::pair<size_t, int> WidgetRec; // centre, zoom (-1 = invalid) typedef std::map<void *, WidgetRec> WidgetMap; WidgetMap m_widgets; }; #endif