annotate rdf/RDFImporter.h @ 1455:ec9e65fcf749

The use of the begin/end pairs here just seems to cause too many rows to be deleted (from the visual representation, not the underlying model). Things apparently work better if we just modify the underlying model and let the change signals percolate back up again. To that end, update the change handlers so as to cover their proper ranges with dataChanged signals.
author Chris Cannam
date Mon, 23 Apr 2018 16:03:35 +0100
parents a1cd5abcb38b
children ad5f892c0c4d
rev   line source
Chris@439 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@439 2
Chris@439 3 /*
Chris@439 4 Sonic Visualiser
Chris@439 5 An audio file viewer and annotation editor.
Chris@439 6 Centre for Digital Music, Queen Mary, University of London.
Chris@439 7 This file copyright 2008 QMUL.
Chris@439 8
Chris@439 9 This program is free software; you can redistribute it and/or
Chris@439 10 modify it under the terms of the GNU General Public License as
Chris@439 11 published by the Free Software Foundation; either version 2 of the
Chris@439 12 License, or (at your option) any later version. See the file
Chris@439 13 COPYING included with this distribution for more information.
Chris@439 14 */
Chris@439 15
Chris@439 16 #ifndef _RDF_IMPORTER_H_
Chris@439 17 #define _RDF_IMPORTER_H_
Chris@439 18
Chris@439 19 #include <QObject>
Chris@439 20 #include <QString>
Chris@439 21
Chris@439 22 #include <vector>
Chris@439 23
Chris@1040 24 #include "base/BaseTypes.h"
Chris@1040 25
Chris@439 26 class Model;
Chris@439 27 class RDFImporterImpl;
Chris@439 28 class ProgressReporter;
Chris@439 29
Chris@439 30 class RDFImporter : public QObject
Chris@439 31 {
Chris@439 32 Q_OBJECT
Chris@439 33
Chris@439 34 public:
Chris@439 35 /**
Chris@439 36 * Return the file extensions that we have data file readers for,
Chris@439 37 * in a format suitable for use with QFileDialog. For example,
Chris@439 38 * "*.rdf *.n3".
Chris@439 39 */
Chris@439 40 static QString getKnownExtensions();
Chris@439 41
Chris@1040 42 RDFImporter(QString url, sv_samplerate_t sampleRate = 0);
Chris@439 43 virtual ~RDFImporter();
Chris@439 44
Chris@1040 45 void setSampleRate(sv_samplerate_t sampleRate);
Chris@490 46
Chris@439 47 bool isOK();
Chris@439 48 QString getErrorString() const;
Chris@439 49
Chris@439 50 std::vector<Model *> getDataModels(ProgressReporter *reporter);
Chris@439 51
Chris@490 52 enum RDFDocumentType {
Chris@490 53 AudioRefAndAnnotations,
Chris@490 54 Annotations,
Chris@490 55 AudioRef,
Chris@499 56 OtherRDFDocument,
Chris@499 57 NotRDF
Chris@490 58 };
Chris@490 59
Chris@490 60 static RDFDocumentType identifyDocumentType(QString url);
Chris@490 61
Chris@439 62 protected:
Chris@439 63 RDFImporterImpl *m_d;
Chris@439 64 };
Chris@439 65
Chris@439 66 #endif