annotate widgets/CSVFormatDialog.h @ 559:5bcfc5606528

* Add option to import time+duration (or time+endtime) from CSV files (importing to Region layers) * Fix ffwd/rwd in Region layers so as to behave like time-value layers
author Chris Cannam
date Thu, 08 Jul 2010 14:22:28 +0000
parents 22b72f0f6a4e
children e15afed2bfeb
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@559 41 void durationTypeChanged(int type);
Chris@378 42 void sampleRateChanged(QString);
Chris@378 43 void windowSizeChanged(QString);
Chris@378 44
Chris@378 45 protected:
Chris@378 46 CSVFormat::ModelType m_modelType;
Chris@378 47 CSVFormat::TimingType m_timingType;
Chris@559 48 CSVFormat::DurationType m_durationType;
Chris@378 49 CSVFormat::TimeUnits m_timeUnits;
Chris@378 50
Chris@378 51 QString m_separator;
Chris@378 52 size_t m_sampleRate;
Chris@378 53 size_t m_windowSize;
Chris@378 54
Chris@378 55 QString::SplitBehavior m_behaviour;
Chris@378 56
Chris@378 57 QList<QStringList> m_example;
Chris@378 58 int m_maxExampleCols;
Chris@378 59 QTableWidget *m_exampleWidget;
Chris@378 60
Chris@378 61 QComboBox *m_modelTypeCombo;
Chris@378 62 QComboBox *m_timingTypeCombo;
Chris@559 63 QLabel *m_durationTypeLabel;
Chris@559 64 QComboBox *m_durationTypeCombo;
Chris@378 65 QLabel *m_sampleRateLabel;
Chris@378 66 QComboBox *m_sampleRateCombo;
Chris@378 67 QLabel *m_windowSizeLabel;
Chris@378 68 QComboBox *m_windowSizeCombo;
Chris@378 69
Chris@378 70 void populateExample();
Chris@378 71 };
Chris@378 72
Chris@378 73 #endif