LibreOffice Module xmloff (master) 1
sdpropls.cxx
Go to the documentation of this file.
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#include <com/sun/star/animations/TransitionType.hpp>
21#include <com/sun/star/ucb/XAnyCompareFactory.hpp>
22#include <com/sun/star/container/XIndexReplace.hpp>
23#include <com/sun/star/drawing/LineStyle.hpp>
24#include <com/sun/star/drawing/LineJoint.hpp>
25#include <com/sun/star/drawing/LineCap.hpp>
26#include <com/sun/star/presentation/AnimationSpeed.hpp>
27#include <com/sun/star/presentation/FadeEffect.hpp>
28
29#include <com/sun/star/text/WritingMode.hpp>
30#include <com/sun/star/text/WritingMode2.hpp>
31#include <utility>
35#include <enummaps.hxx>
36#include "numithdl.hxx"
40#include <com/sun/star/drawing/TextAnimationKind.hpp>
41#include <com/sun/star/drawing/TextAnimationDirection.hpp>
42#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
43#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
44#include <com/sun/star/drawing/TextFitToSizeType.hpp>
45#include <com/sun/star/drawing/MeasureTextHorzPos.hpp>
46#include <com/sun/star/drawing/MeasureTextVertPos.hpp>
48#include <xmloff/xmltoken.hxx>
49#include "sdpropls.hxx"
50#include <propimp0.hxx>
51#include <xmloff/xmlexp.hxx>
53#include <com/sun/star/drawing/NormalsKind.hpp>
54#include <com/sun/star/drawing/TextureProjectionMode.hpp>
55#include <com/sun/star/drawing/TextureKind.hpp>
56#include <com/sun/star/drawing/TextureMode.hpp>
57#include <com/sun/star/beans/XPropertySet.hpp>
58#include <xmloff/txtprmap.hxx>
63#include <animations.hxx>
65#include <xmlsdtypes.hxx>
66
67using ::com::sun::star::uno::Any;
68
69using namespace ::com::sun::star;
70using namespace ::xmloff::token;
71
72#define MAP_(name,prefix,token,type,context) { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_010, false }
73#define MAPV_(name,prefix,token,type,context,version) { name, prefix, token, type, context, version, false }
74#define GMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_GRAPHIC,context)
75#define GMAP_D(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_GRAPHIC|MID_FLAG_DEFAULT_ITEM_EXPORT,context)
76#define GMAPV(name,prefix,token,type,context,version) MAPV_(name,prefix,token,type|XML_TYPE_PROP_GRAPHIC,context,version)
77#define DPMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_DRAWING_PAGE,context)
78#define TMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_TEXT,context)
79#define PMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_PARAGRAPH,context)
80#define MAP_END() { nullptr, 0, XML_EMPTY, 0 ,0, SvtSaveOptions::ODFSVER_010, false }
81
82// entry list for graphic properties
83
85{
86 // this entry must be first! this is needed for XMLShapeImportHelper::CreateExternalShapePropMapper
87
88 // ^^^though CreateExternalShapePropMapper is gone now, hmm^^^
89 GMAP( "UserDefinedAttributes", XML_NAMESPACE_TEXT, XML_XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
90
91 // stroke attributes
105
106 // fill attributes
114 GMAP( "FillGradientStepCount", XML_NAMESPACE_DRAW, XML_GRADIENT_STEP_COUNT, XML_TYPE_NUMBER16, 0 ),
119 GMAP( "FillTransparence", XML_NAMESPACE_DRAW, XML_OPACITY, XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
126 GMAP( "FillBitmapPositionOffsetX", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_X, XML_TYPE_PERCENT, 0 ),
127 GMAP( "FillBitmapPositionOffsetY", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_Y, XML_TYPE_PERCENT, 0 ),
131
132 // text frame attributes
135 GMAP( "TextAutoGrowHeight", XML_NAMESPACE_DRAW, XML_AUTO_GROW_HEIGHT, XML_TYPE_BOOL, 0 ),
136 GMAP( "TextAutoGrowWidth", XML_NAMESPACE_DRAW, XML_AUTO_GROW_WIDTH, XML_TYPE_BOOL, 0 ),
139 GMAP( "TextContourFrame", XML_NAMESPACE_DRAW, XML_FIT_TO_CONTOUR, XML_TYPE_BOOL, 0 ),
140 GMAP( "TextMaximumFrameHeight", XML_NAMESPACE_FO, XML_MAX_HEIGHT, XML_TYPE_MEASURE, 0 ),
141 GMAP( "TextMaximumFrameWidth", XML_NAMESPACE_FO, XML_MAX_WIDTH, XML_TYPE_MEASURE, 0 ),
142 GMAP( "TextMinimumFrameHeight", XML_NAMESPACE_FO, XML_MIN_HEIGHT, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
144 GMAP( "TextUpperDistance", XML_NAMESPACE_FO, XML_PADDING_TOP, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
145 GMAP( "TextLowerDistance", XML_NAMESPACE_FO, XML_PADDING_BOTTOM, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
146 GMAP( "TextLeftDistance", XML_NAMESPACE_FO, XML_PADDING_LEFT, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
147 GMAP( "TextRightDistance", XML_NAMESPACE_FO, XML_PADDING_RIGHT, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
152 GMAP( "TextChainNextName", XML_NAMESPACE_DRAW, XML_CHAIN_NEXT_NAME, XML_TYPE_STRING, 0 ),
153
155
156 // shadow attributes
163
164 // glow attributes
168
169 // soft edge attributes
171
172 // graphic attributes
173 GMAP( "GraphicColorMode", XML_NAMESPACE_DRAW, XML_COLOR_MODE, XML_TYPE_COLOR_MODE, 0 ), // exists in SW, too, with same property name
174 GMAP( "AdjustLuminance", XML_NAMESPACE_DRAW, XML_LUMINANCE, XML_TYPE_PERCENT16, 0 ), // signed? exists in SW, too, with same property name
175 GMAP( "AdjustContrast", XML_NAMESPACE_DRAW, XML_CONTRAST, XML_TYPE_PERCENT16, 0 ), // signed? exists in SW, too, with same property name
176 GMAP( "Gamma", XML_NAMESPACE_DRAW, XML_GAMMA, XML_TYPE_DOUBLE_PERCENT, 0 ), // signed? exists in SW, too, with same property name
177 GMAP( "AdjustRed", XML_NAMESPACE_DRAW, XML_RED, XML_TYPE_PERCENT16, 0 ), // signed? exists in SW, too, with same property name
178 GMAP( "AdjustGreen", XML_NAMESPACE_DRAW, XML_GREEN, XML_TYPE_PERCENT16, 0 ), // signed? exists in SW, too, with same property name
179 GMAP( "AdjustBlue", XML_NAMESPACE_DRAW, XML_BLUE, XML_TYPE_PERCENT16, 0 ), // signed? exists in SW, too, with same property name
180 GMAPV( "GraphicCrop", XML_NAMESPACE_FO, XML_CLIP, XML_TYPE_TEXT_CLIP, CTF_TEXT_CLIP, SvtSaveOptions::ODFSVER_012), // exists in SW, too, with same property name
181 GMAP( "GraphicCrop", XML_NAMESPACE_FO, XML_CLIP, XML_TYPE_TEXT_CLIP11, CTF_TEXT_CLIP11 ), // exists in SW, too, with same property name
182 GMAP( "Transparency", XML_NAMESPACE_DRAW, XML_IMAGE_OPACITY, XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too, with same property name // #i25616#
183 GMAP( "IsMirrored", XML_NAMESPACE_STYLE, XML_MIRROR, XML_TYPE_SD_MIRROR|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too // #i40214#
184
185 // animation text attributes
189 GMAP( "TextAnimationStartInside", XML_NAMESPACE_TEXT, XML_ANIMATION_START_INSIDE, XML_TYPE_BOOL, 0 ),
190 GMAP( "TextAnimationStopInside", XML_NAMESPACE_TEXT, XML_ANIMATION_STOP_INSIDE, XML_TYPE_BOOL, 0 ),
194
195 // connector attributes
200
201 // measure attributes
202 GMAP( "MeasureLineDistance", XML_NAMESPACE_DRAW, XML_LINE_DISTANCE, XML_TYPE_MEASURE, 0 ),
203 GMAP( "MeasureHelpLineOverhang", XML_NAMESPACE_DRAW, XML_GUIDE_OVERHANG, XML_TYPE_MEASURE, 0 ),
204 GMAP( "MeasureHelpLineDistance", XML_NAMESPACE_DRAW, XML_GUIDE_DISTANCE, XML_TYPE_MEASURE, 0 ),
205 GMAP( "MeasureHelpLine1Length", XML_NAMESPACE_DRAW, XML_START_GUIDE, XML_TYPE_MEASURE, 0 ),
206 GMAP( "MeasureHelpLine2Length", XML_NAMESPACE_DRAW, XML_END_GUIDE, XML_TYPE_MEASURE, 0 ),
207 GMAP( "MeasureTextHorizontalPosition", XML_NAMESPACE_DRAW, XML_MEASURE_ALIGN, XML_SD_TYPE_MEASURE_HALIGN, 0 ),
210 GMAP( "MeasureShowUnit", XML_NAMESPACE_DRAW, XML_SHOW_UNIT, XML_TYPE_BOOL, 0 ),
211 GMAP( "MeasureBelowReferenceEdge", XML_NAMESPACE_DRAW, XML_PLACING, XML_SD_TYPE_MEASURE_PLACING, 0 ),
212 GMAP( "MeasureTextRotate90", XML_NAMESPACE_DRAW, XML_PARALLEL, XML_TYPE_BOOL, 0 ),
213 GMAP( "MeasureDecimalPlaces", XML_NAMESPACE_DRAW, XML_DECIMAL_PLACES, XML_TYPE_NUMBER16, 0 ),
214
215 // 3D geometry attributes
216 GMAP( "D3DHorizontalSegments", XML_NAMESPACE_DR3D, XML_HORIZONTAL_SEGMENTS, XML_TYPE_NUMBER, 0 ),
217 GMAP( "D3DVerticalSegments", XML_NAMESPACE_DR3D, XML_VERTICAL_SEGMENTS, XML_TYPE_NUMBER, 0 ),
218 GMAP( "D3DPercentDiagonal", XML_NAMESPACE_DR3D, XML_EDGE_ROUNDING, XML_TYPE_PERCENT, 0 ),
223
224 // #107245# New 3D properties which are possible for lathe and extrude 3d objects
225 GMAP( "D3DCloseFront", XML_NAMESPACE_DR3D, XML_CLOSE_FRONT, XML_TYPE_BOOL, 0 ),
226 GMAP( "D3DCloseBack", XML_NAMESPACE_DR3D, XML_CLOSE_BACK, XML_TYPE_BOOL, 0 ),
227
228 // 3D lighting attributes
231
232 // 3D texture attributes
238
239 // 3D material attributes
240 GMAP( "D3DMaterialColor", XML_NAMESPACE_DR3D, XML_DIFFUSE_COLOR, XML_TYPE_COLOR, 0 ),
241 GMAP( "D3DMaterialEmission", XML_NAMESPACE_DR3D, XML_EMISSIVE_COLOR, XML_TYPE_COLOR, 0 ),
242 GMAP( "D3DMaterialSpecular", XML_NAMESPACE_DR3D, XML_SPECULAR_COLOR, XML_TYPE_COLOR, 0 ),
243 GMAP( "D3DMaterialSpecularIntensity", XML_NAMESPACE_DR3D, XML_SHININESS, XML_TYPE_PERCENT, 0 ),
244
245 // 3D shadow attributes
247
248 // #FontWork# attributes
262
263 // #FontWork# attributes
277
278 // control attributes (border exists one more time for the text additions of shapes)
279 GMAP( "ControlSymbolColor", XML_NAMESPACE_DRAW, XML_SYMBOL_COLOR, XML_TYPE_COLOR, 0 ),
287
288 // special entries for floating frames
302
304
305 // caption properties
315 GMAP( "CaptionIsFitLineLength", XML_NAMESPACE_DRAW, XML_CAPTION_FIT_LINE_LENGTH, XML_TYPE_BOOL, 0 ),
316
317 // misc object properties
322
323
324 MAP_END()
325};
326
327// entry list for presentation page properties
328
330{
331 DPMAP( "UserDefinedAttributes", XML_NAMESPACE_TEXT, XML_XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
332
340
343
347 DPMAP( "FillGradientStepCount", XML_NAMESPACE_DRAW, XML_GRADIENT_STEP_COUNT, XML_TYPE_NUMBER, 0 ),
358 DPMAP( "FillBitmapPositionOffsetX", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_X, XML_TYPE_PERCENT, 0 ),
359 DPMAP( "FillBitmapPositionOffsetY", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_Y, XML_TYPE_PERCENT, 0 ),
363
368
373 MAP_END()
374};
375
380{
387 MAP_END()
388};
389
390// implementation of factory for own graphic properties
391
393{
394 { XML_NONE, drawing::LineStyle_NONE },
395 { XML_SOLID, drawing::LineStyle_SOLID },
396 { XML_DASH, drawing::LineStyle_DASH },
397 { XML_TOKEN_INVALID, drawing::LineStyle(0) }
398};
399
401{
402 { XML_NONE, drawing::LineJoint_NONE },
403 { XML_MITER, drawing::LineJoint_MITER },
404 { XML_ROUND, drawing::LineJoint_ROUND },
405 { XML_BEVEL, drawing::LineJoint_BEVEL },
406 { XML_MIDDLE, drawing::LineJoint_MIDDLE },
407 { XML_TOKEN_INVALID, drawing::LineJoint(0) }
408};
409
411{
412 { XML_BUTT, drawing::LineCap_BUTT },
413 { XML_ROUND, drawing::LineCap_ROUND },
414 // use XML_GRADIENTSTYLE_SQUARE as XML_SQUARE, is defined as "square" already
415 { XML_GRADIENTSTYLE_SQUARE, drawing::LineCap_SQUARE },
416 { XML_TOKEN_INVALID, drawing::LineCap(0) }
417};
418
420{
421 { XML_NONE, drawing::FillStyle_NONE },
422 { XML_SOLID, drawing::FillStyle_SOLID },
423 { XML_BITMAP, drawing::FillStyle_BITMAP },
424 { XML_GRADIENT, drawing::FillStyle_GRADIENT },
425 { XML_HATCH, drawing::FillStyle_HATCH },
427};
428
430{
431 { XML_MANUAL, 0 },
432 { XML_AUTOMATIC, 1 },
433 { XML_SEMI_AUTOMATIC, 2 },
434 { XML_TOKEN_INVALID, 0 }
435};
436
438{
439 { XML_FAST, presentation::AnimationSpeed_FAST },
440 { XML_MEDIUM, presentation::AnimationSpeed_MEDIUM },
441 { XML_SLOW, presentation::AnimationSpeed_SLOW },
442 { XML_TOKEN_INVALID, presentation::AnimationSpeed(0) }
443};
444
446{
447 { XML_NONE, presentation::FadeEffect_NONE },
448 { XML_FADE_FROM_LEFT, presentation::FadeEffect_FADE_FROM_LEFT },
449 { XML_FADE_FROM_TOP, presentation::FadeEffect_FADE_FROM_TOP },
450 { XML_FADE_FROM_RIGHT, presentation::FadeEffect_FADE_FROM_RIGHT },
451 { XML_FADE_FROM_BOTTOM, presentation::FadeEffect_FADE_FROM_BOTTOM },
452 { XML_FADE_TO_CENTER, presentation::FadeEffect_FADE_TO_CENTER },
453 { XML_FADE_FROM_CENTER, presentation::FadeEffect_FADE_FROM_CENTER },
454 { XML_MOVE_FROM_LEFT, presentation::FadeEffect_MOVE_FROM_LEFT },
455 { XML_MOVE_FROM_TOP, presentation::FadeEffect_MOVE_FROM_TOP },
456 { XML_MOVE_FROM_RIGHT, presentation::FadeEffect_MOVE_FROM_RIGHT },
457 { XML_MOVE_FROM_BOTTOM, presentation::FadeEffect_MOVE_FROM_BOTTOM },
458 { XML_ROLL_FROM_TOP, presentation::FadeEffect_ROLL_FROM_TOP },
459 { XML_ROLL_FROM_LEFT, presentation::FadeEffect_ROLL_FROM_LEFT },
460 { XML_ROLL_FROM_RIGHT, presentation::FadeEffect_ROLL_FROM_RIGHT },
461 { XML_ROLL_FROM_BOTTOM, presentation::FadeEffect_ROLL_FROM_BOTTOM },
462 { XML_VERTICAL_STRIPES, presentation::FadeEffect_VERTICAL_STRIPES },
463 { XML_HORIZONTAL_STRIPES, presentation::FadeEffect_HORIZONTAL_STRIPES },
464 { XML_CLOCKWISE, presentation::FadeEffect_CLOCKWISE },
465 { XML_COUNTERCLOCKWISE, presentation::FadeEffect_COUNTERCLOCKWISE },
466 { XML_FADE_FROM_UPPERLEFT, presentation::FadeEffect_FADE_FROM_UPPERLEFT },
467 { XML_FADE_FROM_UPPERRIGHT, presentation::FadeEffect_FADE_FROM_UPPERRIGHT },
468 { XML_FADE_FROM_LOWERLEFT, presentation::FadeEffect_FADE_FROM_LOWERLEFT },
469 { XML_FADE_FROM_LOWERRIGHT, presentation::FadeEffect_FADE_FROM_LOWERRIGHT },
470 { XML_CLOSE_VERTICAL, presentation::FadeEffect_CLOSE_VERTICAL },
471 { XML_CLOSE_HORIZONTAL, presentation::FadeEffect_CLOSE_HORIZONTAL },
472 { XML_OPEN_VERTICAL, presentation::FadeEffect_OPEN_VERTICAL },
473 { XML_OPEN_HORIZONTAL, presentation::FadeEffect_OPEN_HORIZONTAL },
474 { XML_SPIRALIN_LEFT, presentation::FadeEffect_SPIRALIN_LEFT },
475 { XML_SPIRALIN_RIGHT, presentation::FadeEffect_SPIRALIN_RIGHT },
476 { XML_SPIRALOUT_LEFT, presentation::FadeEffect_SPIRALOUT_LEFT },
477 { XML_SPIRALOUT_RIGHT, presentation::FadeEffect_SPIRALOUT_RIGHT },
478 { XML_DISSOLVE, presentation::FadeEffect_DISSOLVE },
479 { XML_WAVYLINE_FROM_LEFT, presentation::FadeEffect_WAVYLINE_FROM_LEFT },
480 { XML_WAVYLINE_FROM_TOP, presentation::FadeEffect_WAVYLINE_FROM_TOP },
481 { XML_WAVYLINE_FROM_RIGHT, presentation::FadeEffect_WAVYLINE_FROM_RIGHT },
482 { XML_WAVYLINE_FROM_BOTTOM, presentation::FadeEffect_WAVYLINE_FROM_BOTTOM },
483 { XML_RANDOM, presentation::FadeEffect_RANDOM },
484 { XML_STRETCH_FROM_LEFT, presentation::FadeEffect_STRETCH_FROM_LEFT },
485 { XML_STRETCH_FROM_TOP, presentation::FadeEffect_STRETCH_FROM_TOP },
486 { XML_STRETCH_FROM_RIGHT, presentation::FadeEffect_STRETCH_FROM_RIGHT },
487 { XML_STRETCH_FROM_BOTTOM, presentation::FadeEffect_STRETCH_FROM_BOTTOM },
488 { XML_VERTICAL_LINES, presentation::FadeEffect_VERTICAL_LINES },
489 { XML_HORIZONTAL_LINES, presentation::FadeEffect_HORIZONTAL_LINES },
490 { XML_MOVE_FROM_UPPERLEFT, presentation::FadeEffect_MOVE_FROM_UPPERLEFT },
491 { XML_MOVE_FROM_UPPERRIGHT, presentation::FadeEffect_MOVE_FROM_UPPERRIGHT },
492 { XML_MOVE_FROM_LOWERRIGHT, presentation::FadeEffect_MOVE_FROM_LOWERRIGHT },
493 { XML_MOVE_FROM_LOWERLEFT, presentation::FadeEffect_MOVE_FROM_LOWERLEFT },
494 { XML_UNCOVER_TO_LEFT, presentation::FadeEffect_UNCOVER_TO_LEFT },
495 { XML_UNCOVER_TO_UPPERLEFT, presentation::FadeEffect_UNCOVER_TO_UPPERLEFT },
496 { XML_UNCOVER_TO_TOP, presentation::FadeEffect_UNCOVER_TO_TOP },
497 { XML_UNCOVER_TO_UPPERRIGHT,presentation::FadeEffect_UNCOVER_TO_UPPERRIGHT },
498 { XML_UNCOVER_TO_RIGHT, presentation::FadeEffect_UNCOVER_TO_RIGHT },
499 { XML_UNCOVER_TO_LOWERRIGHT,presentation::FadeEffect_UNCOVER_TO_LOWERRIGHT },
500 { XML_UNCOVER_TO_BOTTOM, presentation::FadeEffect_UNCOVER_TO_BOTTOM },
501 { XML_UNCOVER_TO_LOWERLEFT, presentation::FadeEffect_UNCOVER_TO_LOWERLEFT },
502 { XML_VERTICAL_CHECKERBOARD,presentation::FadeEffect_VERTICAL_CHECKERBOARD },
503 { XML_HORIZONTAL_CHECKERBOARD,presentation::FadeEffect_HORIZONTAL_CHECKERBOARD },
504 { XML_TOKEN_INVALID, presentation::FadeEffect(0) }
505};
506
508{
509 { XML_STANDARD, drawing::ConnectorType_STANDARD },
510 { XML_CURVE, drawing::ConnectorType_CURVE },
511 { XML_LINE, drawing::ConnectorType_LINE },
512 { XML_LINES, drawing::ConnectorType_LINES },
513 { XML_TOKEN_INVALID, drawing::ConnectorType(0) }
514};
515
517{
518 { XML_REPEAT, drawing::BitmapMode_REPEAT },
519 { XML_STRETCH, drawing::BitmapMode_STRETCH },
520 { XML_BACKGROUND_NO_REPEAT, drawing::BitmapMode_NO_REPEAT },
521 { XML_TOKEN_INVALID, drawing::BitmapMode(0) }
522};
523
524// 3D EnumMaps
525
527{
528 { XML_OBJECT, drawing::NormalsKind_SPECIFIC },
529 { XML_FLAT, drawing::NormalsKind_FLAT },
530 { XML_SPHERE, drawing::NormalsKind_SPHERE },
531 { XML_TOKEN_INVALID, drawing::NormalsKind(0) }
532};
533
535{
536 { XML_OBJECT, drawing::TextureProjectionMode_OBJECTSPECIFIC },
537 { XML_PARALLEL, drawing::TextureProjectionMode_PARALLEL },
538 { XML_SPHERE, drawing::TextureProjectionMode_SPHERE },
539 { XML_TOKEN_INVALID, drawing::TextureProjectionMode(0) }
540};
541
543{
544 { XML_OBJECT, drawing::TextureProjectionMode_OBJECTSPECIFIC },
545 { XML_PARALLEL, drawing::TextureProjectionMode_PARALLEL },
546 { XML_SPHERE, drawing::TextureProjectionMode_SPHERE },
547 { XML_TOKEN_INVALID, drawing::TextureProjectionMode(0) }
548};
549
551{
552 { XML_LUMINANCE, drawing::TextureKind_LUMINANCE },
553 { XML_COLOR, drawing::TextureKind_COLOR },
554 { XML_TOKEN_INVALID, drawing::TextureKind(0) }
555};
556
558{
559 { XML_REPLACE, drawing::TextureMode_REPLACE },
560 { XML_MODULATE, drawing::TextureMode_MODULATE },
561 { XML_BLEND, drawing::TextureMode_BLEND },
562 { XML_TOKEN_INVALID, drawing::TextureMode(0) }
563};
564
566{
567 { XML_TOP_LEFT, drawing::RectanglePoint_LEFT_TOP },
568 { XML_TOP, drawing::RectanglePoint_MIDDLE_TOP },
569 { XML_TOP_RIGHT, drawing::RectanglePoint_RIGHT_TOP },
570 { XML_LEFT, drawing::RectanglePoint_LEFT_MIDDLE },
571 { XML_CENTER, drawing::RectanglePoint_MIDDLE_MIDDLE },
572 { XML_RIGHT, drawing::RectanglePoint_RIGHT_MIDDLE },
573 { XML_BOTTOM_LEFT, drawing::RectanglePoint_LEFT_BOTTOM },
574 { XML_BOTTOM, drawing::RectanglePoint_MIDDLE_BOTTOM },
575 { XML_BOTTOM_RIGHT, drawing::RectanglePoint_RIGHT_BOTTOM },
576 { XML_TOKEN_INVALID, drawing::RectanglePoint(0) }
577};
578
580{
581 { XML_FULL, drawing::CircleKind_FULL },
582 { XML_SECTION, drawing::CircleKind_SECTION },
583 { XML_CUT, drawing::CircleKind_CUT },
584 { XML_ARC, drawing::CircleKind_ARC },
585 { XML_TOKEN_INVALID, drawing::CircleKind(0) }
586};
587
589{
590 { XML_TB_RL, text::WritingMode_TB_RL },
591 { XML_LR_TB, text::WritingMode_LR_TB },
592 { XML_TOKEN_INVALID, text::WritingMode(0) }
593};
594
596{
597 { XML_LR_TB, text::WritingMode2::LR_TB },
598 { XML_RL_TB, text::WritingMode2::RL_TB },
599 { XML_TB_RL, text::WritingMode2::TB_RL },
600 { XML_TB_LR, text::WritingMode2::TB_LR },
601 { XML_PAGE, text::WritingMode2::CONTEXT },
602 { XML_BT_LR, text::WritingMode2::BT_LR },
603 { XML_TB_RL90, text::WritingMode2::TB_RL90 },
604 { XML_TOKEN_INVALID, text::WritingMode2::LR_TB }
605};
606
608{
609 { XML_NONE, drawing::TextAnimationKind_NONE },
610 { XML_BLINKING, drawing::TextAnimationKind_BLINK }, // will be filtered
611 { XML_SCROLL, drawing::TextAnimationKind_SCROLL },
612 { XML_ALTERNATE, drawing::TextAnimationKind_ALTERNATE },
613 { XML_SLIDE, drawing::TextAnimationKind_SLIDE },
614 { XML_TOKEN_INVALID, drawing::TextAnimationKind(0) }
615};
616
618{
619 { XML_FALSE, drawing::TextAnimationKind_NONE },
620 { XML_TRUE, drawing::TextAnimationKind_BLINK },
621 { XML_FALSE, drawing::TextAnimationKind_SCROLL },
622 { XML_FALSE, drawing::TextAnimationKind_ALTERNATE },
623 { XML_FALSE, drawing::TextAnimationKind_SLIDE },
624 { XML_TOKEN_INVALID, drawing::TextAnimationKind(0) }
625};
626
628{
629 { XML_LEFT, drawing::TextAnimationDirection_LEFT },
630 { XML_RIGHT, drawing::TextAnimationDirection_RIGHT }, // will be filtered
631 { XML_UP, drawing::TextAnimationDirection_UP },
632 { XML_DOWN, drawing::TextAnimationDirection_DOWN },
633 { XML_TOKEN_INVALID, drawing::TextAnimationDirection(0) }
634};
635
637{
638 { XML_LEFT, drawing::TextHorizontalAdjust_LEFT },
639 { XML_CENTER, drawing::TextHorizontalAdjust_CENTER },
640 { XML_RIGHT, drawing::TextHorizontalAdjust_RIGHT },
641 { XML_JUSTIFY, drawing::TextHorizontalAdjust_BLOCK },
642 { XML_TOKEN_INVALID, drawing::TextHorizontalAdjust(0) }
643};
644
646{
647 { XML_TOP, drawing::TextVerticalAdjust_TOP },
648 { XML_MIDDLE, drawing::TextVerticalAdjust_CENTER },
649 { XML_BOTTOM, drawing::TextVerticalAdjust_BOTTOM },
650 { XML_JUSTIFY, drawing::TextVerticalAdjust_BLOCK },
651 { XML_TOKEN_INVALID, drawing::TextVerticalAdjust(0) }
652};
653
654// note: PROPORTIONAL and ALLLINES are the same thing now!
656{
657 { XML_FALSE, drawing::TextFitToSizeType_NONE },
658 { XML_TRUE, drawing::TextFitToSizeType_PROPORTIONAL },
659 { XML_TRUE, drawing::TextFitToSizeType_ALLLINES },
660 { XML_FALSE, drawing::TextFitToSizeType_AUTOFIT },
661 { XML_TOKEN_INVALID, drawing::TextFitToSizeType(0) }
662};
663
665{
666 { XML_FALSE, drawing::TextFitToSizeType_NONE },
667 { XML_TRUE, drawing::TextFitToSizeType_PROPORTIONAL },
668 { XML_ALL, drawing::TextFitToSizeType_ALLLINES },
669 { XML_SHRINK_TO_FIT,drawing::TextFitToSizeType_AUTOFIT },
670 { XML_TOKEN_INVALID, drawing::TextFitToSizeType(0) }
671};
672
674{
675 { XML_FALSE, drawing::TextFitToSizeType_NONE },
676 { XML_FALSE, drawing::TextFitToSizeType_PROPORTIONAL },
677 { XML_FALSE, drawing::TextFitToSizeType_ALLLINES },
678 { XML_TRUE, drawing::TextFitToSizeType_AUTOFIT },
679 { XML_TOKEN_INVALID, drawing::TextFitToSizeType(0) }
680};
681
683{
684 { XML_AUTOMATIC, 0 },
685 { XML_MM, 1 },
686 { XML_UNIT_CM, 2 },
687 { XML_UNIT_M, 3 },
688 { XML_KM, 4 },
689 { XML_UNIT_PT, 6 },
690 { XML_UNIT_PC, 7 },
691 { XML_IN, 8 },
692 { XML_UNIT_FOOT, 9 },
693 { XML_MI, 10 },
695};
696
698{
699 { XML_AUTOMATIC, drawing::MeasureTextHorzPos_AUTO },
700 { XML_LEFT_OUTSIDE, drawing::MeasureTextHorzPos_LEFTOUTSIDE },
701 { XML_INSIDE, drawing::MeasureTextHorzPos_INSIDE },
702 { XML_RIGHT_OUTSIDE, drawing::MeasureTextHorzPos_RIGHTOUTSIDE},
703 { XML_TOKEN_INVALID, drawing::MeasureTextHorzPos(0) }
704};
705
707{
708 { XML_AUTOMATIC, drawing::MeasureTextVertPos_AUTO },
709 { XML_ABOVE, drawing::MeasureTextVertPos_EAST },
710 { XML_BELOW, drawing::MeasureTextVertPos_WEST },
711 { XML_CENTER, drawing::MeasureTextVertPos_CENTERED },
712 { XML_TOKEN_INVALID, drawing::MeasureTextVertPos(0) }
713};
714
715// #FontWork#
717{
718 { XML_ROTATE, 0 }, //XFormTextStyle::Rotate,
719 { XML_UPRIGHT, 1 }, //XFormTextStyle::Upright,
720 { XML_SLANT_X, 2 }, //XFormTextStyle::SlantX,
721 { XML_SLANT_Y, 3 }, //XFormTextStyle::SlantY,
722 { XML_NONE, 4 }, //XFormTextStyle::NONE
724};
725
727{
728 { XML_LEFT, 0 }, //XFormTextAdjust::Left,
729 { XML_RIGHT, 1 }, //XFormTextAdjust::Right,
730 { XML_AUTOSIZE, 2 }, //XFormTextAdjust::AutoSize,
731 { XML_CENTER, 3 }, //XFormTextAdjust::Center
733};
734
736{
737 { XML_NORMAL, 0 }, //XFormTextShadow::Normal,
738 { XML_SLANT, 1 }, //XFormTextShadow::Slant,
739 { XML_NONE, 2 }, //XFormTextShadow::NONE
741};
742
744{
745 { XML_NONE, 0 }, //XFTFORM_NONE,
746 { XML_TOPCIRCLE, 1 }, //XFTFORM_TOPCIRC,
747 { XML_BOTTOMCIRCLE, 2 }, //XFTFORM_BOTCIRC,
748 { XML_LEFTCIRCLE, 3 }, //XFTFORM_LFTCIRC,
749 { XML_RIGHTCIRCLE, 4 }, //XFTFORM_RGTCIRC,
750 { XML_TOPARC, 5 }, //XFTFORM_TOPARC,
751 { XML_BOTTOMARC, 6 }, //XFTFORM_BOTARC,
752 { XML_LEFTARC, 7 }, //XFTFORM_LFTARC,
753 { XML_RIGHTARC, 8 }, //XFTFORM_RGTARC,
754 { XML_BUTTON1, 9 }, //XFTFORM_BUTTON1,
755 { XML_BUTTON2, 10 }, //XFTFORM_BUTTON2,
756 { XML_BUTTON3, 11 }, //XFTFORM_BUTTON3,
757 { XML_BUTTON4, 12 }, //XFTFORM_BUTTON4
759};
760
762{
763 { XML_HORIZONTAL, 0 }, //SdrCaptionEscDir::Horizontal,
764 { XML_VERTICAL, 1 }, //SdrCaptionEscDir::Vertical,
765 { XML_AUTO, 2 }, //SdrCaptionEscDir::BestFit,
767};
768
770{
771 { XML_STRAIGHT_LINE, 0 }, //SdrCaptionType::Type1,
772 { XML_ANGLED_LINE, 1 }, //SdrCaptionType::Type2,
773 { XML_ANGLED_CONNECTOR_LINE, 2 }, //SdrCaptionType::Type3,
775};
776
777namespace {
778
779class XMLCaptionEscapeRelative : public XMLPropertyHandler
780{
781public:
782 virtual bool importXML(
783 const OUString& rStrImpValue,
784 css::uno::Any& rValue,
785 const SvXMLUnitConverter& rUnitConverter ) const override;
786 virtual bool exportXML(
787 OUString& rStrExpValue,
788 const css::uno::Any& rValue,
789 const SvXMLUnitConverter& rUnitConverter ) const override;
790};
791
792}
793
794bool XMLCaptionEscapeRelative::importXML( const OUString& rStrImpValue, Any& rValue, const SvXMLUnitConverter& ) const
795{
796 sal_Int32 nValue;
797
798 if (!::sax::Converter::convertPercent( nValue, rStrImpValue ))
799 return false;
800
801 nValue *= 100;
802 rValue <<= nValue;
803 return true;
804}
805
806bool XMLCaptionEscapeRelative::exportXML( OUString& rStrExpValue, const Any& rValue, const SvXMLUnitConverter& ) const
807{
808 sal_Int32 nValue = 0;
809 if( !(rValue >>= nValue ) )
810 return false;
811
812 nValue /= 100;
813 OUStringBuffer aOut;
814 ::sax::Converter::convertPercent( aOut, nValue );
815 rStrExpValue = aOut.makeStringAndClear();
816 return true;
817}
818
819namespace {
820
821class XMLMoveSizeProtectHdl : public XMLPropertyHandler
822{
823public:
824 explicit XMLMoveSizeProtectHdl( sal_Int32 nType ) : mnType( nType ) {}
825
826 virtual bool importXML(
827 const OUString& rStrImpValue,
828 css::uno::Any& rValue,
829 const SvXMLUnitConverter& rUnitConverter ) const override;
830 virtual bool exportXML(
831 OUString& rStrExpValue,
832 const css::uno::Any& rValue,
833 const SvXMLUnitConverter& rUnitConverter ) const override;
834private:
835 const sal_Int32 mnType;
836};
837
838}
839
840bool XMLMoveSizeProtectHdl::importXML( const OUString& rStrImpValue, Any& rValue, const SvXMLUnitConverter& ) const
841{
842 const bool bValue = rStrImpValue.indexOf( GetXMLToken( mnType == XML_SD_TYPE_MOVE_PROTECT ? XML_POSITION : XML_SIZE ) ) != -1;
843 rValue <<= bValue;
844 return true;
845}
846
847bool XMLMoveSizeProtectHdl::exportXML( OUString& rStrExpValue, const Any& rValue, const SvXMLUnitConverter& ) const
848{
849 bool bValue;
850 if( !(rValue >>= bValue ) )
851 return false;
852
853 if( bValue )
854 {
855 if( !rStrExpValue.isEmpty() )
856 rStrExpValue += " ";
857
858 rStrExpValue += GetXMLToken( mnType == XML_SD_TYPE_MOVE_PROTECT ? XML_POSITION : XML_SIZE );
859 }
860
861 return true;
862}
863
864namespace {
865
866class XMLSdHeaderFooterVisibilityTypeHdl : public XMLPropertyHandler
867{
868public:
869 virtual bool importXML( const OUString& rStrImpValue, css::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
870 virtual bool exportXML( OUString& rStrExpValue, const css::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
871};
872
873}
874
876 const OUString& rStrImpValue,
877 css::uno::Any& rValue,
878 const SvXMLUnitConverter& ) const
879{
880 // #i38644#
881 // attributes with this type where saved with VISIBLE|HIDDEN prior
882 // to src680m67. So we have to import that correctly
883 const bool bBool = IsXMLToken(rStrImpValue, XML_TRUE) || IsXMLToken(rStrImpValue, XML_VISIBLE);
884 rValue <<= bBool;
885 return bBool || IsXMLToken(rStrImpValue, XML_FALSE) || IsXMLToken(rStrImpValue, XML_HIDDEN);
886}
887
889 OUString& rStrExpValue,
890 const Any& rValue,
891 const SvXMLUnitConverter& ) const
892{
893 bool bRet = false;
894 bool bValue;
895
896 if (rValue >>= bValue)
897 {
898 OUStringBuffer aOut;
899 ::sax::Converter::convertBool( aOut, bValue );
900 rStrExpValue = aOut.makeStringAndClear();
901
902 bRet = true;
903 }
904
905 return bRet;
906}
907
908namespace {
909
910class XMLSdRotationAngleTypeHdl : public XMLPropertyHandler
911{
912public:
913 virtual bool importXML(const OUString& rStrImpValue, css::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter) const override;
914 virtual bool exportXML(OUString& rStrExpValue, const css::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter) const override;
915};
916
917}
918
920 const OUString& rStrImpValue,
921 css::uno::Any& rValue,
922 const SvXMLUnitConverter&) const
923{
924 sal_Int32 nValue;
925 bool const bRet = ::sax::Converter::convertNumber(nValue, rStrImpValue);
926 if (bRet)
927 {
928 nValue = (nValue % 360);
929 if (nValue < 0)
930 nValue = 360 + nValue;
931 sal_Int32 nAngle;
932 if (nValue < 45 || nValue > 315)
933 nAngle = 0;
934 else if (nValue < 180)
935 nAngle = 9000;
936 else /* if nValue <= 315 ) */
937 nAngle = 27000;
938
939 rValue <<= nAngle;
940 }
941 return bRet;
942}
943
945 OUString& rStrExpValue,
946 const Any& rValue,
947 const SvXMLUnitConverter&) const
948{
949 sal_Int32 nAngle;
950 bool bRet = (rValue >>= nAngle) && nAngle != 0;
951 if (bRet)
952 {
953 rStrExpValue = OUString::number(nAngle / 100);
954 }
955 return bRet;
956}
957
958namespace {
959
960class XMLFitToSizeEnumPropertyHdl : public XMLEnumPropertyHdl
961{
962public:
963 XMLFitToSizeEnumPropertyHdl(
965 : XMLEnumPropertyHdl(pMap) {}
966
967 virtual bool importXML(const OUString& rStrImpValue, uno::Any& rValue,
968 const SvXMLUnitConverter& rUC) const override
969 {
970 // we don't know here what the actual attribute name is -
971 // but we can combine the 2 attributes by just taking the
972 // "largest" result value; this can never result in ALLLINES
973 // so the implementation has to interpret PROPORTIONAL as ALLLINES;
974 // both "true" is invalid anyway.
975 Any any;
976 auto const bRet = XMLEnumPropertyHdl::importXML(rStrImpValue, any, rUC);
977 if (!bRet)
978 {
979 return false;
980 }
981 assert(any.hasValue());
982 if (!rValue.hasValue() ||
983 rValue.get<drawing::TextFitToSizeType>() < any.get<drawing::TextFitToSizeType>())
984 {
985 rValue = any;
986 }
987 return true;
988 }
989};
990
991}
992
993XMLSdPropHdlFactory::XMLSdPropHdlFactory( uno::Reference< frame::XModel > xModel, SvXMLImport& rImport )
994: mxModel(std::move( xModel )), mpExport(nullptr), mpImport( &rImport )
995{
996}
997
998XMLSdPropHdlFactory::XMLSdPropHdlFactory( uno::Reference< frame::XModel > xModel, SvXMLExport& rExport )
999: mxModel(std::move( xModel )), mpExport( &rExport ), mpImport(nullptr)
1000{
1001}
1002
1004{
1005}
1006
1008{
1010 if(!pHdl)
1011 {
1012 switch(nType)
1013 {
1014 case XML_SD_TYPE_STROKE :
1015 {
1017 break;
1018 }
1020 {
1022 break;
1023 }
1024 case XML_SD_TYPE_LINECAP :
1025 {
1027 break;
1028 }
1030 {
1032 break;
1033 }
1035 {
1037 break;
1038 }
1040 {
1042 break;
1043 }
1044 case XML_TYPE_SD_MIRROR:
1045 {
1047 break;
1048 }
1050 {
1052 break;
1053 }
1055 {
1057 break;
1058 }
1060 {
1061 pHdl = new XMLDurationPropertyHdl;
1062 break;
1063 }
1065 {
1067 break;
1068 }
1069 case XML_SD_TYPE_OPACITY :
1070 {
1071 pHdl = new XMLOpacityPropertyHdl(mpImport);
1072 break;
1073 }
1075 {
1077 break;
1078 }
1080 {
1082 break;
1083 }
1085 {
1087 break;
1088 }
1090 {
1092 break;
1093 }
1094
1095 // 3D Properties
1096
1098 {
1099 // #87922# DoubleSided -> BackfaceCulling
1100 // This sal_Bool needs to be flipped, DoubleSided sal_True -> NO Backface culling
1101 // and vice versa.
1103 break;
1104 }
1105
1107 {
1109 break;
1110 }
1112 {
1114 break;
1115 }
1117 {
1119 break;
1120 }
1122 {
1124 break;
1125 }
1127 {
1129 break;
1130 }
1132 {
1134 break;
1135 }
1137 {
1138 uno::Reference<ucb::XAnyCompareFactory> xCompareFac( mxModel, uno::UNO_QUERY );
1139 uno::Reference<ucb::XAnyCompare> xCompare;
1140 if( xCompareFac.is() )
1141 xCompare = xCompareFac->createAnyCompareByName( "NumberingRules" );
1142
1143 pHdl = new XMLNumRulePropHdl( xCompare );
1144 break;
1145 }
1147 {
1149 break;
1150 }
1153 {
1155 break;
1156 }
1158 {
1160 break;
1161 }
1163 {
1165 break;
1166 }
1168 {
1170 break;
1171 }
1174 break;
1177 break;
1180 break;
1183 break;
1186 break;
1189 break;
1191 {
1192 if (mpExport
1193 && (mpExport->getSaneDefaultVersion() // tdf#97630
1195 {
1196 pHdl = new XMLFitToSizeEnumPropertyHdl(pXML_FitToSize_Enum_Odf12);
1197 }
1198 else
1199 { // import all values written by old LO
1200 pHdl = new XMLFitToSizeEnumPropertyHdl(pXML_FitToSize_Enum);
1201 }
1202 }
1203 break;
1205 {
1206 pHdl = new XMLFitToSizeEnumPropertyHdl(pXML_ShrinkToFit_Enum);
1207 }
1208 break;
1211 break;
1214 break;
1217 break;
1219 {
1221 }
1222 break;
1224 pHdl = new XMLClipPropertyHandler( true );
1225 break;
1226 case XML_TYPE_TEXT_CLIP:
1227 pHdl = new XMLClipPropertyHandler( false );
1228 break;
1229
1230 // #FontWork#
1233 break;
1236 break;
1239 break;
1242 break;
1243
1245 pHdl = new ::xmloff::OControlBorderHandler( ::xmloff::OControlBorderHandler::STYLE );
1246 break;
1248 pHdl = new ::xmloff::OControlBorderHandler( ::xmloff::OControlBorderHandler::COLOR );
1249 break;
1251 pHdl = new ::xmloff::ImageScaleModeHandler;
1252 break;
1254 pHdl = new ::xmloff::OControlTextEmphasisHandler;
1255 break;
1256
1258 {
1260 break;
1261 }
1264 break;
1266 pHdl = new XMLCaptionEscapeRelative;
1267 break;
1270 break;
1273 break;
1276 break;
1279 break;
1281 pHdl = new XMLDateTimeFormatHdl( mpExport );
1282 break;
1285 break;
1288 break;
1291 break;
1293 pHdl = new XMLWordWrapPropertyHdl( mpImport );
1294 break;
1295
1298 pHdl = new XMLMoveSizeProtectHdl( nType );
1299 break;
1301 pHdl = new XMLSdHeaderFooterVisibilityTypeHdl;
1302 break;
1304 pHdl = new XMLSdRotationAngleTypeHdl;
1305 break;
1308 break;
1311 break;
1312 }
1313
1314 if(pHdl)
1315 PutHdlCache(nType, pHdl);
1316 }
1317
1318 return pHdl;
1319}
1320
1322 bool bForExport)
1323: XMLPropertySetMapper( aXMLSDProperties, rFactoryRef, bForExport )
1324{
1325}
1326
1328{
1329}
1330
1332: SvXMLExportPropertyMapper( rMapper )
1333, maNumRuleExp( rExport )
1334, mbIsInAutoStyles( true )
1335{
1336}
1337
1339{
1340}
1341
1343 bool bEnableFoFontFamily,
1344 std::vector< XMLPropertyState >& rProperties,
1345 const uno::Reference< beans::XPropertySet >& rPropSet ) const
1346{
1347 XMLPropertyState* pRepeatOffsetX = nullptr;
1348 XMLPropertyState* pRepeatOffsetY = nullptr;
1349 XMLPropertyState* pTextAnimationBlinking = nullptr;
1350 XMLPropertyState* pTextAnimationKind = nullptr;
1351
1352 // #FontWork#
1353 XMLPropertyState* pFontWorkStyle = nullptr;
1354 XMLPropertyState* pFontWorkAdjust = nullptr;
1355 XMLPropertyState* pFontWorkDistance = nullptr;
1356 XMLPropertyState* pFontWorkStart = nullptr;
1357 XMLPropertyState* pFontWorkMirror = nullptr;
1358 XMLPropertyState* pFontWorkOutline = nullptr;
1359 XMLPropertyState* pFontWorkShadow = nullptr;
1360 XMLPropertyState* pFontWorkShadowColor = nullptr;
1361 XMLPropertyState* pFontWorkShadowOffsetx = nullptr;
1362 XMLPropertyState* pFontWorkShadowOffsety = nullptr;
1363 XMLPropertyState* pFontWorkForm = nullptr;
1364 XMLPropertyState* pFontWorkHideform = nullptr;
1365 XMLPropertyState* pFontWorkShadowTransparence = nullptr;
1366
1367 // OLE
1368 XMLPropertyState* pOLEVisAreaLeft = nullptr;
1369 XMLPropertyState* pOLEVisAreaTop = nullptr;
1370 XMLPropertyState* pOLEVisAreaWidth = nullptr;
1371 XMLPropertyState* pOLEVisAreaHeight = nullptr;
1372 XMLPropertyState* pOLEIsInternal = nullptr;
1373
1374 // caption
1375 XMLPropertyState* pCaptionIsEscRel = nullptr;
1376 XMLPropertyState* pCaptionEscRel = nullptr;
1377 XMLPropertyState* pCaptionEscAbs = nullptr;
1378
1379 // filter fo:clip
1380 XMLPropertyState* pClip11State = nullptr;
1381 XMLPropertyState* pClipState = nullptr;
1382
1383 XMLPropertyState* pGraphicWritingMode2 = nullptr;
1384 XMLPropertyState* pShapeWritingMode = nullptr;
1385 XMLPropertyState* pTextWritingMode = nullptr;
1386 XMLPropertyState* pControlWritingMode = nullptr;
1387
1388 // filter properties
1389 for( auto& rProp : rProperties )
1390 {
1391 XMLPropertyState *property = &rProp;
1392 if( property->mnIndex == -1 )
1393 continue;
1394
1395 // find properties with context
1396 // to prevent writing this property set mnIndex member to -1
1397 switch( getPropertySetMapper()->GetEntryContextId( property->mnIndex ))
1398 {
1399 case CTF_NUMBERINGRULES:
1400 {
1401 if( mbIsInAutoStyles )
1402 property->mnIndex = -1;
1403 }
1404 break;
1406 {
1407 // this property is not exported in the style:properties element
1408 // because it's an XIndexAccess and not a string.
1409 // This will be handled in SvXMLAutoStylePoolP::exportStyleAttributes
1410 // This is suboptimal
1411 if( !mbIsInAutoStyles )
1412 property->mnIndex = -1;
1413 }
1414 break;
1415 case CTF_WRITINGMODE2:
1416 pGraphicWritingMode2 = property;
1417 break;
1418 case CTF_WRITINGMODE:
1419 pShapeWritingMode = property;
1420 break;
1422 pControlWritingMode = property;
1423 break;
1425 pTextWritingMode = property;
1426 break;
1428 pRepeatOffsetX = property;
1429 break;
1430
1432 pRepeatOffsetY = property;
1433 break;
1434
1435 case CTF_DASHNAME:
1437 case CTF_FILLHATCHNAME:
1438 case CTF_FILLBITMAPNAME:
1439 {
1440 OUString aStr;
1441 if( (property->maValue >>= aStr) && aStr.isEmpty() )
1442 property->mnIndex = -1;
1443 }
1444 break;
1446 pTextAnimationBlinking = property;
1447 break;
1449 pTextAnimationKind = property;
1450 break;
1451
1452 // #FontWork#
1453 case CTF_FONTWORK_STYLE: pFontWorkStyle = property; break;
1454 case CTF_FONTWORK_ADJUST: pFontWorkAdjust = property; break;
1455 case CTF_FONTWORK_DISTANCE: pFontWorkDistance = property; break;
1456 case CTF_FONTWORK_START: pFontWorkStart = property; break;
1457 case CTF_FONTWORK_MIRROR: pFontWorkMirror = property; break;
1458 case CTF_FONTWORK_OUTLINE: pFontWorkOutline = property; break;
1459 case CTF_FONTWORK_SHADOW: pFontWorkShadow = property; break;
1460 case CTF_FONTWORK_SHADOWCOLOR: pFontWorkShadowColor = property; break;
1461 case CTF_FONTWORK_SHADOWOFFSETX: pFontWorkShadowOffsetx = property; break;
1462 case CTF_FONTWORK_SHADOWOFFSETY: pFontWorkShadowOffsety = property; break;
1463 case CTF_FONTWORK_FORM: pFontWorkForm = property; break;
1464 case CTF_FONTWORK_HIDEFORM: pFontWorkHideform = property; break;
1465 case CTF_FONTWORK_SHADOWTRANSPARENCE: pFontWorkShadowTransparence = property; break;
1466
1467 // OLE
1468 case CTF_SD_OLE_VIS_AREA_EXPORT_LEFT: pOLEVisAreaLeft = property; break;
1469 case CTF_SD_OLE_VIS_AREA_EXPORT_TOP: pOLEVisAreaTop = property; break;
1470 case CTF_SD_OLE_VIS_AREA_EXPORT_WIDTH: pOLEVisAreaWidth = property; break;
1471 case CTF_SD_OLE_VIS_AREA_EXPORT_HEIGHT: pOLEVisAreaHeight = property; break;
1472 case CTF_SD_OLE_ISINTERNAL: pOLEIsInternal = property; break;
1473
1475 {
1476 if( !property->maValue.hasValue() )
1477 property->mnIndex = -1;
1478 }
1479 break;
1482 {
1483 sal_Int32 nValue = 0;
1484 if( (property->maValue >>= nValue) && (nValue < 0) )
1485 property->mnIndex = -1;
1486 }
1487 break;
1488
1490 {
1491 bool bProtected;
1492 if( (property->maValue >>= bProtected) && !bProtected )
1493 property->mnIndex = -1;
1494 }
1495 break;
1497 {
1498 bool bProtected;
1499 if( (property->maValue >>= bProtected) && !bProtected )
1500 property->mnIndex = -1;
1501 }
1502 break;
1503 case CTF_CAPTION_ISESCREL: pCaptionIsEscRel = property; break;
1504 case CTF_CAPTION_ESCREL: pCaptionEscRel = property; break;
1505 case CTF_CAPTION_ESCABS: pCaptionEscAbs = property; break;
1506 case CTF_TEXT_CLIP11: pClip11State = property; break;
1507 case CTF_TEXT_CLIP: pClipState = property; break;
1508 }
1509 }
1510
1511 if (pGraphicWritingMode2)
1512 {
1513 // A style:writing-mode attribute G in graphic-properties is only evaluated if there is no
1514 // style:writing-mode attribute P in the paragraph-properties of the same graphic style.
1515 // Otherwise the value of P is used. For values lr-tb, rl-tb and tb-rl the values G and P
1516 // should be the same. But other values in G cannot be expressed in P and would produce default
1517 // 0 value in P, preventing evaluation of G.
1518 sal_Int16 eGraphicWritingMode;
1519 if ((pGraphicWritingMode2->maValue >>= eGraphicWritingMode)
1520 && eGraphicWritingMode >= text::WritingMode2::TB_LR && pShapeWritingMode)
1521 pShapeWritingMode->mnIndex = -1;
1522 }
1523
1524 // check for duplicate writing mode
1525 if( pShapeWritingMode && (pTextWritingMode || pControlWritingMode) )
1526 {
1527 if( pTextWritingMode )
1528 pTextWritingMode->mnIndex = -1;
1529 if( pControlWritingMode )
1530 pControlWritingMode->mnIndex = -1;
1531
1532 text::WritingMode eWritingMode;
1533 if( pShapeWritingMode->maValue >>= eWritingMode )
1534 {
1535 if( text::WritingMode_LR_TB == eWritingMode )
1536 {
1537 pShapeWritingMode->mnIndex = -1;
1538 pShapeWritingMode = nullptr;
1539 }
1540 }
1541 }
1542 else if( pTextWritingMode && pControlWritingMode )
1543 {
1544 pControlWritingMode->mnIndex = -1;
1545
1546 sal_Int32 eWritingMode;
1547 if (pTextWritingMode->maValue >>= eWritingMode)
1548 {
1549 if (text::WritingMode2::LR_TB == eWritingMode)
1550 {
1551 pTextWritingMode->mnIndex = -1;
1552 pTextWritingMode = nullptr;
1553 }
1554 }
1555 }
1556
1557 // do not export visual area for internal ole objects
1558 if( pOLEIsInternal )
1559 {
1560 bool bInternal;
1561 if( (pOLEIsInternal->maValue >>= bInternal) && !bInternal )
1562 {
1563 try
1564 {
1565 awt::Rectangle aRect;
1566 if( rPropSet->getPropertyValue( "VisibleArea" ) >>= aRect )
1567 {
1568 if( pOLEVisAreaLeft )
1569 {
1570 pOLEVisAreaLeft->mnIndex = getPropertySetMapper()->FindEntryIndex( CTF_SD_OLE_VIS_AREA_IMPORT_LEFT );
1571 pOLEVisAreaLeft->maValue <<= aRect;
1572 }
1573 if( pOLEVisAreaTop )
1574 {
1575 pOLEVisAreaTop->mnIndex = getPropertySetMapper()->FindEntryIndex( CTF_SD_OLE_VIS_AREA_IMPORT_TOP );
1576 pOLEVisAreaTop->maValue <<= aRect;
1577 }
1578 if( pOLEVisAreaWidth )
1579 {
1580 pOLEVisAreaWidth->mnIndex = getPropertySetMapper()->FindEntryIndex( CTF_SD_OLE_VIS_AREA_IMPORT_WIDTH );
1581 pOLEVisAreaWidth->maValue <<= aRect;
1582 }
1583 if( pOLEVisAreaHeight )
1584 {
1585 pOLEVisAreaHeight->mnIndex = getPropertySetMapper()->FindEntryIndex( CTF_SD_OLE_VIS_AREA_IMPORT_HEIGHT );
1586 pOLEVisAreaHeight->maValue <<= aRect;
1587 }
1588 }
1589 }
1590 catch( uno::Exception& )
1591 {
1592 }
1593 }
1594 else
1595 {
1596 if( pOLEVisAreaLeft ) pOLEVisAreaLeft->mnIndex = -1;
1597 if( pOLEVisAreaTop ) pOLEVisAreaTop->mnIndex = -1;
1598 if( pOLEVisAreaWidth ) pOLEVisAreaWidth->mnIndex = -1;
1599 if( pOLEVisAreaHeight ) pOLEVisAreaHeight->mnIndex = -1;
1600 }
1601
1602 pOLEIsInternal->mnIndex = -1;
1603 }
1604
1605 if( pTextAnimationBlinking && pTextAnimationKind )
1606 {
1607 drawing::TextAnimationKind eKind;
1608 if( (pTextAnimationKind->maValue >>= eKind) && eKind != drawing::TextAnimationKind_BLINK )
1609 {
1610 pTextAnimationBlinking->mnIndex = -1;
1611 }
1612 else
1613 {
1614 pTextAnimationKind->mnIndex = -1;
1615 }
1616 }
1617
1618 if( pRepeatOffsetX && pRepeatOffsetY )
1619 {
1620 sal_Int32 nOffset = 0;
1621 if( ( pRepeatOffsetX->maValue >>= nOffset ) && ( nOffset == 0 ) )
1622 pRepeatOffsetX->mnIndex = -1;
1623 else
1624 pRepeatOffsetY->mnIndex = -1;
1625 }
1626
1627 if(pFontWorkStyle)
1628 {
1629 // #FontWork#
1630 sal_Int32 nStyle = 0;
1631
1632 if(pFontWorkStyle->maValue >>= nStyle)
1633 {
1634 if(/*XFormTextStyle::NONE*/4 == nStyle)
1635 {
1636 pFontWorkStyle->mnIndex = -1;
1637 if(pFontWorkAdjust)
1638 pFontWorkAdjust->mnIndex = -1;
1639 if(pFontWorkDistance)
1640 pFontWorkDistance->mnIndex = -1;
1641 if(pFontWorkStart)
1642 pFontWorkStart->mnIndex = -1;
1643 if(pFontWorkMirror)
1644 pFontWorkMirror->mnIndex = -1;
1645 if(pFontWorkOutline)
1646 pFontWorkOutline->mnIndex = -1;
1647 if(pFontWorkShadow)
1648 pFontWorkShadow->mnIndex = -1;
1649 if(pFontWorkShadowColor)
1650 pFontWorkShadowColor->mnIndex = -1;
1651 if(pFontWorkShadowOffsetx)
1652 pFontWorkShadowOffsetx->mnIndex = -1;
1653 if(pFontWorkShadowOffsety)
1654 pFontWorkShadowOffsety->mnIndex = -1;
1655 if(pFontWorkForm)
1656 pFontWorkForm->mnIndex = -1;
1657 if(pFontWorkHideform)
1658 pFontWorkHideform->mnIndex = -1;
1659 if(pFontWorkShadowTransparence)
1660 pFontWorkShadowTransparence->mnIndex = -1;
1661 }
1662 }
1663 }
1664
1665 if( pCaptionIsEscRel )
1666 {
1667 bool bIsRel = false;
1668 pCaptionIsEscRel->maValue >>= bIsRel;
1669
1670 if( bIsRel )
1671 {
1672 if( pCaptionEscAbs )
1673 pCaptionEscAbs->mnIndex = -1;
1674 }
1675 else
1676 {
1677 if( pCaptionEscRel )
1678 pCaptionEscRel->mnIndex = -1;
1679 }
1680
1681 pCaptionIsEscRel->mnIndex = -1;
1682 }
1683
1684 if( pClipState != nullptr && pClip11State != nullptr )
1685 pClip11State->mnIndex = -1;
1686
1687 SvXMLExportPropertyMapper::ContextFilter(bEnableFoFontFamily, rProperties, rPropSet);
1688}
1689
1691 SvXMLAttributeList& rAttrList,
1692 const XMLPropertyState& rProperty,
1693 const SvXMLUnitConverter& rUnitConverter,
1694 const SvXMLNamespaceMap& rNamespaceMap,
1695 const ::std::vector< XMLPropertyState > *pProperties,
1696 sal_uInt32 nIdx ) const
1697{
1698 switch( getPropertySetMapper()->GetEntryContextId( rProperty.mnIndex ) )
1699 {
1701 // not to be handled by the base class
1702 break;
1703
1704 default:
1705 SvXMLExportPropertyMapper::handleSpecialItem( rAttrList, rProperty, rUnitConverter, rNamespaceMap, pProperties, nIdx );
1706 break;
1707 }
1708}
1709
1711 SvXMLExport& rExport,
1712 const XMLPropertyState& rProperty,
1713 SvXmlExportFlags nFlags,
1714 const ::std::vector< XMLPropertyState > *pProperties,
1715 sal_uInt32 nIdx) const
1716{
1717 switch( getPropertySetMapper()->GetEntryContextId( rProperty.mnIndex ) )
1718 {
1719 case CTF_NUMBERINGRULES:
1720 {
1721 // only export list-styles as elements in styles section
1722 if( !mbIsInAutoStyles )
1723 {
1724 uno::Reference< container::XIndexReplace > xNumRule( rProperty.maValue, uno::UNO_QUERY );
1725 if( xNumRule.is() )
1726 const_cast<XMLShapeExportPropertyMapper*>(this)->maNumRuleExp.exportNumberingRule(GetStyleName(), false, xNumRule);
1727 }
1728 }
1729 break;
1730 default:
1731 SvXMLExportPropertyMapper::handleElementItem( rExport, rProperty, nFlags, pProperties, nIdx );
1732 break;
1733 }
1734}
1735
1737 SvXMLExportPropertyMapper( rMapper ),
1738 mrExport( rExport )
1739{
1740}
1741
1743{
1744}
1745
1747 bool bEnableFoFontFamily,
1748 std::vector< XMLPropertyState >& rProperties,
1749 const uno::Reference< beans::XPropertySet >& rPropSet ) const
1750{
1751 XMLPropertyState* pRepeatOffsetX = nullptr;
1752 XMLPropertyState* pRepeatOffsetY = nullptr;
1753 XMLPropertyState* pTransType = nullptr;
1754 XMLPropertyState* pTransDuration = nullptr;
1755 XMLPropertyState* pDateTimeUpdate = nullptr;
1756 XMLPropertyState* pDateTimeFormat = nullptr;
1757 XMLPropertyState* pTransitionFadeColor = nullptr;
1758
1759 sal_Int16 nTransitionType = 0;
1760
1761 // filter properties
1762 for( auto& rProp : rProperties )
1763 {
1764 XMLPropertyState *property = &rProp;
1765 if( property->mnIndex == -1 )
1766 continue;
1767
1768 // find properties with context
1769 // to prevent writing this property set mnIndex member to -1
1770 switch( getPropertySetMapper()->GetEntryContextId( property->mnIndex ))
1771 {
1772
1774 pRepeatOffsetX = property;
1775 break;
1776
1778 pRepeatOffsetY = property;
1779 break;
1781 pTransType = property;
1782 break;
1785 (*property).mnIndex = -1;
1786 break;
1788 {
1790 (((*property).maValue >>= nTransitionType) && (nTransitionType == 0)) )
1791 (*property).mnIndex = -1;
1792 }
1793 break;
1795 {
1796 sal_Int16 nTransitionSubtype = sal_Int16();
1798 (((*property).maValue >>= nTransitionSubtype) && (nTransitionSubtype == 0)) )
1799 (*property).mnIndex = -1;
1800
1801 }
1802 break;
1804 {
1805 bool bDirection;
1807 (((*property).maValue >>= bDirection) && bDirection) )
1808 (*property).mnIndex = -1;
1809 }
1810 break;
1813 (*property).mnIndex = -1;
1814 else
1815 pTransitionFadeColor = property;
1816 break;
1818 {
1819 presentation::AnimationSpeed aEnum;
1820 if( ((*property).maValue >>= aEnum) && aEnum == presentation::AnimationSpeed_MEDIUM )
1821 (*property).mnIndex = -1;
1822 }
1823 break;
1824 case CTF_PAGE_VISIBLE:
1825 {
1826 bool bVisible = false;
1827 (*property).maValue >>= bVisible;
1828 if( bVisible )
1829 (*property).mnIndex = -1;
1830 }
1831 break;
1833 pTransDuration = property;
1834 break;
1835 case CTF_HEADER_TEXT:
1836 case CTF_FOOTER_TEXT:
1837 case CTF_DATE_TIME_TEXT:
1838 {
1839 OUString aValue;
1840 (*property).maValue >>= aValue;
1841 if( aValue.isEmpty() )
1842 (*property).mnIndex = -1;
1843 }
1844 break;
1845
1847 pDateTimeUpdate = property;
1848 break;
1849
1851 pDateTimeFormat = property;
1852 break;
1853 }
1854 }
1855
1856 if( pTransitionFadeColor && nTransitionType != css::animations::TransitionType::FADE )
1857 pTransitionFadeColor->mnIndex = -1;
1858
1859 if( pDateTimeFormat && pDateTimeUpdate )
1860 {
1861 bool bIsFixed = false;
1862 pDateTimeUpdate->maValue >>= bIsFixed;
1863 if( bIsFixed )
1864 pDateTimeFormat->mnIndex = -1;
1865 }
1866
1867 if( pRepeatOffsetX && pRepeatOffsetY )
1868 {
1869 sal_Int32 nOffset = 0;
1870 if( ( pRepeatOffsetX->maValue >>= nOffset ) && ( nOffset == 0 ) )
1871 pRepeatOffsetX->mnIndex = -1;
1872 else
1873 pRepeatOffsetY->mnIndex = -1;
1874 }
1875
1876 if( pTransType && pTransDuration )
1877 {
1878 sal_Int32 nChange = 0;
1879 pTransType->maValue >>= nChange;
1880
1881 // only export duration for automatic
1882 if( nChange != 1 )
1883 pTransDuration->mnIndex = -1;
1884
1885 // do not export default transition change
1886 if( nChange == 0 )
1887 pTransType->mnIndex = -1;
1888 }
1889
1890 SvXMLExportPropertyMapper::ContextFilter(bEnableFoFontFamily, rProperties, rPropSet);
1891}
1892
1894 SvXMLExport& rExport,
1895 const XMLPropertyState& rProperty,
1896 SvXmlExportFlags nFlags,
1897 const ::std::vector< XMLPropertyState > *pProperties,
1898 sal_uInt32 nIdx) const
1899{
1900 switch( getPropertySetMapper()->GetEntryContextId( rProperty.mnIndex ) )
1901 {
1902 case CTF_PAGE_SOUND_URL:
1903 {
1904 OUString aSoundURL;
1905 if( (rProperty.maValue >>= aSoundURL) && !aSoundURL.isEmpty() )
1906 {
1912 }
1913 }
1914 break;
1915 default:
1916 SvXMLExportPropertyMapper::handleElementItem( rExport, rProperty, nFlags, pProperties, nIdx );
1917 break;
1918 }
1919}
1920
1921/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
css::uno::Reference< css::frame::XModel2 > mxModel
const Any & any
const OUString & GetStyleName() const
Definition: xmlexppr.cxx:1126
virtual void handleElementItem(SvXMLExport &rExport, const XMLPropertyState &rProperty, SvXmlExportFlags nFlags, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const
this method is called for every item that has the MID_FLAG_ELEMENT_EXPORT flag set
Definition: xmlexppr.cxx:866
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const
Application-specific filter.
Definition: xmlexppr.cxx:665
const rtl::Reference< XMLPropertySetMapper > & getPropertySetMapper() const
Definition: xmlexppr.cxx:1116
virtual void handleSpecialItem(SvXMLAttributeList &rAttrList, const XMLPropertyState &rProperty, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const
this method is called for every item that has the MID_FLAG_SPECIAL_ITEM_EXPORT flag set
Definition: xmlexppr.cxx:850
OUString GetRelativeReference(const OUString &rValue)
Definition: xmlexp.cxx:2064
void AddAttribute(sal_uInt16 nPrefix, const OUString &rName, const OUString &rValue)
Definition: xmlexp.cxx:911
SvXMLExportFlags getExportFlags() const
Definition: xmlexp.hxx:478
SvtSaveOptions::ODFSaneDefaultVersion getSaneDefaultVersion() const
returns the deterministic version for odf export
Definition: xmlexp.cxx:2271
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
Definition: xmluconv.hxx:83
void exportNumberingRule(const OUString &rName, bool bIsHidden, const css::uno::Reference< css::container::XIndexReplace > &xNumRule)
Definition: xmlnume.cxx:644
Abstract base-class for different XML-types.
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type:
Abstract base-class for different XML-types.
PropertyHandler for a generic xml enumeration type:
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
Imports the given value according to the XML-data-type corresponding to the derived class.
Abstract base-class for different XML-types.
This is a handler that returns true for import if the attribute string contains a '' value.
PropertyHandler for a named xml bool type:
PropertyHandler for the list-style.
Definition: numithdl.hxx:29
XMLPageExportPropertyMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper, SvXMLExport &rExport)
Definition: sdpropls.cxx:1736
virtual ~XMLPageExportPropertyMapper() override
Definition: sdpropls.cxx:1742
virtual void handleElementItem(SvXMLExport &rExport, const XMLPropertyState &rProperty, SvXmlExportFlags nFlags, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const override
this method is called for every item that has the MID_FLAG_ELEMENT_EXPORT flag set
Definition: sdpropls.cxx:1893
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const override
Application-specific filter.
Definition: sdpropls.cxx:1746
This is a handler either only import/exports percent or measure.
void PutHdlCache(sal_Int32 nType, const XMLPropertyHandler *pHdl) const
Puts a PropertyHandler into the internal cache.
Definition: prhdlfac.cxx:159
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const
This method retrieves a PropertyHandler for the given XML-type.
Definition: prhdlfac.cxx:141
Abstract base-class for different XML-types.
Definition: xmlprhdl.hxx:36
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const =0
Exports the given value according to the XML-data-type corresponding to the derived class.
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const =0
Imports the given value according to the XML-data-type corresponding to the derived class.
XMLSdPropHdlFactory(css::uno::Reference< css::frame::XModel > xModel, SvXMLExport &rExport)
css::uno::Reference< css::frame::XModel > mxModel
Definition: sdpropls.hxx:56
SvXMLImport * mpImport
Definition: sdpropls.hxx:58
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const override
This method retrieves a PropertyHandler for the given XML-type.
Definition: sdpropls.cxx:1007
virtual ~XMLSdPropHdlFactory() override
Definition: sdpropls.cxx:1003
SvXMLExport * mpExport
Definition: sdpropls.hxx:57
SvxXMLNumRuleExport maNumRuleExp
Definition: sdpropls.hxx:77
XMLShapeExportPropertyMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper, SvXMLExport &rExport)
Definition: sdpropls.cxx:1331
virtual void handleElementItem(SvXMLExport &rExport, const XMLPropertyState &rProperty, SvXmlExportFlags nFlags, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const override
this method is called for every item that has the MID_FLAG_ELEMENT_EXPORT flag set
Definition: sdpropls.cxx:1710
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const override
Application-specific filter.
Definition: sdpropls.cxx:1342
virtual void handleSpecialItem(SvXMLAttributeList &rAttrList, const XMLPropertyState &rProperty, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const override
this method is called for every item that has the MID_FLAG_SPECIAL_ITEM_EXPORT flag set
Definition: sdpropls.cxx:1690
virtual ~XMLShapeExportPropertyMapper() override
Definition: sdpropls.cxx:1338
virtual ~XMLShapePropertySetMapper() override
Definition: sdpropls.cxx:1327
XMLShapePropertySetMapper(const rtl::Reference< XMLPropertyHandlerFactory > &rFactoryRef, bool bForExport)
Definition: sdpropls.cxx:1321
PropertyHandler for the XML-data-type:
static bool convertPercent(sal_Int32 &rValue, std::u16string_view rString)
static bool convertNumber(sal_Int32 &rValue, std::u16string_view aString, sal_Int32 nMin=SAL_MIN_INT32, sal_Int32 nMax=SAL_MAX_INT32)
static bool convertBool(bool &rBool, std::u16string_view rString)
#define CTF_SD_CONTROL_SHAPE_DATA_STYLE
Definition: contextid.hxx:35
#define CTF_SD_NUMBERINGRULES_NAME
Definition: contextid.hxx:36
sal_Int16 nValue
aStr
XMLOFF_DLLPUBLIC bool importXML(css::uno::Reference< css::xml::sax::XFastAttributeList > const &xAttrList, css::uno::Any &rValue, OUString &rStrName, SvXMLImport &rImport)
XMLOFF_DLLPUBLIC void exportXML(OUString const &rStrName, css::uno::Any const &rValue, SvXMLExport &rExport)
enum SAL_DLLPUBLIC_RTTI FillStyle
Definition: xmlimppr.hxx:42
Handling of tokens in XML:
@ XML_CAPTION_ESCAPE_DIRECTION
Definition: xmltoken.hxx:2228
@ XML_USE_FIRST_ROW_STYLES
Definition: xmltoken.hxx:3246
@ XML_FONTWORK_OUTLINE
Definition: xmltoken.hxx:901
@ XML_USE_LAST_COLUMN_STYLES
Definition: xmltoken.hxx:3249
@ XML_GRADIENT_STEP_COUNT
Definition: xmltoken.hxx:979
@ XML_START_LINE_SPACING_HORIZONTAL
Definition: xmltoken.hxx:1834
@ XML_FRAME_DISPLAY_BORDER
Definition: xmltoken.hxx:939
@ XML_WAVYLINE_FROM_RIGHT
Definition: xmltoken.hxx:2146
@ XML_ANIMATION_START_INSIDE
Definition: xmltoken.hxx:254
@ XML_USE_FIRST_COLUMN_STYLES
Definition: xmltoken.hxx:3248
@ XML_FONTWORK_SHADOW_COLOR
Definition: xmltoken.hxx:903
@ XML_FADE_FROM_BOTTOM
Definition: xmltoken.hxx:800
@ XML_USE_BANDING_ROWS_STYLES
Definition: xmltoken.hxx:3250
@ XML_HORIZONTAL_SEGMENTS
Definition: xmltoken.hxx:1039
@ XML_DISPLAY_PAGE_NUMBER
Definition: xmltoken.hxx:2456
@ XML_GRADIENTSTYLE_SQUARE
Definition: xmltoken.hxx:986
@ XML_BACKGROUND_VISIBLE
Definition: xmltoken.hxx:2240
@ XML_FILL_COLOR_LUM_MOD
Definition: xmltoken.hxx:3499
@ XML_UNCOVER_TO_LOWERLEFT
Definition: xmltoken.hxx:2253
@ XML_USE_LAST_ROW_STYLES
Definition: xmltoken.hxx:3247
@ XML_SECONDARY_FILL_COLOR
Definition: xmltoken.hxx:2505
@ XML_FONTWORK_SHADOW_OFFSET_Y
Definition: xmltoken.hxx:905
@ XML_VERTICAL_CHECKERBOARD
Definition: xmltoken.hxx:2254
@ XML_HORIZONTAL_STRIPES
Definition: xmltoken.hxx:1042
@ XML_CLOSE_HORIZONTAL
Definition: xmltoken.hxx:445
@ XML_VISIBLE_AREA_WIDTH
Definition: xmltoken.hxx:2132
@ XML_ANGLED_CONNECTOR_LINE
Definition: xmltoken.hxx:2187
@ XML_CAPTION_LINE_LENGTH
Definition: xmltoken.hxx:2230
@ XML_MOVE_FROM_LOWERLEFT
Definition: xmltoken.hxx:2245
@ XML_MEASURE_VERTICAL_ALIGN
Definition: xmltoken.hxx:1284
@ XML_FADE_FROM_UPPERRIGHT
Definition: xmltoken.hxx:808
@ XML_FILL_IMAGE_HEIGHT
Definition: xmltoken.hxx:824
@ XML_FADE_FROM_LOWERLEFT
Definition: xmltoken.hxx:803
@ XML_BACKGROUND_OBJECTS_VISIBLE
Definition: xmltoken.hxx:2239
@ XML_FILL_IMAGE_REF_POINT
Definition: xmltoken.hxx:826
@ XML_WAVYLINE_FROM_BOTTOM
Definition: xmltoken.hxx:2144
@ XML_FADE_FROM_UPPERLEFT
Definition: xmltoken.hxx:807
@ XML_START_LINE_SPACING_VERTICAL
Definition: xmltoken.hxx:1835
@ XML_UNCOVER_TO_LOWERRIGHT
Definition: xmltoken.hxx:2251
@ XML_CAPTION_ANGLE_TYPE
Definition: xmltoken.hxx:2225
@ XML_FILL_HATCH_SOLID
Definition: xmltoken.hxx:822
@ XML_USE_BANDING_COLUMNS_STYLES
Definition: xmltoken.hxx:3251
@ XML_MARKER_START_WIDTH
Definition: xmltoken.hxx:1258
@ XML_AUTO_GROW_HEIGHT
Definition: xmltoken.hxx:290
@ XML_ANIMATION_STOP_INSIDE
Definition: xmltoken.hxx:256
@ XML_TEXTAREA_HORIZONTAL_ALIGN
Definition: xmltoken.hxx:1980
@ XML_STRETCH_FROM_RIGHT
Definition: xmltoken.hxx:1862
@ XML_FILL_IMAGE_REF_POINT_X
Definition: xmltoken.hxx:827
@ XML_FONTWORK_DISTANCE
Definition: xmltoken.hxx:897
@ XML_MOVE_FROM_LOWERRIGHT
Definition: xmltoken.hxx:2244
@ XML_STRETCH_FROM_BOTTOM
Definition: xmltoken.hxx:1860
@ XML_FILL_COLOR_LUM_OFF
Definition: xmltoken.hxx:3500
@ XML_FILL_IMAGE_WIDTH
Definition: xmltoken.hxx:829
@ XML_TILE_REPEAT_OFFSET
Definition: xmltoken.hxx:1991
@ XML_FILL_USE_SLIDE_BACKGROUND
Definition: xmltoken.hxx:3512
@ XML_FONTWORK_HIDE_FORM
Definition: xmltoken.hxx:899
@ XML_FRAME_MARGIN_VERTICAL
Definition: xmltoken.hxx:943
@ XML_UNCOVER_TO_UPPERLEFT
Definition: xmltoken.hxx:2247
@ XML_FONTWORK_SHADOW_OFFSET_X
Definition: xmltoken.hxx:904
@ XML_VISIBLE_AREA_HEIGHT
Definition: xmltoken.hxx:2129
@ XML_FRAME_DISPLAY_SCROLLBAR
Definition: xmltoken.hxx:940
@ XML_WAVYLINE_FROM_LEFT
Definition: xmltoken.hxx:2145
@ XML_FILL_GRADIENT_NAME
Definition: xmltoken.hxx:820
@ XML_FONTWORK_SHADOW_TRANSPARENCE
Definition: xmltoken.hxx:906
@ XML_ANIMATION_DIRECTION
Definition: xmltoken.hxx:252
@ XML_FADE_FROM_CENTER
Definition: xmltoken.hxx:801
@ XML_BACKGROUND_COLOR
Definition: xmltoken.hxx:312
@ XML_UNCOVER_TO_UPPERRIGHT
Definition: xmltoken.hxx:2249
@ XML_END_LINE_SPACING_VERTICAL
Definition: xmltoken.hxx:754
@ XML_MOVE_FROM_UPPERRIGHT
Definition: xmltoken.hxx:2243
@ XML_FILL_IMAGE_REF_POINT_Y
Definition: xmltoken.hxx:828
@ XML_MOVE_FROM_UPPERLEFT
Definition: xmltoken.hxx:2242
@ XML_HORIZONTAL_CHECKERBOARD
Definition: xmltoken.hxx:2255
@ XML_TEX_GENERATION_MODE_Y
Definition: xmltoken.hxx:1945
@ XML_BACKGROUND_NO_REPEAT
Definition: xmltoken.hxx:314
@ XML_TEXTAREA_VERTICAL_ALIGN
Definition: xmltoken.hxx:1981
@ XML_FRAME_MARGIN_HORIZONTAL
Definition: xmltoken.hxx:942
@ XML_CAPTION_FIT_LINE_LENGTH
Definition: xmltoken.hxx:2231
@ XML_TEX_GENERATION_MODE_X
Definition: xmltoken.hxx:1944
@ XML_BACKFACE_CULLING
Definition: xmltoken.hxx:310
@ XML_FADE_FROM_LOWERRIGHT
Definition: xmltoken.hxx:804
@ XML_GLOW_TRANSPARENCY
Definition: xmltoken.hxx:975
@ XML_END_LINE_SPACING_HORIZONTAL
Definition: xmltoken.hxx:753
@ XML_MARKER_START_CENTER
Definition: xmltoken.hxx:1257
@ XML_ANIMATION_REPEAT
Definition: xmltoken.hxx:253
@ XML_COUNTERCLOCKWISE
Definition: xmltoken.hxx:534
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
compare eToken to the string
Definition: xmltoken.cxx:3581
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
Definition: xmltoken.cxx:3525
const SvXMLEnumMapEntry< sal_Int16 > aAnimations_EnumMap_TransitionSubType[]
const SvXMLEnumMapEntry< sal_Int16 > aAnimations_EnumMap_TransitionType[]
QPRO_FUNC_TYPE nType
sal_Int32 mnType
SvXMLEnumMapEntry< drawing::TextureKind > const aXML_TexKind_EnumMap[]
Definition: sdpropls.cxx:550
#define MAP_END()
Definition: sdpropls.cxx:80
SvXMLEnumMapEntry< sal_Int32 > const pXML_Fontwork_Shadow_Enum[]
Definition: sdpropls.cxx:735
SvXMLEnumMapEntry< drawing::LineCap > const aXML_LineCap_EnumMap[]
Definition: sdpropls.cxx:410
#define GMAP(name, prefix, token, type, context)
Definition: sdpropls.cxx:74
SvXMLEnumMapEntry< drawing::LineJoint > const aXML_LineJoint_EnumMap[]
Definition: sdpropls.cxx:400
const XMLPropertyMapEntry aXMLTableShapeAttributes[]
contains the attribute to property mapping for a drawing layer table WARNING: if attributes are added...
Definition: sdpropls.cxx:379
SvXMLEnumMapEntry< sal_Int32 > const pXML_Fontwork_Style_Enum[]
Definition: sdpropls.cxx:716
SvXMLEnumMapEntry< drawing::TextAnimationKind > const pXML_TextAnimation_Enum[]
Definition: sdpropls.cxx:607
SvXMLEnumMapEntry< sal_Int32 > const pXML_MeasureUnit_Enum[]
Definition: sdpropls.cxx:682
SvXMLEnumMapEntry< sal_Int32 > const pXML_Fontwork_Adjust_Enum[]
Definition: sdpropls.cxx:726
SvXMLEnumMapEntry< drawing::LineStyle > const aXML_LineStyle_EnumMap[]
Definition: sdpropls.cxx:392
SvXMLEnumMapEntry< drawing::TextFitToSizeType > const pXML_ShrinkToFit_Enum[]
Definition: sdpropls.cxx:673
SvXMLEnumMapEntry< drawing::MeasureTextHorzPos > const pXML_Measure_HAlign_Enum[]
Definition: sdpropls.cxx:697
SvXMLEnumMapEntry< drawing::TextAnimationDirection > const pXML_TextAnimationDirection_Enum[]
Definition: sdpropls.cxx:627
SvXMLEnumMapEntry< sal_Int32 > const pXML_Fontwork_Form_Enum[]
Definition: sdpropls.cxx:743
SvXMLEnumMapEntry< drawing::TextAnimationKind > const pXML_TextAnimation_Blinking_Enum[]
Definition: sdpropls.cxx:617
#define GMAPV(name, prefix, token, type, context, version)
Definition: sdpropls.cxx:76
SvXMLEnumMapEntry< drawing::ConnectorType > const aXML_ConnectionKind_EnumMap[]
Definition: sdpropls.cxx:507
SvXMLEnumMapEntry< drawing::MeasureTextVertPos > const pXML_Measure_VAlign_Enum[]
Definition: sdpropls.cxx:706
SvXMLEnumMapEntry< drawing::TextureProjectionMode > const aXML_TexGenerationX_EnumMap[]
Definition: sdpropls.cxx:534
const XMLPropertyMapEntry aXMLSDProperties[]
Definition: sdpropls.cxx:84
SvXMLEnumMapEntry< drawing::CircleKind > const aXML_CircleKind_EnumMap[]
Definition: sdpropls.cxx:579
const XMLPropertyMapEntry aXMLSDPresPageProps[]
Definition: sdpropls.cxx:329
SvXMLEnumMapEntry< drawing::FillStyle > const aXML_FillStyle_EnumMap[]
Definition: sdpropls.cxx:419
SvXMLEnumMapEntry< drawing::BitmapMode > const aXML_BitmapMode_EnumMap[]
Definition: sdpropls.cxx:516
SvXMLEnumMapEntry< drawing::TextHorizontalAdjust > const pXML_TextAlign_Enum[]
Definition: sdpropls.cxx:636
SvXMLEnumMapEntry< drawing::NormalsKind > const aXML_NormalsKind_EnumMap[]
Definition: sdpropls.cxx:526
SvXMLEnumMapEntry< drawing::TextureMode > const aXML_TexMode_EnumMap[]
Definition: sdpropls.cxx:557
SvXMLEnumMapEntry< drawing::TextFitToSizeType > const pXML_FitToSize_Enum_Odf12[]
Definition: sdpropls.cxx:655
SvXMLEnumMapEntry< text::WritingMode > const aXML_WritingMode_EnumMap[]
Definition: sdpropls.cxx:588
SvXMLEnumMapEntry< presentation::FadeEffect > const aXML_FadeEffect_EnumMap[]
Definition: sdpropls.cxx:445
SvXMLEnumMapEntry< drawing::TextureProjectionMode > const aXML_TexGenerationY_EnumMap[]
Definition: sdpropls.cxx:542
SvXMLEnumMapEntry< sal_Int32 > const aXML_PresChange_EnumMap[]
Definition: sdpropls.cxx:429
#define TMAP(name, prefix, token, type, context)
Definition: sdpropls.cxx:78
#define MAP_(name, prefix, token, type, context)
Definition: sdpropls.cxx:72
SvXMLEnumMapEntry< drawing::TextFitToSizeType > const pXML_FitToSize_Enum[]
Definition: sdpropls.cxx:664
SvXMLEnumMapEntry< drawing::TextVerticalAdjust > const pXML_VerticalAlign_Enum[]
Definition: sdpropls.cxx:645
#define GMAP_D(name, prefix, token, type, context)
Definition: sdpropls.cxx:75
#define DPMAP(name, prefix, token, type, context)
Definition: sdpropls.cxx:77
#define PMAP(name, prefix, token, type, context)
Definition: sdpropls.cxx:79
SvXMLEnumMapEntry< drawing::RectanglePoint > const aXML_RefPoint_EnumMap[]
Definition: sdpropls.cxx:565
SvXMLEnumMapEntry< sal_Int16 > const aXML_WritingMode2_EnumMap[]
Definition: sdpropls.cxx:595
SvXMLEnumMapEntry< sal_Int32 > const pXML_Caption_Type_Enum[]
Definition: sdpropls.cxx:769
SvXMLEnumMapEntry< sal_Int32 > const pXML_Caption_Esc_Dir_Enum[]
Definition: sdpropls.cxx:761
SvXMLEnumMapEntry< presentation::AnimationSpeed > const aXML_TransSpeed_EnumMap[]
Definition: sdpropls.cxx:437
Represents a property with its API-name, its XML-name and the type of its value.
Definition: maptype.hxx:33
Smart struct to transport an Any with an index to the appropriate property-name.
Definition: maptype.hxx:141
css::uno::Any maValue
Definition: maptype.hxx:143
sal_Int32 mnIndex
Definition: maptype.hxx:142
bool hasValue()
Reference< XModel > xModel
bool bVisible
SvXMLEnumMapEntry< sal_uInt16 > const pXML_ThemeColor_Enum[]
Definition: txtprhdl.cxx:252
#define CTF_FRAME_MARGIN_VERT
Definition: txtprmap.hxx:133
#define CTF_TEXT_CLIP
Definition: txtprmap.hxx:171
#define CTF_FRAME_DISPLAY_BORDER
Definition: txtprmap.hxx:131
#define CTF_TEXT_CLIP11
Definition: txtprmap.hxx:172
#define CTF_FILLSTYLE
Definition: txtprmap.hxx:202
#define CTF_TEXTWRITINGMODE
Definition: txtprmap.hxx:63
#define CTF_TEXTCOLUMNS
Definition: txtprmap.hxx:77
#define CTF_FRAME_MARGIN_HORI
Definition: txtprmap.hxx:132
#define CTF_FILLCOLOR
Definition: txtprmap.hxx:203
#define CTF_FRAME_DISPLAY_SCROLLBAR
Definition: txtprmap.hxx:130
SvXmlExportFlags
Definition: xmlexppr.hxx:39
constexpr sal_uInt16 XML_NAMESPACE_DRAW
constexpr sal_uInt16 XML_NAMESPACE_SMIL
constexpr sal_uInt16 XML_NAMESPACE_XLINK
constexpr sal_uInt16 XML_NAMESPACE_SVG
constexpr sal_uInt16 XML_NAMESPACE_TEXT
constexpr sal_uInt16 XML_NAMESPACE_DR3D
constexpr sal_uInt16 XML_NAMESPACE_TABLE
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_PRESENTATION
constexpr sal_uInt16 XML_NAMESPACE_DRAW_EXT
constexpr sal_uInt16 XML_NAMESPACE_STYLE
constexpr sal_uInt16 XML_NAMESPACE_FO
#define XML_SD_TYPE_NORMALS_KIND
Definition: xmlsdtypes.hxx:74
#define XML_SD_TYPE_LINEJOIN
Definition: xmlsdtypes.hxx:41
#define CTF_SD_OLE_VIS_AREA_EXPORT_LEFT
Definition: xmlsdtypes.hxx:198
#define XML_SD_TYPE_OPACITY
Definition: xmlsdtypes.hxx:40
#define CTF_PAGE_TRANSITION_TYPE
Definition: xmlsdtypes.hxx:145
#define CTF_SD_OLE_VIS_AREA_IMPORT_HEIGHT
Definition: xmlsdtypes.hxx:171
#define CTF_SD_OLE_ISINTERNAL
Definition: xmlsdtypes.hxx:172
#define XML_SD_TYPE_PRESPAGE_SPEED
Definition: xmlsdtypes.hxx:36
#define CTF_CONTROLWRITINGMODE
Definition: xmlsdtypes.hxx:124
#define CTF_SD_OLE_VIS_AREA_IMPORT_LEFT
Definition: xmlsdtypes.hxx:168
#define XML_SD_TYPE_MOVE_PROTECT
Definition: xmlsdtypes.hxx:104
#define CTF_FONTWORK_SHADOWOFFSETY
Definition: xmlsdtypes.hxx:161
#define CTF_PAGE_VISIBLE
Definition: xmlsdtypes.hxx:129
#define XML_SD_TYPE_CAPTION_ESC_DIR
Definition: xmlsdtypes.hxx:94
#define XML_SD_TYPE_PRESPAGE_TYPE
Definition: xmlsdtypes.hxx:34
#define CTF_PAGE_TRANSITION_FADECOLOR
Definition: xmlsdtypes.hxx:148
#define XML_SD_TYPE_TRANSTIION_DIRECTION
Definition: xmlsdtypes.hxx:115
#define CTF_PAGE_TRANS_TYPE
Definition: xmlsdtypes.hxx:130
#define XML_SD_TYPE_TEXT_ALIGN
Definition: xmlsdtypes.hxx:58
#define XML_SD_TYPE_BACKFACE_CULLING
Definition: xmlsdtypes.hxx:73
#define CTF_SD_OLE_VIS_AREA_EXPORT_WIDTH
Definition: xmlsdtypes.hxx:200
#define XML_SD_TYPE_BITMAP_REFPOINT
Definition: xmlsdtypes.hxx:54
#define XML_SD_TYPE_TRANSTIION_SUBTYPE
Definition: xmlsdtypes.hxx:114
#define CTF_PAGE_SOUND_URL
Definition: xmlsdtypes.hxx:128
#define CTF_DASHNAME
Definition: xmlsdtypes.hxx:135
#define XML_SD_TYPE_WRITINGMODE2
Definition: xmlsdtypes.hxx:121
#define XML_SD_TYPE_HEADER_FOOTER_VISIBILITY_TYPE
Definition: xmlsdtypes.hxx:116
#define CTF_FILLBITMAPNAME
Definition: xmlsdtypes.hxx:140
#define XML_SD_TYPE_FITTOSIZE
Definition: xmlsdtypes.hxx:60
#define XML_SD_TYPE_NORMALS_DIRECTION
Definition: xmlsdtypes.hxx:75
#define CTF_FONTWORK_STYLE
Definition: xmlsdtypes.hxx:152
#define CTF_SD_MOVE_PROTECT
Definition: xmlsdtypes.hxx:174
#define CTF_FILLGRADIENTNAME
Definition: xmlsdtypes.hxx:138
#define XML_SD_TYPE_PRESPAGE_VISIBILITY
Definition: xmlsdtypes.hxx:38
#define CTF_NUMBERINGRULES
Definition: xmlsdtypes.hxx:123
#define XML_SD_TYPE_CAPTION_ESC_ABS
Definition: xmlsdtypes.hxx:93
#define CTF_PAGE_BACKSIZE
Definition: xmlsdtypes.hxx:134
#define XML_SD_TYPE_WRITINGMODE
Definition: xmlsdtypes.hxx:48
#define XML_SD_TYPE_CAPTION_ESC_REL
Definition: xmlsdtypes.hxx:92
#define XML_SD_TYPE_VISIBLE_HIDDEN
Definition: xmlsdtypes.hxx:45
#define XML_SD_TYPE_MEASURE_UNIT
Definition: xmlsdtypes.hxx:63
#define CTF_FONTWORK_SHADOWOFFSETX
Definition: xmlsdtypes.hxx:160
#define XML_TYPE_TEXT_ANIMATION_STEPS
Definition: xmlsdtypes.hxx:57
#define XML_SD_TYPE_VERTICAL_ALIGN
Definition: xmlsdtypes.hxx:59
#define XML_SD_TYPE_PRESPAGE_STYLE
Definition: xmlsdtypes.hxx:35
#define XML_SD_TYPE_TEXT_CROSSEDOUT
Definition: xmlsdtypes.hxx:46
#define XML_SD_TYPE_PRESPAGE_DURATION
Definition: xmlsdtypes.hxx:37
#define XML_SD_TYPE_LINECAP
Definition: xmlsdtypes.hxx:68
#define XML_SD_TYPE_SIZE_PROTECT
Definition: xmlsdtypes.hxx:105
#define XML_SD_TYPE_LOGICAL_SIZE
Definition: xmlsdtypes.hxx:53
#define XML_SD_TYPE_FONTWORK_ADJUST
Definition: xmlsdtypes.hxx:84
#define CTF_LINEENDNAME
Definition: xmlsdtypes.hxx:137
#define CTF_DATE_TIME_VISIBLE
Definition: xmlsdtypes.hxx:188
#define XML_TYPE_SD_MIRROR
Definition: xmlsdtypes.hxx:109
#define CTF_FONTWORK_ADJUST
Definition: xmlsdtypes.hxx:153
#define XML_SD_TYPE_MEASURE_HALIGN
Definition: xmlsdtypes.hxx:61
#define XML_SD_TYPE_TEX_MODE
Definition: xmlsdtypes.hxx:79
#define XML_SD_TYPE_TEX_KIND
Definition: xmlsdtypes.hxx:78
#define XML_SD_TYPE_FONTWORK_FORM
Definition: xmlsdtypes.hxx:86
#define XML_SD_TYPE_BITMAPREPOFFSETX
Definition: xmlsdtypes.hxx:50
#define XML_SD_TYPE_CELL_ROTATION_ANGLE
Definition: xmlsdtypes.hxx:120
#define CTF_PAGE_TRANS_DURATION
Definition: xmlsdtypes.hxx:133
#define XML_SD_TYPE_IMAGE_SCALE_MODE
Definition: xmlsdtypes.hxx:67
#define XML_SD_TYPE_NUMBULLET
Definition: xmlsdtypes.hxx:47
#define XML_SD_TYPE_FILLBITMAPSIZE
Definition: xmlsdtypes.hxx:52
#define CTF_LINESTARTNAME
Definition: xmlsdtypes.hxx:136
#define CTF_SD_OLE_VIS_AREA_IMPORT_TOP
Definition: xmlsdtypes.hxx:169
#define CTF_CAPTION_ESCREL
Definition: xmlsdtypes.hxx:180
#define XML_SD_TYPE_CAPTION_ANGLE_TYPE
Definition: xmlsdtypes.hxx:90
#define CTF_REPEAT_OFFSET_X
Definition: xmlsdtypes.hxx:126
#define CTF_CAPTION_ESCABS
Definition: xmlsdtypes.hxx:181
#define XML_SD_TYPE_BITMAPREPOFFSETY
Definition: xmlsdtypes.hxx:51
#define CTF_FONTWORK_HIDEFORM
Definition: xmlsdtypes.hxx:163
#define XML_SD_TYPE_FONTWORK_STYLE
Definition: xmlsdtypes.hxx:83
#define CTF_WRITINGMODE2
Definition: xmlsdtypes.hxx:204
#define CTF_DATE_TIME_FORMAT
Definition: xmlsdtypes.hxx:192
#define XML_SD_TYPE_FONTWORK_SHADOW
Definition: xmlsdtypes.hxx:85
#define CTF_FONTWORK_SHADOWCOLOR
Definition: xmlsdtypes.hxx:159
#define CTF_FONTWORK_START
Definition: xmlsdtypes.hxx:155
#define CTF_PAGE_TRANSITION_DIRECTION
Definition: xmlsdtypes.hxx:147
#define CTF_CAPTION_ISESCREL
Definition: xmlsdtypes.hxx:179
#define XML_SD_TYPE_BITMAP_MODE
Definition: xmlsdtypes.hxx:49
#define CTF_HEADER_TEXT
Definition: xmlsdtypes.hxx:189
#define CTF_FILLTRANSNAME
Definition: xmlsdtypes.hxx:141
#define CTF_FONTWORK_FORM
Definition: xmlsdtypes.hxx:162
#define CTF_PAGE_TRANSITION_SUBTYPE
Definition: xmlsdtypes.hxx:146
#define XML_SD_TYPE_CONTROL_BORDER_COLOR
Definition: xmlsdtypes.hxx:66
#define CTF_WRITINGMODE
Definition: xmlsdtypes.hxx:125
#define CTF_SD_SIZE_PROTECT
Definition: xmlsdtypes.hxx:175
#define XML_SD_TYPE_PRESPAGE_BACKSIZE
Definition: xmlsdtypes.hxx:55
#define CTF_TEXTANIMATION_KIND
Definition: xmlsdtypes.hxx:143
#define XML_SD_TYPE_CAPTION_TYPE
Definition: xmlsdtypes.hxx:95
#define XML_SD_TYPE_DATETIMEUPDATE
Definition: xmlsdtypes.hxx:99
#define CTF_HEADER_VISIBLE
Definition: xmlsdtypes.hxx:185
#define XML_TYPE_TEXT_ANIMATION_BLINKING
Definition: xmlsdtypes.hxx:56
#define CTF_DATE_TIME_UPDATE
Definition: xmlsdtypes.hxx:193
#define CTF_FILLHATCHNAME
Definition: xmlsdtypes.hxx:139
#define XML_SD_TYPE_STROKE
Definition: xmlsdtypes.hxx:33
#define CTF_FOOTER_VISIBLE
Definition: xmlsdtypes.hxx:186
#define CTF_FONTWORK_SHADOWTRANSPARENCE
Definition: xmlsdtypes.hxx:164
#define XML_SD_TYPE_TEX_GENERATION_MODE_Y
Definition: xmlsdtypes.hxx:77
#define XML_SD_TYPE_FILLSTYLE
Definition: xmlsdtypes.hxx:42
#define CTF_REPEAT_OFFSET_Y
Definition: xmlsdtypes.hxx:127
#define XML_SD_TYPE_CAPTION_IS_ESC_REL
Definition: xmlsdtypes.hxx:91
#define XML_SD_TYPE_MEASURE_PLACING
Definition: xmlsdtypes.hxx:64
#define CTF_PAGE_TRANS_SPEED
Definition: xmlsdtypes.hxx:132
#define CTF_SD_OLE_VIS_AREA_IMPORT_WIDTH
Definition: xmlsdtypes.hxx:170
#define CTF_FONTWORK_DISTANCE
Definition: xmlsdtypes.hxx:154
#define CTF_TEXTANIMATION_BLINKING
Definition: xmlsdtypes.hxx:142
#define CTF_SD_OLE_ASPECT
Definition: xmlsdtypes.hxx:197
#define XML_SD_TYPE_DATETIME_FORMAT
Definition: xmlsdtypes.hxx:100
#define CTF_FONTWORK_MIRROR
Definition: xmlsdtypes.hxx:156
#define CTF_DATE_TIME_TEXT
Definition: xmlsdtypes.hxx:191
#define XML_SD_TYPE_TEX_GENERATION_MODE_X
Definition: xmlsdtypes.hxx:76
#define CTF_SD_OLE_VIS_AREA_EXPORT_HEIGHT
Definition: xmlsdtypes.hxx:201
#define CTF_FOOTER_TEXT
Definition: xmlsdtypes.hxx:190
#define CTF_FONTWORK_OUTLINE
Definition: xmlsdtypes.hxx:157
#define CTF_PAGE_TRANS_STYLE
Definition: xmlsdtypes.hxx:131
#define CTF_FONTWORK_SHADOW
Definition: xmlsdtypes.hxx:158
#define XML_SD_TYPE_FITTOSIZE_AUTOFIT
Definition: xmlsdtypes.hxx:69
#define CTF_PAGE_NUMBER_VISIBLE
Definition: xmlsdtypes.hxx:187
#define CTF_SD_OLE_VIS_AREA_EXPORT_TOP
Definition: xmlsdtypes.hxx:199
#define XML_SD_TYPE_CONTROL_BORDER
Definition: xmlsdtypes.hxx:65
#define XML_SD_TYPE_MEASURE_VALIGN
Definition: xmlsdtypes.hxx:62
#define XML_SD_TYPE_TRANSITION_TYPE
Definition: xmlsdtypes.hxx:113
#define XML_TYPE_CONTROL_TEXT_EMPHASIZE
Definition: xmltypes.hxx:247
#define XML_TYPE_RECTANGLE_LEFT
Definition: xmltypes.hxx:159
#define XML_TYPE_PROP_GRAPHIC
Definition: xmltypes.hxx:94
#define MID_FLAG_ELEMENT_ITEM_EXPORT
Definition: xmltypes.hxx:67
#define XML_TYPE_NUMBER16
Definition: xmltypes.hxx:136
#define MID_FLAG_MERGE_PROPERTY
Definition: xmltypes.hxx:61
#define XML_TYPE_NEG_PERCENT
Definition: xmltypes.hxx:151
#define XML_TYPE_WRAP_OPTION
Definition: xmltypes.hxx:265
#define MID_FLAG_NO_PROPERTY_IMPORT
Definition: xmltypes.hxx:76
#define XML_TYPE_BUILDIN_CMP_ONLY
Definition: xmltypes.hxx:142
#define MID_FLAG_SPECIAL_ITEM
Definition: xmltypes.hxx:87
#define XML_TYPE_RECTANGLE_HEIGHT
Definition: xmltypes.hxx:162
#define MID_FLAG_MULTI_PROPERTY
Definition: xmltypes.hxx:64
#define MID_FLAG_ELEMENT_ITEM
Definition: xmltypes.hxx:70
#define XML_TYPE_STYLENAME
Definition: xmltypes.hxx:150
#define XML_TYPE_NEG_PERCENT16
Definition: xmltypes.hxx:153
#define MID_FLAG_NO_PROPERTY
Definition: xmltypes.hxx:78
#define XML_TYPE_PERCENT
Definition: xmltypes.hxx:129
#define XML_TYPE_ATTRIBUTE_CONTAINER
Definition: xmltypes.hxx:219
#define XML_TYPE_RECTANGLE_TOP
Definition: xmltypes.hxx:160
#define XML_TYPE_PERCENT16
Definition: xmltypes.hxx:131
#define XML_TYPE_MEASURE_PX
Definition: xmltypes.hxx:147
#define XML_TYPE_RECTANGLE_WIDTH
Definition: xmltypes.hxx:161
#define MID_FLAG_NO_PROPERTY_EXPORT
Definition: xmltypes.hxx:73
#define XML_TYPE_STRING
Definition: xmltypes.hxx:132
#define XML_TYPE_COLOR_MODE
Definition: xmltypes.hxx:145
#define XML_TYPE_MEASURE
Definition: xmltypes.hxx:126
#define XML_TYPE_DURATION16_MS
Definition: xmltypes.hxx:146
#define XML_TYPE_COLOR
Definition: xmltypes.hxx:133
#define XML_TYPE_THEME_COLOR
Definition: xmltypes.hxx:297
#define MID_FLAG_MERGE_ATTRIBUTE
Definition: xmltypes.hxx:57
#define XML_TYPE_NUMBER
Definition: xmltypes.hxx:134
#define XML_TYPE_TEXT_ANIMATION_DIRECTION
Definition: xmltypes.hxx:239
#define XML_TYPE_TEXT_CLIP
Definition: xmltypes.hxx:273
#define XML_TYPE_TEXT_COLUMNS
Definition: xmltypes.hxx:204
#define XML_TYPE_DOUBLE_PERCENT
Definition: xmltypes.hxx:154
#define XML_TYPE_TEXT_ANIMATION
Definition: xmltypes.hxx:238
#define XML_TYPE_PERCENT100
Definition: xmltypes.hxx:156
#define XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT
Definition: xmltypes.hxx:251
#define XML_TYPE_TEXT_CLIP11
Definition: xmltypes.hxx:218
#define XML_TYPE_TEXT_DRAW_ASPECT
Definition: xmltypes.hxx:246
#define XML_TYPE_BOOL
Definition: xmltypes.hxx:125