annotate widgets/CSVFormatDialog.h @ 378:22b72f0f6a4e

* More work to abstract out interactive components used in the data library, so that it does not need to depend on QtGui.
author Chris Cannam
date Fri, 14 Mar 2008 17:14:21 +0000
parents
children 5bcfc5606528
rev   line source
Chris@378 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@378 2
Chris@378 3 /*
Chris@378 4 Sonic Visualiser
Chris@378 5 An audio file viewer and annotation editor.
Chris@378 6 Centre for Digital Music, Queen Mary, University of London.
Chris@378 7 This file copyright 2006 Chris Cannam.
Chris@378 8
Chris@378 9 This program is free software; you can redistribute it and/or
Chris@378 10 modify it under the terms of the GNU General Public License as
Chris@378 11 published by the Free Software Foundation; either version 2 of the
Chris@378 12 License, or (at your option) any later version. See the file
Chris@378 13 COPYING included with this distribution for more information.
Chris@378 14 */
Chris@378 15
Chris@378 16 #ifndef _CSV_FORMAT_DIALOG_H_
Chris@378 17 #define _CSV_FORMAT_DIALOG_H_
Chris@378 18
Chris@378 19 #include "data/fileio/CSVFormat.h"
Chris@378 20
Chris@378 21 class QTableWidget;
Chris@378 22 class QComboBox;
Chris@378 23 class QLabel;
Chris@378 24
Chris@378 25 #include <QDialog>
Chris@378 26
Chris@378 27 class CSVFormatDialog : public QDialog
Chris@378 28 {
Chris@378 29 Q_OBJECT
Chris@378 30
Chris@378 31 public:
Chris@378 32 CSVFormatDialog(QWidget *parent, CSVFormat initialFormat,
Chris@378 33 size_t defaultSampleRate);
Chris@378 34 ~CSVFormatDialog();
Chris@378 35
Chris@378 36 CSVFormat getFormat() const;
Chris@378 37
Chris@378 38 protected slots:
Chris@378 39 void modelTypeChanged(int type);
Chris@378 40 void timingTypeChanged(int type);
Chris@378 41 void sampleRateChanged(QString);
Chris@378 42 void windowSizeChanged(QString);
Chris@378 43
Chris@378 44 protected:
Chris@378 45 CSVFormat::ModelType m_modelType;
Chris@378 46 CSVFormat::TimingType m_timingType;
Chris@378 47 CSVFormat::TimeUnits m_timeUnits;
Chris@378 48
Chris@378 49 QString m_separator;
Chris@378 50 size_t m_sampleRate;
Chris@378 51 size_t m_windowSize;
Chris@378 52
Chris@378 53 QString::SplitBehavior m_behaviour;
Chris@378 54
Chris@378 55 QList<QStringList> m_example;
Chris@378 56 int m_maxExampleCols;
Chris@378 57 QTableWidget *m_exampleWidget;
Chris@378 58
Chris@378 59 QComboBox *m_modelTypeCombo;
Chris@378 60 QComboBox *m_timingTypeCombo;
Chris@378 61 QLabel *m_sampleRateLabel;
Chris@378 62 QComboBox *m_sampleRateCombo;
Chris@378 63 QLabel *m_windowSizeLabel;
Chris@378 64 QComboBox *m_windowSizeCombo;
Chris@378 65
Chris@378 66 void populateExample();
Chris@378 67 };
Chris@378 68
Chris@378 69 #endif