odsstream
odsdocreader.h
1 /*
2  libodsstream is a library to read and write ODS documents as streams
3  Copyright (C) 2013 Olivier Langella <Olivier.Langella@moulon.inra.fr>
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18 */
19 
20 #pragma once
21 
22 #include <quazip5/quazip.h>
23 
24 #include "reader/odscell.h"
25 #include "odsdochandlerinterface.h"
26 
28 
30 {
31  friend SaxHandlerContentXml;
32 
33  public:
42  virtual ~OdsDocReader();
43 
44 
45  void parse(QFile &odsFile);
46  void parse(QIODevice *p_inputstream);
47 
48 
49  private:
50  void setInsideCell(const OdsCell &cell);
51  void startInsideLine();
52 
53  void startSheet(const QString &sheet_name);
54 
55  void endSheet();
56 
57  void startLine();
58 
59  void endLine();
60 
61  void setCell(const OdsCell &cell);
62  void endDocument();
63 
64 
65  QuaZip *_p_quaZip = nullptr;
66 
67  uint _column_number;
68 
69  OdsDocHandlerInterface &_handler;
70 };
OdsDocHandlerInterface
Definition: odsdochandlerinterface.h:43
OdsDocReader
Definition: odsdocreader.h:30
SaxHandlerContentXml
Definition: saxhandlercontentxml.h:28
OdsCell
Definition: odscell.h:29
OdsDocReader::OdsDocReader
OdsDocReader(OdsDocHandlerInterface &handler)
Definition: odsdocreader.cpp:27
odsdochandlerinterface.h
interface to use as a wildcard to writer in either TSV, ODS TSVdirectory writers any kind of writer c...