Mercurial > hg > svgui
annotate view/Overview.h @ 552:2e8194a30f40 sv-v1.7.1
* Layer data editor window: fix sorting for columns in region model,
add Find feature
* RDF import: assign names to layers based on event types, if no suitable
labels are found in the RDF
* Add label to status bar showing the last text that was passed in current
layer (so e.g. counting 1, 2, 3, 4 if that's what beats are labelled)
* Better layout of text labels for region layers in segmentation mode when
they are close together
* Give text layer the same method for finding "nearest point" as region and
note layers, should improve its editability
author | Chris Cannam |
---|---|
date | Thu, 22 Oct 2009 15:54:21 +0000 |
parents | b9380f679f70 |
children | 4c8ca536b54f |
rev | line source |
---|---|
Chris@173 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@173 | 2 |
Chris@173 | 3 /* |
Chris@173 | 4 Sonic Visualiser |
Chris@173 | 5 An audio file viewer and annotation editor. |
Chris@173 | 6 Centre for Digital Music, Queen Mary, University of London. |
Chris@182 | 7 This file copyright 2006 Chris Cannam and QMUL. |
Chris@173 | 8 |
Chris@173 | 9 This program is free software; you can redistribute it and/or |
Chris@173 | 10 modify it under the terms of the GNU General Public License as |
Chris@173 | 11 published by the Free Software Foundation; either version 2 of the |
Chris@173 | 12 License, or (at your option) any later version. See the file |
Chris@173 | 13 COPYING included with this distribution for more information. |
Chris@173 | 14 */ |
Chris@173 | 15 |
Chris@173 | 16 #ifndef _OVERVIEW_H_ |
Chris@173 | 17 #define _OVERVIEW_H_ |
Chris@173 | 18 |
Chris@173 | 19 #include "View.h" |
Chris@173 | 20 |
Chris@173 | 21 #include <QPoint> |
Chris@274 | 22 #include <QTime> |
Chris@173 | 23 |
Chris@173 | 24 class QWidget; |
Chris@173 | 25 class QPaintEvent; |
Chris@173 | 26 class Layer; |
Chris@173 | 27 class View; |
Chris@173 | 28 |
Chris@173 | 29 #include <map> |
Chris@173 | 30 |
Chris@173 | 31 class Overview : public View |
Chris@173 | 32 { |
Chris@173 | 33 Q_OBJECT |
Chris@173 | 34 |
Chris@173 | 35 public: |
Chris@173 | 36 Overview(QWidget *parent = 0); |
Chris@173 | 37 |
Chris@211 | 38 void registerView(View *view); |
Chris@211 | 39 void unregisterView(View *view); |
Chris@173 | 40 |
Chris@173 | 41 virtual QString getPropertyContainerIconName() const { return "panner"; } |
Chris@173 | 42 |
Chris@173 | 43 public slots: |
Chris@173 | 44 virtual void modelChanged(size_t startFrame, size_t endFrame); |
Chris@173 | 45 virtual void modelReplaced(); |
Chris@173 | 46 |
Chris@211 | 47 virtual void globalCentreFrameChanged(unsigned long); |
Chris@211 | 48 virtual void viewCentreFrameChanged(View *, unsigned long); |
Chris@222 | 49 virtual void viewZoomLevelChanged(View *, unsigned long, bool); |
Chris@173 | 50 virtual void viewManagerPlaybackFrameChanged(unsigned long); |
Chris@173 | 51 |
Chris@173 | 52 protected: |
Chris@173 | 53 virtual void paintEvent(QPaintEvent *e); |
Chris@173 | 54 virtual void mousePressEvent(QMouseEvent *e); |
Chris@173 | 55 virtual void mouseReleaseEvent(QMouseEvent *e); |
Chris@173 | 56 virtual void mouseMoveEvent(QMouseEvent *e); |
Chris@189 | 57 virtual void mouseDoubleClickEvent(QMouseEvent *e); |
Chris@189 | 58 virtual void enterEvent(QEvent *); |
Chris@189 | 59 virtual void leaveEvent(QEvent *); |
Chris@173 | 60 virtual bool shouldLabelSelections() const { return false; } |
Chris@173 | 61 |
Chris@173 | 62 QPoint m_clickPos; |
Chris@173 | 63 QPoint m_mousePos; |
Chris@173 | 64 bool m_clickedInRange; |
Chris@173 | 65 size_t m_dragCentreFrame; |
Chris@274 | 66 QTime m_modelTestTime; |
Chris@173 | 67 |
Chris@211 | 68 typedef std::set<View *> ViewSet; |
Chris@211 | 69 ViewSet m_views; |
Chris@173 | 70 }; |
Chris@173 | 71 |
Chris@173 | 72 #endif |
Chris@173 | 73 |