Engauge Digitizer  2
DocumentModelAbstractBase.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef DOCUMENT_MODEL_ABSTRACT_BASE_H
8 #define DOCUMENT_MODEL_ABSTRACT_BASE_H
9 
10 #include <QXmlStreamReader>
11 
12 class QTextStream;
13 class QXmlStreamWriter;
14 
17 {
18 public:
21 
24 
25 protected:
26 
28  virtual void loadXml(QXmlStreamReader &reader) = 0;
29 
31  virtual void saveXml(QXmlStreamWriter &writer) const = 0;
32 };
33 
34 #endif // DOCUMENT_MODEL_ABSTRACT_BASE_H
Abstract base class for document models. This class enforces a common interface for the leaf subclass...
virtual void saveXml(QXmlStreamWriter &writer) const =0
Save entire model as xml into stream.
DocumentModelAbstractBase()
Single constructor.
virtual ~DocumentModelAbstractBase()
Single destructor.
virtual void loadXml(QXmlStreamReader &reader)=0
Load model from serialized xml.