Mercurial > hg > svgui
annotate widgets/LevelPanToolButton.h @ 929:20698aa6a517 tonioni
Introduce level/pan toolbar buttons
author | Chris Cannam |
---|---|
date | Wed, 25 Mar 2015 10:33:19 +0000 |
parents | |
children | 86df7de08e03 |
rev | line source |
---|---|
Chris@929 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@929 | 2 |
Chris@929 | 3 /* |
Chris@929 | 4 Sonic Visualiser |
Chris@929 | 5 An audio file viewer and annotation editor. |
Chris@929 | 6 Centre for Digital Music, Queen Mary, University of London. |
Chris@929 | 7 |
Chris@929 | 8 This program is free software; you can redistribute it and/or |
Chris@929 | 9 modify it under the terms of the GNU General Public License as |
Chris@929 | 10 published by the Free Software Foundation; either version 2 of the |
Chris@929 | 11 License, or (at your option) any later version. See the file |
Chris@929 | 12 COPYING included with this distribution for more information. |
Chris@929 | 13 */ |
Chris@929 | 14 |
Chris@929 | 15 #ifndef LEVEL_PAN_TOOLBUTTON_H |
Chris@929 | 16 #define LEVEL_PAN_TOOLBUTTON_H |
Chris@929 | 17 |
Chris@929 | 18 #include <QToolButton> |
Chris@929 | 19 |
Chris@929 | 20 class LevelPanWidget; |
Chris@929 | 21 |
Chris@929 | 22 class LevelPanToolButton : public QToolButton |
Chris@929 | 23 { |
Chris@929 | 24 Q_OBJECT |
Chris@929 | 25 |
Chris@929 | 26 public: |
Chris@929 | 27 LevelPanToolButton(QWidget *parent = 0); |
Chris@929 | 28 ~LevelPanToolButton(); |
Chris@929 | 29 |
Chris@929 | 30 /// Return level as a gain value in the range [0,1] |
Chris@929 | 31 float getLevel() const; |
Chris@929 | 32 |
Chris@929 | 33 /// Return pan as a value in the range [-1,1] |
Chris@929 | 34 float getPan() const; |
Chris@929 | 35 |
Chris@929 | 36 void setImageSize(int pixels); |
Chris@929 | 37 |
Chris@929 | 38 public slots: |
Chris@929 | 39 /// Set level in the range [0,1] -- will be rounded |
Chris@929 | 40 void setLevel(float); |
Chris@929 | 41 |
Chris@929 | 42 /// Set pan in the range [-1,1] -- will be rounded |
Chris@929 | 43 void setPan(float); |
Chris@929 | 44 |
Chris@929 | 45 /// Redraw icon for toolbar button based on level-pan widget contents |
Chris@929 | 46 void redraw(); |
Chris@929 | 47 |
Chris@929 | 48 signals: |
Chris@929 | 49 void levelChanged(float); |
Chris@929 | 50 void panChanged(float); |
Chris@929 | 51 |
Chris@929 | 52 protected: |
Chris@929 | 53 LevelPanWidget *m_lpw; |
Chris@929 | 54 int m_pixels; |
Chris@929 | 55 }; |
Chris@929 | 56 |
Chris@929 | 57 #endif |