libodsstream
settingsxml.h
1 
8 /*******************************************************************************
9  * Copyright (c) 2013 Olivier Langella <Olivier.Langella@u-psud.fr>.
10  *
11  * This file is part of the libodsstream library.
12  *
13  * libodsstream is a library to read and write ODS documents as streams
14  * Copyright (C) 2013 Olivier Langella <Olivier.Langella@u-psud.fr>
15  *
16  * This program is free software: you can redistribute it and/or modify
17  * it under the terms of the GNU Lesser General Public License as published
18  *by the Free Software Foundation, either version 3 of the License, or (at your
19  *option) any later version.
20  *
21  * This program is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24  * GNU Lesser General Public License for more details.
25  *
26  * You should have received a copy of the GNU Lesser General Public License
27  * along with this program. If not, see <http://www.gnu.org/licenses/>.
28  *
29  * Contributors:
30  * Olivier Langella <Olivier.Langella@u-psud.fr> - initial API and
31  *implementation
32  ******************************************************************************/
33 
34 
35 #ifndef SETTINGS_H
36 #define SETTINGS_H
37 
38 #include <quazip5/quazip.h>
39 #include <QXmlStreamWriter>
40 #include "../options/odstablesettings.h"
41 
42 class OdsDocWriter;
43 class ContentXml;
44 
46 {
47  friend OdsDocWriter;
48  friend ContentXml;
49 
50  protected:
51  SettingsXml();
52  virtual ~SettingsXml();
53 
54  void addSheetName(const QString &name);
55  const QString getDefaultSheetName() const;
56 
57  void setCurrentOdsTableSettings(const OdsTableSettings &settings);
58 
59  void write(QuaZip *p_quazip);
60 
61  private:
62  void writeConfigurationSettings(QXmlStreamWriter *p_writer);
63  void writeSheetSettings(QXmlStreamWriter *p_writer,
64  const QString &sheet_name);
65  void writeConfigItem(QXmlStreamWriter *p_writer,
66  const QString &name,
67  const QString &type,
68  const QString &value);
69 
70  private:
71  OdsTableSettings _default_table_settings;
72 
73  std::vector<QString> _sheet_list;
74 
75  std::vector<OdsTableSettings> _table_settings_list;
76 };
77 
78 #endif // SETTINGS_H
OdsDocWriter
Definition: odsdocwriter.h:32
ContentXml
Definition: contentxml.h:35
OdsTableSettings
Definition: odstablesettings.h:42
SettingsXml
Definition: settingsxml.h:45