annotate widgets/CSVFormatDialog.h @ 561:aced8ec09bc8

* Complete the overhaul of CSV file import; now you can pick the purpose for each column in the file, and SV should do the rest. The most significant practical improvement here is that we can now handle files in which time and duration do not necessarily appear in known columns.
author Chris Cannam
date Mon, 19 Jul 2010 17:08:56 +0000
parents e15afed2bfeb
children c9d6cf9c51c8
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@560 32 CSVFormatDialog(QWidget *parent, CSVFormat initialFormat);
Chris@378 33 ~CSVFormatDialog();
Chris@378 34
Chris@378 35 CSVFormat getFormat() const;
Chris@378 36
Chris@378 37 protected slots:
Chris@378 38 void timingTypeChanged(int type);
Chris@378 39 void sampleRateChanged(QString);
Chris@378 40 void windowSizeChanged(QString);
Chris@560 41 void columnPurposeChanged(int purpose);
Chris@561 42 void updateModelLabel();
Chris@378 43
Chris@378 44 protected:
Chris@560 45 CSVFormat m_format;
Chris@378 46
Chris@378 47 QComboBox *m_timingTypeCombo;
Chris@378 48 QLabel *m_sampleRateLabel;
Chris@378 49 QComboBox *m_sampleRateCombo;
Chris@378 50 QLabel *m_windowSizeLabel;
Chris@378 51 QComboBox *m_windowSizeCombo;
Chris@561 52 QLabel *m_modelLabel;
Chris@378 53
Chris@560 54 QList<QComboBox *> m_columnPurposeCombos;
Chris@378 55 };
Chris@378 56
Chris@378 57 #endif