Scribus
Open source desktop publishing at your fingertips
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
contentreader.h
1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
7
/***************************************************************************
8
* Copyright (C) 2004 by Riku Leino *
9
* tsoots@gmail.com *
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
* This program is distributed in the hope that it will be useful, *
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
19
* GNU General Public License for more details. *
20
* *
21
* You should have received a copy of the GNU General Public License *
22
* along with this program; if not, write to the *
23
* Free Software Foundation, Inc., *
24
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
25
***************************************************************************/
26
27
#ifndef CONTENTREADER_H
28
#define CONTENTREADER_H
29
30
#include "scconfig.h"
31
32
#ifdef HAVE_XML
33
34
#include <utility>
35
#include <vector>
36
#ifdef HAVE_XML26
37
#include <libxml/SAX2.h>
38
#else
39
#include <libxml/SAX.h>
40
#endif
41
#include <QXmlAttributes>
42
#include <QMap>
43
#include <gtstyle.h>
44
#include <gtwriter.h>
45
#include "stylereader.h"
46
47
typedef
std::vector<std::pair<QString, QString> > Properties;
48
typedef
QMap<QString, Properties > TMap;
49
50
class
ContentReader
51
{
52
private
:
53
static
ContentReader
*creader;
54
TMap tmap;
55
QString docname;
56
StyleReader
* sreader;
57
gtWriter
*writer;
58
gtStyle
*defaultStyle;
59
gtStyle
*currentStyle;
60
gtStyle
*lastStyle;
61
gtStyle
*pstyle;
62
bool
importTextOnly;
63
bool
inList;
64
bool
inNote;
65
bool
inNoteBody;
66
bool
inSpan;
67
int
append;
68
int
listLevel;
69
int
listIndex;
70
std::vector<int> listIndex2;
71
std::vector<bool> isOrdered2;
72
bool
inT;
73
std::vector<QString> styleNames;
74
QString tName;
75
QString currentList;
76
void
write(
const
QString& text);
77
QString getName();
78
void
getStyle();
79
public
:
80
ContentReader
(QString documentName,
StyleReader
* s,
gtWriter
*w,
bool
textOnly);
81
~
ContentReader
();
82
static
void
startElement(
void
*user_data,
const
xmlChar *fullname,
const
xmlChar ** atts);
83
static
void
endElement(
void
*user_data,
const
xmlChar *name);
84
static
void
characters(
void
*user_data,
const
xmlChar *ch,
int
len);
85
bool
startElement(
const
QString&,
const
QString&,
const
QString &name,
const
QXmlAttributes &attrs);
86
bool
endElement(
const
QString&,
const
QString&,
const
QString &name);
87
bool
characters(
const
QString &ch);
88
void
parse(QString fileName);
89
};
90
91
#endif // HAVE_XML
92
93
#endif
gtWriter
Definition:
gtwriter.h:38
gtStyle
Definition:
gtstyle.h:34
StyleReader
Definition:
stylereader.h:119
ContentReader
Definition:
contentreader.h:50
scribus
plugins
gettext
sxwim
contentreader.h
Generated on Tue Sep 29 2015 09:15:02 for Scribus by
1.8.9.1