annotate base/XmlExportable.h @ 1743:7001b9570e37 by-id

Fix deprecation warning
author Chris Cannam
date Mon, 01 Jul 2019 14:16:12 +0100
parents 4abc0f08adf9
children d0ef65d8dd89
rev   line source
Chris@49 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@3 2
Chris@3 3 /*
Chris@52 4 Sonic Visualiser
Chris@52 5 An audio file viewer and annotation editor.
Chris@52 6 Centre for Digital Music, Queen Mary, University of London.
Chris@52 7 This file copyright 2006 Chris Cannam.
Chris@3 8
Chris@52 9 This program is free software; you can redistribute it and/or
Chris@52 10 modify it under the terms of the GNU General Public License as
Chris@52 11 published by the Free Software Foundation; either version 2 of the
Chris@52 12 License, or (at your option) any later version. See the file
Chris@52 13 COPYING included with this distribution for more information.
Chris@3 14 */
Chris@3 15
Chris@1581 16 #ifndef SV_XML_EXPORTABLE_H
Chris@1581 17 #define SV_XML_EXPORTABLE_H
Chris@3 18
Chris@3 19 #include <QString>
Chris@3 20
Chris@686 21 #include "Debug.h"
Chris@686 22
Chris@123 23 class QTextStream;
Chris@123 24
Chris@3 25 class XmlExportable
Chris@3 26 {
Chris@3 27 public:
Chris@1738 28 enum {
Chris@1738 29 // The value NO_ID (-1) is never allocated as an export id
Chris@1738 30 NO_ID = -1
Chris@1738 31 };
Chris@1738 32
Chris@1738 33 XmlExportable() : m_exportId(NO_ID) { }
Chris@27 34 virtual ~XmlExportable() { }
Chris@27 35
Chris@123 36 /**
Chris@1677 37 * Return the numerical export identifier for this object. It's
Chris@1677 38 * allocated the first time this is called, so objects on which
Chris@1677 39 * this is never called do not get allocated one.
Chris@1677 40 */
Chris@1677 41 int getExportId() const;
Chris@1677 42
Chris@1677 43 /**
Chris@123 44 * Stream this exportable object out to XML on a text stream.
Chris@123 45 */
Chris@123 46 virtual void toXml(QTextStream &stream,
Chris@123 47 QString indent = "",
Chris@314 48 QString extraAttributes = "") const = 0;
Chris@123 49
Chris@123 50 /**
Chris@314 51 * Convert this exportable object to XML in a string. The default
Chris@314 52 * implementation calls toXml and returns the result as a string.
Chris@314 53 * Do not override this unless you really know what you're doing.
Chris@123 54 */
Chris@3 55 virtual QString toXmlString(QString indent = "",
Chris@1429 56 QString extraAttributes = "") const;
Chris@3 57
Chris@3 58 static QString encodeEntities(QString);
Chris@3 59
Chris@387 60 static QString encodeColour(int r, int g, int b);
Chris@4 61
Chris@1677 62 private:
Chris@1677 63 mutable int m_exportId;
Chris@3 64 };
Chris@3 65
Chris@3 66 #endif