lbajardsilogic@0: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@0: lbajardsilogic@0: /* lbajardsilogic@0: Sonic Visualiser lbajardsilogic@0: An audio file viewer and annotation editor. lbajardsilogic@0: Centre for Digital Music, Queen Mary, University of London. lbajardsilogic@0: This file copyright 2006 Chris Cannam. lbajardsilogic@0: lbajardsilogic@0: This program is free software; you can redistribute it and/or lbajardsilogic@0: modify it under the terms of the GNU General Public License as lbajardsilogic@0: published by the Free Software Foundation; either version 2 of the lbajardsilogic@0: License, or (at your option) any later version. See the file lbajardsilogic@0: COPYING included with this distribution for more information. lbajardsilogic@0: */ lbajardsilogic@0: lbajardsilogic@0: #ifndef _ITEM_EDIT_DIALOG_H_ lbajardsilogic@0: #define _ITEM_EDIT_DIALOG_H_ lbajardsilogic@0: lbajardsilogic@0: #include lbajardsilogic@0: #include lbajardsilogic@0: lbajardsilogic@0: #include "base/RealTime.h" lbajardsilogic@0: lbajardsilogic@0: class QSpinBox; lbajardsilogic@0: class QDoubleSpinBox; lbajardsilogic@0: class QLineEdit; lbajardsilogic@0: lbajardsilogic@0: class ItemEditDialog : public QDialog lbajardsilogic@0: { lbajardsilogic@0: Q_OBJECT lbajardsilogic@0: lbajardsilogic@0: public: lbajardsilogic@0: enum { lbajardsilogic@0: ShowTime = 1 << 0, lbajardsilogic@0: ShowDuration = 1 << 1, lbajardsilogic@0: ShowValue = 1 << 2, lbajardsilogic@0: ShowText = 1 << 3 lbajardsilogic@0: }; lbajardsilogic@0: lbajardsilogic@0: ItemEditDialog(size_t sampleRate, int options, QString valueUnits = "", lbajardsilogic@0: QWidget *parent = 0); lbajardsilogic@0: lbajardsilogic@0: void setFrameTime(long frame); lbajardsilogic@0: long getFrameTime() const; lbajardsilogic@0: lbajardsilogic@0: void setRealTime(RealTime rt); lbajardsilogic@0: RealTime getRealTime() const; lbajardsilogic@0: lbajardsilogic@0: void setFrameDuration(long frame); lbajardsilogic@0: long getFrameDuration() const; lbajardsilogic@0: lbajardsilogic@0: void setRealDuration(RealTime rt); lbajardsilogic@0: RealTime getRealDuration() const; lbajardsilogic@0: lbajardsilogic@0: void setValue(float value); lbajardsilogic@0: float getValue() const; lbajardsilogic@0: lbajardsilogic@0: void setText(QString text); lbajardsilogic@0: QString getText() const; lbajardsilogic@0: lbajardsilogic@0: protected slots: lbajardsilogic@0: void frameTimeChanged(int); lbajardsilogic@0: void realTimeSecsChanged(int); lbajardsilogic@0: void realTimeUSecsChanged(int); lbajardsilogic@0: void frameDurationChanged(int); lbajardsilogic@0: void realDurationSecsChanged(int); lbajardsilogic@0: void realDurationUSecsChanged(int); lbajardsilogic@0: void valueChanged(double); lbajardsilogic@0: void textChanged(QString); lbajardsilogic@0: void reset(); lbajardsilogic@0: lbajardsilogic@0: protected: lbajardsilogic@0: size_t m_sampleRate; lbajardsilogic@0: long m_defaultFrame; lbajardsilogic@0: long m_defaultDuration; lbajardsilogic@0: float m_defaultValue; lbajardsilogic@0: QString m_defaultText; lbajardsilogic@0: QSpinBox *m_frameTimeSpinBox; lbajardsilogic@0: QSpinBox *m_realTimeSecsSpinBox; lbajardsilogic@0: QSpinBox *m_realTimeUSecsSpinBox; lbajardsilogic@0: QSpinBox *m_frameDurationSpinBox; lbajardsilogic@0: QSpinBox *m_realDurationSecsSpinBox; lbajardsilogic@0: QSpinBox *m_realDurationUSecsSpinBox; lbajardsilogic@0: QDoubleSpinBox *m_valueSpinBox; lbajardsilogic@0: QLineEdit *m_textField; lbajardsilogic@0: QPushButton *m_resetButton; lbajardsilogic@0: }; lbajardsilogic@0: lbajardsilogic@0: #endif