annotate widgets/CSVFormatDialog.h @ 1287:2dd7f764c3a6 plugin-path-config

Better editing mechanism
author Chris Cannam
date Tue, 15 May 2018 13:56:26 +0100
parents 2633a1d73e39
children fcc1f45f7bd5
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@581 32 CSVFormatDialog(QWidget *parent, CSVFormat initialFormat,
Chris@581 33 int maxDisplayCols = 5);
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 timingTypeChanged(int type);
Chris@378 40 void sampleRateChanged(QString);
Chris@378 41 void windowSizeChanged(QString);
Chris@560 42 void columnPurposeChanged(int purpose);
Chris@959 43
Chris@959 44 void updateFormatFromDialog();
Chris@561 45 void updateModelLabel();
Chris@378 46
Chris@378 47 protected:
Chris@560 48 CSVFormat m_format;
Chris@581 49 int m_maxDisplayCols;
Chris@959 50
Chris@959 51 enum TimingOption {
Chris@959 52 TimingExplicitSeconds = 0,
Chris@959 53 TimingExplicitMsec,
Chris@959 54 TimingExplicitSamples,
Chris@959 55 TimingImplicit
Chris@959 56 };
Chris@959 57 std::map<TimingOption, QString> m_timingLabels;
Chris@959 58 TimingOption m_initialTimingOption;
Chris@959 59
Chris@959 60 void updateComboVisibility();
Chris@959 61 void applyStartTimePurpose();
Chris@959 62 void removeStartTimePurpose();
Chris@378 63
Chris@378 64 QComboBox *m_timingTypeCombo;
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@561 69 QLabel *m_modelLabel;
Chris@378 70
Chris@560 71 QList<QComboBox *> m_columnPurposeCombos;
Chris@581 72 int m_fuzzyColumn;
Chris@378 73 };
Chris@378 74
Chris@378 75 #endif