annotate widgets/LevelPanToolButton.h @ 930:86df7de08e03 tonioni

A number of fixes to level-pan button (including mute toggle)
author Chris Cannam
date Wed, 25 Mar 2015 10:55:09 +0000
parents 20698aa6a517
children 37bb4b416c52
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@930 52 private slots:
Chris@930 53 void selfLevelChanged(float);
Chris@930 54 void selfClicked();
Chris@930 55
Chris@929 56 protected:
Chris@929 57 LevelPanWidget *m_lpw;
Chris@929 58 int m_pixels;
Chris@930 59 bool m_muted;
Chris@930 60 float m_savedLevel;
Chris@929 61 };
Chris@929 62
Chris@929 63 #endif