~ubuntu-branches/ubuntu/trusty/scribus-ng/trusty

« back to all changes in this revision

Viewing changes to scribus/plugins/gettext/sxwim/contentreader.h

  • Committer: Package Import Robot
  • Author(s): Oleksandr Moskalenko
  • Date: 2012-02-15 15:57:12 UTC
  • mfrom: (4.2.10 sid)
  • Revision ID: package-import@ubuntu.com-20120215155712-biimoc8o875jht80
Tags: 1.4.0.dfsg+r17300-1
* Prepare a dummy transitional package to converge on the 1.4.0 release.
* debian/NEWS: update the news.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, 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 isOrdered;
67
 
        bool inSpan;
68
 
        int  append;
69
 
        int  listLevel;
70
 
        int  listIndex;
71
 
        std::vector<int> listIndex2;
72
 
        std::vector<bool> isOrdered2;
73
 
        bool inT;
74
 
        std::vector<QString> styleNames;
75
 
        QString tName;
76
 
        QString currentList;
77
 
        void write(const QString& text);
78
 
        QString getName();
79
 
        void getStyle();
80
 
public:
81
 
        ContentReader(QString documentName, StyleReader* s, gtWriter *w, bool textOnly);
82
 
        ~ContentReader();
83
 
        static void startElement(void *user_data, const xmlChar *fullname, const xmlChar ** atts);
84
 
        static void endElement(void *user_data, const xmlChar *name);
85
 
        static void characters(void *user_data, const xmlChar *ch, int len);
86
 
        bool startElement(const QString&, const QString&, const QString &name, const QXmlAttributes &attrs);
87
 
        bool endElement(const QString&, const QString&, const QString &name);
88
 
        bool characters(const QString &ch);
89
 
        void parse(QString fileName);
90
 
};
91
 
 
92
 
#endif // HAVE_XML
93
 
 
94
 
#endif