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