Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*
3 : : * This file is part of the LibreOffice project.
4 : : *
5 : : * This Source Code Form is subject to the terms of the Mozilla Public
6 : : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : : *
9 : : * This file incorporates work covered by the following license notice:
10 : : *
11 : : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : : * contributor license agreements. See the NOTICE file distributed
13 : : * with this work for additional information regarding copyright
14 : : * ownership. The ASF licenses this file to you under the Apache
15 : : * License, Version 2.0 (the "License"); you may not use this file
16 : : * except in compliance with the License. You may obtain a copy of
17 : : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : : */
19 : :
20 : : /** @#file
21 : : *
22 : : * import of all text fields
23 : : * (except variable related + database display field: see txtvfldi.hxx)
24 : : */
25 : :
26 : : #ifndef _XMLOFF_TXTFLDI_HXX
27 : : #define _XMLOFF_TXTFLDI_HXX
28 : :
29 : : #include <com/sun/star/uno/Reference.h>
30 : : #include <com/sun/star/text/PageNumberType.hpp>
31 : : #include <com/sun/star/util/DateTime.hpp>
32 : : #include <com/sun/star/util/Date.hpp>
33 : : #include <xmloff/xmlictxt.hxx>
34 : : #include <xmloff/txtimp.hxx>
35 : : #include <rtl/ustrbuf.hxx>
36 : :
37 : :
38 : :
39 : : namespace com { namespace sun { namespace star {
40 : : namespace xml { namespace sax { class XAttributeList; } }
41 : : namespace text { class XTextField; }
42 : : namespace beans { class XPropertySet; struct PropertyValue; }
43 : : } } }
44 : :
45 : : namespace rtl
46 : : {
47 : : class OUString;
48 : : }
49 : :
50 : :
51 : : class SvXMLImport;
52 : : class XMLTextImportHelper;
53 : : class SvXMLTokenMap;
54 : :
55 : :
56 : :
57 : :
58 : : enum XMLTextFieldAttrTokens
59 : : {
60 : : XML_TOK_TEXTFIELD_FIXED = 0,
61 : : XML_TOK_TEXTFIELD_DESCRIPTION,
62 : : XML_TOK_TEXTFIELD_HELP,
63 : : XML_TOK_TEXTFIELD_HINT,
64 : : XML_TOK_TEXTFIELD_PLACEHOLDER_TYPE,
65 : : XML_TOK_TEXTFIELD_TIME_ADJUST,
66 : : XML_TOK_TEXTFIELD_DATE_ADJUST,
67 : : XML_TOK_TEXTFIELD_PAGE_ADJUST,
68 : : XML_TOK_TEXTFIELD_SELECT_PAGE,
69 : : XML_TOK_TEXTFIELD_ACTIVE,
70 : :
71 : : XML_TOK_TEXTFIELD_NAME,
72 : : XML_TOK_TEXTFIELD_FORMULA,
73 : : XML_TOK_TEXTFIELD_NUM_FORMAT,
74 : : XML_TOK_TEXTFIELD_NUM_LETTER_SYNC,
75 : : XML_TOK_TEXTFIELD_DISPLAY_FORMULA,
76 : : XML_TOK_TEXTFIELD_NUMBERING_LEVEL,
77 : : XML_TOK_TEXTFIELD_NUMBERING_SEPARATOR,
78 : : XML_TOK_TEXTFIELD_DISPLAY,
79 : : XML_TOK_TEXTFIELD_OUTLINE_LEVEL,
80 : :
81 : : XML_TOK_TEXTFIELD_VALUE_TYPE,
82 : : XML_TOK_TEXTFIELD_VALUE,
83 : : XML_TOK_TEXTFIELD_STRING_VALUE,
84 : : XML_TOK_TEXTFIELD_DATE_VALUE,
85 : : XML_TOK_TEXTFIELD_TIME_VALUE,
86 : : XML_TOK_TEXTFIELD_BOOL_VALUE,
87 : : XML_TOK_TEXTFIELD_CURRENCY,
88 : : XML_TOK_TEXTFIELD_DATA_STYLE_NAME,
89 : :
90 : : XML_TOK_TEXTFIELD_DATABASE_NAME,
91 : : XML_TOK_TEXTFIELD_TABLE_NAME,
92 : : XML_TOK_TEXTFIELD_COLUMN_NAME,
93 : : XML_TOK_TEXTFIELD_ROW_NUMBER,
94 : : XML_TOK_TEXTFIELD_CONDITION,
95 : : XML_TOK_TEXTFIELD_STRING_VALUE_IF_TRUE,
96 : : XML_TOK_TEXTFIELD_STRING_VALUE_IF_FALSE,
97 : : XML_TOK_TEXTFIELD_REVISION,
98 : : XML_TOK_TEXTFIELD_IS_HIDDEN,
99 : : XML_TOK_TEXTFIELD_CURRENT_VALUE,
100 : :
101 : : XML_TOK_TEXTFIELD_REFERENCE_FORMAT,
102 : : XML_TOK_TEXTFIELD_REF_NAME,
103 : : XML_TOK_TEXTFIELD_CONNECTION_NAME,
104 : :
105 : : XML_TOK_TEXTFIELD_HREF,
106 : : XML_TOK_TEXTFIELD_TARGET_FRAME,
107 : :
108 : : XML_TOK_TEXTFIELD_OFFICE_CREATE_DATE,
109 : : XML_TOK_TEXTFIELD_OFFICE_AUTHOR,
110 : : XML_TOK_TEXTFIELD_ANNOTATION,
111 : : XML_TOK_TEXTFIELD_LANGUAGE,
112 : :
113 : : XML_TOK_TEXTFIELD_MEASURE_KIND,
114 : : XML_TOK_TEXTFIELD_TABLE_TYPE,
115 : :
116 : : XML_TOK_TEXTFIELD_NOTE_CLASS,
117 : :
118 : : XML_TOK_TEXTFIELD_UNKNOWN
119 : : };
120 : :
121 : :
122 : :
123 : :
124 : :
125 : : /// abstract class for text field import
126 : : class XMLTextFieldImportContext : public SvXMLImportContext
127 : : {
128 : : const ::rtl::OUString sIsFixed;
129 : :
130 : : // data members
131 : : ::rtl::OUStringBuffer sContentBuffer; /// collect character data
132 : : ::rtl::OUString sContent; /// character data after collection
133 : : ::rtl::OUString sServiceName; /// service name for text field
134 : : XMLTextImportHelper& rTextImportHelper; /// the import helper
135 : :
136 : : protected:
137 : : ::rtl::OUString sServicePrefix;
138 : :
139 : : // data members for use in subclasses
140 : : sal_Bool bValid; /// ist dieses Feld gültig?
141 : :
142 : : public:
143 : :
144 : : TYPEINFO();
145 : :
146 : : XMLTextFieldImportContext(
147 : : SvXMLImport& rImport, /// XML Import
148 : : XMLTextImportHelper& rHlp, /// Text import helper
149 : : const sal_Char* pService, /// name of SO API service
150 : : sal_uInt16 nPrfx, /// namespace prefix
151 : : const ::rtl::OUString& rLocalName); /// element name w/o prefix
152 : :
153 : : virtual ~XMLTextFieldImportContext();
154 : :
155 : : /// process character data: will be collected in member sContentBuffer
156 : : virtual void Characters( const ::rtl::OUString& sContent );
157 : :
158 : : /// parses attributes and calls ProcessAttribute
159 : : virtual void StartElement(
160 : : const ::com::sun::star::uno::Reference<
161 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList);
162 : :
163 : : /// create XTextField and insert into document; calls PrepareTextField
164 : : virtual void EndElement();
165 : :
166 : : /// create the appropriate field context from
167 : : /// (for use in paragraph import)
168 : : static XMLTextFieldImportContext* CreateTextFieldImportContext(
169 : : SvXMLImport& rImport,
170 : : XMLTextImportHelper& rHlp,
171 : : sal_uInt16 nPrefix,
172 : : const ::rtl::OUString& rName,
173 : : sal_uInt16 nToken);
174 : :
175 : :
176 : : protected:
177 : :
178 : : /// get helper
179 : 130 : inline XMLTextImportHelper& GetImportHelper() { return rTextImportHelper; }
180 : :
181 : 865 : inline ::rtl::OUString GetServiceName() { return sServiceName; }
182 : 0 : inline void SetServiceName(::rtl::OUString sStr) { sServiceName = sStr; }
183 : :
184 : : ::rtl::OUString GetContent();
185 : :
186 : : /// process attribute values
187 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
188 : : const ::rtl::OUString& sAttrValue ) = 0;
189 : :
190 : : /// prepare XTextField for insertion into document
191 : : virtual void PrepareField(
192 : : const ::com::sun::star::uno::Reference<
193 : : ::com::sun::star::beans::XPropertySet> & xPropertySet) = 0;
194 : :
195 : : /// create field from ServiceName
196 : : sal_Bool CreateField(::com::sun::star::uno::Reference<
197 : : ::com::sun::star::beans::XPropertySet> & xField,
198 : : const ::rtl::OUString& sServiceName);
199 : :
200 : : /// force an update of the field's value
201 : : /// call update on optional XUptadeable interface; (disable Fixed property)
202 : : void ForceUpdate(
203 : : const ::com::sun::star::uno::Reference<
204 : : ::com::sun::star::beans::XPropertySet> & rPropertySet);
205 : : };
206 : :
207 : :
208 : :
209 [ # # ]: 0 : class XMLSenderFieldImportContext : public XMLTextFieldImportContext
210 : : {
211 : :
212 : : sal_Int16 nSubType; /// API subtype for ExtUser field
213 : :
214 : : const ::rtl::OUString sEmpty; /// empty string
215 : : const ::rtl::OUString sPropertyFixed;
216 : : const ::rtl::OUString sPropertyFieldSubType;
217 : : const ::rtl::OUString sPropertyContent;
218 : :
219 : : protected:
220 : :
221 : : // variables for access in subclass
222 : : sal_Bool bFixed;
223 : : sal_uInt16 nElementToken; /// token for this elment field
224 : :
225 : : public:
226 : :
227 : : TYPEINFO();
228 : :
229 : : XMLSenderFieldImportContext(
230 : : SvXMLImport& rImport, /// XML Import
231 : : XMLTextImportHelper& rHlp, /// Text import helper
232 : : sal_uInt16 nPrfx, /// namespace prefix
233 : : const ::rtl::OUString& sLocalName, /// element name w/o prefix
234 : : sal_uInt16 nToken); /// element token
235 : :
236 : : protected:
237 : :
238 : : /// start element
239 : : virtual void StartElement(
240 : : const ::com::sun::star::uno::Reference<
241 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList);
242 : :
243 : : /// process attribute values
244 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
245 : : const ::rtl::OUString& sAttrValue );
246 : :
247 : : /// prepare XTextField for insertion into document
248 : : virtual void PrepareField(
249 : : const ::com::sun::star::uno::Reference<
250 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
251 : : };
252 : :
253 : :
254 : : /** inherit sender field because of fixed attribute in ProcessAttributes */
255 [ # # ]: 0 : class XMLAuthorFieldImportContext : public XMLSenderFieldImportContext
256 : : {
257 : :
258 : : sal_Bool bAuthorFullName;
259 : : const ::rtl::OUString sServiceAuthor;
260 : : const ::rtl::OUString sPropertyAuthorFullName;
261 : : const ::rtl::OUString sPropertyFixed;
262 : : const ::rtl::OUString sPropertyContent;
263 : :
264 : : public:
265 : :
266 : : TYPEINFO();
267 : :
268 : : XMLAuthorFieldImportContext(
269 : : SvXMLImport& rImport, /// XML Import
270 : : XMLTextImportHelper& rHlp, /// Text import helper
271 : : sal_uInt16 nPrfx, /// namespace prefix
272 : : const ::rtl::OUString& sLocalName, /// element name w/o prefix
273 : : sal_uInt16 nToken); /// element token
274 : :
275 : : protected:
276 : :
277 : : /// start element
278 : : virtual void StartElement(
279 : : const ::com::sun::star::uno::Reference<
280 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList);
281 : :
282 : : /// prepare XTextField for insertion into document
283 : : virtual void PrepareField(
284 : : const ::com::sun::star::uno::Reference<
285 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
286 : : };
287 : :
288 : :
289 : :
290 [ - + ]: 28 : class XMLPlaceholderFieldImportContext : public XMLTextFieldImportContext
291 : : {
292 : :
293 : : const ::rtl::OUString sEmpty; /// empty string
294 : : const ::rtl::OUString sServiceJumpEdit;
295 : : const ::rtl::OUString sPropertyPlaceholderType;
296 : : const ::rtl::OUString sPropertyPlaceholder;
297 : : const ::rtl::OUString sPropertyHint;
298 : :
299 : : ::rtl::OUString sDescription;
300 : :
301 : : sal_Int16 nPlaceholderType;
302 : :
303 : : public:
304 : :
305 : : TYPEINFO();
306 : :
307 : : XMLPlaceholderFieldImportContext(
308 : : SvXMLImport& rImport, /// XML Import
309 : : XMLTextImportHelper& rHlp, /// Text import helper
310 : : sal_uInt16 nPrfx, /// namespace prefix
311 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
312 : :
313 : : protected:
314 : :
315 : : /// process attribute values
316 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
317 : : const ::rtl::OUString& sAttrValue );
318 : :
319 : : /// prepare XTextField for insertion into document
320 : : virtual void PrepareField(
321 : : const ::com::sun::star::uno::Reference<
322 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
323 : : };
324 : :
325 [ - + ]: 283 : class XMLTimeFieldImportContext : public XMLTextFieldImportContext
326 : : {
327 : :
328 : : protected:
329 : : const ::rtl::OUString sPropertyNumberFormat;
330 : : const ::rtl::OUString sPropertyFixed;
331 : : const ::rtl::OUString sPropertyDateTimeValue;
332 : : const ::rtl::OUString sPropertyDateTime;
333 : : const ::rtl::OUString sPropertyAdjust;
334 : : const ::rtl::OUString sPropertyIsDate;
335 : : const ::rtl::OUString sPropertyIsFixedLanguage;
336 : :
337 : : double fTimeValue;
338 : : ::com::sun::star::util::DateTime aDateTimeValue;
339 : : sal_Int32 nAdjust;
340 : : sal_Int32 nFormatKey;
341 : : sal_Bool bTimeOK;
342 : : sal_Bool bFormatOK;
343 : : sal_Bool bFixed;
344 : : sal_Bool bIsDate; // is this a date?
345 : : // (for XMLDateFieldImportContext, really)
346 : : sal_Bool bIsDefaultLanguage;
347 : :
348 : : public:
349 : :
350 : : TYPEINFO();
351 : :
352 : : XMLTimeFieldImportContext(
353 : : SvXMLImport& rImport, /// XML Import
354 : : XMLTextImportHelper& rHlp, /// Text import helper
355 : : sal_uInt16 nPrfx, /// namespace prefix
356 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
357 : :
358 : : /// process attribute values
359 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
360 : : const ::rtl::OUString& sAttrValue );
361 : :
362 : : /// prepare XTextField for insertion into document
363 : : virtual void PrepareField(
364 : : const ::com::sun::star::uno::Reference<
365 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
366 : : };
367 : :
368 : :
369 : : /** import date fields (<text:date>);
370 : : inherit from TimeField to reuse implementation */
371 [ - + ]: 194 : class XMLDateFieldImportContext : public XMLTimeFieldImportContext
372 : : {
373 : :
374 : : public:
375 : :
376 : : TYPEINFO();
377 : :
378 : : XMLDateFieldImportContext(
379 : : SvXMLImport& rImport, /// XML Import
380 : : XMLTextImportHelper& rHlp, /// Text import helper
381 : : sal_uInt16 nPrfx, /// namespace prefix
382 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
383 : :
384 : : /// process attribute values
385 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
386 : : const ::rtl::OUString& sAttrValue );
387 : : };
388 : :
389 : :
390 : : /** import page continuation fields (<text:page-continuation-string>) */
391 [ # # ]: 0 : class XMLPageContinuationImportContext : public XMLTextFieldImportContext
392 : : {
393 : : const ::rtl::OUString sPropertySubType;
394 : : const ::rtl::OUString sPropertyUserText;
395 : : const ::rtl::OUString sPropertyNumberingType;
396 : :
397 : : ::rtl::OUString sString; /// continuation string
398 : : com::sun::star::text::PageNumberType eSelectPage; /// previous, current
399 : : /// or next page
400 : : sal_Bool sStringOK; /// continuation string encountered?
401 : :
402 : : public:
403 : :
404 : : TYPEINFO();
405 : :
406 : : XMLPageContinuationImportContext(
407 : : SvXMLImport& rImport, /// XML Import
408 : : XMLTextImportHelper& rHlp, /// Text import helper
409 : : sal_uInt16 nPrfx, /// namespace prefix
410 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
411 : :
412 : :
413 : : /// process attribute values
414 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
415 : : const ::rtl::OUString& sAttrValue );
416 : :
417 : : /// prepare XTextField for insertion into document
418 : : virtual void PrepareField(
419 : : const ::com::sun::star::uno::Reference<
420 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
421 : : };
422 : :
423 : :
424 : : /** import page number fields (<text:page-number>) */
425 [ - + ]: 426 : class XMLPageNumberImportContext : public XMLTextFieldImportContext
426 : : {
427 : : const ::rtl::OUString sPropertySubType;
428 : : const ::rtl::OUString sPropertyNumberingType;
429 : : const ::rtl::OUString sPropertyOffset;
430 : :
431 : : ::rtl::OUString sNumberFormat;
432 : : ::rtl::OUString sNumberSync;
433 : : sal_Int16 nPageAdjust;
434 : : com::sun::star::text::PageNumberType eSelectPage; /// previous, current
435 : : /// or next page
436 : : sal_Bool sNumberFormatOK;
437 : :
438 : : public:
439 : :
440 : : TYPEINFO();
441 : :
442 : : XMLPageNumberImportContext(
443 : : SvXMLImport& rImport, /// XML Import
444 : : XMLTextImportHelper& rHlp, /// Text import helper
445 : : sal_uInt16 nPrfx, /// namespace prefix
446 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
447 : :
448 : :
449 : : /// process attribute values
450 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
451 : : const ::rtl::OUString& sAttrValue );
452 : :
453 : : /// prepare XTextField for insertion into document
454 : : virtual void PrepareField(
455 : : const ::com::sun::star::uno::Reference<
456 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
457 : : };
458 : :
459 : :
460 : : /** superclass for database fields: handle database and table names */
461 [ # # ]: 0 : class XMLDatabaseFieldImportContext : public XMLTextFieldImportContext
462 : : {
463 : : const ::rtl::OUString sPropertyDataBaseName;
464 : : const ::rtl::OUString sPropertyDataBaseURL;
465 : : const ::rtl::OUString sPropertyTableName;
466 : : const ::rtl::OUString sPropertyDataCommandType;
467 : : const ::rtl::OUString sPropertyIsVisible;
468 : :
469 : : ::rtl::OUString sDatabaseName;
470 : : ::rtl::OUString sDatabaseURL;
471 : : ::rtl::OUString sTableName;
472 : :
473 : : sal_Int32 nCommandType;
474 : : sal_Bool bCommandTypeOK;
475 : :
476 : : sal_Bool bDisplay;
477 : : bool bDisplayOK;
478 : : bool bUseDisplay;
479 : :
480 : : protected:
481 : : sal_Bool bDatabaseOK;
482 : : sal_Bool bDatabaseNameOK;
483 : : sal_Bool bDatabaseURLOK;
484 : : sal_Bool bTableOK;
485 : :
486 : : /// protected constructor: only for subclasses
487 : : XMLDatabaseFieldImportContext(SvXMLImport& rImport,
488 : : XMLTextImportHelper& rHlp,
489 : : const sal_Char* pServiceName,
490 : : sal_uInt16 nPrfx,
491 : : const ::rtl::OUString& sLocalName,
492 : : bool bUseDisplay );
493 : :
494 : : public:
495 : :
496 : : TYPEINFO();
497 : :
498 : : /// process attribute values
499 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
500 : : const ::rtl::OUString& sAttrValue );
501 : :
502 : : /// prepare XTextField for insertion into document
503 : : virtual void PrepareField(
504 : : const ::com::sun::star::uno::Reference<
505 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
506 : :
507 : : /// handle database-location children
508 : : virtual SvXMLImportContext *CreateChildContext(
509 : : sal_uInt16 nPrefix,
510 : : const ::rtl::OUString& rLocalName,
511 : : const ::com::sun::star::uno::Reference<
512 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList );
513 : : };
514 : :
515 : : /** import database name fields (<text:database-name>) */
516 [ # # ]: 0 : class XMLDatabaseNameImportContext : public XMLDatabaseFieldImportContext
517 : : {
518 : : public:
519 : :
520 : : TYPEINFO();
521 : :
522 : : XMLDatabaseNameImportContext(SvXMLImport& rImport,
523 : : XMLTextImportHelper& rHlp,
524 : : sal_uInt16 nPrfx,
525 : : const ::rtl::OUString& sLocalName);
526 : :
527 : : /// process attribute values
528 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
529 : : const ::rtl::OUString& sAttrValue );
530 : : };
531 : :
532 : :
533 : : /** import database next fields (<text:database-next>) */
534 [ # # ]: 0 : class XMLDatabaseNextImportContext : public XMLDatabaseFieldImportContext
535 : : {
536 : : const ::rtl::OUString sPropertyCondition;
537 : : const ::rtl::OUString sTrue;
538 : : ::rtl::OUString sCondition;
539 : : sal_Bool bConditionOK;
540 : :
541 : : protected:
542 : :
543 : : // for use in child classes
544 : : XMLDatabaseNextImportContext(SvXMLImport& rImport,
545 : : XMLTextImportHelper& rHlp,
546 : : const sal_Char* pServiceName,
547 : : sal_uInt16 nPrfx,
548 : : const ::rtl::OUString& sLocalName);
549 : :
550 : : public:
551 : :
552 : : TYPEINFO();
553 : :
554 : : XMLDatabaseNextImportContext(SvXMLImport& rImport,
555 : : XMLTextImportHelper& rHlp,
556 : : sal_uInt16 nPrfx,
557 : : const ::rtl::OUString& sLocalName);
558 : :
559 : : /// process attribute values
560 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
561 : : const ::rtl::OUString& sAttrValue );
562 : :
563 : : /// prepare XTextField for insertion into document
564 : : virtual void PrepareField(
565 : : const ::com::sun::star::uno::Reference<
566 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
567 : : };
568 : :
569 : :
570 : :
571 : : /** import database select fields (<text:database-select>) */
572 [ # # ]: 0 : class XMLDatabaseSelectImportContext : public XMLDatabaseNextImportContext
573 : : {
574 : : const ::rtl::OUString sPropertySetNumber;
575 : : sal_Int32 nNumber;
576 : : sal_Bool bNumberOK;
577 : :
578 : : public:
579 : :
580 : : TYPEINFO();
581 : :
582 : : XMLDatabaseSelectImportContext(SvXMLImport& rImport,
583 : : XMLTextImportHelper& rHlp,
584 : : sal_uInt16 nPrfx,
585 : : const ::rtl::OUString& sLocalName);
586 : :
587 : : /// process attribute values
588 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
589 : : const ::rtl::OUString& sAttrValue );
590 : :
591 : : /// prepare XTextField for insertion into document
592 : : virtual void PrepareField(
593 : : const ::com::sun::star::uno::Reference<
594 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
595 : : };
596 : :
597 : :
598 : : /** import database display number fields (<text:database-row-number>) */
599 [ # # ]: 0 : class XMLDatabaseNumberImportContext : public XMLDatabaseFieldImportContext
600 : : {
601 : : const ::rtl::OUString sPropertyNumberingType;
602 : : const ::rtl::OUString sPropertySetNumber;
603 : : ::rtl::OUString sNumberFormat;
604 : : ::rtl::OUString sNumberSync;
605 : : sal_Int32 nValue;
606 : : sal_Bool bValueOK;
607 : :
608 : : public:
609 : :
610 : : TYPEINFO();
611 : :
612 : : XMLDatabaseNumberImportContext(SvXMLImport& rImport,
613 : : XMLTextImportHelper& rHlp,
614 : : sal_uInt16 nPrfx,
615 : : const ::rtl::OUString& sLocalName);
616 : :
617 : : /// process attribute values
618 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
619 : : const ::rtl::OUString& sAttrValue );
620 : :
621 : : /// prepare XTextField for insertion into document
622 : : virtual void PrepareField(
623 : : const ::com::sun::star::uno::Reference<
624 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
625 : : };
626 : :
627 : :
628 : : /** import docinfo fields with only fixed atribute */
629 [ - + ]: 186 : class XMLSimpleDocInfoImportContext : public XMLTextFieldImportContext
630 : : {
631 : : const ::rtl::OUString sPropertyFixed;
632 : : const ::rtl::OUString sPropertyContent;
633 : : const ::rtl::OUString sPropertyAuthor;
634 : : const ::rtl::OUString sPropertyCurrentPresentation;
635 : :
636 : : protected:
637 : : sal_Bool bFixed;
638 : : sal_Bool bHasAuthor;
639 : : sal_Bool bHasContent;
640 : :
641 : : public:
642 : :
643 : : TYPEINFO();
644 : :
645 : : XMLSimpleDocInfoImportContext(SvXMLImport& rImport,
646 : : XMLTextImportHelper& rHlp,
647 : : sal_uInt16 nPrfx,
648 : : const ::rtl::OUString& sLocalName,
649 : : sal_uInt16 nToken,
650 : : sal_Bool bContent,
651 : : sal_Bool bAuthor);
652 : :
653 : : protected:
654 : :
655 : : /// process attribute values
656 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
657 : : const ::rtl::OUString& sAttrValue );
658 : :
659 : : /// prepare XTextField for insertion into document
660 : : virtual void PrepareField(
661 : : const ::com::sun::star::uno::Reference<
662 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
663 : :
664 : : static const sal_Char* MapTokenToServiceName(sal_uInt16 nToken);
665 : : };
666 : :
667 : :
668 : :
669 : : /** import docinfo fields with date or time attributes and numberformats */
670 [ # # ]: 0 : class XMLDateTimeDocInfoImportContext : public XMLSimpleDocInfoImportContext
671 : : {
672 : : const ::rtl::OUString sPropertyNumberFormat;
673 : : const ::rtl::OUString sPropertyIsDate;
674 : : const ::rtl::OUString sPropertyIsFixedLanguage;
675 : :
676 : : sal_Int32 nFormat;
677 : : sal_Bool bFormatOK;
678 : : sal_Bool bIsDate;
679 : : sal_Bool bHasDateTime;
680 : : sal_Bool bIsDefaultLanguage;
681 : :
682 : : public:
683 : :
684 : : TYPEINFO();
685 : :
686 : : XMLDateTimeDocInfoImportContext(SvXMLImport& rImport,
687 : : XMLTextImportHelper& rHlp,
688 : : sal_uInt16 nPrfx,
689 : : const ::rtl::OUString& sLocalName,
690 : : sal_uInt16 nToken);
691 : :
692 : : protected:
693 : :
694 : : /// process attribute values
695 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
696 : : const ::rtl::OUString& sAttrValue );
697 : :
698 : : /// prepare XTextField for insertion into document
699 : : virtual void PrepareField(
700 : : const ::com::sun::star::uno::Reference<
701 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
702 : : };
703 : :
704 : :
705 : :
706 : : /** import revision field (<text:editing-cycles>) */
707 [ # # ]: 0 : class XMLRevisionDocInfoImportContext : public XMLSimpleDocInfoImportContext
708 : : {
709 : : const ::rtl::OUString sPropertyRevision;
710 : :
711 : : public:
712 : :
713 : : TYPEINFO();
714 : :
715 : : XMLRevisionDocInfoImportContext(SvXMLImport& rImport,
716 : : XMLTextImportHelper& rHlp,
717 : : sal_uInt16 nPrfx,
718 : : const ::rtl::OUString& sLocalName,
719 : : sal_uInt16 nToken);
720 : :
721 : : protected:
722 : :
723 : : /// prepare XTextField for insertion into document
724 : : virtual void PrepareField(
725 : : const ::com::sun::star::uno::Reference<
726 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
727 : : };
728 : :
729 : :
730 : :
731 : : /** import user docinfo field (<text:user-defined>) */
732 [ # # ]: 0 : class XMLUserDocInfoImportContext : public XMLSimpleDocInfoImportContext
733 : : {
734 : : rtl::OUString aName;
735 : : const ::rtl::OUString sPropertyName;
736 : : const ::rtl::OUString sPropertyNumberFormat;
737 : : const ::rtl::OUString sPropertyIsFixedLanguage;
738 : : sal_Int32 nFormat;
739 : : sal_Bool bFormatOK;
740 : : sal_Bool bIsDefaultLanguage;
741 : :
742 : : public:
743 : :
744 : : TYPEINFO();
745 : :
746 : : XMLUserDocInfoImportContext(SvXMLImport& rImport,
747 : : XMLTextImportHelper& rHlp,
748 : : sal_uInt16 nPrfx,
749 : : const ::rtl::OUString& sLocalName,
750 : : sal_uInt16 nToken);
751 : :
752 : : protected:
753 : :
754 : : /// process attribute values
755 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
756 : : const ::rtl::OUString& sAttrValue );
757 : : virtual void PrepareField(
758 : : const ::com::sun::star::uno::Reference<
759 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
760 : : };
761 : :
762 : :
763 : :
764 : : /** import hidden paragraph fields (<text:hidden-paragraph>) */
765 [ # # ]: 0 : class XMLHiddenParagraphImportContext : public XMLTextFieldImportContext
766 : : {
767 : : const ::rtl::OUString sPropertyCondition;
768 : : const ::rtl::OUString sPropertyIsHidden;
769 : :
770 : : ::rtl::OUString sCondition;
771 : : sal_Bool bIsHidden;
772 : :
773 : : public:
774 : :
775 : : TYPEINFO();
776 : :
777 : : XMLHiddenParagraphImportContext(SvXMLImport& rImport,
778 : : XMLTextImportHelper& rHlp,
779 : : sal_uInt16 nPrfx,
780 : : const ::rtl::OUString& sLocalName);
781 : :
782 : : protected:
783 : :
784 : : /// process attribute values
785 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
786 : : const ::rtl::OUString& sAttrValue );
787 : :
788 : : /// prepare XTextField for insertion into document
789 : : virtual void PrepareField(
790 : : const ::com::sun::star::uno::Reference<
791 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
792 : : };
793 : :
794 : :
795 : :
796 : : /** import conditional text fields (<text:conditional-text>) */
797 [ # # ]: 0 : class XMLConditionalTextImportContext : public XMLTextFieldImportContext
798 : : {
799 : : const ::rtl::OUString sPropertyCondition;
800 : : const ::rtl::OUString sPropertyTrueContent;
801 : : const ::rtl::OUString sPropertyFalseContent;
802 : : const ::rtl::OUString sPropertyIsConditionTrue;
803 : : const ::rtl::OUString sPropertyCurrentPresentation;
804 : :
805 : : ::rtl::OUString sCondition;
806 : : ::rtl::OUString sTrueContent;
807 : : ::rtl::OUString sFalseContent;
808 : :
809 : : sal_Bool bConditionOK;
810 : : sal_Bool bTrueOK;
811 : : sal_Bool bFalseOK;
812 : : sal_Bool bCurrentValue;
813 : :
814 : : public:
815 : :
816 : : TYPEINFO();
817 : :
818 : : XMLConditionalTextImportContext(SvXMLImport& rImport,
819 : : XMLTextImportHelper& rHlp,
820 : : sal_uInt16 nPrfx,
821 : : const ::rtl::OUString& sLocalName);
822 : :
823 : : protected:
824 : :
825 : : /// process attribute values
826 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
827 : : const ::rtl::OUString& sAttrValue );
828 : :
829 : : /// prepare XTextField for insertion into document
830 : : virtual void PrepareField(
831 : : const ::com::sun::star::uno::Reference<
832 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
833 : : };
834 : :
835 : :
836 : :
837 : : /** import conditional text fields (<text:hidden-text>) */
838 [ # # ]: 0 : class XMLHiddenTextImportContext : public XMLTextFieldImportContext
839 : : {
840 : : const ::rtl::OUString sPropertyCondition;
841 : : const ::rtl::OUString sPropertyContent;
842 : : const ::rtl::OUString sPropertyIsHidden;
843 : :
844 : : ::rtl::OUString sCondition;
845 : : ::rtl::OUString sString;
846 : :
847 : : sal_Bool bConditionOK;
848 : : sal_Bool bStringOK;
849 : : sal_Bool bIsHidden;
850 : :
851 : : public:
852 : :
853 : : TYPEINFO();
854 : :
855 : : XMLHiddenTextImportContext(SvXMLImport& rImport,
856 : : XMLTextImportHelper& rHlp,
857 : : sal_uInt16 nPrfx,
858 : : const ::rtl::OUString& sLocalName);
859 : :
860 : : protected:
861 : :
862 : : /// process attribute values
863 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
864 : : const ::rtl::OUString& sAttrValue );
865 : :
866 : : /// prepare XTextField for insertion into document
867 : : virtual void PrepareField(
868 : : const ::com::sun::star::uno::Reference<
869 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
870 : : };
871 : :
872 : :
873 : :
874 : : /** import file name fields (<text:file-name>) */
875 [ # # ]: 0 : class XMLFileNameImportContext : public XMLTextFieldImportContext
876 : : {
877 : : const ::rtl::OUString sPropertyFixed;
878 : : const ::rtl::OUString sPropertyFileFormat;
879 : : const ::rtl::OUString sPropertyCurrentPresentation;
880 : :
881 : : sal_Int16 nFormat;
882 : : sal_Bool bFixed;
883 : :
884 : : public:
885 : :
886 : : TYPEINFO();
887 : :
888 : : XMLFileNameImportContext(SvXMLImport& rImport,
889 : : XMLTextImportHelper& rHlp,
890 : : sal_uInt16 nPrfx,
891 : : const ::rtl::OUString& sLocalName);
892 : :
893 : : protected:
894 : :
895 : : /// process attribute values
896 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
897 : : const ::rtl::OUString& sAttrValue );
898 : :
899 : : /// prepare XTextField for insertion into document
900 : : virtual void PrepareField(
901 : : const ::com::sun::star::uno::Reference<
902 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
903 : : };
904 : :
905 : :
906 : :
907 : : /** import document template name fields (<text:template-name>) */
908 [ # # ]: 0 : class XMLTemplateNameImportContext : public XMLTextFieldImportContext
909 : : {
910 : : const ::rtl::OUString sPropertyFileFormat;
911 : :
912 : : sal_Int16 nFormat;
913 : :
914 : : public:
915 : :
916 : : TYPEINFO();
917 : :
918 : : XMLTemplateNameImportContext(SvXMLImport& rImport,
919 : : XMLTextImportHelper& rHlp,
920 : : sal_uInt16 nPrfx,
921 : : const ::rtl::OUString& sLocalName);
922 : :
923 : : protected:
924 : :
925 : : /// process attribute values
926 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
927 : : const ::rtl::OUString& sAttrValue );
928 : :
929 : : /// prepare XTextField for insertion into document
930 : : virtual void PrepareField(
931 : : const ::com::sun::star::uno::Reference<
932 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
933 : : };
934 : :
935 : :
936 : : /** import chapter fields (<text:chapter>) */
937 [ # # ]: 0 : class XMLChapterImportContext : public XMLTextFieldImportContext
938 : : {
939 : : const ::rtl::OUString sPropertyChapterFormat;
940 : : const ::rtl::OUString sPropertyLevel;
941 : :
942 : : sal_Int16 nFormat;
943 : : sal_Int8 nLevel;
944 : :
945 : : public:
946 : :
947 : : TYPEINFO();
948 : :
949 : : XMLChapterImportContext(SvXMLImport& rImport,
950 : : XMLTextImportHelper& rHlp,
951 : : sal_uInt16 nPrfx,
952 : : const ::rtl::OUString& sLocalName);
953 : :
954 : : protected:
955 : :
956 : : /// process attribute values
957 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
958 : : const ::rtl::OUString& sAttrValue );
959 : :
960 : : /// prepare XTextField for insertion into document
961 : : virtual void PrepareField(
962 : : const ::com::sun::star::uno::Reference<
963 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
964 : : };
965 : :
966 : :
967 : :
968 : : /** import count fields (<text:[XXX]-count>) */
969 [ - + ]: 186 : class XMLCountFieldImportContext : public XMLTextFieldImportContext
970 : : {
971 : : const ::rtl::OUString sPropertyNumberingType;
972 : :
973 : : ::rtl::OUString sNumberFormat;
974 : : ::rtl::OUString sLetterSync;
975 : :
976 : : sal_Bool bNumberFormatOK;
977 : :
978 : : public:
979 : :
980 : : TYPEINFO();
981 : :
982 : : XMLCountFieldImportContext(SvXMLImport& rImport,
983 : : XMLTextImportHelper& rHlp,
984 : : sal_uInt16 nPrfx,
985 : : const ::rtl::OUString& sLocalName,
986 : : sal_uInt16 nToken);
987 : :
988 : : protected:
989 : :
990 : : /// process attribute values
991 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
992 : : const ::rtl::OUString& sAttrValue );
993 : :
994 : : /// prepare XTextField for insertion into document
995 : : virtual void PrepareField(
996 : : const ::com::sun::star::uno::Reference<
997 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
998 : :
999 : : static const sal_Char* MapTokenToServiceName(sal_uInt16 nToken);
1000 : : };
1001 : :
1002 : :
1003 : : /** import page variable fields (<text:get-page-variable>) */
1004 [ # # ]: 0 : class XMLPageVarGetFieldImportContext : public XMLTextFieldImportContext
1005 : : {
1006 : : const ::rtl::OUString sPropertyNumberingType;
1007 : :
1008 : : ::rtl::OUString sNumberFormat;
1009 : : ::rtl::OUString sLetterSync;
1010 : :
1011 : : sal_Bool bNumberFormatOK;
1012 : :
1013 : : public:
1014 : :
1015 : : TYPEINFO();
1016 : :
1017 : : XMLPageVarGetFieldImportContext(SvXMLImport& rImport,
1018 : : XMLTextImportHelper& rHlp,
1019 : : sal_uInt16 nPrfx,
1020 : : const ::rtl::OUString& sLocalName);
1021 : :
1022 : : protected:
1023 : :
1024 : : /// process attribute values
1025 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1026 : : const ::rtl::OUString& sAttrValue );
1027 : :
1028 : : /// prepare XTextField for insertion into document
1029 : : virtual void PrepareField(
1030 : : const ::com::sun::star::uno::Reference<
1031 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1032 : : };
1033 : :
1034 : :
1035 : : /** import page variable fields (<text:get-page-variable>) */
1036 [ # # ]: 0 : class XMLPageVarSetFieldImportContext : public XMLTextFieldImportContext
1037 : : {
1038 : : const ::rtl::OUString sPropertyOn;
1039 : : const ::rtl::OUString sPropertyOffset;
1040 : :
1041 : : sal_Int16 nAdjust;
1042 : : sal_Bool bActive;
1043 : :
1044 : : public:
1045 : :
1046 : : TYPEINFO();
1047 : :
1048 : : XMLPageVarSetFieldImportContext(SvXMLImport& rImport,
1049 : : XMLTextImportHelper& rHlp,
1050 : : sal_uInt16 nPrfx,
1051 : : const ::rtl::OUString& sLocalName);
1052 : :
1053 : : protected:
1054 : :
1055 : : /// process attribute values
1056 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1057 : : const ::rtl::OUString& sAttrValue );
1058 : :
1059 : : /// prepare XTextField for insertion into document
1060 : : virtual void PrepareField(
1061 : : const ::com::sun::star::uno::Reference<
1062 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1063 : : };
1064 : :
1065 : :
1066 : : /** import macro fields (<text:execute-macro>) */
1067 [ # # ][ # # ]: 0 : class XMLMacroFieldImportContext : public XMLTextFieldImportContext
1068 : : {
1069 : :
1070 : : const ::rtl::OUString sPropertyHint;
1071 : : const ::rtl::OUString sPropertyMacroName;
1072 : : const ::rtl::OUString sPropertyScriptURL;
1073 : : const ::rtl::OUString sPropertyLibraryName;
1074 : :
1075 : : ::rtl::OUString sDescription;
1076 : : SvXMLImportContextRef xEventContext;
1077 : :
1078 : : ::rtl::OUString sMacro; // macro for old documents (pre 638i)
1079 : :
1080 : : sal_Bool bDescriptionOK;
1081 : :
1082 : : public:
1083 : :
1084 : : TYPEINFO();
1085 : :
1086 : : XMLMacroFieldImportContext(SvXMLImport& rImport,
1087 : : XMLTextImportHelper& rHlp,
1088 : : sal_uInt16 nPrfx,
1089 : : const ::rtl::OUString& sLocalName);
1090 : :
1091 : : protected:
1092 : :
1093 : : /// for <office:events> children
1094 : : virtual SvXMLImportContext *CreateChildContext(
1095 : : sal_uInt16 nPrefix,
1096 : : const ::rtl::OUString& rLocalName,
1097 : : const ::com::sun::star::uno::Reference<
1098 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList );
1099 : :
1100 : : /// process attribute values
1101 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1102 : : const ::rtl::OUString& sAttrValue );
1103 : :
1104 : : /// prepare XTextField for insertion into document
1105 : : virtual void PrepareField(
1106 : : const ::com::sun::star::uno::Reference<
1107 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1108 : : };
1109 : :
1110 : :
1111 : :
1112 : : /** import reference fields (<text:reference-get>) */
1113 [ - + ]: 24 : class XMLReferenceFieldImportContext : public XMLTextFieldImportContext
1114 : : {
1115 : : const ::rtl::OUString sPropertyReferenceFieldPart;
1116 : : const ::rtl::OUString sPropertyReferenceFieldSource;
1117 : : const ::rtl::OUString sPropertySourceName;
1118 : : const ::rtl::OUString sPropertyCurrentPresentation;
1119 : :
1120 : : ::rtl::OUString sName;
1121 : : sal_uInt16 nElementToken;
1122 : : sal_Int16 nSource;
1123 : : sal_Int16 nType;
1124 : :
1125 : : sal_Bool bNameOK;
1126 : : sal_Bool bTypeOK;
1127 : :
1128 : : public:
1129 : :
1130 : : TYPEINFO();
1131 : :
1132 : : XMLReferenceFieldImportContext(SvXMLImport& rImport,
1133 : : XMLTextImportHelper& rHlp,
1134 : : sal_uInt16 nToken,
1135 : : sal_uInt16 nPrfx,
1136 : : const ::rtl::OUString& sLocalName);
1137 : :
1138 : : protected:
1139 : :
1140 : : /// start element
1141 : : virtual void StartElement(
1142 : : const ::com::sun::star::uno::Reference<
1143 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList);
1144 : :
1145 : : /// process attribute values
1146 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1147 : : const ::rtl::OUString& sAttrValue );
1148 : :
1149 : : /// prepare XTextField for insertion into document
1150 : : virtual void PrepareField(
1151 : : const ::com::sun::star::uno::Reference<
1152 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1153 : : };
1154 : :
1155 : :
1156 : :
1157 : : /** import dde field declaration container (<text:dde-connection-decls>) */
1158 [ # # ][ # # ]: 0 : class XMLDdeFieldDeclsImportContext : public SvXMLImportContext
1159 : : {
1160 : :
1161 : : SvXMLTokenMap aTokenMap;
1162 : :
1163 : : public:
1164 : :
1165 : : TYPEINFO();
1166 : :
1167 : : XMLDdeFieldDeclsImportContext(SvXMLImport& rImport,
1168 : : sal_uInt16 nPrfx,
1169 : : const ::rtl::OUString& sLocalName);
1170 : :
1171 : : virtual SvXMLImportContext *CreateChildContext(
1172 : : sal_uInt16 nPrefix,
1173 : : const ::rtl::OUString& rLocalName,
1174 : : const ::com::sun::star::uno::Reference<
1175 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList );
1176 : :
1177 : :
1178 : : };
1179 : :
1180 : :
1181 : :
1182 : : /** import dde field declaration (<text:dde-connection-decl>) */
1183 [ # # ]: 0 : class XMLDdeFieldDeclImportContext : public SvXMLImportContext
1184 : : {
1185 : : const ::rtl::OUString sPropertyIsAutomaticUpdate;
1186 : : const ::rtl::OUString sPropertyName;
1187 : : const ::rtl::OUString sPropertyDDECommandType;
1188 : : const ::rtl::OUString sPropertyDDECommandFile;
1189 : : const ::rtl::OUString sPropertyDDECommandElement;
1190 : :
1191 : : const SvXMLTokenMap& rTokenMap;
1192 : :
1193 : : public:
1194 : :
1195 : : TYPEINFO();
1196 : :
1197 : : XMLDdeFieldDeclImportContext(SvXMLImport& rImport,
1198 : : sal_uInt16 nPrfx,
1199 : : const ::rtl::OUString& sLocalName,
1200 : : const SvXMLTokenMap& rMap);
1201 : :
1202 : : // create fieldmaster
1203 : : virtual void StartElement(
1204 : : const ::com::sun::star::uno::Reference<
1205 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList);
1206 : : };
1207 : :
1208 : :
1209 : :
1210 : : /** import dde fields (<text:dde-connection>) */
1211 [ # # ]: 0 : class XMLDdeFieldImportContext : public XMLTextFieldImportContext
1212 : : {
1213 : : ::rtl::OUString sName;
1214 : : ::rtl::OUString sPropertyContent;
1215 : : public:
1216 : :
1217 : : TYPEINFO();
1218 : :
1219 : : XMLDdeFieldImportContext(SvXMLImport& rImport,
1220 : : XMLTextImportHelper& rHlp,
1221 : : sal_uInt16 nPrfx,
1222 : : const ::rtl::OUString& sLocalName);
1223 : :
1224 : : protected:
1225 : :
1226 : : /// process attribute values
1227 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1228 : : const ::rtl::OUString& sAttrValue );
1229 : :
1230 : : /// create textfield, attach master, and insert into document
1231 : : virtual void EndElement();
1232 : :
1233 : : /// empty method
1234 : : virtual void PrepareField(
1235 : : const ::com::sun::star::uno::Reference<
1236 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1237 : :
1238 : : };
1239 : :
1240 : :
1241 : : /** import sheet name fields (Calc) dde fields (<text:sheet-name>) */
1242 [ - + ]: 396 : class XMLSheetNameImportContext : public XMLTextFieldImportContext
1243 : : {
1244 : :
1245 : : public:
1246 : :
1247 : : TYPEINFO();
1248 : :
1249 : : XMLSheetNameImportContext(SvXMLImport& rImport,
1250 : : XMLTextImportHelper& rHlp,
1251 : : sal_uInt16 nPrfx,
1252 : : const ::rtl::OUString& sLocalName);
1253 : :
1254 : : protected:
1255 : :
1256 : : /// no attributes -> empty method
1257 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1258 : : const ::rtl::OUString& sAttrValue );
1259 : :
1260 : : /// no atributes -> empty method
1261 : : virtual void PrepareField(
1262 : : const ::com::sun::star::uno::Reference<
1263 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1264 : : };
1265 : :
1266 : : /** import hyperlinks as URL fields (Calc, Impress, Draw) (<office:a>) */
1267 [ # # ]: 0 : class XMLUrlFieldImportContext : public XMLTextFieldImportContext
1268 : : {
1269 : :
1270 : : const ::rtl::OUString sPropertyURL;
1271 : : const ::rtl::OUString sPropertyTargetFrame;
1272 : : const ::rtl::OUString sPropertyRepresentation;
1273 : :
1274 : : ::rtl::OUString sURL;
1275 : : ::rtl::OUString sFrame;
1276 : : sal_Bool bFrameOK;
1277 : :
1278 : : public:
1279 : :
1280 : : TYPEINFO();
1281 : :
1282 : : XMLUrlFieldImportContext(SvXMLImport& rImport,
1283 : : XMLTextImportHelper& rHlp,
1284 : : sal_uInt16 nPrfx,
1285 : : const ::rtl::OUString& sLocalName);
1286 : :
1287 : : protected:
1288 : :
1289 : : /// no attributes -> empty method
1290 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1291 : : const ::rtl::OUString& sAttrValue );
1292 : :
1293 : : /// no atributes -> empty method
1294 : : virtual void PrepareField(
1295 : : const ::com::sun::star::uno::Reference<
1296 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1297 : : };
1298 : :
1299 : : /** import bibliography info fields (<text:bibliography-mark>) */
1300 [ # # ]: 0 : class XMLBibliographyFieldImportContext : public XMLTextFieldImportContext
1301 : : {
1302 : :
1303 : : const ::rtl::OUString sPropertyFields;
1304 : :
1305 : : ::std::vector< ::com::sun::star::beans::PropertyValue> aValues;
1306 : :
1307 : : public:
1308 : :
1309 : : TYPEINFO();
1310 : :
1311 : : XMLBibliographyFieldImportContext(SvXMLImport& rImport,
1312 : : XMLTextImportHelper& rHlp,
1313 : : sal_uInt16 nPrfx,
1314 : : const ::rtl::OUString& sLocalName);
1315 : :
1316 : : protected:
1317 : :
1318 : : /// process attributes (fill aValues)
1319 : : virtual void StartElement(
1320 : : const ::com::sun::star::uno::Reference<
1321 : : ::com::sun::star::xml::sax::XAttributeList> & xAttrList);
1322 : :
1323 : : /// empty method; all attributes are handled in StartElement
1324 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1325 : : const ::rtl::OUString& sAttrValue );
1326 : :
1327 : : /// convert aValues into sequence and set property
1328 : : virtual void PrepareField(
1329 : : const ::com::sun::star::uno::Reference<
1330 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1331 : :
1332 : : static const sal_Char* MapBibliographyFieldName(::rtl::OUString sName);
1333 : :
1334 : : };
1335 : :
1336 : :
1337 : : /** Import an annotation field (<text:annotation>) */
1338 [ - + ]: 24 : class XMLAnnotationImportContext : public XMLTextFieldImportContext
1339 : : {
1340 : : const ::rtl::OUString sPropertyAuthor;
1341 : : const ::rtl::OUString sPropertyInitials;
1342 : : const ::rtl::OUString sPropertyContent;
1343 : : const ::rtl::OUString sPropertyDate;
1344 : : const ::rtl::OUString sPropertyTextRange;
1345 : : const ::rtl::OUString sPropertyName;
1346 : :
1347 : : ::rtl::OUStringBuffer aAuthorBuffer;
1348 : : ::rtl::OUStringBuffer aInitialsBuffer;
1349 : : OUString aName;
1350 : : ::rtl::OUStringBuffer aTextBuffer;
1351 : : ::rtl::OUStringBuffer aDateBuffer;
1352 : :
1353 : : com::sun::star::uno::Reference < com::sun::star::beans::XPropertySet > mxField;
1354 : : com::sun::star::uno::Reference < com::sun::star::text::XTextCursor > mxCursor;
1355 : : com::sun::star::uno::Reference < com::sun::star::text::XTextCursor > mxOldCursor;
1356 : : /// If this is an annotation end, then position of the start.
1357 : : com::sun::star::uno::Reference < com::sun::star::text::XTextContent > m_xStart;
1358 : : sal_uInt16 m_nToken;
1359 : :
1360 : : public:
1361 : :
1362 : : TYPEINFO();
1363 : :
1364 : : XMLAnnotationImportContext(SvXMLImport& rImport,
1365 : : XMLTextImportHelper& rHlp,
1366 : : sal_uInt16 nToken,
1367 : : sal_uInt16 nPrfx,
1368 : : const ::rtl::OUString& sLocalName);
1369 : :
1370 : : protected:
1371 : :
1372 : : /// process attributes
1373 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1374 : : const ::rtl::OUString& sAttrValue );
1375 : :
1376 : : /// set properties
1377 : : virtual void PrepareField(
1378 : : const ::com::sun::star::uno::Reference<
1379 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1380 : :
1381 : : virtual SvXMLImportContext *CreateChildContext(
1382 : : sal_uInt16 nPrefix,
1383 : : const ::rtl::OUString& rLocalName,
1384 : : const ::com::sun::star::uno::Reference<
1385 : : ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1386 : : virtual void EndElement();
1387 : : };
1388 : :
1389 : :
1390 : : /** Import a script field (<text:script>) */
1391 [ # # ]: 0 : class XMLScriptImportContext : public XMLTextFieldImportContext
1392 : : {
1393 : : const ::rtl::OUString sPropertyScriptType;
1394 : : const ::rtl::OUString sPropertyURLContent;
1395 : : const ::rtl::OUString sPropertyContent;
1396 : :
1397 : : ::rtl::OUString sContent;
1398 : : ::rtl::OUString sScriptType;
1399 : :
1400 : : sal_Bool bContentOK;
1401 : : sal_Bool bScriptTypeOK;
1402 : :
1403 : : public:
1404 : :
1405 : : TYPEINFO();
1406 : :
1407 : : XMLScriptImportContext(SvXMLImport& rImport,
1408 : : XMLTextImportHelper& rHlp,
1409 : : sal_uInt16 nPrfx,
1410 : : const ::rtl::OUString& sLocalName);
1411 : :
1412 : : protected:
1413 : :
1414 : : /// process attributes
1415 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1416 : : const ::rtl::OUString& sAttrValue );
1417 : :
1418 : : /// set properties
1419 : : virtual void PrepareField(
1420 : : const ::com::sun::star::uno::Reference<
1421 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1422 : : };
1423 : :
1424 : : /** import measure fields (<text:measure>) */
1425 [ # # ]: 0 : class XMLMeasureFieldImportContext : public XMLTextFieldImportContext
1426 : : {
1427 : : sal_Int16 mnKind;
1428 : : public:
1429 : :
1430 : : TYPEINFO();
1431 : :
1432 : : XMLMeasureFieldImportContext(SvXMLImport& rImport,
1433 : : XMLTextImportHelper& rHlp,
1434 : : sal_uInt16 nPrfx,
1435 : : const ::rtl::OUString& sLocalName);
1436 : :
1437 : : protected:
1438 : :
1439 : : /// process attribute values
1440 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1441 : : const ::rtl::OUString& sAttrValue );
1442 : :
1443 : : /// prepare XTextField for insertion into document
1444 : : virtual void PrepareField(
1445 : : const ::com::sun::star::uno::Reference<
1446 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1447 : : };
1448 : :
1449 : :
1450 : : /** dropdown field (filter legacy) */
1451 [ # # ]: 0 : class XMLDropDownFieldImportContext : public XMLTextFieldImportContext
1452 : : {
1453 : : std::vector<rtl::OUString> aLabels;
1454 : : rtl::OUString sName;
1455 : : rtl::OUString sHelp;
1456 : : rtl::OUString sHint;
1457 : : sal_Int32 nSelected;
1458 : : bool bNameOK;
1459 : : bool bHelpOK;
1460 : : bool bHintOK;
1461 : :
1462 : : const rtl::OUString sPropertyItems;
1463 : : const rtl::OUString sPropertySelectedItem;
1464 : : const rtl::OUString sPropertyName;
1465 : : const rtl::OUString sPropertyHelp;
1466 : : const rtl::OUString sPropertyToolTip;
1467 : :
1468 : : public:
1469 : : TYPEINFO();
1470 : :
1471 : : XMLDropDownFieldImportContext(SvXMLImport& rImport,
1472 : : XMLTextImportHelper& rHlp,
1473 : : sal_uInt16 nPrfx,
1474 : : const ::rtl::OUString& sLocalName);
1475 : :
1476 : : virtual SvXMLImportContext* CreateChildContext(
1477 : : sal_uInt16 nPrefix,
1478 : : const ::rtl::OUString& rLocalName,
1479 : : const ::com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList >& xAttrList );
1480 : :
1481 : : protected:
1482 : :
1483 : : /// process attribute values
1484 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1485 : : const ::rtl::OUString& sAttrValue );
1486 : :
1487 : : /// prepare XTextField for insertion into document
1488 : : virtual void PrepareField(
1489 : : const ::com::sun::star::uno::Reference<
1490 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1491 : : };
1492 : :
1493 : : /** import header fields (<draw:header>) */
1494 [ - + ]: 20 : class XMLHeaderFieldImportContext : public XMLTextFieldImportContext
1495 : : {
1496 : : public:
1497 : : TYPEINFO();
1498 : :
1499 : : XMLHeaderFieldImportContext(
1500 : : SvXMLImport& rImport, /// XML Import
1501 : : XMLTextImportHelper& rHlp, /// Text import helper
1502 : : sal_uInt16 nPrfx, /// namespace prefix
1503 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
1504 : :
1505 : : /// process attribute values
1506 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1507 : : const ::rtl::OUString& sAttrValue );
1508 : :
1509 : : /// prepare XTextField for insertion into document
1510 : : virtual void PrepareField(
1511 : : const ::com::sun::star::uno::Reference<
1512 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1513 : : };
1514 : :
1515 : : /** import footer fields (<draw:footer>) */
1516 [ - + ]: 30 : class XMLFooterFieldImportContext : public XMLTextFieldImportContext
1517 : : {
1518 : : public:
1519 : : TYPEINFO();
1520 : :
1521 : : XMLFooterFieldImportContext(
1522 : : SvXMLImport& rImport, /// XML Import
1523 : : XMLTextImportHelper& rHlp, /// Text import helper
1524 : : sal_uInt16 nPrfx, /// namespace prefix
1525 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
1526 : :
1527 : : /// process attribute values
1528 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1529 : : const ::rtl::OUString& sAttrValue );
1530 : :
1531 : : /// prepare XTextField for insertion into document
1532 : : virtual void PrepareField(
1533 : : const ::com::sun::star::uno::Reference<
1534 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1535 : : };
1536 : :
1537 : : /** import footer fields (<draw:date-and-time>) */
1538 [ - + ]: 30 : class XMLDateTimeFieldImportContext : public XMLTextFieldImportContext
1539 : : {
1540 : : public:
1541 : : TYPEINFO();
1542 : :
1543 : : XMLDateTimeFieldImportContext(
1544 : : SvXMLImport& rImport, /// XML Import
1545 : : XMLTextImportHelper& rHlp, /// Text import helper
1546 : : sal_uInt16 nPrfx, /// namespace prefix
1547 : : const ::rtl::OUString& sLocalName); /// element name w/o prefix
1548 : :
1549 : : /// process attribute values
1550 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1551 : : const ::rtl::OUString& sAttrValue );
1552 : :
1553 : : /// prepare XTextField for insertion into document
1554 : : virtual void PrepareField(
1555 : : const ::com::sun::star::uno::Reference<
1556 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1557 : : };
1558 : :
1559 : : class XMLCustomPropertyFieldImportContext : public XMLTextFieldImportContext
1560 : : {
1561 : : ::rtl::OUString sName;
1562 : : ::com::sun::star::uno::Any aValue;
1563 : : const ::rtl::OUString sPropertyName;
1564 : : const ::rtl::OUString sPropertyValue;
1565 : :
1566 : : public:
1567 : :
1568 : : TYPEINFO();
1569 : :
1570 : : XMLCustomPropertyFieldImportContext (SvXMLImport& rImport,
1571 : : XMLTextImportHelper& rHlp,
1572 : : sal_uInt16 nPrfx,
1573 : : const ::rtl::OUString& sLocalName);
1574 : :
1575 : : protected:
1576 : :
1577 : : /// process attribute values
1578 : : virtual void ProcessAttribute( sal_uInt16 nAttrToken,
1579 : : const ::rtl::OUString& sAttrValue );
1580 : :
1581 : : /// prepare XTextField for insertion into document
1582 : : virtual void PrepareField(
1583 : : const ::com::sun::star::uno::Reference<
1584 : : ::com::sun::star::beans::XPropertySet> & xPropertySet);
1585 : : };
1586 : :
1587 : :
1588 : : #endif
1589 : :
1590 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|