annotate widgets/TransformFinder.h @ 1534:bfd8b22fd67c

Fix #1904 Scrolling colour 3d plot does not always work when in View normalisation mode. We shouldn't imagine we've just invalidated the cache if the truth is that we've only just created the renderer
author Chris Cannam
date Wed, 09 Oct 2019 13:45:17 +0100
parents 05d614f6e46d
children
rev   line source
Chris@416 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@416 2
Chris@416 3 /*
Chris@416 4 Sonic Visualiser
Chris@416 5 An audio file viewer and annotation editor.
Chris@416 6 Centre for Digital Music, Queen Mary, University of London.
Chris@416 7 This file copyright 2008 QMUL.
Chris@416 8
Chris@416 9 This program is free software; you can redistribute it and/or
Chris@416 10 modify it under the terms of the GNU General Public License as
Chris@416 11 published by the Free Software Foundation; either version 2 of the
Chris@416 12 License, or (at your option) any later version. See the file
Chris@416 13 COPYING included with this distribution for more information.
Chris@416 14 */
Chris@416 15
Chris@1407 16 #ifndef SV_TRANSFORM_FINDER_H
Chris@1407 17 #define SV_TRANSFORM_FINDER_H
Chris@416 18
Chris@416 19 #include <QDialog>
Chris@416 20
Chris@417 21 #include <vector>
Chris@417 22
Chris@416 23 #include "transform/Transform.h"
Chris@424 24 #include "transform/TransformFactory.h"
Chris@416 25
Chris@421 26 class QVBoxLayout;
Chris@416 27 class QScrollArea;
Chris@417 28 class QLabel;
Chris@419 29 class SelectableLabel;
Chris@417 30 class QWidget;
Chris@424 31 class QTimer;
Chris@419 32
Chris@416 33 class TransformFinder : public QDialog
Chris@416 34 {
Chris@416 35 Q_OBJECT
Chris@416 36
Chris@416 37 public:
Chris@416 38 TransformFinder(QWidget *parent = 0);
Chris@416 39 ~TransformFinder();
Chris@416 40
Chris@416 41 TransformId getTransform() const;
Chris@416 42
Chris@416 43 protected slots:
Chris@416 44 void searchTextChanged(const QString &);
Chris@420 45 void selectedLabelChanged();
Chris@448 46 void labelDoubleClicked();
Chris@424 47 void timeout();
Chris@426 48 void up();
Chris@426 49 void down();
Chris@420 50
Chris@416 51 protected:
Chris@448 52 QLabel *m_infoLabel;
Chris@448 53 QLabel *m_beforeSearchLabel;
Chris@448 54 QLabel *m_noResultsLabel;
Chris@448 55
Chris@416 56 QScrollArea *m_resultsScroll;
Chris@417 57 QWidget *m_resultsFrame;
Chris@421 58 QVBoxLayout *m_resultsLayout;
Chris@419 59 std::vector<SelectableLabel *> m_labels;
Chris@420 60 TransformId m_selectedTransform;
Chris@424 61 QTimer *m_timer;
Chris@424 62
Chris@450 63 void setupBeforeSearchLabel();
Chris@450 64
Chris@424 65 QString m_newSearchText;
Chris@431 66 typedef std::vector<TextMatcher::Match> SortedResults;
Chris@424 67 SortedResults m_sortedResults;
Chris@424 68 int m_upToDateCount;
Chris@416 69 };
Chris@416 70
Chris@416 71 #endif
Chris@416 72