-
Notifications
You must be signed in to change notification settings - Fork 0
/
serializer.h
89 lines (78 loc) · 3.3 KB
/
serializer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/
/***************************************************************************
serializer.h - description
-------------------
begin : Sat May 5 2001
copyright : (C) 2001 by Franz Schmid
email : Franz.Schmid@altmuehlnet.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef SERIALIZER_H
#define SERIALIZER_H
#include <QString>
#include <QFile>
#include <QByteArray>
#include "scribusapi.h"
#include "selection.h"
#include "desaxe/saxio.h"
#include "desaxe/digester.h"
/**
* This class reads/writes Scribus datastructures from/to SAX streams
* (was done by ScribusXML before). It also serves as a testbed for the new
* Scribus 1.4 file format
*
* Currently it also holds to old methods which are used to read/write text
* from/to a file.
*
* @author Andreas Vox
*/
class ScribusDoc;
class ColorList;
class SCRIBUS_API Serializer : public desaxe::Digester {
public:
/** Construct a Serializer object which can be used to (de)serialize Scribus
elements. Since it has Digester as a superclass, a Serializer object can
also be used where a SaxHandler is required as argument, eg. the saxx() method.
*/
Serializer(ScribusDoc& doc);
/**
Writes all objects in selection to handler as a fragment. Needed styles and colors
are included.
*/
// static void serializeObjects(const Selection& objects, SaxHandler& handler);
/**
Reads objects from the given QString which must represent a fragment, imports them
into the document and returns a (nonGUI) selection to it.
*/
// Selection deserializeObjects(const QByteArray & xml);
/**
Reads objects from the given QFile which must represent a fragment, imports them
into the document and returns a (nonGUI) selection to it.
*/
// Selection deserializeObjects(const QFile & xml);
// Selection cloneObjects(const Selection& objects);
/** Legacy method to read plain text for a textframe */
static bool readWithEncoding(const QString& filename, const QString& encoding,
QString & txt);
/** Legacy method to write plain text from a textframe */
static bool writeWithEncoding(const QString& filename, const QString& encoding,
const QString& txt);
private:
ScribusDoc& m_Doc;
ColorList backUpColors;
// Selection importCollection();
// void updateGradientColors(const ColorList& colors);
};
#endif