~ubuntu-branches/ubuntu/precise/koffice/precise

« back to all changes in this revision

Viewing changes to filters/kspread/latex/export/spreadsheet.cc

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-09-21 15:36:35 UTC
  • mfrom: (1.4.1 upstream) (60.2.11 maverick)
  • Revision ID: james.westby@ubuntu.com-20100921153635-6tejqkiro2u21ydi
Tags: 1:2.2.2-0ubuntu3
Add kubuntu_03_fix-crash-on-closing-sqlite-connection-2.2.2.diff and
kubuntu_04_support-large-memo-values-for-msaccess-2.2.2.diff as
recommended by upstream http://kexi-
project.org/wiki/wikiview/index.php@Kexi2.2_Patches.html#sqlite_stab
ility

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
**
20
20
*/
21
21
 
22
 
#include <stdlib.h>             /* for atoi function    */
 
22
#include <stdlib.h>  /* for atoi function    */
23
23
 
24
24
#include <kdebug.h>
25
25
 
41
41
/*******************************************/
42
42
Spreadsheet::~Spreadsheet()
43
43
{
44
 
        kDebug(30522) <<"Corps Destructor";
 
44
    kDebug(30522) << "Corps Destructor";
45
45
}
46
46
 
47
47
/*******************************************/
49
49
/*******************************************/
50
50
void Spreadsheet::analyze(const QDomNode node)
51
51
{
52
 
        kDebug(30522) << getChildName(node, 0);
53
 
        analyze_attr(node);
54
 
        //_paper.analyze(getChild(node, "paper"));
55
 
        _map.analyze(getChild(node, "map"));
56
 
        //_locale.analyze(getChild(node, "locale"));
57
 
        //_areaname.analyze(getChild(node, "areaname"));
 
52
    kDebug(30522) << getChildName(node, 0);
 
53
    analyze_attr(node);
 
54
    //_paper.analyze(getChild(node, "paper"));
 
55
    _map.analyze(getChild(node, "map"));
 
56
    //_locale.analyze(getChild(node, "locale"));
 
57
    //_areaname.analyze(getChild(node, "areaname"));
58
58
 
59
 
        kDebug(30522) <<"SPREADSHEET END";
 
59
    kDebug(30522) << "SPREADSHEET END";
60
60
}
61
61
 
62
62
/*******************************************/
72
72
/*******************************************/
73
73
void Spreadsheet::generate(QTextStream &out, bool hasPreamble)
74
74
{
75
 
        kDebug(30522) <<"DOC. GENERATION.";
76
 
 
77
 
        if(!Config::instance()->isEmbeded())
78
 
                generatePreamble(out);
79
 
        kDebug(30522) <<"preamble :" << hasPreamble;
80
 
 
81
 
        /* Body */
82
 
        if(hasPreamble)
83
 
        {
84
 
                out << "\\begin{document}" << endl;
85
 
                indent();
86
 
        }
87
 
 
88
 
        _map.generate(out);
89
 
 
90
 
        if(hasPreamble)
91
 
                out << "\\end{document}" << endl;
92
 
        unindent();
93
 
        if(getIndentation() != 0)
94
 
                        kError(30522) << "Error : indent != 0 at the end ! " << endl;
 
75
    kDebug(30522) << "DOC. GENERATION.";
 
76
 
 
77
    if (!Config::instance()->isEmbeded())
 
78
        generatePreamble(out);
 
79
    kDebug(30522) << "preamble :" << hasPreamble;
 
80
 
 
81
    /* Body */
 
82
    if (hasPreamble) {
 
83
        out << "\\begin{document}" << endl;
 
84
        indent();
 
85
    }
 
86
 
 
87
    _map.generate(out);
 
88
 
 
89
    if (hasPreamble)
 
90
        out << "\\end{document}" << endl;
 
91
    unindent();
 
92
    if (getIndentation() != 0)
 
93
        kError(30522) << "Error : indent != 0 at the end ! " << endl;
95
94
}
96
95
 
97
96
/*******************************************/
99
98
/*******************************************/
100
99
void Spreadsheet::generatePreamble(QTextStream &out)
101
100
{
102
 
        FileHeader::instance()->generate(out);
103
 
        /* For each header */
104
 
        //if(getFileHeader()->hasHeader())
105
 
        //{
106
 
        //      kDebug(30522) <<"header :" << _headers.count();
107
 
 
108
 
                /* default : no rule */
109
 
        //      out << "\\renewcommand{\\headrulewidth}{0pt}" << endl;
110
 
        //      for(header = _headers.first(); header != 0; header = _headers.next())
111
 
        //      {
112
 
        //              generateTypeHeader(out, header);
113
 
        //      }
114
 
        //}
115
 
 
116
 
        /* For each footer */
117
 
        /*if(getFileHeader()->hasFooter())
118
 
        {
119
 
                kDebug(30522) <<"footer :" << _footers.count();
120
 
*/
121
 
                /* default : no rule */
122
 
        /*      out << "\\renewcommand{\\footrulewidth}{0pt}" << endl;
123
 
                for(footer = _footers.first(); footer != 0; footer = _footers.next())
124
 
                {
125
 
                        generateTypeFooter(out, footer);
126
 
                }
127
 
        }*/
128
 
        /* Specify what header/footer style to use */
129
 
        /*if(getFileHeader()->hasHeader() || getFileHeader()->hasFooter())
130
 
                out << "\\pagestyle{fancy}" << endl;
131
 
        else
132
 
        {
133
 
                out << "\\pagestyle{empty}" << endl;
134
 
        }*/
 
101
    FileHeader::instance()->generate(out);
 
102
    /* For each header */
 
103
    //if(getFileHeader()->hasHeader())
 
104
    //{
 
105
    // kDebug(30522) <<"header :" << _headers.count();
 
106
 
 
107
    /* default : no rule */
 
108
    // out << "\\renewcommand{\\headrulewidth}{0pt}" << endl;
 
109
    // for(header = _headers.first(); header != 0; header = _headers.next())
 
110
    // {
 
111
    //  generateTypeHeader(out, header);
 
112
    // }
 
113
    //}
 
114
 
 
115
    /* For each footer */
 
116
    /*if(getFileHeader()->hasFooter())
 
117
    {
 
118
     kDebug(30522) <<"footer :" << _footers.count();
 
119
    */
 
120
    /* default : no rule */
 
121
    /* out << "\\renewcommand{\\footrulewidth}{0pt}" << endl;
 
122
     for(footer = _footers.first(); footer != 0; footer = _footers.next())
 
123
     {
 
124
      generateTypeFooter(out, footer);
 
125
     }
 
126
    }*/
 
127
    /* Specify what header/footer style to use */
 
128
    /*if(getFileHeader()->hasHeader() || getFileHeader()->hasFooter())
 
129
     out << "\\pagestyle{fancy}" << endl;
 
130
    else
 
131
    {
 
132
     out << "\\pagestyle{empty}" << endl;
 
133
    }*/
135
134
}
136
135
 
137
136
/*******************************************/
139
138
/*******************************************/
140
139
void Spreadsheet::generateTypeHeader(QTextStream &out)
141
140
{
142
 
        /*kDebug(30522) <<"generate header";
143
 
        if((_fileHeader->getHeadType() == TH_ALL ||
144
 
                _fileHeader->getHeadType() == TH_FIRST) && header->getInfo() == SI_EVEN)
145
 
        {
146
 
                out << "\\fancyhead[L]{}" << endl;
147
 
                out << "\\fancyhead[C]{";
148
 
                header->generate(out);
149
 
                out << "}" << endl;
150
 
                out << "\\fancyhead[R]{}" << endl;
151
 
        }
152
 
 
153
 
        switch(header->getInfo())
154
 
        {
155
 
                case SI_NONE:
156
 
                case SI_FIRST:
157
 
                        break;
158
 
                case SI_ODD:
159
 
                        out << "\\fancyhead[RO]{}" << endl;
160
 
                        out << "\\fancyhead[CO]{";
161
 
                        header->generate(out);
162
 
                        out << "}" << endl;
163
 
                        out << "\\fancyhead[LO]{}" << endl;
164
 
                        break;
165
 
                case SI_EVEN:
166
 
                        out << "\\fancyhead[RE]{}" << endl;
167
 
                        out << "\\fancyhead[CE]{";
168
 
                        header->generate(out);
169
 
                        out << "}" << endl;
170
 
                        out << "\\fancyhead[LE]{}" << endl;
171
 
                        break;
172
 
        }
173
 
 
174
 
        if(header->getInfo() == SI_FIRST)
175
 
        {
176
 
                out << "\\fancyhead{";
177
 
                header->generate(out);
178
 
                out << "}" << endl;
179
 
                out << "\\thispagestyle{fancy}" << endl;
180
 
        }*/
 
141
    /*kDebug(30522) <<"generate header";
 
142
    if((_fileHeader->getHeadType() == TH_ALL ||
 
143
     _fileHeader->getHeadType() == TH_FIRST) && header->getInfo() == SI_EVEN)
 
144
    {
 
145
     out << "\\fancyhead[L]{}" << endl;
 
146
     out << "\\fancyhead[C]{";
 
147
     header->generate(out);
 
148
     out << "}" << endl;
 
149
     out << "\\fancyhead[R]{}" << endl;
 
150
    }
 
151
 
 
152
    switch(header->getInfo())
 
153
    {
 
154
     case SI_NONE:
 
155
     case SI_FIRST:
 
156
      break;
 
157
     case SI_ODD:
 
158
      out << "\\fancyhead[RO]{}" << endl;
 
159
      out << "\\fancyhead[CO]{";
 
160
      header->generate(out);
 
161
      out << "}" << endl;
 
162
      out << "\\fancyhead[LO]{}" << endl;
 
163
      break;
 
164
     case SI_EVEN:
 
165
      out << "\\fancyhead[RE]{}" << endl;
 
166
      out << "\\fancyhead[CE]{";
 
167
      header->generate(out);
 
168
      out << "}" << endl;
 
169
      out << "\\fancyhead[LE]{}" << endl;
 
170
      break;
 
171
    }
 
172
 
 
173
    if(header->getInfo() == SI_FIRST)
 
174
    {
 
175
     out << "\\fancyhead{";
 
176
     header->generate(out);
 
177
     out << "}" << endl;
 
178
     out << "\\thispagestyle{fancy}" << endl;
 
179
    }*/
181
180
}
182
181
 
183
182
/*******************************************/
185
184
/*******************************************/
186
185
void Spreadsheet::generateTypeFooter(QTextStream &out)
187
186
{
188
 
        /*if(_fileHeader->getFootType() == TH_ALL && footer->getInfo() == SI_EVEN)
189
 
        {
190
 
                out << "\\fancyfoot[L]{}" << endl;
191
 
                out << "\\fancyfoot[C]{";
192
 
                footer->generate(out);
193
 
                out << "}" << endl;
194
 
                out << "\\fancyfoot[R]{}" << endl;
195
 
        }
196
 
        else if(_fileHeader->getFootType() == TH_EVODD)
197
 
        {
198
 
                switch(footer->getInfo())
199
 
                {
200
 
                        case SI_NONE:
201
 
                        case SI_FIRST:
202
 
                                break;
203
 
                        case SI_ODD:
204
 
                                out << "\\fancyfoot[CO]{";
205
 
                                footer->generate(out);
206
 
                                out << "}";
207
 
                                break;
208
 
                        case SI_EVEN:
209
 
                                out << "\\fancyfoot[CE]{";
210
 
                                footer->generate(out);
211
 
                                out << "}";
212
 
                                break;
213
 
                }
214
 
        }
215
 
        else if(_fileHeader->getFootType() == TH_FIRST && footer->getInfo() == SI_FIRST)
216
 
        {
217
 
                out << "\\fanycfoot{";
218
 
                footer->generate(out);
219
 
                out << "}" << endl;
220
 
                out << "\\thispagestyle{fancy}" << endl;
221
 
        }*/
 
187
    /*if(_fileHeader->getFootType() == TH_ALL && footer->getInfo() == SI_EVEN)
 
188
    {
 
189
     out << "\\fancyfoot[L]{}" << endl;
 
190
     out << "\\fancyfoot[C]{";
 
191
     footer->generate(out);
 
192
     out << "}" << endl;
 
193
     out << "\\fancyfoot[R]{}" << endl;
 
194
    }
 
195
    else if(_fileHeader->getFootType() == TH_EVODD)
 
196
    {
 
197
     switch(footer->getInfo())
 
198
     {
 
199
      case SI_NONE:
 
200
      case SI_FIRST:
 
201
       break;
 
202
      case SI_ODD:
 
203
       out << "\\fancyfoot[CO]{";
 
204
       footer->generate(out);
 
205
       out << "}";
 
206
       break;
 
207
      case SI_EVEN:
 
208
       out << "\\fancyfoot[CE]{";
 
209
       footer->generate(out);
 
210
       out << "}";
 
211
       break;
 
212
     }
 
213
    }
 
214
    else if(_fileHeader->getFootType() == TH_FIRST && footer->getInfo() == SI_FIRST)
 
215
    {
 
216
     out << "\\fanycfoot{";
 
217
     footer->generate(out);
 
218
     out << "}" << endl;
 
219
     out << "\\thispagestyle{fancy}" << endl;
 
220
    }*/
222
221
}
223
222