1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef _SDPROPLS_HXX
#define _SDPROPLS_HXX
#include <com/sun/star/frame/XModel.hpp>
#include <xmloff/xmlnume.hxx>
#include <xmloff/maptype.hxx>
#include <xmloff/xmltypes.hxx>
#include <xmloff/xmlement.hxx>
#include <xmloff/prhdlfac.hxx>
#include <xmloff/xmlprmap.hxx>
#include "XMLTextListAutoStylePool.hxx"
#include <xmloff/xmlexppr.hxx>
//////////////////////////////////////////////////////////////////////////////
// entry list for graphic properties
extern const XMLPropertyMapEntry aXMLSDProperties[];
//////////////////////////////////////////////////////////////////////////////
// entry list for presentation page properties
extern const XMLPropertyMapEntry aXMLSDPresPageProps[];
extern const XMLPropertyMapEntry aXMLSDPresPageProps_onlyHeadersFooter[];
//////////////////////////////////////////////////////////////////////////////
// types of own properties
#define XML_SD_TYPE_STROKE (XML_SD_TYPES_START + 0)
#define XML_SD_TYPE_PRESPAGE_TYPE (XML_SD_TYPES_START + 1)
#define XML_SD_TYPE_PRESPAGE_STYLE (XML_SD_TYPES_START + 2)
#define XML_SD_TYPE_PRESPAGE_SPEED (XML_SD_TYPES_START + 3)
#define XML_SD_TYPE_PRESPAGE_DURATION (XML_SD_TYPES_START + 4)
#define XML_SD_TYPE_PRESPAGE_VISIBILITY (XML_SD_TYPES_START + 5)
#define XML_SD_TYPE_MARKER (XML_SD_TYPES_START + 6 )
#define XML_SD_TYPE_OPACITY (XML_SD_TYPES_START + 7 )
#define XML_SD_TYPE_LINEJOIN (XML_SD_TYPES_START + 8 )
#define XML_SD_TYPE_FILLSTYLE (XML_SD_TYPES_START + 9 )
#define XML_SD_TYPE_GRADIENT (XML_SD_TYPES_START + 10 )
#define XML_SD_TYPE_GRADIENT_STEPCOUNT (XML_SD_TYPES_START + 11 )
#define XML_SD_TYPE_SHADOW (XML_SD_TYPES_START + 12 )
#define XML_SD_TYPE_TEXT_CROSSEDOUT (XML_SD_TYPES_START + 13 )
#define XML_SD_TYPE_NUMBULLET (XML_SD_TYPES_START + 14 )
#define XML_SD_TYPE_WRITINGMODE (XML_SD_TYPES_START + 15 )
#define XML_SD_TYPE_BITMAP_MODE (XML_SD_TYPES_START + 16 )
#define XML_SD_TYPE_BITMAPREPOFFSETX (XML_SD_TYPES_START + 17 )
#define XML_SD_TYPE_BITMAPREPOFFSETY (XML_SD_TYPES_START + 18 )
#define XML_SD_TYPE_FILLBITMAPSIZE (XML_SD_TYPES_START + 19 )
#define XML_SD_TYPE_LOGICAL_SIZE (XML_SD_TYPES_START + 20 )
#define XML_SD_TYPE_BITMAP_REFPOINT (XML_SD_TYPES_START + 21 )
#define XML_SD_TYPE_PRESPAGE_BACKSIZE (XML_SD_TYPES_START + 22 )
#define XML_TYPE_TEXT_ANIMATION_BLINKING (XML_SD_TYPES_START + 23 )
#define XML_TYPE_TEXT_ANIMATION_STEPS (XML_SD_TYPES_START + 24 )
#define XML_SD_TYPE_TEXT_ALIGN (XML_SD_TYPES_START + 25 )
#define XML_SD_TYPE_VERTICAL_ALIGN (XML_SD_TYPES_START + 26 )
#define XML_SD_TYPE_FITTOSIZE (XML_SD_TYPES_START + 27 )
#define XML_SD_TYPE_MEASURE_HALIGN (XML_SD_TYPES_START + 28 )
#define XML_SD_TYPE_MEASURE_VALIGN (XML_SD_TYPES_START + 29 )
#define XML_SD_TYPE_MEASURE_UNIT (XML_SD_TYPES_START + 30 )
#define XML_SD_TYPE_MEASURE_PLACING (XML_SD_TYPES_START + 31 )
#define XML_SD_TYPE_CONTROL_BORDER (XML_SD_TYPES_START + 32 )
#define XML_SD_TYPE_CONTROL_BORDER_COLOR (XML_SD_TYPES_START + 33 )
#define XML_SD_TYPE_IMAGE_SCALE_MODE (XML_SD_TYPES_START + 34 )
// 3D property types
#define XML_SD_TYPE_BACKFACE_CULLING (XML_SD_TYPES_START + 40 )
#define XML_SD_TYPE_NORMALS_KIND (XML_SD_TYPES_START + 41 )
#define XML_SD_TYPE_NORMALS_DIRECTION (XML_SD_TYPES_START + 42 )
#define XML_SD_TYPE_TEX_GENERATION_MODE_X (XML_SD_TYPES_START + 43 )
#define XML_SD_TYPE_TEX_GENERATION_MODE_Y (XML_SD_TYPES_START + 44 )
#define XML_SD_TYPE_TEX_KIND (XML_SD_TYPES_START + 45 )
#define XML_SD_TYPE_TEX_MODE (XML_SD_TYPES_START + 46 )
//////////////////////////////////////////////////////////////////////////////
// #FontWork# types
#define XML_SD_TYPE_FONTWORK_STYLE (XML_SD_TYPES_START + 47 )
#define XML_SD_TYPE_FONTWORK_ADJUST (XML_SD_TYPES_START + 48 )
#define XML_SD_TYPE_FONTWORK_SHADOW (XML_SD_TYPES_START + 49 )
#define XML_SD_TYPE_FONTWORK_FORM (XML_SD_TYPES_START + 50 )
//////////////////////////////////////////////////////////////////////////////
// Caption types
#define XML_SD_TYPE_CAPTION_ANGLE_TYPE (XML_SD_TYPES_START + 60 )
#define XML_SD_TYPE_CAPTION_IS_ESC_REL (XML_SD_TYPES_START + 61 )
#define XML_SD_TYPE_CAPTION_ESC_REL (XML_SD_TYPES_START + 62 )
#define XML_SD_TYPE_CAPTION_ESC_ABS (XML_SD_TYPES_START + 63 )
#define XML_SD_TYPE_CAPTION_ESC_DIR (XML_SD_TYPES_START + 64 )
#define XML_SD_TYPE_CAPTION_TYPE (XML_SD_TYPES_START + 65 )
//////////////////////////////////////////////////////////////////////////////
// header & footer types
#define XML_SD_TYPE_DATETIMEUPDATE (XML_SD_TYPES_START + 70 )
#define XML_SD_TYPE_DATETIME_FORMAT (XML_SD_TYPES_START + 71 )
//////////////////////////////////////////////////////////////////////////////
// new types for merged style:protect attribute
#define XML_SD_TYPE_MOVE_PROTECT (XML_SD_TYPES_START + 72 )
#define XML_SD_TYPE_SIZE_PROTECT (XML_SD_TYPES_START + 73 )
// new type for style:mirror attribute
#define XML_TYPE_SD_MIRROR (XML_SD_TYPES_START + 74 )
//////////////////////////////////////////////////////////////////////////////
// new smil transition types for pages
#define XML_SD_TYPE_TRANSITION_TYPE (XML_SD_TYPES_START + 75 )
#define XML_SD_TYPE_TRANSTIION_SUBTYPE (XML_SD_TYPES_START + 76 )
#define XML_SD_TYPE_TRANSTIION_DIRECTION (XML_SD_TYPES_START + 77 )
#define XML_SD_TYPE_HEADER_FOOTER_VISIBILITY_TYPE (XML_SD_TYPES_START + 78 )
//////////////////////////////////////////////////////////////////////////////
#define CTF_NUMBERINGRULES 1000
#define CTF_CONTROLWRITINGMODE 1001
#define CTF_WRITINGMODE 1002
#define CTF_REPEAT_OFFSET_X 1003
#define CTF_REPEAT_OFFSET_Y 1004
#define CTF_PAGE_SOUND_URL 1005
#define CTF_PAGE_VISIBLE 1006
#define CTF_PAGE_TRANS_TYPE 1007
#define CTF_PAGE_TRANS_STYLE 1008
#define CTF_PAGE_TRANS_SPEED 1009
#define CTF_PAGE_TRANS_DURATION 1010
#define CTF_PAGE_BACKSIZE 1011
#define CTF_DASHNAME 1012
#define CTF_LINESTARTNAME 1013
#define CTF_LINEENDNAME 1014
#define CTF_FILLGRADIENTNAME 1015
#define CTF_FILLHATCHNAME 1016
#define CTF_FILLBITMAPNAME 1017
#define CTF_FILLTRANSNAME 1018
#define CTF_TEXTANIMATION_BLINKING 1019
#define CTF_TEXTANIMATION_KIND 1020
#define CTF_PAGE_TRANSITION_TYPE 1021
#define CTF_PAGE_TRANSITION_SUBTYPE 1022
#define CTF_PAGE_TRANSITION_DIRECTION 1023
#define CTF_PAGE_TRANSITION_FADECOLOR 1024
//////////////////////////////////////////////////////////////////////////////
// #FontWork#
#define CTF_FONTWORK_STYLE 1021
#define CTF_FONTWORK_ADJUST 1022
#define CTF_FONTWORK_DISTANCE 1023
#define CTF_FONTWORK_START 1024
#define CTF_FONTWORK_MIRROR 1025
#define CTF_FONTWORK_OUTLINE 1026
#define CTF_FONTWORK_SHADOW 1027
#define CTF_FONTWORK_SHADOWCOLOR 1028
#define CTF_FONTWORK_SHADOWOFFSETX 1029
#define CTF_FONTWORK_SHADOWOFFSETY 1030
#define CTF_FONTWORK_FORM 1031
#define CTF_FONTWORK_HIDEFORM 1032
#define CTF_FONTWORK_SHADOWTRANSPARENCE 1033
//////////////////////////////////////////////////////////////////////////////
// OLE part 1
#define CTF_SD_OLE_VIS_AREA_IMPORT_LEFT 1040
#define CTF_SD_OLE_VIS_AREA_IMPORT_TOP 1041
#define CTF_SD_OLE_VIS_AREA_IMPORT_WIDTH 1042
#define CTF_SD_OLE_VIS_AREA_IMPORT_HEIGHT 1043
#define CTF_SD_OLE_ISINTERNAL 1044
#define CTF_SD_MOVE_PROTECT 1045
#define CTF_SD_SIZE_PROTECT 1046
//////////////////////////////////////////////////////////////////////////////
// caption
#define CTF_CAPTION_ISESCREL 1047
#define CTF_CAPTION_ESCREL 1048
#define CTF_CAPTION_ESCABS 1049
//////////////////////////////////////////////////////////////////////////////
// header&footer
#define CTF_HEADER_VISIBLE 1050
#define CTF_FOOTER_VISIBLE 1051
#define CTF_PAGE_NUMBER_VISIBLE 1052
#define CTF_DATE_TIME_VISIBLE 1053
#define CTF_HEADER_TEXT 1054
#define CTF_FOOTER_TEXT 1055
#define CTF_DATE_TIME_TEXT 1056
#define CTF_DATE_TIME_FORMAT 1057
#define CTF_DATE_TIME_UPDATE 1058
//////////////////////////////////////////////////////////////////////////////
// OLE part 2
#define CTF_SD_OLE_ASPECT 1059
#define CTF_SD_OLE_VIS_AREA_EXPORT_LEFT 1060
#define CTF_SD_OLE_VIS_AREA_EXPORT_TOP 1061
#define CTF_SD_OLE_VIS_AREA_EXPORT_WIDTH 1062
#define CTF_SD_OLE_VIS_AREA_EXPORT_HEIGHT 1063
//////////////////////////////////////////////////////////////////////////////
// enum maps for attributes
extern SvXMLEnumMapEntry aXML_ConnectionKind_EnumMap[];
extern SvXMLEnumMapEntry aXML_CircleKind_EnumMap[];
//////////////////////////////////////////////////////////////////////////////
/** contains the attribute to property mapping for a drawing layer table */
extern const XMLPropertyMapEntry aXMLTableShapeAttributes[];
//////////////////////////////////////////////////////////////////////////////
// factory for own graphic properties
class SvXMLExport;
class SvXMLImport;
class XMLSdPropHdlFactory : public XMLPropertyHandlerFactory
{
private:
::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > mxModel;
SvXMLExport* mpExport;
SvXMLImport* mpImport;
public:
XMLSdPropHdlFactory( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >, SvXMLExport& rExport );
XMLSdPropHdlFactory( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >, SvXMLImport& rImport );
virtual ~XMLSdPropHdlFactory();
virtual const XMLPropertyHandler* GetPropertyHandler( sal_Int32 nType ) const;
};
class XMLShapePropertySetMapper : public XMLPropertySetMapper
{
public:
XMLShapePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef);
XMLShapePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef, sal_uInt16 nOffset);
~XMLShapePropertySetMapper();
};
class XMLShapeExportPropertyMapper : public SvXMLExportPropertyMapper
{
private:
XMLTextListAutoStylePool *mpListAutoPool;
SvXMLExport& mrExport;
SvxXMLNumRuleExport maNumRuleExp;
sal_Bool mbIsInAutoStyles;
const rtl::OUString msCDATA;
const rtl::OUString msTrue;
const rtl::OUString msFalse;
protected:
virtual void ContextFilter(
::std::vector< XMLPropertyState >& rProperties,
::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > rPropSet ) const;
public:
XMLShapeExportPropertyMapper( const UniReference< XMLPropertySetMapper >& rMapper, XMLTextListAutoStylePool *pListAutoPool, SvXMLExport& rExport );
virtual ~XMLShapeExportPropertyMapper();
virtual void handleElementItem(
SvXMLExport& rExport,
const XMLPropertyState& rProperty,
sal_uInt16 nFlags,
const ::std::vector< XMLPropertyState >* pProperties = 0,
sal_uInt32 nIdx = 0
) const;
void SetAutoStyles( sal_Bool bIsInAutoStyles ) { mbIsInAutoStyles = bIsInAutoStyles; }
virtual void handleSpecialItem(
SvXMLAttributeList& rAttrList,
const XMLPropertyState& rProperty,
const SvXMLUnitConverter& rUnitConverter,
const SvXMLNamespaceMap& rNamespaceMap,
const ::std::vector< XMLPropertyState > *pProperties = 0,
sal_uInt32 nIdx = 0 ) const;
};
class XMLPagePropertySetMapper : public XMLPropertySetMapper
{
public:
XMLPagePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef);
~XMLPagePropertySetMapper();
};
class XMLPageExportPropertyMapper : public SvXMLExportPropertyMapper
{
private:
SvXMLExport& mrExport;
const rtl::OUString msCDATA;
const rtl::OUString msTrue;
const rtl::OUString msFalse;
protected:
virtual void ContextFilter(
::std::vector< XMLPropertyState >& rProperties,
::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > rPropSet ) const;
public:
XMLPageExportPropertyMapper( const UniReference< XMLPropertySetMapper >& rMapper, SvXMLExport& rExport );
virtual ~XMLPageExportPropertyMapper();
virtual void handleElementItem(
SvXMLExport& rExport,
const XMLPropertyState& rProperty,
sal_uInt16 nFlags,
const ::std::vector< XMLPropertyState >* pProperties = 0,
sal_uInt32 nIdx = 0
) const;
};
#endif // _SDPROPLS_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|