File indexing completed on 2025-02-16 13:49:57

0001 /*
0002 ** Header file for inclusion with words_xml2latex.c
0003 **
0004 ** Copyright (C) 2000 Robert JACOLIN
0005 **
0006 ** This library is free software; you can redistribute it and/or
0007 ** modify it under the terms of the GNU Library General Public
0008 ** License as published by the Free Software Foundation; either
0009 ** version 2 of the License, or (at your option) any later version.
0010 **
0011 ** This library is distributed in the hope that it will be useful,
0012 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
0013 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014 ** Library General Public License for more details.
0015 **
0016 ** To receive a copy of the GNU Library General Public License, write to the
0017 ** Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018  * Boston, MA 02110-1301, USA.
0019 **
0020 */
0021 
0022 #ifndef __CALLIGRA_SHEETS_LATEX_MAP_H__
0023 #define __CALLIGRA_SHEETS_LATEX_MAP_H__
0024 
0025 #include <QString>
0026 #include <QStack>  /* historic list */
0027 #include <QList>  /* for list of format */
0028 #include <QTextStream>
0029 
0030 #include "xmlparser.h"
0031 #include "config.h"
0032 #include "table.h"
0033 
0034 /***********************************************************************/
0035 /* Class: Map                                                         */
0036 /***********************************************************************/
0037 
0038 /**
0039  * This class hold a real paragraph. It tells about the text in this
0040  * paragraph, its format, etc. The complete text is a list of Map instances.
0041  * A footnote is a list of paragraph instances (now but not in the "futur").
0042  */
0043 class Map: public XmlParser, Config
0044 {
0045     QList<Table*> _tables;
0046 
0047 public:
0048     /**
0049      * Constructors
0050      *
0051      * Creates a new instance of Map.
0052      */
0053     Map();
0054 
0055     /*
0056      * Destructor
0057      *
0058      * The destructor must remove the list of little zones.
0059      */
0060     ~Map() override;
0061 
0062     /**
0063      * Accessors
0064      */
0065 
0066     /**
0067      * Modifiers
0068      */
0069 
0070     /**
0071      * Helpful functions
0072      */
0073 
0074     /**
0075      * Get information from a markup tree.
0076      */
0077     void analyze(const QDomNode);
0078 
0079     /**
0080      * Write the paragraph in a file.
0081      */
0082     void generate(QTextStream&);
0083 
0084 
0085 private:
0086 
0087 };
0088 
0089 #endif /* __CALLIGRA_SHEETS_LATEX_MAP_H__ */