update dev300-m58
[ooovba.git] / writerfilter / source / dmapper / LFOTable.cxx
blob8008f2a90ddbfafe0d3194c3012ebdfbd9437027
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: LFOTable.cxx,v $
10 * $Revision: 1.5 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #include <LFOTable.hxx>
31 #include <doctok/resourceids.hxx>
32 #include <vector>
34 namespace writerfilter {
35 namespace dmapper
37 using namespace std;
38 using namespace writerfilter;
40 struct LFOLevel
42 sal_Int32 nIStartAt;
43 sal_Int32 nFStartAt;
44 sal_Int32 nFFormatting;
45 ::rtl::OUString sILevel;
47 LFOLevel() :
48 nIStartAt(-1)
49 ,nFStartAt(-1)
50 ,nFFormatting(-1)
53 typedef ::boost::shared_ptr< LFOLevel > LFOLevelPtr;
54 struct LFOEntry
56 sal_Int32 nListId;
57 sal_Int32 nCLFOLevel;
58 vector< LFOLevelPtr > aLFOLevels; //usually empty
60 LFOEntry() :
61 nListId(-1)
62 ,nCLFOLevel(-1)
65 typedef ::boost::shared_ptr<LFOEntry> LFOEntryPtr;
67 struct LFOTable_Impl
69 ::std::vector< LFOEntryPtr > m_aLFOEntries; //properties of each level
70 LFOEntryPtr m_pCurrentEntry;
73 /*-- 27.06.2006 15:13:03---------------------------------------------------
75 -----------------------------------------------------------------------*/
76 LFOTable::LFOTable() :
77 m_pImpl( new LFOTable_Impl )
80 /*-- 27.06.2006 15:13:03---------------------------------------------------
82 -----------------------------------------------------------------------*/
83 LFOTable::~LFOTable()
86 /*-- 27.06.2006 15:13:04---------------------------------------------------
88 -----------------------------------------------------------------------*/
89 void LFOTable::attribute(Id Name, Value & val)
91 OSL_ENSURE(m_pImpl->m_pCurrentEntry, "no current entry to write to");
92 if(!m_pImpl->m_pCurrentEntry)
93 return;
95 int nIntValue = val.getInt();
96 /* WRITERFILTERSTATUS: table: LFOTable_attributedata */
97 switch( Name )
99 // case NS_rtf::LN_ISTD: break;//index of applied style
100 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
101 case NS_rtf::LN_ISTARTAT:
102 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
103 case NS_rtf::LN_ILVL:
104 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
105 case NS_rtf::LN_FSTARTAT:
106 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
107 case NS_rtf::LN_FFORMATTING:
108 if(m_pImpl->m_pCurrentEntry->aLFOLevels.size())
110 vector< LFOLevelPtr >::reverse_iterator aEndIter = m_pImpl->m_pCurrentEntry->aLFOLevels.rbegin();
111 switch( Name )
113 case NS_rtf::LN_ISTARTAT:
114 (*aEndIter)->nIStartAt = nIntValue;
115 break;
116 case NS_rtf::LN_ILVL:
117 (*aEndIter)->sILevel = val.getString();
118 break;
119 case NS_rtf::LN_FSTARTAT:
120 (*aEndIter)->nFStartAt = nIntValue;
121 break;
122 case NS_rtf::LN_FFORMATTING:
123 (*aEndIter)->nFFormatting = nIntValue;
124 break;
125 default:;
128 break;
129 // case NS_rtf::LN_NFC: break;
130 // case NS_rtf::LN_JC: break;
131 // case NS_rtf::LN_FLEGAL: break;
132 // case NS_rtf::LN_FNORESTART: break;
133 // case NS_rtf::LN_FPREV: break;
134 // case NS_rtf::LN_FPREVSPACE: break;
135 // case NS_rtf::LN_FWORD6: break;
136 // case NS_rtf::LN_UNUSED5_7: break;
137 // case NS_rtf::LN_RGBXCHNUMS: break;
138 // case NS_rtf::LN_IXCHFOLLOW: break;
139 // case NS_rtf::LN_DXASPACE: break;
140 // case NS_rtf::LN_DXAINDENT: break;
141 // case NS_rtf::LN_CBGRPPRLCHPX: break;
142 // case NS_rtf::LN_CBGRPPRLPAPX: break;
143 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
144 case NS_rtf::LN_LSID:
145 m_pImpl->m_pCurrentEntry->nListId = nIntValue;
146 break;
147 // case NS_rtf::LN_TPLC: break;
148 // case NS_rtf::LN_RGISTD: break;
149 // case NS_rtf::LN_FSIMPLELIST: break;
150 // case NS_rtf::LN_FRESTARTHDN: break;
151 // case NS_rtf::LN_UNSIGNED26_2: break;
152 // case NS_rtf::LN_UNSIGNED4_6: break;
153 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
154 case NS_rtf::LN_UNUSED4:
155 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
156 case NS_rtf::LN_UNUSED8:
157 // as the names state they are unused
158 break;
159 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
160 case NS_rtf::LN_CLFOLVL:
161 m_pImpl->m_pCurrentEntry->nCLFOLevel = nIntValue;
162 break;
163 // case NS_rtf::LN_CBFFNM1: break;
164 // case NS_rtf::LN_PRQ: break;
165 // case NS_rtf::LN_FTRUETYPE: break;
166 // case NS_rtf::LN_UNUSED1_3: break;
167 // case NS_rtf::LN_FF: break;
168 // case NS_rtf::LN_UNUSED1_7: break;
169 // case NS_rtf::LN_WWEIGHT: break;
170 // case NS_rtf::LN_CHS: break;
171 // case NS_rtf::LN_IXCHSZALT: break;
172 // case NS_rtf::LN_PANOSE: break;
173 // case NS_rtf::LN_FS: break;
174 // case NS_rtf::LN_STI: break;
175 // case NS_rtf::LN_FSCRATCH: break;
176 // case NS_rtf::LN_FINVALHEIGHT: break;
177 // case NS_rtf::LN_FHASUPE: break;
178 // case NS_rtf::LN_FMASSCOPY: break;
179 // case NS_rtf::LN_SGC: break;
180 // case NS_rtf::LN_ISTDBASE: break;
181 // case NS_rtf::LN_CUPX: break;
182 // case NS_rtf::LN_ISTDNEXT: break;
183 // case NS_rtf::LN_BCHUPE: break;
184 // case NS_rtf::LN_FAUTOREDEF: break;
185 // case NS_rtf::LN_FHIDDEN: break;
186 // case NS_rtf::LN_UNUSED8_3: break;
187 // case NS_rtf::LN_CSTD: break;
188 // case NS_rtf::LN_CBSTDBASEINFILE: break;
189 // case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break;
190 // case NS_rtf::LN_UNUSED4_2: break;
191 // case NS_rtf::LN_STIMAXWHENSAVED: break;
192 // case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break;
193 // case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break;
194 // case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break;
195 // case NS_rtf::LN_WIDENT: break;
196 // case NS_rtf::LN_NFIB: break;
197 // case NS_rtf::LN_NPRODUCT: break;
198 // case NS_rtf::LN_LID: break;
199 // case NS_rtf::LN_PNNEXT: break;
200 // case NS_rtf::LN_FDOT: break;
201 // case NS_rtf::LN_FGLSY: break;
202 // case NS_rtf::LN_FCOMPLEX: break;
203 // case NS_rtf::LN_FHASPIC: break;
204 // case NS_rtf::LN_CQUICKSAVES: break;
205 // case NS_rtf::LN_FENCRYPTED: break;
206 // case NS_rtf::LN_FWHICHTBLSTM: break;
207 // case NS_rtf::LN_FREADONLYRECOMMENDED: break;
208 // case NS_rtf::LN_FWRITERESERVATION: break;
209 // case NS_rtf::LN_FEXTCHAR: break;
210 // case NS_rtf::LN_FLOADOVERRIDE: break;
211 // case NS_rtf::LN_FFAREAST: break;
212 // case NS_rtf::LN_FCRYPTO: break;
213 // case NS_rtf::LN_NFIBBACK: break;
214 // case NS_rtf::LN_LKEY: break;
215 // case NS_rtf::LN_ENVR: break;
216 // case NS_rtf::LN_FMAC: break;
217 // case NS_rtf::LN_FEMPTYSPECIAL: break;
218 // case NS_rtf::LN_FLOADOVERRIDEPAGE: break;
219 // case NS_rtf::LN_FFUTURESAVEDUNDO: break;
220 // case NS_rtf::LN_FWORD97SAVED: break;
221 // case NS_rtf::LN_FSPARE0: break;
222 // case NS_rtf::LN_CHSTABLES: break;
223 // case NS_rtf::LN_FCMIN: break;
224 // case NS_rtf::LN_FCMAC: break;
225 // case NS_rtf::LN_CSW: break;
226 // case NS_rtf::LN_WMAGICCREATED: break;
227 // case NS_rtf::LN_WMAGICREVISED: break;
228 // case NS_rtf::LN_WMAGICCREATEDPRIVATE: break;
229 // case NS_rtf::LN_WMAGICREVISEDPRIVATE: break;
230 // case NS_rtf::LN_PNFBPCHPFIRST_W6: break;
231 // case NS_rtf::LN_PNCHPFIRST_W6: break;
232 // case NS_rtf::LN_CPNBTECHP_W6: break;
233 // case NS_rtf::LN_PNFBPPAPFIRST_W6: break;
234 // case NS_rtf::LN_PNPAPFIRST_W6: break;
235 // case NS_rtf::LN_CPNBTEPAP_W6: break;
236 // case NS_rtf::LN_PNFBPLVCFIRST_W6: break;
237 // case NS_rtf::LN_PNLVCFIRST_W6: break;
238 // case NS_rtf::LN_CPNBTELVC_W6: break;
239 // case NS_rtf::LN_LIDFE: break;
240 // case NS_rtf::LN_CLW: break;
241 // case NS_rtf::LN_CBMAC: break;
242 // case NS_rtf::LN_LPRODUCTCREATED: break;
243 // case NS_rtf::LN_LPRODUCTREVISED: break;
244 // case NS_rtf::LN_CCPTEXT: break;
245 // case NS_rtf::LN_CCPFTN: break;
246 // case NS_rtf::LN_CCPHDD: break;
247 // case NS_rtf::LN_CCPMCR: break;
248 // case NS_rtf::LN_CCPATN: break;
249 // case NS_rtf::LN_CCPEDN: break;
250 // case NS_rtf::LN_CCPTXBX: break;
251 // case NS_rtf::LN_CCPHDRTXBX: break;
252 // case NS_rtf::LN_PNFBPCHPFIRST: break;
253 // case NS_rtf::LN_PNCHPFIRST: break;
254 // case NS_rtf::LN_CPNBTECHP: break;
255 // case NS_rtf::LN_PNFBPPAPFIRST: break;
256 // case NS_rtf::LN_PNPAPFIRST: break;
257 // case NS_rtf::LN_CPNBTEPAP: break;
258 // case NS_rtf::LN_PNFBPLVCFIRST: break;
259 // case NS_rtf::LN_PNLVCFIRST: break;
260 // case NS_rtf::LN_CPNBTELVC: break;
261 // case NS_rtf::LN_FCISLANDFIRST: break;
262 // case NS_rtf::LN_FCISLANDLIM: break;
263 // case NS_rtf::LN_CFCLCB: break;
264 // case NS_rtf::LN_FCSTSHFORIG: break;
265 // case NS_rtf::LN_LCBSTSHFORIG: break;
266 // case NS_rtf::LN_FCSTSHF: break;
267 // case NS_rtf::LN_LCBSTSHF: break;
268 // case NS_rtf::LN_FCPLCFFNDREF: break;
269 // case NS_rtf::LN_LCBPLCFFNDREF: break;
270 // case NS_rtf::LN_FCPLCFFNDTXT: break;
271 // case NS_rtf::LN_LCBPLCFFNDTXT: break;
272 // case NS_rtf::LN_FCPLCFANDREF: break;
273 // case NS_rtf::LN_LCBPLCFANDREF: break;
274 // case NS_rtf::LN_FCPLCFANDTXT: break;
275 // case NS_rtf::LN_LCBPLCFANDTXT: break;
276 // case NS_rtf::LN_FCPLCFSED: break;
277 // case NS_rtf::LN_LCBPLCFSED: break;
278 // case NS_rtf::LN_FCPLCFPAD: break;
279 // case NS_rtf::LN_LCBPLCFPAD: break;
280 // case NS_rtf::LN_FCPLCFPHE: break;
281 // case NS_rtf::LN_LCBPLCFPHE: break;
282 // case NS_rtf::LN_FCSTTBFGLSY: break;
283 // case NS_rtf::LN_LCBSTTBFGLSY: break;
284 // case NS_rtf::LN_FCPLCFGLSY: break;
285 // case NS_rtf::LN_LCBPLCFGLSY: break;
286 // case NS_rtf::LN_FCPLCFHDD: break;
287 // case NS_rtf::LN_LCBPLCFHDD: break;
288 // case NS_rtf::LN_FCPLCFBTECHPX: break;
289 // case NS_rtf::LN_LCBPLCFBTECHPX: break;
290 // case NS_rtf::LN_FCPLCFBTEPAPX: break;
291 // case NS_rtf::LN_LCBPLCFBTEPAPX: break;
292 // case NS_rtf::LN_FCPLCFSEA: break;
293 // case NS_rtf::LN_LCBPLCFSEA: break;
294 // case NS_rtf::LN_FCSTTBFFFN: break;
295 // case NS_rtf::LN_LCBSTTBFFFN: break;
296 // case NS_rtf::LN_FCPLCFFLDMOM: break;
297 // case NS_rtf::LN_LCBPLCFFLDMOM: break;
298 // case NS_rtf::LN_FCPLCFFLDHDR: break;
299 // case NS_rtf::LN_LCBPLCFFLDHDR: break;
300 // case NS_rtf::LN_FCPLCFFLDFTN: break;
301 // case NS_rtf::LN_LCBPLCFFLDFTN: break;
302 // case NS_rtf::LN_FCPLCFFLDATN: break;
303 // case NS_rtf::LN_LCBPLCFFLDATN: break;
304 // case NS_rtf::LN_FCPLCFFLDMCR: break;
305 // case NS_rtf::LN_LCBPLCFFLDMCR: break;
306 // case NS_rtf::LN_FCSTTBFBKMK: break;
307 // case NS_rtf::LN_LCBSTTBFBKMK: break;
308 // case NS_rtf::LN_FCPLCFBKF: break;
309 // case NS_rtf::LN_LCBPLCFBKF: break;
310 // case NS_rtf::LN_FCPLCFBKL: break;
311 // case NS_rtf::LN_LCBPLCFBKL: break;
312 // case NS_rtf::LN_FCCMDS: break;
313 // case NS_rtf::LN_LCBCMDS: break;
314 // case NS_rtf::LN_FCPLCMCR: break;
315 // case NS_rtf::LN_LCBPLCMCR: break;
316 // case NS_rtf::LN_FCSTTBFMCR: break;
317 // case NS_rtf::LN_LCBSTTBFMCR: break;
318 // case NS_rtf::LN_FCPRDRVR: break;
319 // case NS_rtf::LN_LCBPRDRVR: break;
320 // case NS_rtf::LN_FCPRENVPORT: break;
321 // case NS_rtf::LN_LCBPRENVPORT: break;
322 // case NS_rtf::LN_FCPRENVLAND: break;
323 // case NS_rtf::LN_LCBPRENVLAND: break;
324 // case NS_rtf::LN_FCWSS: break;
325 // case NS_rtf::LN_LCBWSS: break;
326 // case NS_rtf::LN_FCDOP: break;
327 // case NS_rtf::LN_LCBDOP: break;
328 // case NS_rtf::LN_FCSTTBFASSOC: break;
329 // case NS_rtf::LN_LCBSTTBFASSOC: break;
330 // case NS_rtf::LN_FCCLX: break;
331 // case NS_rtf::LN_LCBCLX: break;
332 // case NS_rtf::LN_FCPLCFPGDFTN: break;
333 // case NS_rtf::LN_LCBPLCFPGDFTN: break;
334 // case NS_rtf::LN_FCAUTOSAVESOURCE: break;
335 // case NS_rtf::LN_LCBAUTOSAVESOURCE: break;
336 // case NS_rtf::LN_FCGRPXSTATNOWNERS: break;
337 // case NS_rtf::LN_LCBGRPXSTATNOWNERS: break;
338 // case NS_rtf::LN_FCSTTBFATNBKMK: break;
339 // case NS_rtf::LN_LCBSTTBFATNBKMK: break;
340 // case NS_rtf::LN_FCPLCDOAMOM: break;
341 // case NS_rtf::LN_LCBPLCDOAMOM: break;
342 // case NS_rtf::LN_FCPLCDOAHDR: break;
343 // case NS_rtf::LN_LCBPLCDOAHDR: break;
344 // case NS_rtf::LN_FCPLCSPAMOM: break;
345 // case NS_rtf::LN_LCBPLCSPAMOM: break;
346 // case NS_rtf::LN_FCPLCSPAHDR: break;
347 // case NS_rtf::LN_LCBPLCSPAHDR: break;
348 // case NS_rtf::LN_FCPLCFATNBKF: break;
349 // case NS_rtf::LN_LCBPLCFATNBKF: break;
350 // case NS_rtf::LN_FCPLCFATNBKL: break;
351 // case NS_rtf::LN_LCBPLCFATNBKL: break;
352 // case NS_rtf::LN_FCPMS: break;
353 // case NS_rtf::LN_LCBPMS: break;
354 // case NS_rtf::LN_FCFORMFLDSTTBF: break;
355 // case NS_rtf::LN_LCBFORMFLDSTTBF: break;
356 // case NS_rtf::LN_FCPLCFENDREF: break;
357 // case NS_rtf::LN_LCBPLCFENDREF: break;
358 // case NS_rtf::LN_FCPLCFENDTXT: break;
359 // case NS_rtf::LN_LCBPLCFENDTXT: break;
360 // case NS_rtf::LN_FCPLCFFLDEDN: break;
361 // case NS_rtf::LN_LCBPLCFFLDEDN: break;
362 // case NS_rtf::LN_FCPLCFPGDEDN: break;
363 // case NS_rtf::LN_LCBPLCFPGDEDN: break;
364 // case NS_rtf::LN_FCDGGINFO: break;
365 // case NS_rtf::LN_LCBDGGINFO: break;
366 // case NS_rtf::LN_FCSTTBFRMARK: break;
367 // case NS_rtf::LN_LCBSTTBFRMARK: break;
368 // case NS_rtf::LN_FCSTTBFCAPTION: break;
369 // case NS_rtf::LN_LCBSTTBFCAPTION: break;
370 // case NS_rtf::LN_FCSTTBFAUTOCAPTION: break;
371 // case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break;
372 // case NS_rtf::LN_FCPLCFWKB: break;
373 // case NS_rtf::LN_LCBPLCFWKB: break;
374 // case NS_rtf::LN_FCPLCFSPL: break;
375 // case NS_rtf::LN_LCBPLCFSPL: break;
376 // case NS_rtf::LN_FCPLCFTXBXTXT: break;
377 // case NS_rtf::LN_LCBPLCFTXBXTXT: break;
378 // case NS_rtf::LN_FCPLCFFLDTXBX: break;
379 // case NS_rtf::LN_LCBPLCFFLDTXBX: break;
380 // case NS_rtf::LN_FCPLCFHDRTXBXTXT: break;
381 // case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break;
382 // case NS_rtf::LN_FCPLCFFLDHDRTXBX: break;
383 // case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break;
384 // case NS_rtf::LN_FCSTWUSER: break;
385 // case NS_rtf::LN_LCBSTWUSER: break;
386 // case NS_rtf::LN_FCSTTBTTMBD: break;
387 // case NS_rtf::LN_LCBSTTBTTMBD: break;
388 // case NS_rtf::LN_FCUNUSED: break;
389 // case NS_rtf::LN_LCBUNUSED: break;
390 // case NS_rtf::LN_FCPGDMOTHER: break;
391 // case NS_rtf::LN_LCBPGDMOTHER: break;
392 // case NS_rtf::LN_FCBKDMOTHER: break;
393 // case NS_rtf::LN_LCBBKDMOTHER: break;
394 // case NS_rtf::LN_FCPGDFTN: break;
395 // case NS_rtf::LN_LCBPGDFTN: break;
396 // case NS_rtf::LN_FCBKDFTN: break;
397 // case NS_rtf::LN_LCBBKDFTN: break;
398 // case NS_rtf::LN_FCPGDEDN: break;
399 // case NS_rtf::LN_LCBPGDEDN: break;
400 // case NS_rtf::LN_FCBKDEDN: break;
401 // case NS_rtf::LN_LCBBKDEDN: break;
402 // case NS_rtf::LN_FCSTTBFINTLFLD: break;
403 // case NS_rtf::LN_LCBSTTBFINTLFLD: break;
404 // case NS_rtf::LN_FCROUTESLIP: break;
405 // case NS_rtf::LN_LCBROUTESLIP: break;
406 // case NS_rtf::LN_FCSTTBSAVEDBY: break;
407 // case NS_rtf::LN_LCBSTTBSAVEDBY: break;
408 // case NS_rtf::LN_FCSTTBFNM: break;
409 // case NS_rtf::LN_LCBSTTBFNM: break;
410 // case NS_rtf::LN_FCPLCFLST: break;
411 // case NS_rtf::LN_LCBPLCFLST: break;
412 // case NS_rtf::LN_FCPLFLFO: break;
413 // case NS_rtf::LN_LCBPLFLFO: break;
414 // case NS_rtf::LN_FCPLCFTXBXBKD: break;
415 // case NS_rtf::LN_LCBPLCFTXBXBKD: break;
416 // case NS_rtf::LN_FCPLCFTXBXHDRBKD: break;
417 // case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break;
418 // case NS_rtf::LN_FCDOCUNDO: break;
419 // case NS_rtf::LN_LCBDOCUNDO: break;
420 // case NS_rtf::LN_FCRGBUSE: break;
421 // case NS_rtf::LN_LCBRGBUSE: break;
422 // case NS_rtf::LN_FCUSP: break;
423 // case NS_rtf::LN_LCBUSP: break;
424 // case NS_rtf::LN_FCUSKF: break;
425 // case NS_rtf::LN_LCBUSKF: break;
426 // case NS_rtf::LN_FCPLCUPCRGBUSE: break;
427 // case NS_rtf::LN_LCBPLCUPCRGBUSE: break;
428 // case NS_rtf::LN_FCPLCUPCUSP: break;
429 // case NS_rtf::LN_LCBPLCUPCUSP: break;
430 // case NS_rtf::LN_FCSTTBGLSYSTYLE: break;
431 // case NS_rtf::LN_LCBSTTBGLSYSTYLE: break;
432 // case NS_rtf::LN_FCPLGOSL: break;
433 // case NS_rtf::LN_LCBPLGOSL: break;
434 // case NS_rtf::LN_FCPLCOCX: break;
435 // case NS_rtf::LN_LCBPLCOCX: break;
436 // case NS_rtf::LN_FCPLCFBTELVC: break;
437 // case NS_rtf::LN_LCBPLCFBTELVC: break;
438 // case NS_rtf::LN_DWLOWDATETIME: break;
439 // case NS_rtf::LN_DWHIGHDATETIME: break;
440 // case NS_rtf::LN_FCPLCFLVC: break;
441 // case NS_rtf::LN_LCBPLCFLVC: break;
442 // case NS_rtf::LN_FCPLCASUMY: break;
443 // case NS_rtf::LN_LCBPLCASUMY: break;
444 // case NS_rtf::LN_FCPLCFGRAM: break;
445 // case NS_rtf::LN_LCBPLCFGRAM: break;
446 // case NS_rtf::LN_FCSTTBLISTNAMES: break;
447 // case NS_rtf::LN_LCBSTTBLISTNAMES: break;
448 // case NS_rtf::LN_FCSTTBFUSSR: break;
449 // case NS_rtf::LN_LCBSTTBFUSSR: break;
450 // case NS_rtf::LN_FN: break;
451 // case NS_rtf::LN_FCSEPX: break;
452 // case NS_rtf::LN_FNMPR: break;
453 // case NS_rtf::LN_FCMPR: break;
454 // case NS_rtf::LN_ICOFORE: break;
455 // case NS_rtf::LN_ICOBACK: break;
456 // case NS_rtf::LN_IPAT: break;
457 // case NS_rtf::LN_SHDFORECOLOR: break;
458 // case NS_rtf::LN_SHDBACKCOLOR: break;
459 // case NS_rtf::LN_SHDPATTERN: break;
460 // case NS_rtf::LN_DPTLINEWIDTH: break;
461 // case NS_rtf::LN_BRCTYPE: break;
462 // case NS_rtf::LN_ICO: break;
463 // case NS_rtf::LN_DPTSPACE: break;
464 // case NS_rtf::LN_FSHADOW: break;
465 // case NS_rtf::LN_FFRAME: break;
466 // case NS_rtf::LN_UNUSED2_15: break;
467 // case NS_rtf::LN_FFIRSTMERGED: break;
468 // case NS_rtf::LN_FMERGED: break;
469 // case NS_rtf::LN_FVERTICAL: break;
470 // case NS_rtf::LN_FBACKWARD: break;
471 // case NS_rtf::LN_FROTATEFONT: break;
472 // case NS_rtf::LN_FVERTMERGE: break;
473 // case NS_rtf::LN_FVERTRESTART: break;
474 // case NS_rtf::LN_VERTALIGN: break;
475 // case NS_rtf::LN_FUNUSED: break;
476 // case NS_rtf::LN_WUNUSED: break;
477 // case NS_rtf::LN_BRCTOP: break;
478 // case NS_rtf::LN_BRCLEFT: break;
479 // case NS_rtf::LN_BRCBOTTOM: break;
480 // case NS_rtf::LN_BRCRIGHT: break;
481 // case NS_rtf::LN_IBKL: break;
482 // case NS_rtf::LN_ITCFIRST: break;
483 // case NS_rtf::LN_FPUB: break;
484 // case NS_rtf::LN_ITCLIM: break;
485 // case NS_rtf::LN_FCOL: break;
486 // case NS_rtf::LN_LINECOLOR: break;
487 // case NS_rtf::LN_LINEWIDTH: break;
488 // case NS_rtf::LN_LINETYPE: break;
489 // case NS_rtf::LN_MM: break;
490 // case NS_rtf::LN_XEXT: break;
491 // case NS_rtf::LN_YEXT: break;
492 // case NS_rtf::LN_HMF: break;
493 // case NS_rtf::LN_LCB: break;
494 // case NS_rtf::LN_CBHEADER: break;
495 // case NS_rtf::LN_MFP: break;
496 // case NS_rtf::LN_BM_RCWINMF: break;
497 // case NS_rtf::LN_DXAGOAL: break;
498 // case NS_rtf::LN_DYAGOAL: break;
499 // case NS_rtf::LN_MX: break;
500 // case NS_rtf::LN_MY: break;
501 // case NS_rtf::LN_DXACROPLEFT: break;
502 // case NS_rtf::LN_DYACROPTOP: break;
503 // case NS_rtf::LN_DXACROPRIGHT: break;
504 // case NS_rtf::LN_DYACROPBOTTOM: break;
505 // case NS_rtf::LN_BRCL: break;
506 // case NS_rtf::LN_FFRAMEEMPTY: break;
507 // case NS_rtf::LN_FBITMAP: break;
508 // case NS_rtf::LN_FDRAWHATCH: break;
509 // case NS_rtf::LN_FERROR: break;
510 // case NS_rtf::LN_BPP: break;
511 // case NS_rtf::LN_DXAORIGIN: break;
512 // case NS_rtf::LN_DYAORIGIN: break;
513 // case NS_rtf::LN_CPROPS: break;
514 // case NS_rtf::LN_LINEPROPSTOP: break;
515 // case NS_rtf::LN_LINEPROPSLEFT: break;
516 // case NS_rtf::LN_LINEPROPSBOTTOM: break;
517 // case NS_rtf::LN_LINEPROPSRIGHT: break;
518 // case NS_rtf::LN_LINEPROPSHORIZONTAL: break;
519 // case NS_rtf::LN_LINEPROPSVERTICAL: break;
520 // case NS_rtf::LN_headerr: break;
521 // case NS_rtf::LN_footerr: break;
522 // case NS_rtf::LN_endnote: break;
523 // case NS_rtf::LN_BOOKMARKNAME: break;
525 // case NS_rtf::LN_LISTLEVEL: break;
526 /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */
527 case NS_rtf::LN_LFO:
529 writerfilter::Reference<Properties>::Pointer_t pProperties;
530 if(m_pImpl->m_pCurrentEntry && (pProperties = val.getProperties()).get())
532 LFOLevelPtr pLevel( new LFOLevel );
533 m_pImpl->m_pCurrentEntry->aLFOLevels.push_back(pLevel);
536 break;
537 // case NS_rtf::LN_F: break;
538 // case NS_rtf::LN_ALTFONTNAME: break;
539 // case NS_rtf::LN_XSZFFN: break;
540 // case NS_rtf::LN_XSTZNAME: break;
541 // case NS_rtf::LN_XSTZNAME1: break;
542 // case NS_rtf::LN_UPXSTART: break;
543 // case NS_rtf::LN_UPX: break;
544 // case NS_rtf::LN_sed: break;
545 // case NS_rtf::LN_picf: break;
546 // case NS_rtf::LN_rgbrc: break;
547 // case NS_rtf::LN_shd: break;
548 // case NS_rtf::LN_cellShd: break;
549 // case NS_rtf::LN_cellTopColor: break;
550 // case NS_rtf::LN_cellLeftColor: break;
551 // case NS_rtf::LN_cellBottomColor: break;
552 // case NS_rtf::LN_cellRightColor: break;
554 // case NS_rtf::LN_LISTTABLE: break;
555 // case NS_rtf::LN_LFOTABLE: break;
556 // case NS_rtf::LN_FONTTABLE: break;
557 // case NS_rtf::LN_STYLESHEET: break;
558 default:
560 OSL_ENSURE( false, "LFOTable::attribute: default statement");
561 //---->debug
562 int nVal = val.getInt();
563 ++nVal;
564 //<----debug
568 /*-- 27.06.2006 15:13:04---------------------------------------------------
570 -----------------------------------------------------------------------*/
571 void LFOTable::sprm(Sprm& )
573 OSL_ENSURE( false, "Which sprm should be handled here?");
575 /*-- 27.06.2006 15:13:04---------------------------------------------------
577 -----------------------------------------------------------------------*/
578 void LFOTable::entry(int, writerfilter::Reference<Properties>::Pointer_t ref)
580 //create a new LFO entry
581 OSL_ENSURE( !m_pImpl->m_pCurrentEntry.get(), "current entry has to be NULL here");
582 m_pImpl->m_pCurrentEntry.reset( new LFOEntry );
583 ref->resolve(*this);
584 //append it to the table
585 m_pImpl->m_aLFOEntries.push_back( m_pImpl->m_pCurrentEntry );
586 m_pImpl->m_pCurrentEntry = LFOEntryPtr();
588 /*-- 27.06.2006 15:13:05---------------------------------------------------
589 1 based access to the LFO table
590 -----------------------------------------------------------------------*/
591 sal_Int32 LFOTable::GetListID(sal_uInt32 nLFO)
593 sal_Int32 nRet = -1;
594 if( nLFO > 0 && nLFO <= m_pImpl->m_aLFOEntries.size())
595 nRet = m_pImpl->m_aLFOEntries[nLFO - 1]->nListId;
596 return nRet;
598 /*-- 12.11.2007 10:31:23---------------------------------------------------
600 -----------------------------------------------------------------------*/
601 void LFOTable::AddListID( sal_Int32 nAbstractNumId )
603 LFOEntryPtr pNew( new LFOEntry );
604 pNew->nListId = nAbstractNumId;
605 m_pImpl->m_aLFOEntries.push_back( pNew );
608 }//namespace dmapper
609 }//namespace writerfilter