spreadsheet.cpp
1/*
2** A program to convert the XML rendered by KWord into LATEX.
3**
4** Copyright (C) 2000, 2001, 2002, 2003 Robert JACOLIN
5**
6** This library is free software; you can redistribute it and/or
7** modify it under the terms of the GNU Library General Public
8** License as published by the Free Software Foundation; either
9** version 2 of the License, or (at your option) any later version.
10**
11** This library is distributed in the hope that it will be useful,
12** but WITHOUT ANY WARRANTY; without even the implied warranty of
13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14** Library General Public License for more details.
15**
16** To receive a copy of the GNU Library General Public License, write to the
17** Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19**
20*/
21
22#include <stdlib.h> /* for atoi function */
23
24#include <kdebug.h>
25
26#include "fileheader.h"
27//#include "paper.h"
28#include "spreadsheet.h"
29
30/*******************************************/
31/* Constructor */
32/*******************************************/
36
37/*******************************************/
38/* Destructor */
39/*******************************************/
41{
42 kdDebug(30522) << "Corps Destructor" << endl;
43}
44
45/*******************************************/
46/* Analyse */
47/*******************************************/
48void Spreadsheet::analyse(const TQDomNode balise)
49{
50 kdDebug(30522) << getChildName(balise, 0) << endl;
51 analyse_attr(balise);
52 //_paper.analyse(getChild(balise, "paper"));
53 _map.analyse(getChild(balise, "map"));
54 //_locale.analyse(getChild(balise, "locale"));
55 //_areaname.analyse(getChild(balise, "areaname"));
56
57 kdDebug(30522) << "SPREADSHEET END" << endl;
58}
59
60/*******************************************/
61/* AnalysePixmaps */
62/*******************************************/
63void Spreadsheet::analyse_attr(const TQDomNode balise)
64{
65
66}
67
68/*******************************************/
69/* Generate */
70/*******************************************/
71void Spreadsheet::generate(TQTextStream &out, bool hasPreambule)
72{
73 kdDebug(30522) << "DOC. GENERATION." << endl;
74
75 if(!Config::instance()->isEmbeded())
76 generatePreambule(out);
77 kdDebug(30522) << "preambule : " << hasPreambule << endl;
78
79 /* Body */
80 if(hasPreambule)
81 {
82 out << "\\begin{document}" << endl;
83 indent();
84 }
85
86 _map.generate(out);
87
88 if(hasPreambule)
89 out << "\\end{document}" << endl;
90 desindent();
91 if(getIndentation() != 0)
92 kdError(30522) << "Error : indent != 0 at the end ! " << endl;
93}
94
95/*******************************************/
96/* GeneratePreambule */
97/*******************************************/
98void Spreadsheet::generatePreambule(TQTextStream &out)
99{
100 FileHeader::instance()->generate(out);
101 /* For each header */
102 //if(getFileHeader()->hasHeader())
103 //{
104 // kdDebug(30522) << "header : " << _headers.count() << endl;
105
106 /* default : no rule */
107 // out << "\\renewcommand{\\headrulewidth}{0pt}" << endl;
108 // for(header = _headers.first(); header != 0; header = _headers.next())
109 // {
110 // generateTypeHeader(out, header);
111 // }
112 //}
113
114 /* For each footer */
115 /*if(getFileHeader()->hasFooter())
116 {
117 kdDebug(30522) << "footer : " << _footers.count() << endl;
118*/
119 /* default : no rule */
120 /* out << "\\renewcommand{\\footrulewidth}{0pt}" << endl;
121 for(footer = _footers.first(); footer != 0; footer = _footers.next())
122 {
123 generateTypeFooter(out, footer);
124 }
125 }*/
126 /* Specify what header/footer style to use */
127 /*if(getFileHeader()->hasHeader() || getFileHeader()->hasFooter())
128 out << "\\pagestyle{fancy}" << endl;
129 else
130 {
131 out << "\\pagestyle{empty}" << endl;
132 }*/
133}
134
135/*******************************************/
136/* GenerateTypeHeader */
137/*******************************************/
138void Spreadsheet::generateTypeHeader(TQTextStream &out)
139{
140 /*kdDebug(30522) << "generate header" << endl;
141 if((_fileHeader->getHeadType() == TH_ALL ||
142 _fileHeader->getHeadType() == TH_FIRST) && header->getInfo() == SI_EVEN)
143 {
144 out << "\\fancyhead[L]{}" << endl;
145 out << "\\fancyhead[C]{";
146 header->generate(out);
147 out << "}" << endl;
148 out << "\\fancyhead[R]{}" << endl;
149 }
150
151 switch(header->getInfo())
152 {
153 case SI_NONE:
154 case SI_FIRST:
155 break;
156 case SI_ODD:
157 out << "\\fancyhead[RO]{}" << endl;
158 out << "\\fancyhead[CO]{";
159 header->generate(out);
160 out << "}" << endl;
161 out << "\\fancyhead[LO]{}" << endl;
162 break;
163 case SI_EVEN:
164 out << "\\fancyhead[RE]{}" << endl;
165 out << "\\fancyhead[CE]{";
166 header->generate(out);
167 out << "}" << endl;
168 out << "\\fancyhead[LE]{}" << endl;
169 break;
170 }
171
172 if(header->getInfo() == SI_FIRST)
173 {
174 out << "\\fancyhead{";
175 header->generate(out);
176 out << "}" << endl;
177 out << "\\thispagestyle{fancy}" << endl;
178 }*/
179}
180
181/*******************************************/
182/* GenerateTypeFooter */
183/*******************************************/
184void Spreadsheet::generateTypeFooter(TQTextStream &out)
185{
186 /*if(_fileHeader->getFootType() == TH_ALL && footer->getInfo() == SI_EVEN)
187 {
188 out << "\\fancyfoot[L]{}" << endl;
189 out << "\\fancyfoot[C]{";
190 footer->generate(out);
191 out << "}" << endl;
192 out << "\\fancyfoot[R]{}" << endl;
193 }
194 else if(_fileHeader->getFootType() == TH_EVODD)
195 {
196 switch(footer->getInfo())
197 {
198 case SI_NONE:
199 case SI_FIRST:
200 break;
201 case SI_ODD:
202 out << "\\fancyfoot[CO]{";
203 footer->generate(out);
204 out << "}";
205 break;
206 case SI_EVEN:
207 out << "\\fancyfoot[CE]{";
208 footer->generate(out);
209 out << "}";
210 break;
211 }
212 }
213 else if(_fileHeader->getFootType() == TH_FIRST && footer->getInfo() == SI_FIRST)
214 {
215 out << "\\fanycfoot{";
216 footer->generate(out);
217 out << "}" << endl;
218 out << "\\thispagestyle{fancy}" << endl;
219 }*/
220}
221
void analyse(const TQDomNode)
Accessors.
Definition map.cpp:44
void generate(TQTextStream &)
Write the paragraph in a file.
Definition map.cpp:66
void analyse(const TQDomNode)
Accessors.
virtual ~Spreadsheet()
Destructor.
Spreadsheet()
Constructor.